diff --git a/sdk/!GlobalTypes.hpp b/sdk/!GlobalTypes.hpp index e8c8b28a..811ae3da 100644 --- a/sdk/!GlobalTypes.hpp +++ b/sdk/!GlobalTypes.hpp @@ -4,8 +4,8 @@ // ///////////////////////////////////////////////////////////// // Binary: !GlobalTypes -// Classes count: 1480 -// Enums count: 555 +// Classes count: 1395 +// Enums count: 562 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -176,7 +176,7 @@ enum class RenderBufferFlags_t : uint32_t }; // Alignment: 4 -// Size: 0x2d +// Size: 0xd enum class RenderPrimitiveType_t : uint32_t { RENDER_PRIM_POINTS = 0x0, @@ -190,40 +190,8 @@ enum class RenderPrimitiveType_t : uint32_t RENDER_PRIM_TRIANGLE_STRIP_WITH_ADJACENCY = 0x8, RENDER_PRIM_INSTANCED_QUADS = 0x9, RENDER_PRIM_HETEROGENOUS = 0xa, - RENDER_PRIM_1_CONTROL_POINT_PATCHLIST = 0xb, - RENDER_PRIM_2_CONTROL_POINT_PATCHLIST = 0xc, - RENDER_PRIM_3_CONTROL_POINT_PATCHLIST = 0xd, - RENDER_PRIM_4_CONTROL_POINT_PATCHLIST = 0xe, - RENDER_PRIM_5_CONTROL_POINT_PATCHLIST = 0xf, - RENDER_PRIM_6_CONTROL_POINT_PATCHLIST = 0x10, - RENDER_PRIM_7_CONTROL_POINT_PATCHLIST = 0x11, - RENDER_PRIM_8_CONTROL_POINT_PATCHLIST = 0x12, - RENDER_PRIM_9_CONTROL_POINT_PATCHLIST = 0x13, - RENDER_PRIM_10_CONTROL_POINT_PATCHLIST = 0x14, - RENDER_PRIM_11_CONTROL_POINT_PATCHLIST = 0x15, - RENDER_PRIM_12_CONTROL_POINT_PATCHLIST = 0x16, - RENDER_PRIM_13_CONTROL_POINT_PATCHLIST = 0x17, - RENDER_PRIM_14_CONTROL_POINT_PATCHLIST = 0x18, - RENDER_PRIM_15_CONTROL_POINT_PATCHLIST = 0x19, - RENDER_PRIM_16_CONTROL_POINT_PATCHLIST = 0x1a, - RENDER_PRIM_17_CONTROL_POINT_PATCHLIST = 0x1b, - RENDER_PRIM_18_CONTROL_POINT_PATCHLIST = 0x1c, - RENDER_PRIM_19_CONTROL_POINT_PATCHLIST = 0x1d, - RENDER_PRIM_20_CONTROL_POINT_PATCHLIST = 0x1e, - RENDER_PRIM_21_CONTROL_POINT_PATCHLIST = 0x1f, - RENDER_PRIM_22_CONTROL_POINT_PATCHLIST = 0x20, - RENDER_PRIM_23_CONTROL_POINT_PATCHLIST = 0x21, - RENDER_PRIM_24_CONTROL_POINT_PATCHLIST = 0x22, - RENDER_PRIM_25_CONTROL_POINT_PATCHLIST = 0x23, - RENDER_PRIM_26_CONTROL_POINT_PATCHLIST = 0x24, - RENDER_PRIM_27_CONTROL_POINT_PATCHLIST = 0x25, - RENDER_PRIM_28_CONTROL_POINT_PATCHLIST = 0x26, - RENDER_PRIM_29_CONTROL_POINT_PATCHLIST = 0x27, - RENDER_PRIM_30_CONTROL_POINT_PATCHLIST = 0x28, - RENDER_PRIM_31_CONTROL_POINT_PATCHLIST = 0x29, - RENDER_PRIM_32_CONTROL_POINT_PATCHLIST = 0x2a, - RENDER_PRIM_COMPUTE_SHADER = 0x2b, - RENDER_PRIM_TYPE_COUNT = 0x2c, + RENDER_PRIM_COMPUTE_SHADER = 0xb, + RENDER_PRIM_TYPE_COUNT = 0xc, }; // Alignment: 4 @@ -357,14 +325,6 @@ enum class BoneMaskBlendSpace : uint32_t BlendSpace_Model_TranslationOnly = 0x3, }; -// Alignment: 4 -// Size: 0x2 -enum class SelectionSource_t : uint32_t -{ - SelectionSource_Bool = 0x0, - SelectionSource_Enum = 0x1, -}; - // Alignment: 4 // Size: 0x4 enum class IkTargetType : uint32_t @@ -460,11 +420,12 @@ enum class VelocityMetricMode : uint8_t }; // Alignment: 4 -// Size: 0x2 +// Size: 0x3 enum class VPhysXJoint_t__Flags_t : uint32_t { JOINT_FLAGS_NONE = 0x0, JOINT_FLAGS_BODY1_FIXED = 0x1, + JOINT_FLAGS_USE_BLOCK_SOLVER = 0x2, }; // Alignment: 4 @@ -475,23 +436,6 @@ enum class AnimVRHandMotionRange_t : uint32_t MotionRange_WithoutController = 0x1, }; -// Alignment: 4 -// Size: 0x3 -enum class SingleFrameSelection : uint32_t -{ - FirstFrame = 0x0, - LastFrame = 0x1, - SpecificFrame = 0x2, -}; - -// Alignment: 4 -// Size: 0x2 -enum class EAnimValueSource : uint32_t -{ - Constant = 0x0, - Parameter = 0x1, -}; - // Alignment: 4 // Size: 0x3 enum class FieldNetworkOption : uint32_t @@ -525,14 +469,6 @@ enum class ParticleAttachment_t : uint32_t MAX_PATTACH_TYPES = 0x10, }; -// Alignment: 4 -// Size: 0x2 -enum class SolveIKChainAnimNodeSettingSource : uint32_t -{ - SOLVEIKCHAINANIMNODESETTINGSOURCE_Default = 0x0, - SOLVEIKCHAINANIMNODESETTINGSOURCE_Override = 0x1, -}; - // Alignment: 4 // Size: 0x3 enum class SelectorTagBehavior_t : uint32_t @@ -572,13 +508,12 @@ enum class SeqPoseSetting_t : uint32_t }; // Alignment: 2 -// Size: 0x4 +// Size: 0x3 enum class AnimScriptType : uint16_t { ANIMSCRIPT_TYPE_INVALID = 0xffffffffffffffff, ANIMSCRIPT_FUSE_GENERAL = 0x0, ANIMSCRIPT_FUSE_STATEMACHINE = 0x1, - ANIMSCRIPT_EXPRTK = 0x2, }; // Alignment: 4 @@ -653,6 +588,16 @@ enum class FootstepLandedFootSoundType_t : uint32_t FOOTSOUND_UseOverrideSound = 0x2, }; +// Alignment: 4 +// Size: 0x4 +enum class IKChannelMode : uint32_t +{ + TwoBone = 0x0, + TwoBone_Translate = 0x1, + OneBone = 0x2, + OneBone_Translate = 0x3, +}; + // Alignment: 4 // Size: 0x4 enum class AnimVrFingerSplay_t : uint32_t @@ -767,15 +712,6 @@ enum class ChoiceChangeMethod : uint32_t OnResetOrCycleEnd = 0x2, }; -// Alignment: 4 -// Size: 0x3 -enum class StateComparisonValueType : uint32_t -{ - StateComparisonValue_FixedValue = 0x0, - StateComparisonValue_StateValue = 0x1, - StateComparisonValue_Parameter = 0x2, -}; - // Alignment: 4 // Size: 0x2 enum class Blend2DMode : uint32_t @@ -855,14 +791,6 @@ enum class AnimValueSource : uint32_t FingerSplay_Ring_Pinky = 0x24, }; -// Alignment: 4 -// Size: 0x2 -enum class FinishedConditionOption : uint32_t -{ - FinishedConditionOption_OnFinished = 0x0, - FinishedConditionOption_OnAlmostFinished = 0x1, -}; - // Alignment: 1 // Size: 0x3 enum class PoseType_t : uint8_t @@ -872,53 +800,6 @@ enum class PoseType_t : uint8_t POSETYPE_INVALID = 0xff, }; -// Alignment: 4 -// Size: 0x29 -enum class ControlValue : uint32_t -{ - ControlValue_MoveHeading = 0x0, - ControlValue_MoveSpeed = 0x1, - ControlValue_FacingHeading = 0x2, - ControlValue_LookHeading = 0x3, - ControlValue_LookPitch = 0x4, - 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, -}; - // Alignment: 4 // Size: 0x4 enum class ModelBoneFlexComponent_t : uint32_t @@ -953,25 +834,6 @@ enum class MorphFlexControllerRemapType_t : uint32_t MORPH_FLEXCONTROLLER_REMAP_EYELID = 0x3, }; -// Alignment: 4 -// Size: 0x5 -enum class StateValue : uint32_t -{ - TotalTranslation_SourceState = 0x0, - TotalTranslation_TargetState = 0x1, - SourceStateBlendWeight = 0x2, - TargetStateBlendWeight = 0x3, - Count = 0x4, -}; - -// Alignment: 4 -// Size: 0x2 -enum class DampedValueType : uint32_t -{ - FloatParameter = 0x0, - VectorParameter = 0x1, -}; - // Alignment: 4 // Size: 0x3 enum class AnimParamNetworkSetting : uint32_t @@ -981,14 +843,6 @@ enum class AnimParamNetworkSetting : uint32_t NeverNetwork = 0x2, }; -// Alignment: 1 -// Size: 0x2 -enum class ComparisonValueType : uint8_t -{ - COMPARISONVALUETYPE_FIXEDVALUE = 0x0, - COMPARISONVALUETYPE_PARAMETER = 0x1, -}; - // Alignment: 4 // Size: 0xf enum class PermModelInfo_t__FlagEnum : uint32_t @@ -1093,6 +947,14 @@ enum class StepPhase : uint32_t StepPhase_InAir = 0x1, }; +// Alignment: 4 +// Size: 0x2 +enum class EDemoBoneSelectionMode : uint32_t +{ + CaptureAllBones = 0x0, + CaptureSelectedBones = 0x1, +}; + // Alignment: 4 // Size: 0x3 enum class AnimPoseControl : uint32_t @@ -1128,19 +990,6 @@ enum class IKTargetCoordinateSystem : uint32_t IKTARGETCOORDINATESYSTEM_COUNT = 0x2, }; -// Alignment: 4 -// Size: 0x7 -enum class Comparison_t : uint32_t -{ - COMPARISON_EQUALS = 0x0, - COMPARISON_NOT_EQUALS = 0x1, - COMPARISON_GREATER = 0x2, - COMPARISON_GREATER_OR_EQUAL = 0x3, - COMPARISON_LESS = 0x4, - COMPARISON_LESS_OR_EQUAL = 0x5, - COMPARISON_COUNT = 0x6, -}; - // Alignment: 4 // Size: 0x5 enum class AnimVRFinger_t : uint32_t @@ -1255,12 +1104,13 @@ enum class VMixSubgraphSwitchInterpolationType_t : uint32_t }; // Alignment: 4 -// Size: 0x3 +// Size: 0x4 enum class ActionType_t : uint32_t { SOS_ACTION_NONE = 0x0, SOS_ACTION_LIMITER = 0x1, SOS_ACTION_TIME_LIMIT = 0x2, + SOS_ACTION_SET_SOUNDEVENT_PARAM = 0x3, }; // Alignment: 1 @@ -1437,7 +1287,7 @@ enum class DisableShadows_t : uint8_t }; // Alignment: 4 -// Size: 0xf +// Size: 0x10 enum class ObjectTypeFlags_t : uint32_t { OBJECT_TYPE_NONE = 0x0, @@ -1453,10 +1303,110 @@ enum class ObjectTypeFlags_t : uint32_t OBJECT_TYPE_RENDER_WITH_DYNAMIC = 0x200, OBJECT_TYPE_RENDER_TO_CUBEMAPS = 0x400, OBJECT_TYPE_MODEL_HAS_LODS = 0x800, + OBJECT_TYPE_OVERLAY = 0x2000, OBJECT_TYPE_PRECOMPUTED_VISMEMBERS = 0x4000, OBJECT_TYPE_STATIC_CUBE_MAP = 0x8000, }; +// Alignment: 2 +// Size: 0x41 +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, + TARGET_INVOKE = 0xd, + SET_VAR = 0xe, + GET_VAR = 0xf, + SET_REGISTER_LIT_BOOL = 0x10, + SET_REGISTER_LIT_INT = 0x11, + SET_REGISTER_LIT_FLOAT = 0x12, + SET_REGISTER_LIT_STR = 0x13, + SET_REGISTER_LIT_INVAL_EHANDLE = 0x14, + SET_REGISTER_LIT_INVAL_SNDEVT_GUID = 0x15, + SET_REGISTER_LIT_VEC3 = 0x16, + SET_REGISTER_DOMAIN_VALUE = 0x17, + COPY = 0x18, + NOT = 0x19, + NEGATE = 0x1a, + ADD = 0x1b, + SUB = 0x1c, + MUL = 0x1d, + DIV = 0x1e, + MOD = 0x1f, + LT = 0x20, + LTE = 0x21, + EQ = 0x22, + NE = 0x23, + AND = 0x24, + OR = 0x25, + CONVERT_VALUE = 0x26, + LAST_SERIALIZED_CODE = 0x27, + NEGATE_INT = 0x28, + NEGATE_FLOAT = 0x29, + ADD_INT = 0x2a, + ADD_FLOAT = 0x2b, + ADD_STRING = 0x2c, + SUB_INT = 0x2d, + SUB_FLOAT = 0x2e, + MUL_INT = 0x2f, + MUL_FLOAT = 0x30, + DIV_INT = 0x31, + DIV_FLOAT = 0x32, + MOD_INT = 0x33, + MOD_FLOAT = 0x34, + LT_INT = 0x35, + LT_FLOAT = 0x36, + LTE_INT = 0x37, + LTE_FLOAT = 0x38, + EQ_BOOL = 0x39, + EQ_INT = 0x3a, + EQ_FLOAT = 0x3b, + EQ_STRING = 0x3c, + NE_BOOL = 0x3d, + NE_INT = 0x3e, + NE_FLOAT = 0x3f, + NE_STRING = 0x40, +}; + +// Alignment: 4 +// Size: 0xe +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_SCHEMA_PTR = 0x9, + PVAL_CURSOR_FLOW = 0xa, + PVAL_ANY = 0xb, + PVAL_COUNT = 0xc, +}; + +// 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 TextureRepetitionMode_t : uint32_t @@ -1601,48 +1551,6 @@ 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 @@ -1669,6 +1577,15 @@ enum class SpriteCardTextureType_t : uint32_t SPRITECARD_TEXTURE_SPHERICAL_HARMONICS_C = 0x9, }; +// Alignment: 4 +// Size: 0x3 +enum class BBoxVolumeType_t : uint32_t +{ + BBOX_VOLUME = 0x0, + BBOX_DIMENSIONS = 0x1, + BBOX_MINS_MAXS = 0x2, +}; + // Alignment: 4 // Size: 0x4 enum class ParticleDetailLevel_t : uint32_t @@ -1739,25 +1656,6 @@ 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 @@ -1890,14 +1788,6 @@ 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 @@ -1953,7 +1843,7 @@ enum class VectorFloatExpressionType_t : uint32_t }; // Alignment: 4 -// Size: 0xb +// Size: 0xc enum class ParticlePinDistance_t : uint32_t { PARTICLE_PIN_DISTANCE_NONE = 0xffffffffffffffff, @@ -1967,6 +1857,7 @@ enum class ParticlePinDistance_t : uint32_t PARTICLE_PIN_DISTANCE_CP_PAIR_BOTH = 0x8, PARTICLE_PIN_SPEED = 0x9, PARTICLE_PIN_COLLECTION_AGE = 0xa, + PARTICLE_PIN_FLOAT_VALUE = 0xb, }; // Alignment: 4 @@ -2153,7 +2044,7 @@ enum class ParticlePostProcessPriorityGroup_t : uint32_t }; // Alignment: 4 -// Size: 0x16 +// Size: 0x18 enum class ParticleFloatType_t : uint32_t { PF_TYPE_INVALID = 0xffffffffffffffff, @@ -2167,17 +2058,19 @@ 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_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, + PF_TYPE_CONCURRENT_DEF_COUNT = 0xa, + PF_TYPE_CLOSEST_CAMERA_DISTANCE = 0xb, + PF_TYPE_RENDERER_CAMERA_DISTANCE = 0xc, + PF_TYPE_RENDERER_CAMERA_DOT_PRODUCT = 0xd, + PF_TYPE_PARTICLE_NOISE = 0xe, + PF_TYPE_PARTICLE_AGE = 0xf, + PF_TYPE_PARTICLE_AGE_NORMALIZED = 0x10, + PF_TYPE_PARTICLE_FLOAT = 0x11, + PF_TYPE_PARTICLE_VECTOR_COMPONENT = 0x12, + PF_TYPE_PARTICLE_SPEED = 0x13, + PF_TYPE_PARTICLE_NUMBER = 0x14, + PF_TYPE_PARTICLE_NUMBER_NORMALIZED = 0x15, + PF_TYPE_COUNT = 0x16, }; // Alignment: 4 @@ -2438,6 +2331,16 @@ enum class DOTA_SHOP_CATEGORY : uint32_t NUM_SHOP_CATEGORIES = 0xf, }; +// Alignment: 4 +// Size: 0x4 +enum class ETeamTrackedStatImpl : uint32_t +{ + k_eTeamTrackedStatImpl_Invalid = 0x0, + k_eTeamTrackedStatImpl_Direct = 0x1, + k_eTeamTrackedStatImpl_Expression = 0x2, + k_eTeamTrackedStatImpl_PlayerAggregate = 0x3, +}; + // Alignment: 4 // Size: 0x7 enum class ObserverMode_t : uint32_t @@ -2672,24 +2575,27 @@ enum class TakeDamageFlags_t : uint32_t }; // Alignment: 4 -// Size: 0xf +// Size: 0x12 enum class WeaponSound_t : uint32_t { WEAPON_SOUND_EMPTY = 0x0, - WEAPON_SOUND_SINGLE = 0x1, - WEAPON_SOUND_DOUBLE = 0x2, - WEAPON_SOUND_RELOAD = 0x3, - WEAPON_SOUND_MELEE_MISS = 0x4, - WEAPON_SOUND_MELEE_HIT = 0x5, - WEAPON_SOUND_MELEE_HIT_WORLD = 0x6, - WEAPON_SOUND_MELEE_HIT_PLAYER = 0x7, - WEAPON_SOUND_SPECIAL1 = 0x8, - WEAPON_SOUND_SPECIAL2 = 0x9, - WEAPON_SOUND_SPECIAL3 = 0xa, - WEAPON_SOUND_NEARLYEMPTY = 0xb, - WEAPON_SOUND_IMPACT1 = 0xc, - WEAPON_SOUND_REFLECT = 0xd, - WEAPON_SOUND_NUM_TYPES = 0xe, + WEAPON_SOUND_SECONDARY_EMPTY = 0x1, + WEAPON_SOUND_SINGLE = 0x2, + WEAPON_SOUND_SECONDARY_ATTACK = 0x3, + WEAPON_SOUND_RELOAD = 0x4, + WEAPON_SOUND_MELEE_MISS = 0x5, + WEAPON_SOUND_MELEE_HIT = 0x6, + WEAPON_SOUND_MELEE_HIT_WORLD = 0x7, + WEAPON_SOUND_MELEE_HIT_PLAYER = 0x8, + WEAPON_SOUND_SPECIAL1 = 0x9, + WEAPON_SOUND_SPECIAL2 = 0xa, + WEAPON_SOUND_SPECIAL3 = 0xb, + WEAPON_SOUND_NEARLYEMPTY = 0xc, + WEAPON_SOUND_IMPACT = 0xd, + WEAPON_SOUND_REFLECT = 0xe, + WEAPON_SOUND_SECONDARY_IMPACT = 0xf, + WEAPON_SOUND_SECONDARY_REFLECT = 0x10, + WEAPON_SOUND_NUM_TYPES = 0x11, }; // Alignment: 4 @@ -2888,11 +2794,13 @@ enum class TowerState_t : uint32_t }; // Alignment: 4 -// Size: 0x7a +// Size: 0x7c enum class EGCItemMsg : uint32_t { k_EMsgGCBase = 0x3e8, k_EMsgGCSetItemPosition = 0x3e9, + k_EMsgClientToGCPackBundle = 0x3ea, + k_EMsgClientToGCPackBundleResponse = 0x3eb, k_EMsgGCDelete = 0x3ec, k_EMsgGCVerifyCacheSubscription = 0x3ed, k_EMsgClientToGCNameItem = 0x3ee, @@ -3246,7 +3154,7 @@ enum class DOTATeam_t : uint32_t }; // Alignment: 4 -// Size: 0x2c +// Size: 0x2e enum class EEvent : uint32_t { EVENT_ID_NONE = 0x0, @@ -3293,6 +3201,8 @@ enum class EEvent : uint32_t EVENT_ID_TEAM_2023_TOUR1 = 0x29, EVENT_ID_TEAM_2023_TOUR2 = 0x2a, EVENT_ID_TEAM_2023_TOUR3 = 0x2b, + EVENT_ID_INTERNATIONAL_2023 = 0x2d, + EVENT_ID_10TH_ANNIVERSARY = 0x2e, }; // Alignment: 4 @@ -3392,7 +3302,7 @@ enum class DOTAPostGameColumn_t : uint32_t }; // Alignment: 4 -// Size: 0x8 +// Size: 0x9 enum class DOTAPortraitEnvironmentType_t : uint32_t { DOTA_PORTRAIT_ENVIRONMENT_INVALID = 0xffffffffffffffff, @@ -3402,7 +3312,46 @@ enum class DOTAPortraitEnvironmentType_t : uint32_t DOTA_PORTRAIT_ENVIRONMENT_WEBPAGE = 0x3, DOTA_PORTRAIT_ENVIRONMENT_FULL_BODY_RIGHT_SIDE = 0x4, DOTA_PORTRAIT_ENVIRONMENT_FULL_BODY_LOADOUT = 0x5, - DOTA_PORTRAIT_ENVIRONMENT_TYPE_COUNT = 0x6, + DOTA_PORTRAIT_ENVIRONMENT_ICON = 0x6, + DOTA_PORTRAIT_ENVIRONMENT_TYPE_COUNT = 0x7, +}; + +// Alignment: 4 +// Size: 0x14 +enum class Fantasy_Scoring : uint32_t +{ + FANTASY_SCORING_KILLS = 0x0, + FANTASY_SCORING_DEATHS = 0x1, + FANTASY_SCORING_CS = 0x2, + FANTASY_SCORING_GPM = 0x3, + FANTASY_SCORING_TOWER_KILLS = 0x4, + FANTASY_SCORING_ROSHAN_KILLS = 0x5, + FANTASY_SCORING_TEAMFIGHT_PARTICIPATION = 0x6, + FANTASY_SCORING_WARDS_PLANTED = 0x7, + FANTASY_SCORING_CAMPS_STACKED = 0x8, + FANTASY_SCORING_RUNES_GRABBED = 0x9, + FANTASY_SCORING_FIRST_BLOOD = 0xa, + FANTASY_SCORING_STUNS = 0xb, + FANTASY_SCORING_SMOKES_USED = 0xc, + FANTASY_SCORING_NEUTRAL_TOKENS_FOUND = 0xd, + FANTASY_SCORING_WATCHERS_TAKEN = 0xe, + FANTASY_SCORING_LOTUSES_GAINED = 0xf, + FANTASY_SCORING_TORMENTOR_KILLS = 0x10, + FANTASY_SCORING_COURIER_KILLS = 0x11, + FANTASY_SCORING_TYPES = 0x12, + FANTASY_SCORING_INVALID = 0x13, +}; + +// Alignment: 4 +// Size: 0x6 +enum class EPlayerTrackedStatImpl : uint32_t +{ + k_ePlayerTrackedStatImpl_Invalid = 0x0, + k_ePlayerTrackedStatImpl_Direct = 0x1, + k_ePlayerTrackedStatImpl_KillEater = 0x2, + k_ePlayerTrackedStatImpl_CombatQuery = 0x3, + k_ePlayerTrackedStatImpl_Expression = 0x4, + k_ePlayerTrackedStatImpl_HeroAdjective = 0x5, }; // Alignment: 4 @@ -3895,11 +3844,9 @@ enum class CRR_Response__ResponseEnum_t : uint32_t }; // Alignment: 4 -// Size: 0x18 +// Size: 0x16 enum class EGCBaseMsg : uint32_t { - k_EMsgGCReplicateConVars = 0xfa2, - k_EMsgGCConVarUpdated = 0xfa3, k_EMsgGCInviteToParty = 0x1195, k_EMsgGCInvitationCreated = 0x1196, k_EMsgGCPartyInviteResponse = 0x1197, @@ -3925,7 +3872,7 @@ enum class EGCBaseMsg : uint32_t }; // Alignment: 4 -// Size: 0x113 +// Size: 0x120 enum class modifierfunction : uint32_t { MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE = 0x0, @@ -4046,162 +3993,175 @@ enum class modifierfunction : uint32_t 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_EVENT_SPELL_APPLIED_SUCCESSFULLY = 0x10e, - MODIFIER_PROPERTY_AVOID_DAMAGE_AFTER_REDUCTIONS = 0x10f, - MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_MULTIPLICATIVE = 0x110, - MODIFIER_FUNCTION_LAST = 0x111, + MODIFIER_PROPERTY_REINCARNATION_SUPPRESS_FX = 0x76, + MODIFIER_PROPERTY_RESPAWNTIME = 0x77, + MODIFIER_PROPERTY_RESPAWNTIME_PERCENTAGE = 0x78, + MODIFIER_PROPERTY_RESPAWNTIME_STACKING = 0x79, + MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE = 0x7a, + MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_ONGOING = 0x7b, + MODIFIER_PROPERTY_CASTTIME_PERCENTAGE = 0x7c, + MODIFIER_PROPERTY_ATTACK_ANIM_TIME_PERCENTAGE = 0x7d, + MODIFIER_PROPERTY_MANACOST_PERCENTAGE = 0x7e, + MODIFIER_PROPERTY_MANACOST_PERCENTAGE_STACKING = 0x7f, + MODIFIER_PROPERTY_HEALTHCOST_PERCENTAGE = 0x80, + MODIFIER_PROPERTY_HEALTHCOST_PERCENTAGE_STACKING = 0x81, + MODIFIER_PROPERTY_DEATHGOLDCOST = 0x82, + MODIFIER_PROPERTY_EXP_RATE_BOOST = 0x83, + MODIFIER_PROPERTY_GOLD_RATE_BOOST = 0x84, + MODIFIER_PROPERTY_PREATTACK_CRITICALSTRIKE = 0x85, + MODIFIER_PROPERTY_PREATTACK_TARGET_CRITICALSTRIKE = 0x86, + MODIFIER_PROPERTY_MAGICAL_CONSTANT_BLOCK = 0x87, + MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK = 0x88, + MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK_SPECIAL = 0x89, + MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK_UNAVOIDABLE_PRE_ARMOR = 0x8a, + MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK = 0x8b, + MODIFIER_PROPERTY_OVERRIDE_ANIMATION = 0x8c, + MODIFIER_PROPERTY_OVERRIDE_ANIMATION_WEIGHT = 0x8d, + MODIFIER_PROPERTY_OVERRIDE_ANIMATION_RATE = 0x8e, + MODIFIER_PROPERTY_ABSORB_SPELL = 0x8f, + MODIFIER_PROPERTY_REFLECT_SPELL = 0x90, + MODIFIER_PROPERTY_DISABLE_AUTOATTACK = 0x91, + MODIFIER_PROPERTY_BONUS_DAY_VISION = 0x92, + MODIFIER_PROPERTY_BONUS_NIGHT_VISION = 0x93, + MODIFIER_PROPERTY_BONUS_NIGHT_VISION_UNIQUE = 0x94, + MODIFIER_PROPERTY_BONUS_VISION_PERCENTAGE = 0x95, + MODIFIER_PROPERTY_FIXED_DAY_VISION = 0x96, + MODIFIER_PROPERTY_FIXED_NIGHT_VISION = 0x97, + MODIFIER_PROPERTY_MIN_HEALTH = 0x98, + MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PHYSICAL = 0x99, + MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_MAGICAL = 0x9a, + MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PURE = 0x9b, + MODIFIER_PROPERTY_IS_ILLUSION = 0x9c, + MODIFIER_PROPERTY_ILLUSION_LABEL = 0x9d, + MODIFIER_PROPERTY_STRONG_ILLUSION = 0x9e, + MODIFIER_PROPERTY_SUPER_ILLUSION = 0x9f, + MODIFIER_PROPERTY_SUPER_ILLUSION_WITH_ULTIMATE = 0xa0, + MODIFIER_PROPERTY_XP_DURING_DEATH = 0xa1, + MODIFIER_PROPERTY_TURN_RATE_PERCENTAGE = 0xa2, + MODIFIER_PROPERTY_TURN_RATE_OVERRIDE = 0xa3, + MODIFIER_PROPERTY_DISABLE_HEALING = 0xa4, + MODIFIER_PROPERTY_ALWAYS_ALLOW_ATTACK = 0xa5, + MODIFIER_PROPERTY_ALWAYS_ETHEREAL_ATTACK = 0xa6, + MODIFIER_PROPERTY_OVERRIDE_ATTACK_MAGICAL = 0xa7, + MODIFIER_PROPERTY_UNIT_STATS_NEEDS_REFRESH = 0xa8, + MODIFIER_PROPERTY_BOUNTY_CREEP_MULTIPLIER = 0xa9, + MODIFIER_PROPERTY_BOUNTY_OTHER_MULTIPLIER = 0xaa, + MODIFIER_PROPERTY_UNIT_DISALLOW_UPGRADING = 0xab, + MODIFIER_PROPERTY_DODGE_PROJECTILE = 0xac, + MODIFIER_PROPERTY_TRIGGER_COSMETIC_AND_END_ATTACK = 0xad, + MODIFIER_PROPERTY_MAX_DEBUFF_DURATION = 0xae, + MODIFIER_PROPERTY_PRIMARY_STAT_DAMAGE_MULTIPLIER = 0xaf, + MODIFIER_PROPERTY_PREATTACK_DEADLY_BLOW = 0xb0, + MODIFIER_PROPERTY_ALWAYS_AUTOATTACK_WHILE_HOLD_POSITION = 0xb1, + MODIFIER_EVENT_ON_SPELL_TARGET_READY = 0xb2, + MODIFIER_EVENT_ON_ATTACK_RECORD = 0xb3, + MODIFIER_EVENT_ON_ATTACK_START = 0xb4, + MODIFIER_EVENT_ON_ATTACK = 0xb5, + MODIFIER_EVENT_ON_ATTACK_LANDED = 0xb6, + MODIFIER_EVENT_ON_ATTACK_FAIL = 0xb7, + MODIFIER_EVENT_ON_ATTACK_ALLIED = 0xb8, + MODIFIER_EVENT_ON_PROJECTILE_DODGE = 0xb9, + MODIFIER_EVENT_ON_ORDER = 0xba, + MODIFIER_EVENT_ON_UNIT_MOVED = 0xbb, + MODIFIER_EVENT_ON_ABILITY_START = 0xbc, + MODIFIER_EVENT_ON_ABILITY_EXECUTED = 0xbd, + MODIFIER_EVENT_ON_ABILITY_FULLY_CAST = 0xbe, + MODIFIER_EVENT_ON_BREAK_INVISIBILITY = 0xbf, + MODIFIER_EVENT_ON_ABILITY_END_CHANNEL = 0xc0, + MODIFIER_EVENT_ON_PROCESS_UPGRADE = 0xc1, + MODIFIER_EVENT_ON_REFRESH = 0xc2, + MODIFIER_EVENT_ON_TAKEDAMAGE = 0xc3, + MODIFIER_EVENT_ON_DEATH_PREVENTED = 0xc4, + MODIFIER_EVENT_ON_STATE_CHANGED = 0xc5, + MODIFIER_EVENT_ON_ORB_EFFECT = 0xc6, + MODIFIER_EVENT_ON_PROCESS_CLEAVE = 0xc7, + MODIFIER_EVENT_ON_DAMAGE_CALCULATED = 0xc8, + MODIFIER_EVENT_ON_MAGIC_DAMAGE_CALCULATED = 0xc9, + MODIFIER_EVENT_ON_ATTACKED = 0xca, + MODIFIER_EVENT_ON_DEATH = 0xcb, + MODIFIER_EVENT_ON_DEATH_COMPLETED = 0xcc, + MODIFIER_EVENT_ON_RESPAWN = 0xcd, + MODIFIER_EVENT_ON_SPENT_MANA = 0xce, + MODIFIER_EVENT_ON_SPENT_HEALTH = 0xcf, + MODIFIER_EVENT_ON_TELEPORTING = 0xd0, + MODIFIER_EVENT_ON_TELEPORTED = 0xd1, + MODIFIER_EVENT_ON_SET_LOCATION = 0xd2, + MODIFIER_EVENT_ON_HEALTH_GAINED = 0xd3, + MODIFIER_EVENT_ON_MANA_GAINED = 0xd4, + MODIFIER_EVENT_ON_TAKEDAMAGE_KILLCREDIT = 0xd5, + MODIFIER_EVENT_ON_HERO_KILLED = 0xd6, + MODIFIER_EVENT_ON_HEAL_RECEIVED = 0xd7, + MODIFIER_EVENT_ON_BUILDING_KILLED = 0xd8, + MODIFIER_EVENT_ON_MODEL_CHANGED = 0xd9, + MODIFIER_EVENT_ON_MODIFIER_ADDED = 0xda, + MODIFIER_PROPERTY_TOOLTIP = 0xdb, + MODIFIER_PROPERTY_MODEL_CHANGE = 0xdc, + MODIFIER_PROPERTY_MODEL_SCALE = 0xdd, + MODIFIER_PROPERTY_MODEL_SCALE_ANIMATE_TIME = 0xde, + MODIFIER_PROPERTY_MODEL_SCALE_USE_IN_OUT_EASE = 0xdf, + MODIFIER_PROPERTY_MODEL_SCALE_CONSTANT = 0xe0, + MODIFIER_PROPERTY_IS_SCEPTER = 0xe1, + MODIFIER_PROPERTY_IS_SHARD = 0xe2, + MODIFIER_PROPERTY_RADAR_COOLDOWN_REDUCTION = 0xe3, + MODIFIER_PROPERTY_TRANSLATE_ACTIVITY_MODIFIERS = 0xe4, + MODIFIER_PROPERTY_TRANSLATE_ATTACK_SOUND = 0xe5, + MODIFIER_PROPERTY_LIFETIME_FRACTION = 0xe6, + MODIFIER_PROPERTY_PROVIDES_FOW_POSITION = 0xe7, + MODIFIER_PROPERTY_SPELLS_REQUIRE_HP = 0xe8, + MODIFIER_PROPERTY_FORCE_DRAW_MINIMAP = 0xe9, + MODIFIER_PROPERTY_DISABLE_TURNING = 0xea, + MODIFIER_PROPERTY_IGNORE_CAST_ANGLE = 0xeb, + MODIFIER_PROPERTY_CHANGE_ABILITY_VALUE = 0xec, + MODIFIER_PROPERTY_OVERRIDE_ABILITY_SPECIAL = 0xed, + MODIFIER_PROPERTY_OVERRIDE_ABILITY_SPECIAL_VALUE = 0xee, + MODIFIER_PROPERTY_ABILITY_LAYOUT = 0xef, + MODIFIER_EVENT_ON_DOMINATED = 0xf0, + MODIFIER_EVENT_ON_KILL = 0xf1, + MODIFIER_EVENT_ON_ASSIST = 0xf2, + MODIFIER_PROPERTY_TEMPEST_DOUBLE = 0xf3, + MODIFIER_PROPERTY_PRESERVE_PARTICLES_ON_MODEL_CHANGE = 0xf4, + MODIFIER_EVENT_ON_ATTACK_FINISHED = 0xf5, + MODIFIER_PROPERTY_IGNORE_COOLDOWN = 0xf6, + MODIFIER_PROPERTY_CAN_ATTACK_TREES = 0xf7, + MODIFIER_PROPERTY_VISUAL_Z_DELTA = 0xf8, + MODIFIER_PROPERTY_VISUAL_Z_SPEED_BASE_OVERRIDE = 0xf9, + MODIFIER_PROPERTY_INCOMING_DAMAGE_ILLUSION = 0xfa, + MODIFIER_PROPERTY_DONT_GIVE_VISION_OF_ATTACKER = 0xfb, + MODIFIER_PROPERTY_TOOLTIP2 = 0xfc, + MODIFIER_EVENT_ON_ATTACK_RECORD_DESTROY = 0xfd, + MODIFIER_EVENT_ON_PROJECTILE_OBSTRUCTION_HIT = 0xfe, + MODIFIER_PROPERTY_SUPPRESS_TELEPORT = 0xff, + MODIFIER_EVENT_ON_ATTACK_CANCELLED = 0x100, + MODIFIER_PROPERTY_SUPPRESS_CLEAVE = 0x101, + MODIFIER_PROPERTY_BOT_ATTACK_SCORE_BONUS = 0x102, + MODIFIER_PROPERTY_ATTACKSPEED_REDUCTION_PERCENTAGE = 0x103, + MODIFIER_PROPERTY_MOVESPEED_REDUCTION_PERCENTAGE = 0x104, + MODIFIER_PROPERTY_ATTACK_WHILE_MOVING_TARGET = 0x105, + MODIFIER_PROPERTY_ATTACKSPEED_PERCENTAGE = 0x106, + MODIFIER_EVENT_ON_ATTEMPT_PROJECTILE_DODGE = 0x107, + MODIFIER_EVENT_ON_PREDEBUFF_APPLIED = 0x108, + MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_STACKING = 0x109, + MODIFIER_PROPERTY_SPELL_REDIRECT_TARGET = 0x10a, + MODIFIER_PROPERTY_TURN_RATE_CONSTANT = 0x10b, + MODIFIER_PROPERTY_RAT_PACK = 0x10c, + MODIFIER_PROPERTY_PHYSICALDAMAGEOUTGOING_PERCENTAGE = 0x10d, + MODIFIER_PROPERTY_KNOCKBACK_AMPLIFICATION_PERCENTAGE = 0x10e, + MODIFIER_PROPERTY_HEALTHBAR_PIPS = 0x10f, + MODIFIER_PROPERTY_INCOMING_DAMAGE_CONSTANT = 0x110, + MODIFIER_EVENT_SPELL_APPLIED_SUCCESSFULLY = 0x111, + MODIFIER_PROPERTY_AVOID_DAMAGE_AFTER_REDUCTIONS = 0x112, + MODIFIER_PROPERTY_FAIL_ATTACK = 0x113, + MODIFIER_PROPERTY_PREREDUCE_INCOMING_DAMAGE_MULT = 0x114, + MODIFIER_PROPERTY_SUPPRESS_FULLSCREEN_DEATH_FX = 0x115, + MODIFIER_PROPERTY_INCOMING_DAMAGE_CONSTANT_POST = 0x116, + MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_MULTIPLICATIVE = 0x117, + MODIFIER_PROPERTY_TICK_GOLD_MULTIPLIER = 0x118, + MODIFIER_PROPERTY_SLOW_RESISTANCE = 0x119, + MODIFIER_PROPERTY_AOE_BONUS_PERCENTAGE = 0x11a, + MODIFIER_PROPERTY_PROJECTILE_SPEED = 0x11b, + MODIFIER_PROPERTY_BECOME_UNIVERSAL = 0x11c, + MODIFIER_EVENT_ON_FORCE_PROC_MAGIC_STICK = 0x11d, + MODIFIER_FUNCTION_LAST = 0x11e, MODIFIER_FUNCTION_INVALID = 0xffff, }; @@ -4346,6 +4306,17 @@ enum class PointTemplateClientOnlyEntityBehavior_t : uint32_t CREATE_FOR_CLIENTS_WHO_CONNECT_LATER = 0x1, }; +// Alignment: 4 +// Size: 0x5 +enum class EMatchTrackedStatImpl : uint32_t +{ + k_eMatchTrackedStatImpl_Invalid = 0x0, + k_eMatchTrackedStatImpl_Direct = 0x1, + k_eMatchTrackedStatImpl_Expression = 0x2, + k_eMatchTrackedStatImpl_PlayerAggregate = 0x3, + k_eMatchTrackedStatImpl_TeamAggregate = 0x4, +}; + // Alignment: 4 // Size: 0x2 enum class DOTASelectionPriorityRules : uint32_t @@ -4354,6 +4325,25 @@ enum class DOTASelectionPriorityRules : uint32_t k_DOTASelectionPriorityRules_Automatic = 0x1, }; +// Alignment: 4 +// Size: 0xd +enum class DOTACommType_t : uint32_t +{ + DOTA_COMM_TYPE_NONE = 0x0, + DOTA_COMM_TYPE_PING = 0x1, + DOTA_COMM_TYPE_CHATWHEEL = 0x2, + DOTA_COMM_TYPE_TIP = 0x3, + DOTA_COMM_TYPE_TEXT = 0x4, + DOTA_COMM_TYPE_VOICE = 0x5, + DOTA_COMM_TYPE_ALLY_ABILITY = 0x6, + DOTA_COMM_TYPE_PAUSE = 0x7, + DOTA_COMM_TYPE_COACHING = 0x8, + DOTA_COMM_TYPE_NOCOOLDOWN = 0x9, + DOTA_COMM_TYPE_RANKEDMATCHMAKE = 0xa, + DOTA_COMM_TYPE_DROPS = 0xb, + DOTA_COMM_TYPE_NEWPLAYER_EXPERT = 0xc, +}; + // Alignment: 4 // Size: 0x3 enum class EntitySubclassScope_t : uint32_t @@ -4698,6 +4688,17 @@ enum class InputBitMask_t : uint64_t IN_QUERY = 0x100000000, }; +// Alignment: 4 +// Size: 0x5 +enum class DOTABehaviorLevel_t : uint32_t +{ + DOTA_BEHAVIOR_LEVEL_NONE = 0x0, + DOTA_BEHAVIOR_LEVEL_RANKED_ALLOWED = 0x1, + DOTA_BEHAVIOR_LEVEL_PAUSING = 0x2, + DOTA_BEHAVIOR_LEVEL_DROPS = 0x3, + DOTA_BEHAVIOR_LEVEL_COACHING = 0x4, +}; + // Alignment: 4 // Size: 0x7 enum class DAMAGE_TYPES : uint32_t @@ -4831,6 +4832,16 @@ enum class EGCEconBaseMsg : uint32_t k_EMsgGCGenericResult = 0xa13, }; +// Alignment: 4 +// Size: 0x4 +enum class AmmoPosition_t : uint32_t +{ + AMMO_POSITION_INVALID = 0xffffffffffffffff, + AMMO_POSITION_PRIMARY = 0x0, + AMMO_POSITION_SECONDARY = 0x1, + AMMO_POSITION_COUNT = 0x2, +}; + // Alignment: 4 // Size: 0x4 enum class EPoorNetworkConditionsType : uint32_t @@ -5115,7 +5126,7 @@ enum class WaterLevel_t : uint8_t }; // Alignment: 4 -// Size: 0x9 +// Size: 0xa enum class ELeagueNodeGroupType : uint32_t { INVALID_GROUP_TYPE = 0x0, @@ -5127,6 +5138,7 @@ enum class ELeagueNodeGroupType : uint32_t BRACKET_DOUBLE_ALL_WINNER = 0x6, SHOWMATCH = 0x7, GSL = 0x8, + PLACEMENT = 0x9, }; // Alignment: 4 @@ -5182,6 +5194,15 @@ enum class EDOTAVersusScenePlayerBehavior : uint32_t VS_PLAYER_BEHAVIOR_PLAYBACK_RATE = 0x3, }; +// Alignment: 4 +// Size: 0x3 +enum class Fantasy_Gem_Type : uint32_t +{ + FANTASY_GEM_TYPE_RUBY = 0x0, + FANTASY_GEM_TYPE_SAPPHIRE = 0x1, + FANTASY_GEM_TYPE_EMERALD = 0x2, +}; + // Alignment: 4 // Size: 0x56 enum class DotaPseudoRandomType : uint32_t @@ -5261,7 +5282,7 @@ enum class DotaPseudoRandomType : uint32_t DOTA_PSEUDO_RANDOM_NEUTRAL_DROP_TIER5 = 0x48, DOTA_PSEUDO_RANDOM_MARS_BULWARK = 0x49, DOTA_PSEUDO_RANDOM_MUERTA_GUNSLINGER = 0x4a, - DOTA_PSEUDO_RANDOM_BATRIDER_NAPALM = 0x4b, + DOTA_PSEUDO_RANDOM_TROLL_FERVOR_SHARD = 0x4b, DOTA_PSEUDO_RANDOM_CUSTOM_GENERIC = 0x4c, DOTA_PSEUDO_RANDOM_CUSTOM_GAME_1 = 0x4d, DOTA_PSEUDO_RANDOM_CUSTOM_GAME_2 = 0x4e, @@ -5446,7 +5467,7 @@ enum class ECustomGameInstallStatus : uint32_t }; // Alignment: 4 -// Size: 0x334 +// Size: 0x359 enum class EDOTAGCMsg : uint32_t { k_EMsgGCDOTABase = 0x1b58, @@ -5485,6 +5506,8 @@ enum class EDOTAGCMsg : uint32_t k_EMsgGCSubmitPlayerReport = 0x1ba6, k_EMsgGCSubmitPlayerReportResponse = 0x1ba7, k_EMsgGCPracticeLobbyKick = 0x1ba9, + k_EMsgGCSubmitPlayerReportV2 = 0x1baa, + k_EMsgGCSubmitPlayerReportResponseV2 = 0x1bab, k_EMsgGCRequestSaveGames = 0x1bac, k_EMsgGCRequestSaveGamesServer = 0x1bad, k_EMsgGCRequestSaveGamesResponse = 0x1bae, @@ -5548,6 +5571,8 @@ enum class EDOTAGCMsg : uint32_t k_EMsgGCToGCCanInviteUserToTeamResponse = 0x1c43, k_EMsgGCToGCGetUserRank = 0x1c44, k_EMsgGCToGCGetUserRankResponse = 0x1c45, + k_EMsgGCToGCAdjustUserRank = 0x1c46, + k_EMsgGCToGCAdjustUserRankResponse = 0x1c47, k_EMsgGCToGCUpdateTeamStats = 0x1c48, k_EMsgGCToGCValidateTeam = 0x1c49, k_EMsgGCToGCValidateTeamResponse = 0x1c4a, @@ -5567,6 +5592,8 @@ enum class EDOTAGCMsg : uint32_t k_EMsgGCFantasyLivePlayerStats = 0x1c8c, k_EMsgGCFantasyFinalPlayerStats = 0x1c8d, k_EMsgGCFlipLobbyTeams = 0x1c98, + k_EMsgGCToGCEvaluateReportedPlayer = 0x1c9a, + k_EMsgGCToGCEvaluateReportedPlayerResponse = 0x1c9b, k_EMsgGCToGCProcessPlayerReportForTarget = 0x1c9c, k_EMsgGCToGCProcessReportSuccess = 0x1c9d, k_EMsgGCNotifyAccountFlagsChange = 0x1c9e, @@ -5603,6 +5630,9 @@ enum class EDOTAGCMsg : uint32_t k_EMsgGCToGCUpdateMatchmakingStats = 0x1cf7, k_EMsgGCToServerPingRequest = 0x1cf8, k_EMsgGCToServerPingResponse = 0x1cf9, + k_EMsgGCToServerEvaluateToxicChat = 0x1cfa, + k_EMsgServerToGCEvaluateToxicChat = 0x1cfb, + k_EMsgServerToGCEvaluateToxicChatResponse = 0x1cfc, k_EMsgGCToGCProcessMatchLeaver = 0x1d02, k_EMsgGCNotificationsRequest = 0x1d03, k_EMsgGCNotificationsResponse = 0x1d04, @@ -6109,6 +6139,9 @@ enum class EDOTAGCMsg : uint32_t k_EMsgClientToGCRequestActiveGuildChallenge = 0x2209, k_EMsgClientToGCRequestActiveGuildChallengeResponse = 0x220a, k_EMsgGCToClientActiveGuildChallengeUpdated = 0x220b, + k_EMsgClientToGCRequestReporterUpdates = 0x220c, + k_EMsgClientToGCRequestReporterUpdatesResponse = 0x220d, + k_EMsgClientToGCAcknowledgeReporterUpdates = 0x220e, k_EMsgSignOutGuildChallengeProgress = 0x2210, k_EMsgClientToGCRequestGuildEventMembers = 0x2211, k_EMsgClientToGCRequestGuildEventMembersResponse = 0x2212, @@ -6269,10 +6302,35 @@ enum class EDOTAGCMsg : uint32_t k_EMsgClientToGCMapStatsRequest = 0x22b3, k_EMsgGCToClientMapStatsResponse = 0x22b4, k_EMsgGCToServerSetSteamLearnInferencing = 0x22b5, + k_EMsgClientToGCShowcaseGetUserData = 0x22b6, + k_EMsgClientToGCShowcaseGetUserDataResponse = 0x22b7, + k_EMsgClientToGCShowcaseSetUserData = 0x22b8, + k_EMsgClientToGCShowcaseSetUserDataResponse = 0x22b9, + k_EMsgClientToGCFantasyCraftingGetUserData = 0x22ba, + k_EMsgClientToGCFantasyCraftingGetUserDataResponse = 0x22bb, + k_EMsgClientToGCFantasyCraftingPerformOperation = 0x22bc, + k_EMsgClientToGCFantasyCraftingPerformOperationResponse = 0x22bd, + k_EMsgGCToClientFantasyCraftingGetDataUpdated = 0x22be, + k_EMsgClientToGCFantasyCraftingDevModifyTablet = 0x22bf, + k_EMsgClientToGCFantasyCraftingDevModifyTabletResponse = 0x22c0, + k_EMsgClientToGCRoadToTIGetQuests = 0x22c1, + k_EMsgClientToGCRoadToTIGetQuestsResponse = 0x22c2, + k_EMsgClientToGCRoadToTIGetActiveQuest = 0x22c3, + k_EMsgClientToGCRoadToTIGetActiveQuestResponse = 0x22c4, + k_EMsgClientToGCBingoGetUserData = 0x22c5, + k_EMsgClientToGCBingoGetUserDataResponse = 0x22c6, + k_EMsgClientToGCBingoClaimRow = 0x22c7, + k_EMsgClientToGCBingoClaimRowResponse = 0x22c8, + k_EMsgClientToGCBingoDevRerollCard = 0x22c9, + k_EMsgClientToGCBingoDevRerollCardResponse = 0x22ca, + k_EMsgClientToGCBingoGetStatsData = 0x22cb, + k_EMsgClientToGCBingoGetStatsDataResponse = 0x22cc, + k_EMsgGCToClientBingoUserDataUpdated = 0x22cd, + k_EMsgGCToClientRoadToTIQuestDataUpdated = 0x22ce, }; // Alignment: 4 -// Size: 0x1d +// Size: 0x1e enum class PARTICLE_MESSAGE : uint32_t { GAME_PARTICLE_MANAGER_EVENT_CREATE = 0x0, @@ -6304,6 +6362,17 @@ enum class PARTICLE_MESSAGE : uint32_t GAME_PARTICLE_MANAGER_EVENT_SET_NAMED_VALUE_CONTEXT = 0x1a, GAME_PARTICLE_MANAGER_EVENT_UPDATE_TRANSFORM = 0x1b, GAME_PARTICLE_MANAGER_EVENT_FREEZE_TRANSITION_OVERRIDE = 0x1c, + GAME_PARTICLE_MANAGER_EVENT_FREEZE_INVOLVING = 0x1d, +}; + +// Alignment: 4 +// Size: 0x4 +enum class WeaponAttackType_t : uint32_t +{ + WEAPON_ATTACK_INVALID = 0xffffffffffffffff, + WEAPON_PRIMARY_ATTACK = 0x0, + WEAPON_SECONDARY_ATTACK = 0x1, + WEAPON_ATTACK_COUNT = 0x2, }; // Alignment: 4 @@ -6516,7 +6585,7 @@ enum class DOTAHUDVisibility_t : uint32_t }; // Alignment: 4 -// Size: 0x28 +// Size: 0x29 enum class dotaunitorder_t : uint32_t { DOTA_UNIT_ORDER_NONE = 0x0, @@ -6559,6 +6628,7 @@ enum class dotaunitorder_t : uint32_t DOTA_UNIT_ORDER_DROP_ITEM_AT_FOUNTAIN = 0x25, DOTA_UNIT_ORDER_TAKE_ITEM_FROM_NEUTRAL_ITEM_STASH = 0x26, DOTA_UNIT_ORDER_MOVE_RELATIVE = 0x27, + DOTA_UNIT_ORDER_CAST_TOGGLE_ALT = 0x28, }; // Alignment: 4 @@ -6991,7 +7061,7 @@ enum class DOTA_HOLDOUT_TOWER_TYPE : uint32_t }; // Alignment: 8 -// Size: 0x29 +// Size: 0x2a enum class DOTA_ABILITY_BEHAVIOR : uint64_t { DOTA_ABILITY_BEHAVIOR_NONE = 0x0, @@ -7035,6 +7105,7 @@ enum class DOTA_ABILITY_BEHAVIOR : uint64_t DOTA_ABILITY_BEHAVIOR_IGNORE_SILENCE = 0x2000000000, DOTA_ABILITY_BEHAVIOR_OVERSHOOT = 0x4000000000, DOTA_ABILITY_BEHAVIOR_IGNORE_MUTED = 0x8000000000, + DOTA_ABILITY_BEHAVIOR_ALT_CASTABLE = 0x10000000000, }; // Alignment: 4 @@ -7110,7 +7181,7 @@ enum class ABILITY_TYPES : uint32_t }; // Alignment: 4 -// Size: 0x6d +// Size: 0x6e enum class DOTA_CHAT_MESSAGE : uint32_t { CHAT_MESSAGE_INVALID = 0xffffffffffffffff, @@ -7222,6 +7293,7 @@ enum class DOTA_CHAT_MESSAGE : uint32_t CHAT_MESSAGE_CANT_PAUSE_TOO_EARLY = 0x73, CHAT_MESSAGE_HERO_KILL_WITH_PENGUIN = 0x74, CHAT_MESSAGE_MINIBOSS_KILL = 0x75, + CHAT_MESSAGE_PLAYER_IN_GAME_BAN_TEXT = 0x76, }; // Alignment: 4 @@ -7258,7 +7330,7 @@ enum class SPELL_IMMUNITY_TYPES : uint32_t }; // Alignment: 4 -// Size: 0x2d +// Size: 0x2e enum class GameAnimEventIndex_t : uint32_t { AE_EMPTY = 0x0, @@ -7294,18 +7366,19 @@ enum class GameAnimEventIndex_t : uint32_t AE_CL_SHOW_PARTICLE_EFFECT = 0x1e, AE_CL_ADD_PARTICLE_EFFECT_CP = 0x1f, AE_CL_SPEECH = 0x20, - AE_CL_DOTA_PLAY_STATUS_EFFECT = 0x21, - AE_CL_DOTA_STOP_STATUS_EFFECT = 0x22, - AE_CL_DOTA_NPC_CREATE_PARTICLE_EFFECT = 0x23, - AE_CL_DOTA_RUBICK_ARCANA_CREATE_PARTICLE_EFFECT = 0x24, - AE_DOTA_PET_ITEM_PICKUP = 0x25, - AE_DOTA_PET_ITEM_DROP = 0x26, - AE_DOTA_SUPPRESS_CONSTANT_LAYER = 0x27, - AE_DOTA_PLAY_SOUND_ATTACK_SPECIAL = 0x28, - AE_DOTA_CREATE_CLINKZ_ATTACK = 0x29, - AE_DOTA_PLAY_SOUND_ATTACK_BACKSTAB = 0x2a, - AE_DOTA_DIE_PHANTOM_DEATH_PARTICLES = 0x2b, - AE_DOTA_SWITCH_ATTACK_COMBO = 0x2c, + AE_CL_PANORAMA_EVENT = 0x21, + AE_CL_DOTA_PLAY_STATUS_EFFECT = 0x22, + AE_CL_DOTA_STOP_STATUS_EFFECT = 0x23, + AE_CL_DOTA_NPC_CREATE_PARTICLE_EFFECT = 0x24, + AE_CL_DOTA_RUBICK_ARCANA_CREATE_PARTICLE_EFFECT = 0x25, + AE_DOTA_PET_ITEM_PICKUP = 0x26, + AE_DOTA_PET_ITEM_DROP = 0x27, + AE_DOTA_SUPPRESS_CONSTANT_LAYER = 0x28, + AE_DOTA_PLAY_SOUND_ATTACK_SPECIAL = 0x29, + AE_DOTA_CREATE_CLINKZ_ATTACK = 0x2a, + AE_DOTA_PLAY_SOUND_ATTACK_BACKSTAB = 0x2b, + AE_DOTA_DIE_PHANTOM_DEATH_PARTICLES = 0x2c, + AE_DOTA_SWITCH_ATTACK_COMBO = 0x2d, }; // Alignment: 4 @@ -7430,7 +7503,7 @@ enum class Class_T : uint32_t }; // Alignment: 4 -// Size: 0x2e +// Size: 0x30 enum class EBaseUserMessages : uint32_t { UM_AchievementEvent = 0x65, @@ -7478,6 +7551,8 @@ enum class EBaseUserMessages : uint32_t UM_DllStatusResponse = 0x9f, UM_RequestInventory = 0xa0, UM_InventoryResponse = 0xa1, + UM_RequestDiagnostic = 0xa2, + UM_DiagnosticResponse = 0xa3, UM_MAX_BASE = 0xc8, }; @@ -7640,8 +7715,8 @@ 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, + k_ELaneSelection_SUPPORT = 0x3, + k_ELaneSelection_HARDSUPPORT = 0x4, }; // Alignment: 4 @@ -7729,16 +7804,6 @@ enum class DOTA_LANE : uint32_t DOTA_LANE_MAX = 0x4, }; -// 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: 0xb enum class EDPCPushNotification : uint32_t @@ -7757,7 +7822,7 @@ enum class EDPCPushNotification : uint32_t }; // Alignment: 4 -// Size: 0x62 +// Size: 0x64 enum class EDotaClientMessages : uint32_t { DOTA_CM_MapLine = 0x12d, @@ -7857,7 +7922,9 @@ enum class EDotaClientMessages : uint32_t DOTA_CM_PlayerDraftSuggest = 0x321, DOTA_CM_PlayerDraftPreferRole = 0x322, DOTA_CM_PlayerDraftPreferTeam = 0x323, + DOTA_CM_ChatWheelAlert = 0x324, DOTA_CM_AbilityAlert = 0x325, + DOTA_CM_AllyAbilityAlert = 0x326, }; // Alignment: 4 @@ -7888,19 +7955,19 @@ enum class PortraitSoundMode_t : uint32_t // 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, + k_ELaneSelectionFlags_SUPPORT = 0x8, + k_ELaneSelectionFlags_HARDSUPPORT = 0x10, + k_ELaneSelectionFlagGroup_None = 0x0, + k_ELaneSelectionFlagGroup_CORE = 0x7, + k_ELaneSelectionFlagGroup_SUPPORT = 0x18, + k_ELaneSelectionFlagGroup_ALL = 0x1f, }; // Alignment: 4 -// Size: 0x67 +// Size: 0x68 enum class DOTASlotType_t : uint32_t { DOTA_LOADOUT_TYPE_INVALID = 0xffffffffffffffff, @@ -8002,10 +8069,11 @@ enum class DOTASlotType_t : uint32_t DOTA_LOADOUT_TYPE_RADIANT_SIEGE_CREEPS = 0x5d, DOTA_LOADOUT_TYPE_DIRE_SIEGE_CREEPS = 0x5e, DOTA_LOADOUT_TYPE_ROSHAN = 0x5f, + DOTA_LOADOUT_TYPE_TORMENTOR = 0x60, DOTA_PLAYER_LOADOUT_START = 0x43, - DOTA_PLAYER_LOADOUT_END = 0x5f, - DOTA_LOADOUT_TYPE_NONE = 0x60, - DOTA_LOADOUT_TYPE_COUNT = 0x61, + DOTA_PLAYER_LOADOUT_END = 0x60, + DOTA_LOADOUT_TYPE_NONE = 0x61, + DOTA_LOADOUT_TYPE_COUNT = 0x62, }; // Alignment: 4 @@ -9114,6 +9182,19 @@ enum class DOTALobbyReadyState : uint32_t DOTALobbyReadyState_DECLINED = 0x2, }; +// Alignment: 4 +// Size: 0x7 +enum class DOTACommLevel_t : uint32_t +{ + DOTA_COMM_LEVEL_NONE = 0x0, + DOTA_COMM_LEVEL_COOLDOWN = 0x1, + DOTA_COMM_LEVEL_PINGS = 0x2, + DOTA_COMM_LEVEL_CHAT = 0x3, + DOTA_COMM_LEVEL_TIPPING = 0x4, + DOTA_COMM_LEVEL_VOICE = 0x5, + DOTA_COMM_LEVEL_ALLIED_ABILITY = 0x6, +}; + // Alignment: 4 // Size: 0x5 enum class LifeState_t : uint32_t @@ -9219,7 +9300,7 @@ enum class DOTA_SHOP_TYPE : uint32_t }; // Alignment: 4 -// Size: 0x3c +// Size: 0x3d enum class modifierstate : uint32_t { MODIFIER_STATE_ROOTED = 0x0, @@ -9281,7 +9362,29 @@ enum class modifierstate : uint32_t MODIFIER_STATE_DEBUFF_IMMUNE = 0x38, MODIFIER_STATE_NO_INVISIBILITY_VISUALS = 0x39, MODIFIER_STATE_ALLOW_PATHING_THROUGH_BASE_BLOCKER = 0x3a, - MODIFIER_STATE_LAST = 0x3b, + MODIFIER_STATE_IGNORING_MOVE_ORDERS = 0x3b, + MODIFIER_STATE_LAST = 0x3c, +}; + +// Alignment: 1 +// Size: 0x3 +enum class BeginDeathLifeStateTransition_t : uint8_t +{ + NO_CHANGE_IN_LIFESTATE = 0x0, + TRANSITION_TO_LIFESTATE_DYING = 0x1, + TRANSITION_TO_LIFESTATE_DEAD = 0x2, +}; + +// Alignment: 4 +// Size: 0x6 +enum class ETrackedStatAggregate : uint32_t +{ + k_eTrackedStatAggregate_Invalid = 0x0, + k_eTrackedStatAggregate_Sum = 0x1, + k_eTrackedStatAggregate_Max = 0x2, + k_eTrackedStatAggregate_Min = 0x3, + k_eTrackedStatAggregate_Or = 0x4, + k_eTrackedStatAggregate_And = 0x5, }; // Alignment: 4 @@ -9344,7 +9447,7 @@ enum class DOTADamageFlag_t : uint32_t }; // Alignment: 4 -// Size: 0x13 +// Size: 0x14 enum class EDemoCommands : uint32_t { DEM_Error = 0xffffffffffffffff, @@ -9364,7 +9467,8 @@ enum class EDemoCommands : uint32_t DEM_FullPacket = 0xd, DEM_SaveGame = 0xe, DEM_SpawnGroups = 0xf, - DEM_Max = 0x10, + DEM_AnimationData = 0x10, + DEM_Max = 0x11, DEM_IsCompressed = 0x40, }; @@ -9780,7 +9884,7 @@ enum class WorldTextPanelOrientation_t : uint32_t }; // Alignment: 4 -// Size: 0x77 +// Size: 0x76 enum class ENetworkDisconnectionReason : uint32_t { NETWORK_DISCONNECT_INVALID = 0x0, @@ -9853,7 +9957,6 @@ enum class ENetworkDisconnectionReason : uint32_t NETWORK_DISCONNECT_STEAM_DENY_MISC = 0x43, NETWORK_DISCONNECT_STEAM_DENY_BAD_ANTI_CHEAT = 0x44, NETWORK_DISCONNECT_SERVER_SHUTDOWN = 0x45, - NETWORK_DISCONNECT_SPLITPACKET_SEND_OVERFLOW = 0x46, NETWORK_DISCONNECT_REPLAY_INCOMPATIBLE = 0x47, NETWORK_DISCONNECT_CONNECT_REQUEST_TIMEDOUT = 0x48, NETWORK_DISCONNECT_SERVER_INCOMPATIBLE = 0x49, @@ -9932,13 +10035,14 @@ enum class Explosions : uint32_t }; // Alignment: 4 -// Size: 0x4 +// Size: 0x5 enum class StanceType_t : uint32_t { STANCE_CURRENT = 0xffffffffffffffff, STANCE_DEFAULT = 0x0, STANCE_CROUCHING = 0x1, - NUM_STANCES = 0x2, + STANCE_PRONE = 0x2, + NUM_STANCES = 0x3, }; // Alignment: 4 @@ -9979,7 +10083,7 @@ enum class SceneOnPlayerDeath_t : uint32_t }; // Alignment: 4 -// Size: 0x78 +// Size: 0x79 enum class DOTA_INVALID_ORDERS : uint32_t { DOTA_ORDER_SUCCESS = 0xffffffffffffffff, @@ -10101,7 +10205,8 @@ enum class DOTA_INVALID_ORDERS : uint32_t DOTA_INVALID_ORDER_BEYOND_PHYSICAL_ITEM_LIMIT = 0x73, DOTA_INVALID_ORDER_ABILITY_PING_DEAD_ALLY = 0x74, DOTA_INVALID_ORDER_CANT_LOCKCOMBINE_NEUTRAL_ITEMS = 0x75, - DOTA_INVALID_ORDER_COUNT = 0x76, + DOTA_INVALID_ORDER_ABILITY_CANT_ALT_CAST = 0x76, + DOTA_INVALID_ORDER_COUNT = 0x77, }; // Alignment: 4 @@ -10454,7 +10559,7 @@ enum class EDOTATriviaAnswerResult : uint32_t }; // Alignment: 4 -// Size: 0x26 +// Size: 0x27 enum class EStartFindingMatchResult : uint32_t { k_EStartFindingMatchResult_Invalid = 0x0, @@ -10495,6 +10600,7 @@ enum class EStartFindingMatchResult : uint32_t k_EStartFindingMatchResult_MatchmakingBusy = 0x84, k_EStartFindingMatchResult_SteamChinaBanned = 0x85, k_EStartFindingMatchResult_SteamChinaInvalidMixedParty = 0x86, + k_EStartFindingMatchResult_RestrictedFromRanked = 0x87, }; // Alignment: 4 @@ -10631,6 +10737,15 @@ enum class DOTA_2013PassportSelectionIndices : uint32_t PP13_SEL_SOLO_7 = 0x5f, }; +// Alignment: 4 +// Size: 0x3 +enum class PortraitUnitDirection_t : uint32_t +{ + PORTRAIT_UNIT_DIRECTION_INVALID = 0xffffffffffffffff, + PORTRAIT_UNIT_DIRECTION_FORWARD = 0x0, + PORTRAIT_UNIT_DIRECTION_BACKWARD = 0x1, +}; + // Alignment: 4 // Size: 0x9 enum class ECandyShopAuditAction : uint32_t @@ -10699,7 +10814,7 @@ enum class EGuildAuditAction : uint32_t }; // Alignment: 4 -// Size: 0xf0 +// Size: 0xf1 enum class DOTAKeybindCommand_t : uint32_t { DOTA_KEYBIND_NONE = 0x0, @@ -10941,7 +11056,8 @@ enum class DOTAKeybindCommand_t : uint32_t DOTA_KEYBIND_CAMERA_ZOOM_OUT = 0xeb, DOTA_KEYBIND_CONTROL_GROUPCYCLEPREV = 0xec, DOTA_KEYBIND_DOTA_ALT = 0xed, - DOTA_KEYBIND_COUNT = 0xee, + DOTA_KEYBIND_DOTA_ALTERNATIVE_CAST_SWITCH = 0xee, + DOTA_KEYBIND_COUNT = 0xef, }; // Alignment: 4 @@ -11014,7 +11130,7 @@ enum class CMsgBattleReport_Role : uint32_t k_eSafelane = 0x0, k_eMidlane = 0x1, k_eOfflane = 0x2, - k_eSoftSupport = 0x3, + k_eSupport = 0x3, k_eHardSupport = 0x4, }; @@ -11150,6 +11266,16 @@ enum class ESupportEventRequestResult : uint32_t k_ESupportEventRequestResult_TransactionFailed = 0xd, }; +// Alignment: 4 +// Size: 0x4 +enum class EShowcaseItemState : uint32_t +{ + k_eShowcaseItemState_Ok = 0x0, + k_eShowcaseItemState_ValidityUnknown = 0x1, + k_eShowcaseItemState_Failure = 0x2, + k_eShowcaseItemState_Invalid = 0x3, +}; + // Alignment: 4 // Size: 0x19 enum class EHeroSelectionText : uint32_t @@ -11253,6 +11379,15 @@ enum class DOTA_WatchReplayType : uint32_t DOTA_WATCH_REPLAY_HIGHLIGHTS = 0x1, }; +// Alignment: 4 +// Size: 0x3 +enum class EShowcaseType : uint32_t +{ + k_eShowcaseType_Invalid = 0x0, + k_eShowcaseType_Profile = 0x1, + k_eShowcaseType_MiniProfile = 0x2, +}; + // Alignment: 4 // Size: 0x5 enum class EHighlightScoreComparison : uint32_t @@ -11307,6 +11442,19 @@ enum class CMsgDOTARequestMatches_SkillLevel : uint32_t CMsgDOTARequestMatches_SkillLevel_VeryHigh = 0x3, }; +// Alignment: 4 +// Size: 0x7 +enum class EFantasyShapeBehavior : uint32_t +{ + k_eFantasyShapeBehavior_Invalid = 0x0, + k_eFantasyShapeBehavior_MinQuality = 0x1, + k_eFantasyShapeBehavior_AdjBonus = 0x2, + k_eFantasyShapeBehavior_StealBonus = 0x3, + k_eFantasyShapeBehavior_OnlyOne = 0x4, + k_eFantasyShapeBehavior_NeedMultiples = 0x5, + k_eFantasyShapeBehavior_COUNT = 0x6, +}; + // Alignment: 4 // Size: 0xf enum class EStyleNodeType : uint32_t @@ -11360,53 +11508,45 @@ struct PostProcessingLocalContrastParameters_t; struct CMotionSearchDB; struct AnimScriptHandle; struct CAnimUpdateNodeRef; -struct AnimTagID; -struct IKSolverSettings_t; -struct IKTargetSettings_t; -struct CAnimNodeConnection; -struct CAnimInputDamping; struct CSeqAutoLayerFlag; -struct AnimParamID; struct CAnimAttachment; +struct CAnimInputDamping; struct CAnimParamHandle; struct VPhysics2ShapeDef_t; struct TwoBoneIKSettings_t; struct CMotionSearchNode; struct CProductQuantizer; struct IKBoneNameAndIndex_t; +struct AnimParamID; struct AnimNodeID; -struct CConditionContainer; struct CAnimGraphSettingsManager; struct CAnimNodePath; struct CSeqSeqDescFlag; struct CSeqTransition; struct SolveIKChainPoseOpFixedSettings_t; -struct CMotionParameterManager; struct AnimStateID; struct CAnimDesc_Flag; struct CAnimEncodedFrames; struct CAnimSequenceParams; -struct CAnimNodeManager; struct HSequence; struct SkeletonBoneBounds_t; struct CRenderSkeleton; struct CSeqMultiFetch; struct CMotionDataSet; struct CBlendCurve; -struct AnimNodeOutputID; struct AnimComponentID; struct CAnimKeyData; struct CSeqMultiFetchFlag; -struct CMotionNodeManager; -struct CAnimComponentManager; struct PackedAABB_t; struct CDrawCullingData; struct CAnimCycle; struct CFootCycle; +struct IKSolverSettings_t; +struct IKTargetSettings_t; struct CFootCycleDefinition; struct CFootTrajectories; +struct CAnimDemoCaptureSettings; struct FollowAttachmentSettings_t; -struct CFloatAnimValue; struct CRangeFloat; struct LookAtOpFixedSettings_t; struct HitReactFixedSettings_t; @@ -11424,13 +11564,13 @@ struct CPhysSurfacePropertiesAudio; struct AnimationDecodeDebugDumpElement_t; struct CParamSpanUpdater; struct VPhysXConstraintParams_t; -struct CAnimClipDataManager; struct CRenderBufferBinding; struct CPoseHandle; struct PhysFeModelDesc_t; struct TraceSettings_t; struct VPhysXRange_t; struct FootPinningPoseOpFixedData_t; +struct AnimTagID; struct CVectorQuantizer; struct MotionIndex; struct CAnimEncodeDifference; @@ -11453,6 +11593,19 @@ struct SceneViewId_t; struct VoxelVisBlockOffset_t; struct WorldBuilderParams_t; struct BakedLightingInfo_t; +struct CPulse_OutflowConnection; +struct PulseRuntimeChunkIndex_t; +struct PulseRegisterMap_t; +struct PulseRuntimeRegisterIndex_t; +struct PulseDocNodeID_t; +struct PulseRuntimeCellIndex_t; +struct PulseRuntimeVarIndex_t; +struct PulseRuntimeInvokeIndex_t; +struct PulseRuntimeCallInfoIndex_t; +struct PulseTestEHandle_t; +struct CPulseGraphInstance_TestDomain; +struct CPulse_ResumePoint; +struct PulseRuntimeOutputIndex_t; struct ParticleAttributeIndex_t; struct CParticleCollectionVecInput; struct CPerParticleFloatInput; @@ -11460,22 +11613,13 @@ 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 CParticleVariableRef; struct CPathParameters; struct CParticleRemapFloatInput; struct CRandomNumberGeneratorParameters; -struct PulseRuntimeCellIndex_t; -struct PulseRuntimeVarIndex_t; -struct PulseRuntimeInvokeIndex_t; -struct PulseRuntimeCallInfoIndex_t; struct ControlPointReference_t; struct CParticleVisibilityInputs; struct ParticleNamedValueConfiguration_t; @@ -11484,12 +11628,13 @@ 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 TrackedStatID_t; +struct TrackedStatExpressionData_t; +struct TrackedStatAggregateData_t; struct CResponseCriteriaSet; struct CRR_Response; struct GameTick_t; @@ -11520,11 +11665,13 @@ struct INextBotReply; struct BlessingTypeID_t; struct VelocitySampler; struct SimpleConstraintSoundProfile; +struct TrackedStatKillEaterData_t; +struct TrackedStatCombatQueryData_t; +struct TrackedStatHeroAdjectiveData_t; struct CBaseFlex; struct CSkeletonInstance; struct CDOTA_Buff; struct CSkillFloat; -struct ragdoll_t; struct CandyShopRewardOptionID_t; struct CandyShopID_t; struct itemid_t; @@ -11546,6 +11693,9 @@ struct ResourceId_t { public: uint64_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("ResourceId_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 @@ -11679,6 +11829,9 @@ struct FuseVariableIndex_t { public: uint16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("FuseVariableIndex_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 0 @@ -11691,6 +11844,16 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x1 +class InfoForResourceTypeCDOTANovelsList +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + // Alignment: 0 // Size: 0x1 class InfoForResourceTypeCModel @@ -11717,6 +11880,9 @@ struct FuseFunctionIndex_t { public: uint16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("FuseFunctionIndex_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 0 @@ -11890,6 +12056,16 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x1 +class InfoForResourceTypeCTypeScriptResource +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + // Alignment: 0 // Size: 0x1 class InfoForResourceTypeCPanoramaLayout @@ -12012,16 +12188,27 @@ public: // No members available }; -// Alignment: 3 -// Size: 0x68 +// Alignment: 6 +// Size: 0xb0 class CFuseSymbolTable { -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: - CUtlHashtable< CUtlStringToken, ConstantInfo_t > m_constants; // 0x8 - CUtlHashtable< CUtlStringToken, VariableInfo_t > m_variables; // 0x28 - CUtlHashtable< CUtlStringToken, FunctionInfo_t > m_functions; // 0x48 + CUtlVector< ConstantInfo_t > m_constants; // 0x0 + CUtlVector< VariableInfo_t > m_variables; // 0x18 + CUtlVector< FunctionInfo_t > m_functions; // 0x30 + CUtlHashtable< CUtlStringToken, int32 > m_constantMap; // 0x48 + CUtlHashtable< CUtlStringToken, int32 > m_variableMap; // 0x68 + CUtlHashtable< CUtlStringToken, int32 > m_functionMap; // 0x88 +}; + +// Alignment: 0 +// Size: 0x1 +class InfoForResourceTypeCJavaScriptResource +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available }; // Alignment: 0 @@ -12068,16 +12255,6 @@ public: // No members available }; -// Alignment: 0 -// Size: 0x1 -class InfoForResourceTypeCPanoramaTypeScript -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 -public: - // No members available -}; - // Alignment: 0 // Size: 0x1 class InfoForResourceTypeCVPhysXSurfacePropertiesList @@ -12107,16 +12284,6 @@ public: // No members available }; -// Alignment: 0 -// Size: 0x1 -class InfoForResourceTypeCPanoramaScript -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 -public: - // No members available -}; - // Alignment: 0 // Size: 0x1 class InfoForResourceTypeCChoreoSceneFileData @@ -12880,14 +13047,6 @@ public: int32_t m_nCount; // 0x2c }; -// Alignment: 1 -// Size: 0x4 -class AnimComponentID -{ -public: - uint32_t m_id; // 0x0 -}; - // Alignment: 1 // Size: 0x10 class CAnimUpdateNodeRef @@ -12939,6 +13098,9 @@ struct AttachmentHandle_t { public: uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("AttachmentHandle_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 6 @@ -12989,7 +13151,6 @@ struct IKSolverSettings_t { public: // MPropertyFriendlyName "Solver Type" - // MPropertyAttributeChoiceEnumName // MPropertyAttrChangeCallback IKSolverType m_SolverType; // 0x0 // MPropertyFriendlyName "Num Iterations " @@ -13016,40 +13177,7 @@ public: // Alignment: 1 // Size: 0x4 -class AnimTagID -{ -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 +class AnimComponentID { public: uint32_t m_id; // 0x0 @@ -13064,25 +13192,6 @@ public: float m_flFadeOutTime; // 0x4 }; -// Alignment: 1 -// Size: 0x4 -class AnimNodeID -{ -public: - uint32_t m_id; // 0x0 -}; - -// Alignment: 1 -// Size: 0x28 -class CMotionMetricBase -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 -public: - // MPropertyHideField - float m_flWeight; // 0x20 -}; - // Alignment: 6 // Size: 0x90 struct PhysSoftbodyDesc_t @@ -13096,19 +13205,6 @@ public: CUtlVector< CUtlString > m_ParticleBoneName; // 0x78 }; -// Alignment: 2 -// Size: 0x10 -class CAnimInputDamping -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - // MPropertyFriendlyName "Speed Function" - DampingSpeedFunction m_speedFunction; // 0x8 - // MPropertyFriendlyName "Speed Scale" - float m_fSpeedScale; // 0xc -}; - // Alignment: 8 // Size: 0x8 class CSeqAutoLayerFlag @@ -13147,65 +13243,12 @@ public: float m_flOcclusionFactor; // 0x1c }; -// Alignment: 3 -// Size: 0x30 -class CBlend2DItemBase +// Alignment: 1 +// Size: 0x4 +class AnimTagID { -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 public: - // MPropertyFriendlyName "Blend Value" - Vector2D m_blendValue; // 0x18 -private: - [[maybe_unused]] uint8_t __pad0020[0x8]; // 0x20 -public: - // MPropertyGroupName "+Duration Override" - // MPropertyFriendlyName "Use Custom Duration" - // MPropertyAttrChangeCallback - bool m_bUseCustomDuration; // 0x28 -private: - [[maybe_unused]] uint8_t __pad0029[0x3]; // 0x29 -public: - // MPropertyGroupName "+Duration Override" - // MPropertyFriendlyName "Custom Duration" - // MPropertyAttrStateCallback - float m_flCustomDuration; // 0x2c -}; - -// Alignment: 4 -// Size: 0x38 -class CAnimTagBase -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 -public: - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_name; // 0x20 - // MPropertyHideField - CUtlString m_group; // 0x28 - // MPropertyHideField - AnimTagID m_tagID; // 0x30 - // MPropertyHideField - bool m_bIsReferenced; // 0x34 -}; - -// Alignment: 4 -// Size: 0x38 -class CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 -public: - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_sName; // 0x20 - // MPropertyHideField - Vector2D m_vecPosition; // 0x28 - // MPropertyHideField - AnimNodeID m_nNodeID; // 0x30 - // MPropertyFriendlyName "Network Mode" - AnimNodeNetworkMode m_networkMode; // 0x34 + uint32_t m_id; // 0x0 }; // Alignment: 2 @@ -13229,14 +13272,6 @@ public: // No members available }; -// Alignment: 1 -// Size: 0x4 -class AnimNodeOutputID -{ -public: - uint32_t m_id; // 0x0 -}; - // Alignment: 1 // Size: 0x68 class CUnaryUpdateNode : public CAnimUpdateNodeBase @@ -13253,37 +13288,29 @@ public: uint32_t m_id; // 0x0 }; -// Alignment: 8 -// Size: 0xd0 -struct AimMatrixOpFixedSettings_t +// Alignment: 5 +// Size: 0x80 +class CAnimAttachment { public: - CAnimAttachment m_attachment; // 0x0 - CAnimInputDamping m_damping; // 0x80 - CPoseHandle m_poseCacheHandles[10]; // 0x90 - AimMatrixBlendMode m_eBlendMode; // 0xb8 - float m_fAngleIncrement; // 0xbc - int32_t m_nSequenceMaxFrame; // 0xc0 - int32_t m_nBoneMaskIndex; // 0xc4 - bool m_bTargetIsPosition; // 0xc8 + Quaternion m_influenceRotations[3]; // 0x0 + VectorAligned m_influenceOffsets[3]; // 0x30 + int32_t m_influenceIndices[3]; // 0x60 + float m_influenceWeights[3]; // 0x6c + uint8_t m_numInfluences; // 0x78 }; // Alignment: 2 -// Size: 0x2 -class CAnimParamHandle +// Size: 0x10 +class CAnimInputDamping { +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: - AnimParamType_t m_type; // 0x0 - uint8_t m_index; // 0x1 -}; - -// Alignment: 2 -// Size: 0x8 -class CAnimNodeConnection -{ -public: - AnimNodeID m_nodeID; // 0x0 - AnimNodeOutputID m_outputID; // 0x4 + // MPropertyFriendlyName "Speed Function" + DampingSpeedFunction m_speedFunction; // 0x8 + // MPropertyFriendlyName "Speed Scale" + float m_fSpeedScale; // 0xc }; // Alignment: 5 @@ -13298,38 +13325,13 @@ public: CUtlVector< uint16 > m_CollisionAttributeIndices; // 0x60 }; -// Alignment: 15 -// Size: 0x160 -struct TwoBoneIKSettings_t +// Alignment: 2 +// Size: 0x2 +class CAnimParamHandle { public: - IkEndEffectorType m_endEffectorType; // 0x0 - CAnimAttachment m_endEffectorAttachment; // 0x10 - IkTargetType m_targetType; // 0x90 -private: - [[maybe_unused]] uint8_t __pad0094[0xc]; // 0x94 -public: - CAnimAttachment m_targetAttachment; // 0xa0 -private: - [[maybe_unused]] uint8_t __pad0094[0x8c]; // 0x94 -public: - int32_t m_targetBoneIndex; // 0x120 - CAnimParamHandle m_hPositionParam; // 0x124 - CAnimParamHandle m_hRotationParam; // 0x126 - bool m_bAlwaysUseFallbackHinge; // 0x128 -private: - [[maybe_unused]] uint8_t __pad0129[0x7]; // 0x129 -public: - VectorAligned m_vLsFallbackHingeAxis; // 0x130 - int32_t m_nFixedBoneIndex; // 0x140 - int32_t m_nMiddleBoneIndex; // 0x144 - int32_t m_nEndBoneIndex; // 0x148 - bool m_bMatchTargetOrientation; // 0x14c - bool m_bConstrainTwist; // 0x14d -private: - [[maybe_unused]] uint8_t __pad014e[0x2]; // 0x14e -public: - float m_flMaxTwist; // 0x150 + AnimParamType_t m_type; // 0x0 + uint8_t m_index; // 0x1 }; // Alignment: 2 @@ -13341,29 +13343,12 @@ public: Vector m_vecSize; // 0xc }; -// Alignment: 2 -// Size: 0x20 -class CAnimParamSpanSample +// Alignment: 1 +// Size: 0x4 +class AnimNodeID { -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: - CAnimVariant m_value; // 0x8 -private: - [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 -public: - float m_flCycle; // 0x1c -}; - -// Alignment: 2 -// Size: 0x28 -class CMotionNode -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - CUtlString m_name; // 0x18 - AnimNodeID m_id; // 0x20 + uint32_t m_id; // 0x0 }; // Alignment: 3 @@ -13398,70 +13383,12 @@ public: float m_flRadius; // 0x30 }; -// Alignment: 6 -// Size: 0x28 -class CDampedValueItem -{ -public: - // MPropertyFriendlyName "Value Type" - // MPropertyAttrChangeCallback - DampedValueType m_valueType; // 0x0 - // MPropertyFriendlyName "Parameter In" - // MPropertyAttributeChoiceName "FloatParameter" - // MPropertyAttrStateCallback - AnimParamID m_floatParamIn; // 0x4 - // MPropertyFriendlyName "Parameter Out" - // MPropertyAttributeChoiceName "PrivateFloatParameter" - // MPropertyAttrStateCallback - AnimParamID m_floatParamOut; // 0x8 - // MPropertyFriendlyName "Parameter In" - // MPropertyAttributeChoiceName "VectorParameter" - // MPropertyAttrStateCallback - AnimParamID m_vectorParamIn; // 0xc - // MPropertyFriendlyName "Parameter Out" - // MPropertyAttributeChoiceName "PrivateVectorParameter" - // MPropertyAttrStateCallback - AnimParamID m_vectorParamOut; // 0x10 -private: - [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 -public: - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x18 -}; - // Alignment: 1 -// Size: 0x10 -struct IKBoneNameAndIndex_t +// Size: 0x4 +class AnimParamID { public: - // MPropertyAttributeChoiceName "Bone" - CUtlString m_Name; // 0x0 -}; - -// Alignment: 4 -// Size: 0x38 -class CTimeRemainingMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Match Time Remaining" - // MPropertyGroupName - // MPropertyAttrChangeCallback - bool m_bMatchByTimeRemaining; // 0x28 -private: - [[maybe_unused]] uint8_t __pad0029[0x3]; // 0x29 -public: - // MPropertyFriendlyName "Max Time Remaining" - // MPropertyAttrStateCallback - float m_flMaxTimeRemaining; // 0x2c - // MPropertyFriendlyName "Filter By Time Remaining" - // MPropertyAttrChangeCallback - bool m_bFilterByTimeRemaining; // 0x30 -private: - [[maybe_unused]] uint8_t __pad0031[0x3]; // 0x31 -public: - // MPropertyFriendlyName "Min Time Remaining" - // MPropertyAttrStateCallback - float m_flMinTimeRemaining; // 0x34 + uint32_t m_id; // 0x0 }; // Alignment: 2 @@ -13491,114 +13418,6 @@ public: float m_flEndCycle; // 0x20 }; -// Alignment: 11 -// Size: 0x90 -class CAimMatrixAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x40 - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x48 - // MPropertyFriendlyName "Angle Increment" - float m_fAngleIncrement; // 0x50 - // MPropertyFriendlyName "Target" - AnimVectorSource m_target; // 0x54 - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_param; // 0x58 -private: - [[maybe_unused]] uint8_t __pad005c[0x4]; // 0x5c -public: - // MPropertyFriendlyName "Aim Attachment" - // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x60 - // MPropertyFriendlyName "Blend Mode" - // MPropertyAttrChangeCallback - AimMatrixBlendMode m_blendMode; // 0x68 -private: - [[maybe_unused]] uint8_t __pad006c[0x4]; // 0x6c -public: - // MPropertyFriendlyName "Bone Mask" - // MPropertyAttributeChoiceName "BoneMask" - // MPropertyAttrStateCallback - CUtlString m_boneMaskName; // 0x70 - // MPropertyFriendlyName "Reset Child" - bool m_bResetBase; // 0x78 - // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0x79 -private: - [[maybe_unused]] uint8_t __pad007a[0x6]; // 0x7a -public: - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x80 -}; - -// Alignment: 24 -// Size: 0xa8 -class CHitReactAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Minimum Delay Between Hits" - float m_flMinDelayBetweenHits; // 0x40 - // MPropertyFriendlyName "Trigger Parameter" - // MPropertyAttributeChoiceName "BoolParameter" - AnimParamID m_triggerParam; // 0x44 - // MPropertyFriendlyName "Hit Bone Parameter" - // MPropertyAttributeChoiceName "IntParameter" - AnimParamID m_hitBoneParam; // 0x48 - // MPropertyFriendlyName "Hit Offset Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_hitOffsetParam; // 0x4c - // MPropertyFriendlyName "Hit Direction Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_hitDirectionParam; // 0x50 - // MPropertyFriendlyName "Hit Strength Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_hitStrengthParam; // 0x54 - // MPropertyFriendlyName "Bone Weights" - // MPropertyAttributeChoiceName "BoneMask" - CUtlString m_weightListName; // 0x58 - // MPropertyFriendlyName "Hip Bone" - // MPropertyAttributeChoiceName "Bone" - CUtlString m_hipBoneName; // 0x60 - // MPropertyFriendlyName "Hip Translation Scale" - float m_flHipBoneTranslationScale; // 0x68 - // MPropertyFriendlyName "Number of bone effected" - int32_t m_nEffectedBoneCount; // 0x6c - // MPropertyFriendlyName "Max Impact Force" - float m_flMaxImpactForce; // 0x70 - // MPropertyFriendlyName "Min Impact Force" - float m_flMinImpactForce; // 0x74 - // MPropertyFriendlyName "Whip Impact Scale" - float m_flWhipImpactScale; // 0x78 - // MPropertyFriendlyName "Counter Rotation Scale" - float m_flCounterRotationScale; // 0x7c - // MPropertyFriendlyName "Distance Fade Scale" - float m_flDistanceFadeScale; // 0x80 - // MPropertyFriendlyName "Propagation Scale" - float m_flPropagationScale; // 0x84 - // MPropertyFriendlyName "Whip Delay Time" - float m_flWhipDelay; // 0x88 - // MPropertyFriendlyName "Spring Strength" - float m_flSpringStrength; // 0x8c - // MPropertyFriendlyName "Whip Spring Strength" - float m_flWhipSpringStrength; // 0x90 - // MPropertyFriendlyName "Hip Dip Spring Strength" - float m_flHipDipSpringStrength; // 0x94 - // MPropertyFriendlyName "Hip Dip Scale" - float m_flHipDipImpactScale; // 0x98 - // MPropertyFriendlyName "Hip Dip Delay Time" - float m_flHipDipDelay; // 0x9c - // MPropertyFriendlyName "Reset Child" - bool m_bResetBase; // 0xa0 -}; - // Alignment: 2 // Size: 0x70 class CSetFacingUpdateNode : public CUnaryUpdateNode @@ -13632,225 +13451,71 @@ public: CUtlVector< AnimationDecodeDebugDumpElement_t > m_elems; // 0x8 }; -// Alignment: 7 -// Size: 0x48 -class CDistanceRemainingMetric : public CMotionMetricBase +// Alignment: 1 +// Size: 0x10 +struct IKBoneNameAndIndex_t { public: - // MPropertyFriendlyName "Maximum Tracked Distance" - float m_flMaxDistance; // 0x28 - // MPropertyFriendlyName "Filter By Fixed Distance" - // MPropertyAttrChangeCallback - bool m_bFilterFixedMinDistance; // 0x2c -private: - [[maybe_unused]] uint8_t __pad002d[0x3]; // 0x2d -public: - // MPropertyFriendlyName "Min Distance" - // MPropertyAttrStateCallback - float m_flMinDistance; // 0x30 - // MPropertyFriendlyName "Filter By Goal Distance" - // MPropertyAttrChangeCallback - bool m_bFilterGoalDistance; // 0x34 -private: - [[maybe_unused]] uint8_t __pad0035[0x3]; // 0x35 -public: - // MPropertyFriendlyName "Goal Filter Start Distance" - // MPropertyAttrStateCallback - float m_flStartGoalFilterDistance; // 0x38 - // MPropertyFriendlyName "Filter By Goal Overshoot" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - bool m_bFilterGoalOvershoot; // 0x3c -private: - [[maybe_unused]] uint8_t __pad003d[0x3]; // 0x3d -public: - // MPropertyFriendlyName "Max Goal Overshoot Scale" - // MPropertyAttrStateCallback - float m_flMaxGoalOvershootScale; // 0x40 + // MPropertyAttributeChoiceName "Bone" + CUtlString m_Name; // 0x0 }; // Alignment: 4 -// Size: 0x20 -struct IKTargetSettings_t -{ -public: - // MPropertyFriendlyName "Target Source" - // MPropertyAttributeChoiceEnumName - // MPropertyAttrChangeCallback - IKTargetSource m_TargetSource; // 0x0 - // MPropertyFriendlyName "Bone" - // MPropertyAttrStateCallback - IKBoneNameAndIndex_t m_Bone; // 0x8 - // MPropertyFriendlyName "Animgraph Position Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - // MPropertyAttrStateCallback - AnimParamID m_AnimgraphParameterNamePosition; // 0x18 - // MPropertyFriendlyName "Target Coords" - // MPropertyAttrStateCallback - IKTargetCoordinateSystem m_TargetCoordSystem; // 0x1c -}; - -// Alignment: 1 // Size: 0x30 -class CBoneVelocityMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Bone" - // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x28 -}; - -// Alignment: 14 -// Size: 0x78 -class CFollowPathAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Blend Out Time" - float m_flBlendOutTime; // 0x40 - // MPropertyFriendlyName "Block Non-Path Movement" - bool m_bBlockNonPathMovement; // 0x44 - // MPropertyFriendlyName "Stop Feet at Goal" - bool m_bStopFeetAtGoal; // 0x45 - // MPropertyFriendlyName "Enable Speed Scaling" - // MPropertyGroupName "Speed Scaling" - // MPropertyAttrChangeCallback - bool m_bScaleSpeed; // 0x46 -private: - [[maybe_unused]] uint8_t __pad0047[0x1]; // 0x47 -public: - // MPropertyFriendlyName "Scale" - // MPropertyGroupName "Speed Scaling" - // MPropertyAttributeRange "0 1" - // MPropertyAttrStateCallback - float m_flScale; // 0x48 - // MPropertyFriendlyName "Min Angle" - // MPropertyGroupName "Speed Scaling" - // MPropertyAttributeRange "0 180" - // MPropertyAttrStateCallback - float m_flMinAngle; // 0x4c - // MPropertyFriendlyName "Max Angle" - // MPropertyGroupName "Speed Scaling" - // MPropertyAttributeRange "0 180" - // MPropertyAttrStateCallback - float m_flMaxAngle; // 0x50 - // MPropertyFriendlyName "Blend Time" - // MPropertyGroupName "Speed Scaling" - // MPropertyAttrStateCallback - float m_flSpeedScaleBlending; // 0x54 - // MPropertyFriendlyName "Enable Turn to Face" - // MPropertyGroupName "Turn to Face" - // MPropertyAttrChangeCallback - bool m_bTurnToFace; // 0x58 -private: - [[maybe_unused]] uint8_t __pad0059[0x3]; // 0x59 -public: - // MPropertyFriendlyName "Target" - // MPropertyGroupName "Turn to Face" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_facingTarget; // 0x5c - // MPropertyFriendlyName "Parameter" - // MPropertyGroupName "Turn to Face" - // MPropertyAttributeChoiceName "FloatParameter" - // MPropertyAttrStateCallback - AnimParamID m_param; // 0x60 - // MPropertyFriendlyName "Offset" - // MPropertyGroupName "Turn to Face" - // MPropertyAttributeRange "-180 180" - // MPropertyAttrStateCallback - float m_flTurnToFaceOffset; // 0x64 - // MPropertyFriendlyName "Damping" - // MPropertyGroupName "Turn to Face" - // MPropertyAttrStateCallback - CAnimInputDamping m_damping; // 0x68 -}; - -// Alignment: 1 -// Size: 0x28 -class CMotionParameterManager +class CAnimTagBase { private: - [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 public: - CUtlVector< CSmartPtr< CMotionParameter > > m_params; // 0x10 -}; - -// Alignment: 2 -// Size: 0x58 -class CActionComponent : public CAnimComponentBase -{ -public: - CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x38 // MPropertyFriendlyName "Name" // MPropertySortPriority "100" - CUtlString m_sName; // 0x50 + CGlobalSymbol m_name; // 0x18 + // MPropertyHideField + CGlobalSymbol m_group; // 0x20 + // MPropertyHideField + AnimTagID m_tagID; // 0x28 + // MPropertyHideField + bool m_bIsReferenced; // 0x2c }; // Alignment: 2 -// Size: 0x60 -class CBodyGroupAnimTag : public CAnimTagBase +// Size: 0x28 +class CMotionNode { private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 + [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 public: - // MPropertyFriendlyName "Priority" - int32_t m_nPriority; // 0x40 -private: - [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 -public: - // MPropertyFriendlyName "Body Group Settings" - CUtlVector< CBodyGroupSetting > m_bodyGroupSettings; // 0x48 -}; - -// Alignment: 2 -// Size: 0x48 -class CMotionNodeBlend1D : public CMotionNode -{ -public: - CUtlVector< MotionBlendItem > m_blendItems; // 0x28 - int32_t m_nParamIndex; // 0x40 -}; - -// Alignment: 1 -// Size: 0x38 -class CConditionContainer -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 -public: - // MPropertySuppressField - CUtlVector< CSmartPtr< CConditionBase > > m_conditions; // 0x10 + CUtlString m_name; // 0x18 + AnimNodeID m_id; // 0x20 }; // Alignment: 6 -// Size: 0x58 +// Size: 0x50 class CRagdollAnimTag : public CAnimTagBase { private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 public: // MPropertyFriendlyName "Pose Control" - AnimPoseControl m_nPoseControl; // 0x40 + AnimPoseControl m_nPoseControl; // 0x38 // MPropertyFriendlyName "Frequency" // MPropertyAttributeRange "0 30" - float m_flFrequency; // 0x44 + float m_flFrequency; // 0x3c // MPropertyFriendlyName "Damping Ratio" // MPropertyAttributeRange "0 2" - float m_flDampingRatio; // 0x48 + float m_flDampingRatio; // 0x40 // MPropertyFriendlyName "Decay Duration" // MPropertyAttributeRange "-1 1000" - float m_flDecayDuration; // 0x4c + float m_flDecayDuration; // 0x44 // MPropertyFriendlyName "Decay Bias" // MPropertyAttributeRange "0 1" - float m_flDecayBias; // 0x50 + float m_flDecayBias; // 0x48 // MPropertyFriendlyName "Destroy" - bool m_bDestroy; // 0x54 + bool m_bDestroy; // 0x4c }; -// Alignment: 12 -// Size: 0x78 +// Alignment: 6 +// Size: 0x50 class CAnimParameterBase { private: @@ -13858,62 +13523,28 @@ private: public: // MPropertyFriendlyName "Name" // MPropertySortPriority "100" - CAnimGraphSymbolWithStorage m_name; // 0x18 + CGlobalSymbol m_name; // 0x18 // MPropertyHideField - CUtlString m_group; // 0x38 + CUtlString m_group; // 0x20 // MPropertyHideField - AnimParamID m_id; // 0x40 + AnimParamID m_id; // 0x28 private: - [[maybe_unused]] uint8_t __pad0044[0x14]; // 0x44 + [[maybe_unused]] uint8_t __pad002c[0x14]; // 0x2c public: // MPropertyHideField // MPropertyAttrChangeCallback - CUtlString m_componentName; // 0x58 + CUtlString m_componentName; // 0x40 private: - [[maybe_unused]] uint8_t __pad0060[0x4]; // 0x60 -public: - // MPropertyFriendlyName "Preview Button" - AnimParamButton_t m_previewButton; // 0x64 - // MPropertyFriendlyName "Force Latest Value" - bool m_bUseMostRecentValue; // 0x68 - // MPropertyFriendlyName "Auto Reset" - bool m_bAutoReset; // 0x69 -private: - [[maybe_unused]] uint8_t __pad006a[0x2]; // 0x6a -public: - // MPropertyFriendlyName "Network" - AnimParamNetworkSetting m_eNetworkSetting; // 0x6c - // MPropertyFriendlyName "Game Writable" - // MPropertyGroupName "+Permissions" - // MPropertyAttrStateCallback - bool m_bGameWritable; // 0x70 - // MPropertyFriendlyName "Graph Writable" - // MPropertyGroupName "+Permissions" - // MPropertyAttrStateCallback - bool m_bGraphWritable; // 0x71 - // MPropertyHideField - bool m_bIsReferenced; // 0x72 - // MPropertyHideField - bool m_bNetworkingRequested; // 0x73 -}; - -// Alignment: 3 -// Size: 0x20 -class CBlendNodeChild -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 + [[maybe_unused]] uint8_t __pad0048[0x4]; // 0x48 public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x8 - // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x10 - // MPropertyFriendlyName "Blend Value" - float m_blendValue; // 0x18 + bool m_bNetworkingRequested; // 0x4c + // MPropertyHideField + bool m_bIsReferenced; // 0x4d }; // Alignment: 0 -// Size: 0x40 +// Size: 0x30 class CStringAnimTag : public CAnimTagBase { public: @@ -13936,14 +13567,19 @@ public: CUtlVector< CFootTrajectory > m_trajectories; // 0x0 }; -// Alignment: 1 -// Size: 0x58 -class CAnimParameterList +// Alignment: 8 +// Size: 0xd0 +struct AimMatrixOpFixedSettings_t { -private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 public: - CUtlVector< CSmartPtr< CAnimParameterBase > > m_Parameters; // 0x20 + CAnimAttachment m_attachment; // 0x0 + CAnimInputDamping m_damping; // 0x80 + CPoseHandle m_poseCacheHandles[10]; // 0x90 + AimMatrixBlendMode m_eBlendMode; // 0xb8 + float m_fAngleIncrement; // 0xbc + int32_t m_nSequenceMaxFrame; // 0xc0 + int32_t m_nBoneMaskIndex; // 0xc4 + bool m_bTargetIsPosition; // 0xc8 }; // Alignment: 1 @@ -13956,64 +13592,44 @@ public: CUtlVector< CSmartPtr< CAnimGraphSettingsGroup > > m_settingsGroups; // 0x18 }; -// Alignment: 9 -// Size: 0x80 -class CBlendAnimNode : public CAnimNodeBase +// Alignment: 15 +// Size: 0x160 +struct TwoBoneIKSettings_t { -private: - [[maybe_unused]] uint8_t __pad0038[0x10]; // 0x38 public: - // MPropertyFriendlyName "Blend Items" - // MPropertyAutoExpandSelf - CUtlVector< CBlendNodeChild > m_children; // 0x48 - // MPropertyFriendlyName "Blend Source" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_blendValueSource; // 0x60 - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x64 - // MPropertyFriendlyName "Blend Key Values" - BlendKeyType m_blendKeyType; // 0x68 - // MPropertyFriendlyName "Lock Blend on Reset" - bool m_bLockBlendOnReset; // 0x6c - // MPropertyFriendlyName "Sync Cycles" - bool m_bSyncCycles; // 0x6d - // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0x6e - // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0x6f - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x70 -}; - -// Alignment: 1 -// Size: 0x1e0 -class CTwoBoneIKUpdateNode : public CUnaryUpdateNode -{ + IkEndEffectorType m_endEffectorType; // 0x0 + CAnimAttachment m_endEffectorAttachment; // 0x10 + IkTargetType m_targetType; // 0x90 private: - [[maybe_unused]] uint8_t __pad0068[0x8]; // 0x68 + [[maybe_unused]] uint8_t __pad0094[0xc]; // 0x94 public: - TwoBoneIKSettings_t m_opFixedData; // 0x70 + CAnimAttachment m_targetAttachment; // 0xa0 + int32_t m_targetBoneIndex; // 0x120 + CAnimParamHandle m_hPositionParam; // 0x124 + CAnimParamHandle m_hRotationParam; // 0x126 + bool m_bAlwaysUseFallbackHinge; // 0x128 +private: + [[maybe_unused]] uint8_t __pad0129[0x7]; // 0x129 +public: + VectorAligned m_vLsFallbackHingeAxis; // 0x130 + int32_t m_nFixedBoneIndex; // 0x140 + int32_t m_nMiddleBoneIndex; // 0x144 + int32_t m_nEndBoneIndex; // 0x148 + bool m_bMatchTargetOrientation; // 0x14c + bool m_bConstrainTwist; // 0x14d +private: + [[maybe_unused]] uint8_t __pad014e[0x2]; // 0x14e +public: + float m_flMaxTwist; // 0x150 }; // Alignment: 2 -// Size: 0x30 -class CFutureFacingMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Distance" - float m_flDistance; // 0x28 - // MPropertyFriendlyName "Time" - float m_flTime; // 0x2c -}; - -// Alignment: 1 -// Size: 0x18 +// Size: 0x20 struct SolveIKChainPoseOpFixedSettings_t { public: CUtlVector< ChainToSolveData_t > m_ChainsToSolveData; // 0x0 + bool m_bMatchTargetOrientation; // 0x18 }; // Alignment: 0 @@ -14043,11 +13659,11 @@ public: }; // Alignment: 2 -// Size: 0xa0 +// Size: 0xa8 class CSolveIKChainUpdateNode : public CUnaryUpdateNode { public: - CUtlVector< CAnimParamHandle > m_targetHandles; // 0x68 + CUtlVector< CSolveIKTargetHandle_t > m_targetHandles; // 0x68 SolveIKChainPoseOpFixedSettings_t m_opFixedData; // 0x80 }; @@ -14113,28 +13729,6 @@ public: bool m_bLimitOnly; // 0x98 }; -// Alignment: 5 -// Size: 0xa8 -class CMotionItem -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x28]; // 0x0 -public: - // MPropertyHideField - CMotionParameterManager m_paramManager; // 0x28 - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_blockSpans; // 0x50 - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x68 - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimParamSpan > > m_paramSpans; // 0x80 -private: - [[maybe_unused]] uint8_t __pad0098[0x8]; // 0x98 -public: - // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0xa0 -}; - // Alignment: 4 // Size: 0x70 class CBaseConstraint : public CBoneConstraintBase @@ -14149,16 +13743,6 @@ public: CUtlVector< CConstraintTarget > m_targets; // 0x58 }; -// Alignment: 1 -// Size: 0x38 -class CAnimClipDataManager -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - CUtlHashtable< CUtlString, CSmartPtr< CAnimClipData > > m_itemTable; // 0x18 -}; - // Alignment: 1 // Size: 0x4 class AnimStateID @@ -14167,19 +13751,6 @@ public: uint32_t m_id; // 0x0 }; -// Alignment: 1 -// Size: 0x58 -class CProxyAnimNodeBase : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "External Connections" - // MPropertyAutoExpandSelf - // MPropertyAttrChangeCallback - CUtlVector< CConnectionProxyItem > m_proxyItems; // 0x40 -}; - // Alignment: 2 // Size: 0x30 struct WristBone_t @@ -14189,16 +13760,6 @@ public: int32_t m_boneIndex; // 0x20 }; -// Alignment: 0 -// Size: 0x28 -class CConditionBase -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x28]; // 0x0 -public: - // No members available -}; - // Alignment: 46 // Size: 0xf8 struct VPhysXConstraintParams_t @@ -14291,6 +13852,17 @@ public: // No members available }; +// Alignment: 4 +// Size: 0x60 +class CBoneConstraintDotToMorph : public CBoneConstraintBase +{ +public: + CUtlString m_sBoneName; // 0x28 + CUtlString m_sTargetBoneName; // 0x30 + CUtlString m_sMorphChannelName; // 0x38 + float m_flRemap[4]; // 0x40 +}; + // Alignment: 3 // Size: 0x40 class CAnimationGraphVisualizerPrimitiveBase @@ -14324,14 +13896,6 @@ public: float m_wheelDrag; // 0x18 }; -// Alignment: 0 -// Size: 0x58 -class CGroupOutputAnimNode : public CProxyAnimNodeBase -{ -public: - // No members available -}; - // Alignment: 8 // Size: 0x8 class CAnimDesc_Flag @@ -14366,17 +13930,6 @@ public: bool m_bBonesOrientedAlongPositiveX; // 0xa }; -// Alignment: 1 -// Size: 0x48 -class CAnimNodeManager -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - // MPropertyHideField - CUtlHashtable< AnimNodeID, CSmartPtr< CAnimNodeBase > > m_nodes; // 0x8 -}; - // Alignment: 3 // Size: 0x50 class CRenderSkeleton @@ -14412,27 +13965,27 @@ public: StateActionBehavior m_eBehavior; // 0x8 }; -// Alignment: 4 -// Size: 0x88 -class CFloatAnimParameter : public CAnimParameterBase +// Alignment: 6 +// Size: 0x60 +class CConcreteAnimParameter : public CAnimParameterBase { public: - // MPropertyFriendlyName "Default Value" - float m_fDefaultValue; // 0x78 - // MPropertyFriendlyName "Min Value" - float m_fMinValue; // 0x7c - // MPropertyFriendlyName "Max Value" - float m_fMaxValue; // 0x80 - // MPropertyFriendlyName "Interpolate" - bool m_bInterpolate; // 0x84 -}; - -// Alignment: 0 -// Size: 0x38 -class CZeroPoseAnimNode : public CAnimNodeBase -{ -public: - // No members available + // MPropertyFriendlyName "Preview Button" + AnimParamButton_t m_previewButton; // 0x50 + // MPropertyFriendlyName "Network" + AnimParamNetworkSetting m_eNetworkSetting; // 0x54 + // MPropertyFriendlyName "Force Latest Value" + bool m_bUseMostRecentValue; // 0x58 + // MPropertyFriendlyName "Auto Reset" + bool m_bAutoReset; // 0x59 + // MPropertyFriendlyName "Game Writable" + // MPropertyGroupName "+Permissions" + // MPropertyAttrStateCallback + bool m_bGameWritable; // 0x5a + // MPropertyFriendlyName "Graph Writable" + // MPropertyGroupName "+Permissions" + // MPropertyAttrStateCallback + bool m_bGraphWritable; // 0x5b }; // Alignment: 5 @@ -14485,7 +14038,7 @@ public: CUtlVector< CSmartPtr< CAnimUpdateNodeBase > > m_nodes; // 0x10 CUtlHashtable< CAnimNodePath, int32 > m_nodeIndexMap; // 0x28 CUtlVector< CSmartPtr< CAnimComponentUpdater > > m_components; // 0x48 - CSmartPtr< CAnimParameterListUpdater > m_pParamListUpdater; // 0x60 + CSmartPtr< CAnimParameterManagerUpdater > m_pParamListUpdater; // 0x60 CSmartPtr< CAnimTagManagerUpdater > m_pTagManagerUpdater; // 0x68 CSmartPtr< CAnimScriptManager > m_scriptManager; // 0x70 CAnimGraphSettingsManager m_settings; // 0x78 @@ -14524,49 +14077,15 @@ public: int32_t m_nMorphCount; // 0x2c }; -// Alignment: 3 -// Size: 0x18 -class CFloatAnimValue -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - // MPropertyHideField - float m_flConstValue; // 0x8 - // MPropertyHideField - AnimParamID m_paramID; // 0xc - // MPropertyHideField - EAnimValueSource m_eSource; // 0x10 -}; - -// Alignment: 0 -// Size: 0x38 -class CBindPoseAnimNode : public CAnimNodeBase -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x58 -class CSequenceBlend2DItem : public CBlend2DItemBase -{ -private: - [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 -public: - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x38 - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x50 -}; - // Alignment: 1 // Size: 0x4 class HSequence { public: int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("HSequence")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 @@ -14587,30 +14106,6 @@ public: int32_t m_nSlaveAxis; // 0x74 }; -// Alignment: 6 -// Size: 0x60 -class CStanceOverrideAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyHideField - CAnimNodeConnection m_stanceSourceConnection; // 0x40 - // MPropertyFriendlyName "Blend Parameter (optional)" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_blendParamID; // 0x48 - // MPropertyFriendlyName "Stance Source" - // MPropertyAttrChangeCallback - StanceOverrideMode m_eMode; // 0x4c - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - // MPropertyAttrStateCallback - CUtlString m_sequenceName; // 0x50 - // MPropertyFriendlyName "Frame" - // MPropertyAttrStateCallback - int32_t m_nFrameIndex; // 0x58 -}; - // Alignment: 5 // Size: 0x58 struct ScriptInfo_t @@ -14632,16 +14127,6 @@ public: CUtlVector< CFlexOp > m_FlexOps; // 0x8 }; -// Alignment: 0 -// Size: 0x28 -class CAnimActionBase -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x28]; // 0x0 -public: - // No members available -}; - // Alignment: 3 // Size: 0x88 class CDirectPlaybackUpdateNode : public CUnaryUpdateNode @@ -14750,36 +14235,6 @@ public: float m_flAxisSize; // 0x60 }; -// Alignment: 10 -// Size: 0x60 -class CSubtractAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_baseInputConnection; // 0x38 - // MPropertyHideField - CAnimNodeConnection m_subtractInputConnection; // 0x40 - // MPropertyFriendlyName "Timing Control" - // MPropertyAttrChangeCallback - BinaryNodeTiming m_timingBehavior; // 0x48 - // MPropertyFriendlyName "Timing Blend" - // MPropertyAttributeRange "0 1" - // MPropertyAttrStateCallback - float m_flTimingBlend; // 0x4c - // MPropertyFriendlyName "Foot Motion Timing" - BinaryNodeChildOption m_footMotionTiming; // 0x50 - // MPropertyFriendlyName "Subtract Foot Motion" - bool m_bApplyToFootMotion; // 0x54 - // MPropertyFriendlyName "Reset Base Child" - bool m_bResetBase; // 0x55 - // MPropertyFriendlyName "Reset Subtracted Child" - bool m_bResetSubtract; // 0x56 - // MPropertyFriendlyName "Treat Translation Separately" - bool m_bApplyChannelsSeparately; // 0x57 - // MPropertyFriendlyName "Use Model Space" - bool m_bUseModelSpace; // 0x58 -}; - // Alignment: 10 // Size: 0xa0 struct VPhysXBodyPart_t @@ -14800,53 +14255,6 @@ public: Vector m_vMassCenterOverride; // 0x94 }; -// Alignment: 9 -// Size: 0x60 -class CVRInputComponent : public CAnimComponentBase -{ -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 -}; - -// Alignment: 0 -// Size: 0x50 -class CMotionNodeManager : public CAnimNodeManager -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x28 -class CAnimMotorBase -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_name; // 0x18 - // MPropertyFriendlyName "Is Default" - bool m_bDefault; // 0x20 -}; - // Alignment: 8 // Size: 0xd0 class CAnimSkeleton @@ -14895,20 +14303,6 @@ public: Vector m_vOffset; // 0x20 }; -// Alignment: 2 -// Size: 0x48 -class CAnimClipData -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 -public: - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x20 - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_clipName; // 0x38 -}; - // Alignment: 3 // Size: 0x48 class CMotionNodeSequence : public CMotionNode @@ -14919,27 +14313,6 @@ public: float m_flPlaybackSpeed; // 0x44 }; -// Alignment: 6 -// Size: 0x50 -class CWayPointHelperAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Start Cycle" - // MPropertyAttributeRange "0 1" - float m_flStartCycle; // 0x40 - // MPropertyFriendlyName "End Cycle" - // MPropertyAttributeRange "0 1" - float m_flEndCycle; // 0x44 - // MPropertyFriendlyName "Only align to Goals" - bool m_bOnlyGoals; // 0x48 - // MPropertyFriendlyName "Prevent Overshoot" - bool m_bPreventOvershoot; // 0x49 - // MPropertyFriendlyName "Prevent Undershoot" - bool m_bPreventUndershoot; // 0x4a -}; - // Alignment: 2 // Size: 0x8 class CFingerSource @@ -14973,14 +14346,6 @@ public: bool m_b2D_TRI; // 0x5 }; -// Alignment: 0 -// Size: 0x60 -class CGroupInputAnimNode : public CProxyAnimNodeBase -{ -public: - // No members available -}; - // Alignment: 2 // Size: 0x8 class CBlendCurve @@ -15016,19 +14381,6 @@ public: CUtlString m_Text; // 0x58 }; -// Alignment: 3 -// Size: 0x18 -class CConnectionProxyItem -{ -public: - // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x0 - // MPropertyHideField - AnimNodeOutputID m_outputID; // 0x8 - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0xc -}; - // Alignment: 0 // Size: 0x60 class CBindPoseUpdateNode : public CLeafUpdateNode @@ -15048,64 +14400,6 @@ public: Color m_Color; // 0x70 }; -// Alignment: 13 -// Size: 0x78 -class CBoneMaskAnimNode : public CAnimNodeBase -{ -public: - // MPropertyFriendlyName "Bone Mask" - // MPropertyAttributeChoiceName "BoneMask" - CUtlString m_weightListName; // 0x38 - // MPropertyHideField - CAnimNodeConnection m_inputConnection1; // 0x40 - // MPropertyHideField - CAnimNodeConnection m_inputConnection2; // 0x48 - // MPropertyFriendlyName "Blend Space" - BoneMaskBlendSpace m_blendSpace; // 0x50 - // MPropertyFriendlyName "Use Blend Source" - // MPropertyAttrChangeCallback - bool m_bUseBlendScale; // 0x54 -private: - [[maybe_unused]] uint8_t __pad0055[0x3]; // 0x55 -public: - // MPropertyFriendlyName "Blend Source" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_blendValueSource; // 0x58 - // MPropertyFriendlyName "Blend Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - // MPropertyAttrStateCallback - AnimParamID m_blendParameter; // 0x5c - // MPropertyFriendlyName "Timing Control" - // MPropertyAttrChangeCallback - BinaryNodeTiming m_timingBehavior; // 0x60 - // MPropertyFriendlyName "Timing Blend" - // MPropertyAttributeRange "0 1" - // MPropertyAttrStateCallback - float m_flTimingBlend; // 0x64 - // MPropertyFriendlyName "Root Motion Blend" - // MPropertyAttributeRange "0 1" - float m_flRootMotionBlend; // 0x68 - // MPropertyFriendlyName "Foot Motion Timing" - BinaryNodeChildOption m_footMotionTiming; // 0x6c - // MPropertyFriendlyName "Reset Child1" - bool m_bResetChild1; // 0x70 - // MPropertyFriendlyName "Reset Child2" - bool m_bResetChild2; // 0x71 -}; - -// Alignment: 1 -// Size: 0x68 -class CStateMachineComponent : public CAnimComponentBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x28]; // 0x38 -public: - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_sName; // 0x60 -}; - // Alignment: 0 // Size: 0x18 class CAnimActionUpdater @@ -15116,47 +14410,6 @@ public: // No members available }; -// Alignment: 3 -// Size: 0x70 -class CContainerAnimNodeBase : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x10]; // 0x38 -public: - // MPropertyHideField - AnimNodeID m_inputNodeID; // 0x48 - // MPropertyHideField - AnimNodeID m_outputNodeID; // 0x4c - // MPropertyHideField - CUtlHashtable< AnimNodeOutputID, CAnimNodeConnection > m_inputConnectionMap; // 0x50 -}; - -// Alignment: 6 -// Size: 0x40 -class CStateStatusCondition : public CConditionBase -{ -public: - StateValue m_sourceValue; // 0x28 - StateComparisonValueType m_comparisonValueType; // 0x2c - float m_comparisonFixedValue; // 0x30 - StateValue m_comparisonStateValue; // 0x34 - AnimParamID m_comparisonParamID; // 0x38 - Comparison_t m_comparisonOp; // 0x3c -}; - -// Alignment: 2 -// Size: 0x68 -class CStateMachineAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x28]; // 0x38 -public: - // MPropertyFriendlyName "Block Tags from Waning States" - bool m_bBlockWaningTags; // 0x60 - // MPropertyFriendlyName "Lock State when Waning" - bool m_bLockStateWhenWaning; // 0x61 -}; - // Alignment: 7 // Size: 0x130 class CAnimationGroup @@ -15201,29 +14454,29 @@ public: }; // Alignment: 7 -// Size: 0x58 +// Size: 0x50 class CAudioAnimTag : public CAnimTagBase { private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 public: // MPropertyFriendlyName "Sound Event" // MPropertyAttributeEditor "SoundPicker()" - CUtlString m_clipName; // 0x40 + CUtlString m_clipName; // 0x38 // MPropertyFriendlyName "Attachment" // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x48 + CUtlString m_attachmentName; // 0x40 // MPropertyFriendlyName "Volume" // MPropertyAttributeRange "0 1" - float m_flVolume; // 0x50 + float m_flVolume; // 0x48 // MPropertyFriendlyName "Stop on Tag End" - bool m_bStopWhenTagEnds; // 0x54 + bool m_bStopWhenTagEnds; // 0x4c // MPropertyFriendlyName "Stop When Graph Destroyed" - bool m_bStopWhenGraphEnds; // 0x55 + bool m_bStopWhenGraphEnds; // 0x4d // MPropertyFriendlyName "Play on Server" - bool m_bPlayOnServer; // 0x56 + bool m_bPlayOnServer; // 0x4e // MPropertyFriendlyName "Play on Client" - bool m_bPlayOnClient; // 0x57 + bool m_bPlayOnClient; // 0x4f }; // Alignment: 8 @@ -15273,16 +14526,6 @@ public: CUtlVector< CTransform > m_outputTransformList; // 0x10 }; -// Alignment: 1 -// Size: 0x30 -class CPathAnimMotorBase : public CAnimMotorBase -{ -public: - // MPropertyFriendlyName "Lock To Path" - // MPropertySortPriority "90" - bool m_bLockToPath; // 0x28 -}; - // Alignment: 9 // Size: 0x48 struct SkeletalInputOpFixedSettings_t @@ -15319,19 +14562,6 @@ public: float m_flFingerScaleRatio; // 0x6c }; -// Alignment: 2 -// Size: 0x108 -class CGraphMotionItem : public CMotionItem -{ -private: - [[maybe_unused]] uint8_t __pad00a8[0x8]; // 0xa8 -public: - // MPropertyFriendlyName "Name" - CUtlString m_name; // 0xb0 - // MPropertyHideField - CMotionNodeManager m_nodeManager; // 0xb8 -}; - // Alignment: 3 // Size: 0x3 class CTransitionUpdateData @@ -15355,32 +14585,6 @@ public: int32_t m_nType; // 0x10 }; -// Alignment: 8 -// Size: 0x70 -class CAnimState -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x28]; // 0x0 -public: - // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimStateTransition > > m_transitions; // 0x28 - // MPropertyHideField - CUtlVector< CStateAction > m_actions; // 0x40 - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_name; // 0x58 - // MPropertyHideField - AnimStateID m_stateID; // 0x60 - // MPropertyHideField - Vector2D m_position; // 0x64 - // MPropertyFriendlyName "Start State" - bool m_bIsStartState; // 0x6c - // MPropertyFriendlyName "End State" - bool m_bIsEndtState; // 0x6d - // MPropertyFriendlyName "Passthrough" - bool m_bIsPassthrough; // 0x6e -}; - // Alignment: 3 // Size: 0x60 class CAnimationGraphVisualizerSphere : public CAnimationGraphVisualizerPrimitiveBase @@ -15414,48 +14618,27 @@ public: CUtlVector< uint8 > m_bHasUserBitArray; // 0x90 }; -// Alignment: 1 -// Size: 0x28 -class CAnimComponentManager -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - CUtlVector< CSmartPtr< CAnimComponentBase > > m_components; // 0x8 -}; - // Alignment: 4 -// Size: 0x58 +// Size: 0x50 class CClothSettingsAnimTag : public CAnimTagBase { private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 public: // MPropertyFriendlyName "Stiffness" // MPropertyAttributeRange "0 1" - float m_flStiffness; // 0x40 + float m_flStiffness; // 0x38 // MPropertyFriendlyName "EaseIn" // MPropertyAttributeRange "0 1" - float m_flEaseIn; // 0x44 + float m_flEaseIn; // 0x3c // MPropertyFriendlyName "EaseOut" // MPropertyAttributeRange "0 1" - float m_flEaseOut; // 0x48 + float m_flEaseOut; // 0x40 private: - [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 public: // MPropertyFriendlyName "VertexSet" - CUtlString m_nVertexSet; // 0x50 -}; - -// Alignment: 2 -// Size: 0x28 -class CRigidBodyWeightList -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - CUtlString m_name; // 0x8 - CUtlVector< CRigidBodyWeight > m_weights; // 0x10 + CUtlString m_nVertexSet; // 0x48 }; // Alignment: 4 @@ -15469,21 +14652,6 @@ public: float m_flMax; // 0x80 }; -// Alignment: 4 -// Size: 0x18 -class CChoiceNodeChild -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x0 - // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x8 - // MPropertyFriendlyName "Weight" - float m_weight; // 0x10 - // MPropertyFriendlyName "Blend Time" - float m_blendTime; // 0x14 -}; - // Alignment: 8 // Size: 0x98 class CMorphSetData @@ -15501,15 +14669,6 @@ public: CUtlVector< CFlexRule > m_FlexRules; // 0x80 }; -// Alignment: 2 -// Size: 0x30 -class CFinishedCondition : public CConditionBase -{ -public: - FinishedConditionOption m_option; // 0x28 - bool m_bIsFinished; // 0x2c -}; - // Alignment: 3 // Size: 0x10 class CDrawCullingData @@ -15546,16 +14705,6 @@ public: CAnimVariant m_value; // 0x1a }; -// Alignment: 0 -// Size: 0x60 -class COrCondition : public CConditionBase -{ -private: - [[maybe_unused]] uint8_t __pad0028[0x10]; // 0x28 -public: - // No members available -}; - // Alignment: 7 // Size: 0xa8 class CBoneMaskUpdateNode : public CBinaryUpdateNode @@ -15605,29 +14754,13 @@ public: // No members available }; -// Alignment: 3 -// Size: 0x48 -class CDirectPlaybackAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Finish Early" - bool m_bFinishEarly; // 0x40 - // MPropertyFriendlyName "Reset Child On Finish" - bool m_bResetOnFinish; // 0x41 -}; - // Alignment: 2 -// Size: 0x30 -class CToggleComponentAction : public CAnimActionBase +// Size: 0x60 +class CVirtualAnimParameter : public CAnimParameterBase { public: - // MPropertyFriendlyName "Component" - // MPropertyAttributeChoiceName "Component" - AnimComponentID m_componentID; // 0x28 - // MPropertyFriendlyName "Set Enabled" - bool m_bSetEnabled; // 0x2c + CUtlString m_expressionString; // 0x50 + AnimParamType_t m_eParamType; // 0x58 }; // Alignment: 1 @@ -15638,23 +14771,6 @@ public: float m_flCycle; // 0x0 }; -// Alignment: 3 -// Size: 0x60 -class CFootStepTriggerAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Tolerance" - float m_flTolerance; // 0x40 -private: - [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 -public: - // MPropertyFriendlyName "Feet" - // MPropertyAutoExpandSelf - CUtlVector< CFootStepTriggerItem > m_items; // 0x48 -}; - // Alignment: 5 // Size: 0x60 class CConstraintSlave @@ -15670,31 +14786,28 @@ public: CUtlString m_sName; // 0x28 }; -// Alignment: 1 -// Size: 0x40 -class CLODComponent : public CAnimComponentBase +// Alignment: 5 +// Size: 0x28 +struct IKTargetSettings_t { public: - int32_t m_nServerLOD; // 0x38 -}; - -// Alignment: 6 -// Size: 0x50 -struct ChainToSolveData_t -{ -public: - int32_t m_nChainIndex; // 0x0 - IKSolverSettings_t m_SolverSettings; // 0x4 -private: - [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc -public: - IKTargetSettings_t m_TargetSettings; // 0x10 - SolveIKChainAnimNodeDebugSetting m_DebugSetting; // 0x30 - float m_flDebugNormalizedValue; // 0x34 -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - VectorAligned m_vDebugOffset; // 0x40 + // MPropertyFriendlyName "Target Source" + // MPropertyAttrChangeCallback + IKTargetSource m_TargetSource; // 0x0 + // MPropertyFriendlyName "Bone" + // MPropertyAttrStateCallback + IKBoneNameAndIndex_t m_Bone; // 0x8 + // MPropertyFriendlyName "Animgraph Position Parameter" + // MPropertyAttributeChoiceName "VectorParameter" + // MPropertyAttrStateCallback + AnimParamID m_AnimgraphParameterNamePosition; // 0x18 + // MPropertyFriendlyName "Animgraph Orientation Parameter" + // MPropertyAttributeChoiceName "QuaternionParameter" + // MPropertyAttrStateCallback + AnimParamID m_AnimgraphParameterNameOrientation; // 0x1c + // MPropertyFriendlyName "Target Coords" + // MPropertyAttrStateCallback + IKTargetCoordinateSystem m_TargetCoordSystem; // 0x20 }; // Alignment: 4 @@ -15711,48 +14824,35 @@ public: CUtlString m_SourceFilename; // 0x28 }; -// Alignment: 1 -// Size: 0xb8 -class CSequenceMotionItem : public CMotionItem +// Alignment: 13 +// Size: 0xa8 +class CFollowPathUpdateNode : public CUnaryUpdateNode { private: - [[maybe_unused]] uint8_t __pad00a8[0x8]; // 0xa8 + [[maybe_unused]] uint8_t __pad0068[0x4]; // 0x68 public: - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0xb0 -}; - -// Alignment: 7 -// Size: 0x108 -class CMovementComponent : public CAnimComponentBase -{ + float m_flBlendOutTime; // 0x6c + bool m_bBlockNonPathMovement; // 0x70 + bool m_bStopFeetAtGoal; // 0x71 + bool m_bScaleSpeed; // 0x72 private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 + [[maybe_unused]] uint8_t __pad0073[0x1]; // 0x73 public: - // MPropertyFriendlyName "Movement Modes" - CUtlVector< CMovementMode > m_moveModes; // 0x40 - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimMotorBase > > m_motors; // 0x58 - // MPropertyFriendlyName "Network Path" - bool m_bNetworkPath; // 0x70 + float m_flScale; // 0x74 + float m_flMinAngle; // 0x78 + float m_flMaxAngle; // 0x7c + float m_flSpeedScaleBlending; // 0x80 private: - [[maybe_unused]] uint8_t __pad0071[0x3]; // 0x71 + [[maybe_unused]] uint8_t __pad0084[0x4]; // 0x84 public: - // MPropertyGroupName "+Facing" - // MPropertyFriendlyName "Default Mode" - FacingMode m_eDefaultFacingMode; // 0x74 - // MPropertyGroupName "+Facing" - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_facingDamping; // 0x78 - // MPropertyGroupName "+Facing" - // MPropertyFriendlyName "Network Facing" - bool m_bNetworkFacing; // 0x88 + CAnimInputDamping m_turnDamping; // 0x88 + AnimValueSource m_facingTarget; // 0x98 + CAnimParamHandle m_hParam; // 0x9c private: - [[maybe_unused]] uint8_t __pad0089[0x3]; // 0x89 + [[maybe_unused]] uint8_t __pad009e[0x2]; // 0x9e public: - // MPropertyHideField - AnimParamID m_paramIDs[30]; // 0x8c + float m_flTurnToFaceOffset; // 0xa0 + bool m_bTurnToFace; // 0xa4 }; // Alignment: 4 @@ -15768,15 +14868,6 @@ public: bool m_bStartEnabled; // 0x28 }; -// Alignment: 1 -// Size: 0xb8 -class CGroupAnimNode : public CContainerAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeManager m_nodeMgr; // 0x70 -}; - // Alignment: 4 // Size: 0x28 class CAnimFrameSegment @@ -15791,14 +14882,20 @@ public: CUtlBinaryBlock m_container; // 0x10 }; -// Alignment: 1 -// Size: 0x30 -class CEmitTagAction : public CAnimActionBase +// Alignment: 2 +// Size: 0x58 +class CBodyGroupAnimTag : public CAnimTagBase { +private: + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 public: - // MPropertyFriendlyName "Tag" - // MPropertyAttributeChoiceName "Tag" - AnimTagID m_tag; // 0x28 + // MPropertyFriendlyName "Priority" + int32_t m_nPriority; // 0x38 +private: + [[maybe_unused]] uint8_t __pad003c[0x4]; // 0x3c +public: + // MPropertyFriendlyName "Body Group Settings" + CUtlVector< CBodyGroupSetting > m_bodyGroupSettings; // 0x40 }; // Alignment: 6 @@ -15815,41 +14912,41 @@ public: }; // Alignment: 2 -// Size: 0xd0 -class CEnumAnimParameter : public CAnimParameterBase +// Size: 0xb8 +class CEnumAnimParameter : public CConcreteAnimParameter { private: - [[maybe_unused]] uint8_t __pad0078[0x8]; // 0x78 + [[maybe_unused]] uint8_t __pad0060[0x8]; // 0x60 public: // MPropertyFriendlyName "Default Value" - uint8_t m_defaultValue; // 0x80 + uint8_t m_defaultValue; // 0x68 private: - [[maybe_unused]] uint8_t __pad0081[0x7]; // 0x81 + [[maybe_unused]] uint8_t __pad0069[0x7]; // 0x69 public: // MPropertyFriendlyName "Values" - CUtlVector< CUtlString > m_enumOptions; // 0x88 + CUtlVector< CUtlString > m_enumOptions; // 0x70 }; // Alignment: 4 -// Size: 0x60 +// Size: 0x58 class CFootstepLandedAnimTag : public CAnimTagBase { private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 public: // MPropertyFriendlyName "Footstep Type" - FootstepLandedFootSoundType_t m_FootstepType; // 0x40 + FootstepLandedFootSoundType_t m_FootstepType; // 0x38 private: - [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 + [[maybe_unused]] uint8_t __pad003c[0x4]; // 0x3c public: // MPropertyFriendlyName "Override Sound" // MPropertyAttributeChoiceName "Sound" - CUtlString m_OverrideSoundName; // 0x48 + CUtlString m_OverrideSoundName; // 0x40 // MPropertyFriendlyName "Debug Name" - CUtlString m_DebugAnimSourceString; // 0x50 + CUtlString m_DebugAnimSourceString; // 0x48 // MPropertyFriendlyName "Bone Name" // MPropertyAttributeChoiceName "Bone" - CUtlString m_BoneName; // 0x58 + CUtlString m_BoneName; // 0x50 }; // Alignment: 2 @@ -15865,17 +14962,6 @@ public: }; // 2 bits }; -// Alignment: 1 -// Size: 0x58 -class CRootAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x18]; // 0x38 -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x50 -}; - // Alignment: 0 // Size: 0x4 class CFootCycle : public CCycleBase @@ -15884,34 +14970,6 @@ public: // No members available }; -// Alignment: 7 -// Size: 0x28 -class CFootPinningItem -{ -public: - // MPropertyFriendlyName "Foot" - // MPropertyAttributeChoiceName "Foot" - CUtlString m_footName; // 0x0 - // MPropertyFriendlyName "Target Bone" - // MPropertyAttributeChoiceName "Bone" - CUtlString m_targetBoneName; // 0x8 - // MPropertyFriendlyName "IK Chain" - // MPropertyAttributeChoiceName "IKChain" - CUtlString m_ikChainName; // 0x10 - // MPropertyFriendlyName "Tag" - // MPropertyAttributeChoiceName "Tag" - AnimTagID m_tag; // 0x18 - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "BoolParameter" - AnimParamID m_param; // 0x1c - // MPropertyFriendlyName "Max Left Rotation" - // MPropertyAttributeRange "0 180" - float m_flMaxRotationLeft; // 0x20 - // MPropertyFriendlyName "Max Right Rotation" - // MPropertyAttributeRange "0 180" - float m_flMaxRotationRight; // 0x24 -}; - // Alignment: 3 // Size: 0x18 class CAnimDecoder @@ -15922,6 +14980,60 @@ public: int32_t m_nType; // 0x14 }; +// Alignment: 15 +// Size: 0x68 +class CAnimDemoCaptureSettings +{ +public: + // MPropertyFriendlyName "Max Rotation Error" + // MPropertyGroupName "+Spline Settings" + float m_flMaxSplineErrorRotation; // 0x0 + // MPropertyFriendlyName "Max Translation Error" + // MPropertyGroupName "+Spline Settings" + float m_flMaxSplineErrorTranslation; // 0x4 + // MPropertyFriendlyName "Max Scale Error" + // MPropertyGroupName "+Spline Settings" + float m_flMaxSplineErrorScale; // 0x8 + // MPropertyFriendlyName "Max IK Rotation Error" + // MPropertyGroupName "+Spline Settings" + float m_flIkRotation_MaxSplineError; // 0xc + // MPropertyFriendlyName "Max IK Translation Error" + // MPropertyGroupName "+Spline Settings" + float m_flIkTranslation_MaxSplineError; // 0x10 + // MPropertyFriendlyName "Max Rotation Error" + // MPropertyGroupName "+Quantization Settings" + float m_flMaxQuantizationErrorRotation; // 0x14 + // MPropertyFriendlyName "Max Translation Error" + // MPropertyGroupName "+Quantization Settings" + float m_flMaxQuantizationErrorTranslation; // 0x18 + // MPropertyFriendlyName "Max Scale Error" + // MPropertyGroupName "+Quantization Settings" + float m_flMaxQuantizationErrorScale; // 0x1c + // MPropertyFriendlyName "Max IK Rotation Error" + // MPropertyGroupName "+Quantization Settings" + float m_flIkRotation_MaxQuantizationError; // 0x20 + // MPropertyFriendlyName "Max IK Translation Error" + // MPropertyGroupName "+Quantization Settings" + float m_flIkTranslation_MaxQuantizationError; // 0x24 + // MPropertyFriendlyName "Base Sequence" + // MPropertyGroupName "+Base Pose" + // MPropertyAttributeChoiceName "Sequence" + CUtlString m_baseSequence; // 0x28 + // MPropertyFriendlyName "Base Sequence Frame" + // MPropertyGroupName "+Base Pose" + int32_t m_nBaseSequenceFrame; // 0x30 + // MPropertyFriendlyName "Bone Selection Mode" + // MPropertyGroupName "+Bones" + // MPropertyAttrChangeCallback + EDemoBoneSelectionMode m_boneSelectionMode; // 0x34 + // MPropertyFriendlyName "Bones" + // MPropertyGroupName "+Bones" + // MPropertyAttrStateCallback + CUtlVector< BoneDemoCaptureSettings_t > m_bones; // 0x38 + // MPropertyFriendlyName "IK Chains" + CUtlVector< IKDemoCaptureSettings_t > m_ikChains; // 0x50 +}; + // Alignment: 1 // Size: 0x1 class CAnimEnum @@ -15943,16 +15055,6 @@ public: bool m_bUseModelSpace; // 0x92 }; -// Alignment: 1 -// Size: 0x30 -class CBonePositionMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Bone" - // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x28 -}; - // Alignment: 2 // Size: 0x58 class CFutureFacingMetricEvaluator : public CMotionMetricEvaluator @@ -15970,36 +15072,6 @@ public: CUtlString m_MaterialGroupName; // 0x48 }; -// Alignment: 10 -// Size: 0x60 -class CAddAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_baseInput; // 0x38 - // MPropertyHideField - CAnimNodeConnection m_additiveInput; // 0x40 - // MPropertyFriendlyName "Timing Control" - // MPropertyAttrChangeCallback - BinaryNodeTiming m_timingBehavior; // 0x48 - // MPropertyFriendlyName "Timing Blend" - // MPropertyAttributeRange "0 1" - // MPropertyAttrStateCallback - float m_flTimingBlend; // 0x4c - // MPropertyFriendlyName "Foot Motion Timing" - BinaryNodeChildOption m_footMotionTiming; // 0x50 - // MPropertyFriendlyName "Add Foot Motion" - bool m_bApplyToFootMotion; // 0x54 - // MPropertyFriendlyName "Reset Base Child" - bool m_bResetBase; // 0x55 - // MPropertyFriendlyName "Reset Additive Child" - bool m_bResetAdditive; // 0x56 - // MPropertyFriendlyName "Treat Translation Separately" - bool m_bApplyChannelsSeparately; // 0x57 - // MPropertyFriendlyName "Use Model Space" - bool m_bUseModelSpace; // 0x58 -}; - // Alignment: 9 // Size: 0xc0 class CMovementComponentUpdater : public CAnimComponentUpdater @@ -16038,61 +15110,6 @@ public: // No members available }; -// Alignment: 4 -// Size: 0x48 -class CAnimParamSpan -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 -public: - CUtlVector< CAnimParamSpanSample > m_samples; // 0x20 - AnimParamID m_id; // 0x38 - float m_flStartCycle; // 0x3c - float m_flEndCycle; // 0x40 -}; - -// Alignment: 10 -// Size: 0xa8 -class CSelectorAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertySuppressField - CUtlVector< CAnimNodeConnection > m_children; // 0x40 - // MPropertyHideField - CUtlVector< AnimTagID > m_tags; // 0x58 - // MPropertyFriendlyName "Selection Source" - // MPropertyAttrChangeCallback - SelectionSource_t m_selectionSource; // 0x70 - // MPropertyFriendlyName "Bool Parameter" - // MPropertyAttributeChoiceName "BoolParameter" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimParamID m_boolParamID; // 0x74 - // MPropertyFriendlyName "Enum Parameter" - // MPropertyAttributeChoiceName "EnumParameter" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimParamID m_enumParamID; // 0x78 -private: - [[maybe_unused]] uint8_t __pad007c[0x4]; // 0x7c -public: - // MPropertyFriendlyName "Blend Duration" - CFloatAnimValue m_blendDuration; // 0x80 - // MPropertyFriendlyName "Tag Behavior" - SelectorTagBehavior_t m_tagBehavior; // 0x98 - // MPropertyFriendlyName "Reset On Change" - bool m_bResetOnChange; // 0x9c - // MPropertyFriendlyName "Start new option at same cycle" - bool m_bSyncCyclesOnChange; // 0x9d -private: - [[maybe_unused]] uint8_t __pad009e[0x2]; // 0x9e -public: - // MPropertyHideField - CBlendCurve m_blendCurve; // 0xa0 -}; - // Alignment: 5 // Size: 0x90 class CAnimReplayFrame @@ -16149,140 +15166,29 @@ public: CUtlVector< float32 > m_outputWeightList; // 0x10 }; -// Alignment: 2 -// Size: 0x40 -class CSetParameterAction : public CAnimActionBase +// Alignment: 1 +// Size: 0x8 +struct BoneDemoCaptureSettings_t { public: - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "Parameter" - AnimParamID m_param; // 0x28 - // MPropertyFriendlyName "Value" - CAnimVariant m_value; // 0x2c + // MPropertyFriendlyName "Bone" + // MPropertyAttributeChoiceName "Bone" + CUtlString m_boneName; // 0x0 }; -// Alignment: 23 -// Size: 0xd0 -class CMotionMatchingAnimNode : public CAnimNodeBase +// Alignment: 6 +// Size: 0x100 +class CAnimParameterManagerUpdater { private: - [[maybe_unused]] uint8_t __pad0038[0x10]; // 0x38 + [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 public: - // MPropertyHideField - CUtlVector< CSmartPtr< CMotionItemGroup > > m_groups; // 0x48 - // MPropertyHideField - CUtlVector< CSmartPtr< CMotionMetricBase > > m_metrics; // 0x60 - // MPropertyHideField - CBlendCurve m_blendCurve; // 0x78 - // MPropertyHideField - int32_t m_nRandomSeed; // 0x80 - // MPropertyFriendlyName "Sample Rate" - // MPropertyAttributeRange "0.01 0.2" - float m_flSampleRate; // 0x84 - // MPropertyFriendlyName "Search Every Update" - // MPropertyGroupName "Search Frequency" - // MPropertyAttrChangeCallback - bool m_bSearchEveryTick; // 0x88 -private: - [[maybe_unused]] uint8_t __pad0089[0x3]; // 0x89 -public: - // MPropertyFriendlyName "Search Interval" - // MPropertyGroupName "Search Frequency" - // MPropertyAttrStateCallback - float m_flSearchInterval; // 0x8c - // MPropertyFriendlyName "Search when motion ends" - // MPropertyGroupName "Search Frequency" - // MPropertyAttrStateCallback - bool m_bSearchWhenMotionEnds; // 0x90 - // MPropertyFriendlyName "Search when goal changes" - // MPropertyGroupName "Search Frequency" - // MPropertyAttrStateCallback - bool m_bSearchWhenGoalChanges; // 0x91 -private: - [[maybe_unused]] uint8_t __pad0092[0x2]; // 0x92 -public: - // MPropertyFriendlyName "Blend Time" - float m_flBlendTime; // 0x94 - // MPropertyFriendlyName "Selection Threshold" - float m_flSelectionThreshold; // 0x98 - // MPropertyFriendlyName "Re-Selection Time Window" - float m_flReselectionTimeWindow; // 0x9c - // MPropertyFriendlyName "Lock Selection When Waning" - bool m_bLockSelectionWhenWaning; // 0xa0 - // MPropertyFriendlyName "Enable Rotation Correction" - bool m_bEnableRotationCorrection; // 0xa1 - // MPropertyFriendlyName "Enable Goal Assist" - // MPropertyGroupName "Goal Assist" - // MPropertyAttrChangeCallback - bool m_bGoalAssist; // 0xa2 -private: - [[maybe_unused]] uint8_t __pad00a3[0x1]; // 0xa3 -public: - // MPropertyFriendlyName "Goal Assist Distance" - // MPropertyGroupName "Goal Assist" - // MPropertyAttrStateCallback - float m_flGoalAssistDistance; // 0xa4 - // MPropertyFriendlyName "Goal Assist Tolerance" - // MPropertyGroupName "Goal Assist" - // MPropertyAttrStateCallback - float m_flGoalAssistTolerance; // 0xa8 - // MPropertyFriendlyName "Enable Distance Scaling" - // MPropertyGroupName "Distance Scaling" - // MPropertyAttrChangeCallback - bool m_bEnableDistanceScaling; // 0xac -private: - [[maybe_unused]] uint8_t __pad00ad[0x3]; // 0xad -public: - // MPropertyFriendlyName "Outer Stopping Radius" - // MPropertyGroupName "Distance Scaling" - // MPropertyAttrStateCallback - float m_flDistanceScale_OuterRadius; // 0xb0 - // MPropertyFriendlyName "Inner Stopping Radius" - // MPropertyGroupName "Distance Scaling" - // MPropertyAttrStateCallback - float m_flDistanceScale_InnerRadius; // 0xb4 - // MPropertyFriendlyName "Maximum Speed Scale" - // MPropertyGroupName "Distance Scaling" - // MPropertyAttrStateCallback - float m_flDistanceScale_MaxScale; // 0xb8 - // MPropertyFriendlyName "Minimum Speed Scale" - // MPropertyGroupName "Distance Scaling" - // MPropertyAttrStateCallback - float m_flDistanceScale_MinScale; // 0xbc - // MPropertyFriendlyName "Damping" - // MPropertyGroupName "Distance Scaling" - // MPropertyAttrStateCallback - CAnimInputDamping m_distanceScale_Damping; // 0xc0 -}; - -// Alignment: 4 -// Size: 0x78 -class CCycleControlClipAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x18]; // 0x38 -public: - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x50 - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x68 - // MPropertyFriendlyName "Blend Source" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_valueSource; // 0x70 - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x74 -}; - -// Alignment: 2 -// Size: 0x10 -class CRigidBodyWeight -{ -public: - CUtlString m_name; // 0x0 - float m_flWeight; // 0x8 + CUtlVector< CSmartPtr< CAnimParameterBase > > m_parameters; // 0x18 + CUtlHashtable< AnimParamID, int32 > m_idToIndexMap; // 0x30 + CUtlHashtable< CUtlString, int32 > m_nameToIndexMap; // 0x50 + CUtlVector< CAnimParamHandle > m_indexToHandle; // 0x70 + CUtlVector< CUtlPair< CAnimParamHandle, CAnimVariant > > m_autoResetParams; // 0x88 + CUtlHashtable< CAnimParamHandle, int16 > m_autoResetMap; // 0xa0 }; // Alignment: 7 @@ -16366,6 +15272,21 @@ public: AnimScriptHandle m_hScript; // 0x30 }; +// Alignment: 5 +// Size: 0x38 +class CAnimEventDefinition +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + int32_t m_nFrame; // 0x8 + float m_flCycle; // 0xc + KeyValues3 m_EventData; // 0x10 + // MKV3TransferName "m_sOptions" + CBufferString m_sLegacyOptions; // 0x20 + CGlobalSymbol m_sEventName; // 0x30 +}; + // Alignment: 2 // Size: 0x60 class CModelConfigElement_Command : public CModelConfigElement @@ -16375,23 +15296,6 @@ public: KeyValues3 m_Args; // 0x50 }; -// Alignment: 4 -// Size: 0x70 -class CAnimStateTransition -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x28]; // 0x0 -public: - // MPropertySuppressField - CConditionContainer m_conditionList; // 0x28 - // MPropertyHideField - AnimStateID m_srcState; // 0x60 - // MPropertyHideField - AnimStateID m_destState; // 0x64 - // MPropertyFriendlyName "Disable" - bool m_bDisabled; // 0x68 -}; - // Alignment: 6 // Size: 0x160 class CAimMatrixUpdateNode : public CUnaryUpdateNode @@ -16454,18 +15358,6 @@ public: CUtlVector< CSeqIKLock > m_localIKAutoplayLockArray; // 0x120 }; -// Alignment: 2 -// Size: 0x48 -class CStanceScaleAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x40 -}; - // Alignment: 0 // Size: 0x38 class CStaticPoseCacheBuilder : public CStaticPoseCache @@ -16474,19 +15366,6 @@ public: // No members available }; -// Alignment: 3 -// Size: 0x48 -class CPathHelperAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Stopping Radius" - float m_flStoppingRadius; // 0x40 - // MPropertyFriendlyName "Stopping Min Speed Scale" - float m_flStoppingSpeedScale; // 0x44 -}; - // Alignment: 7 // Size: 0xa8 struct ModelSkeletonData_t @@ -16502,29 +15381,14 @@ public: }; // Alignment: 2 -// Size: 0xa0 -class CQuaternionAnimParameter : public CAnimParameterBase +// Size: 0x80 +class CQuaternionAnimParameter : public CConcreteAnimParameter { -private: - [[maybe_unused]] uint8_t __pad0078[0x8]; // 0x78 public: // MPropertyFriendlyName "Default Value" - Quaternion m_defaultValue; // 0x80 + Quaternion m_defaultValue; // 0x60 // MPropertyFriendlyName "Interpolate" - bool m_bInterpolate; // 0x90 -}; - -// Alignment: 2 -// Size: 0x48 -class CFootPositionMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Foot" - // MPropertyAttributeChoiceName "Foot" - // MPropertyAutoExpandSelf - CUtlVector< CUtlString > m_feet; // 0x28 - // MPropertyFriendlyName "Ignore Slope" - bool m_bIgnoreSlope; // 0x40 + bool m_bInterpolate; // 0x70 }; // Alignment: 9 @@ -16628,18 +15492,6 @@ public: // No members available }; -// Alignment: 2 -// Size: 0x38 -class CExpressionAction : public CAnimActionBase -{ -public: - AnimParamID m_param; // 0x28 -private: - [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c -public: - CUtlString m_expression; // 0x30 -}; - // Alignment: 5 // Size: 0x28 class CAnimFoot @@ -16703,18 +15555,6 @@ public: float m_flWeight; // 0x8 }; -// Alignment: 2 -// Size: 0x80 -class CAnimNodeState : public CAnimState -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x70 - // MPropertyFriendlyName "Exclusive Root Motion" - // MPropertySortPriority "0" - bool m_bIsRootMotionExclusive; // 0x78 -}; - // Alignment: 1 // Size: 0x88 class CJiggleBoneUpdateNode : public CUnaryUpdateNode @@ -16824,32 +15664,6 @@ public: JiggleBoneSimSpace m_eSimSpace; // 0x28 }; -// Alignment: 7 -// Size: 0x50 -class CDampedPathAnimMotor : public CPathAnimMotorBase -{ -public: - // MPropertyFriendlyName "Anticipation Time" - float m_flAnticipationTime; // 0x30 - // MPropertyFriendlyName "Minimum Speed Percentage" - float m_flMinSpeedScale; // 0x34 - // MPropertyFriendlyName "Anticipation Position Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_anticipationPosParam; // 0x38 - // MPropertyFriendlyName "Anticipation Heading Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_anticipationHeadingParam; // 0x3c - // MPropertyFriendlyName "Spring Constant" - // MPropertyGroupName "+Stopping:Arrival Damping" - float m_flSpringConstant; // 0x40 - // MPropertyFriendlyName "Min Tension" - // MPropertyGroupName "+Stopping:Arrival Damping" - float m_flMinSpringTension; // 0x44 - // MPropertyFriendlyName "Max Tension" - // MPropertyGroupName "+Stopping:Arrival Damping" - float m_flMaxSpringTension; // 0x48 -}; - // Alignment: 20 // Size: 0x138 class CFootLockUpdateNode : public CUnaryUpdateNode @@ -16880,21 +15694,6 @@ public: bool m_bEnableRootHeightDamping; // 0x135 }; -// Alignment: 3 -// Size: 0x58 -class CCommentAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertySuppressField - CUtlString m_commentText; // 0x40 - // MPropertySuppressField - Vector2D m_size; // 0x48 - // MPropertyFriendlyName "Color" - Color m_color; // 0x50 -}; - // Alignment: 4 // Size: 0x78 class CPathMetricEvaluator : public CMotionMetricEvaluator @@ -16909,19 +15708,6 @@ public: float m_flMinExtrapolationSpeed; // 0x70 }; -// Alignment: 2 -// Size: 0x48 -class CNodeBlend2DItem : public CBlend2DItemBase -{ -private: - [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x40 -}; - // Alignment: 3 // Size: 0x20 class FootStepTrigger @@ -16932,109 +15718,6 @@ public: StepPhase m_triggerPhase; // 0x1c }; -// Alignment: 13 -// Size: 0x78 -class CMoverAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Generate Movement" - // MPropertyGroupName "Generate Movement" - // MPropertyAttrChangeCallback - bool m_bApplyMovement; // 0x40 -private: - [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 -public: - // MPropertyFriendlyName "Movement Velocity Parameter" - // MPropertyGroupName "Generate Movement" - // MPropertyAttributeChoiceName "VectorParameter" - // MPropertyAttrStateCallback - AnimParamID m_moveVectorParam; // 0x44 - // MPropertyFriendlyName "Orient Movement" - // MPropertyGroupName "Orient Movement" - // MPropertyAttrChangeCallback - bool m_bOrientMovement; // 0x48 -private: - [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 -public: - // MPropertyFriendlyName "Movement Heading Parameter" - // MPropertyGroupName "Orient Movement" - // MPropertyAttributeChoiceName "FloatParameter" - // MPropertyAttrStateCallback - AnimParamID m_moveHeadingParam; // 0x4c - // MPropertyFriendlyName "Additive" - bool m_bAdditive; // 0x50 - // MPropertyFriendlyName "Turn to Face" - // MPropertyGroupName "Turn to Face" - // MPropertyAttrChangeCallback - bool m_bTurnToFace; // 0x51 -private: - [[maybe_unused]] uint8_t __pad0052[0x2]; // 0x52 -public: - // MPropertyFriendlyName "Face Direction" - // MPropertyGroupName "Turn to Face" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_facingTarget; // 0x54 - // MPropertyFriendlyName "Facing Parameter" - // MPropertyGroupName "Turn to Face" - // MPropertyAttributeChoiceName "FloatParameter" - // MPropertyAttrStateCallback - AnimParamID m_param; // 0x58 - // MPropertyFriendlyName "Turn Limit Only" - // MPropertyGroupName "Turn to Face" - // MPropertyAttrStateCallback - // MPropertyAttrChangeCallback - bool m_bLimitOnly; // 0x5c -private: - [[maybe_unused]] uint8_t __pad005d[0x3]; // 0x5d -public: - // MPropertyFriendlyName "Turn to Face Offset" - // MPropertyAttributeRange "-180 180" - // MPropertyGroupName "Turn to Face" - // MPropertyAttrStateCallback - float m_flTurnToFaceOffset; // 0x60 - // MPropertyFriendlyName "Turn to Face Limit" - // MPropertyAttributeRange "0 180" - // MPropertyGroupName "Turn to Face" - // MPropertyAttrStateCallback - float m_flTurnToFaceLimit; // 0x64 - // MPropertyFriendlyName "Damping" - // MPropertyGroupName "Turn to Face" - // MPropertyAttrStateCallback - CAnimInputDamping m_damping; // 0x68 -}; - -// Alignment: 7 -// Size: 0x68 -class CDirectionalBlendAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "Sequence Names Prefix" - CUtlString m_animNamePrefix; // 0x40 - // MPropertyFriendlyName "Blend Source" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_blendValueSource; // 0x48 - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x4c - // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0x50 - // MPropertyFriendlyName "Lock Blend on Reset" - bool m_bLockBlendOnReset; // 0x51 -private: - [[maybe_unused]] uint8_t __pad0052[0x2]; // 0x52 -public: - // MPropertyFriendlyName "Playback Speed" - float m_playbackSpeed; // 0x54 - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x58 -}; - // Alignment: 7 // Size: 0x2c class CAnimMovement @@ -17137,48 +15820,6 @@ public: CAnimStateMachineUpdater m_stateMachine; // 0x30 }; -// Alignment: 11 -// Size: 0x88 -class CFootPinningAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Feet" - // MPropertyAutoExpandSelf - CUtlVector< CFootPinningItem > m_items; // 0x40 - // MPropertyFriendlyName "Lock Timing Source" - FootPinningTimingSource m_eTimingSource; // 0x58 - // MPropertyFriendlyName "Blend Time" - float m_flBlendTime; // 0x5c - // MPropertyFriendlyName "Lock Break Distance" - float m_flLockBreakDistance; // 0x60 - // MPropertyFriendlyName "Max Leg Straight Amount" - // MPropertyAttributeRange "0 1" - float m_flMaxLegStraightAmount; // 0x64 - // MPropertyFriendlyName "Limit Foot Rotation" - // MPropertyGroupName "Foot Rotation Limits" - bool m_bApplyFootRotationLimits; // 0x68 -private: - [[maybe_unused]] uint8_t __pad0069[0x7]; // 0x69 -public: - // MPropertyFriendlyName "Hip Bone" - // MPropertyAttributeChoiceName "Bone" - // MPropertyGroupName "Foot Rotation Limits" - CUtlString m_hipBoneName; // 0x70 - // MPropertyFriendlyName "Limit Leg Twist" - // MPropertyGroupName "Knee Twist Limits" - bool m_bApplyLegTwistLimits; // 0x78 -private: - [[maybe_unused]] uint8_t __pad0079[0x3]; // 0x79 -public: - // MPropertyFriendlyName "Max Leg Twist Angle" - // MPropertyGroupName "Knee Twist Limits" - float m_flMaxLegTwist; // 0x7c - // MPropertyFriendlyName "Reset Child" - bool m_bResetChild; // 0x80 -}; - // Alignment: 8 // Size: 0xa8 class CSelectorUpdateNode : public CAnimUpdateNodeBase @@ -17280,27 +15921,6 @@ public: CUtlVector< CUtlString > m_decodedAnims; // 0x58 }; -// Alignment: 0 -// Size: 0x28 -class CCurrentRotationVelocityMetric : public CMotionMetricBase -{ -public: - // No members available -}; - -// Alignment: 5 -// Size: 0x38 -class CAnimAnimEvent -{ -public: - int32_t m_nFrame; // 0x0 - float m_flCycle; // 0x4 - KeyValues3 m_EventData; // 0x8 - // MKV3TransferName "m_sOptions" - CBufferString m_sLegacyOptions; // 0x18 - CBufferString m_sEventName; // 0x28 -}; - // Alignment: 0 // Size: 0x4 class CAnimCycle : public CCycleBase @@ -17310,65 +15930,47 @@ public: }; // Alignment: 10 -// Size: 0x80 +// Size: 0x78 class CParticleAnimTag : public CAnimTagBase { private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 public: // MPropertySuppressField - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hParticleSystem; // 0x40 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hParticleSystem; // 0x38 // MPropertyAttributeEditor "AssetBrowse( vpcf )" // MPropertyFriendlyName "Particle System" - CUtlString m_particleSystemName; // 0x48 + CUtlString m_particleSystemName; // 0x40 // MPropertyFriendlyName "Configuration" - CUtlString m_configName; // 0x50 + CUtlString m_configName; // 0x48 // MPropertyFriendlyName "Detach From Owner" - bool m_bDetachFromOwner; // 0x58 + bool m_bDetachFromOwner; // 0x50 // MPropertyFriendlyName "Stop on Tag End" // MPropertyGroupName "Ending" - bool m_bStopWhenTagEnds; // 0x59 + bool m_bStopWhenTagEnds; // 0x51 // MPropertyFriendlyName "Tag End Stop is Instant" // MPropertyGroupName "Ending" - bool m_bTagEndStopIsInstant; // 0x5a + bool m_bTagEndStopIsInstant; // 0x52 private: - [[maybe_unused]] uint8_t __pad005b[0x5]; // 0x5b + [[maybe_unused]] uint8_t __pad0053[0x5]; // 0x53 public: // MPropertyFriendlyName "Attachment" // MPropertyGroupName "Attachments" // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x60 + CUtlString m_attachmentName; // 0x58 // MPropertyFriendlyName "Attachment Type" // MPropertyGroupName "Attachments" - ParticleAttachment_t m_attachmentType; // 0x68 + ParticleAttachment_t m_attachmentType; // 0x60 private: - [[maybe_unused]] uint8_t __pad006c[0x4]; // 0x6c + [[maybe_unused]] uint8_t __pad0064[0x4]; // 0x64 public: // MPropertyFriendlyName "Attachment (Control Point 1)" // MPropertyGroupName "Attachments" // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentCP1Name; // 0x70 + CUtlString m_attachmentCP1Name; // 0x68 // MPropertyFriendlyName "Attachment Type (Control Point 1)" // MPropertyGroupName "Attachments" - ParticleAttachment_t m_attachmentCP1Type; // 0x78 -}; - -// Alignment: 5 -// Size: 0x48 -class CCycleCondition : public CConditionBase -{ -public: - Comparison_t m_comparisonOp; // 0x28 -private: - [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c -public: - CUtlString m_comparisonString; // 0x30 - float m_comparisonValue; // 0x38 - ComparisonValueType m_comparisonValueType; // 0x3c -private: - [[maybe_unused]] uint8_t __pad003d[0x3]; // 0x3d -public: - AnimParamID m_comparisonParamID; // 0x40 + ParticleAttachment_t m_attachmentCP1Type; // 0x70 }; // Alignment: 2 @@ -17380,18 +15982,6 @@ public: bool m_bSetEnabled; // 0x1c }; -// Alignment: 2 -// Size: 0x48 -class CSlowDownOnSlopesAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Slow Down Strength" - // MPropertyAttributeRange "0.1 2" - float m_flSlowDownStrength; // 0x40 -}; - // Alignment: 7 // Size: 0x58 class CMotionGraph @@ -17433,29 +16023,6 @@ public: CUtlVector< CHitBoxSet > m_HitBoxSets; // 0x0 }; -// Alignment: 2 -// Size: 0x48 -class CStepsRemainingMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Feet" - // MPropertyAttributeChoiceName "Foot" - // MPropertyAutoExpandSelf - CUtlVector< CUtlString > m_feet; // 0x28 - // MPropertyFriendlyName "Min Steps Remaining" - float m_flMinStepsRemaining; // 0x40 -}; - -// Alignment: 3 -// Size: 0x58 -class CRagdollComponent : public CAnimComponentBase -{ -public: - CUtlVector< CRigidBodyWeightList > m_weightLists; // 0x38 - float m_flSpringFrequencyMin; // 0x50 - float m_flSpringFrequencyMax; // 0x54 -}; - // Alignment: 10 // Size: 0xe8 class CLeanMatrixUpdateNode : public CLeafUpdateNode @@ -17526,12 +16093,12 @@ public: }; // Alignment: 1 -// Size: 0xb8 +// Size: 0x60 class CCPPScriptComponentUpdater : public CAnimComponentUpdater { public: // MPropertyFriendlyName "Scripts" - CUtlVector< CUtlString > m_scriptsToRun; // 0x30 + CUtlVector< CGlobalSymbol > m_scriptsToRun; // 0x30 }; // Alignment: 11 @@ -17568,7 +16135,7 @@ public: float m_flTraceRadius; // 0x3c }; -// Alignment: 6 +// Alignment: 7 // Size: 0xa0 class CRagdollComponentUpdater : public CAnimComponentUpdater { @@ -17579,6 +16146,7 @@ public: CUtlVector< WeightList > m_weightLists; // 0x78 float m_flSpringFrequencyMin; // 0x90 float m_flSpringFrequencyMax; // 0x94 + float m_flMaxStretch; // 0x98 }; // Alignment: 2 @@ -17608,14 +16176,6 @@ public: bool m_bIsAttachment; // 0x59 }; -// Alignment: 0 -// Size: 0x38 -class CInputStreamAnimNode : public CAnimNodeBase -{ -public: - // No members available -}; - // Alignment: 4 // Size: 0x100 struct VPhysXConstraint2_t @@ -17627,84 +16187,22 @@ public: VPhysXConstraintParams_t m_params; // 0x8 }; -// Alignment: 1 -// Size: 0x60 +// Alignment: 2 +// Size: 0x80 class CModelConfigElement_RandomPick : public CModelConfigElement { public: CUtlVector< CUtlString > m_Choices; // 0x48 + CUtlVector< float32 > m_ChoiceWeights; // 0x60 }; -// Alignment: 2 -// Size: 0xb8 -class CSubGraphAnimNode : public CContainerAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0070[0x8]; // 0x70 -public: - // MPropertyFriendlyName "SubGraph File" - // MPropertyAttributeEditor "AssetBrowse( vsubgrph )" - // MPropertyAttrChangeCallback - CUtlString m_subGraphFilename; // 0x78 - // MPropertyHideField - CUtlHashtable< CUtlString, CUtlString > m_animNameMap; // 0x80 -}; - -// Alignment: 7 -// Size: 0x60 -class CSlopeComponent : public CAnimComponentBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "Trace Distance" - float m_flTraceDistance; // 0x40 - // MPropertyHideField - AnimParamID m_slopeAngleID; // 0x44 - // MPropertyHideField - AnimParamID m_slopeHeadingID; // 0x48 - // MPropertyHideField - AnimParamID m_slopeAngleSideID; // 0x4c - // MPropertyHideField - AnimParamID m_slopeAngleFrontID; // 0x50 - // MPropertyHideField - AnimParamID m_slopeNormalID; // 0x54 - // MPropertyHideField - AnimParamID m_slopeNormal_WorldSpaceID; // 0x58 -}; - -// Alignment: 6 -// Size: 0x100 -class CAnimParameterListUpdater -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - CUtlVector< CSmartPtr< CAnimParameterBase > > m_parameters; // 0x18 - CUtlHashtable< AnimParamID, int32 > m_idToIndexMap; // 0x30 - CUtlHashtable< CUtlString, int32 > m_nameToIndexMap; // 0x50 - CUtlVector< CAnimParamHandle > m_indexToHandle; // 0x70 - CUtlVector< CUtlPair< CAnimParamHandle, CAnimVariant > > m_autoResetParams; // 0x88 - CUtlHashtable< CAnimParamHandle, int16 > m_autoResetMap; // 0xa0 -}; - -// Alignment: 5 -// Size: 0x58 -class CFollowAttachmentAnimNode : public CAnimNodeBase +// Alignment: 1 +// Size: 0x68 +class CBoolAnimParameter : public CConcreteAnimParameter { public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Bone" - // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x40 - // MPropertyFriendlyName "Target Attachment" - // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x48 - // MPropertyFriendlyName "Match Translation" - bool m_bMatchTranslation; // 0x50 - // MPropertyFriendlyName "Match Rotation" - bool m_bMatchRotation; // 0x51 + // MPropertyFriendlyName "Default Value" + bool m_bDefaultValue; // 0x60 }; // Alignment: 6 @@ -17768,46 +16266,6 @@ public: AnimScriptHandle m_hScript; // 0x1c }; -// Alignment: 6 -// Size: 0xe0 -class CAnimationSubGraph -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - CAnimNodeManager m_nodeManager; // 0x8 - CAnimComponentManager m_componentManager; // 0x50 - CUtlVector< CSmartPtr< CAnimParameterBase > > m_localParameters; // 0x78 - CUtlVector< CSmartPtr< CAnimTagBase > > m_localTags; // 0x90 - CUtlVector< CUtlString > m_referencedParamGroups; // 0xa8 - CUtlVector< CUtlString > m_referencedTagGroups; // 0xc0 -}; - -// Alignment: 7 -// Size: 0x30 -class CJiggleBoneItem -{ -public: - // MPropertyFriendlyName "Bone" - // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x0 - // MPropertyFriendlyName "Spring Strength" - float m_flSpringStrength; // 0x8 - // MPropertyFriendlyName "Sim Rate (FPS)" - float m_flSimRateFPS; // 0xc - // MPropertyFriendlyName "Damping" - // MPropertyAttributeRange "0 1" - float m_flDamping; // 0x10 - // MPropertyFriendlyName "Sim Space" - JiggleBoneSimSpace m_eSimSpace; // 0x14 - // MPropertyFriendlyName "Max" - // MPropertyGroupName "Movement Limits" - Vector m_vBoundsMaxLS; // 0x18 - // MPropertyFriendlyName "Min" - // MPropertyGroupName "Movement Limits" - Vector m_vBoundsMinLS; // 0x24 -}; - // Alignment: 10 // Size: 0xb8 class CChoiceUpdateNode : public CAnimUpdateNodeBase @@ -17837,17 +16295,6 @@ public: CUtlVector< int32 > m_selectableSamples; // 0x68 }; -// Alignment: 1 -// Size: 0x40 -class CFootCycleMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Foot" - // MPropertyAttributeChoiceName "Foot" - // MPropertyAutoExpandSelf - CUtlVector< CUtlString > m_feet; // 0x28 -}; - // Alignment: 23 // Size: 0x140 class CMotionMatchingUpdateNode : public CLeafUpdateNode @@ -17905,25 +16352,6 @@ public: int32_t m_nNumChannels; // 0x8 }; -// Alignment: 4 -// Size: 0x48 -class CSkeletalInputAnimNode : public CAnimNodeBase -{ -public: - // MPropertyFriendlyName "Data Source" - // MPropertyAttrChangeCallback - AnimVrBoneTransformSource_t m_transformSource; // 0x38 - // MPropertyFriendlyName "Motion Range" - // MPropertyAttrStateCallback - AnimVRHandMotionRange_t m_motionRange; // 0x3c - // MPropertyFriendlyName "Enable IK" - // MPropertyGroupName "+Retargetting" - bool m_bEnableIK; // 0x40 - // MPropertyFriendlyName "Enable Collision" - // MPropertyGroupName "+Retargetting" - bool m_bEnableCollision; // 0x41 -}; - // Alignment: 3 // Size: 0xc struct TagSpan_t @@ -17934,96 +16362,6 @@ public: float m_endCycle; // 0x8 }; -// Alignment: 2 -// Size: 0x60 -class CSolveIKChainAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x40 - // MPropertyFriendlyName "IK Chains" - // MPropertyAutoExpandSelf - CUtlVector< CSolveIKChainAnimNodeChainData > m_IkChains; // 0x48 -}; - -// Alignment: 17 -// Size: 0x88 -class CLookAtAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Target" - // MPropertyAttrChangeCallback - AnimVectorSource m_target; // 0x40 - // MPropertyFriendlyName "Target Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - // MPropertyAttrStateCallback - AnimParamID m_param; // 0x44 - // MPropertyFriendlyName "Parameter is a Position" - // MPropertyAttrStateCallback - bool m_bIsPosition; // 0x48 -private: - [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 -public: - // MPropertyFriendlyName "Weight Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_weightParam; // 0x4c - // MPropertyFriendlyName "LookAt Chain" - // MPropertyAttributeChoiceName "LookAtChain" - CUtlString m_lookatChainName; // 0x50 - // MPropertyFriendlyName "Aim Attachment" - // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x58 - // MPropertyFriendlyName "Rotate Through Forward" - // MPropertyGroupName "Rotation Limits" - // MPropertyAttrChangeCallback - bool m_bRotateYawForward; // 0x60 -private: - [[maybe_unused]] uint8_t __pad0061[0x3]; // 0x61 -public: - // MPropertyFriendlyName "Yaw Limit" - // MPropertyAttributeRange "0 180" - // MPropertyGroupName "Rotation Limits" - // MPropertyAttrStateCallback - float m_flYawLimit; // 0x64 - // MPropertyFriendlyName "Pitch Limit" - // MPropertyAttributeRange "0 90" - // MPropertyGroupName "Rotation Limits" - float m_flPitchLimit; // 0x68 - // MPropertyFriendlyName "Maintain Up Direction" - bool m_bMaintainUpDirection; // 0x6c - // MPropertyFriendlyName "Reset Child" - bool m_bResetBase; // 0x6d - // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0x6e - // MPropertyFriendlyName "Use Hysteresis" - // MPropertyGroupName "Hysteresis" - bool m_bUseHysteresis; // 0x6f - // MPropertyFriendlyName "Inner Angle" - // MPropertyGroupName "Hysteresis" - float m_flHysteresisInnerAngle; // 0x70 - // MPropertyFriendlyName "Outer Angle" - // MPropertyGroupName "Hysteresis" - float m_flHysteresisOuterAngle; // 0x74 - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x78 -}; - -// Alignment: 2 -// Size: 0x30 -class CTagCondition : public CConditionBase -{ -public: - // MPropertyFriendlyName "Tag" - // MPropertyAttributeChoiceName "Tag" - AnimTagID m_tagID; // 0x28 - // MPropertyFriendlyName "Value" - bool m_comparisonValue; // 0x2c -}; - // Alignment: 10 // Size: 0x58 struct PermModelInfo_t @@ -18041,38 +16379,27 @@ public: CUtlString m_keyValueText; // 0x50 }; -// Alignment: 14 +// Alignment: 13 // Size: 0x70 class CHitBox { +public: + CUtlString m_name; // 0x0 + CUtlString m_sSurfaceProperty; // 0x8 + CUtlString m_sBoneName; // 0x10 + Vector m_vMinBounds; // 0x18 + Vector m_vMaxBounds; // 0x24 + float m_flShapeRadius; // 0x30 + uint32_t m_nBoneNameHash; // 0x34 + int32_t m_nGroupId; // 0x38 + uint8_t m_nShapeType; // 0x3c + bool m_bTranslationOnly; // 0x3d private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 + [[maybe_unused]] uint8_t __pad003e[0x2]; // 0x3e public: - Vector m_vMinBounds; // 0x20 - Vector m_vMaxBounds; // 0x2c - CUtlString m_name; // 0x38 - CUtlString m_sSurfaceProperty; // 0x40 - CUtlString m_sBoneName; // 0x48 - float m_flShapeRadius; // 0x50 - uint32_t m_nBoneNameHash; // 0x54 - int32_t m_nGroupId; // 0x58 - Color m_cRenderColor; // 0x5c - uint16_t m_nHitBoxIndex; // 0x60 - uint8_t m_nShapeType; // 0x62 -private: - [[maybe_unused]] uint8_t __pad0063[0x1]; // 0x63 -public: - bool m_bTranslationOnly; // 0x64 - bool m_bVisible; // 0x65 - bool m_bSelected; // 0x66 -}; - -// Alignment: 0 -// Size: 0x70 -class CAnimComponentStateTransition : public CAnimStateTransition -{ -public: - // No members available + uint32_t m_CRC; // 0x40 + Color m_cRenderColor; // 0x44 + uint16_t m_nHitBoxIndex; // 0x48 }; // Alignment: 1 @@ -18083,14 +16410,6 @@ public: CUtlVector< int32 > m_footIndices; // 0x50 }; -// Alignment: 0 -// Size: 0x70 -class CAnimComponentState : public CAnimState -{ -public: - // No members available -}; - // Alignment: 3 // Size: 0xb8 class CMotionSearchDB @@ -18116,51 +16435,6 @@ public: int32_t m_nBodyGroupOption; // 0x8 }; -// Alignment: 2 -// Size: 0x58 -class CJiggleBoneAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Jiggle Bones" - // MPropertyAutoExpandSelf - CUtlVector< CJiggleBoneItem > m_items; // 0x40 -}; - -// Alignment: 3 -// Size: 0x50 -class CRagdollAnimNode : public CAnimNodeBase -{ -public: - CUtlString m_weightListName; // 0x38 - RagdollPoseControl m_poseControlMethod; // 0x40 - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x44 -}; - -// Alignment: 5 -// Size: 0xb8 -class CAnimNodeStateTransition : public CAnimStateTransition -{ -private: - [[maybe_unused]] uint8_t __pad0070[0x8]; // 0x70 -public: - // MPropertyFriendlyName "Blend Duration" - CFloatAnimValue m_blendDuration; // 0x78 - // MPropertyFriendlyName "Reset Destination" - bool m_bReset; // 0x90 -private: - [[maybe_unused]] uint8_t __pad0091[0x3]; // 0x91 -public: - // MPropertyFriendlyName "Start Cycle At" - ResetCycleOption m_resetCycleOption; // 0x94 - // MPropertyFriendlyName "Fixed Start Cycle Value" - CFloatAnimValue m_flFixedCycleValue; // 0x98 - // MPropertyHideField - CBlendCurve m_blendCurve; // 0xb0 -}; - // Alignment: 2 // Size: 0x70 class CStepsRemainingMetricEvaluator : public CMotionMetricEvaluator @@ -18170,24 +16444,6 @@ public: float m_flMinStepsRemaining; // 0x68 }; -// Alignment: 3 -// Size: 0x28 -class CFootStepTriggerItem -{ -public: - // MPropertyFriendlyName "Foot" - // MPropertyAttributeChoiceName "Foot" - CUtlString m_footName; // 0x0 - // MPropertyFriendlyName "Trigger Phase" - StepPhase m_triggerPhase; // 0x8 -private: - [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc -public: - // MPropertyFriendlyName "Tags" - // MPropertyAttributeChoiceName "Tag" - CUtlVector< AnimTagID > m_tags; // 0x10 -}; - // Alignment: 12 // Size: 0xe8 class CMaterialDrawDescriptor @@ -18217,14 +16473,14 @@ public: }; // Alignment: 1 -// Size: 0x48 +// Size: 0x40 class CFootFallAnimTag : public CAnimTagBase { private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 public: // MPropertyFriendlyName "Foot" - FootFallTagFoot_t m_foot; // 0x40 + FootFallTagFoot_t m_foot; // 0x38 }; // Alignment: 2 @@ -18236,25 +16492,6 @@ public: uint32_t m_nUpType; // 0x80 }; -// Alignment: 4 -// Size: 0x150 -class CAnimationGraph : public CAnimationSubGraph -{ -private: - [[maybe_unused]] uint8_t __pad00e0[0x8]; // 0xe0 -public: - CSmartPtr< CAnimGraphSettingsManager > m_pSettingsManager; // 0xe8 -private: - [[maybe_unused]] uint8_t __pad00f0[0x8]; // 0xf0 -public: - CAnimClipDataManager m_clipDataManager; // 0xf8 -private: - [[maybe_unused]] uint8_t __pad0130[0x10]; // 0x130 -public: - CUtlString m_modelName; // 0x140 - CUtlString m_previewModelName; // 0x148 -}; - // Alignment: 0 // Size: 0x70 class CChoreoUpdateNode : public CUnaryUpdateNode @@ -18284,32 +16521,13 @@ public: bool m_bAnimationDriven; // 0xa1 }; -// Alignment: 8 -// Size: 0x60 -class CLookComponent : public CAnimComponentBase +// Alignment: 2 +// Size: 0x4 +struct CSolveIKTargetHandle_t { -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 public: - // MPropertyFriendlyName "Network Look Target" - bool m_bNetworkLookTarget; // 0x40 -private: - [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 -public: - // MPropertyHideField - AnimParamID m_lookHeadingID; // 0x44 - // MPropertyHideField - AnimParamID m_lookHeadingVelocityID; // 0x48 - // MPropertyHideField - AnimParamID m_lookPitchID; // 0x4c - // MPropertyHideField - AnimParamID m_lookDistanceID; // 0x50 - // MPropertyHideField - AnimParamID m_lookDirectionID; // 0x54 - // MPropertyHideField - AnimParamID m_lookTargetID; // 0x58 - // MPropertyHideField - AnimParamID m_lookTargetWorldSpaceID; // 0x5c + CAnimParamHandle m_positionHandle; // 0x0 + CAnimParamHandle m_orientationHandle; // 0x2 }; // Alignment: 1 @@ -18340,30 +16558,6 @@ public: CUtlVector< CStrongHandle< InfoForResourceTypeIMaterial2 > > m_materials; // 0x8 }; -// Alignment: 6 -// Size: 0x58 -class CPlayerInputAnimMotor : public CAnimMotorBase -{ -public: - // MPropertyFriendlyName "Sample Times" - CUtlVector< float32 > m_sampleTimes; // 0x28 - // MPropertyFriendlyName "Use Acceleration" - bool m_bUseAcceleration; // 0x40 -private: - [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 -public: - // MPropertyFriendlyName "Spring Constant" - float m_flSpringConstant; // 0x44 - // MPropertyFriendlyName "Anticipation Distance" - float m_flAnticipationDistance; // 0x48 - // MPropertyFriendlyName "Anticipation Position Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_anticipationPosParam; // 0x4c - // MPropertyFriendlyName "Anticipation Heading Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_anticipationHeadingParam; // 0x50 -}; - // Alignment: 2 // Size: 0x70 class CPathHelperUpdateNode : public CUnaryUpdateNode @@ -18373,16 +16567,6 @@ public: float m_flStoppingSpeedScale; // 0x6c }; -// Alignment: 1 -// Size: 0x58 -class CAnimTagManager -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 -}; - // Alignment: 1 // Size: 0x50 class CModelConfigElement_SetMaterialGroupOnAttachedModels : public CModelConfigElement @@ -18443,36 +16627,6 @@ public: bool m_bHasMovement; // 0x2d }; -// Alignment: 1 -// Size: 0x28 -class CAnimStateMachine -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimState > > m_states; // 0x8 -}; - -// Alignment: 6 -// Size: 0x60 -class CStopAtGoalAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Outer Stopping Radius" - float m_flOuterRadius; // 0x40 - // MPropertyFriendlyName "Inner Stopping Radius" - float m_flInnerRadius; // 0x44 - // MPropertyFriendlyName "Maximum Speed Scale" - float m_flMaxScale; // 0x48 - // MPropertyFriendlyName "Minimum Speed Scale" - float m_flMinScale; // 0x4c - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x50 -}; - // Alignment: 5 // Size: 0x90 class CStopAtGoalUpdateNode : public CUnaryUpdateNode @@ -18524,6 +16678,42 @@ public: CUtlVector< CFootMotion > m_footMotion; // 0x100 }; +// Alignment: 5 +// Size: 0x28 +struct IKDemoCaptureSettings_t +{ +public: + // MPropertyFriendlyName "Target Parent" + // MPropertyAttributeChoiceName "Bone" + CUtlString m_parentBoneName; // 0x0 + // MPropertyFriendlyName "Solver Mode" + // MPropertyAttrChangeCallback + IKChannelMode m_eMode; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + // MPropertyFriendlyName "IK Chain" + // MPropertyAttributeChoiceName "IKChain" + // MPropertyAttrStateCallback + CUtlString m_ikChainName; // 0x10 + // MPropertyFriendlyName "Start Bone" + // MPropertyAttributeChoiceName "Bone" + // MPropertyAttrStateCallback + CUtlString m_oneBoneStart; // 0x18 + // MPropertyFriendlyName "End Bone" + // MPropertyAttributeChoiceName "Bone" + // MPropertyAttrStateCallback + CUtlString m_oneBoneEnd; // 0x20 +}; + +// Alignment: 1 +// Size: 0x98 +class CDemoSettingsComponentUpdater : public CAnimComponentUpdater +{ +public: + CAnimDemoCaptureSettings m_settings; // 0x30 +}; + // Alignment: 16 // Size: 0x138 struct VPhysXAggregateData_t @@ -18576,20 +16766,6 @@ public: bool m_bTopLevel; // 0x20 }; -// Alignment: 3 -// Size: 0x78 -class CMotionItemGroup -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 -public: - // MPropertyHideField - CUtlVector< CSmartPtr< CMotionItem > > m_motions; // 0x20 - // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x38 - CConditionContainer m_conditions; // 0x40 -}; - // Alignment: 10 // Size: 0x40 class FootFixedSettings @@ -18610,56 +16786,6 @@ public: int32_t m_nFootIndex; // 0x3c }; -// Alignment: 3 -// Size: 0x30 -class CAnimTagSpan -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 -public: - AnimTagID m_id; // 0x20 - float m_fStartCycle; // 0x24 - float m_fDuration; // 0x28 -}; - -// Alignment: 0 -// Size: 0x30 -class CPathAnimMotor : public CPathAnimMotorBase -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x28 -class CAnimNodeList -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 -public: - CUtlVector< CAnimNodeBase* > m_nodes; // 0x10 -}; - -// Alignment: 5 -// Size: 0xa8 -class CSequenceAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x30]; // 0x38 -public: - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x68 - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimParamSpan > > m_paramSpans; // 0x80 - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x98 - // MPropertyFriendlyName "Playback Speed" - float m_playbackSpeed; // 0xa0 - // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0xa4 -}; - // Alignment: 14 // Size: 0xe8 class CModelConfigElement_AttachedModel : public CModelConfigElement @@ -18681,188 +16807,6 @@ public: CUtlString m_MaterialGroupOnOtherModels; // 0x98 }; -// Alignment: 38 -// Size: 0x108 -class CFootLockAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Feet" - // MPropertyAutoExpandSelf - CUtlVector< CFootLockItem > m_items; // 0x40 - // MPropertyFriendlyName "Hip Bone" - // MPropertyAttributeChoiceName "Bone" - CUtlString m_hipBoneName; // 0x58 - // MPropertyFriendlyName "Blend Time" - float m_flBlendTime; // 0x60 - // MPropertyFriendlyName "Apply Foot Rotation Limits" - bool m_bApplyFootRotationLimits; // 0x64 - // MPropertyFriendlyName "Reset Child" - bool m_bResetChild; // 0x65 -private: - [[maybe_unused]] uint8_t __pad0066[0x2]; // 0x66 -public: - // MPropertyFriendlyName "IK Solver Type" - // MPropertyGroupName "IK" - // MPropertyAttrChangeCallback - IKSolverType m_ikSolverType; // 0x68 - // MPropertyFriendlyName "Always use fallback hinge" - // MPropertyGroupName "IK" - // MPropertyAttrStateCallback - bool m_bAlwaysUseFallbackHinge; // 0x6c - // MPropertyFriendlyName "Limit Leg Twist" - // MPropertyGroupName "IK" - // MPropertyAttrStateCallback - bool m_bApplyLegTwistLimits; // 0x6d -private: - [[maybe_unused]] uint8_t __pad006e[0x2]; // 0x6e -public: - // MPropertyFriendlyName "Max Leg Twist Angle" - // MPropertyGroupName "IK" - // MPropertyAttrStateCallback - float m_flMaxLegTwist; // 0x70 - // MPropertyFriendlyName "Curve Foot Paths" - // MPropertyGroupName "Curve Paths" - // MPropertyAttributeRange "0 1" - float m_flStrideCurveScale; // 0x74 - // MPropertyFriendlyName "Curve Paths Limit" - // MPropertyGroupName "Curve Paths" - // MPropertyAttributeRange "0 1" - float m_flStrideCurveLimitScale; // 0x78 - // MPropertyFriendlyName "Enable Vertical Curved Paths" - // MPropertyGroupName "Curve Paths" - bool m_bEnableVerticalCurvedPaths; // 0x7c - // MPropertyFriendlyName "Modulate Step Height" - // MPropertyGroupName "Step Height" - // MPropertyAttrChangeCallback - bool m_bModulateStepHeight; // 0x7d -private: - [[maybe_unused]] uint8_t __pad007e[0x2]; // 0x7e -public: - // MPropertyFriendlyName "Height Increase Scale" - // MPropertyGroupName "Step Height" - // MPropertyAttrStateCallback - float m_flStepHeightIncreaseScale; // 0x80 - // MPropertyFriendlyName "Height Decrease Scale" - // MPropertyGroupName "Step Height" - // MPropertyAttrStateCallback - float m_flStepHeightDecreaseScale; // 0x84 - // MPropertyFriendlyName "Enable Hip Shift" - // MPropertyGroupName "Hip Shift" - bool m_bEnableHipShift; // 0x88 -private: - [[maybe_unused]] uint8_t __pad0089[0x3]; // 0x89 -public: - // MPropertyFriendlyName "Hip Shift Scale" - // MPropertyGroupName "Hip Shift" - // MPropertyAttributeRange "0 1" - float m_flHipShiftScale; // 0x8c - // MPropertyFriendlyName "Damping" - // MPropertyGroupName "Hip Shift" - CAnimInputDamping m_hipShiftDamping; // 0x90 - // MPropertyFriendlyName "Apply Tilt" - // MPropertyGroupName "Tilt" - bool m_bApplyTilt; // 0xa0 -private: - [[maybe_unused]] uint8_t __pad00a1[0x3]; // 0xa1 -public: - // MPropertyFriendlyName "Tilt Plane Pitch Spring Strength" - // MPropertyGroupName "Tilt" - float m_flTiltPlanePitchSpringStrength; // 0xa4 - // MPropertyFriendlyName "Tilt Plane Roll Spring Strength" - // MPropertyGroupName "Tilt" - float m_flTiltPlaneRollSpringStrength; // 0xa8 - // MPropertyFriendlyName "Enable Lock Breaking" - // MPropertyGroupName "Lock Breaking" - bool m_bEnableLockBreaking; // 0xac -private: - [[maybe_unused]] uint8_t __pad00ad[0x3]; // 0xad -public: - // MPropertyFriendlyName "Tolerance" - // MPropertyGroupName "Lock Breaking" - float m_flLockBreakTolerance; // 0xb0 - // MPropertyFriendlyName "Blend Time" - // MPropertyGroupName "Lock Breaking" - float m_flLockBreakBlendTime; // 0xb4 - // MPropertyFriendlyName "Enable Stretching" - // MPropertyGroupName "Stretch" - bool m_bEnableStretching; // 0xb8 -private: - [[maybe_unused]] uint8_t __pad00b9[0x3]; // 0xb9 -public: - // MPropertyFriendlyName "Max Stretch Amount" - // MPropertyGroupName "Stretch" - float m_flMaxStretchAmount; // 0xbc - // MPropertyFriendlyName "Extension Scale" - // MPropertyGroupName "Stretch" - // MPropertyAttributeRange "0 1" - float m_flStretchExtensionScale; // 0xc0 - // MPropertyFriendlyName "Enable Ground Tracing" - // MPropertyGroupName "Ground IK" - // MPropertyAttrChangeCallback - bool m_bEnableGroundTracing; // 0xc4 -private: - [[maybe_unused]] uint8_t __pad00c5[0x3]; // 0xc5 -public: - // MPropertyFriendlyName "Angle Traces with Slope" - // MPropertyGroupName "Ground IK" - // MPropertyAttributeRange "0 1" - // MPropertyAttrStateCallback - float m_flTraceAngleBlend; // 0xc8 - // MPropertyFriendlyName "Apply Hip Drop" - // MPropertyGroupName "Ground IK" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - bool m_bApplyHipDrop; // 0xcc -private: - [[maybe_unused]] uint8_t __pad00cd[0x3]; // 0xcd -public: - // MPropertyFriendlyName "Max Foot Lift" - // MPropertyGroupName "Ground IK" - // MPropertyAttrStateCallback - float m_flMaxFootHeight; // 0xd0 - // MPropertyFriendlyName "Leg Extension Scale" - // MPropertyGroupName "Ground IK" - // MPropertyAttrStateCallback - float m_flExtensionScale; // 0xd4 - // MPropertyFriendlyName "Hip Damping" - // MPropertyGroupName "Ground IK" - // MPropertyAttrStateCallback - CAnimInputDamping m_hipDampingSettings; // 0xd8 - // MPropertyFriendlyName "Enable Root Height Damping" - // MPropertyGroupName "Root Height Damping" - // MPropertyAttrChangeCallback - bool m_bEnableRootHeightDamping; // 0xe8 -private: - [[maybe_unused]] uint8_t __pad00e9[0x7]; // 0xe9 -public: - // MPropertyFriendlyName "Damping Settings" - // MPropertyGroupName "Root Height Damping" - // MPropertyAttrStateCallback - CAnimInputDamping m_rootHeightDamping; // 0xf0 - // MPropertyFriendlyName "Max Offset" - // MPropertyGroupName "Root Height Damping" - // MPropertyAttrStateCallback - float m_flMaxRootHeightOffset; // 0x100 - // MPropertyFriendlyName "Min Offset" - // MPropertyGroupName "Root Height Damping" - // MPropertyAttrStateCallback - float m_flMinRootHeightOffset; // 0x104 -}; - -// Alignment: 2 -// Size: 0x38 -class CTimeCondition : public CConditionBase -{ -public: - Comparison_t m_comparisonOp; // 0x28 -private: - [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c -public: - CUtlString m_comparisonString; // 0x30 -}; - // Alignment: 4 // Size: 0x60 class CTimeRemainingMetricEvaluator : public CMotionMetricEvaluator @@ -18880,25 +16824,6 @@ public: float m_flMinTimeRemaining; // 0x5c }; -// Alignment: 4 -// Size: 0x78 -class CSingleFrameAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x18]; // 0x38 -public: - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x50 - // MPropertyFriendlyName "Frame Selection" - // MPropertyAttrChangeCallback - SingleFrameSelection m_eFrameSelection; // 0x58 - // MPropertyFriendlyName "Frame Index" - // MPropertyAttrStateCallback - int32_t m_nFrameIndex; // 0x5c - CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x60 -}; - // Alignment: 5 // Size: 0x1c class CStateNodeTransitionData @@ -18915,110 +16840,6 @@ public: }; // 8 bits }; -// Alignment: 13 -// Size: 0x88 -class CTwoBoneIKAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "IK Chain" - // MPropertyAttributeChoiceName "IKChain" - CUtlString m_ikChainName; // 0x40 - // MPropertyFriendlyName "Auto-Detect Hinge Axis" - bool m_bAutoDetectHingeAxis; // 0x48 -private: - [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 -public: - // MPropertyGroupName "End Effector" - // MPropertyFriendlyName "End Effector Type" - // MPropertyAttrChangeCallback - IkEndEffectorType m_endEffectorType; // 0x4c - // MPropertyGroupName "End Effector" - // MPropertyFriendlyName "Attachment" - // MPropertyAttributeChoiceName "Attachment" - // MPropertyAttrStateCallback - CUtlString m_endEffectorAttachmentName; // 0x50 - // MPropertyGroupName "Target" - // MPropertyFriendlyName "Target Type" - // MPropertyAttrChangeCallback - IkTargetType m_targetType; // 0x58 -private: - [[maybe_unused]] uint8_t __pad005c[0x4]; // 0x5c -public: - // MPropertyGroupName "Target" - // MPropertyFriendlyName "Attachment" - // MPropertyAttributeChoiceName "Attachment" - // MPropertyAttrStateCallback - CUtlString m_attachmentName; // 0x60 - // MPropertyGroupName "Target" - // MPropertyFriendlyName "Bone" - // MPropertyAttributeChoiceName "Bone" - // MPropertyAttrStateCallback - CUtlString m_targetBoneName; // 0x68 - // MPropertyGroupName "Target" - // MPropertyFriendlyName "Position Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - // MPropertyAttrStateCallback - AnimParamID m_targetParam; // 0x70 - // MPropertyGroupName "Target" - // MPropertyFriendlyName "Match Target Orientation" - // MPropertyAttrChangeCallback - bool m_bMatchTargetOrientation; // 0x74 -private: - [[maybe_unused]] uint8_t __pad0075[0x3]; // 0x75 -public: - // MPropertyGroupName "Target" - // MPropertyFriendlyName "Rotation Parameter" - // MPropertyAttributeChoiceName "QuaternionParameter" - // MPropertyAttrStateCallback - AnimParamID m_rotationParam; // 0x78 - // MPropertyGroupName "Target" - // MPropertyFriendlyName "Constrain Twist" - // MPropertyAttrStateCallback - bool m_bConstrainTwist; // 0x7c -private: - [[maybe_unused]] uint8_t __pad007d[0x3]; // 0x7d -public: - // MPropertyGroupName "Target" - // MPropertyFriendlyName "Max Twist" - // MPropertyAttrStateCallback - float m_flMaxTwist; // 0x80 -}; - -// Alignment: 9 -// Size: 0x68 -class CChoiceAnimNode : public CAnimNodeBase -{ -public: - // MPropertyFriendlyName "Options" - // MPropertyAutoExpandSelf - CUtlVector< CChoiceNodeChild > m_children; // 0x38 - // MPropertyHideField - int32_t m_seed; // 0x50 - // MPropertyFriendlyName "Method" - ChoiceMethod m_choiceMethod; // 0x54 - // MPropertyFriendlyName "Change Selection" - ChoiceChangeMethod m_choiceChangeMethod; // 0x58 - // MPropertyGroupName "Blending" - // MPropertyFriendlyName "Blend Method" - // MPropertyAttrChangeCallback - ChoiceBlendMethod m_blendMethod; // 0x5c - // MPropertyGroupName "Blending" - // MPropertyFriendlyName "Blend Duration" - // MPropertyAttrStateCallback - float m_blendTime; // 0x60 - // MPropertyGroupName "Blending" - // MPropertyFriendlyName "Cross Fade" - bool m_bCrossFade; // 0x64 - // MPropertyFriendlyName "Reset On Selection" - // MPropertyAttrChangeCallback - bool m_bResetChosen; // 0x65 - // MPropertyFriendlyName "Don't Reset Same Selection" - // MPropertyAttrStateCallback - bool m_bDontResetSameSelection; // 0x66 -}; - // Alignment: 24 // Size: 0xb0 struct VPhysXJoint_t @@ -19077,76 +16898,6 @@ public: CDrawCullingData m_CullingData; // 0x8 }; -// Alignment: 5 -// Size: 0x38 -class CFutureVelocityMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Distance" - float m_flDistance; // 0x28 - // MPropertyFriendlyName "Stopping Distance" - float m_flStoppingDistance; // 0x2c - // MPropertyFriendlyName "Mode" - // MPropertyAttrChangeCallback - VelocityMetricMode m_eMode; // 0x30 - // MPropertyFriendlyName "Auto-Calculate target speed" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - bool m_bAutoTargetSpeed; // 0x31 -private: - [[maybe_unused]] uint8_t __pad0032[0x2]; // 0x32 -public: - // MPropertyFriendlyName "Target Speed" - // MPropertyAttrStateCallback - float m_flManualTargetSpeed; // 0x34 -}; - -// Alignment: 10 -// Size: 0x78 -class CFootAdjustmentAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Turn to Face" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_facingTarget; // 0x40 - // MPropertyFriendlyName "Reset Child" - bool m_bResetChild; // 0x44 - // MPropertyFriendlyName "Animation Driven" - // MPropertyAttrChangeCallback - bool m_bAnimationDriven; // 0x45 -private: - [[maybe_unused]] uint8_t __pad0046[0x2]; // 0x46 -public: - // MPropertyFriendlyName "Base Anim Clips" - // MPropertyGroupName "Anim Driven Settings" - // MPropertyAttributeChoiceName "Sequence" - // MPropertyAttrStateCallback - CUtlString m_baseClipName; // 0x48 - // MPropertyFriendlyName "Clips" - // MPropertyGroupName "Anim Driven Settings" - // MPropertyAttributeChoiceName "Sequence" - // MPropertyAttrStateCallback - CUtlVector< CUtlString > m_clips; // 0x50 - // MPropertyFriendlyName "Turn Time Min" - // MPropertyGroupName "Procedural Settings" - // MPropertyAttrStateCallback - float m_flTurnTimeMin; // 0x68 - // MPropertyFriendlyName "Turn Time Max" - // MPropertyGroupName "Procedural Settings" - // MPropertyAttrStateCallback - float m_flTurnTimeMax; // 0x6c - // MPropertyFriendlyName "Step Height Max" - // MPropertyGroupName "Procedural Settings" - // MPropertyAttrStateCallback - float m_flStepHeightMax; // 0x70 - // MPropertyFriendlyName "Step Height Max Angle" - // MPropertyGroupName "Procedural Settings" - // MPropertyAttrStateCallback - float m_flStepHeightMaxAngle; // 0x74 -}; - // Alignment: 8 // Size: 0x90 class CAttachment @@ -19218,29 +16969,6 @@ public: CUtlVector< ModelBoneFlexDriverControl_t > m_controls; // 0x10 }; -// Alignment: 4 -// Size: 0x50 -class CPathMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Distance" - float m_flDistance; // 0x28 -private: - [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c -public: - // MPropertyFriendlyName "Samples Times" - CUtlVector< float32 > m_pathSamples; // 0x30 - // MPropertyFriendlyName "Extrapolate Movement" - // MPropertyAttrChangeCallback - bool m_bExtrapolateMovement; // 0x48 -private: - [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 -public: - // MPropertyFriendlyName "Min Extrapolation Speed" - // MPropertyAttrStateCallback - float m_flMinExtrapolationSpeed; // 0x4c -}; - // Alignment: 8 // Size: 0x48 class CStateUpdateData @@ -19277,20 +17005,6 @@ public: float m_end; // 0x18 }; -// Alignment: 5 -// Size: 0x30 -class CMotionParameter -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - CUtlString m_name; // 0x18 - AnimParamID m_id; // 0x20 - float m_flMinValue; // 0x24 - float m_flMaxValue; // 0x28 - int32_t m_nSamples; // 0x2c -}; - // Alignment: 3 // Size: 0x20 class CModelConfigList @@ -19350,36 +17064,13 @@ public: bool m_bNetworkLookTarget; // 0x42 }; -// Alignment: 2 -// Size: 0x58 -class CDampedValueComponent : public CAnimComponentBase -{ -public: - // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x38 - // MPropertyFriendlyName "Items" - // MPropertyAutoExpandSelf - CUtlVector< CDampedValueItem > m_items; // 0x40 -}; - -// Alignment: 0 -// Size: 0x28 -class CBlockSelectionMetric : public CMotionMetricBase -{ -public: - // No members available -}; - // Alignment: 2 // Size: 0x48 -class CSpeedScaleAnimNode : public CAnimNodeBase +class CMotionNodeBlend1D : public CMotionNode { public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x40 + CUtlVector< MotionBlendItem > m_blendItems; // 0x28 + int32_t m_nParamIndex; // 0x40 }; // Alignment: 1 @@ -19410,35 +17101,22 @@ public: CUtlVector< float32 > m_weights; // 0x8 }; -// Alignment: 13 -// Size: 0xa8 -class CFollowPathUpdateNode : public CUnaryUpdateNode +// Alignment: 1 +// Size: 0x1e0 +class CTwoBoneIKUpdateNode : public CUnaryUpdateNode { private: - [[maybe_unused]] uint8_t __pad0068[0x4]; // 0x68 + [[maybe_unused]] uint8_t __pad0068[0x8]; // 0x68 public: - float m_flBlendOutTime; // 0x6c - bool m_bBlockNonPathMovement; // 0x70 - bool m_bStopFeetAtGoal; // 0x71 - bool m_bScaleSpeed; // 0x72 -private: - [[maybe_unused]] uint8_t __pad0073[0x1]; // 0x73 + TwoBoneIKSettings_t m_opFixedData; // 0x70 +}; + +// Alignment: 1 +// Size: 0x68 +class CMotionGraphUpdateNode : public CLeafUpdateNode +{ public: - float m_flScale; // 0x74 - float m_flMinAngle; // 0x78 - float m_flMaxAngle; // 0x7c - float m_flSpeedScaleBlending; // 0x80 -private: - [[maybe_unused]] uint8_t __pad0084[0x4]; // 0x84 -public: - CAnimInputDamping m_turnDamping; // 0x88 - AnimValueSource m_facingTarget; // 0x98 - CAnimParamHandle m_hParam; // 0x9c -private: - [[maybe_unused]] uint8_t __pad009e[0x2]; // 0x9e -public: - float m_flTurnToFaceOffset; // 0xa0 - bool m_bTurnToFace; // 0xa4 + CSmartPtr< CMotionGraph > m_pMotionGraph; // 0x58 }; // Alignment: 0 @@ -19461,16 +17139,6 @@ public: CAnimEncodeDifference m_usageDifferences; // 0x30 }; -// Alignment: 1 -// Size: 0x28 -class CAnimStateList -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 -public: - CUtlVector< CAnimState* > m_states; // 0x10 -}; - // Alignment: 2 // Size: 0x8 struct LookAtBone_t @@ -19495,14 +17163,14 @@ public: }; // Alignment: 2 -// Size: 0x88 -class CVectorAnimParameter : public CAnimParameterBase +// Size: 0x70 +class CVectorAnimParameter : public CConcreteAnimParameter { public: // MPropertyFriendlyName "Default Value" - Vector m_defaultValue; // 0x78 + Vector m_defaultValue; // 0x60 // MPropertyFriendlyName "Interpolate" - bool m_bInterpolate; // 0x84 + bool m_bInterpolate; // 0x6c }; // Alignment: 5 @@ -19545,25 +17213,11 @@ public: int16_t m_nSubCycles; // 0x2c int16_t m_numLocalResults; // 0x2e CUtlVector< CSeqCmdLayer > m_cmdLayerArray; // 0x30 - CUtlVector< CAnimAnimEvent > m_eventArray; // 0x48 + CUtlVector< CAnimEventDefinition > m_eventArray; // 0x48 CUtlVector< CAnimActivity > m_activityArray; // 0x60 CUtlVector< CSeqPoseSetting > m_poseSettingArray; // 0x78 }; -// Alignment: 4 -// Size: 0x50 -class CParameterCondition : public CConditionBase -{ -public: - AnimParamID m_paramID; // 0x28 - Comparison_t m_comparisonOp; // 0x2c - CAnimVariant m_comparisonValue; // 0x30 -private: - [[maybe_unused]] uint8_t __pad0041[0x7]; // 0x41 -public: - CUtlString m_comparisonString; // 0x48 -}; - // Alignment: 9 // Size: 0x110 struct AnimationSnapshotBase_t @@ -19595,34 +17249,23 @@ public: }; // Alignment: 4 -// Size: 0x58 +// Size: 0x50 class CMaterialAttributeAnimTag : public CAnimTagBase { private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 public: // MPropertyFriendlyName "Attribute Name" - CUtlString m_AttributeName; // 0x40 + CUtlString m_AttributeName; // 0x38 // MPropertyFriendlyName "Attribute Type" // MPropertyAttrChangeCallback - MatterialAttributeTagType_t m_AttributeType; // 0x48 + MatterialAttributeTagType_t m_AttributeType; // 0x40 // MPropertyFriendlyName "Value" // MPropertyAttrStateCallback - float m_flValue; // 0x4c + float m_flValue; // 0x44 // MPropertyFriendlyName "Color" // MPropertyAttrStateCallback - Color m_Color; // 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 + Color m_Color; // 0x48 }; // Alignment: 8 @@ -19654,41 +17297,20 @@ public: CAnimParamHandle m_hParam; // 0x68 }; -// Alignment: 8 -// Size: 0x58 -class CSolveIKChainAnimNodeChainData +// Alignment: 6 +// Size: 0x50 +struct ChainToSolveData_t { -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: - // MPropertyFriendlyName "IK Chain" - // MPropertyAttributeChoiceName "IKChain" - CUtlString m_IkChain; // 0x8 - // MPropertyFriendlyName "Solver Setting Source" - // MPropertyAttributeChoiceEnumName - // MPropertyAttrChangeCallback - SolveIKChainAnimNodeSettingSource m_SolverSettingSource; // 0x10 - // MPropertyFriendlyName "Override Solver Settings" - // MPropertyAutoExpandSelf - // MPropertyAttrStateCallback - IKSolverSettings_t m_OverrideSolverSettings; // 0x14 - // MPropertyFriendlyName "Target Setting Source" - // MPropertyAttributeChoiceEnumName - // MPropertyAttrChangeCallback - SolveIKChainAnimNodeSettingSource m_TargetSettingSource; // 0x1c - // MPropertyFriendlyName "Override Target Settings" - // MPropertyAutoExpandSelf - // MPropertyAttrStateCallback - IKTargetSettings_t m_OverrideTargetSettings; // 0x20 - // MPropertyFriendlyName "Debug Setting" - // MPropertyGroupName "Debug" - SolveIKChainAnimNodeDebugSetting m_DebugSetting; // 0x40 - // MPropertyFriendlyName "Debug Normalized Length" - // MPropertyGroupName "Debug" - float m_flDebugNormalizedLength; // 0x44 - // MPropertyFriendlyName "Debug Offset" - // MPropertyGroupName "Debug" - Vector m_vDebugOffset; // 0x48 + int32_t m_nChainIndex; // 0x0 + IKSolverSettings_t m_SolverSettings; // 0x4 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + IKTargetSettings_t m_TargetSettings; // 0x10 + SolveIKChainAnimNodeDebugSetting m_DebugSetting; // 0x38 + float m_flDebugNormalizedValue; // 0x3c + VectorAligned m_vDebugOffset; // 0x40 }; // Alignment: 2 @@ -19746,16 +17368,6 @@ public: CUtlVector< CAnimActivity > m_activityArray; // 0x28 }; -// Alignment: 0 -// Size: 0x60 -class CAndCondition : public CConditionBase -{ -private: - [[maybe_unused]] uint8_t __pad0028[0x10]; // 0x28 -public: - // No members available -}; - // Alignment: 8 // Size: 0xd0 class CJumpHelperUpdateNode : public CSequenceUpdateNode @@ -19798,32 +17410,6 @@ public: uint16_t m_nConfig; // 0x2 }; -// Alignment: 8 -// Size: 0xc8 -class CJumpHelperAnimNode : public CSequenceAnimNode -{ -private: - [[maybe_unused]] uint8_t __pad00a8[0x8]; // 0xa8 -public: - // MPropertyFriendlyName "Target Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_targetParamID; // 0xb0 - // MPropertySuppressField - float m_flJumpStartCycle; // 0xb4 - // MPropertySuppressField - float m_flJumpDuration; // 0xb8 - // MPropertyFriendlyName "Translate X" - bool m_bTranslateX; // 0xbc - // MPropertyFriendlyName "Translate Y" - bool m_bTranslateY; // 0xbd - // MPropertyFriendlyName "Translate Z" - bool m_bTranslateZ; // 0xbe - // MPropertyFriendlyName "Apply Speed Scale" - bool m_bScaleSpeed; // 0xbf - // MPropertyFriendlyName "Correction Method" - JumpCorrectionMethod m_eCorrectionMethod; // 0xc0 -}; - // Alignment: 2 // Size: 0x120 struct AnimationSnapshot_t : public AnimationSnapshotBase_t @@ -19837,7 +17423,7 @@ public: }; // Alignment: 1 -// Size: 0x110 +// Size: 0x1a0 class CAnimScriptManager { private: @@ -19846,14 +17432,6 @@ public: CUtlVector< ScriptInfo_t > m_scriptInfo; // 0x10 }; -// Alignment: 0 -// Size: 0x28 -class CCurrentVelocityMetric : public CMotionMetricBase -{ -public: - // No members available -}; - // Alignment: 4 // Size: 0x20 class CAnimActivity @@ -19889,15 +17467,12 @@ public: int32_t m_nSampleCount; // 0x1c }; -// Alignment: 1 -// Size: 0x50 +// Alignment: 0 +// Size: 0x38 class CTaskStatusAnimTag : public CAnimTagBase { -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 public: - // MPropertyHideField - CUtlString m_identifierString; // 0x40 + // No members available }; // Alignment: 4 @@ -19935,7 +17510,7 @@ public: // MKV3TransferName "m_pData" CAnimEncodedFrames m_Data; // 0x20 CUtlVector< CAnimMovement > m_movementArray; // 0xf8 - CUtlVector< CAnimAnimEvent > m_eventArray; // 0x110 + CUtlVector< CAnimEventDefinition > m_eventArray; // 0x110 CUtlVector< CAnimActivity > m_activityArray; // 0x128 CUtlVector< CAnimLocalHierarchy > m_hierarchyArray; // 0x140 float framestalltime; // 0x158 @@ -19965,12 +17540,11 @@ public: }; // Alignment: 1 -// Size: 0x40 -class CChoreoAnimNode : public CAnimNodeBase +// Size: 0x4 +class AnimNodeOutputID { public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + uint32_t m_id; // 0x0 }; // Alignment: 8 @@ -19996,84 +17570,17 @@ public: bool m_bLockBlendOnReset; // 0xa1 }; -// Alignment: 2 -// Size: 0x18 -class CStateAction -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - CSmartPtr< CAnimActionBase > m_pAction; // 0x8 - StateActionBehavior m_eBehavior; // 0x10 -}; - -// Alignment: 7 -// Size: 0x80 -class CLeanMatrixAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x40 - // MPropertyFriendlyName "Max Value" - float m_flMaxValue; // 0x48 - // MPropertyFriendlyName "Blend Source" - AnimVectorSource m_blendSource; // 0x4c - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_param; // 0x50 - // MPropertyFriendlyName "Vertical Axis" - Vector m_verticalAxisDirection; // 0x54 - // MPropertyFriendlyName "Horizontal Axis" - Vector m_horizontalAxisDirection; // 0x60 -private: - [[maybe_unused]] uint8_t __pad006c[0x4]; // 0x6c -public: - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x70 -}; - -// Alignment: 7 -// Size: 0x28 -class CFootLockItem -{ -public: - // MPropertyFriendlyName "Foot" - // MPropertyAttributeChoiceName "Foot" - CUtlString m_footName; // 0x0 - // MPropertyFriendlyName "Target Bone" - // MPropertyAttributeChoiceName "Bone" - CUtlString m_targetBoneName; // 0x8 - // MPropertyFriendlyName "IK Chain" - // MPropertyAttributeChoiceName "IKChain" - CUtlString m_ikChainName; // 0x10 - // MPropertyFriendlyName "Disable Tag" - // MPropertyAttributeChoiceName "Tag" - AnimTagID m_disableTagID; // 0x18 - // MPropertyFriendlyName "Max Left Rotation" - // MPropertyAttributeRange "0 180" - float m_flMaxRotationLeft; // 0x1c - // MPropertyFriendlyName "Max Right Rotation" - // MPropertyAttributeRange "0 180" - float m_flMaxRotationRight; // 0x20 - // MPropertyFriendlyName "Footstep Landed Tag" - // MPropertyAttributeChoiceName "Tag" - AnimTagID m_footstepLandedTag; // 0x24 -}; - // Alignment: 3 -// Size: 0x88 -class CIntAnimParameter : public CAnimParameterBase +// Size: 0x70 +class CIntAnimParameter : public CConcreteAnimParameter { public: // MPropertyFriendlyName "Default Value" - int32_t m_defaultValue; // 0x78 + int32_t m_defaultValue; // 0x60 // MPropertyFriendlyName "Min Value" - int32_t m_minValue; // 0x7c + int32_t m_minValue; // 0x64 // MPropertyFriendlyName "Max Value" - int32_t m_maxValue; // 0x80 + int32_t m_maxValue; // 0x68 }; // Alignment: 0 @@ -20084,50 +17591,6 @@ public: // No members available }; -// Alignment: 13 -// Size: 0xc8 -class CBlend2DAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x18]; // 0x38 -public: - // MPropertyHideField - CUtlVector< CSmartPtr< CBlend2DItemBase > > m_items; // 0x50 - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x68 - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimParamSpan > > m_paramSpans; // 0x80 - // MPropertyFriendlyName "Horizontal Axis" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_blendSourceX; // 0x98 - // MPropertyFriendlyName "Horizontal Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_paramX; // 0x9c - // MPropertyFriendlyName "Vertical Axis" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_blendSourceY; // 0xa0 - // MPropertyFriendlyName "Vertical Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_paramY; // 0xa4 - // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0xa8 - // MPropertyFriendlyName "Lock Blend on Reset" - bool m_bLockBlendOnReset; // 0xa9 - // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0xaa -private: - [[maybe_unused]] uint8_t __pad00ab[0x1]; // 0xab -public: - // MPropertyFriendlyName "Playback Speed" - float m_playbackSpeed; // 0xac - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0xb0 - // MPropertyFriendlyName "AnimEvents and Tags Exclusive To Most Weighted" - bool m_bAnimEventsAndTagsOnMostWeightedOnly; // 0xc0 -}; - // Alignment: 2 // Size: 0x58 class CFootStride @@ -20137,62 +17600,6 @@ public: CFootTrajectories m_trajectories; // 0x40 }; -// Alignment: 7 -// Size: 0x58 -class CTurnHelperAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Turn to Face" - AnimValueSource m_facingTarget; // 0x40 - // MPropertyFriendlyName "Turn Start Time" - float m_turnStartTime; // 0x44 - // MPropertyFriendlyName "Turn Duration" - float m_turnDuration; // 0x48 - // MPropertyFriendlyName "Match Child Duration" - bool m_bMatchChildDuration; // 0x4c - // MPropertyFriendlyName "Use Manual Turn Offset" - bool m_bUseManualTurnOffset; // 0x4d -private: - [[maybe_unused]] uint8_t __pad004e[0x2]; // 0x4e -public: - // MPropertyFriendlyName "Manual Turn Offset" - float m_manualTurnOffset; // 0x50 -}; - -// Alignment: 2 -// Size: 0x58 -class CAnimScriptComponent : public CAnimComponentBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_sName; // 0x40 - // MPropertyFriendlyName "Script File" - // MPropertyAttributeEditor "AssetBrowse( as )" - // MPropertyAttrChangeCallback - CUtlString m_scriptFilename; // 0x48 -}; - -// Alignment: 3 -// Size: 0x48 -class CCycleControlAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Blend Source" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_valueSource; // 0x40 - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x44 -}; - // Alignment: 6 // Size: 0x78 class CSceneObjectData @@ -20207,37 +17614,30 @@ public: }; // Alignment: 1 -// Size: 0x48 +// Size: 0x40 class CSequenceFinishedAnimTag : public CAnimTagBase { private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 public: // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x40 + CUtlString m_sequenceName; // 0x38 }; -// Alignment: 1 -// Size: 0x80 -class CBoolAnimParameter : public CAnimParameterBase +// Alignment: 4 +// Size: 0x70 +class CFloatAnimParameter : public CConcreteAnimParameter { public: // MPropertyFriendlyName "Default Value" - bool m_bDefaultValue; // 0x78 -}; - -// Alignment: 3 -// Size: 0x48 -class CSetFacingAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Facing Mode" - FacingMode m_facingMode; // 0x40 - // MPropertyFriendlyName "Reset Child" - bool m_bResetChild; // 0x44 + float m_fDefaultValue; // 0x60 + // MPropertyFriendlyName "Min Value" + float m_fMinValue; // 0x64 + // MPropertyFriendlyName "Max Value" + float m_fMaxValue; // 0x68 + // MPropertyFriendlyName "Interpolate" + bool m_bInterpolate; // 0x6c }; // Alignment: 1 @@ -20502,18 +17902,6 @@ public: CRegionSVM* m_pRegionSVM; // 0xd0 }; -// Alignment: 5 -// Size: 0x18 -struct FeCollisionSphere_t -{ -public: - uint16_t nCtrlParent; // 0x0 - uint16_t nChildNode; // 0x2 - float m_flRFactor; // 0x4 - Vector m_vOrigin; // 0x8 - float flStickiness; // 0x14 -}; - // Alignment: 5 // Size: 0x1c struct FeTri_t @@ -20634,16 +18022,15 @@ public: float m_flOffset; // 0xc }; -// Alignment: 5 -// Size: 0xc +// Alignment: 4 +// Size: 0x8 struct FeRigidColliderIndices_t { public: uint16_t m_nTaperedCapsuleRigidIndex; // 0x0 uint16_t m_nSphereRigidIndex; // 0x2 uint16_t m_nBoxRigidIndex; // 0x4 - uint16_t m_nCollisionSphereIndex[2]; // 0x6 - uint16_t m_nCollisionPlaneIndex; // 0xa + uint16_t m_nCollisionPlaneIndex; // 0x6 }; // Alignment: 6 @@ -20979,7 +18366,7 @@ public: Vector m_vNormal; // 0xc }; -// Alignment: 8 +// Alignment: 9 // Size: 0xa0 struct RnMesh_t { @@ -20992,6 +18379,7 @@ public: CUtlVector< RnWing_t > m_Wings; // 0x60 CUtlVector< uint8 > m_Materials; // 0x78 Vector m_vOrthographicAreas; // 0x90 + bool m_bHasOpenEdges; // 0x9c }; // Alignment: 3 @@ -21023,6 +18411,48 @@ public: uint16_t m_nNode[4]; // 0x40 }; +// Alignment: 35 +// Size: 0xd0 +struct RnBodyDesc_t +{ +public: + CUtlString m_sDebugName; // 0x0 + Vector m_vPosition; // 0x8 + QuaternionStorage m_qOrientation; // 0x14 + Vector m_vLinearVelocity; // 0x24 + Vector m_vAngularVelocity; // 0x30 + Vector m_vLocalMassCenter; // 0x3c + Vector m_LocalInertiaInv[3]; // 0x48 + float m_flMassInv; // 0x6c + float m_flGameMass; // 0x70 + float m_flInertiaScaleInv; // 0x74 + float m_flLinearDamping; // 0x78 + float m_flAngularDamping; // 0x7c + float m_flLinearDrag; // 0x80 + float m_flAngularDrag; // 0x84 + float m_flLinearBuoyancyDrag; // 0x88 + float m_flAngularBuoyancyDrag; // 0x8c + Vector m_vLastAwakeForceAccum; // 0x90 + Vector m_vLastAwakeTorqueAccum; // 0x9c + float m_flBuoyancyFactor; // 0xa8 + float m_flGravityScale; // 0xac + float m_flTimeScale; // 0xb0 + int32_t m_nBodyType; // 0xb4 + uint32_t m_nGameIndex; // 0xb8 + uint32_t m_nGameFlags; // 0xbc + int8_t m_nMinVelocityIterations; // 0xc0 + int8_t m_nMinPositionIterations; // 0xc1 + int8_t m_nMassPriority; // 0xc2 + bool m_bEnabled; // 0xc3 + bool m_bSleeping; // 0xc4 + bool m_bIsContinuousEnabled; // 0xc5 + bool m_bDragEnabled; // 0xc6 + bool m_bBuoyancyDragEnabled; // 0xc7 + bool m_bGravityDisabled; // 0xc8 + bool m_bSpeculativeEnabled; // 0xc9 + bool m_bHasShadowController; // 0xca +}; + // Alignment: 4 // Size: 0xd0 class CFeNamedJiggleBone @@ -21175,8 +18605,16 @@ public: uint32_t m_nVertexMapHash; // 0x44 }; -// Alignment: 100 -// Size: 0x600 +// Alignment: 1 +// Size: 0xd8 +struct vphysics_save_cphysicsbody_t : public RnBodyDesc_t +{ +public: + uint64_t m_nOldPointer; // 0xd0 +}; + +// Alignment: 98 +// Size: 0x5e8 struct PhysFeModelDesc_t { public: @@ -21196,12 +18634,11 @@ public: uint16_t m_nSimdQuadCount2; // 0x4e uint16_t m_nQuadCount1; // 0x50 uint16_t m_nQuadCount2; // 0x52 - uint16_t m_nCollisionSphereInclusiveCount; // 0x54 - uint16_t m_nTreeDepth; // 0x56 - uint16_t m_nNodeBaseJiggleboneDependsCount; // 0x58 - uint16_t m_nRopeCount; // 0x5a + uint16_t m_nTreeDepth; // 0x54 + uint16_t m_nNodeBaseJiggleboneDependsCount; // 0x56 + uint16_t m_nRopeCount; // 0x58 private: - [[maybe_unused]] uint8_t __pad005c[0x4]; // 0x5c + [[maybe_unused]] uint8_t __pad005a[0x6]; // 0x5a public: CUtlVector< uint16 > m_Ropes; // 0x60 CUtlVector< FeNodeBase_t > m_NodeBases; // 0x78 @@ -21218,71 +18655,70 @@ public: CUtlVector< FeCtrlOffset_t > m_CtrlOffsets; // 0x180 CUtlVector< FeCtrlOsOffset_t > m_CtrlOsOffsets; // 0x198 CUtlVector< FeFollowNode_t > m_FollowNodes; // 0x1b0 - CUtlVector< FeCollisionSphere_t > m_CollisionSpheres; // 0x1c8 - CUtlVector< FeCollisionPlane_t > m_CollisionPlanes; // 0x1e0 - CUtlVector< FeNodeIntegrator_t > m_NodeIntegrator; // 0x1f8 - CUtlVector< FeSpringIntegrator_t > m_SpringIntegrator; // 0x210 - CUtlVector< FeSimdSpringIntegrator_t > m_SimdSpringIntegrator; // 0x228 - CUtlVector< FeWorldCollisionParams_t > m_WorldCollisionParams; // 0x240 - CUtlVector< float32 > m_LegacyStretchForce; // 0x258 - CUtlVector< float32 > m_NodeCollisionRadii; // 0x270 - CUtlVector< float32 > m_DynNodeFriction; // 0x288 - CUtlVector< float32 > m_LocalRotation; // 0x2a0 - CUtlVector< float32 > m_LocalForce; // 0x2b8 - CUtlVector< FeTaperedCapsuleStretch_t > m_TaperedCapsuleStretches; // 0x2d0 - CUtlVector< FeTaperedCapsuleRigid_t > m_TaperedCapsuleRigids; // 0x2e8 - CUtlVector< FeSphereRigid_t > m_SphereRigids; // 0x300 - CUtlVector< uint16 > m_WorldCollisionNodes; // 0x318 - CUtlVector< uint16 > m_TreeParents; // 0x330 - CUtlVector< uint16 > m_TreeCollisionMasks; // 0x348 - CUtlVector< FeTreeChildren_t > m_TreeChildren; // 0x360 - CUtlVector< uint16 > m_FreeNodes; // 0x378 - CUtlVector< FeFitMatrix_t > m_FitMatrices; // 0x390 - CUtlVector< FeFitWeight_t > m_FitWeights; // 0x3a8 - CUtlVector< FeNodeReverseOffset_t > m_ReverseOffsets; // 0x3c0 - CUtlVector< FeAnimStrayRadius_t > m_AnimStrayRadii; // 0x3d8 - CUtlVector< FeSimdAnimStrayRadius_t > m_SimdAnimStrayRadii; // 0x3f0 - CUtlVector< FeKelagerBend2_t > m_KelagerBends; // 0x408 - CUtlVector< FeCtrlSoftOffset_t > m_CtrlSoftOffsets; // 0x420 - CUtlVector< CFeIndexedJiggleBone > m_JiggleBones; // 0x438 - CUtlVector< uint16 > m_SourceElems; // 0x450 - CUtlVector< uint32 > m_GoalDampedSpringIntegrators; // 0x468 - CUtlVector< FeTri_t > m_Tris; // 0x480 - uint16_t m_nTriCount1; // 0x498 - uint16_t m_nTriCount2; // 0x49a - uint8_t m_nReservedUint8; // 0x49c - uint8_t m_nExtraPressureIterations; // 0x49d - uint8_t m_nExtraGoalIterations; // 0x49e - uint8_t m_nExtraIterations; // 0x49f - CUtlVector< FeBoxRigid_t > m_BoxRigids; // 0x4a0 - CUtlVector< uint8 > m_DynNodeVertexSet; // 0x4b8 - CUtlVector< uint32 > m_VertexSetNames; // 0x4d0 - CUtlVector< FeRigidColliderIndices_t > m_RigidColliderPriorities; // 0x4e8 - CUtlVector< FeMorphLayerDepr_t > m_MorphLayers; // 0x500 - CUtlVector< uint8 > m_MorphSetData; // 0x518 - CUtlVector< FeVertexMapDesc_t > m_VertexMaps; // 0x530 - CUtlVector< uint8 > m_VertexMapValues; // 0x548 - CUtlVector< FeEffectDesc_t > m_Effects; // 0x560 - CUtlVector< FeCtrlOffset_t > m_LockToParent; // 0x578 - CUtlVector< uint16 > m_LockToGoal; // 0x590 - CUtlVector< FeNodeWindBase_t > m_DynNodeWindBases; // 0x5a8 - float m_flInternalPressure; // 0x5c0 - float m_flDefaultTimeDilation; // 0x5c4 - float m_flWindage; // 0x5c8 - float m_flWindDrag; // 0x5cc - float m_flDefaultSurfaceStretch; // 0x5d0 - float m_flDefaultThreadStretch; // 0x5d4 - float m_flDefaultGravityScale; // 0x5d8 - float m_flDefaultVelAirDrag; // 0x5dc - float m_flDefaultExpAirDrag; // 0x5e0 - float m_flDefaultVelQuadAirDrag; // 0x5e4 - float m_flDefaultExpQuadAirDrag; // 0x5e8 - float m_flRodVelocitySmoothRate; // 0x5ec - float m_flQuadVelocitySmoothRate; // 0x5f0 - float m_flAddWorldCollisionRadius; // 0x5f4 - float m_flDefaultVolumetricSolveAmount; // 0x5f8 - uint16_t m_nRodVelocitySmoothIterations; // 0x5fc - uint16_t m_nQuadVelocitySmoothIterations; // 0x5fe + CUtlVector< FeCollisionPlane_t > m_CollisionPlanes; // 0x1c8 + CUtlVector< FeNodeIntegrator_t > m_NodeIntegrator; // 0x1e0 + CUtlVector< FeSpringIntegrator_t > m_SpringIntegrator; // 0x1f8 + CUtlVector< FeSimdSpringIntegrator_t > m_SimdSpringIntegrator; // 0x210 + CUtlVector< FeWorldCollisionParams_t > m_WorldCollisionParams; // 0x228 + CUtlVector< float32 > m_LegacyStretchForce; // 0x240 + CUtlVector< float32 > m_NodeCollisionRadii; // 0x258 + CUtlVector< float32 > m_DynNodeFriction; // 0x270 + CUtlVector< float32 > m_LocalRotation; // 0x288 + CUtlVector< float32 > m_LocalForce; // 0x2a0 + CUtlVector< FeTaperedCapsuleStretch_t > m_TaperedCapsuleStretches; // 0x2b8 + CUtlVector< FeTaperedCapsuleRigid_t > m_TaperedCapsuleRigids; // 0x2d0 + CUtlVector< FeSphereRigid_t > m_SphereRigids; // 0x2e8 + CUtlVector< uint16 > m_WorldCollisionNodes; // 0x300 + CUtlVector< uint16 > m_TreeParents; // 0x318 + CUtlVector< uint16 > m_TreeCollisionMasks; // 0x330 + CUtlVector< FeTreeChildren_t > m_TreeChildren; // 0x348 + CUtlVector< uint16 > m_FreeNodes; // 0x360 + CUtlVector< FeFitMatrix_t > m_FitMatrices; // 0x378 + CUtlVector< FeFitWeight_t > m_FitWeights; // 0x390 + CUtlVector< FeNodeReverseOffset_t > m_ReverseOffsets; // 0x3a8 + CUtlVector< FeAnimStrayRadius_t > m_AnimStrayRadii; // 0x3c0 + CUtlVector< FeSimdAnimStrayRadius_t > m_SimdAnimStrayRadii; // 0x3d8 + CUtlVector< FeKelagerBend2_t > m_KelagerBends; // 0x3f0 + CUtlVector< FeCtrlSoftOffset_t > m_CtrlSoftOffsets; // 0x408 + CUtlVector< CFeIndexedJiggleBone > m_JiggleBones; // 0x420 + CUtlVector< uint16 > m_SourceElems; // 0x438 + CUtlVector< uint32 > m_GoalDampedSpringIntegrators; // 0x450 + CUtlVector< FeTri_t > m_Tris; // 0x468 + uint16_t m_nTriCount1; // 0x480 + uint16_t m_nTriCount2; // 0x482 + uint8_t m_nReservedUint8; // 0x484 + uint8_t m_nExtraPressureIterations; // 0x485 + uint8_t m_nExtraGoalIterations; // 0x486 + uint8_t m_nExtraIterations; // 0x487 + CUtlVector< FeBoxRigid_t > m_BoxRigids; // 0x488 + CUtlVector< uint8 > m_DynNodeVertexSet; // 0x4a0 + CUtlVector< uint32 > m_VertexSetNames; // 0x4b8 + CUtlVector< FeRigidColliderIndices_t > m_RigidColliderPriorities; // 0x4d0 + CUtlVector< FeMorphLayerDepr_t > m_MorphLayers; // 0x4e8 + CUtlVector< uint8 > m_MorphSetData; // 0x500 + CUtlVector< FeVertexMapDesc_t > m_VertexMaps; // 0x518 + CUtlVector< uint8 > m_VertexMapValues; // 0x530 + CUtlVector< FeEffectDesc_t > m_Effects; // 0x548 + CUtlVector< FeCtrlOffset_t > m_LockToParent; // 0x560 + CUtlVector< uint16 > m_LockToGoal; // 0x578 + CUtlVector< FeNodeWindBase_t > m_DynNodeWindBases; // 0x590 + float m_flInternalPressure; // 0x5a8 + float m_flDefaultTimeDilation; // 0x5ac + float m_flWindage; // 0x5b0 + float m_flWindDrag; // 0x5b4 + float m_flDefaultSurfaceStretch; // 0x5b8 + float m_flDefaultThreadStretch; // 0x5bc + float m_flDefaultGravityScale; // 0x5c0 + float m_flDefaultVelAirDrag; // 0x5c4 + float m_flDefaultExpAirDrag; // 0x5c8 + float m_flDefaultVelQuadAirDrag; // 0x5cc + float m_flDefaultExpQuadAirDrag; // 0x5d0 + float m_flRodVelocitySmoothRate; // 0x5d4 + float m_flQuadVelocitySmoothRate; // 0x5d8 + float m_flAddWorldCollisionRadius; // 0x5dc + float m_flDefaultVolumetricSolveAmount; // 0x5e0 + uint16_t m_nRodVelocitySmoothIterations; // 0x5e4 + uint16_t m_nQuadVelocitySmoothIterations; // 0x5e6 }; // Alignment: 1 @@ -21505,10 +18941,8 @@ class CSosGroupActionLimitSchema : public CSosGroupActionSchema public: // MPropertyFriendlyName "Max Count" int32_t m_nMaxCount; // 0x18 - // MPropertyAttributeChoiceEnumName // MPropertyFriendlyName "Stop Type" SosActionStopType_t m_nStopType; // 0x1c - // MPropertyAttributeChoiceEnumName // MPropertyFriendlyName "Sort Type" SosActionSortType_t m_nSortType; // 0x20 }; @@ -21786,7 +19220,6 @@ class CSosSoundEventGroupSchema public: // MPropertyFriendlyName "Group Name" CUtlString m_name; // 0x0 - // MPropertyAttributeChoiceEnumName // MPropertyFriendlyName "Group Type" SosGroupType_t m_nType; // 0x8 // MPropertyFriendlyName "Blocks Events" @@ -21897,6 +19330,26 @@ public: float m_flInterpolationTime; // 0x8 }; +// Alignment: 5 +// Size: 0x38 +class CSosGroupActionSetSoundeventParameterSchema : public CSosGroupActionSchema +{ +public: + // MPropertyFriendlyName "Max Count" + int32_t m_nMaxCount; // 0x18 + // MPropertyFriendlyName "Minimum Value" + float m_flMinValue; // 0x1c + // MPropertyFriendlyName "Maximum Value" + float m_flMaxValue; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 +public: + // MPropertyFriendlyName "Parameter Name" + CUtlString m_opvarName; // 0x28 + // MPropertyFriendlyName "Sort Type" + SosActionSortType_t m_nSortType; // 0x30 +}; + // Alignment: 1 // Size: 0x18 class CDSPPresetMixgroupModifierTable @@ -22022,12 +19475,14 @@ public: }; // Alignment: 2 -// Size: 0x30 +// Size: 0x40 struct EntityKeyValueData_t { +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: - CUtlBinaryBlock m_keyValuesData; // 0x0 - CUtlVector< EntityIOConnectionData_t > m_connections; // 0x18 + CUtlVector< EntityIOConnectionData_t > m_connections; // 0x8 + CUtlBinaryBlock m_keyValuesData; // 0x20 }; // Alignment: 1 @@ -22073,8 +19528,8 @@ public: CUtlVector< CStrongHandle< InfoForResourceTypeCTextureBase > > m_lightMaps; // 0x18 }; -// Alignment: 13 -// Size: 0x30 +// Alignment: 9 +// Size: 0x18 struct AggregateMeshInfo_t { public: @@ -22090,10 +19545,6 @@ private: public: ObjectTypeFlags_t m_objectFlags; // 0x10 int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x14 - Vector m_vLODOrigin; // 0x18 - float m_fLODStartDrawDistance; // 0x24 - float m_fLODEndDrawDistance; // 0x28 - float m_fMaxObjectScale; // 0x2c }; // Alignment: 4 @@ -22184,8 +19635,8 @@ public: CStrongHandle< InfoForResourceTypeIMaterial2 > m_pMaterial; // 0x10 }; -// Alignment: 12 -// Size: 0x128 +// Alignment: 13 +// Size: 0x140 struct WorldNode_t { public: @@ -22193,25 +19644,28 @@ public: CUtlVector< InfoOverlayData_t > m_infoOverlays; // 0x18 CUtlVector< uint16 > m_visClusterMembership; // 0x30 CUtlVector< AggregateSceneObject_t > m_aggregateSceneObjects; // 0x48 - CUtlVector< ExtraVertexStreamOverride_t > m_extraVertexStreamOverrides; // 0x60 - CUtlVector< MaterialOverride_t > m_materialOverrides; // 0x78 - CUtlVector< WorldNodeOnDiskBufferData_t > m_extraVertexStreams; // 0x90 - CUtlVector< CUtlString > m_layerNames; // 0xa8 - CUtlVector< uint8 > m_sceneObjectLayerIndices; // 0xc0 - CUtlVector< uint8 > m_overlayLayerIndices; // 0xd8 - CUtlString m_grassFileName; // 0xf0 - BakedLightingInfo_t m_nodeLightingInfo; // 0xf8 + CUtlVector< ClutterSceneObject_t > m_clutterSceneObjects; // 0x60 + CUtlVector< ExtraVertexStreamOverride_t > m_extraVertexStreamOverrides; // 0x78 + CUtlVector< MaterialOverride_t > m_materialOverrides; // 0x90 + CUtlVector< WorldNodeOnDiskBufferData_t > m_extraVertexStreams; // 0xa8 + CUtlVector< CUtlString > m_layerNames; // 0xc0 + CUtlVector< uint8 > m_sceneObjectLayerIndices; // 0xd8 + CUtlVector< uint8 > m_overlayLayerIndices; // 0xf0 + CUtlString m_grassFileName; // 0x108 + BakedLightingInfo_t m_nodeLightingInfo; // 0x110 }; // Alignment: 4 // Size: 0x40 struct PermEntityLumpData_t { +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: - CUtlString m_name; // 0x0 - CUtlString m_hammerUniqueId; // 0x8 - CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_childLumps; // 0x10 - CUtlVector< EntityKeyValueData_t > m_entityKeyValues; // 0x28 + CUtlString m_name; // 0x8 + CUtlString m_hammerUniqueId; // 0x10 + CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_childLumps; // 0x18 + CUtlLeanVector< EntityKeyValueData_t > m_entityKeyValues; // 0x30 }; // Alignment: 4 @@ -22225,6 +19679,27 @@ public: CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_entityLumps; // 0x68 }; +// Alignment: 8 +// Size: 0xa0 +struct ClutterSceneObject_t +{ +public: + AABB_t m_Bounds; // 0x0 + ObjectTypeFlags_t m_flags; // 0x18 + int16_t m_nLayer; // 0x1c +private: + [[maybe_unused]] uint8_t __pad001e[0x2]; // 0x1e +public: + CUtlVector< Vector > m_instancePositions; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0038[0x18]; // 0x38 +public: + CUtlVector< float32 > m_instanceScales; // 0x50 + CUtlVector< Color > m_instanceTintSrgb; // 0x68 + CUtlVector< ClutterTile_t > m_tiles; // 0x80 + CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x98 +}; + // Alignment: 0 // Size: 0x1 struct VMapResourceData_t @@ -22270,6 +19745,16 @@ public: CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x70 }; +// Alignment: 3 +// Size: 0x20 +struct ClutterTile_t +{ +public: + uint32_t m_nFirstInstance; // 0x0 + uint32_t m_nLastInstance; // 0x4 + AABB_t m_BoundsWs; // 0x8 +}; + // Alignment: 4 // Size: 0x28 struct ExtraVertexStreamOverride_t : public BaseSceneObjectOverride_t @@ -22323,6 +19808,748 @@ public: CStrongHandle< InfoForResourceTypeCRenderMesh > m_renderable; // 0x88 }; +// Alignment: 0 +// Size: 0x188 +class CPulseExecCursor +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x188]; // 0x0 +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseDocNodeID_t +{ +public: + int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("PulseDocNodeID_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x48 +class CPulseCell_Base +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + // MFgdFromSchemaCompletelySkipField + PulseDocNodeID_t m_nEditorNodeID; // 0x8 +}; + +// Alignment: 1 +// Size: 0x2 +struct PulseRuntimeStateOffset_t +{ +public: + uint16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("PulseRuntimeStateOffset_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 3 +// Size: 0x50 +class CPulseRuntimeMethodArg +{ +public: + CKV3MemberNameWithStorage m_Name; // 0x0 + CUtlString m_Description; // 0x38 + CPulseValueFullType m_Type; // 0x40 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_BaseFlow : public CPulseCell_Base +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeChunkIndex_t +{ +public: + int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("PulseRuntimeChunkIndex_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Step_DebugLog : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x10 +class CPulse_OutflowConnection +{ +public: + CUtlSymbolLarge m_SourceOutflowName; // 0x0 + PulseRuntimeChunkIndex_t m_nDestChunk; // 0x8 + int32_t m_nInstruction; // 0xc +}; + +// Alignment: 2 +// Size: 0x68 +class CPulseCell_Outflow_TestExplicitYesNo : public CPulseCell_BaseFlow +{ +public: + // MPropertyFriendlyName "Yes" + CPulse_OutflowConnection m_Yes; // 0x48 + // MPropertyFriendlyName "No" + CPulse_OutflowConnection m_No; // 0x58 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeCallInfoIndex_t +{ +public: + int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("PulseRuntimeCallInfoIndex_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 2 +// Size: 0x20 +struct PulseRegisterMap_t +{ +public: + KeyValues3 m_Inparams; // 0x0 + KeyValues3 m_Outparams; // 0x10 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Test_MultiInflow_NoDefault : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// 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: 4 +// Size: 0x1a0 +class CPulseTurtleGraphicsCursor : public CPulseExecCursor +{ +public: + Color m_Color; // 0x188 + Vector2D m_vPos; // 0x18c + float m_flHeadingDeg; // 0x194 + bool m_bPenUp; // 0x198 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeCellIndex_t +{ +public: + int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("PulseRuntimeCellIndex_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x2 +struct PulseRuntimeRegisterIndex_t +{ +public: + int16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("PulseRuntimeRegisterIndex_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_BaseValue : public CPulseCell_Base +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Val_TestDomainGetEntityName : public CPulseCell_BaseValue +{ +public: + // No members available +}; + +// 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: 0x48 +class CPulseCell_Step_TestDomainTracepoint : public CPulseCell_BaseFlow +{ +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: 0 +// Size: 0xd0 +class CBasePulseGraphInstance +{ +private: + [[maybe_unused]] uint8_t __pad0000[0xd0]; // 0x0 +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x1 +class CPulseMathlib +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +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_Step_TestDomainCreateFakeEntity : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeOutputIndex_t +{ +public: + int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("PulseRuntimeOutputIndex_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_CycleShuffled : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 +}; + +// Alignment: 6 +// Size: 0xf8 +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 + bool m_bTestYesOrNoPath; // 0xf0 + + // 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: 5 +// Size: 0xb0 +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: + CPulseValueFullType m_ReturnType; // 0x88 + CUtlVector< CPulseRuntimeMethodArg > m_Args; // 0x98 +}; + +// 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: 6 +// Size: 0x48 +class CPulse_InvokeBinding +{ +public: + PulseRegisterMap_t m_RegisterMap; // 0x0 + CUtlSymbolLarge m_FuncName; // 0x20 + PulseRuntimeCellIndex_t m_nCellIndex; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + CPulseValueFullType m_InstanceType; // 0x30 + PulseRuntimeChunkIndex_t m_nSrcChunk; // 0x40 + int32_t m_nSrcInstruction; // 0x44 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeInvokeIndex_t +{ +public: + int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("PulseRuntimeInvokeIndex_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_BaseYieldingInflow : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseTestEHandle_t +{ +public: + int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("PulseTestEHandle_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_SimultaneousParallel : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 +}; + +// Alignment: 0 +// Size: 0xf0 +class CPulseGraphInstance_TurtleGraphics : public CBasePulseGraphInstance +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x68 +class CPulseCell_Step_CallExternalMethod : public CPulseCell_BaseFlow +{ +public: + CUtlSymbolLarge m_MethodName; // 0x48 + CUtlVector< CPulseRuntimeMethodArg > m_ExpectedArgs; // 0x50 +}; + +// 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: 3 +// Size: 0x20 +class CPulse_PublicOutput +{ +public: + CUtlSymbolLarge m_Name; // 0x0 + CUtlString m_Description; // 0x8 + CPulseValueFullType m_ParamType; // 0x10 +}; + +// Alignment: 1 +// Size: 0x78 +class CPulseCell_Inflow_EventHandler : public CPulseCell_Inflow_BaseEntrypoint +{ +public: + CUtlSymbolLarge m_EventName; // 0x70 +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_CycleRandom : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 +}; + +// Alignment: 0 +// Size: 0x10 +class CPulse_ResumePoint : public CPulse_OutflowConnection +{ +public: + // No members available +}; + +// 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: 7 +// Size: 0x30 +struct FakeEntity_t +{ +public: + PulseTestEHandle_t m_nHandle; // 0x0 + CUtlString m_Name; // 0x8 + CUtlString m_Class; // 0x10 + bool m_bDestroyed; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0019[0x7]; // 0x19 +public: + CPulseGraphInstance_TestDomain* m_pAssociatedGraphInstance; // 0x20 + bool m_bFuncWasCalled; // 0x28 +private: + [[maybe_unused]] uint8_t __pad0029[0x3]; // 0x29 +public: + float m_fValue; // 0x2c +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Test_NoInflow : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x70 +class CPulseCell_Outflow_StringSwitch : public CPulseCell_BaseFlow +{ +public: + CPulse_OutflowConnection m_DefaultCaseOutflow; // 0x48 + CUtlVector< CPulse_OutflowConnection > m_CaseOutflows; // 0x58 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Test_MultiInflow_WithDefault : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Value_TestValue50 : public CPulseCell_BaseValue +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x98 +class CPulseCell_Inflow_EntOutputHandler : public CPulseCell_Inflow_BaseEntrypoint +{ +public: + CUtlSymbolLarge m_SourceEntity; // 0x70 + CUtlSymbolLarge m_SourceOutput; // 0x78 + CUtlSymbolLarge m_TargetInput; // 0x80 + CPulseValueFullType m_ExpectedParamType; // 0x88 +}; + +// Alignment: 2 +// Size: 0x190 +class CTestDomainDerived_Cursor : public CPulseExecCursor +{ +public: + int32_t m_nCursorValueA; // 0x188 + int32_t m_nCursorValueB; // 0x18c +}; + +// Alignment: 1 +// Size: 0x58 +class CPulseCell_Inflow_Wait : public CPulseCell_BaseYieldingInflow +{ +public: + CPulse_ResumePoint m_WakeResume; // 0x48 +}; + +// Alignment: 1 +// Size: 0x78 +class CPulseCell_Inflow_GraphHook : public CPulseCell_Inflow_BaseEntrypoint +{ +public: + CUtlSymbolLarge m_HookName; // 0x70 +}; + +// Alignment: 1 +// Size: 0x58 +class CPulseCell_Inflow_Yield : public CPulseCell_BaseYieldingInflow +{ +public: + CPulse_ResumePoint m_UnyieldResume; // 0x48 +}; + +// Alignment: 0 +// Size: 0x1 +class CPulseTestFuncs_DerivedDomain +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_CycleOrdered : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 +}; + +// Alignment: 1 +// Size: 0x100 +class CPulseGraphInstance_TestDomain_Derived : public CPulseGraphInstance_TestDomain +{ +public: + int32_t m_nInstanceValueX; // 0xf8 +}; + +// 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: 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: 0 +// Size: 0x1 +class CPulseTestScriptLib +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x4 +struct CPulseCell_Outflow_CycleOrdered__InstanceState_t +{ +public: + int32_t m_nNextIndex; // 0x0 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeVarIndex_t +{ +public: + int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("PulseRuntimeVarIndex_t")->m_static_fields[0]->m_instance);}; +}; + +// 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: 1 +// Size: 0x4 +struct PulseRuntimeEntrypointIndex_t +{ +public: + int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("PulseRuntimeEntrypointIndex_t")->m_static_fields[0]->m_instance);}; +}; + +// 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: 0 +// Size: 0x48 +class CPulseCell_Step_TestDomainDestroyFakeEntity : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x1 +class CPulseTestFuncs_LibraryA +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Val_TestDomainFindEntityByName : 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: 0 // Size: 0x28 class CParticleProperty @@ -22339,6 +20566,9 @@ struct ParticleAttributeIndex_t { public: int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("ParticleAttributeIndex_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 0 @@ -22351,8 +20581,8 @@ public: // No members available }; -// Alignment: 44 -// Size: 0x150 +// Alignment: 45 +// Size: 0x158 class CParticleFloatInput : public CParticleInput { public: @@ -22396,32 +20626,33 @@ public: float m_flNoiseImgPreviewScale; // 0xcc bool m_bNoiseImgPreviewLive; // 0xd0 private: - [[maybe_unused]] uint8_t __pad00d1[0x8]; // 0xd1 + [[maybe_unused]] uint8_t __pad00d1[0xb]; // 0xd1 public: - bool m_bUseBoundsCenter; // 0xd9 + float m_flNoCameraFallback; // 0xdc + bool m_bUseBoundsCenter; // 0xe0 private: - [[maybe_unused]] uint8_t __pad00da[0x2]; // 0xda + [[maybe_unused]] uint8_t __pad00e1[0x3]; // 0xe1 public: - ParticleFloatInputMode_t m_nInputMode; // 0xdc - float m_flMultFactor; // 0xe0 - float m_flInput0; // 0xe4 - float m_flInput1; // 0xe8 - float m_flOutput0; // 0xec - float m_flOutput1; // 0xf0 - float m_flNotchedRangeMin; // 0xf4 - float m_flNotchedRangeMax; // 0xf8 - float m_flNotchedOutputOutside; // 0xfc - float m_flNotchedOutputInside; // 0x100 - ParticleFloatBiasType_t m_nBiasType; // 0x104 - float m_flBiasParameter; // 0x108 + ParticleFloatInputMode_t m_nInputMode; // 0xe4 + float m_flMultFactor; // 0xe8 + float m_flInput0; // 0xec + float m_flInput1; // 0xf0 + float m_flOutput0; // 0xf4 + float m_flOutput1; // 0xf8 + float m_flNotchedRangeMin; // 0xfc + float m_flNotchedRangeMax; // 0x100 + float m_flNotchedOutputOutside; // 0x104 + float m_flNotchedOutputInside; // 0x108 + ParticleFloatBiasType_t m_nBiasType; // 0x10c + float m_flBiasParameter; // 0x110 private: - [[maybe_unused]] uint8_t __pad010c[0x4]; // 0x10c + [[maybe_unused]] uint8_t __pad0114[0x4]; // 0x114 public: - CPiecewiseCurve m_Curve; // 0x110 + CPiecewiseCurve m_Curve; // 0x118 }; // Alignment: 0 -// Size: 0x150 +// Size: 0x158 class CParticleCollectionFloatInput : public CParticleFloatInput { public: @@ -22429,7 +20660,7 @@ public: }; // Alignment: 16 -// Size: 0x1b0 +// Size: 0x1c0 class CParticleFunction { private: @@ -22440,84 +20671,84 @@ public: CParticleCollectionFloatInput m_flOpStrength; // 0x8 // MPropertyFriendlyName "operator end cap state" // MPropertySortPriority "-100" - ParticleEndcapMode_t m_nOpEndCapState; // 0x158 + ParticleEndcapMode_t m_nOpEndCapState; // 0x160 // MPropertyStartGroup "Operator Fade" // MPropertyFriendlyName "operator start fadein" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpStartFadeInTime; // 0x15c + float m_flOpStartFadeInTime; // 0x164 // MPropertyFriendlyName "operator end fadein" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpEndFadeInTime; // 0x160 + float m_flOpEndFadeInTime; // 0x168 // MPropertyFriendlyName "operator start fadeout" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpStartFadeOutTime; // 0x164 + float m_flOpStartFadeOutTime; // 0x16c // MPropertyFriendlyName "operator end fadeout" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpEndFadeOutTime; // 0x168 + float m_flOpEndFadeOutTime; // 0x170 // MPropertyFriendlyName "operator fade oscillate" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpFadeOscillatePeriod; // 0x16c + float m_flOpFadeOscillatePeriod; // 0x174 // MPropertyFriendlyName "normalize fade times to endcap" // MParticleAdvancedField // MPropertySortPriority "-100" - bool m_bNormalizeToStopTime; // 0x170 + bool m_bNormalizeToStopTime; // 0x178 private: - [[maybe_unused]] uint8_t __pad0171[0x3]; // 0x171 + [[maybe_unused]] uint8_t __pad0179[0x3]; // 0x179 public: // MPropertyStartGroup "Operator Fade Time Offset" // MPropertyFriendlyName "operator fade time offset min" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeOffsetMin; // 0x174 + float m_flOpTimeOffsetMin; // 0x17c // MPropertyFriendlyName "operator fade time offset max" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeOffsetMax; // 0x178 + float m_flOpTimeOffsetMax; // 0x180 // MPropertyFriendlyName "operator fade time offset seed" // MParticleAdvancedField // MPropertySortPriority "-100" - int32_t m_nOpTimeOffsetSeed; // 0x17c + int32_t m_nOpTimeOffsetSeed; // 0x184 // MPropertyStartGroup "Operator Fade Timescale Modifiers" // MPropertyFriendlyName "operator fade time scale seed" // MParticleAdvancedField // MPropertySortPriority "-100" - int32_t m_nOpTimeScaleSeed; // 0x180 + int32_t m_nOpTimeScaleSeed; // 0x188 // MPropertyFriendlyName "operator fade time scale min" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeScaleMin; // 0x184 + float m_flOpTimeScaleMin; // 0x18c // MPropertyFriendlyName "operator fade time scale max" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeScaleMax; // 0x188 + float m_flOpTimeScaleMax; // 0x190 private: - [[maybe_unused]] uint8_t __pad018c[0x1]; // 0x18c + [[maybe_unused]] uint8_t __pad0194[0x2]; // 0x194 public: // MPropertyStartGroup // MPropertySuppressField - bool m_bDisableOperator; // 0x18d + bool m_bDisableOperator; // 0x196 private: - [[maybe_unused]] uint8_t __pad018e[0x2]; // 0x18e + [[maybe_unused]] uint8_t __pad0197[0x1]; // 0x197 public: // MPropertyFriendlyName "operator help and notes" // MParticleHelpField // MParticleAdvancedField // MPropertySortPriority "-100" - CUtlString m_Notes; // 0x190 + CUtlString m_Notes; // 0x198 }; // Alignment: 1 // Size: 0x1c0 class CParticleFunctionInitializer : public CParticleFunction { + // Collision detected(0x1b8->0x1c0), output may be wrong. public: - // MPropertyFriendlyName "Associated emitter Index" - int32_t m_nAssociatedEmitterIndex; // 0x1b0 + // Skipped field "m_nAssociatedEmitterIndex" @ 0x1b8 because of the struct collision }; // Alignment: 12 @@ -22557,7 +20788,7 @@ public: }; // Alignment: 23 -// Size: 0x638 +// Size: 0x658 class CParticleVecInput : public CParticleInput { public: @@ -22580,28 +20811,20 @@ public: Vector m_vCPRelativePosition; // 0x90 Vector m_vCPRelativeDir; // 0x9c CParticleFloatInput m_FloatComponentX; // 0xa8 - CParticleFloatInput m_FloatComponentY; // 0x1f8 - CParticleFloatInput m_FloatComponentZ; // 0x348 - CParticleFloatInput m_FloatInterp; // 0x498 - float m_flInterpInput0; // 0x5e8 - float m_flInterpInput1; // 0x5ec - Vector m_vInterpOutput0; // 0x5f0 - Vector m_vInterpOutput1; // 0x5fc - CColorGradient m_Gradient; // 0x608 - Vector m_vRandomMin; // 0x620 - Vector m_vRandomMax; // 0x62c -}; - -// Alignment: 1 -// Size: 0x4 -struct PulseDocNodeID_t -{ -public: - int32_t m_Value; // 0x0 + CParticleFloatInput m_FloatComponentY; // 0x200 + CParticleFloatInput m_FloatComponentZ; // 0x358 + CParticleFloatInput m_FloatInterp; // 0x4b0 + float m_flInterpInput0; // 0x608 + float m_flInterpInput1; // 0x60c + Vector m_vInterpOutput0; // 0x610 + Vector m_vInterpOutput1; // 0x61c + CColorGradient m_Gradient; // 0x628 + Vector m_vRandomMin; // 0x640 + Vector m_vRandomMax; // 0x64c }; // Alignment: 0 -// Size: 0x1b0 +// Size: 0x1c0 class CParticleFunctionOperator : public CParticleFunction { public: @@ -22670,52 +20893,41 @@ 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: 0x1e0 +// Size: 0x1f0 class C_OP_CycleScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "destination scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDestField; // 0x1b0 + ParticleAttributeIndex_t m_nDestField; // 0x1c0 // MPropertyFriendlyName "Value at start of cycle" - float m_flStartValue; // 0x1b4 + float m_flStartValue; // 0x1c4 // MPropertyFriendlyName "Value at end of cycle" - float m_flEndValue; // 0x1b8 + float m_flEndValue; // 0x1c8 // MPropertyFriendlyName "Cycle time" - float m_flCycleTime; // 0x1bc + float m_flCycleTime; // 0x1cc // MPropertyFriendlyName "Do not repeat cycle" - bool m_bDoNotRepeatCycle; // 0x1c0 + bool m_bDoNotRepeatCycle; // 0x1d0 // MPropertyFriendlyName "Synchronize particles" - bool m_bSynchronizeParticles; // 0x1c1 + bool m_bSynchronizeParticles; // 0x1d1 private: - [[maybe_unused]] uint8_t __pad01c2[0x2]; // 0x1c2 + [[maybe_unused]] uint8_t __pad01d2[0x2]; // 0x1d2 public: // MPropertyFriendlyName "Scale Start/End Control Point" - int32_t m_nCPScale; // 0x1c4 + int32_t m_nCPScale; // 0x1d4 // MPropertyFriendlyName "start scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMin; // 0x1c8 + int32_t m_nCPFieldMin; // 0x1d8 // MPropertyFriendlyName "end scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMax; // 0x1cc + int32_t m_nCPFieldMax; // 0x1dc // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1d0 + ParticleSetMethod_t m_nSetMethod; // 0x1e0 }; // Alignment: 0 -// Size: 0x150 +// Size: 0x158 class CPerParticleFloatInput : public CParticleFloatInput { public: @@ -22723,7 +20935,7 @@ public: }; // Alignment: 0 -// Size: 0x1b0 +// Size: 0x1c0 class CParticleFunctionConstraint : public CParticleFunction { public: @@ -22734,46 +20946,46 @@ public: // Size: 0x200 class CParticleFunctionRenderer : public CParticleFunction { + // Collision detected(0x1b8->0x1c0), output may be wrong. public: - // MPropertySortPriority "-1" - CParticleVisibilityInputs VisibilityInputs; // 0x1b0 + // Skipped field "VisibilityInputs" @ 0x1b8 because of the struct collision // MPropertyStartGroup "Rendering filter" // MPropertyFriendlyName "I cannot be refracted through refracting objects like water" // MPropertySortPriority "-1" - bool m_bCannotBeRefracted; // 0x1f4 + bool m_bCannotBeRefracted; // 0x1fc // MPropertyFriendlyName "Skip rendering on mobile" // MPropertySortPriority "-1" - bool m_bSkipRenderingOnMobile; // 0x1f5 + bool m_bSkipRenderingOnMobile; // 0x1fd }; // Alignment: 8 -// Size: 0x470 +// Size: 0x490 class C_OP_SetPerChildControlPoint : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1b0 + int32_t m_nChildGroupID; // 0x1c0 // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1b4 + int32_t m_nFirstControlPoint; // 0x1c4 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x1b8 + int32_t m_nNumControlPoints; // 0x1c8 private: - [[maybe_unused]] uint8_t __pad01bc[0x4]; // 0x1bc + [[maybe_unused]] uint8_t __pad01cc[0x4]; // 0x1cc public: // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_nParticleIncrement; // 0x1c0 + CParticleCollectionFloatInput m_nParticleIncrement; // 0x1d0 // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x310 + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x328 // MPropertyFriendlyName "set orientation from velocity" - bool m_bSetOrientation; // 0x460 + bool m_bSetOrientation; // 0x480 private: - [[maybe_unused]] uint8_t __pad0461[0x3]; // 0x461 + [[maybe_unused]] uint8_t __pad0481[0x3]; // 0x481 public: // MPropertyFriendlyName "orientation vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOrientationField; // 0x464 + ParticleAttributeIndex_t m_nOrientationField; // 0x484 // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x468 + bool m_bNumBasedOnParticleCount; // 0x488 }; // Alignment: 8 @@ -22798,21 +21010,13 @@ public: }; // Alignment: 0 -// Size: 0x150 +// Size: 0x158 class CParticleCollectionRendererFloatInput : public CParticleCollectionFloatInput { public: // No members available }; -// Alignment: 1 -// Size: 0x2 -struct PulseRuntimeStateOffset_t -{ -public: - uint16_t m_Value; // 0x0 -}; - // Alignment: 5 // Size: 0x250 class C_INIT_ModelCull : public CParticleFunctionInitializer @@ -22831,21 +21035,13 @@ public: }; // Alignment: 0 -// Size: 0x1b0 +// Size: 0x1d0 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 @@ -22863,23 +21059,23 @@ public: }; // Alignment: 3 -// Size: 0x1d0 +// Size: 0x1e0 class CGeneralSpin : public CParticleFunctionOperator { public: // MPropertyFriendlyName "spin rate degrees" - int32_t m_nSpinRateDegrees; // 0x1b0 + int32_t m_nSpinRateDegrees; // 0x1c0 // MPropertyFriendlyName "spin rate min" - int32_t m_nSpinRateMinDegrees; // 0x1b4 + int32_t m_nSpinRateMinDegrees; // 0x1c4 private: - [[maybe_unused]] uint8_t __pad01b8[0x4]; // 0x1b8 + [[maybe_unused]] uint8_t __pad01c8[0x4]; // 0x1c8 public: // MPropertyFriendlyName "spin stop time" - float m_fSpinRateStopTime; // 0x1bc + float m_fSpinRateStopTime; // 0x1cc }; // Alignment: 0 -// Size: 0x638 +// Size: 0x658 class CParticleCollectionVecInput : public CParticleVecInput { public: @@ -22887,17 +21083,17 @@ public: }; // Alignment: 3 -// Size: 0x1d0 +// Size: 0x1f0 class C_OP_ParentVortices : public CParticleFunctionForce { public: // MPropertyFriendlyName "amount of force" - float m_flForceScale; // 0x1b0 + float m_flForceScale; // 0x1d0 // MPropertyFriendlyName "twist axis" // MVectorIsCoordinate - Vector m_vecTwistAxis; // 0x1b4 + Vector m_vecTwistAxis; // 0x1d4 // MPropertyFriendlyName "flip twist axis with yaw" - bool m_bFlipBasedOnYaw; // 0x1c0 + bool m_bFlipBasedOnYaw; // 0x1e0 }; // Alignment: 6 @@ -22914,25 +21110,25 @@ public: }; // Alignment: 3 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_SetToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 // MPropertyFriendlyName "offset" - Vector m_vecOffset; // 0x1b4 + Vector m_vecOffset; // 0x1c4 // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x1c0 + bool m_bOffsetLocal; // 0x1d0 }; // Alignment: 1 -// Size: 0x1c0 +// Size: 0x1d0 class CParticleFunctionPreEmission : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Run Only Once" - bool m_bRunOnce; // 0x1b0 + bool m_bRunOnce; // 0x1c0 }; // Alignment: 2 @@ -22944,51 +21140,35 @@ public: CPerParticleFloatInput m_InputValue; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x310 + ParticleAttributeIndex_t m_nOutputField; // 0x318 }; // Alignment: 7 -// Size: 0x700 +// Size: 0x730 class C_OP_RemapParticleCountToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_nInputMin; // 0x1b8 + CParticleCollectionFloatInput m_nInputMin; // 0x1c8 // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_nInputMax; // 0x308 + CParticleCollectionFloatInput m_nInputMax; // 0x320 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x458 + CParticleCollectionFloatInput m_flOutputMin; // 0x478 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5a8 + CParticleCollectionFloatInput m_flOutputMax; // 0x5d0 // MPropertyFriendlyName - bool m_bActiveRange; // 0x6f8 + bool m_bActiveRange; // 0x728 private: - [[maybe_unused]] uint8_t __pad06f9[0x3]; // 0x6f9 + [[maybe_unused]] uint8_t __pad0729[0x3]; // 0x729 public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x6fc -}; - -// 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 + ParticleSetMethod_t m_nSetMethod; // 0x72c }; // Alignment: 0 @@ -23002,49 +21182,39 @@ public: }; // Alignment: 7 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_VectorNoise : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1b4 + Vector m_vecOutputMin; // 0x1c4 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x1c0 + Vector m_vecOutputMax; // 0x1d0 // MPropertyFriendlyName "noise coordinate scale" - float m_fl4NoiseScale; // 0x1cc + float m_fl4NoiseScale; // 0x1dc // MPropertyFriendlyName "additive" - bool m_bAdditive; // 0x1d0 + bool m_bAdditive; // 0x1e0 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x1d1 + bool m_bOffset; // 0x1e1 private: - [[maybe_unused]] uint8_t __pad01d2[0x2]; // 0x1d2 + [[maybe_unused]] uint8_t __pad01e2[0x2]; // 0x1e2 public: // MPropertyFriendlyName "Noise animation time scale" - float m_flNoiseAnimationTimeScale; // 0x1d4 -}; - -// Alignment: 3 -// Size: 0x10 -class CPulse_OutflowConnection -{ -public: - CUtlSymbolLarge m_SourceOutflowName; // 0x0 - PulseRuntimeChunkIndex_t m_nDestChunk; // 0x8 - int32_t m_nInstruction; // 0xc + float m_flNoiseAnimationTimeScale; // 0x1e4 }; // Alignment: 1 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_ForceControlPointStub : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point" - int32_t m_ControlPoint; // 0x1c0 + int32_t m_ControlPoint; // 0x1d0 }; // Alignment: 6 @@ -23061,42 +21231,42 @@ public: // MPropertyFriendlyName "warp amount" CPerParticleFloatInput m_InputValue; // 0x1d8 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x328 + float m_flPrevPosScale; // 0x330 // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0x32c + int32_t m_nScaleControlPointNumber; // 0x334 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x330 + int32_t m_nControlPointNumber; // 0x338 }; // Alignment: 5 -// Size: 0x700 +// Size: 0x730 class C_OP_RopeSpringConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "slack" - CParticleCollectionFloatInput m_flRestLength; // 0x1b0 + CParticleCollectionFloatInput m_flRestLength; // 0x1c0 // MPropertyFriendlyName "minimum segment length %" - CParticleCollectionFloatInput m_flMinDistance; // 0x300 + CParticleCollectionFloatInput m_flMinDistance; // 0x318 // MPropertyFriendlyName "maximum segment length %" - CParticleCollectionFloatInput m_flMaxDistance; // 0x450 + CParticleCollectionFloatInput m_flMaxDistance; // 0x470 // MPropertyFriendlyName "scale factor for spring correction" - float m_flAdjustmentScale; // 0x5a0 + float m_flAdjustmentScale; // 0x5c8 private: - [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 + [[maybe_unused]] uint8_t __pad05cc[0x4]; // 0x5cc public: // MPropertyFriendlyName "manual resting spacing" - CParticleCollectionFloatInput m_flInitialRestingLength; // 0x5a8 + CParticleCollectionFloatInput m_flInitialRestingLength; // 0x5d0 }; // Alignment: 2 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_SetControlPointOrientationToCPVelocity : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point input for velocity" - int32_t m_nCPInput; // 0x1c0 + int32_t m_nCPInput; // 0x1d0 // MPropertyFriendlyName "control point output for orientation" - int32_t m_nCPOutput; // 0x1c4 + int32_t m_nCPOutput; // 0x1d4 }; // Alignment: 7 @@ -23125,51 +21295,43 @@ public: // Size: 0x1c0 class CParticleFunctionEmitter : public CParticleFunction { + // Collision detected(0x1b8->0x1c0), output may be wrong. public: - // MPropertyFriendlyName "Emitter Index" - int32_t m_nEmitterIndex; // 0x1b0 + // Skipped field "m_nEmitterIndex" @ 0x1b8 because of the struct collision }; // Alignment: 0 -// Size: 0x638 +// Size: 0x658 class CPerParticleVecInput : public CParticleVecInput { public: // No members available }; -// Alignment: 1 -// Size: 0x4 -struct PulseRuntimeCallInfoIndex_t -{ -public: - int32_t m_Value; // 0x0 -}; - // Alignment: 7 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_RemapSpeed : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1b4 + float m_flInputMin; // 0x1c4 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1b8 + float m_flInputMax; // 0x1c8 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1bc + float m_flOutputMin; // 0x1cc // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c0 + float m_flOutputMax; // 0x1d0 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1c4 + ParticleSetMethod_t m_nSetMethod; // 0x1d4 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDelta; // 0x1c8 + bool m_bIgnoreDelta; // 0x1d8 }; // Alignment: 0 -// Size: 0x1b0 +// Size: 0x1c0 class C_OP_WorldCollideConstraint : public CParticleFunctionConstraint { public: @@ -23190,15 +21352,6 @@ public: float m_flScale; // 0xc }; -// Alignment: 2 -// Size: 0x20 -struct PulseRegisterMap_t -{ -public: - KeyValues3 m_Inparams; // 0x0 - KeyValues3 m_Outparams; // 0x10 -}; - // Alignment: 4 // Size: 0x1d0 class C_INIT_SetRigidAttachment : public CParticleFunctionInitializer @@ -23216,8 +21369,8 @@ public: bool m_bLocalSpace; // 0x1cc }; -// Alignment: 15 -// Size: 0x58 +// Alignment: 16 +// Size: 0x68 struct ParticlePreviewState_t { public: @@ -23239,54 +21392,65 @@ public: bool m_bShouldDrawAttachmentNames; // 0x52 bool m_bShouldDrawControlPointAxes; // 0x53 bool m_bAnimationNonLooping; // 0x54 +private: + [[maybe_unused]] uint8_t __pad0055[0x3]; // 0x55 +public: + Vector m_vecPreviewGravity; // 0x58 }; -// Alignment: 6 -// Size: 0x1e0 +// Alignment: 8 +// Size: 0x1f0 class C_OP_RemapDensityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1b0 + float m_flRadiusScale; // 0x1c0 // MPropertyFriendlyName "Output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "Density value to map to min value" - float m_flDensityMin; // 0x1b8 + float m_flDensityMin; // 0x1c8 // MPropertyFriendlyName "Density value to map to max value" - float m_flDensityMax; // 0x1bc + float m_flDensityMax; // 0x1cc // MPropertyFriendlyName "Output minimum" - Vector m_vecOutputMin; // 0x1c0 + Vector m_vecOutputMin; // 0x1d0 // MPropertyFriendlyName "Output maximum" - Vector m_vecOutputMax; // 0x1cc + Vector m_vecOutputMax; // 0x1dc + // MPropertyFriendlyName "Use parent density instead of ours" + bool m_bUseParentDensity; // 0x1e8 +private: + [[maybe_unused]] uint8_t __pad01e9[0x3]; // 0x1e9 +public: + // MPropertyFriendlyName "Resolution to use for creating a voxel grid" + int32_t m_nVoxelGridResolution; // 0x1ec }; // Alignment: 7 -// Size: 0x1f0 +// Size: 0x210 class C_OP_ForceBasedOnDistanceToPlane : public CParticleFunctionForce { public: // MPropertyFriendlyName "min distance from plane" - float m_flMinDist; // 0x1b0 + float m_flMinDist; // 0x1d0 // MPropertyFriendlyName "force at min distance" // MVectorIsCoordinate - Vector m_vecForceAtMinDist; // 0x1b4 + Vector m_vecForceAtMinDist; // 0x1d4 // MPropertyFriendlyName "max distance from plane" - float m_flMaxDist; // 0x1c0 + float m_flMaxDist; // 0x1e0 // MPropertyFriendlyName "force at max distance" // MVectorIsCoordinate - Vector m_vecForceAtMaxDist; // 0x1c4 + Vector m_vecForceAtMaxDist; // 0x1e4 // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - Vector m_vecPlaneNormal; // 0x1d0 + Vector m_vecPlaneNormal; // 0x1f0 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1dc + int32_t m_nControlPointNumber; // 0x1fc // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x1e0 + float m_flExponent; // 0x200 }; // Alignment: 0 -// Size: 0x1b0 +// Size: 0x1c0 class C_OP_EndCapDecay : public CParticleFunctionOperator { public: @@ -23294,7 +21458,7 @@ public: }; // Alignment: 15 -// Size: 0x910 +// Size: 0x930 class C_INIT_DistanceToCPInit : public CParticleFunctionInitializer { public: @@ -23307,57 +21471,65 @@ public: // MPropertyFriendlyName "distance minimum" CPerParticleFloatInput m_flInputMin; // 0x1c8 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x318 + CPerParticleFloatInput m_flInputMax; // 0x320 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x478 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5b8 + CPerParticleFloatInput m_flOutputMax; // 0x5d0 // MPropertyFriendlyName "control point" - int32_t m_nStartCP; // 0x708 + int32_t m_nStartCP; // 0x728 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x70c + bool m_bLOS; // 0x72c // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x70d + char m_CollisionGroupName[128]; // 0x72d private: - [[maybe_unused]] uint8_t __pad078d[0x3]; // 0x78d + [[maybe_unused]] uint8_t __pad07ad[0x3]; // 0x7ad public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x790 + ParticleTraceSet_t m_nTraceSet; // 0x7b0 private: - [[maybe_unused]] uint8_t __pad0794[0x4]; // 0x794 + [[maybe_unused]] uint8_t __pad07b4[0x4]; // 0x7b4 public: // MPropertyFriendlyName "Maximum Trace Length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x798 + CPerParticleFloatInput m_flMaxTraceLength; // 0x7b8 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x8e8 + float m_flLOSScale; // 0x910 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x8ec + ParticleSetMethod_t m_nSetMethod; // 0x914 // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x8f0 + bool m_bActiveRange; // 0x918 private: - [[maybe_unused]] uint8_t __pad08f1[0x3]; // 0x8f1 + [[maybe_unused]] uint8_t __pad0919[0x3]; // 0x919 public: // MPropertyFriendlyName "distance component scale" - Vector m_vecDistanceScale; // 0x8f4 + Vector m_vecDistanceScale; // 0x91c // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x900 + float m_flRemapBias; // 0x928 }; -// Alignment: 3 -// Size: 0x320 +// Alignment: 6 +// Size: 0x340 class C_OP_EnableChildrenFromParentParticleCount : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1c0 + int32_t m_nChildGroupID; // 0x1d0 // MPropertyFriendlyName "first child to enable" - int32_t m_nFirstChild; // 0x1c4 + int32_t m_nFirstChild; // 0x1d4 // MPropertyFriendlyName "max # of children to enable (-1 for max particle count)" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x1c8 + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x1d8 + // MPropertyFriendlyName "remove children when particle count lowers" + bool m_bDisableChildren; // 0x330 + // MPropertyFriendlyName "play endcap when children are removed" + // MPropertySuppressExpr "!m_bDisableChildren" + bool m_bPlayEndcapOnStop; // 0x331 + // MPropertyFriendlyName "destroy particles immediately when child is removed" + // MPropertySuppressExpr "!m_bDisableChildren" + bool m_bDestroyImmediately; // 0x332 }; // Alignment: 7 -// Size: 0xd90 +// Size: 0xdd0 class C_OP_RenderLightBeam : public CParticleFunctionRenderer { public: @@ -23365,24 +21537,24 @@ public: CParticleCollectionVecInput m_vColorBlend; // 0x200 // MPropertyFriendlyName "Color Blend Type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x838 + ParticleColorBlendType_t m_nColorBlendType; // 0x858 private: - [[maybe_unused]] uint8_t __pad083c[0x4]; // 0x83c + [[maybe_unused]] uint8_t __pad085c[0x4]; // 0x85c public: // MPropertyFriendlyName "Lumens Per Meter" - CParticleCollectionFloatInput m_flBrightnessLumensPerMeter; // 0x840 + CParticleCollectionFloatInput m_flBrightnessLumensPerMeter; // 0x860 // MPropertyFriendlyName "Shadows" // MPropertySuppressExpr "mod == csgo" - bool m_bCastShadows; // 0x990 + bool m_bCastShadows; // 0x9b8 private: - [[maybe_unused]] uint8_t __pad0991[0x7]; // 0x991 + [[maybe_unused]] uint8_t __pad09b9[0x7]; // 0x9b9 public: // MPropertyFriendlyName "Skirt" - CParticleCollectionFloatInput m_flSkirt; // 0x998 + CParticleCollectionFloatInput m_flSkirt; // 0x9c0 // MPropertyFriendlyName "Range" - CParticleCollectionFloatInput m_flRange; // 0xae8 + CParticleCollectionFloatInput m_flRange; // 0xb18 // MPropertyFriendlyName "Thickness" - CParticleCollectionFloatInput m_flThickness; // 0xc38 + CParticleCollectionFloatInput m_flThickness; // 0xc70 }; // Alignment: 3 @@ -23400,25 +21572,25 @@ public: }; // Alignment: 6 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_MovementRigidAttachToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 // MPropertyFriendlyName "scale control point number" - int32_t m_nScaleControlPoint; // 0x1b4 + int32_t m_nScaleControlPoint; // 0x1c4 // MPropertyFriendlyName "scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleCPField; // 0x1b8 + int32_t m_nScaleCPField; // 0x1c8 // MPropertyFriendlyName "cache attribute to read from" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1bc + ParticleAttributeIndex_t m_nFieldInput; // 0x1cc // MPropertyFriendlyName "attribute to write to" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1d0 // MPropertyFriendlyName "local space" - bool m_bOffsetLocal; // 0x1c4 + bool m_bOffsetLocal; // 0x1d4 }; // Alignment: 9 @@ -23447,22 +21619,22 @@ public: }; // Alignment: 4 -// Size: 0x1f0 +// Size: 0x200 class C_OP_RampScalarLinearSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x1b0 + float m_Rate; // 0x1c0 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1b4 + float m_flStartTime; // 0x1c4 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1b8 + float m_flEndTime; // 0x1c8 private: - [[maybe_unused]] uint8_t __pad01bc[0x24]; // 0x1bc + [[maybe_unused]] uint8_t __pad01cc[0x24]; // 0x1cc public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1e0 + ParticleAttributeIndex_t m_nField; // 0x1f0 }; // Alignment: 5 @@ -23499,6 +21671,24 @@ public: bool m_bModelFromRenderer; // 0x208 }; +// Alignment: 5 +// Size: 0x340 +class C_OP_SetGravityToCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "control point to sample gravity" + int32_t m_nCPInput; // 0x1d0 + // MPropertyFriendlyName "output control point" + int32_t m_nCPOutput; // 0x1d4 + // MPropertyFriendlyName "gravity scale" + CParticleCollectionFloatInput m_flScale; // 0x1d8 + // MPropertyFriendlyName "set orientation" + bool m_bSetOrientation; // 0x330 + // MPropertyFriendlyName "set gravity orientation to Z Down (instead of X)" + // MPropertySuppressExpr "!m_bSetOrientation" + bool m_bSetZDown; // 0x331 +}; + // Alignment: 10 // Size: 0x210 class C_INIT_RandomColor : public CParticleFunctionInitializer @@ -23530,21 +21720,21 @@ public: }; // Alignment: 4 -// Size: 0x330 +// Size: 0x350 class C_OP_LerpToOtherAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1b0 + CPerParticleFloatInput m_flInterpolation; // 0x1c0 // MPropertyFriendlyName "input attribute from" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInputFrom; // 0x300 + ParticleAttributeIndex_t m_nFieldInputFrom; // 0x318 // MPropertyFriendlyName "input attribute to" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x304 + ParticleAttributeIndex_t m_nFieldInput; // 0x31c // MPropertyFriendlyName "output attribute" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x308 + ParticleAttributeIndex_t m_nFieldOutput; // 0x320 }; // Alignment: 5 @@ -23572,24 +21762,24 @@ public: }; // Alignment: 5 -// Size: 0x480 +// Size: 0x4a0 class C_OP_SetAttributeToScalarExpression : public CParticleFunctionOperator { public: // MPropertyFriendlyName "expression" - ScalarExpressionType_t m_nExpression; // 0x1b0 + ScalarExpressionType_t m_nExpression; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "input 1" - CPerParticleFloatInput m_flInput1; // 0x1b8 + CPerParticleFloatInput m_flInput1; // 0x1c8 // MPropertyFriendlyName "input 2" - CPerParticleFloatInput m_flInput2; // 0x308 + CPerParticleFloatInput m_flInput2; // 0x320 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x458 + ParticleAttributeIndex_t m_nOutputField; // 0x478 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x45c + ParticleSetMethod_t m_nSetMethod; // 0x47c }; // Alignment: 3 @@ -23606,7 +21796,7 @@ public: }; // Alignment: 1 -// Size: 0x800 +// Size: 0x820 class C_INIT_ScaleVelocity : public CParticleFunctionInitializer { public: @@ -23615,51 +21805,43 @@ public: CParticleCollectionVecInput m_vecScale; // 0x1c0 }; -// Alignment: 0 -// Size: 0x48 -class CPulseCell_Test_MultiInflow_NoDefault : public CPulseCell_BaseFlow -{ -public: - // No members available -}; - // Alignment: 7 -// Size: 0x210 +// Size: 0x220 class C_OP_RemapNamedModelElementEndCap : public CParticleFunctionOperator { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1b0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1c0 // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x1b8 + CUtlVector< CUtlString > m_inNames; // 0x1c8 // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x1d0 + CUtlVector< CUtlString > m_outNames; // 0x1e0 // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x1e8 + CUtlVector< CUtlString > m_fallbackNames; // 0x1f8 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x200 + bool m_bModelFromRenderer; // 0x210 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0211[0x3]; // 0x211 public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x204 + ParticleAttributeIndex_t m_nFieldInput; // 0x214 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x208 + ParticleAttributeIndex_t m_nFieldOutput; // 0x218 }; // Alignment: 2 -// Size: 0x310 +// Size: 0x330 class C_OP_CPVelocityForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 public: // MPropertyFriendlyName "velocity scale" - CPerParticleFloatInput m_flScale; // 0x1b8 + CPerParticleFloatInput m_flScale; // 0x1d8 }; // Alignment: 7 @@ -23683,54 +21865,27 @@ public: bool m_bUseParticleCount; // 0x1d8 }; -// 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: 0x1d0 +// Size: 0x1e0 class C_OP_LockPoints : public CParticleFunctionOperator { public: // MPropertyFriendlyName "min column/particle index to affect" - int32_t m_nMinCol; // 0x1b0 + int32_t m_nMinCol; // 0x1c0 // MPropertyFriendlyName "max column/particle index to affect" - int32_t m_nMaxCol; // 0x1b4 + int32_t m_nMaxCol; // 0x1c4 // MPropertyFriendlyName "min row/particle index to affect" - int32_t m_nMinRow; // 0x1b8 + int32_t m_nMinRow; // 0x1c8 // MPropertyFriendlyName "max row/particle index to affect" - int32_t m_nMaxRow; // 0x1bc + int32_t m_nMaxRow; // 0x1cc // MPropertyFriendlyName "control point to lock to" - int32_t m_nControlPoint; // 0x1c0 + int32_t m_nControlPoint; // 0x1d0 // MPropertyFriendlyName "amount of current position to preserve" - float m_flBlendValue; // 0x1c4 + float m_flBlendValue; // 0x1d4 }; // Alignment: 4 -// Size: 0x320 +// Size: 0x330 class C_INIT_CreateFromCPs : public CParticleFunctionInitializer { public: @@ -23749,28 +21904,28 @@ public: }; // Alignment: 7 -// Size: 0x470 +// Size: 0x490 class C_OP_PlanarConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "plane point" // MVectorIsCoordinate - Vector m_PointOnPlane; // 0x1b0 + Vector m_PointOnPlane; // 0x1c0 // MPropertyFriendlyName "plane normal" - Vector m_PlaneNormal; // 0x1bc + Vector m_PlaneNormal; // 0x1cc // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1c8 + int32_t m_nControlPointNumber; // 0x1d8 // MPropertyFriendlyName "global origin" - bool m_bGlobalOrigin; // 0x1cc + bool m_bGlobalOrigin; // 0x1dc // MPropertyFriendlyName "global normal" - bool m_bGlobalNormal; // 0x1cd + bool m_bGlobalNormal; // 0x1dd private: - [[maybe_unused]] uint8_t __pad01ce[0x2]; // 0x1ce + [[maybe_unused]] uint8_t __pad01de[0x2]; // 0x1de public: // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x1d0 + CPerParticleFloatInput m_flRadiusScale; // 0x1e0 // MPropertyFriendlyName "falloff distance from control point" - CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x320 + CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x338 }; // Alignment: 2 @@ -23785,20 +21940,20 @@ public: }; // Alignment: 5 -// Size: 0x5c0 +// Size: 0x5e0 class C_OP_SelectivelyEnableChildren : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - CParticleCollectionFloatInput m_nChildGroupID; // 0x1c0 + CParticleCollectionFloatInput m_nChildGroupID; // 0x1d0 // MPropertyFriendlyName "first child to enable" - CParticleCollectionFloatInput m_nFirstChild; // 0x310 + CParticleCollectionFloatInput m_nFirstChild; // 0x328 // MPropertyFriendlyName "# of children to enable" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x460 + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x480 // MPropertyFriendlyName "play endcap when children are removed" - bool m_bPlayEndcapOnStop; // 0x5b0 + bool m_bPlayEndcapOnStop; // 0x5d8 // MPropertyFriendlyName "destroy particles immediately when child is removed" - bool m_bDestroyImmediately; // 0x5b1 + bool m_bDestroyImmediately; // 0x5d9 }; // Alignment: 4 @@ -23935,214 +22090,206 @@ public: }; // Alignment: 1 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_RadiusDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum radius" - float m_flMinRadius; // 0x1b0 + float m_flMinRadius; // 0x1c0 }; // Alignment: 14 -// Size: 0x1a40 +// Size: 0x1ac0 class C_INIT_CreateWithinSphereTransform : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "distance min" CPerParticleFloatInput m_fRadiusMin; // 0x1c0 // MPropertyFriendlyName "distance max" - CPerParticleFloatInput m_fRadiusMax; // 0x310 + CPerParticleFloatInput m_fRadiusMax; // 0x318 // MPropertyFriendlyName "distance bias" // MVectorIsCoordinate - CPerParticleVecInput m_vecDistanceBias; // 0x460 + CPerParticleVecInput m_vecDistanceBias; // 0x470 // MPropertyFriendlyName "distance bias absolute value" // MVectorIsCoordinate - Vector m_vecDistanceBiasAbs; // 0xa98 + Vector m_vecDistanceBiasAbs; // 0xac8 private: - [[maybe_unused]] uint8_t __pad0aa4[0x4]; // 0xaa4 + [[maybe_unused]] uint8_t __pad0ad4[0x4]; // 0xad4 public: // MPropertyFriendlyName "input position transform" - CParticleTransformInput m_TransformInput; // 0xaa8 + CParticleTransformInput m_TransformInput; // 0xad8 // MPropertyFriendlyName "speed min" - CPerParticleFloatInput m_fSpeedMin; // 0xb10 + CPerParticleFloatInput m_fSpeedMin; // 0xb40 // MPropertyFriendlyName "speed max" - CPerParticleFloatInput m_fSpeedMax; // 0xc60 + CPerParticleFloatInput m_fSpeedMax; // 0xc98 // MPropertyFriendlyName "speed random exponent" - float m_fSpeedRandExp; // 0xdb0 + float m_fSpeedRandExp; // 0xdf0 // MPropertyFriendlyName "bias in local system" - bool m_bLocalCoords; // 0xdb4 + bool m_bLocalCoords; // 0xdf4 private: - [[maybe_unused]] uint8_t __pad0db5[0x3]; // 0xdb5 + [[maybe_unused]] uint8_t __pad0df5[0x3]; // 0xdf5 public: // MPropertyFriendlyName "randomly distribution growth time" - float m_flEndCPGrowthTime; // 0xdb8 + float m_flEndCPGrowthTime; // 0xdf8 private: - [[maybe_unused]] uint8_t __pad0dbc[0x4]; // 0xdbc + [[maybe_unused]] uint8_t __pad0dfc[0x4]; // 0xdfc public: // MPropertyFriendlyName "speed in local coordinate system min" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0xdc0 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0xe00 // MPropertyFriendlyName "speed in local coordinate system max" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x13f8 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x1458 // MPropertyFriendlyName "Output vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1a30 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1ab0 // MPropertyFriendlyName "Velocity vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldVelocity; // 0x1a34 + ParticleAttributeIndex_t m_nFieldVelocity; // 0x1ab4 }; // Alignment: 7 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_SnapshotSkinToBones : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x1b0 + bool m_bTransformNormals; // 0x1c0 // MPropertyFriendlyName "scale radii" - bool m_bTransformRadii; // 0x1b1 + bool m_bTransformRadii; // 0x1c1 private: - [[maybe_unused]] uint8_t __pad01b2[0x2]; // 0x1b2 + [[maybe_unused]] uint8_t __pad01c2[0x2]; // 0x1c2 public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b4 + int32_t m_nControlPointNumber; // 0x1c4 // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x1b8 + float m_flLifeTimeFadeStart; // 0x1c8 // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x1bc + float m_flLifeTimeFadeEnd; // 0x1cc // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x1c0 + float m_flJumpThreshold; // 0x1d0 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x1c4 + float m_flPrevPosScale; // 0x1d4 }; // Alignment: 9 -// Size: 0x260 +// Size: 0x270 class C_OP_SetCPOrientationToGroundNormal : public CParticleFunctionOperator { public: // MPropertyFriendlyName "interpolation rate" - float m_flInterpRate; // 0x1b0 + float m_flInterpRate; // 0x1c0 // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x1b4 + float m_flMaxTraceLength; // 0x1c4 // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x1b8 + float m_flTolerance; // 0x1c8 // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x1bc + float m_flTraceOffset; // 0x1cc // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x1c0 + char m_CollisionGroupName[128]; // 0x1d0 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x240 + ParticleTraceSet_t m_nTraceSet; // 0x250 // MPropertyFriendlyName "CP to trace from" - int32_t m_nInputCP; // 0x244 + int32_t m_nInputCP; // 0x254 // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x248 + int32_t m_nOutputCP; // 0x258 private: - [[maybe_unused]] uint8_t __pad024c[0xc]; // 0x24c + [[maybe_unused]] uint8_t __pad025c[0xc]; // 0x25c public: // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x258 + bool m_bIncludeWater; // 0x268 }; // Alignment: 4 -// Size: 0x1d0 +// Size: 0x1f0 class C_OP_TimeVaryingForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "time to start transition" - float m_flStartLerpTime; // 0x1b0 + float m_flStartLerpTime; // 0x1d0 // MPropertyFriendlyName "starting force" // MVectorIsCoordinate - Vector m_StartingForce; // 0x1b4 + Vector m_StartingForce; // 0x1d4 // MPropertyFriendlyName "time to end transition" - float m_flEndLerpTime; // 0x1c0 + float m_flEndLerpTime; // 0x1e0 // MPropertyFriendlyName "ending force" // MVectorIsCoordinate - Vector m_EndingForce; // 0x1c4 + Vector m_EndingForce; // 0x1e4 }; // Alignment: 16 -// Size: 0x950 +// Size: 0x988 struct TextureControls_t { public: // MPropertyFriendlyName "horizontal texture scale" CParticleCollectionRendererFloatInput m_flFinalTextureScaleU; // 0x0 // MPropertyFriendlyName "vertical texture scale" - CParticleCollectionRendererFloatInput m_flFinalTextureScaleV; // 0x150 + CParticleCollectionRendererFloatInput m_flFinalTextureScaleV; // 0x158 // MPropertyFriendlyName "horizontal texture offset" - CParticleCollectionRendererFloatInput m_flFinalTextureOffsetU; // 0x2a0 + CParticleCollectionRendererFloatInput m_flFinalTextureOffsetU; // 0x2b0 // MPropertyFriendlyName "vertical texture offset" - CParticleCollectionRendererFloatInput m_flFinalTextureOffsetV; // 0x3f0 + CParticleCollectionRendererFloatInput m_flFinalTextureOffsetV; // 0x408 // MPropertyFriendlyName "texture rotation / animation rate scale" - CParticleCollectionRendererFloatInput m_flFinalTextureUVRotation; // 0x540 + CParticleCollectionRendererFloatInput m_flFinalTextureUVRotation; // 0x560 // MPropertyFriendlyName "Infinite Zoom Scale" - CParticleCollectionRendererFloatInput m_flZoomScale; // 0x690 + CParticleCollectionRendererFloatInput m_flZoomScale; // 0x6b8 // MPropertyFriendlyName "Distortion Amount" - CParticleCollectionRendererFloatInput m_flDistortion; // 0x7e0 + CParticleCollectionRendererFloatInput m_flDistortion; // 0x810 // MPropertyFriendlyName "Randomize Initial Offset" - bool m_bRandomizeOffsets; // 0x930 + bool m_bRandomizeOffsets; // 0x968 // MPropertyFriendlyName "Clamp UVs" - bool m_bClampUVs; // 0x931 + bool m_bClampUVs; // 0x969 private: - [[maybe_unused]] uint8_t __pad0932[0x2]; // 0x932 + [[maybe_unused]] uint8_t __pad096a[0x2]; // 0x96a public: // MPropertyFriendlyName "per-particle scalar for blend" - SpriteCardPerParticleScale_t m_nPerParticleBlend; // 0x934 + SpriteCardPerParticleScale_t m_nPerParticleBlend; // 0x96c // MPropertyFriendlyName "per-particle scalar for scale" - SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x938 + SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x970 // MPropertyFriendlyName "per-particle scalar for horizontal offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x93c + SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x974 // MPropertyFriendlyName "per-particle scalar for vertical offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x940 + SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x978 // MPropertyFriendlyName "per-particle scalar for rotation" - SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x944 + SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x97c // MPropertyFriendlyName "per-particle scalar for zoom" - SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x948 + SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x980 // MPropertyFriendlyName "per-particle scalar for distortion" - SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x94c + SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x984 }; // Alignment: 3 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_SetControlPointFieldToWater : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source CP" - int32_t m_nSourceCP; // 0x1c0 + int32_t m_nSourceCP; // 0x1d0 // MPropertyFriendlyName "dest CP" - int32_t m_nDestCP; // 0x1c4 + int32_t m_nDestCP; // 0x1d4 // MPropertyFriendlyName "dest control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x1c8 -}; - -// Alignment: 1 -// Size: 0x4 -struct PulseRuntimeCellIndex_t -{ -public: - int32_t m_Value; // 0x0 + int32_t m_nCPField; // 0x1d8 }; // Alignment: 5 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_LerpVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "value to lerp to" // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x1b4 + Vector m_vecOutput; // 0x1c4 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1c0 + float m_flStartTime; // 0x1d0 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1c4 + float m_flEndTime; // 0x1d4 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1c8 + ParticleSetMethod_t m_nSetMethod; // 0x1d8 }; // Alignment: 5 @@ -24191,35 +22338,35 @@ public: }; // Alignment: 4 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_HSVShiftToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "Target color control point number" - int32_t m_nColorCP; // 0x1c0 + int32_t m_nColorCP; // 0x1d0 // MPropertyFriendlyName "Color Gem Enable control point number" - int32_t m_nColorGemEnableCP; // 0x1c4 + int32_t m_nColorGemEnableCP; // 0x1d4 // MPropertyFriendlyName "output control point number" - int32_t m_nOutputCP; // 0x1c8 + int32_t m_nOutputCP; // 0x1d8 // MPropertyFriendlyName "Default HSV Color" - Color m_DefaultHSVColor; // 0x1cc + Color m_DefaultHSVColor; // 0x1dc }; // Alignment: 5 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_RemapBoundingVolumetoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1c0 + int32_t m_nOutControlPointNumber; // 0x1d0 // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x1c4 + float m_flInputMin; // 0x1d4 // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x1c8 + float m_flInputMax; // 0x1d8 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1cc + float m_flOutputMin; // 0x1dc // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1d0 + float m_flOutputMax; // 0x1e0 }; // Alignment: 9 @@ -24252,27 +22399,27 @@ public: }; // Alignment: 4 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_FadeIn : public CParticleFunctionOperator { public: // MPropertyFriendlyName "fade in time min" - float m_flFadeInTimeMin; // 0x1b0 + float m_flFadeInTimeMin; // 0x1c0 // MPropertyFriendlyName "fade in time max" - float m_flFadeInTimeMax; // 0x1b4 + float m_flFadeInTimeMax; // 0x1c4 // MPropertyFriendlyName "fade in time exponent" - float m_flFadeInTimeExp; // 0x1b8 + float m_flFadeInTimeExp; // 0x1c8 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x1bc + bool m_bProportional; // 0x1cc }; // Alignment: 1 -// Size: 0x310 +// Size: 0x330 class C_OP_SetSimulationRate : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "simulation timescale" - CParticleCollectionFloatInput m_flSimulationScale; // 0x1c0 + CParticleCollectionFloatInput m_flSimulationScale; // 0x1d0 }; // Alignment: 3 @@ -24289,45 +22436,32 @@ public: float m_flRotOffset; // 0x1c8 }; -// Alignment: 6 -// Size: 0x1700 +// Alignment: 7 +// Size: 0x1df0 class C_OP_CurlNoiseForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "noise type" - ParticleDirectionNoiseType_t m_nNoiseType; // 0x1b0 + ParticleDirectionNoiseType_t m_nNoiseType; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 public: // MPropertyFriendlyName "noise frequency" // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseFreq; // 0x1b8 + CPerParticleVecInput m_vecNoiseFreq; // 0x1d8 // MPropertyFriendlyName "noise amplitude" // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseScale; // 0x7f0 + CPerParticleVecInput m_vecNoiseScale; // 0x830 + // MPropertyFriendlyName "offset" + // MVectorIsCoordinate + CPerParticleVecInput m_vecOffset; // 0xe88 // MPropertyFriendlyName "offset rate" // MVectorIsCoordinate - CPerParticleVecInput m_vecOffsetRate; // 0xe28 + CPerParticleVecInput m_vecOffsetRate; // 0x14e0 // MPropertyFriendlyName "worley seed" - CPerParticleFloatInput m_flWorleySeed; // 0x1460 + CPerParticleFloatInput m_flWorleySeed; // 0x1b38 // MPropertyFriendlyName "worley jitter" - CPerParticleFloatInput m_flWorleyJitter; // 0x15b0 -}; - -// 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 + CPerParticleFloatInput m_flWorleyJitter; // 0x1c90 }; // Alignment: 0 @@ -24341,196 +22475,190 @@ public: }; // Alignment: 4 -// Size: 0x950 +// Size: 0x990 class C_OP_SetControlPointRotation : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "rotation axis" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x1c0 + CParticleCollectionVecInput m_vecRotAxis; // 0x1d0 // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x7f8 + CParticleCollectionFloatInput m_flRotRate; // 0x828 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x948 + int32_t m_nCP; // 0x980 // MPropertyFriendlyName "local space control point" - int32_t m_nLocalCP; // 0x94c + int32_t m_nLocalCP; // 0x984 }; // Alignment: 10 -// Size: 0x1f0 +// Size: 0x200 class C_OP_RemapCPtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point number" - int32_t m_nInputControlPoint; // 0x1c0 + int32_t m_nInputControlPoint; // 0x1d0 // MPropertyFriendlyName "output control point number" - int32_t m_nOutputControlPoint; // 0x1c4 + int32_t m_nOutputControlPoint; // 0x1d4 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nInputField; // 0x1c8 + int32_t m_nInputField; // 0x1d8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x1cc + int32_t m_nOutputField; // 0x1dc // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1d0 + float m_flInputMin; // 0x1e0 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1d4 + float m_flInputMax; // 0x1e4 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1d8 + float m_flOutputMin; // 0x1e8 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1dc + float m_flOutputMax; // 0x1ec // MPropertyFriendlyName "use the derivative" - bool m_bDerivative; // 0x1e0 + bool m_bDerivative; // 0x1f0 private: - [[maybe_unused]] uint8_t __pad01e1[0x3]; // 0x1e1 + [[maybe_unused]] uint8_t __pad01f1[0x3]; // 0x1f1 public: // MPropertyFriendlyName "interpolation" - float m_flInterpRate; // 0x1e4 + float m_flInterpRate; // 0x1f4 }; // Alignment: 11 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_RemapDotProductToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x1b0 + int32_t m_nInputCP1; // 0x1c0 // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x1b4 + int32_t m_nInputCP2; // 0x1c4 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c8 // MPropertyFriendlyName "input minimum (-1 to 1)" - float m_flInputMin; // 0x1bc - // MPropertyFriendlyName "input maximum (-1 to 1)" - float m_flInputMax; // 0x1c0 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1c4 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c8 - // MPropertyFriendlyName "use particle velocity for first input" - bool m_bUseParticleVelocity; // 0x1cc -private: - [[maybe_unused]] uint8_t __pad01cd[0x3]; // 0x1cd -public: - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1d0 - // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x1d4 - // MPropertyFriendlyName "use particle normal for first input" - bool m_bUseParticleNormal; // 0x1d5 -}; - -// Alignment: 7 -// Size: 0x1e0 -class C_OP_RemapAverageScalarValuetoCP : public CParticleFunctionPreEmission -{ -public: - // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1c0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x1c4 - // MPropertyFriendlyName "scalar field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1c8 - // MPropertyFriendlyName "input volume minimum" float m_flInputMin; // 0x1cc - // MPropertyFriendlyName "input volume maximum" + // MPropertyFriendlyName "input maximum (-1 to 1)" float m_flInputMax; // 0x1d0 // MPropertyFriendlyName "output minimum" float m_flOutputMin; // 0x1d4 // MPropertyFriendlyName "output maximum" float m_flOutputMax; // 0x1d8 + // MPropertyFriendlyName "use particle velocity for first input" + bool m_bUseParticleVelocity; // 0x1dc +private: + [[maybe_unused]] uint8_t __pad01dd[0x3]; // 0x1dd +public: + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1e0 + // MPropertyFriendlyName "only active within specified input range" + bool m_bActiveRange; // 0x1e4 + // MPropertyFriendlyName "use particle normal for first input" + bool m_bUseParticleNormal; // 0x1e5 }; -// Alignment: 2 -// Size: 0x1d0 +// Alignment: 7 +// Size: 0x1f0 +class C_OP_RemapAverageScalarValuetoCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "output control point" + int32_t m_nOutControlPointNumber; // 0x1d0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nOutVectorField; // 0x1d4 + // MPropertyFriendlyName "scalar field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nField; // 0x1d8 + // MPropertyFriendlyName "input volume minimum" + float m_flInputMin; // 0x1dc + // MPropertyFriendlyName "input volume maximum" + float m_flInputMax; // 0x1e0 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x1e4 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x1e8 +}; + +// Alignment: 3 +// Size: 0x1f0 class C_OP_SetControlPointToCenter : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number to set" - int32_t m_nCP1; // 0x1c0 + int32_t m_nCP1; // 0x1d0 // MPropertyFriendlyName "center offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x1c4 + Vector m_vecCP1Pos; // 0x1d4 + // MPropertyFriendlyName "set parent" + ParticleParentSetMode_t m_nSetParent; // 0x1e0 }; // Alignment: 4 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_RemapControlPointOrientationToRotation : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1b0 + int32_t m_nCP; // 0x1c0 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x1b8 + float m_flOffsetRot; // 0x1c8 // MPropertyFriendlyName "control point axis" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x1bc + int32_t m_nComponent; // 0x1cc }; // Alignment: 15 -// Size: 0xe30 +// Size: 0xe80 class C_OP_DistanceToTransform : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x1b8 + CPerParticleFloatInput m_flInputMin; // 0x1c8 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x308 + CPerParticleFloatInput m_flInputMax; // 0x320 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x458 + CPerParticleFloatInput m_flOutputMin; // 0x478 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a8 + CPerParticleFloatInput m_flOutputMax; // 0x5d0 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformStart; // 0x6f8 + CParticleTransformInput m_TransformStart; // 0x728 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x760 + bool m_bLOS; // 0x790 // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x761 + char m_CollisionGroupName[128]; // 0x791 private: - [[maybe_unused]] uint8_t __pad07e1[0x3]; // 0x7e1 + [[maybe_unused]] uint8_t __pad0811[0x3]; // 0x811 public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x7e4 + ParticleTraceSet_t m_nTraceSet; // 0x814 // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x7e8 + float m_flMaxTraceLength; // 0x818 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x7ec + float m_flLOSScale; // 0x81c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7f0 + ParticleSetMethod_t m_nSetMethod; // 0x820 // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x7f4 + bool m_bActiveRange; // 0x824 // MPropertyFriendlyName "output is additive" - bool m_bAdditive; // 0x7f5 + bool m_bAdditive; // 0x825 private: - [[maybe_unused]] uint8_t __pad07f6[0x2]; // 0x7f6 + [[maybe_unused]] uint8_t __pad0826[0x2]; // 0x826 public: // MPropertyFriendlyName "component scale" - CPerParticleVecInput m_vecComponentScale; // 0x7f8 -}; - -// Alignment: 0 -// Size: 0x48 -class CPulseCell_Val_TestDomainGetEntityName : public CPulseCell_BaseValue -{ -public: - // No members available + CPerParticleVecInput m_vecComponentScale; // 0x828 }; // Alignment: 29 -// Size: 0x1320 +// Size: 0x1380 class C_OP_RenderStandardLight : public CParticleFunctionRenderer { public: @@ -24542,99 +22670,99 @@ public: // MPropertyFriendlyName "color blend" CParticleCollectionVecInput m_vecColorScale; // 0x208 // MPropertyFriendlyName "color blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0x840 + ParticleColorBlendType_t m_nColorBlendType; // 0x860 private: - [[maybe_unused]] uint8_t __pad0844[0x4]; // 0x844 + [[maybe_unused]] uint8_t __pad0864[0x4]; // 0x864 public: // MPropertyFriendlyName "intensity" - CParticleCollectionFloatInput m_flIntensity; // 0x848 + CParticleCollectionFloatInput m_flIntensity; // 0x868 // MPropertyFriendlyName "cast shadows" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bCastShadows; // 0x998 + bool m_bCastShadows; // 0x9c0 private: - [[maybe_unused]] uint8_t __pad0999[0x7]; // 0x999 + [[maybe_unused]] uint8_t __pad09c1[0x7]; // 0x9c1 public: // MPropertyFriendlyName "inner cone angle" // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flTheta; // 0x9a0 + CParticleCollectionFloatInput m_flTheta; // 0x9c8 // MPropertyFriendlyName "outer cone angle" // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flPhi; // 0xaf0 + CParticleCollectionFloatInput m_flPhi; // 0xb20 // MPropertyFriendlyName "light radius multiplier" - CParticleCollectionFloatInput m_flRadiusMultiplier; // 0xc40 + CParticleCollectionFloatInput m_flRadiusMultiplier; // 0xc78 // MPropertyFriendlyName "attenuation type" - StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0xd90 + StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0xdd0 private: - [[maybe_unused]] uint8_t __pad0d94[0x4]; // 0xd94 + [[maybe_unused]] uint8_t __pad0dd4[0x4]; // 0xdd4 public: // MPropertyFriendlyName "falloff linearity" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_NEW || ( m_nAttenuationStyle == LIGHT_STYLE_OLD && m_nLightType == PARTICLE_LIGHT_TYPE_FX )" - CParticleCollectionFloatInput m_flFalloffLinearity; // 0xd98 + CParticleCollectionFloatInput m_flFalloffLinearity; // 0xdd8 // MPropertyFriendlyName "falloff fifty percent" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xee8 + CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xf30 // MPropertyFriendlyName "falloff zero percent" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0x1038 + CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0x1088 // MPropertyFriendlyName "render diffuse" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderDiffuse; // 0x1188 + bool m_bRenderDiffuse; // 0x11e0 // MPropertyFriendlyName "render specular" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderSpecular; // 0x1189 + bool m_bRenderSpecular; // 0x11e1 private: - [[maybe_unused]] uint8_t __pad118a[0x6]; // 0x118a + [[maybe_unused]] uint8_t __pad11e2[0x6]; // 0x11e2 public: // MPropertyFriendlyName "light cookie string" - CUtlString m_lightCookie; // 0x1190 + CUtlString m_lightCookie; // 0x11e8 // MPropertyFriendlyName "light priority" - int32_t m_nPriority; // 0x1198 + int32_t m_nPriority; // 0x11f0 // MPropertyFriendlyName "fog lighting mode" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - ParticleLightFogLightingMode_t m_nFogLightingMode; // 0x119c + ParticleLightFogLightingMode_t m_nFogLightingMode; // 0x11f4 // MPropertyFriendlyName "fog contribution" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - CParticleCollectionRendererFloatInput m_flFogContribution; // 0x11a0 + CParticleCollectionRendererFloatInput m_flFogContribution; // 0x11f8 // MPropertyFriendlyName "capsule behavior" - ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0x12f0 + ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0x1350 // MPropertyStartGroup "Capsule Light Controls" // MPropertyFriendlyName "capsule length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - float m_flCapsuleLength; // 0x12f4 + float m_flCapsuleLength; // 0x1354 // MPropertyFriendlyName "reverse point order" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bReverseOrder; // 0x12f8 + bool m_bReverseOrder; // 0x1358 // MPropertyFriendlyName "Closed loop" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bClosedLoop; // 0x12f9 + bool m_bClosedLoop; // 0x1359 private: - [[maybe_unused]] uint8_t __pad12fa[0x2]; // 0x12fa + [[maybe_unused]] uint8_t __pad135a[0x2]; // 0x135a 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; // 0x12fc + ParticleAttributeIndex_t m_nPrevPntSource; // 0x135c // MPropertyFriendlyName "max length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMaxLength; // 0x1300 + float m_flMaxLength; // 0x1360 // MPropertyFriendlyName "min length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMinLength; // 0x1304 + float m_flMinLength; // 0x1364 // MPropertyFriendlyName "ignore delta time" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - bool m_bIgnoreDT; // 0x1308 + bool m_bIgnoreDT; // 0x1368 private: - [[maybe_unused]] uint8_t __pad1309[0x3]; // 0x1309 + [[maybe_unused]] uint8_t __pad1369[0x3]; // 0x1369 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; // 0x130c + float m_flConstrainRadiusToLengthRatio; // 0x136c // MPropertyFriendlyName "amount to scale trail length by" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flLengthScale; // 0x1310 + float m_flLengthScale; // 0x1370 // 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; // 0x1314 + float m_flLengthFadeInTime; // 0x1374 }; // Alignment: 2 @@ -24647,17 +22775,17 @@ public: }; // Alignment: 1 -// Size: 0x1c0 +// Size: 0x1e0 class C_OP_WindForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force to apply" // MVectorIsCoordinate - Vector m_vForce; // 0x1b0 + Vector m_vForce; // 0x1d0 }; // Alignment: 2 -// Size: 0x158 +// Size: 0x160 struct FloatInputMaterialVariable_t { public: @@ -24667,22 +22795,6 @@ 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 @@ -24693,14 +22805,6 @@ public: // No members available }; -// Alignment: 0 -// Size: 0x48 -class CPulseCell_Step_TestDomainTracepoint : public CPulseCell_BaseFlow -{ -public: - // No members available -}; - // Alignment: 11 // Size: 0x1f0 class C_INIT_RemapCPtoScalar : public CParticleFunctionInitializer @@ -24758,22 +22862,22 @@ public: }; // Alignment: 3 -// Size: 0xe30 +// Size: 0xe80 class C_OP_ClampVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - CPerParticleVecInput m_vecOutputMin; // 0x1b8 + CPerParticleVecInput m_vecOutputMin; // 0x1c8 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - CPerParticleVecInput m_vecOutputMax; // 0x7f0 + CPerParticleVecInput m_vecOutputMax; // 0x820 }; // Alignment: 0 @@ -24811,7 +22915,7 @@ public: }; // Alignment: 0 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_SpinYaw : public CGeneralSpin { public: @@ -24819,20 +22923,20 @@ public: }; // Alignment: 3 -// Size: 0x320 +// Size: 0x330 class C_OP_StopAfterCPDuration : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "duration at which to stop" - CParticleCollectionFloatInput m_flDuration; // 0x1c0 + CParticleCollectionFloatInput m_flDuration; // 0x1d0 // MPropertyFriendlyName "destroy all particles immediately" - bool m_bDestroyImmediately; // 0x310 + bool m_bDestroyImmediately; // 0x328 // MPropertyFriendlyName "play end cap effect" - bool m_bPlayEndCap; // 0x311 + bool m_bPlayEndCap; // 0x329 }; // Alignment: 0 -// Size: 0x210 +// Size: 0x220 class C_OP_RemapNamedModelBodyPartEndCap : public C_OP_RemapNamedModelElementEndCap { public: @@ -24840,166 +22944,118 @@ public: }; // Alignment: 7 -// Size: 0x210 +// Size: 0x220 class C_OP_MaintainSequentialPath : public CParticleFunctionOperator { public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1b0 + float m_fMaxDistance; // 0x1c0 // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x1b4 + float m_flNumToAssign; // 0x1c4 // MPropertyFriendlyName "cohesion strength" - float m_flCohesionStrength; // 0x1b8 + float m_flCohesionStrength; // 0x1c8 // MPropertyFriendlyName "control point movement tolerance" - float m_flTolerance; // 0x1bc + float m_flTolerance; // 0x1cc // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x1c0 + bool m_bLoop; // 0x1d0 // MPropertyFriendlyName "use existing particle count" - bool m_bUseParticleCount; // 0x1c1 + bool m_bUseParticleCount; // 0x1d1 private: - [[maybe_unused]] uint8_t __pad01c2[0xe]; // 0x1c2 + [[maybe_unused]] uint8_t __pad01d2[0xe]; // 0x1d2 public: - CPathParameters m_PathParams; // 0x1d0 + CPathParameters m_PathParams; // 0x1e0 }; // 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: 2 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_SetControlPointFromObjectScale : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1c0 + int32_t m_nCPInput; // 0x1d0 // MPropertyFriendlyName "output control point number" - int32_t m_nCPOutput; // 0x1c4 -}; - -// Alignment: 0 -// Size: 0xd0 -class CBasePulseGraphInstance -{ -private: - [[maybe_unused]] uint8_t __pad0000[0xd0]; // 0x0 -public: - // No members available -}; - -// Alignment: 5 -// Size: 0x1d0 -class C_OP_ExternalGenericForce : public CParticleFunctionForce -{ -public: - // MPropertyFriendlyName "strength" - float m_flStrength; // 0x1b0 - // MPropertyFriendlyName "curl strength" - float m_flCurlStrength; // 0x1b4 - // MPropertyFriendlyName "linear strength" - float m_flLinearStrength; // 0x1b8 - // MPropertyFriendlyName "radial strength" - float m_flRadialStrength; // 0x1bc - // MPropertyFriendlyName "rotation strength" - float m_flRotationStrength; // 0x1c0 + int32_t m_nCPOutput; // 0x1d4 }; // Alignment: 9 -// Size: 0x210 +// Size: 0x220 class C_OP_RemapNamedModelElementOnceTimed : public CParticleFunctionOperator { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1b0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1c0 // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x1b8 + CUtlVector< CUtlString > m_inNames; // 0x1c8 // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x1d0 + CUtlVector< CUtlString > m_outNames; // 0x1e0 // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x1e8 + CUtlVector< CUtlString > m_fallbackNames; // 0x1f8 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x200 + bool m_bModelFromRenderer; // 0x210 // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x201 + bool m_bProportional; // 0x211 private: - [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 + [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x204 + ParticleAttributeIndex_t m_nFieldInput; // 0x214 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x208 + ParticleAttributeIndex_t m_nFieldOutput; // 0x218 // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x20c -}; - -// Alignment: 1 -// Size: 0x1c0 -class C_OP_ScreenForceFromPlayerView : public CParticleFunctionForce -{ -public: - // MPropertyFriendlyName "Acceleration" - float m_flAccel; // 0x1b0 + float m_flRemapTime; // 0x21c }; // Alignment: 10 -// Size: 0x200 +// Size: 0x210 class C_OP_RampScalarSpline : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x1b0 + float m_RateMin; // 0x1c0 // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x1b4 + float m_RateMax; // 0x1c4 // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1b8 + float m_flStartTime_min; // 0x1c8 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1bc + float m_flStartTime_max; // 0x1cc // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x1c0 + float m_flEndTime_min; // 0x1d0 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x1c4 + float m_flEndTime_max; // 0x1d4 // MPropertyFriendlyName "bias" - float m_flBias; // 0x1c8 + float m_flBias; // 0x1d8 private: - [[maybe_unused]] uint8_t __pad01cc[0x24]; // 0x1cc + [[maybe_unused]] uint8_t __pad01dc[0x24]; // 0x1dc public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1f0 + ParticleAttributeIndex_t m_nField; // 0x200 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x1f4 + bool m_bProportionalOp; // 0x204 // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x1f5 + bool m_bEaseOut; // 0x205 }; // Alignment: 5 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_ColorInterpolate : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color fade" - Color m_ColorFade; // 0x1b0 + Color m_ColorFade; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0xc]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0xc]; // 0x1c4 public: // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x1c0 + float m_flFadeStartTime; // 0x1d0 // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x1c4 + float m_flFadeEndTime; // 0x1d4 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1c8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1d8 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x1cc + bool m_bEaseInOut; // 0x1dc }; // Alignment: 1 @@ -25011,24 +23067,24 @@ public: }; // Alignment: 7 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_FadeAndKill : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x1b0 + float m_flStartFadeInTime; // 0x1c0 // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x1b4 + float m_flEndFadeInTime; // 0x1c4 // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x1b8 + float m_flStartFadeOutTime; // 0x1c8 // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x1bc + float m_flEndFadeOutTime; // 0x1cc // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x1c0 + float m_flStartAlpha; // 0x1d0 // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x1c4 + float m_flEndAlpha; // 0x1d4 // MPropertyFriendlyName "force preserving particle order" - bool m_bForcePreserveParticleOrder; // 0x1c8 + bool m_bForcePreserveParticleOrder; // 0x1d8 }; // Alignment: 4 @@ -25063,29 +23119,32 @@ public: }; // Alignment: 8 -// Size: 0x480 +// Size: 0x5e0 class C_OP_MaintainEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x1c0 + CParticleCollectionFloatInput m_nParticlesToMaintain; // 0x1c0 // MPropertyFriendlyName "emission start time" - float m_flStartTime; // 0x1c4 - // MPropertyFriendlyName "emission duration" - CParticleCollectionFloatInput m_flEmissionDuration; // 0x1c8 - // MPropertyFriendlyName "emission rate" - float m_flEmissionRate; // 0x318 - // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x31c - // MPropertyFriendlyName "group emission times for new particles" - bool m_bEmitInstantaneously; // 0x320 - // MPropertyFriendlyName "perform final emit on stop" - bool m_bFinalEmitOnStop; // 0x321 + float m_flStartTime; // 0x318 private: - [[maybe_unused]] uint8_t __pad0322[0x6]; // 0x322 + [[maybe_unused]] uint8_t __pad031c[0x4]; // 0x31c +public: + // MPropertyFriendlyName "emission duration" + CParticleCollectionFloatInput m_flEmissionDuration; // 0x320 + // MPropertyFriendlyName "emission rate" + float m_flEmissionRate; // 0x478 + // MPropertyFriendlyName "control point with snapshot data" + int32_t m_nSnapshotControlPoint; // 0x47c + // MPropertyFriendlyName "group emission times for new particles" + bool m_bEmitInstantaneously; // 0x480 + // MPropertyFriendlyName "perform final emit on stop" + bool m_bFinalEmitOnStop; // 0x481 +private: + [[maybe_unused]] uint8_t __pad0482[0x6]; // 0x482 public: // MPropertyFriendlyName "total count scale" - CParticleCollectionFloatInput m_flScale; // 0x328 + CParticleCollectionFloatInput m_flScale; // 0x488 }; // Alignment: 3 @@ -25101,17 +23160,19 @@ public: bool m_bIgnoreDt; // 0x1c8 }; -// Alignment: 3 -// Size: 0x1c0 +// Alignment: 4 +// Size: 0x1d0 class C_OP_MaxVelocity : public CParticleFunctionOperator { public: // MPropertyFriendlyName "maximum velocity" - float m_flMaxVelocity; // 0x1b0 + float m_flMaxVelocity; // 0x1c0 + // MPropertyFriendlyName "minimum velocity" + float m_flMinVelocity; // 0x1c4 // MPropertyFriendlyName "override max velocity from this CP" - int32_t m_nOverrideCP; // 0x1b4 + int32_t m_nOverrideCP; // 0x1c8 // MPropertyFriendlyName "override CP field" - int32_t m_nOverrideCPField; // 0x1b8 + int32_t m_nOverrideCPField; // 0x1cc }; // Alignment: 11 @@ -25175,38 +23236,38 @@ public: }; // Alignment: 3 -// Size: 0x940 +// Size: 0x990 class C_OP_PerParticleForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x1b0 + CPerParticleFloatInput m_flForceScale; // 0x1d0 // MPropertyFriendlyName "force to apply" // MVectorIsCoordinate - CPerParticleVecInput m_vForce; // 0x300 + CPerParticleVecInput m_vForce; // 0x328 // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x938 + int32_t m_nCP; // 0x980 }; // Alignment: 4 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_InheritFromPeerSystem : public CParticleFunctionOperator { public: // MPropertyFriendlyName "read field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "written field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldInput; // 0x1c4 // MPropertyFriendlyName "particle neighbor increment amount" - int32_t m_nIncrement; // 0x1b8 + int32_t m_nIncrement; // 0x1c8 // MPropertyFriendlyName "group id" - int32_t m_nGroupID; // 0x1bc + int32_t m_nGroupID; // 0x1cc }; // Alignment: 13 -// Size: 0x10f0 +// Size: 0x1130 class C_INIT_CreateOnModel : public CParticleFunctionInitializer { public: @@ -25227,27 +23288,27 @@ public: // MPropertyFriendlyName "hitbox scale" CParticleCollectionVecInput m_vecHitBoxScale; // 0x298 // MPropertyFriendlyName "inherited velocity scale" - float m_flBoneVelocity; // 0x8d0 + float m_flBoneVelocity; // 0x8f0 // MPropertyFriendlyName "maximum inherited velocity" - float m_flMaxBoneVelocity; // 0x8d4 + float m_flMaxBoneVelocity; // 0x8f4 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x8d8 + CParticleCollectionVecInput m_vecDirectionBias; // 0x8f8 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0xf10 + char m_HitboxSetName[128]; // 0xf50 // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xf90 + bool m_bLocalCoords; // 0xfd0 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0xf91 + bool m_bUseBones; // 0xfd1 private: - [[maybe_unused]] uint8_t __pad0f92[0x6]; // 0xf92 + [[maybe_unused]] uint8_t __pad0fd2[0x6]; // 0xfd2 public: // MPropertyFriendlyName "hitbox shell thickness" - CParticleCollectionFloatInput m_flShellSize; // 0xf98 + CParticleCollectionFloatInput m_flShellSize; // 0xfd8 }; // Alignment: 4 -// Size: 0x470 +// Size: 0x480 class C_INIT_InitFloat : public CParticleFunctionInitializer { public: @@ -25255,31 +23316,31 @@ public: CPerParticleFloatInput m_InputValue; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x310 + ParticleAttributeIndex_t m_nOutputField; // 0x318 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x314 + ParticleSetMethod_t m_nSetMethod; // 0x31c // MPropertyFriendlyName "per-particle strength" - CPerParticleFloatInput m_InputStrength; // 0x318 + CPerParticleFloatInput m_InputStrength; // 0x320 }; // Alignment: 4 -// Size: 0x9b0 +// Size: 0x9e0 class C_OP_MovementRotateParticleAroundAxis : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation axis" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x1b0 + CParticleCollectionVecInput m_vecRotAxis; // 0x1c0 // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x7e8 + CParticleCollectionFloatInput m_flRotRate; // 0x818 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x938 + CParticleTransformInput m_TransformInput; // 0x970 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x9a0 + bool m_bLocalSpace; // 0x9d8 }; // Alignment: 0 -// Size: 0x150 +// Size: 0x158 class CParticleRemapFloatInput : public CParticleFloatInput { public: @@ -25287,65 +23348,65 @@ public: }; // Alignment: 12 -// Size: 0x210 +// Size: 0x220 class C_OP_SetControlPointPositions : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x1c0 + bool m_bUseWorldLocation; // 0x1d0 // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x1c1 + bool m_bOrient; // 0x1d1 // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x1c2 + bool m_bSetOnce; // 0x1d2 private: - [[maybe_unused]] uint8_t __pad01c3[0x1]; // 0x1c3 + [[maybe_unused]] uint8_t __pad01d3[0x1]; // 0x1d3 public: // MPropertyFriendlyName "first control point number" - int32_t m_nCP1; // 0x1c4 + int32_t m_nCP1; // 0x1d4 // MPropertyFriendlyName "second control point number" - int32_t m_nCP2; // 0x1c8 + int32_t m_nCP2; // 0x1d8 // MPropertyFriendlyName "third control point number" - int32_t m_nCP3; // 0x1cc + int32_t m_nCP3; // 0x1dc // MPropertyFriendlyName "fourth control point number" - int32_t m_nCP4; // 0x1d0 + int32_t m_nCP4; // 0x1e0 // MPropertyFriendlyName "first control point location" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x1d4 + Vector m_vecCP1Pos; // 0x1e4 // MPropertyFriendlyName "second control point location" // MVectorIsCoordinate - Vector m_vecCP2Pos; // 0x1e0 + Vector m_vecCP2Pos; // 0x1f0 // MPropertyFriendlyName "third control point location" // MVectorIsCoordinate - Vector m_vecCP3Pos; // 0x1ec + Vector m_vecCP3Pos; // 0x1fc // MPropertyFriendlyName "fourth control point location" // MVectorIsCoordinate - Vector m_vecCP4Pos; // 0x1f8 + Vector m_vecCP4Pos; // 0x208 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x204 + int32_t m_nHeadLocation; // 0x214 }; // Alignment: 5 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_ConstrainDistanceToUserSpecifiedPath : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x1b0 + float m_fMinDistance; // 0x1c0 // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance; // 0x1b4 + float m_flMaxDistance; // 0x1c4 // MPropertyFriendlyName "Time scale" - float m_flTimeScale; // 0x1b8 + float m_flTimeScale; // 0x1c8 // MPropertyFriendlyName "Treat path as a loop" - bool m_bLoopedPath; // 0x1bc + bool m_bLoopedPath; // 0x1cc private: - [[maybe_unused]] uint8_t __pad01bd[0x3]; // 0x1bd + [[maybe_unused]] uint8_t __pad01cd[0x3]; // 0x1cd public: // MPropertyFriendlyName "path points" - CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x1c0 + CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x1d0 }; // Alignment: 10 -// Size: 0x780 +// Size: 0x7a0 class C_INIT_CreateInEpitrochoid : public CParticleFunctionInitializer { public: @@ -25360,259 +23421,263 @@ public: // MPropertyFriendlyName "particle density" CPerParticleFloatInput m_flParticleDensity; // 0x230 // MPropertyFriendlyName "point offset" - CPerParticleFloatInput m_flOffset; // 0x380 + CPerParticleFloatInput m_flOffset; // 0x388 // MPropertyFriendlyName "radius 1" - CPerParticleFloatInput m_flRadius1; // 0x4d0 + CPerParticleFloatInput m_flRadius1; // 0x4e0 // MPropertyFriendlyName "radius 2" - CPerParticleFloatInput m_flRadius2; // 0x620 + CPerParticleFloatInput m_flRadius2; // 0x638 // MPropertyFriendlyName "use particle count instead of creation time" - bool m_bUseCount; // 0x770 + bool m_bUseCount; // 0x790 // MPropertyFriendlyName "local space" - bool m_bUseLocalCoords; // 0x771 + bool m_bUseLocalCoords; // 0x791 // MPropertyFriendlyName "offset from existing position" - bool m_bOffsetExistingPos; // 0x772 + bool m_bOffsetExistingPos; // 0x792 }; -// Alignment: 2 -// Size: 0x1c0 +// Alignment: 3 +// Size: 0x1e0 class C_OP_DensityForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1b0 + float m_flRadiusScale; // 0x1d0 // MPropertyFriendlyName "Scale of force" - float m_flForceScale; // 0x1b4 + float m_flForceScale; // 0x1d4 + // MPropertyFriendlyName "Target density" + float m_flTargetDensity; // 0x1d8 }; // Alignment: 5 -// Size: 0x5c0 +// Size: 0x5e0 class C_INIT_CreateParticleImpulse : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "radius" CPerParticleFloatInput m_InputRadius; // 0x1c0 // MPropertyFriendlyName "magnitude" - CPerParticleFloatInput m_InputMagnitude; // 0x310 + CPerParticleFloatInput m_InputMagnitude; // 0x318 // MPropertyFriendlyName "force falloff function" - ParticleFalloffFunction_t m_nFalloffFunction; // 0x460 + ParticleFalloffFunction_t m_nFalloffFunction; // 0x470 private: - [[maybe_unused]] uint8_t __pad0464[0x4]; // 0x464 + [[maybe_unused]] uint8_t __pad0474[0x4]; // 0x474 public: // MPropertyFriendlyName "exponential falloff exponent" - CPerParticleFloatInput m_InputFalloffExp; // 0x468 + CPerParticleFloatInput m_InputFalloffExp; // 0x478 // MPropertyFriendlyName "impulse type" - ParticleImpulseType_t m_nImpulseType; // 0x5b8 + ParticleImpulseType_t m_nImpulseType; // 0x5d0 }; // Alignment: 13 -// Size: 0x200 +// Size: 0x210 class C_OP_RemapCPtoVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1b0 + int32_t m_nCPInput; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "local space CP" - int32_t m_nLocalSpaceCP; // 0x1b8 + int32_t m_nLocalSpaceCP; // 0x1c8 // MPropertyFriendlyName "input minimum" // MVectorIsSometimesCoordinate - Vector m_vInputMin; // 0x1bc + Vector m_vInputMin; // 0x1cc // MPropertyFriendlyName "input maximum" // MVectorIsSometimesCoordinate - Vector m_vInputMax; // 0x1c8 + Vector m_vInputMax; // 0x1d8 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vOutputMin; // 0x1d4 + Vector m_vOutputMin; // 0x1e4 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vOutputMax; // 0x1e0 + Vector m_vOutputMax; // 0x1f0 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x1ec + float m_flStartTime; // 0x1fc // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1f0 + float m_flEndTime; // 0x200 // MPropertyFriendlyName "interpolation scale" - float m_flInterpRate; // 0x1f4 + float m_flInterpRate; // 0x204 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1f8 + ParticleSetMethod_t m_nSetMethod; // 0x208 // MPropertyFriendlyName "offset position" - bool m_bOffset; // 0x1fc + bool m_bOffset; // 0x20c // MPropertyFriendlyName "accelerate position" - bool m_bAccelerate; // 0x1fd + bool m_bAccelerate; // 0x20d }; -// Alignment: 12 -// Size: 0xea0 +// Alignment: 13 +// Size: 0x1050 class C_OP_PinParticleToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "offset" - CParticleCollectionVecInput m_vecOffset; // 0x1b8 + CParticleCollectionVecInput m_vecOffset; // 0x1c8 // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x7f0 + bool m_bOffsetLocal; // 0x820 private: - [[maybe_unused]] uint8_t __pad07f1[0x3]; // 0x7f1 + [[maybe_unused]] uint8_t __pad0821[0x3]; // 0x821 public: // MPropertyFriendlyName "particle to use" - ParticleSelection_t m_nParticleSelection; // 0x7f4 + ParticleSelection_t m_nParticleSelection; // 0x824 // MPropertyFriendlyName "particle number/offset" - CParticleCollectionFloatInput m_nParticleNumber; // 0x7f8 + CParticleCollectionFloatInput m_nParticleNumber; // 0x828 // MPropertyFriendlyName "pin break type" - ParticlePinDistance_t m_nPinBreakType; // 0x948 + ParticlePinDistance_t m_nPinBreakType; // 0x980 private: - [[maybe_unused]] uint8_t __pad094c[0x4]; // 0x94c + [[maybe_unused]] uint8_t __pad0984[0x4]; // 0x984 public: // MPropertyFriendlyName "break length %" - CParticleCollectionFloatInput m_flBreakDistance; // 0x950 + CParticleCollectionFloatInput m_flBreakDistance; // 0x988 // MPropertyFriendlyName "break speed" - CParticleCollectionFloatInput m_flBreakSpeed; // 0xaa0 + CParticleCollectionFloatInput m_flBreakSpeed; // 0xae0 // MPropertyFriendlyName "break age" - CParticleCollectionFloatInput m_flAge; // 0xbf0 + CParticleCollectionFloatInput m_flAge; // 0xc38 // MPropertyFriendlyName "break comparison control point 1" - int32_t m_nBreakControlPointNumber; // 0xd40 + int32_t m_nBreakControlPointNumber; // 0xd90 // MPropertyFriendlyName "break comparison control point 2" - int32_t m_nBreakControlPointNumber2; // 0xd44 + int32_t m_nBreakControlPointNumber2; // 0xd94 + // MPropertyFriendlyName "break value" + CParticleCollectionFloatInput m_flBreakValue; // 0xd98 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0xd48 + CPerParticleFloatInput m_flInterpolation; // 0xef0 }; // Alignment: 7 -// Size: 0x260 +// Size: 0x270 class C_OP_RtEnvCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "test direction" // MVectorIsCoordinate - Vector m_vecTestDir; // 0x1b0 + Vector m_vecTestDir; // 0x1c0 // MPropertyFriendlyName "cull normal" // MVectorIsCoordinate - Vector m_vecTestNormal; // 0x1bc + Vector m_vecTestNormal; // 0x1cc // MPropertyFriendlyName "cull on miss" - bool m_bCullOnMiss; // 0x1c8 + bool m_bCullOnMiss; // 0x1d8 // MPropertyFriendlyName "stick instead of cull" - bool m_bStickInsteadOfCull; // 0x1c9 + bool m_bStickInsteadOfCull; // 0x1d9 // MPropertyFriendlyName "ray trace environment name" - char m_RtEnvName[128]; // 0x1ca + char m_RtEnvName[128]; // 0x1da private: - [[maybe_unused]] uint8_t __pad024a[0x2]; // 0x24a + [[maybe_unused]] uint8_t __pad025a[0x2]; // 0x25a public: // MPropertyFriendlyName "ray trace environment cp" - int32_t m_nRTEnvCP; // 0x24c + int32_t m_nRTEnvCP; // 0x25c // MPropertyFriendlyName "rt env control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x250 + int32_t m_nComponent; // 0x260 }; // Alignment: 9 -// Size: 0x200 +// Size: 0x210 class C_OP_DriveCPFromGlobalSoundFloat : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x1c0 + int32_t m_nOutputControlPoint; // 0x1d0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x1c4 + int32_t m_nOutputField; // 0x1d4 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1c8 + float m_flInputMin; // 0x1d8 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1cc + float m_flInputMax; // 0x1dc // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1d0 + float m_flOutputMin; // 0x1e0 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1d4 + float m_flOutputMax; // 0x1e4 // MPropertyFriendlyName "sound stack name" - CUtlString m_StackName; // 0x1d8 + CUtlString m_StackName; // 0x1e8 // MPropertyFriendlyName "sound operator name" - CUtlString m_OperatorName; // 0x1e0 + CUtlString m_OperatorName; // 0x1f0 // MPropertyFriendlyName "sound field name" - CUtlString m_FieldName; // 0x1e8 + CUtlString m_FieldName; // 0x1f8 }; // Alignment: 7 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_RemapDirectionToCPToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1b0 + int32_t m_nCP; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1b8 + float m_flScale; // 0x1c8 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x1bc + float m_flOffsetRot; // 0x1cc // MPropertyFriendlyName "offset axis" // MVectorIsCoordinate - Vector m_vecOffsetAxis; // 0x1c0 + Vector m_vecOffsetAxis; // 0x1d0 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x1cc + bool m_bNormalize; // 0x1dc private: - [[maybe_unused]] uint8_t __pad01cd[0x3]; // 0x1cd + [[maybe_unused]] uint8_t __pad01dd[0x3]; // 0x1dd public: // MPropertyFriendlyName "strength field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldStrength; // 0x1d0 + ParticleAttributeIndex_t m_nFieldStrength; // 0x1e0 }; // Alignment: 10 -// Size: 0x1380 +// Size: 0x13f0 class C_OP_ChladniWave : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "wave minimum" - CPerParticleFloatInput m_flInputMin; // 0x1b8 + CPerParticleFloatInput m_flInputMin; // 0x1c8 // MPropertyFriendlyName "wave maximum" - CPerParticleFloatInput m_flInputMax; // 0x308 + CPerParticleFloatInput m_flInputMax; // 0x320 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x458 + CPerParticleFloatInput m_flOutputMin; // 0x478 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a8 + CPerParticleFloatInput m_flOutputMax; // 0x5d0 // MPropertyFriendlyName "wave length" - CPerParticleVecInput m_vecWaveLength; // 0x6f8 + CPerParticleVecInput m_vecWaveLength; // 0x728 // MPropertyFriendlyName "harmonics" - CPerParticleVecInput m_vecHarmonics; // 0xd30 + CPerParticleVecInput m_vecHarmonics; // 0xd80 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1368 + ParticleSetMethod_t m_nSetMethod; // 0x13d8 // MPropertyFriendlyName "local space control point" - int32_t m_nLocalSpaceControlPoint; // 0x136c + int32_t m_nLocalSpaceControlPoint; // 0x13dc // MPropertyFriendlyName "3D" - bool m_b3D; // 0x1370 + bool m_b3D; // 0x13e0 }; // Alignment: 6 -// Size: 0x320 +// Size: 0x330 class C_OP_SetChildControlPoints : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1b0 + int32_t m_nChildGroupID; // 0x1c0 // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x1b4 + int32_t m_nFirstControlPoint; // 0x1c4 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x1b8 + int32_t m_nNumControlPoints; // 0x1c8 private: - [[maybe_unused]] uint8_t __pad01bc[0x4]; // 0x1bc + [[maybe_unused]] uint8_t __pad01cc[0x4]; // 0x1cc public: // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x1c0 + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x1d0 // MPropertyFriendlyName "start as last particle" - bool m_bReverse; // 0x310 + bool m_bReverse; // 0x328 // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x311 + bool m_bSetOrientation; // 0x329 }; // Alignment: 2 @@ -25639,29 +23704,29 @@ public: }; // Alignment: 7 -// Size: 0x330 +// Size: 0x350 class C_OP_SetControlPointToWaterSurface : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source CP" - int32_t m_nSourceCP; // 0x1c0 + int32_t m_nSourceCP; // 0x1d0 // MPropertyFriendlyName "CP to set to surface" - int32_t m_nDestCP; // 0x1c4 + int32_t m_nDestCP; // 0x1d4 // MPropertyFriendlyName "CP to set to surface current flow velocity" // MPropertySuppressExpr "mod != hlx" - int32_t m_nFlowCP; // 0x1c8 + int32_t m_nFlowCP; // 0x1d8 // MPropertyFriendlyName "CP to set component of if water" - int32_t m_nActiveCP; // 0x1cc + int32_t m_nActiveCP; // 0x1dc // MPropertyFriendlyName "CP component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nActiveCPField; // 0x1d0 + int32_t m_nActiveCPField; // 0x1e0 private: - [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 + [[maybe_unused]] uint8_t __pad01e4[0x4]; // 0x1e4 public: // MPropertyFriendlyName "retest rate" - CParticleCollectionFloatInput m_flRetestRate; // 0x1d8 + CParticleCollectionFloatInput m_flRetestRate; // 0x1e8 // MPropertyFriendlyName "adaptive retest on moving surface" - bool m_bAdaptiveThreshold; // 0x328 + bool m_bAdaptiveThreshold; // 0x340 }; // Alignment: 2 @@ -25675,16 +23740,8 @@ public: float m_flVelocityScale; // 0x1c4 }; -// Alignment: 1 -// Size: 0x50 -class CPulseCell_Step_TestDomainEntFire : public CPulseCell_BaseFlow -{ -public: - CUtlString m_Input; // 0x48 -}; - // Alignment: 22 -// Size: 0x13c0 +// Size: 0x1420 class C_OP_RenderCables : public CParticleFunctionRenderer { public: @@ -25694,79 +23751,71 @@ public: CParticleCollectionFloatInput m_flRadiusScale; // 0x200 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x350 + CParticleCollectionFloatInput m_flAlphaScale; // 0x358 // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x4a0 + CParticleCollectionVecInput m_vecColorScale; // 0x4b0 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0xad8 + ParticleColorBlendType_t m_nColorBlendType; // 0xb08 private: - [[maybe_unused]] uint8_t __pad0adc[0x4]; // 0xadc + [[maybe_unused]] uint8_t __pad0b0c[0x4]; // 0xb0c public: // MPropertyStartGroup - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xae0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xb10 // MPropertyFriendlyName "texture repetition mode" - TextureRepetitionMode_t m_nTextureRepetitionMode; // 0xae8 + TextureRepetitionMode_t m_nTextureRepetitionMode; // 0xb18 private: - [[maybe_unused]] uint8_t __pad0aec[0x4]; // 0xaec + [[maybe_unused]] uint8_t __pad0b1c[0x4]; // 0xb1c public: // MPropertyFriendlyName "texture repetitions" - CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0xaf0 + CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0xb20 // MPropertyFriendlyName "texture repetitions around cable" - CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0xc40 + CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0xc78 // MPropertyFriendlyName "color map offset along path" - CParticleCollectionFloatInput m_flColorMapOffsetV; // 0xd90 + CParticleCollectionFloatInput m_flColorMapOffsetV; // 0xdd0 // MPropertyFriendlyName "color map offset around cable" - CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xee0 + CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xf28 // MPropertyFriendlyName "normal map offset along path" - CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0x1030 + CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0x1080 // MPropertyFriendlyName "normal map offset around cable" - CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0x1180 + CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0x11d8 // MPropertyFriendlyName "draw caps at each end of the cable" - bool m_bDrawCableCaps; // 0x12d0 + bool m_bDrawCableCaps; // 0x1330 private: - [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 + [[maybe_unused]] uint8_t __pad1331[0x3]; // 0x1331 public: // MPropertyFriendlyName "cable end cap shape factor" // MPropertyAttributeRange "0 2" - float m_flCapRoundness; // 0x12d4 + float m_flCapRoundness; // 0x1334 // MPropertyFriendlyName "cable end cap offset amount" // MPropertyAttributeRange "0 2" - float m_flCapOffsetAmount; // 0x12d8 + float m_flCapOffsetAmount; // 0x1338 // MPropertyFriendlyName "tessellation scale factor" - float m_flTessScale; // 0x12dc + float m_flTessScale; // 0x133c // MPropertyFriendlyName "minimum steps between particles" - int32_t m_nMinTesselation; // 0x12e0 + int32_t m_nMinTesselation; // 0x1340 // MPropertyFriendlyName "maximum steps between particles" - int32_t m_nMaxTesselation; // 0x12e4 + int32_t m_nMaxTesselation; // 0x1344 // MPropertyFriendlyName "roundness factor" - int32_t m_nRoundness; // 0x12e8 + int32_t m_nRoundness; // 0x1348 private: - [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec + [[maybe_unused]] uint8_t __pad134c[0x4]; // 0x134c public: // MPropertyFriendlyName "diffuse lighting origin" // MParticleInputOptional - CParticleTransformInput m_LightingTransform; // 0x12f0 + CParticleTransformInput m_LightingTransform; // 0x1350 // MPropertyFriendlyName "material float variables" - CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0x1358 + CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0x13b8 private: - [[maybe_unused]] uint8_t __pad1370[0x18]; // 0x1370 + [[maybe_unused]] uint8_t __pad13d0[0x18]; // 0x13d0 public: // MPropertyFriendlyName "material vector variables" - CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0x1388 + CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0x13e8 }; -// Alignment: 0 -// Size: 0x48 -class CPulseCell_Step_TestDomainCreateFakeEntity : public CPulseCell_BaseFlow -{ -public: - // No members available -}; - -// Alignment: 9 -// Size: 0x330 +// Alignment: 10 +// Size: 0x490 class C_INIT_InitFromCPSnapshot : public CParticleFunctionInitializer { public: @@ -25789,14 +23838,16 @@ private: public: // MPropertyFriendlyName "Snapshot increment amount" CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x1d8 + // MPropertyFriendlyName "Manual Snapshot Index" + CPerParticleFloatInput m_nManualSnapshotIndex; // 0x330 // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x328 + int32_t m_nRandomSeed; // 0x488 // MPropertyFriendlyName "local space angles" - bool m_bLocalSpaceAngles; // 0x32c + bool m_bLocalSpaceAngles; // 0x48c }; // Alignment: 0 -// Size: 0x638 +// Size: 0x658 class CParticleCollectionRendererVecInput : public CParticleCollectionVecInput { public: @@ -25804,7 +23855,7 @@ public: }; // Alignment: 0 -// Size: 0x210 +// Size: 0x220 class C_OP_RemapNamedModelSequenceEndCap : public C_OP_RemapNamedModelElementEndCap { public: @@ -25812,7 +23863,7 @@ public: }; // Alignment: 3 -// Size: 0x320 +// Size: 0x330 class C_INIT_PlaneCull : public CParticleFunctionInitializer { public: @@ -25824,119 +23875,119 @@ public: // MPropertyFriendlyName "cull offset" CParticleCollectionFloatInput m_flDistance; // 0x1c8 // MPropertyFriendlyName "flip cull normal" - bool m_bCullInside; // 0x318 + bool m_bCullInside; // 0x320 }; // Alignment: 10 -// Size: 0x2a0 +// Size: 0x2b0 class C_OP_PercentageBetweenTransforms : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1b4 + float m_flInputMin; // 0x1c4 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1b8 + float m_flInputMax; // 0x1c8 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1bc + float m_flOutputMin; // 0x1cc // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c0 + float m_flOutputMax; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 + [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x1c8 + CParticleTransformInput m_TransformStart; // 0x1d8 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x230 + CParticleTransformInput m_TransformEnd; // 0x240 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x298 + ParticleSetMethod_t m_nSetMethod; // 0x2a8 // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x29c + bool m_bActiveRange; // 0x2ac // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x29d + bool m_bRadialCheck; // 0x2ad }; // Alignment: 6 -// Size: 0xf90 +// Size: 0xff0 class C_OP_SetControlPointFieldFromVectorExpression : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "expression" - VectorFloatExpressionType_t m_nExpression; // 0x1c0 + VectorFloatExpressionType_t m_nExpression; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 + [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 public: // MPropertyFriendlyName "input 1" - CParticleCollectionVecInput m_vecInput1; // 0x1c8 + CParticleCollectionVecInput m_vecInput1; // 0x1d8 // MPropertyFriendlyName "input 2" - CParticleCollectionVecInput m_vecInput2; // 0x800 + CParticleCollectionVecInput m_vecInput2; // 0x830 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0xe38 + CParticleRemapFloatInput m_flOutputRemap; // 0xe88 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0xf88 + int32_t m_nOutputCP; // 0xfe0 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0xf8c + int32_t m_nOutVectorField; // 0xfe4 }; // Alignment: 9 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_DifferencePreviousParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "difference minimum" - float m_flInputMin; // 0x1b8 + float m_flInputMin; // 0x1c8 // MPropertyFriendlyName "difference maximum" - float m_flInputMax; // 0x1bc + float m_flInputMax; // 0x1cc // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1c0 + float m_flOutputMin; // 0x1d0 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c4 + float m_flOutputMax; // 0x1d4 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1c8 + ParticleSetMethod_t m_nSetMethod; // 0x1d8 // MPropertyFriendlyName "only active within specified difference" - bool m_bActiveRange; // 0x1cc + bool m_bActiveRange; // 0x1dc // MPropertyFriendlyName "also set ouput to previous particle" - bool m_bSetPreviousParticle; // 0x1cd + bool m_bSetPreviousParticle; // 0x1dd }; // Alignment: 3 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_SetControlPointToHMD : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x1c0 + int32_t m_nCP1; // 0x1d0 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x1c4 + Vector m_vecCP1Pos; // 0x1d4 // MPropertyFriendlyName "use hmd orientation" - bool m_bOrientToHMD; // 0x1d0 + bool m_bOrientToHMD; // 0x1e0 }; // Alignment: 3 -// Size: 0x460 +// Size: 0x480 class C_OP_ClampScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x1b8 + CPerParticleFloatInput m_flOutputMin; // 0x1c8 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x308 + CPerParticleFloatInput m_flOutputMax; // 0x320 }; // Alignment: 13 @@ -25980,57 +24031,49 @@ public: int32_t m_nChildGroupID; // 0x270 }; -// Alignment: 1 -// Size: 0x4 -struct PulseRuntimeOutputIndex_t -{ -public: - int32_t m_Value; // 0x0 -}; - // Alignment: 4 -// Size: 0x310 +// Size: 0x330 class C_OP_LerpScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "value to lerp to" - CPerParticleFloatInput m_flOutput; // 0x1b8 + CPerParticleFloatInput m_flOutput; // 0x1c8 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x308 + float m_flStartTime; // 0x320 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x30c + float m_flEndTime; // 0x324 }; // Alignment: 6 -// Size: 0x460 +// Size: 0x480 class C_OP_MovementMoveAlongSkinnedCPSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1b4 + int32_t m_nSnapshotControlPointNumber; // 0x1c4 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x1b8 + bool m_bSetNormal; // 0x1c8 // MPropertyFriendlyName "set radius" - bool m_bSetRadius; // 0x1b9 + bool m_bSetRadius; // 0x1c9 private: - [[maybe_unused]] uint8_t __pad01ba[0x6]; // 0x1ba + [[maybe_unused]] uint8_t __pad01ca[0x6]; // 0x1ca public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1c0 + CPerParticleFloatInput m_flInterpolation; // 0x1d0 // MPropertyFriendlyName "Snapshot Index T Value" - CPerParticleFloatInput m_flTValue; // 0x310 + CPerParticleFloatInput m_flTValue; // 0x328 }; // Alignment: 9 -// Size: 0x9f0 +// Size: 0xa10 class C_INIT_SetHitboxToModel : public CParticleFunctionInitializer { public: @@ -26047,22 +24090,22 @@ public: CParticleCollectionVecInput m_vecHitBoxScale; // 0x1d0 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - Vector m_vecDirectionBias; // 0x808 + Vector m_vecDirectionBias; // 0x828 // MPropertyFriendlyName "maintain existing hitbox" - bool m_bMaintainHitbox; // 0x814 + bool m_bMaintainHitbox; // 0x834 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x815 + bool m_bUseBones; // 0x835 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x816 + char m_HitboxSetName[128]; // 0x836 private: - [[maybe_unused]] uint8_t __pad0896[0x2]; // 0x896 + [[maybe_unused]] uint8_t __pad08b6[0x2]; // 0x8b6 public: // MPropertyFriendlyName "hitbox shell thickness" - CParticleCollectionFloatInput m_flShellSize; // 0x898 + CParticleCollectionFloatInput m_flShellSize; // 0x8b8 }; // Alignment: 5 -// Size: 0x810 +// Size: 0x830 class C_INIT_InitVec : public CParticleFunctionInitializer { public: @@ -26070,149 +24113,141 @@ public: CPerParticleVecInput m_InputValue; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7f8 + ParticleAttributeIndex_t m_nOutputField; // 0x818 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7fc + ParticleSetMethod_t m_nSetMethod; // 0x81c // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0x800 + bool m_bNormalizedOutput; // 0x820 // MPropertyFriendlyName "set previous position" // MPropertySuppressExpr "m_nOutputField != PARTICLE_ATTRIBUTE_XYZ" - bool m_bWritePreviousPosition; // 0x801 + bool m_bWritePreviousPosition; // 0x821 }; // Alignment: 2 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_RemapDensityGradientToVectorAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1b0 + float m_flRadiusScale; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 }; // Alignment: 1 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_AlphaDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum alpha" - float m_flMinAlpha; // 0x1b0 -}; - -// Alignment: 1 -// Size: 0x60 -class CPulseCell_Outflow_CycleShuffled : public CPulseCell_BaseFlow -{ -public: - CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 + float m_flMinAlpha; // 0x1c0 }; // Alignment: 8 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_SequenceFromModel : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "current anim time output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1b8 + ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1c8 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1bc + float m_flInputMin; // 0x1cc // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1c0 + float m_flInputMax; // 0x1d0 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1c4 + float m_flOutputMin; // 0x1d4 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c8 + float m_flOutputMax; // 0x1d8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1cc + ParticleSetMethod_t m_nSetMethod; // 0x1dc }; // Alignment: 3 -// Size: 0x5a0 +// Size: 0x5d0 class C_OP_ColorAdjustHSL : public CParticleFunctionOperator { public: // MPropertyFriendlyName "hue adjust" - CPerParticleFloatInput m_flHueAdjust; // 0x1b0 + CPerParticleFloatInput m_flHueAdjust; // 0x1c0 // MPropertyFriendlyName "saturation adjust" - CPerParticleFloatInput m_flSaturationAdjust; // 0x300 + CPerParticleFloatInput m_flSaturationAdjust; // 0x318 // MPropertyFriendlyName "lightness adjust" - CPerParticleFloatInput m_flLightnessAdjust; // 0x450 + CPerParticleFloatInput m_flLightnessAdjust; // 0x470 }; // Alignment: 6 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_FadeAndKillForTracers : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x1b0 + float m_flStartFadeInTime; // 0x1c0 // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x1b4 + float m_flEndFadeInTime; // 0x1c4 // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x1b8 + float m_flStartFadeOutTime; // 0x1c8 // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x1bc + float m_flEndFadeOutTime; // 0x1cc // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x1c0 + float m_flStartAlpha; // 0x1d0 // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x1c4 + float m_flEndAlpha; // 0x1d4 }; // Alignment: 6 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_Noise : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1b4 + float m_flOutputMin; // 0x1c4 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1b8 + float m_flOutputMax; // 0x1c8 // MPropertyFriendlyName "noise coordinate scale" - float m_fl4NoiseScale; // 0x1bc + float m_fl4NoiseScale; // 0x1cc // MPropertyFriendlyName "additive" - bool m_bAdditive; // 0x1c0 + bool m_bAdditive; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01c1[0x3]; // 0x1c1 + [[maybe_unused]] uint8_t __pad01d1[0x3]; // 0x1d1 public: // MPropertyFriendlyName "Noise animation time scale" - float m_flNoiseAnimationTimeScale; // 0x1c4 + float m_flNoiseAnimationTimeScale; // 0x1d4 }; // Alignment: 2 -// Size: 0x450 +// Size: 0x470 class C_OP_CollideWithSelf : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x1b0 + CPerParticleFloatInput m_flRadiusScale; // 0x1c0 // MPropertyFriendlyName "minimum speed for check" - CPerParticleFloatInput m_flMinimumSpeed; // 0x300 + CPerParticleFloatInput m_flMinimumSpeed; // 0x318 }; // Alignment: 4 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_LagCompensation : public CParticleFunctionOperator { public: // MPropertyFriendlyName "desired velocity CP" - int32_t m_nDesiredVelocityCP; // 0x1b0 + int32_t m_nDesiredVelocityCP; // 0x1c0 // MPropertyFriendlyName "latency CP" - int32_t m_nLatencyCP; // 0x1b4 + int32_t m_nLatencyCP; // 0x1c4 // MPropertyFriendlyName "latency CP field" - int32_t m_nLatencyCPField; // 0x1b8 + int32_t m_nLatencyCPField; // 0x1c8 // MPropertyFriendlyName "desired velocity CP field override(for speed only)" - int32_t m_nDesiredVelocityCPField; // 0x1bc + int32_t m_nDesiredVelocityCPField; // 0x1cc }; // Alignment: 17 @@ -26271,63 +24306,45 @@ public: }; // Alignment: 7 -// Size: 0x330 +// Size: 0x340 class C_OP_RotateVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "rotation axis min" // MVectorIsCoordinate - Vector m_vecRotAxisMin; // 0x1b4 + Vector m_vecRotAxisMin; // 0x1c4 // MPropertyFriendlyName "rotation axis max" // MVectorIsCoordinate - Vector m_vecRotAxisMax; // 0x1c0 + Vector m_vecRotAxisMax; // 0x1d0 // MPropertyFriendlyName "rotation rate min" - float m_flRotRateMin; // 0x1cc + float m_flRotRateMin; // 0x1dc // MPropertyFriendlyName "rotation rate max" - float m_flRotRateMax; // 0x1d0 + float m_flRotRateMax; // 0x1e0 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x1d4 + bool m_bNormalize; // 0x1e4 private: - [[maybe_unused]] uint8_t __pad01d5[0x3]; // 0x1d5 + [[maybe_unused]] uint8_t __pad01e5[0x3]; // 0x1e5 public: // MPropertyFriendlyName "per particle scale" - CPerParticleFloatInput m_flScale; // 0x1d8 -}; - -// 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);}; + CPerParticleFloatInput m_flScale; // 0x1e8 }; // Alignment: 2 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_ConnectParentParticleToNearest : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1b0 + int32_t m_nFirstControlPoint; // 0x1c0 // MPropertyFriendlyName "Second Control point to set" - int32_t m_nSecondControlPoint; // 0x1b4 + int32_t m_nSecondControlPoint; // 0x1c4 }; -// Alignment: 13 -// Size: 0x1190 +// Alignment: 14 +// Size: 0x11f0 class C_OP_RenderOmni2Light : public CParticleFunctionRenderer { public: @@ -26340,32 +24357,34 @@ public: CParticleCollectionVecInput m_vColorBlend; // 0x208 // MPropertyFriendlyName "Color Blend Type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x840 - ParticleLightUnitChoiceList_t m_nBrightnessUnit; // 0x844 + ParticleColorBlendType_t m_nColorBlendType; // 0x860 + ParticleLightUnitChoiceList_t m_nBrightnessUnit; // 0x864 // MPropertyFriendlyName "Lumens" // MPropertySuppressExpr "m_nBrightnessUnit != PARTICLE_LIGHT_UNIT_LUMENS" - CPerParticleFloatInput m_flBrightnessLumens; // 0x848 + CPerParticleFloatInput m_flBrightnessLumens; // 0x868 // MPropertyFriendlyName "Candelas" // MPropertySuppressExpr "m_nBrightnessUnit != PARTICLE_LIGHT_UNIT_CANDELAS" - CPerParticleFloatInput m_flBrightnessCandelas; // 0x998 + CPerParticleFloatInput m_flBrightnessCandelas; // 0x9c0 // MPropertyFriendlyName "Shadows" // MPropertySuppressExpr "mod == csgo" - bool m_bCastShadows; // 0xae8 + bool m_bCastShadows; // 0xb18 private: - [[maybe_unused]] uint8_t __pad0ae9[0x7]; // 0xae9 + [[maybe_unused]] uint8_t __pad0b19[0x7]; // 0xb19 public: // MPropertyFriendlyName "Light Radius" - CPerParticleFloatInput m_flLuminaireRadius; // 0xaf0 + CPerParticleFloatInput m_flLuminaireRadius; // 0xb20 // MPropertyFriendlyName "Skirt" - CPerParticleFloatInput m_flSkirt; // 0xc40 + CPerParticleFloatInput m_flSkirt; // 0xc78 // MPropertyFriendlyName "Range" - CPerParticleFloatInput m_flRange; // 0xd90 + CPerParticleFloatInput m_flRange; // 0xdd0 // MPropertyFriendlyName "Inner Cone Angle" - CPerParticleFloatInput m_flInnerConeAngle; // 0xee0 + CPerParticleFloatInput m_flInnerConeAngle; // 0xf28 // MPropertyFriendlyName "Outer Cone Angle" - CPerParticleFloatInput m_flOuterConeAngle; // 0x1030 + CPerParticleFloatInput m_flOuterConeAngle; // 0x1080 // MPropertyFriendlyName "Cookie" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x1180 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x11d8 + // MPropertyFriendlyName "Cookie is Spherically Mapped" + bool m_bSphericalCookie; // 0x11e0 }; // Alignment: 1 @@ -26376,44 +24395,6 @@ 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: 0x1f0 class C_INIT_RandomNamedModelBodyPart : public C_INIT_RandomNamedModelElement @@ -26422,18 +24403,6 @@ 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 @@ -26465,47 +24434,39 @@ public: }; // Alignment: 5 -// Size: 0x950 +// Size: 0x980 class C_OP_SetVec : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CPerParticleVecInput m_InputValue; // 0x1b0 + CPerParticleVecInput m_InputValue; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7e8 + ParticleAttributeIndex_t m_nOutputField; // 0x818 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7ec + ParticleSetMethod_t m_nSetMethod; // 0x81c // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x7f0 + CPerParticleFloatInput m_Lerp; // 0x820 // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0x940 + bool m_bNormalizedOutput; // 0x978 }; // Alignment: 3 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_MovementMaintainOffset : public CParticleFunctionOperator { public: // MPropertyFriendlyName "desired offset" // MVectorIsCoordinate - Vector m_vecOffset; // 0x1b0 + Vector m_vecOffset; // 0x1c0 // MPropertyFriendlyName "local space CP" - int32_t m_nCP; // 0x1bc + int32_t m_nCP; // 0x1cc // MPropertyFriendlyName "scale by radius" - bool m_bRadiusScale; // 0x1c0 -}; - -// Alignment: 1 -// Size: 0x4 -struct PulseRuntimeInvokeIndex_t -{ -public: - int32_t m_Value; // 0x0 + bool m_bRadiusScale; // 0x1d0 }; // Alignment: 0 -// Size: 0x210 +// Size: 0x220 class C_OP_RemapNamedModelBodyPartOnceTimed : public C_OP_RemapNamedModelElementOnceTimed { public: @@ -26513,84 +24474,84 @@ public: }; // Alignment: 15 -// Size: 0xab0 +// Size: 0xae0 class C_OP_LockToBone : public CParticleFunctionOperator { public: // MPropertyFriendlyName "model input" - CParticleModelInput m_modelInput; // 0x1b0 + CParticleModelInput m_modelInput; // 0x1c0 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_transformInput; // 0x210 + CParticleTransformInput m_transformInput; // 0x220 // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x278 + float m_flLifeTimeFadeStart; // 0x288 // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x27c + float m_flLifeTimeFadeEnd; // 0x28c // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x280 + float m_flJumpThreshold; // 0x290 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x284 + float m_flPrevPosScale; // 0x294 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x288 + char m_HitboxSetName[128]; // 0x298 // MPropertyFriendlyName "rigid lock" - bool m_bRigid; // 0x308 + bool m_bRigid; // 0x318 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x309 + bool m_bUseBones; // 0x319 private: - [[maybe_unused]] uint8_t __pad030a[0x2]; // 0x30a + [[maybe_unused]] uint8_t __pad031a[0x2]; // 0x31a public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x30c + ParticleAttributeIndex_t m_nFieldOutput; // 0x31c // MPropertyFriendlyName "output field prev" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x310 + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x320 // MPropertyStartGroup "Set Rotations to Bones" // MPropertyFriendlyName "lock rotations to bone orientation" - ParticleRotationLockType_t m_nRotationSetType; // 0x314 + ParticleRotationLockType_t m_nRotationSetType; // 0x324 // MPropertyFriendlyName "rigid set rotation from bones" - bool m_bRigidRotationLock; // 0x318 + bool m_bRigidRotationLock; // 0x328 private: - [[maybe_unused]] uint8_t __pad0319[0x7]; // 0x319 + [[maybe_unused]] uint8_t __pad0329[0x7]; // 0x329 public: // MPropertyFriendlyName "rigid rotation offset pitch/yaw/roll" - CPerParticleVecInput m_vecRotation; // 0x320 + CPerParticleVecInput m_vecRotation; // 0x330 // MPropertyFriendlyName "rigid rotation interpolation" - CPerParticleFloatInput m_flRotLerp; // 0x958 + CPerParticleFloatInput m_flRotLerp; // 0x988 }; // Alignment: 12 -// Size: 0x2b0 +// Size: 0x2c0 class C_OP_PercentageBetweenTransformLerpCPs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1b4 + float m_flInputMin; // 0x1c4 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1b8 + float m_flInputMax; // 0x1c8 private: - [[maybe_unused]] uint8_t __pad01bc[0x4]; // 0x1bc + [[maybe_unused]] uint8_t __pad01cc[0x4]; // 0x1cc public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x1c0 + CParticleTransformInput m_TransformStart; // 0x1d0 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x228 + CParticleTransformInput m_TransformEnd; // 0x238 // MPropertyFriendlyName "output starting control point number" - int32_t m_nOutputStartCP; // 0x290 + int32_t m_nOutputStartCP; // 0x2a0 // MPropertyFriendlyName "output starting control point field 0-2 X/Y/Z" - int32_t m_nOutputStartField; // 0x294 + int32_t m_nOutputStartField; // 0x2a4 // MPropertyFriendlyName "output ending control point number" - int32_t m_nOutputEndCP; // 0x298 + int32_t m_nOutputEndCP; // 0x2a8 // MPropertyFriendlyName "output ending control point field 0-2 X/Y/Z" - int32_t m_nOutputEndField; // 0x29c + int32_t m_nOutputEndField; // 0x2ac // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2a0 + ParticleSetMethod_t m_nSetMethod; // 0x2b0 // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2a4 + bool m_bActiveRange; // 0x2b4 // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2a5 + bool m_bRadialCheck; // 0x2b5 }; // Alignment: 3 @@ -26606,54 +24567,46 @@ public: bool m_bOffsetInLocalSpace; // 0x10 }; -// Alignment: 0 -// Size: 0x48 -class CPulseCell_BaseYieldingInflow : public CPulseCell_BaseFlow -{ -public: - // No members available -}; - // Alignment: 3 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_DampenToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 // MPropertyFriendlyName "falloff range" - float m_flRange; // 0x1b4 + float m_flRange; // 0x1c4 // MPropertyFriendlyName "dampen scale" - float m_flScale; // 0x1b8 + float m_flScale; // 0x1c8 }; // Alignment: 9 -// Size: 0x1370 +// Size: 0x13e0 class C_OP_DistanceBetweenVecs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x1b8 + CPerParticleVecInput m_vecPoint1; // 0x1c8 // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x7f0 + CPerParticleVecInput m_vecPoint2; // 0x820 // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0xe28 + CPerParticleFloatInput m_flInputMin; // 0xe78 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0xf78 + CPerParticleFloatInput m_flInputMax; // 0xfd0 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x10c8 + CPerParticleFloatInput m_flOutputMin; // 0x1128 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x1218 + CPerParticleFloatInput m_flOutputMax; // 0x1280 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1368 + ParticleSetMethod_t m_nSetMethod; // 0x13d8 // MPropertyFriendlyName "divide by deltatime (for comparing motion since last simulation)" - bool m_bDeltaTime; // 0x136c + bool m_bDeltaTime; // 0x13dc }; // Alignment: 6 @@ -26677,19 +24630,19 @@ public: }; // Alignment: 3 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_RemapVectorComponentToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Input Vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1c0 // MPropertyFriendlyName "Output Scalar" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "Vector Component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x1b8 + int32_t m_nComponent; // 0x1c8 }; // Alignment: 8 @@ -26719,32 +24672,36 @@ public: Vector m_vecOffsetLoc; // 0x1d8 }; -// Alignment: 0 -// Size: 0x1 -class CPulseTurtleGraphicsLib +// Alignment: 3 +// Size: 0x1d0 +class C_OP_Diffusion : public CParticleFunctionOperator { -private: - [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 public: - // No members available + // MPropertyFriendlyName "Radius scale for particle influence" + float m_flRadiusScale; // 0x1c0 + // MPropertyFriendlyName "Output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 + // MPropertyFriendlyName "Resolution to use for creating a voxel grid" + int32_t m_nVoxelGridResolution; // 0x1c8 }; // Alignment: 4 -// Size: 0x320 +// Size: 0x340 class C_OP_SetControlPointPositionToRandomActiveCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x1c0 + int32_t m_nCP1; // 0x1d0 // MPropertyFriendlyName "min active CP" - int32_t m_nHeadLocationMin; // 0x1c4 + int32_t m_nHeadLocationMin; // 0x1d4 // MPropertyFriendlyName "max active CP" - int32_t m_nHeadLocationMax; // 0x1c8 + int32_t m_nHeadLocationMax; // 0x1d8 private: - [[maybe_unused]] uint8_t __pad01cc[0x4]; // 0x1cc + [[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc public: // MPropertyFriendlyName "reset rate" - CParticleCollectionFloatInput m_flResetRate; // 0x1d0 + CParticleCollectionFloatInput m_flResetRate; // 0x1e0 }; // Alignment: 1 @@ -26757,19 +24714,19 @@ public: }; // Alignment: 4 -// Size: 0x480 +// Size: 0x4a0 class C_OP_SetFloatCollection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CParticleCollectionFloatInput m_InputValue; // 0x1b0 + CParticleCollectionFloatInput m_InputValue; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x300 + ParticleAttributeIndex_t m_nOutputField; // 0x318 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x304 + ParticleSetMethod_t m_nSetMethod; // 0x31c // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_Lerp; // 0x308 + CParticleCollectionFloatInput m_Lerp; // 0x320 }; // Alignment: 2 @@ -26786,24 +24743,24 @@ public: }; // Alignment: 5 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_InheritFromParentParticlesV2 : public CParticleFunctionOperator { public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1b0 + float m_flScale; // 0x1c0 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1b8 + int32_t m_nIncrement; // 0x1c8 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1bc + bool m_bRandomDistribution; // 0x1cc private: - [[maybe_unused]] uint8_t __pad01bd[0x3]; // 0x1bd + [[maybe_unused]] uint8_t __pad01cd[0x3]; // 0x1cd public: // MPropertyFriendlyName "behavior if parent particle dies" - MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x1c0 + MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x1d0 }; // Alignment: 0 @@ -26815,162 +24772,162 @@ public: }; // Alignment: 4 -// Size: 0x230 +// Size: 0x240 class C_OP_RemapTransformOrientationToRotations : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1b0 + CParticleTransformInput m_TransformInput; // 0x1c0 // MPropertyFriendlyName "offset pitch/yaw/roll" - Vector m_vecRotation; // 0x218 + Vector m_vecRotation; // 0x228 // MPropertyFriendlyName "Use Quaternians Internally" - bool m_bUseQuat; // 0x224 + bool m_bUseQuat; // 0x234 // MPropertyFriendlyName "Write normal instead of rotation" - bool m_bWriteNormal; // 0x225 + bool m_bWriteNormal; // 0x235 }; // Alignment: 4 -// Size: 0xe30 +// Size: 0xe80 class C_OP_RemapCrossProductOfTwoVectorsToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input vector 1" - CPerParticleVecInput m_InputVec1; // 0x1b0 + CPerParticleVecInput m_InputVec1; // 0x1c0 // MPropertyFriendlyName "input vector 2" - CPerParticleVecInput m_InputVec2; // 0x7e8 + CPerParticleVecInput m_InputVec2; // 0x818 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0xe20 + ParticleAttributeIndex_t m_nFieldOutput; // 0xe70 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0xe24 + bool m_bNormalize; // 0xe74 }; // Alignment: 2 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_SetCPOrientationToDirection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point" - int32_t m_nInputControlPoint; // 0x1b0 + int32_t m_nInputControlPoint; // 0x1c0 // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x1b4 + int32_t m_nOutputControlPoint; // 0x1c4 }; // Alignment: 17 -// Size: 0x3c0 +// Size: 0x3e0 class C_OP_MovementPlaceOnGround : public CParticleFunctionOperator { public: // MPropertyFriendlyName "offset" - CPerParticleFloatInput m_flOffset; // 0x1b0 + CPerParticleFloatInput m_flOffset; // 0x1c0 // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x300 + float m_flMaxTraceLength; // 0x318 // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x304 + float m_flTolerance; // 0x31c // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x308 + float m_flTraceOffset; // 0x320 // MPropertyFriendlyName "interpolation rate" - float m_flLerpRate; // 0x30c + float m_flLerpRate; // 0x324 // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x310 + char m_CollisionGroupName[128]; // 0x328 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x390 + ParticleTraceSet_t m_nTraceSet; // 0x3a8 // MPropertyFriendlyName "reference CP 1" - int32_t m_nRefCP1; // 0x394 + int32_t m_nRefCP1; // 0x3ac // MPropertyFriendlyName "reference CP 2" - int32_t m_nRefCP2; // 0x398 + int32_t m_nRefCP2; // 0x3b0 // MPropertyFriendlyName "interploation distance tolerance cp" - int32_t m_nLerpCP; // 0x39c + int32_t m_nLerpCP; // 0x3b4 private: - [[maybe_unused]] uint8_t __pad03a0[0x8]; // 0x3a0 + [[maybe_unused]] uint8_t __pad03b8[0x8]; // 0x3b8 public: // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3a8 + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3c0 // MPropertyFriendlyName "include default contents trace hulls" - bool m_bIncludeShotHull; // 0x3ac + bool m_bIncludeShotHull; // 0x3c4 // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x3ad + bool m_bIncludeWater; // 0x3c5 private: - [[maybe_unused]] uint8_t __pad03ae[0x2]; // 0x3ae + [[maybe_unused]] uint8_t __pad03c6[0x2]; // 0x3c6 public: // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x3b0 + bool m_bSetNormal; // 0x3c8 // MPropertyFriendlyName "treat offset as scalar of particle radius" - bool m_bScaleOffset; // 0x3b1 + bool m_bScaleOffset; // 0x3c9 private: - [[maybe_unused]] uint8_t __pad03b2[0x2]; // 0x3b2 + [[maybe_unused]] uint8_t __pad03ca[0x2]; // 0x3ca public: // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x3b4 + int32_t m_nPreserveOffsetCP; // 0x3cc // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x3b8 + int32_t m_nIgnoreCP; // 0x3d0 }; // Alignment: 5 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_LockToPointList : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "point list" - CUtlVector< PointDefinition_t > m_pointList; // 0x1b8 + CUtlVector< PointDefinition_t > m_pointList; // 0x1c8 // MPropertyFriendlyName "space points along path" - bool m_bPlaceAlongPath; // 0x1d0 + bool m_bPlaceAlongPath; // 0x1e0 // MPropertyFriendlyName "Treat path as a loop" - bool m_bClosedLoop; // 0x1d1 + bool m_bClosedLoop; // 0x1e1 private: - [[maybe_unused]] uint8_t __pad01d2[0x2]; // 0x1d2 + [[maybe_unused]] uint8_t __pad01e2[0x2]; // 0x1e2 public: // MPropertyFriendlyName "Numer of points along path" - int32_t m_nNumPointsAlongPath; // 0x1d4 + int32_t m_nNumPointsAlongPath; // 0x1e4 }; // Alignment: 6 -// Size: 0x320 +// Size: 0x340 class C_OP_SetCPOrientationToPointAtCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "CP to point towards" - int32_t m_nInputCP; // 0x1c0 + int32_t m_nInputCP; // 0x1d0 // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x1c4 + int32_t m_nOutputCP; // 0x1d4 // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x1c8 + CParticleCollectionFloatInput m_flInterpolation; // 0x1d8 // MPropertyFriendlyName "2D Orient" - bool m_b2DOrientation; // 0x318 + bool m_b2DOrientation; // 0x330 // MPropertyFriendlyName "Avoid Vertical Axis Singularity" - bool m_bAvoidSingularity; // 0x319 + bool m_bAvoidSingularity; // 0x331 // MPropertyFriendlyName "Point Away" - bool m_bPointAway; // 0x31a + bool m_bPointAway; // 0x332 }; // Alignment: 1 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_VelocityDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum velocity" - float m_flMinVelocity; // 0x1b0 + float m_flMinVelocity; // 0x1c0 }; // Alignment: 3 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_LerpEndCapVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "value to lerp to" // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x1b4 + Vector m_vecOutput; // 0x1c4 // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x1c0 + float m_flLerpTime; // 0x1d0 }; // Alignment: 0 @@ -26982,27 +24939,27 @@ public: }; // Alignment: 5 -// Size: 0xaa0 +// Size: 0xae0 class C_OP_LerpToInitialPosition : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1b8 + CPerParticleFloatInput m_flInterpolation; // 0x1c8 // MPropertyFriendlyName "position cache attribute" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nCacheField; // 0x308 + ParticleAttributeIndex_t m_nCacheField; // 0x320 private: - [[maybe_unused]] uint8_t __pad030c[0x4]; // 0x30c + [[maybe_unused]] uint8_t __pad0324[0x4]; // 0x324 public: // MPropertyFriendlyName "scale" - CParticleCollectionFloatInput m_flScale; // 0x310 + CParticleCollectionFloatInput m_flScale; // 0x328 // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x460 + CParticleCollectionVecInput m_vecScale; // 0x480 }; // Alignment: 2 @@ -27020,25 +24977,25 @@ public: }; // Alignment: 5 -// Size: 0x460 +// Size: 0x480 class C_OP_ReadFromNeighboringParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "read field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1c0 // MPropertyFriendlyName "written field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1b8 + int32_t m_nIncrement; // 0x1c8 private: - [[maybe_unused]] uint8_t __pad01bc[0x4]; // 0x1bc + [[maybe_unused]] uint8_t __pad01cc[0x4]; // 0x1cc public: // MPropertyFriendlyName "maximum distance" - CPerParticleFloatInput m_DistanceCheck; // 0x1c0 + CPerParticleFloatInput m_DistanceCheck; // 0x1d0 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x310 + CPerParticleFloatInput m_flInterpolation; // 0x328 }; // Alignment: 2 @@ -27053,6 +25010,16 @@ public: float m_flRelativeWeight; // 0x4 }; +// Alignment: 1 +// Size: 0x1d0 +class C_OP_RemapSDFGradientToVectorAttribute : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 +}; + // Alignment: 1 // Size: 0x1d0 class C_INIT_RandomYawFlip : public CParticleFunctionInitializer @@ -27063,18 +25030,18 @@ public: }; // Alignment: 4 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_Cull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "cull percentage" - float m_flCullPerc; // 0x1b0 + float m_flCullPerc; // 0x1c0 // MPropertyFriendlyName "cull start time" - float m_flCullStart; // 0x1b4 + float m_flCullStart; // 0x1c4 // MPropertyFriendlyName "cull end time" - float m_flCullEnd; // 0x1b8 + float m_flCullEnd; // 0x1c8 // MPropertyFriendlyName "cull time exponent" - float m_flCullExp; // 0x1bc + float m_flCullExp; // 0x1cc }; // Alignment: 4 @@ -27093,29 +25060,29 @@ public: }; // Alignment: 1 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_NormalLock : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x210 class C_OP_LockToSavedSequentialPathV2 : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x1b0 + float m_flFadeStart; // 0x1c0 // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x1b4 + float m_flFadeEnd; // 0x1c4 // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1b8 + bool m_bCPPairs; // 0x1c8 private: - [[maybe_unused]] uint8_t __pad01b9[0x7]; // 0x1b9 + [[maybe_unused]] uint8_t __pad01c9[0x7]; // 0x1c9 public: - CPathParameters m_PathParams; // 0x1c0 + CPathParameters m_PathParams; // 0x1d0 }; // Alignment: 6 @@ -27140,7 +25107,7 @@ public: }; // Alignment: 2 -// Size: 0x640 +// Size: 0x660 struct VecInputMaterialVariable_t { public: @@ -27151,47 +25118,47 @@ public: }; // Alignment: 6 -// Size: 0x4c0 +// Size: 0x4d0 class C_INIT_CreateSequentialPathV2 : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "maximum distance" CPerParticleFloatInput m_fMaxDistance; // 0x1c0 // MPropertyFriendlyName "particles to map from start to end" - CParticleCollectionFloatInput m_flNumToAssign; // 0x310 + CParticleCollectionFloatInput m_flNumToAssign; // 0x318 // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x460 + bool m_bLoop; // 0x470 // MPropertyFriendlyName "use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x461 + bool m_bCPPairs; // 0x471 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x462 + bool m_bSaveOffset; // 0x472 private: - [[maybe_unused]] uint8_t __pad0463[0xd]; // 0x463 + [[maybe_unused]] uint8_t __pad0473[0xd]; // 0x473 public: - CPathParameters m_PathParams; // 0x470 + CPathParameters m_PathParams; // 0x480 }; // Alignment: 7 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_RemapVisibilityScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "visibility minimum" - float m_flInputMin; // 0x1b8 + float m_flInputMin; // 0x1c8 // MPropertyFriendlyName "visibility maximum" - float m_flInputMax; // 0x1bc + float m_flInputMax; // 0x1cc // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1c0 + float m_flOutputMin; // 0x1d0 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c4 + float m_flOutputMax; // 0x1d4 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x1c8 + float m_flRadiusScale; // 0x1d8 }; // Alignment: 0 @@ -27202,68 +25169,52 @@ 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: 0x1d0 +// Size: 0x1e0 class C_OP_RestartAfterDuration : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum restart time" - float m_flDurationMin; // 0x1b0 + float m_flDurationMin; // 0x1c0 // MPropertyFriendlyName "maximum restart time" - float m_flDurationMax; // 0x1b4 + float m_flDurationMax; // 0x1c4 // MPropertyFriendlyName "control point to scale duration" - int32_t m_nCP; // 0x1b8 + int32_t m_nCP; // 0x1c8 // MPropertyFriendlyName "control point field X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x1bc + int32_t m_nCPField; // 0x1cc // MPropertyFriendlyName "child group ID" - int32_t m_nChildGroupID; // 0x1c0 + int32_t m_nChildGroupID; // 0x1d0 // MPropertyFriendlyName "only restart children" - bool m_bOnlyChildren; // 0x1c4 -}; - -// Alignment: 0 -// Size: 0xf0 -class CPulseGraphInstance_TurtleGraphics : public CBasePulseGraphInstance -{ -public: - // No members available + bool m_bOnlyChildren; // 0x1d4 }; // Alignment: 6 -// Size: 0xa10 +// Size: 0xa40 class C_OP_SetVariable : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "Variable" - CParticleVariableRef m_variableReference; // 0x1c0 + CParticleVariableRef m_variableReference; // 0x1d0 // MPropertyFriendlyName "Value" // MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_TRANSFORM" - CParticleTransformInput m_transformInput; // 0x200 + CParticleTransformInput m_transformInput; // 0x210 // MPropertyFriendlyName "Position Offset" // MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_TRANSFORM" - Vector m_positionOffset; // 0x268 + Vector m_positionOffset; // 0x278 // MPropertyFriendlyName "Rotation Offset" // MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_TRANSFORM" - QAngle m_rotationOffset; // 0x274 + QAngle m_rotationOffset; // 0x284 // MPropertyFriendlyName "Value" // MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_VEC3" - CParticleCollectionVecInput m_vecInput; // 0x280 + CParticleCollectionVecInput m_vecInput; // 0x290 // MPropertyFriendlyName "Value" // MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_FLOAT" - CParticleCollectionFloatInput m_floatInput; // 0x8b8 + CParticleCollectionFloatInput m_floatInput; // 0x8e8 }; // Alignment: 14 -// Size: 0x12c0 +// Size: 0x1310 class C_INIT_CreateOnModelAtHeight : public CParticleFunctionInitializer { public: @@ -27286,35 +25237,25 @@ public: // MPropertyFriendlyName "relative desired height" CParticleCollectionFloatInput m_flDesiredHeight; // 0x1d0 // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x320 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x328 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x958 + CParticleCollectionVecInput m_vecDirectionBias; // 0x980 // MPropertyFriendlyName "bias type" - ParticleHitboxBiasType_t m_nBiasType; // 0xf90 + ParticleHitboxBiasType_t m_nBiasType; // 0xfd8 // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xf94 + bool m_bLocalCoords; // 0xfdc // MPropertyFriendlyName "bias prefers moving hitboxes" - bool m_bPreferMovingBoxes; // 0xf95 + bool m_bPreferMovingBoxes; // 0xfdd // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0xf96 + char m_HitboxSetName[128]; // 0xfde private: - [[maybe_unused]] uint8_t __pad1016[0x2]; // 0x1016 + [[maybe_unused]] uint8_t __pad105e[0x2]; // 0x105e public: // MPropertyFriendlyName "hitbox velocity inherited scale" - CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0x1018 + CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0x1060 // MPropertyFriendlyName "max hitbox velocity" - CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0x1168 -}; - -// Alignment: 3 -// Size: 0xc0 -class CPulseCell_Step_CallExternalMethod : public CPulseCell_BaseFlow -{ -public: - CUtlSymbolLarge m_MethodName; // 0x48 - CKV3MemberNameWithStorage m_Arg0Name; // 0x50 - CKV3MemberNameWithStorage m_Arg1Name; // 0x88 + CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0x11b8 }; // Alignment: 3 @@ -27331,56 +25272,56 @@ public: }; // Alignment: 3 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_VelocityMatchingForce : public CParticleFunctionOperator { public: // MPropertyFriendlyName "direction matching strength" - float m_flDirScale; // 0x1b0 + float m_flDirScale; // 0x1c0 // MPropertyFriendlyName "speed matching strength" - float m_flSpdScale; // 0x1b4 + float m_flSpdScale; // 0x1c4 // MPropertyFriendlyName "control point to broadcast speed and direction to" - int32_t m_nCPBroadcast; // 0x1b8 + int32_t m_nCPBroadcast; // 0x1c8 }; // Alignment: 3 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_RampCPLinearRandom : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1c0 + int32_t m_nOutControlPointNumber; // 0x1d0 // MPropertyFriendlyName "ramp rate min" - Vector m_vecRateMin; // 0x1c4 + Vector m_vecRateMin; // 0x1d4 // MPropertyFriendlyName "ramp rate max" - Vector m_vecRateMax; // 0x1d0 + Vector m_vecRateMax; // 0x1e0 }; // Alignment: 10 -// Size: 0x9b0 +// Size: 0x9e0 class C_INIT_CreateOnGrid : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "X Dimension Count" CParticleCollectionFloatInput m_nXCount; // 0x1c0 // MPropertyFriendlyName "Y Dimension Count" - CParticleCollectionFloatInput m_nYCount; // 0x310 + CParticleCollectionFloatInput m_nYCount; // 0x318 // MPropertyFriendlyName "Z Dimension Count" - CParticleCollectionFloatInput m_nZCount; // 0x460 + CParticleCollectionFloatInput m_nZCount; // 0x470 // MPropertyFriendlyName "X Dimension Spacing" - CParticleCollectionFloatInput m_nXSpacing; // 0x5b0 + CParticleCollectionFloatInput m_nXSpacing; // 0x5c8 // MPropertyFriendlyName "Y Dimension Spacing" - CParticleCollectionFloatInput m_nYSpacing; // 0x700 + CParticleCollectionFloatInput m_nYSpacing; // 0x720 // MPropertyFriendlyName "Z Dimension Spacing" - CParticleCollectionFloatInput m_nZSpacing; // 0x850 + CParticleCollectionFloatInput m_nZSpacing; // 0x878 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x9a0 + int32_t m_nControlPointNumber; // 0x9d0 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x9a4 + bool m_bLocalSpace; // 0x9d4 // MPropertyFriendlyName "center around control point" - bool m_bCenter; // 0x9a5 + bool m_bCenter; // 0x9d5 // MPropertyFriendlyName "hollow" - bool m_bHollow; // 0x9a6 + bool m_bHollow; // 0x9d6 }; // Alignment: 1 @@ -27415,7 +25356,7 @@ public: }; // Alignment: 6 -// Size: 0xeb0 +// Size: 0xef0 class C_INIT_PositionOffset : public CParticleFunctionInitializer { public: @@ -27424,27 +25365,27 @@ public: CPerParticleVecInput m_OffsetMin; // 0x1c0 // MPropertyFriendlyName "offset max" // MVectorIsCoordinate - CPerParticleVecInput m_OffsetMax; // 0x7f8 + CPerParticleVecInput m_OffsetMax; // 0x818 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0xe30 + CParticleTransformInput m_TransformInput; // 0xe70 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0xe98 + bool m_bLocalCoords; // 0xed8 // MPropertyFriendlyName "offset proportional to radius 0/1" - bool m_bProportional; // 0xe99 + bool m_bProportional; // 0xed9 private: - [[maybe_unused]] uint8_t __pad0e9a[0x2]; // 0xe9a + [[maybe_unused]] uint8_t __pad0eda[0x2]; // 0xeda public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xe9c + CRandomNumberGeneratorParameters m_randomnessParameters; // 0xedc }; // Alignment: 1 -// Size: 0x300 +// Size: 0x320 class C_OP_DecayClampCount : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Maximum Count" - CParticleCollectionFloatInput m_nCount; // 0x1b0 + CParticleCollectionFloatInput m_nCount; // 0x1c0 }; // Alignment: 7 @@ -27480,50 +25421,50 @@ public: }; // Alignment: 6 -// Size: 0x1f0 +// Size: 0x200 class C_OP_ColorInterpolateRandom : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color fade min" - Color m_ColorFadeMin; // 0x1b0 + Color m_ColorFadeMin; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x18]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x18]; // 0x1c4 public: // MPropertyFriendlyName "color fade max" - Color m_ColorFadeMax; // 0x1cc + Color m_ColorFadeMax; // 0x1dc private: - [[maybe_unused]] uint8_t __pad01d0[0xc]; // 0x1d0 + [[maybe_unused]] uint8_t __pad01e0[0xc]; // 0x1e0 public: // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x1dc + float m_flFadeStartTime; // 0x1ec // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x1e0 + float m_flFadeEndTime; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1e4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x1e8 + bool m_bEaseInOut; // 0x1f8 }; // Alignment: 7 -// Size: 0x2c0 +// Size: 0x2d0 class C_OP_SetControlPointsToModelParticles : public CParticleFunctionOperator { public: // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1b0 + char m_HitboxSetName[128]; // 0x1c0 // MPropertyFriendlyName "attachment to follow" - char m_AttachmentName[128]; // 0x230 + char m_AttachmentName[128]; // 0x240 // MPropertyFriendlyName "First control point to set" - int32_t m_nFirstControlPoint; // 0x2b0 + int32_t m_nFirstControlPoint; // 0x2c0 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x2b4 + int32_t m_nNumControlPoints; // 0x2c4 // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x2b8 + int32_t m_nFirstSourcePoint; // 0x2c8 // MPropertyFriendlyName "use skinning instead of hitboxes" - bool m_bSkin; // 0x2bc + bool m_bSkin; // 0x2cc // MPropertyFriendlyName "follow attachment" - bool m_bAttachment; // 0x2bd + bool m_bAttachment; // 0x2cd }; // Alignment: 5 @@ -27549,191 +25490,229 @@ public: bool m_bSaveOffset; // 0x220 }; -// Alignment: 4 -// Size: 0x1d0 -class C_OP_DistanceCull : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1b0 - // MPropertyFriendlyName "control point offset" - // MVectorIsCoordinate - Vector m_vecPointOffset; // 0x1b4 - // MPropertyFriendlyName "cull distance" - float m_flDistance; // 0x1c0 - // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x1c4 -}; - // Alignment: 8 -// Size: 0x210 -class C_OP_ConstrainDistanceToPath : public CParticleFunctionConstraint +// Size: 0x9e0 +class C_OP_RemapSDFDistanceToScalarAttribute : public CParticleFunctionOperator { public: - // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x1b0 - // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance0; // 0x1b4 - // MPropertyFriendlyName "maximum distance middle" - float m_flMaxDistanceMid; // 0x1b8 - // MPropertyFriendlyName "maximum distance end" - float m_flMaxDistance1; // 0x1bc - CPathParameters m_PathParameters; // 0x1c0 - // MPropertyFriendlyName "travel time" - float m_flTravelTime; // 0x200 - // MPropertyFriendlyName "travel time scale field" + // MPropertyFriendlyName "Output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldScale; // 0x204 - // MPropertyFriendlyName "manual time placement field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nManualTField; // 0x208 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 + // MPropertyFriendlyName "Input field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nVectorFieldInput; // 0x1c4 + // MPropertyFriendlyName "Minimum distance" + CParticleCollectionFloatInput m_flMinDistance; // 0x1c8 + // MPropertyFriendlyName "Maximum distance" + CParticleCollectionFloatInput m_flMaxDistance; // 0x320 + // MPropertyFriendlyName "Value for distmax" + CParticleCollectionFloatInput m_flValueAboveMax; // 0x880 }; // Alignment: 4 // Size: 0x1e0 +class C_OP_DistanceCull : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point" + int32_t m_nControlPoint; // 0x1c0 + // MPropertyFriendlyName "control point offset" + // MVectorIsCoordinate + Vector m_vecPointOffset; // 0x1c4 + // MPropertyFriendlyName "cull distance" + float m_flDistance; // 0x1d0 + // MPropertyFriendlyName "cull inside instead of outside" + bool m_bCullInside; // 0x1d4 +}; + +// Alignment: 8 +// Size: 0x220 +class C_OP_ConstrainDistanceToPath : public CParticleFunctionConstraint +{ +public: + // MPropertyFriendlyName "minimum distance" + float m_fMinDistance; // 0x1c0 + // MPropertyFriendlyName "maximum distance" + float m_flMaxDistance0; // 0x1c4 + // MPropertyFriendlyName "maximum distance middle" + float m_flMaxDistanceMid; // 0x1c8 + // MPropertyFriendlyName "maximum distance end" + float m_flMaxDistance1; // 0x1cc + CPathParameters m_PathParameters; // 0x1d0 + // MPropertyFriendlyName "travel time" + float m_flTravelTime; // 0x210 + // MPropertyFriendlyName "travel time scale field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldScale; // 0x214 + // MPropertyFriendlyName "manual time placement field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nManualTField; // 0x218 +}; + +// Alignment: 4 +// Size: 0x1f0 class C_OP_SetControlPointToHand : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x1c0 + int32_t m_nCP1; // 0x1d0 // MPropertyFriendlyName "hand" - int32_t m_nHand; // 0x1c4 + int32_t m_nHand; // 0x1d4 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x1c8 + Vector m_vecCP1Pos; // 0x1d8 // MPropertyFriendlyName "use hand orientation" - bool m_bOrientToHand; // 0x1d4 + bool m_bOrientToHand; // 0x1e4 }; // Alignment: 15 -// Size: 0x280 +// Size: 0x290 class C_OP_DistanceBetweenCPsToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x1c0 + int32_t m_nStartCP; // 0x1d0 // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x1c4 + int32_t m_nEndCP; // 0x1d4 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x1c8 + int32_t m_nOutputCP; // 0x1d8 // MPropertyFriendlyName "output control point field" - int32_t m_nOutputCPField; // 0x1cc + int32_t m_nOutputCPField; // 0x1dc // MPropertyFriendlyName "only set distance once" - bool m_bSetOnce; // 0x1d0 + bool m_bSetOnce; // 0x1e0 private: - [[maybe_unused]] uint8_t __pad01d1[0x3]; // 0x1d1 + [[maybe_unused]] uint8_t __pad01e1[0x3]; // 0x1e1 public: // MPropertyFriendlyName "distance minimum" - float m_flInputMin; // 0x1d4 + float m_flInputMin; // 0x1e4 // MPropertyFriendlyName "distance maximum" - float m_flInputMax; // 0x1d8 + float m_flInputMax; // 0x1e8 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1dc + float m_flOutputMin; // 0x1ec // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1e0 + float m_flOutputMax; // 0x1f0 // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x1e4 + float m_flMaxTraceLength; // 0x1f4 // MPropertyFriendlyName "LOS Failure Scale" - float m_flLOSScale; // 0x1e8 + float m_flLOSScale; // 0x1f8 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x1ec + bool m_bLOS; // 0x1fc // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x1ed + char m_CollisionGroupName[128]; // 0x1fd private: - [[maybe_unused]] uint8_t __pad026d[0x3]; // 0x26d + [[maybe_unused]] uint8_t __pad027d[0x3]; // 0x27d public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x270 + ParticleTraceSet_t m_nTraceSet; // 0x280 // MPropertyFriendlyName "set parent" - ParticleParentSetMode_t m_nSetParent; // 0x274 + ParticleParentSetMode_t m_nSetParent; // 0x284 }; // Alignment: 11 -// Size: 0x5c0 +// Size: 0x5f0 class C_OP_SetFromCPSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x1b4 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x1c4 // MPropertyFriendlyName "field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1b8 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1c8 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1bc + int32_t m_nLocalSpaceCP; // 0x1cc // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x1c0 + bool m_bRandom; // 0x1d0 // MPropertyFriendlyName "reverse order" - bool m_bReverse; // 0x1c1 + bool m_bReverse; // 0x1d1 private: - [[maybe_unused]] uint8_t __pad01c2[0x2]; // 0x1c2 + [[maybe_unused]] uint8_t __pad01d2[0x2]; // 0x1d2 public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1c4 + int32_t m_nRandomSeed; // 0x1d4 // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x1c8 + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x1d8 // MPropertyFriendlyName "Snapshot increment amount" - CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x318 + CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x330 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x468 + CPerParticleFloatInput m_flInterpolation; // 0x488 // MPropertyFriendlyName "Sub-Sample Between Input Points" - bool m_bSubSample; // 0x5b8 + bool m_bSubSample; // 0x5e0 }; // Alignment: 3 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_RemapVectortoCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1b0 + int32_t m_nOutControlPointNumber; // 0x1c0 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldInput; // 0x1c4 // MPropertyFriendlyName "particle number to read" - int32_t m_nParticleNumber; // 0x1b8 + int32_t m_nParticleNumber; // 0x1c8 }; // Alignment: 6 -// Size: 0xf80 +// Size: 0xfe0 class C_OP_SetFloatAttributeToVectorExpression : public CParticleFunctionOperator { public: // MPropertyFriendlyName "expression" - VectorFloatExpressionType_t m_nExpression; // 0x1b0 + VectorFloatExpressionType_t m_nExpression; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1b8 + CPerParticleVecInput m_vInput1; // 0x1c8 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7f0 + CPerParticleVecInput m_vInput2; // 0x820 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0xe28 + CParticleRemapFloatInput m_flOutputRemap; // 0xe78 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0xf78 + ParticleAttributeIndex_t m_nOutputField; // 0xfd0 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xf7c + ParticleSetMethod_t m_nSetMethod; // 0xfd4 }; // Alignment: 5 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_RemapDistanceToLineSegmentBase : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point 0" - int32_t m_nCP0; // 0x1b0 + int32_t m_nCP0; // 0x1c0 // MPropertyFriendlyName "control point 1" - int32_t m_nCP1; // 0x1b4 + int32_t m_nCP1; // 0x1c4 // MPropertyFriendlyName "min distance value" - float m_flMinInputValue; // 0x1b8 + float m_flMinInputValue; // 0x1c8 // MPropertyFriendlyName "max distance value" - float m_flMaxInputValue; // 0x1bc + float m_flMaxInputValue; // 0x1cc // MPropertyFriendlyName "use distance to an infinite line instead of a finite line segment" - bool m_bInfiniteLine; // 0x1c0 + bool m_bInfiniteLine; // 0x1d0 +}; + +// Alignment: 3 +// Size: 0x1f0 +class C_OP_SDFLighting : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "Lighting dir" + Vector m_vLightingDir; // 0x1c0 + // MPropertyFriendlyName "shadow color" + Vector m_vTint_0; // 0x1cc + // MPropertyFriendlyName "lit color" + Vector m_vTint_1; // 0x1d8 }; // Alignment: 13 @@ -27782,64 +25761,53 @@ public: }; // Alignment: 4 -// Size: 0x480 +// Size: 0x4a0 class C_OP_SetFloat : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1b0 + CPerParticleFloatInput m_InputValue; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x300 + ParticleAttributeIndex_t m_nOutputField; // 0x318 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x304 + ParticleSetMethod_t m_nSetMethod; // 0x31c // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x308 -}; - -// Alignment: 4 -// Size: 0x20 -class CPulse_OutputConnection -{ -public: - CUtlSymbolLarge m_SourceOutput; // 0x0 - CUtlSymbolLarge m_TargetEntity; // 0x8 - CUtlSymbolLarge m_TargetInput; // 0x10 - CUtlSymbolLarge m_Param; // 0x18 + CPerParticleFloatInput m_Lerp; // 0x320 }; // Alignment: 5 -// Size: 0x240 +// Size: 0x250 class C_OP_ModelCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1b4 + bool m_bBoundBox; // 0x1c4 // MPropertyFriendlyName "cull outside instead of inside" - bool m_bCullOutside; // 0x1b5 + bool m_bCullOutside; // 0x1c5 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1b6 + bool m_bUseBones; // 0x1c6 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1b7 + char m_HitboxSetName[128]; // 0x1c7 }; // Alignment: 3 -// Size: 0x7f0 +// Size: 0x830 class C_OP_LocalAccelerationForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x1b0 + int32_t m_nCP; // 0x1d0 // MPropertyFriendlyName "scale control point" - int32_t m_nScaleCP; // 0x1b4 + int32_t m_nScaleCP; // 0x1d4 // MPropertyFriendlyName "local space acceleration" - CParticleCollectionVecInput m_vecAccel; // 0x1b8 + CParticleCollectionVecInput m_vecAccel; // 0x1d8 }; // Alignment: 3 -// Size: 0x78 +// Size: 0x88 struct ParticleControlPointConfiguration_t { public: @@ -27849,41 +25817,41 @@ public: }; // Alignment: 7 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_RemapParticleCountOnScalarEndCap : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "input minimum" - int32_t m_nInputMin; // 0x1b4 + int32_t m_nInputMin; // 0x1c4 // MPropertyFriendlyName "input maximum" - int32_t m_nInputMax; // 0x1b8 + int32_t m_nInputMax; // 0x1c8 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1bc + float m_flOutputMin; // 0x1cc // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c0 + float m_flOutputMax; // 0x1d0 // MPropertyFriendlyName "count back from last particle" - bool m_bBackwards; // 0x1c4 + bool m_bBackwards; // 0x1d4 private: - [[maybe_unused]] uint8_t __pad01c5[0x3]; // 0x1c5 + [[maybe_unused]] uint8_t __pad01d5[0x3]; // 0x1d5 public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1c8 + ParticleSetMethod_t m_nSetMethod; // 0x1d8 }; // Alignment: 2 -// Size: 0x1d0 +// Size: 0x1f0 class C_OP_RandomForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "min force" // MVectorIsCoordinate - Vector m_MinForce; // 0x1b0 + Vector m_MinForce; // 0x1d0 // MPropertyFriendlyName "max force" // MVectorIsCoordinate - Vector m_MaxForce; // 0x1bc + Vector m_MaxForce; // 0x1dc }; // Alignment: 7 @@ -27915,28 +25883,19 @@ public: }; // Alignment: 4 -// Size: 0x230 +// Size: 0x240 class C_OP_RemapTransformOrientationToYaw : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1b0 + CParticleTransformInput m_TransformInput; // 0x1c0 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x218 + ParticleAttributeIndex_t m_nFieldOutput; // 0x228 // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x21c + float m_flRotOffset; // 0x22c // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x220 -}; - -// Alignment: 2 -// Size: 0x10 -class CPulse_PublicOutput -{ -public: - CUtlSymbolLarge m_Name; // 0x0 - CUtlString m_Description; // 0x8 + float m_flSpinStrength; // 0x230 }; // Alignment: 5 @@ -27980,39 +25939,46 @@ public: CRandomNumberGeneratorParameters m_randomnessParameters; // 0x1ec }; -// Alignment: 1 -// Size: 0x78 -class CPulseCell_Inflow_EventHandler : public CPulseCell_Inflow_BaseEntrypoint +// Alignment: 3 +// Size: 0x980 +class C_OP_ParticlePhysics : public CParticleFunctionOperator { public: - CUtlSymbolLarge m_EventName; // 0x70 + // MPropertyFriendlyName "gravity" + // MVectorIsCoordinate + CParticleCollectionVecInput m_Gravity; // 0x1c0 + // MPropertyFriendlyName "drag" + // MPropertyAttributeRange "-1 1" + CParticleCollectionFloatInput m_fDrag; // 0x818 + // MPropertyFriendlyName "max constraint passes" + int32_t m_nMaxConstraintPasses; // 0x970 }; // Alignment: 6 -// Size: 0xea0 +// Size: 0xef0 class C_OP_SetVectorAttributeToVectorExpression : public CParticleFunctionOperator { public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x1b0 + VectorExpressionType_t m_nExpression; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1b8 + CPerParticleVecInput m_vInput1; // 0x1c8 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7f0 + CPerParticleVecInput m_vInput2; // 0x820 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0xe28 + ParticleAttributeIndex_t m_nOutputField; // 0xe78 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xe2c + ParticleSetMethod_t m_nSetMethod; // 0xe7c // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xe30 + bool m_bNormalizedOutput; // 0xe80 }; // Alignment: 5 -// Size: 0x810 +// Size: 0x830 class C_INIT_InitFromVectorFieldSnapshot : public CParticleFunctionInitializer { public: @@ -28031,35 +25997,19 @@ public: CPerParticleVecInput m_vecScale; // 0x1d0 }; -// Alignment: 1 -// Size: 0x60 -class CPulseCell_Outflow_CycleRandom : public CPulseCell_BaseFlow -{ -public: - CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 -}; - // Alignment: 2 -// Size: 0x450 +// Size: 0x470 class C_OP_CollideWithParentParticles : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "parent particle radius scale" - CPerParticleFloatInput m_flParentRadiusScale; // 0x1b0 + CPerParticleFloatInput m_flParentRadiusScale; // 0x1c0 // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x300 -}; - -// Alignment: 0 -// Size: 0x10 -class CPulse_ResumePoint : public CPulse_OutflowConnection -{ -public: - // No members available + CPerParticleFloatInput m_flRadiusScale; // 0x318 }; // Alignment: 3 -// Size: 0x320 +// Size: 0x330 class C_INIT_DistanceCull : public CParticleFunctionInitializer { public: @@ -28071,45 +26021,28 @@ public: // MPropertyFriendlyName "cull distance" CParticleCollectionFloatInput m_flDistance; // 0x1c8 // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x318 + bool m_bCullInside; // 0x320 }; // Alignment: 5 -// Size: 0x1f0 +// Size: 0x200 class C_OP_RampScalarSplineSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x1b0 + float m_Rate; // 0x1c0 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1b4 + float m_flStartTime; // 0x1c4 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1b8 + float m_flEndTime; // 0x1c8 private: - [[maybe_unused]] uint8_t __pad01bc[0x24]; // 0x1bc + [[maybe_unused]] uint8_t __pad01cc[0x24]; // 0x1cc public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1e0 + ParticleAttributeIndex_t m_nField; // 0x1f0 // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x1e4 -}; - -// 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 + bool m_bEaseOut; // 0x1f4 }; // Alignment: 5 @@ -28134,94 +26067,93 @@ public: CUtlVector< SequenceWeightedList_t > m_WeightedList; // 0x1d0 }; -// Alignment: 1 -// Size: 0x4 -struct PulseTestEHandle_t -{ -public: - int32_t m_Value; // 0x0 -}; - // Alignment: 6 -// Size: 0x200 +// Size: 0x210 class C_OP_FadeOut : public CParticleFunctionOperator { public: // MPropertyFriendlyName "fade out time min" - float m_flFadeOutTimeMin; // 0x1b0 + float m_flFadeOutTimeMin; // 0x1c0 // MPropertyFriendlyName "fade out time max" - float m_flFadeOutTimeMax; // 0x1b4 + float m_flFadeOutTimeMax; // 0x1c4 // MPropertyFriendlyName "fade out time exponent" - float m_flFadeOutTimeExp; // 0x1b8 + float m_flFadeOutTimeExp; // 0x1c8 // MPropertyFriendlyName "fade bias" - float m_flFadeBias; // 0x1bc + float m_flFadeBias; // 0x1cc private: - [[maybe_unused]] uint8_t __pad01c0[0x30]; // 0x1c0 + [[maybe_unused]] uint8_t __pad01d0[0x30]; // 0x1d0 public: // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x1f0 + bool m_bProportional; // 0x200 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x1f1 + bool m_bEaseInAndOut; // 0x201 }; // Alignment: 13 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_OscillateScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate min" - float m_RateMin; // 0x1b0 + float m_RateMin; // 0x1c0 // MPropertyFriendlyName "oscillation rate max" - float m_RateMax; // 0x1b4 + float m_RateMax; // 0x1c4 // MPropertyFriendlyName "oscillation frequency min" - float m_FrequencyMin; // 0x1b8 + float m_FrequencyMin; // 0x1c8 // MPropertyFriendlyName "oscillation frequency max" - float m_FrequencyMax; // 0x1bc + float m_FrequencyMax; // 0x1cc // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1c0 + ParticleAttributeIndex_t m_nField; // 0x1d0 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x1c4 + bool m_bProportional; // 0x1d4 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x1c5 + bool m_bProportionalOp; // 0x1d5 private: - [[maybe_unused]] uint8_t __pad01c6[0x2]; // 0x1c6 + [[maybe_unused]] uint8_t __pad01d6[0x2]; // 0x1d6 public: // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1c8 + float m_flStartTime_min; // 0x1d8 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1cc + float m_flStartTime_max; // 0x1dc // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x1d0 + float m_flEndTime_min; // 0x1e0 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x1d4 + float m_flEndTime_max; // 0x1e4 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x1d8 + float m_flOscMult; // 0x1e8 // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x1dc + float m_flOscAdd; // 0x1ec }; -// Alignment: 5 -// Size: 0x600 +// Alignment: 6 +// Size: 0x650 class C_OP_RenderBlobs : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "cube width" CParticleCollectionRendererFloatInput m_cubeWidth; // 0x200 // MPropertyFriendlyName "cutoff radius" - CParticleCollectionRendererFloatInput m_cutoffRadius; // 0x350 + CParticleCollectionRendererFloatInput m_cutoffRadius; // 0x358 // MPropertyFriendlyName "render radius" - CParticleCollectionRendererFloatInput m_renderRadius; // 0x4a0 + CParticleCollectionRendererFloatInput m_renderRadius; // 0x4b0 // MPropertyFriendlyName "scale CP (cube width/cutoff/render = x/y/z)" - int32_t m_nScaleCP; // 0x5f0 + int32_t m_nScaleCP; // 0x608 private: - [[maybe_unused]] uint8_t __pad05f4[0x4]; // 0x5f4 + [[maybe_unused]] uint8_t __pad060c[0x4]; // 0x60c public: - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x5f8 + // MPropertyFriendlyName "material variables" + // MPropertyAutoExpandSelf + // MPropertySortPriority "600" + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x610 +private: + [[maybe_unused]] uint8_t __pad0628[0x18]; // 0x628 +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x640 }; // Alignment: 2 -// Size: 0x800 +// Size: 0x820 class C_INIT_InitVecCollection : public CParticleFunctionInitializer { public: @@ -28229,97 +26161,92 @@ public: CParticleCollectionVecInput m_InputValue; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7f8 + ParticleAttributeIndex_t m_nOutputField; // 0x818 }; -// Alignment: 0 -// Size: 0x48 -class CPulseCell_Test_NoInflow : public CPulseCell_BaseFlow -{ -public: - // No members available -}; - -// Alignment: 26 -// Size: 0x910 +// Alignment: 27 +// Size: 0x950 class C_OP_WorldTraceConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "control point for fast collision tests" - int32_t m_nCP; // 0x1b0 + int32_t m_nCP; // 0x1c0 // MPropertyFriendlyName "control point offset for fast collisions" // MVectorIsCoordinate - Vector m_vecCpOffset; // 0x1b4 + Vector m_vecCpOffset; // 0x1c4 // MPropertyFriendlyName "collision mode" - ParticleCollisionMode_t m_nCollisionMode; // 0x1c0 + ParticleCollisionMode_t m_nCollisionMode; // 0x1d0 // MPropertyFriendlyName "minimum detail collision mode" - ParticleCollisionMode_t m_nCollisionModeMin; // 0x1c4 + ParticleCollisionMode_t m_nCollisionModeMin; // 0x1d4 // MPropertyStartGroup "Collision Options" // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x1c8 + ParticleTraceSet_t m_nTraceSet; // 0x1d8 // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x1cc + char m_CollisionGroupName[128]; // 0x1dc // MPropertyFriendlyName "World Only" - bool m_bWorldOnly; // 0x24c + bool m_bWorldOnly; // 0x25c // MPropertyFriendlyName "brush only" - bool m_bBrushOnly; // 0x24d + bool m_bBrushOnly; // 0x25d // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x24e + bool m_bIncludeWater; // 0x25e private: - [[maybe_unused]] uint8_t __pad024f[0x1]; // 0x24f + [[maybe_unused]] uint8_t __pad025f[0x1]; // 0x25f public: // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x250 + int32_t m_nIgnoreCP; // 0x260 // MPropertyFriendlyName "control point movement distance tolerance" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_flCpMovementTolerance; // 0x254 + float m_flCpMovementTolerance; // 0x264 // MPropertyFriendlyName "plane cache retest rate" // MPropertySuppressExpr "m_nCollisionMode != COLLISION_MODE_PER_FRAME_PLANESET" - float m_flRetestRate; // 0x258 + float m_flRetestRate; // 0x268 // MPropertyFriendlyName "trace accuracy tolerance" // MPropertySuppressExpr "m_nCollisionMode != COLLISION_MODE_USE_NEAREST_TRACE" - float m_flTraceTolerance; // 0x25c + float m_flTraceTolerance; // 0x26c // MPropertyFriendlyName "Confirm Collision Speed Threshold" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_flCollisionConfirmationSpeed; // 0x260 + float m_flCollisionConfirmationSpeed; // 0x270 // MPropertyFriendlyName "Max Confirmation Traces Per Fame" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_nMaxTracesPerFrame; // 0x264 + float m_nMaxTracesPerFrame; // 0x274 // MPropertyStartGroup "Impact Options" // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x268 + CPerParticleFloatInput m_flRadiusScale; // 0x278 // MPropertyFriendlyName "amount of bounce" - CPerParticleFloatInput m_flBounceAmount; // 0x3b8 + CPerParticleFloatInput m_flBounceAmount; // 0x3d0 // MPropertyFriendlyName "amount of slide" - CPerParticleFloatInput m_flSlideAmount; // 0x508 + CPerParticleFloatInput m_flSlideAmount; // 0x528 // MPropertyFriendlyName "Random Direction scale" - CPerParticleFloatInput m_flRandomDirScale; // 0x658 + CPerParticleFloatInput m_flRandomDirScale; // 0x680 // MPropertyFriendlyName "Add Decay to Bounce" - bool m_bDecayBounce; // 0x7a8 + bool m_bDecayBounce; // 0x7d8 // MPropertyFriendlyName "kill particle on collision" - bool m_bKillonContact; // 0x7a9 + bool m_bKillonContact; // 0x7d9 private: - [[maybe_unused]] uint8_t __pad07aa[0x2]; // 0x7aa + [[maybe_unused]] uint8_t __pad07da[0x2]; // 0x7da public: // MPropertyFriendlyName "minimum speed to kill on collision" - float m_flMinSpeed; // 0x7ac + float m_flMinSpeed; // 0x7dc // MPropertyFriendlyName "Set Normal" - bool m_bSetNormal; // 0x7b0 + bool m_bSetNormal; // 0x7e0 private: - [[maybe_unused]] uint8_t __pad07b1[0x3]; // 0x7b1 + [[maybe_unused]] uint8_t __pad07e1[0x3]; // 0x7e1 public: // MPropertyFriendlyName "Stick On Collision Cache Field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x7b4 + ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x7e4 // MPropertyFriendlyName "Speed to stop when sticking" - CPerParticleFloatInput m_flStopSpeed; // 0x7b8 + CPerParticleFloatInput m_flStopSpeed; // 0x7e8 // MPropertyFriendlyName "Entity Hitbox Cache Field (Requires Stick on Collision)" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nEntityStickDataField; // 0x908 + ParticleAttributeIndex_t m_nEntityStickDataField; // 0x940 + // MPropertyFriendlyName "Entity Normal Cache Field (Requires Stick on Collision)" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nEntityStickNormalField; // 0x944 }; // Alignment: 3 -// Size: 0x360 +// Size: 0x370 class C_OP_RenderPostProcessing : public CParticleFunctionRenderer { public: @@ -28327,9 +26254,9 @@ public: CPerParticleFloatInput m_flPostProcessStrength; // 0x200 // MPropertyFriendlyName "Post Processing File" // MPropertyAttributeEditor "AssetBrowse( vpost, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x350 + CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x358 // MPropertyFriendlyName "Post Processing Priority Group" - ParticlePostProcessPriorityGroup_t m_nPriority; // 0x358 + ParticlePostProcessPriorityGroup_t m_nPriority; // 0x360 }; // Alignment: 4 @@ -28349,204 +26276,204 @@ public: }; // Alignment: 13 -// Size: 0x510 +// Size: 0x520 class C_INIT_PositionPlaceOnGround : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "offset" CPerParticleFloatInput m_flOffset; // 0x1c0 // MPropertyFriendlyName "max trace length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x310 + CPerParticleFloatInput m_flMaxTraceLength; // 0x318 // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x460 + char m_CollisionGroupName[128]; // 0x470 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x4e0 + ParticleTraceSet_t m_nTraceSet; // 0x4f0 private: - [[maybe_unused]] uint8_t __pad04e4[0xc]; // 0x4e4 + [[maybe_unused]] uint8_t __pad04f4[0xc]; // 0x4f4 public: // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x4f0 + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x500 // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x4f4 + bool m_bIncludeWater; // 0x504 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x4f5 + bool m_bSetNormal; // 0x505 // MPropertyFriendlyName "set Previous XYZ only" - bool m_bSetPXYZOnly; // 0x4f6 + bool m_bSetPXYZOnly; // 0x506 // MPropertyFriendlyName "Trace along particle normal" - bool m_bTraceAlongNormal; // 0x4f7 + bool m_bTraceAlongNormal; // 0x507 // MPropertyFriendlyName "Offset only if trace hit" - bool m_bOffsetonColOnly; // 0x4f8 + bool m_bOffsetonColOnly; // 0x508 private: - [[maybe_unused]] uint8_t __pad04f9[0x3]; // 0x4f9 + [[maybe_unused]] uint8_t __pad0509[0x3]; // 0x509 public: // MPropertyFriendlyName "offset final position by this fraction of the particle radius" - float m_flOffsetByRadiusFactor; // 0x4fc + float m_flOffsetByRadiusFactor; // 0x50c // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x500 + int32_t m_nPreserveOffsetCP; // 0x510 // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x504 + int32_t m_nIgnoreCP; // 0x514 }; // Alignment: 11 -// Size: 0x7d0 +// Size: 0x800 class C_OP_CylindricalDistanceToTransform : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "cylinder inner radius" - CPerParticleFloatInput m_flInputMin; // 0x1b8 + CPerParticleFloatInput m_flInputMin; // 0x1c8 // MPropertyFriendlyName "cylinder outer radius" - CPerParticleFloatInput m_flInputMax; // 0x308 + CPerParticleFloatInput m_flInputMax; // 0x320 // MPropertyFriendlyName "cylinder inner output" - CPerParticleFloatInput m_flOutputMin; // 0x458 + CPerParticleFloatInput m_flOutputMin; // 0x478 // MPropertyFriendlyName "cylinder outer output" - CPerParticleFloatInput m_flOutputMax; // 0x5a8 + CPerParticleFloatInput m_flOutputMax; // 0x5d0 // MPropertyFriendlyName "cylindrical top transform" - CParticleTransformInput m_TransformStart; // 0x6f8 + CParticleTransformInput m_TransformStart; // 0x728 // MPropertyFriendlyName "cylindrical bottom transform" - CParticleTransformInput m_TransformEnd; // 0x760 + CParticleTransformInput m_TransformEnd; // 0x790 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7c8 + ParticleSetMethod_t m_nSetMethod; // 0x7f8 // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x7cc + bool m_bActiveRange; // 0x7fc // MPropertyFriendlyName "output is additive" - bool m_bAdditive; // 0x7cd + bool m_bAdditive; // 0x7fd // MPropertyFriendlyName "apply radius to ends (capsule)" - bool m_bCapsule; // 0x7ce + bool m_bCapsule; // 0x7fe }; // Alignment: 9 -// Size: 0x960 +// Size: 0x990 class C_OP_VectorFieldSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 // MPropertyFriendlyName "extra velocity field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1b4 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1c4 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1b8 + int32_t m_nLocalSpaceCP; // 0x1c8 private: - [[maybe_unused]] uint8_t __pad01bc[0x4]; // 0x1bc + [[maybe_unused]] uint8_t __pad01cc[0x4]; // 0x1cc public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1c0 + CPerParticleFloatInput m_flInterpolation; // 0x1d0 // MPropertyFriendlyName "Component Scale" - CPerParticleVecInput m_vecScale; // 0x310 + CPerParticleVecInput m_vecScale; // 0x328 // MPropertyFriendlyName "Boundary Dampening" - float m_flBoundaryDampening; // 0x948 + float m_flBoundaryDampening; // 0x980 // MPropertyFriendlyName "Set Velocity" - bool m_bSetVelocity; // 0x94c + bool m_bSetVelocity; // 0x984 // MPropertyFriendlyName "Lock to Surface" - bool m_bLockToSurface; // 0x94d + bool m_bLockToSurface; // 0x985 private: - [[maybe_unused]] uint8_t __pad094e[0x2]; // 0x94e + [[maybe_unused]] uint8_t __pad0986[0x2]; // 0x986 public: // MPropertyFriendlyName "Vector Field Grid Spacing Override" - float m_flGridSpacing; // 0x950 + float m_flGridSpacing; // 0x988 }; // Alignment: 33 -// Size: 0x700 +// Size: 0x710 class C_OP_ControlpointLight : public CParticleFunctionOperator { public: // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x1b0 + float m_flScale; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4cc]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4cc]; // 0x1c4 public: // MPropertyFriendlyName "light 1 control point" - int32_t m_nControlPoint1; // 0x680 + int32_t m_nControlPoint1; // 0x690 // MPropertyFriendlyName "light 2 control point" - int32_t m_nControlPoint2; // 0x684 + int32_t m_nControlPoint2; // 0x694 // MPropertyFriendlyName "light 3 control point" - int32_t m_nControlPoint3; // 0x688 + int32_t m_nControlPoint3; // 0x698 // MPropertyFriendlyName "light 4 control point" - int32_t m_nControlPoint4; // 0x68c + int32_t m_nControlPoint4; // 0x69c // MPropertyFriendlyName "light 1 control point offset" - Vector m_vecCPOffset1; // 0x690 + Vector m_vecCPOffset1; // 0x6a0 // MPropertyFriendlyName "light 2 control point offset" - Vector m_vecCPOffset2; // 0x69c + Vector m_vecCPOffset2; // 0x6ac // MPropertyFriendlyName "light 3 control point offset" - Vector m_vecCPOffset3; // 0x6a8 + Vector m_vecCPOffset3; // 0x6b8 // MPropertyFriendlyName "light 4 control point offset" - Vector m_vecCPOffset4; // 0x6b4 + Vector m_vecCPOffset4; // 0x6c4 // MPropertyFriendlyName "light 1 50% distance" - float m_LightFiftyDist1; // 0x6c0 + float m_LightFiftyDist1; // 0x6d0 // MPropertyFriendlyName "light 1 0% distance" - float m_LightZeroDist1; // 0x6c4 + float m_LightZeroDist1; // 0x6d4 // MPropertyFriendlyName "light 2 50% distance" - float m_LightFiftyDist2; // 0x6c8 + float m_LightFiftyDist2; // 0x6d8 // MPropertyFriendlyName "light 2 0% distance" - float m_LightZeroDist2; // 0x6cc + float m_LightZeroDist2; // 0x6dc // MPropertyFriendlyName "light 3 50% distance" - float m_LightFiftyDist3; // 0x6d0 + float m_LightFiftyDist3; // 0x6e0 // MPropertyFriendlyName "light 3 0% distance" - float m_LightZeroDist3; // 0x6d4 + float m_LightZeroDist3; // 0x6e4 // MPropertyFriendlyName "light 4 50% distance" - float m_LightFiftyDist4; // 0x6d8 + float m_LightFiftyDist4; // 0x6e8 // MPropertyFriendlyName "light 4 0% distance" - float m_LightZeroDist4; // 0x6dc + float m_LightZeroDist4; // 0x6ec // MPropertyFriendlyName "light 1 color" - Color m_LightColor1; // 0x6e0 + Color m_LightColor1; // 0x6f0 // MPropertyFriendlyName "light 2 color" - Color m_LightColor2; // 0x6e4 + Color m_LightColor2; // 0x6f4 // MPropertyFriendlyName "light 3 color" - Color m_LightColor3; // 0x6e8 + Color m_LightColor3; // 0x6f8 // MPropertyFriendlyName "light 4 color" - Color m_LightColor4; // 0x6ec + Color m_LightColor4; // 0x6fc // MPropertyFriendlyName "light 1 type 0=point 1=spot" - bool m_bLightType1; // 0x6f0 + bool m_bLightType1; // 0x700 // MPropertyFriendlyName "light 2 type 0=point 1=spot" - bool m_bLightType2; // 0x6f1 + bool m_bLightType2; // 0x701 // MPropertyFriendlyName "light 3 type 0=point 1=spot" - bool m_bLightType3; // 0x6f2 + bool m_bLightType3; // 0x702 // MPropertyFriendlyName "light 4 type 0=point 1=spot" - bool m_bLightType4; // 0x6f3 + bool m_bLightType4; // 0x703 // MPropertyFriendlyName "light 1 dynamic light" - bool m_bLightDynamic1; // 0x6f4 + bool m_bLightDynamic1; // 0x704 // MPropertyFriendlyName "light 2 dynamic light" - bool m_bLightDynamic2; // 0x6f5 + bool m_bLightDynamic2; // 0x705 // MPropertyFriendlyName "light 3 dynamic light" - bool m_bLightDynamic3; // 0x6f6 + bool m_bLightDynamic3; // 0x706 // MPropertyFriendlyName "light 4 dynamic light" - bool m_bLightDynamic4; // 0x6f7 + bool m_bLightDynamic4; // 0x707 // MPropertyFriendlyName "compute normals from control points" - bool m_bUseNormal; // 0x6f8 + bool m_bUseNormal; // 0x708 // MPropertyFriendlyName "half-lambert normals" - bool m_bUseHLambert; // 0x6f9 + bool m_bUseHLambert; // 0x709 private: - [[maybe_unused]] uint8_t __pad06fa[0x4]; // 0x6fa + [[maybe_unused]] uint8_t __pad070a[0x4]; // 0x70a public: // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x6fe + bool m_bClampLowerRange; // 0x70e // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x6ff + bool m_bClampUpperRange; // 0x70f }; // Alignment: 2 -// Size: 0x320 +// Size: 0x330 class C_OP_ChooseRandomChildrenInGroup : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1c0 + int32_t m_nChildGroupID; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 + [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 public: // MPropertyFriendlyName "Number of Children to Use" - CParticleCollectionFloatInput m_flNumberOfChildren; // 0x1c8 + CParticleCollectionFloatInput m_flNumberOfChildren; // 0x1d8 }; // Alignment: 5 -// Size: 0xe40 +// Size: 0xe80 class C_INIT_CreateWithinBox : public CParticleFunctionInitializer { public: @@ -28555,35 +26482,35 @@ public: CPerParticleVecInput m_vecMin; // 0x1c0 // MPropertyFriendlyName "max" // MVectorIsCoordinate - CPerParticleVecInput m_vecMax; // 0x7f8 + CPerParticleVecInput m_vecMax; // 0x818 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0xe30 + int32_t m_nControlPointNumber; // 0xe70 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0xe34 + bool m_bLocalSpace; // 0xe74 private: - [[maybe_unused]] uint8_t __pad0e35[0x3]; // 0xe35 + [[maybe_unused]] uint8_t __pad0e75[0x3]; // 0xe75 public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xe38 + CRandomNumberGeneratorParameters m_randomnessParameters; // 0xe78 }; // Alignment: 6 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_UpdateLightSource : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color tint" - Color m_vColorTint; // 0x1b0 + Color m_vColorTint; // 0x1c0 // MPropertyFriendlyName "amount to multiply light brightness by" - float m_flBrightnessScale; // 0x1b4 + float m_flBrightnessScale; // 0x1c4 // MPropertyFriendlyName "amount to multiply particle system radius by to get light radius" - float m_flRadiusScale; // 0x1b8 + float m_flRadiusScale; // 0x1c8 // MPropertyFriendlyName "minimum radius for created lights" - float m_flMinimumLightingRadius; // 0x1bc + float m_flMinimumLightingRadius; // 0x1cc // MPropertyFriendlyName "maximum radius for created lights" - float m_flMaximumLightingRadius; // 0x1c0 + float m_flMaximumLightingRadius; // 0x1d0 // MPropertyFriendlyName "amount of damping of changes" - float m_flPositionDampingConstant; // 0x1c4 + float m_flPositionDampingConstant; // 0x1d4 }; // Alignment: 2 @@ -28598,47 +26525,47 @@ public: }; // Alignment: 10 -// Size: 0x2b0 +// Size: 0x2c0 class C_OP_PercentageBetweenTransformsVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1b4 + float m_flInputMin; // 0x1c4 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1b8 + float m_flInputMax; // 0x1c8 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1bc + Vector m_vecOutputMin; // 0x1cc // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x1c8 + Vector m_vecOutputMax; // 0x1d8 private: - [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 + [[maybe_unused]] uint8_t __pad01e4[0x4]; // 0x1e4 public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x1d8 + CParticleTransformInput m_TransformStart; // 0x1e8 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x240 + CParticleTransformInput m_TransformEnd; // 0x250 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2a8 + ParticleSetMethod_t m_nSetMethod; // 0x2b8 // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2ac + bool m_bActiveRange; // 0x2bc // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2ad + bool m_bRadialCheck; // 0x2bd }; // Alignment: 0 -// Size: 0x210 +// Size: 0x220 class C_OP_RemapNamedModelMeshGroupEndCap : public C_OP_RemapNamedModelElementEndCap { public: // No members available }; -// Alignment: 63 +// Alignment: 64 // Size: 0x3e0 class CParticleSystemDefinition : public IParticleSystemDefinition { @@ -28793,8 +26720,10 @@ public: bool m_bShouldBatch; // 0x30c // MPropertyFriendlyName "Hitboxes fall back to render bounds" bool m_bShouldHitboxesFallbackToRenderBounds; // 0x30d + // MPropertyFriendlyName "Hitboxes fall back to snapshot" + bool m_bShouldHitboxesFallbackToSnapshot; // 0x30e private: - [[maybe_unused]] uint8_t __pad030e[0x2]; // 0x30e + [[maybe_unused]] uint8_t __pad030f[0x1]; // 0x30f public: // MPropertyStartGroup "Rendering Options" // MPropertyFriendlyName "view model effect" @@ -28816,14 +26745,14 @@ public: // MParticleAdvancedField bool m_bShouldSort; // 0x328 private: - [[maybe_unused]] uint8_t __pad0329[0x3f]; // 0x329 + [[maybe_unused]] uint8_t __pad0329[0x47]; // 0x329 public: // MPropertySuppressField - CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x368 + CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x370 }; // Alignment: 8 -// Size: 0xb20 +// Size: 0xb50 class C_OP_RenderMaterialProxy : public CParticleFunctionRenderer { public: @@ -28839,46 +26768,46 @@ public: // MPropertyFriendlyName "material override enable" CParticleCollectionFloatInput m_flMaterialOverrideEnabled; // 0x228 // MPropertyFriendlyName "model tint" - CParticleCollectionVecInput m_vecColorScale; // 0x378 + CParticleCollectionVecInput m_vecColorScale; // 0x380 // MPropertyFriendlyName "model alpha" - CPerParticleFloatInput m_flAlpha; // 0x9b0 + CPerParticleFloatInput m_flAlpha; // 0x9d8 // MPropertyFriendlyName "model tint blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0xb00 + ParticleColorBlendType_t m_nColorBlendType; // 0xb30 }; // Alignment: 11 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_RemapCPtoScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1b0 + int32_t m_nCPInput; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "input field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x1b8 + int32_t m_nField; // 0x1c8 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1bc + float m_flInputMin; // 0x1cc // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1c0 + float m_flInputMax; // 0x1d0 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1c4 + float m_flOutputMin; // 0x1d4 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c8 + float m_flOutputMax; // 0x1d8 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x1cc + float m_flStartTime; // 0x1dc // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1d0 + float m_flEndTime; // 0x1e0 // MPropertyFriendlyName "interpolation scale" - float m_flInterpRate; // 0x1d4 + float m_flInterpRate; // 0x1e4 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1d8 + ParticleSetMethod_t m_nSetMethod; // 0x1e8 }; // Alignment: 1 -// Size: 0x310 +// Size: 0x320 class C_INIT_DistanceToNeighborCull : public CParticleFunctionInitializer { public: @@ -28887,38 +26816,38 @@ public: }; // Alignment: 4 -// Size: 0x870 +// Size: 0x8a0 class C_OP_SetSingleControlPointPosition : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x1c0 + bool m_bSetOnce; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01c1[0x3]; // 0x1c1 + [[maybe_unused]] uint8_t __pad01d1[0x3]; // 0x1d1 public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x1c4 + int32_t m_nCP1; // 0x1d4 // MPropertyFriendlyName "control point location" - CParticleCollectionVecInput m_vecCP1Pos; // 0x1c8 + CParticleCollectionVecInput m_vecCP1Pos; // 0x1d8 // MPropertyFriendlyName "transform to offset positions from" // MParticleInputOptional - CParticleTransformInput m_transformInput; // 0x800 + CParticleTransformInput m_transformInput; // 0x830 }; // Alignment: 3 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_SnapshotRigidSkinToBones : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x1b0 + bool m_bTransformNormals; // 0x1c0 // MPropertyFriendlyName "scale radii" - bool m_bTransformRadii; // 0x1b1 + bool m_bTransformRadii; // 0x1c1 private: - [[maybe_unused]] uint8_t __pad01b2[0x2]; // 0x1b2 + [[maybe_unused]] uint8_t __pad01c2[0x2]; // 0x1c2 public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b4 + int32_t m_nControlPointNumber; // 0x1c4 }; // Alignment: 0 @@ -28946,122 +26875,120 @@ public: }; // Alignment: 2 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_SetCPtoVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1b0 + int32_t m_nCPInput; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 }; -// Alignment: 3 -// Size: 0x940 +// Alignment: 5 +// Size: 0xae0 class C_OP_DragRelativeToPlane : public CParticleFunctionOperator { public: // MPropertyFriendlyName "dampening" - CParticleCollectionFloatInput m_flDragAtPlane; // 0x1b0 + CParticleCollectionFloatInput m_flDragAtPlane; // 0x1c0 + // MPropertyFriendlyName "falloff" + CParticleCollectionFloatInput m_flFalloff; // 0x318 + // MPropertyFriendlyName "dampen on only one side of plane" + bool m_bDirectional; // 0x470 +private: + [[maybe_unused]] uint8_t __pad0471[0x7]; // 0x471 +public: // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecPlaneNormal; // 0x300 + CParticleCollectionVecInput m_vecPlaneNormal; // 0x478 // 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 + int32_t m_nControlPointNumber; // 0xad0 }; // Alignment: 3 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_LerpEndCapScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "value to lerp to" - float m_flOutput; // 0x1b4 + float m_flOutput; // 0x1c4 // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x1b8 + float m_flLerpTime; // 0x1c8 }; // Alignment: 3 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_RemapControlPointDirectionToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1b4 + float m_flScale; // 0x1c4 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b8 + int32_t m_nControlPointNumber; // 0x1c8 }; // Alignment: 8 -// Size: 0x240 +// Size: 0x250 class C_OP_RemapTransformVisibilityToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1b0 + ParticleSetMethod_t m_nSetMethod; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1b8 + CParticleTransformInput m_TransformInput; // 0x1c8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x220 + ParticleAttributeIndex_t m_nFieldOutput; // 0x230 // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x224 + float m_flInputMin; // 0x234 // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x228 + float m_flInputMax; // 0x238 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x22c + float m_flOutputMin; // 0x23c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x230 + float m_flOutputMax; // 0x240 // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x234 + float m_flRadius; // 0x244 }; // Alignment: 8 -// Size: 0x490 +// Size: 0x4b0 class C_OP_SetRandomControlPointPosition : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x1c0 + bool m_bUseWorldLocation; // 0x1d0 // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x1c1 + bool m_bOrient; // 0x1d1 private: - [[maybe_unused]] uint8_t __pad01c2[0x2]; // 0x1c2 + [[maybe_unused]] uint8_t __pad01d2[0x2]; // 0x1d2 public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x1c4 + int32_t m_nCP1; // 0x1d4 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x1c8 + int32_t m_nHeadLocation; // 0x1d8 private: - [[maybe_unused]] uint8_t __pad01cc[0x4]; // 0x1cc + [[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc public: // MPropertyFriendlyName "re-randomize rate (-1 for once only)" - CParticleCollectionFloatInput m_flReRandomRate; // 0x1d0 + CParticleCollectionFloatInput m_flReRandomRate; // 0x1e0 // MPropertyFriendlyName "control point min" - Vector m_vecCPMinPos; // 0x320 + Vector m_vecCPMinPos; // 0x338 // MPropertyFriendlyName "control point max" - Vector m_vecCPMaxPos; // 0x32c + Vector m_vecCPMaxPos; // 0x344 // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x338 + CParticleCollectionFloatInput m_flInterpolation; // 0x350 }; // Alignment: 32 @@ -29118,31 +27045,54 @@ public: int32_t m_RefCount; // 0xc0 }; +// Alignment: 6 +// Size: 0x620 +class C_OP_RenderGpuImplicit : public CParticleFunctionRenderer +{ +public: + // MPropertySortPriority "-1" + // MPropertyDescription "Honors the per-particle radius (multiplied by radius scale) but is more expensive to render. Some particles with large radii can make things much costlier" + bool m_bUsePerParticleRadius; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0201[0x7]; // 0x201 +public: + CParticleCollectionRendererFloatInput m_fGridSize; // 0x208 + CParticleCollectionRendererFloatInput m_fRadiusScale; // 0x360 + // MPropertyAttributeRange ".1 .95" + CParticleCollectionRendererFloatInput m_fIsosurfaceThreshold; // 0x4b8 + // MPropertyFriendlyName "scale CP (grid size/particle radius/threshold = x/y/z)" + int32_t m_nScaleCP; // 0x610 +private: + [[maybe_unused]] uint8_t __pad0614[0x4]; // 0x614 +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x618 +}; + // Alignment: 1 -// Size: 0x300 +// Size: 0x320 class C_OP_EndCapTimedFreeze : public CParticleFunctionOperator { public: // MPropertyFriendlyName "freeze time" - CParticleCollectionFloatInput m_flFreezeTime; // 0x1b0 + CParticleCollectionFloatInput m_flFreezeTime; // 0x1c0 }; // Alignment: 3 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_SetControlPointToPlayer : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x1c0 + int32_t m_nCP1; // 0x1d0 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x1c4 + Vector m_vecCP1Pos; // 0x1d4 // MPropertyFriendlyName "use eye orientation" - bool m_bOrientToEyes; // 0x1d0 + bool m_bOrientToEyes; // 0x1e0 }; // Alignment: 0 -// Size: 0x210 +// Size: 0x220 class C_OP_RemapNamedModelSequenceOnceTimed : public C_OP_RemapNamedModelElementOnceTimed { public: @@ -29150,130 +27100,132 @@ public: }; // Alignment: 8 -// Size: 0x1f0 +// Size: 0x210 class C_OP_TurbulenceForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "noise scale 0" - float m_flNoiseCoordScale0; // 0x1b0 + float m_flNoiseCoordScale0; // 0x1d0 // MPropertyFriendlyName "noise scale 1" - float m_flNoiseCoordScale1; // 0x1b4 + float m_flNoiseCoordScale1; // 0x1d4 // MPropertyFriendlyName "noise scale 2" - float m_flNoiseCoordScale2; // 0x1b8 + float m_flNoiseCoordScale2; // 0x1d8 // MPropertyFriendlyName "noise scale 3" - float m_flNoiseCoordScale3; // 0x1bc + float m_flNoiseCoordScale3; // 0x1dc // MPropertyFriendlyName "noise amount 0" // MVectorIsCoordinate - Vector m_vecNoiseAmount0; // 0x1c0 + Vector m_vecNoiseAmount0; // 0x1e0 // MPropertyFriendlyName "noise amount 1" // MVectorIsCoordinate - Vector m_vecNoiseAmount1; // 0x1cc + Vector m_vecNoiseAmount1; // 0x1ec // MPropertyFriendlyName "noise amount 2" // MVectorIsCoordinate - Vector m_vecNoiseAmount2; // 0x1d8 + Vector m_vecNoiseAmount2; // 0x1f8 // MPropertyFriendlyName "noise amount 3" // MVectorIsCoordinate - Vector m_vecNoiseAmount3; // 0x1e4 + Vector m_vecNoiseAmount3; // 0x204 }; // Alignment: 3 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_ReinitializeScalarEndCap : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "minimum" - float m_flOutputMin; // 0x1b4 + float m_flOutputMin; // 0x1c4 // MPropertyFriendlyName "maximum" - float m_flOutputMax; // 0x1b8 + float m_flOutputMax; // 0x1c8 }; // Alignment: 8 -// Size: 0x200 +// Size: 0x210 class C_OP_RampScalarLinear : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x1b0 + float m_RateMin; // 0x1c0 // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x1b4 + float m_RateMax; // 0x1c4 // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1b8 + float m_flStartTime_min; // 0x1c8 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1bc + float m_flStartTime_max; // 0x1cc // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x1c0 + float m_flEndTime_min; // 0x1d0 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x1c4 + float m_flEndTime_max; // 0x1d4 private: - [[maybe_unused]] uint8_t __pad01c8[0x28]; // 0x1c8 + [[maybe_unused]] uint8_t __pad01d8[0x28]; // 0x1d8 public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1f0 + ParticleAttributeIndex_t m_nField; // 0x200 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x1f4 + bool m_bProportionalOp; // 0x204 }; // Alignment: 6 -// Size: 0x200 +// Size: 0x210 class C_OP_InterpolateRadius : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1b0 + float m_flStartTime; // 0x1c0 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1b4 + float m_flEndTime; // 0x1c4 // MPropertyFriendlyName "radius start scale" - float m_flStartScale; // 0x1b8 + float m_flStartScale; // 0x1c8 // MPropertyFriendlyName "radius end scale" - float m_flEndScale; // 0x1bc + float m_flEndScale; // 0x1cc // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x1c0 + bool m_bEaseInAndOut; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01c1[0x3]; // 0x1c1 + [[maybe_unused]] uint8_t __pad01d1[0x3]; // 0x1d1 public: // MPropertyFriendlyName "scale bias" - float m_flBias; // 0x1c4 + float m_flBias; // 0x1d4 }; -// Alignment: 11 -// Size: 0x3c0 +// Alignment: 12 +// Size: 0x3e0 class C_OP_SetControlPointToImpactPoint : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point to set" - int32_t m_nCPOut; // 0x1c0 + int32_t m_nCPOut; // 0x1d0 // MPropertyFriendlyName "control point to trace from" - int32_t m_nCPIn; // 0x1c4 + int32_t m_nCPIn; // 0x1d4 // MPropertyFriendlyName "trace update rate" - float m_flUpdateRate; // 0x1c8 + float m_flUpdateRate; // 0x1d8 private: - [[maybe_unused]] uint8_t __pad01cc[0x4]; // 0x1cc + [[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc public: // MPropertyFriendlyName "max trace length" - CParticleCollectionFloatInput m_flTraceLength; // 0x1d0 + CParticleCollectionFloatInput m_flTraceLength; // 0x1e0 // MPropertyFriendlyName "offset start point amount" - float m_flStartOffset; // 0x320 + float m_flStartOffset; // 0x338 // MPropertyFriendlyName "offset end point amount" - float m_flOffset; // 0x324 + float m_flOffset; // 0x33c // MPropertyFriendlyName "trace direction override" // MVectorIsCoordinate - Vector m_vecTraceDir; // 0x328 + Vector m_vecTraceDir; // 0x340 // MPropertyFriendlyName "trace collision group" - char m_CollisionGroupName[128]; // 0x334 + char m_CollisionGroupName[128]; // 0x34c // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x3b4 + ParticleTraceSet_t m_nTraceSet; // 0x3cc // MPropertyFriendlyName "set to trace endpoint if no collision" - bool m_bSetToEndpoint; // 0x3b8 + bool m_bSetToEndpoint; // 0x3d0 // MPropertyFriendlyName "trace to closest surface along all cardinal directions" - bool m_bTraceToClosestSurface; // 0x3b9 + bool m_bTraceToClosestSurface; // 0x3d1 + // MPropertyFriendlyName "include water" + bool m_bIncludeWater; // 0x3d2 }; // Alignment: 4 -// Size: 0x360 +// Size: 0x370 class C_OP_RenderVRHapticEvent : public CParticleFunctionRenderer { public: @@ -29292,159 +27244,159 @@ public: }; // Alignment: 15 -// Size: 0x9e0 +// Size: 0xa10 class C_OP_PositionLock : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1b0 + CParticleTransformInput m_TransformInput; // 0x1c0 // MPropertyFriendlyName "start fadeout min" - float m_flStartTime_min; // 0x218 + float m_flStartTime_min; // 0x228 // MPropertyFriendlyName "start fadeout max" - float m_flStartTime_max; // 0x21c + float m_flStartTime_max; // 0x22c // MPropertyFriendlyName "start fadeout exponent" - float m_flStartTime_exp; // 0x220 + float m_flStartTime_exp; // 0x230 // MPropertyFriendlyName "end fadeout min" - float m_flEndTime_min; // 0x224 + float m_flEndTime_min; // 0x234 // MPropertyFriendlyName "end fadeout max" - float m_flEndTime_max; // 0x228 + float m_flEndTime_max; // 0x238 // MPropertyFriendlyName "end fadeout exponent" - float m_flEndTime_exp; // 0x22c + float m_flEndTime_exp; // 0x23c // MPropertyFriendlyName "distance fade range" - float m_flRange; // 0x230 + float m_flRange; // 0x240 private: - [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 + [[maybe_unused]] uint8_t __pad0244[0x4]; // 0x244 public: // MPropertyFriendlyName "distance fade bias" - CParticleCollectionFloatInput m_flRangeBias; // 0x238 + CParticleCollectionFloatInput m_flRangeBias; // 0x248 // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x388 + float m_flJumpThreshold; // 0x3a0 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x38c + float m_flPrevPosScale; // 0x3a4 // MPropertyFriendlyName "lock rotation" - bool m_bLockRot; // 0x390 + bool m_bLockRot; // 0x3a8 private: - [[maybe_unused]] uint8_t __pad0391[0x7]; // 0x391 + [[maybe_unused]] uint8_t __pad03a9[0x7]; // 0x3a9 public: // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x398 + CParticleCollectionVecInput m_vecScale; // 0x3b0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x9d0 + ParticleAttributeIndex_t m_nFieldOutput; // 0xa08 // MPropertyFriendlyName "output field prev" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x9d4 + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0xa0c }; // Alignment: 15 -// Size: 0x5f0 +// Size: 0x610 class C_OP_OscillateVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate min" // MVectorIsSometimesCoordinate - Vector m_RateMin; // 0x1b0 + Vector m_RateMin; // 0x1c0 // MPropertyFriendlyName "oscillation rate max" // MVectorIsSometimesCoordinate - Vector m_RateMax; // 0x1bc + Vector m_RateMax; // 0x1cc // MPropertyFriendlyName "oscillation frequency min" // MVectorIsSometimesCoordinate - Vector m_FrequencyMin; // 0x1c8 + Vector m_FrequencyMin; // 0x1d8 // MPropertyFriendlyName "oscillation frequency max" // MVectorIsSometimesCoordinate - Vector m_FrequencyMax; // 0x1d4 + Vector m_FrequencyMax; // 0x1e4 // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nField; // 0x1e0 + ParticleAttributeIndex_t m_nField; // 0x1f0 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x1e4 + bool m_bProportional; // 0x1f4 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x1e5 + bool m_bProportionalOp; // 0x1f5 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x1e6 + bool m_bOffset; // 0x1f6 private: - [[maybe_unused]] uint8_t __pad01e7[0x1]; // 0x1e7 + [[maybe_unused]] uint8_t __pad01f7[0x1]; // 0x1f7 public: // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1e8 + float m_flStartTime_min; // 0x1f8 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1ec + float m_flStartTime_max; // 0x1fc // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x1f0 + float m_flEndTime_min; // 0x200 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x1f4 + float m_flEndTime_max; // 0x204 // MPropertyFriendlyName "oscillation multiplier" - CPerParticleFloatInput m_flOscMult; // 0x1f8 + CPerParticleFloatInput m_flOscMult; // 0x208 // MPropertyFriendlyName "oscillation start phase" - CPerParticleFloatInput m_flOscAdd; // 0x348 + CPerParticleFloatInput m_flOscAdd; // 0x360 // MPropertyFriendlyName "rate scale" - CPerParticleFloatInput m_flRateScale; // 0x498 + CPerParticleFloatInput m_flRateScale; // 0x4b8 }; // Alignment: 10 -// Size: 0x710 +// Size: 0x740 class C_OP_MovementSkinnedPositionFromCPSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1b0 + int32_t m_nSnapshotControlPointNumber; // 0x1c0 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b4 + int32_t m_nControlPointNumber; // 0x1c4 // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x1b8 + bool m_bRandom; // 0x1c8 private: - [[maybe_unused]] uint8_t __pad01b9[0x3]; // 0x1b9 + [[maybe_unused]] uint8_t __pad01c9[0x3]; // 0x1c9 public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1bc + int32_t m_nRandomSeed; // 0x1cc // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x1c0 + bool m_bSetNormal; // 0x1d0 // MPropertyFriendlyName "set radius" - bool m_bSetRadius; // 0x1c1 + bool m_bSetRadius; // 0x1d1 private: - [[maybe_unused]] uint8_t __pad01c2[0x6]; // 0x1c2 + [[maybe_unused]] uint8_t __pad01d2[0x6]; // 0x1d2 public: // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_flIncrement; // 0x1c8 + CParticleCollectionFloatInput m_flIncrement; // 0x1d8 // MPropertyFriendlyName "Full Loop Increment Amount" - CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x318 + CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x330 // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x468 + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x488 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x5b8 + CPerParticleFloatInput m_flInterpolation; // 0x5e0 }; // Alignment: 8 -// Size: 0x340 +// Size: 0x350 class C_OP_SetControlPointOrientation : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set orientation in world space" - bool m_bUseWorldLocation; // 0x1c0 + bool m_bUseWorldLocation; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01c1[0x1]; // 0x1c1 + [[maybe_unused]] uint8_t __pad01d1[0x1]; // 0x1d1 public: // MPropertyFriendlyName "randomize" - bool m_bRandomize; // 0x1c2 + bool m_bRandomize; // 0x1d2 // MPropertyFriendlyName "only set orientation once" - bool m_bSetOnce; // 0x1c3 + bool m_bSetOnce; // 0x1d3 // MPropertyFriendlyName "control point number" - int32_t m_nCP; // 0x1c4 + int32_t m_nCP; // 0x1d4 // MPropertyFriendlyName "control point to offset orientation from" - int32_t m_nHeadLocation; // 0x1c8 + int32_t m_nHeadLocation; // 0x1d8 // MPropertyFriendlyName "pitch yaw roll" - QAngle m_vecRotation; // 0x1cc + QAngle m_vecRotation; // 0x1dc // MPropertyFriendlyName "pitch yaw roll max" - QAngle m_vecRotationB; // 0x1d8 + QAngle m_vecRotationB; // 0x1e8 private: - [[maybe_unused]] uint8_t __pad01e4[0x4]; // 0x1e4 + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 public: // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x1e8 + CParticleCollectionFloatInput m_flInterpolation; // 0x1f8 }; // Alignment: 4 -// Size: 0x870 +// Size: 0x890 class C_INIT_VelocityFromCP : public CParticleFunctionInitializer { public: @@ -29452,23 +27404,15 @@ public: CParticleCollectionVecInput m_velocityInput; // 0x1c0 // MPropertyFriendlyName "local space" // MParticleInputOptional - CParticleTransformInput m_transformInput; // 0x7f8 + CParticleTransformInput m_transformInput; // 0x818 // MPropertyFriendlyName "velocity scale" - float m_flVelocityScale; // 0x860 + float m_flVelocityScale; // 0x880 // MPropertyFriendlyName "direction only" - bool m_bDirectionOnly; // 0x864 -}; - -// Alignment: 0 -// Size: 0x48 -class CPulseCell_Test_MultiInflow_WithDefault : public CPulseCell_BaseFlow -{ -public: - // No members available + bool m_bDirectionOnly; // 0x884 }; // Alignment: 61 -// Size: 0x2390 +// Size: 0x2470 class CBaseRendererSource2 : public CParticleFunctionRenderer { public: @@ -29478,236 +27422,236 @@ public: CParticleCollectionRendererFloatInput m_flRadiusScale; // 0x200 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - CParticleCollectionRendererFloatInput m_flAlphaScale; // 0x350 + CParticleCollectionRendererFloatInput m_flAlphaScale; // 0x358 // MPropertyFriendlyName "rotation roll scale" // MPropertySortPriority "700" - CParticleCollectionRendererFloatInput m_flRollScale; // 0x4a0 + CParticleCollectionRendererFloatInput m_flRollScale; // 0x4b0 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x5f0 + ParticleAttributeIndex_t m_nAlpha2Field; // 0x608 private: - [[maybe_unused]] uint8_t __pad05f4[0x4]; // 0x5f4 + [[maybe_unused]] uint8_t __pad060c[0x4]; // 0x60c public: // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionRendererVecInput m_vecColorScale; // 0x5f8 + CParticleCollectionRendererVecInput m_vecColorScale; // 0x610 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0xc30 + ParticleColorBlendType_t m_nColorBlendType; // 0xc68 // MPropertyStartGroup "+Material" // MPropertyFriendlyName "Shader" // MPropertySortPriority "600" - SpriteCardShaderType_t m_nShaderType; // 0xc34 + SpriteCardShaderType_t m_nShaderType; // 0xc6c // MPropertyFriendlyName "Custom Shader" // MPropertySuppressExpr "m_nShaderType != SPRITECARD_SHADER_CUSTOM" // MPropertySortPriority "600" - CUtlString m_strShaderOverride; // 0xc38 + CUtlString m_strShaderOverride; // 0xc70 // MPropertyFriendlyName "X offset of center point" // MPropertySortPriority "600" - CParticleCollectionRendererFloatInput m_flCenterXOffset; // 0xc40 + CParticleCollectionRendererFloatInput m_flCenterXOffset; // 0xc78 // MPropertyFriendlyName "Y offset of center point" // MPropertySortPriority "600" - CParticleCollectionRendererFloatInput m_flCenterYOffset; // 0xd90 + CParticleCollectionRendererFloatInput m_flCenterYOffset; // 0xdd0 // MPropertyFriendlyName "Bump Strength" // MPropertySortPriority "600" - float m_flBumpStrength; // 0xee0 + float m_flBumpStrength; // 0xf28 // MPropertyFriendlyName "Sheet Crop Behavior" // MPropertySortPriority "600" - ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0xee4 + ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0xf2c // MPropertyFriendlyName "Textures" // MParticleRequireDefaultArrayEntry // MPropertyAutoExpandSelf // MPropertySortPriority "600" - CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0xee8 + CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0xf30 // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animation rate" // MPropertyAttributeRange "0 5" // MPropertySortPriority "500" - float m_flAnimationRate; // 0xf00 + float m_flAnimationRate; // 0xf48 // MPropertyFriendlyName "animation type" // MPropertySortPriority "500" - AnimationType_t m_nAnimationType; // 0xf04 + AnimationType_t m_nAnimationType; // 0xf4c // MPropertyFriendlyName "set animation value in FPS" // MPropertySortPriority "500" - bool m_bAnimateInFPS; // 0xf08 + bool m_bAnimateInFPS; // 0xf50 private: - [[maybe_unused]] uint8_t __pad0f09[0x7]; // 0xf09 + [[maybe_unused]] uint8_t __pad0f51[0x7]; // 0xf51 public: // MPropertyStartGroup "Lighting and Shadows" // MPropertyFriendlyName "self illum amount" // MPropertyAttributeRange "0 2" // MPropertySortPriority "400" - CParticleCollectionRendererFloatInput m_flSelfIllumAmount; // 0xf10 + CParticleCollectionRendererFloatInput m_flSelfIllumAmount; // 0xf58 // MPropertyFriendlyName "diffuse lighting amount" // MPropertyAttributeRange "0 1" // MPropertySortPriority "400" - CParticleCollectionRendererFloatInput m_flDiffuseAmount; // 0x1060 + CParticleCollectionRendererFloatInput m_flDiffuseAmount; // 0x10b0 // MPropertyFriendlyName "diffuse lighting origin Control Point" // MPropertySortPriority "400" - int32_t m_nLightingControlPoint; // 0x11b0 + int32_t m_nLightingControlPoint; // 0x1208 // MPropertyFriendlyName "self illum per-particle" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "400" - ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0x11b4 + ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0x120c // MPropertyStartGroup "+Color and alpha adjustments" // MPropertyFriendlyName "output blend mode" // MPropertySortPriority "300" - ParticleOutputBlendMode_t m_nOutputBlendMode; // 0x11b8 + ParticleOutputBlendMode_t m_nOutputBlendMode; // 0x1210 // MPropertyFriendlyName "Gamma-correct vertex colors" // MPropertySortPriority "300" - bool m_bGammaCorrectVertexColors; // 0x11bc + bool m_bGammaCorrectVertexColors; // 0x1214 // MPropertyFriendlyName "Saturate color pre alphablend" // MPropertySortPriority "300" // MPropertySuppressExpr "mod!=dota" - bool m_bSaturateColorPreAlphaBlend; // 0x11bd + bool m_bSaturateColorPreAlphaBlend; // 0x1215 private: - [[maybe_unused]] uint8_t __pad11be[0x2]; // 0x11be + [[maybe_unused]] uint8_t __pad1216[0x2]; // 0x1216 public: // MPropertyFriendlyName "add self amount over alphablend" // MPropertySortPriority "300" - CParticleCollectionRendererFloatInput m_flAddSelfAmount; // 0x11c0 + CParticleCollectionRendererFloatInput m_flAddSelfAmount; // 0x1218 // MPropertyFriendlyName "desaturation amount" // MPropertyAttributeRange "0 1" // MPropertySortPriority "300" - CParticleCollectionRendererFloatInput m_flDesaturation; // 0x1310 + CParticleCollectionRendererFloatInput m_flDesaturation; // 0x1370 // MPropertyFriendlyName "overbright factor" // MPropertySortPriority "300" - CParticleCollectionRendererFloatInput m_flOverbrightFactor; // 0x1460 + CParticleCollectionRendererFloatInput m_flOverbrightFactor; // 0x14c8 // MPropertyFriendlyName "HSV Shift Control Point" // MPropertySortPriority "300" - int32_t m_nHSVShiftControlPoint; // 0x15b0 + int32_t m_nHSVShiftControlPoint; // 0x1620 // MPropertyFriendlyName "Apply fog to particle" // MPropertySortPriority "300" - ParticleFogType_t m_nFogType; // 0x15b4 + ParticleFogType_t m_nFogType; // 0x1624 // MPropertyFriendlyName "Fog Scale" // MPropertySortPriority "300" // MPropertySuppressExpr "mod != hlx" - CParticleCollectionRendererFloatInput m_flFogAmount; // 0x15b8 + CParticleCollectionRendererFloatInput m_flFogAmount; // 0x1628 // MPropertyFriendlyName "Apply fog of war to color" // MPropertySortPriority "300" // MPropertySuppressExpr "mod != dota" - bool m_bTintByFOW; // 0x1708 + bool m_bTintByFOW; // 0x1780 // MPropertyFriendlyName "Apply global light to color" // MPropertySortPriority "300" // MPropertySuppressExpr "mod != dota" - bool m_bTintByGlobalLight; // 0x1709 + bool m_bTintByGlobalLight; // 0x1781 private: - [[maybe_unused]] uint8_t __pad170a[0x2]; // 0x170a + [[maybe_unused]] uint8_t __pad1782[0x2]; // 0x1782 public: // MPropertyStartGroup "Color and alpha adjustments/Alpha Reference" // MPropertyFriendlyName "alpha reference" // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0x170c + SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0x1784 // MPropertyFriendlyName "alpha reference window size" // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0x1710 + SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0x1788 // MPropertyFriendlyName "alpha reference type" // MPropertySortPriority "300" - ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0x1714 + ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0x178c // MPropertyFriendlyName "alpha reference softness" // MPropertyAttributeRange "0 1" // MPropertySortPriority "300" - CParticleCollectionRendererFloatInput m_flAlphaReferenceSoftness; // 0x1718 + CParticleCollectionRendererFloatInput m_flAlphaReferenceSoftness; // 0x1790 // MPropertyFriendlyName "source alpha value to map to alpha of zero" // MPropertyAttributeRange "0 1" // MPropertySortPriority "300" - CParticleCollectionRendererFloatInput m_flSourceAlphaValueToMapToZero; // 0x1868 + CParticleCollectionRendererFloatInput m_flSourceAlphaValueToMapToZero; // 0x18e8 // MPropertyFriendlyName "source alpha value to map to alpha of 1" // MPropertyAttributeRange "0 1" // MPropertySortPriority "300" - CParticleCollectionRendererFloatInput m_flSourceAlphaValueToMapToOne; // 0x19b8 + CParticleCollectionRendererFloatInput m_flSourceAlphaValueToMapToOne; // 0x1a40 // MPropertyStartGroup "Refraction" // MPropertyFriendlyName "refract background" // MPropertySortPriority "200" - bool m_bRefract; // 0x1b08 + bool m_bRefract; // 0x1b98 // MPropertyFriendlyName "refract draws opaque - alpha scales refraction" // MPropertySortPriority "200" // MPropertySuppressExpr "!m_bRefract" - bool m_bRefractSolid; // 0x1b09 + bool m_bRefractSolid; // 0x1b99 private: - [[maybe_unused]] uint8_t __pad1b0a[0x6]; // 0x1b0a + [[maybe_unused]] uint8_t __pad1b9a[0x6]; // 0x1b9a public: // MPropertyFriendlyName "refract amount" // MPropertyAttributeRange "-2 2" // MPropertySortPriority "200" // MPropertySuppressExpr "!m_bRefract" - CParticleCollectionRendererFloatInput m_flRefractAmount; // 0x1b10 + CParticleCollectionRendererFloatInput m_flRefractAmount; // 0x1ba0 // MPropertyFriendlyName "refract blur radius" // MPropertySortPriority "200" // MPropertySuppressExpr "!m_bRefract" - int32_t m_nRefractBlurRadius; // 0x1c60 + int32_t m_nRefractBlurRadius; // 0x1cf8 // MPropertyFriendlyName "refract blur type" // MPropertySortPriority "200" // MPropertySuppressExpr "!m_bRefract" - BlurFilterType_t m_nRefractBlurType; // 0x1c64 + BlurFilterType_t m_nRefractBlurType; // 0x1cfc // MPropertyStartGroup // MPropertyFriendlyName "Only Render in effects bloom pass" // MPropertySortPriority "1100" - bool m_bOnlyRenderInEffectsBloomPass; // 0x1c68 + bool m_bOnlyRenderInEffectsBloomPass; // 0x1d00 // MPropertyFriendlyName "Only Render in effects water pass" // MPropertySortPriority "1050" // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffectsWaterPass; // 0x1c69 + bool m_bOnlyRenderInEffectsWaterPass; // 0x1d01 // MPropertyFriendlyName "Use Mixed Resolution Rendering" // MPropertySortPriority "1200" - bool m_bUseMixedResolutionRendering; // 0x1c6a + bool m_bUseMixedResolutionRendering; // 0x1d02 // MPropertyFriendlyName "Only Render in effects game overlay pass" // MPropertySortPriority "1210" // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffecsGameOverlay; // 0x1c6b + bool m_bOnlyRenderInEffecsGameOverlay; // 0x1d03 // MPropertyStartGroup "Stencil" // MPropertyFriendlyName "stencil test ID" // MPropertySortPriority "0" - char m_stencilTestID[128]; // 0x1c6c + char m_stencilTestID[128]; // 0x1d04 // MPropertyFriendlyName "only write where stencil is NOT stencil test ID" // MPropertySortPriority "0" - bool m_bStencilTestExclude; // 0x1cec + bool m_bStencilTestExclude; // 0x1d84 // MPropertyFriendlyName "stencil write ID" // MPropertySortPriority "0" - char m_stencilWriteID[128]; // 0x1ced + char m_stencilWriteID[128]; // 0x1d85 // MPropertyFriendlyName "write stencil on z-buffer test success" // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthPass; // 0x1d6d + bool m_bWriteStencilOnDepthPass; // 0x1e05 // MPropertyFriendlyName "write stencil on z-buffer test failure" // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthFail; // 0x1d6e + bool m_bWriteStencilOnDepthFail; // 0x1e06 // MPropertyStartGroup "Depth buffer control and effects" // MPropertyFriendlyName "reverse z-buffer test" // MPropertySortPriority "900" - bool m_bReverseZBuffering; // 0x1d6f + bool m_bReverseZBuffering; // 0x1e07 // MPropertyFriendlyName "disable z-buffer test" // MPropertySortPriority "900" - bool m_bDisableZBuffering; // 0x1d70 + bool m_bDisableZBuffering; // 0x1e08 private: - [[maybe_unused]] uint8_t __pad1d71[0x3]; // 0x1d71 + [[maybe_unused]] uint8_t __pad1e09[0x3]; // 0x1e09 public: // MPropertyFriendlyName "Depth feathering mode" // MPropertySortPriority "900" - ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1d74 + ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1e0c // MPropertyFriendlyName "particle feathering closest distance to surface" // MPropertySortPriority "900" - CParticleCollectionRendererFloatInput m_flFeatheringMinDist; // 0x1d78 + CParticleCollectionRendererFloatInput m_flFeatheringMinDist; // 0x1e10 // MPropertyFriendlyName "particle feathering farthest distance to surface" // MPropertySortPriority "900" - CParticleCollectionRendererFloatInput m_flFeatheringMaxDist; // 0x1ec8 + CParticleCollectionRendererFloatInput m_flFeatheringMaxDist; // 0x1f68 // MPropertyFriendlyName "particle feathering filter" // MPropertySortPriority "900" - CParticleCollectionRendererFloatInput m_flFeatheringFilter; // 0x2018 + CParticleCollectionRendererFloatInput m_flFeatheringFilter; // 0x20c0 // MPropertyFriendlyName "depth comparison bias" // MPropertySortPriority "900" - float m_flDepthBias; // 0x2168 + float m_flDepthBias; // 0x2218 // MPropertyFriendlyName "Sort Method" // MPropertySortPriority "900" - ParticleSortingChoiceList_t m_nSortMethod; // 0x216c + ParticleSortingChoiceList_t m_nSortMethod; // 0x221c // MPropertyStartGroup "Animation" // MPropertyFriendlyName "blend sequence animation frames" // MPropertySortPriority "500" - bool m_bBlendFramesSeq0; // 0x2170 + bool m_bBlendFramesSeq0; // 0x2220 // MPropertyFriendlyName "use max-luminance blending for sequence" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bBlendFramesSeq0" - bool m_bMaxLuminanceBlendingSequence0; // 0x2171 + bool m_bMaxLuminanceBlendingSequence0; // 0x2221 }; // Alignment: 8 @@ -29740,27 +27684,19 @@ public: bool m_bIncludeWater; // 0x270 }; -// Alignment: 0 -// Size: 0x48 -class CPulseCell_Value_TestValue50 : public CPulseCell_BaseValue -{ -public: - // No members available -}; - // Alignment: 2 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_ConstrainLineLength : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum length" - float m_flMinDistance; // 0x1b0 + float m_flMinDistance; // 0x1c0 // MPropertyFriendlyName "maximum length" - float m_flMaxDistance; // 0x1b4 + float m_flMaxDistance; // 0x1c4 }; // Alignment: 5 -// Size: 0x470 +// Size: 0x480 class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter { public: @@ -29768,45 +27704,45 @@ public: // MPropertyAttributeRange "1 1000" CParticleCollectionFloatInput m_nParticlesToEmit; // 0x1c0 // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x310 + CParticleCollectionFloatInput m_flStartTime; // 0x318 // MPropertyFriendlyName "emission scale from killed parent particles" - float m_flInitFromKilledParentParticles; // 0x460 + float m_flInitFromKilledParentParticles; // 0x470 // MPropertyFriendlyName "maximum emission per frame" - int32_t m_nMaxEmittedPerFrame; // 0x464 + int32_t m_nMaxEmittedPerFrame; // 0x474 // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x468 + int32_t m_nSnapshotControlPoint; // 0x478 }; // Alignment: 7 -// Size: 0x2650 +// Size: 0x2740 class CBaseTrailRenderer : public CBaseRendererSource2 { public: // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2390 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x2470 // 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; // 0x2394 + int32_t m_nOrientationControlPoint; // 0x2474 // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "minimum visual screen-size" // MPropertySortPriority "900" - float m_flMinSize; // 0x2398 + float m_flMinSize; // 0x2478 // MPropertyFriendlyName "maximum visual screen-size" // MPropertySortPriority "900" - float m_flMaxSize; // 0x239c + float m_flMaxSize; // 0x247c // MPropertyFriendlyName "start fade screen-size" // MPropertySortPriority "900" - CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x23a0 + CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x2480 // MPropertyFriendlyName "end fade and cull screen-size" // MPropertySortPriority "900" - CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x24f0 + CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x25d8 // MPropertyStartGroup "Trail UV Controls" // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" // MPropertySortPriority "800" - bool m_bClampV; // 0x2640 + bool m_bClampV; // 0x2730 }; // Alignment: 5 @@ -29828,7 +27764,7 @@ public: }; // Alignment: 0 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_Spin : public CGeneralSpin { public: @@ -29902,17 +27838,17 @@ public: }; // Alignment: 3 -// Size: 0x1f0 +// Size: 0x200 class C_OP_RemapDistanceToLineSegmentToVector : public C_OP_RemapDistanceToLineSegmentBase { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1d0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1e0 // MPropertyFriendlyName "output value at min distance" - Vector m_vMinOutputValue; // 0x1d4 + Vector m_vMinOutputValue; // 0x1e4 // MPropertyFriendlyName "output value at max distance" - Vector m_vMaxOutputValue; // 0x1e0 + Vector m_vMaxOutputValue; // 0x1f0 }; // Alignment: 5 @@ -29935,7 +27871,7 @@ public: }; // Alignment: 0 -// Size: 0x1b0 +// Size: 0x1c0 class CSpinUpdateBase : public CParticleFunctionOperator { public: @@ -29943,22 +27879,22 @@ public: }; // Alignment: 5 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_ControlPointToRadialScreenSpace : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source Control Point in World" - int32_t m_nCPIn; // 0x1c0 + int32_t m_nCPIn; // 0x1d0 // MPropertyFriendlyName "Source Control Point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x1c4 + Vector m_vecCP1Pos; // 0x1d4 // MPropertyFriendlyName "Set control point number" - int32_t m_nCPOut; // 0x1d0 + int32_t m_nCPOut; // 0x1e0 // MPropertyFriendlyName "Output field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPOutField; // 0x1d4 + int32_t m_nCPOutField; // 0x1e4 // MPropertyFriendlyName "Ss Pos and Dot OUT CP" - int32_t m_nCPSSPosOut; // 0x1d8 + int32_t m_nCPSSPosOut; // 0x1e8 }; // Alignment: 3 @@ -29980,43 +27916,43 @@ public: }; // Alignment: 6 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_RemapScalarEndCap : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1b8 + float m_flInputMin; // 0x1c8 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1bc + float m_flInputMax; // 0x1cc // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1c0 + float m_flOutputMin; // 0x1d0 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c4 + float m_flOutputMax; // 0x1d4 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x210 class C_OP_LockToSavedSequentialPath : public CParticleFunctionOperator { private: - [[maybe_unused]] uint8_t __pad01b0[0x4]; // 0x1b0 + [[maybe_unused]] uint8_t __pad01c0[0x4]; // 0x1c0 public: // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x1b4 + float m_flFadeStart; // 0x1c4 // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x1b8 + float m_flFadeEnd; // 0x1c8 // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1bc + bool m_bCPPairs; // 0x1cc private: - [[maybe_unused]] uint8_t __pad01bd[0x3]; // 0x1bd + [[maybe_unused]] uint8_t __pad01cd[0x3]; // 0x1cd public: - CPathParameters m_PathParams; // 0x1c0 + CPathParameters m_PathParams; // 0x1d0 }; // Alignment: 2 @@ -30028,116 +27964,101 @@ public: CParticleCollectionFloatInput m_InputValue; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x310 + ParticleAttributeIndex_t m_nOutputField; // 0x318 }; // Alignment: 2 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_PlayEndCapWhenFinished : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "play when emission ends" - bool m_bFireOnEmissionEnd; // 0x1c0 + bool m_bFireOnEmissionEnd; // 0x1d0 // MPropertyFriendlyName "wait for children to finish" - bool m_bIncludeChildren; // 0x1c1 + bool m_bIncludeChildren; // 0x1d1 }; // 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: 4 -// Size: 0x470 +// Size: 0x490 class C_OP_QuantizeCPComponent : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input" - CParticleCollectionFloatInput m_flInputValue; // 0x1c0 + CParticleCollectionFloatInput m_flInputValue; // 0x1d0 // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x310 + int32_t m_nCPOutput; // 0x328 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x314 + int32_t m_nOutVectorField; // 0x32c // MPropertyFriendlyName "interval to snap to" - CParticleCollectionFloatInput m_flQuantizeValue; // 0x318 + CParticleCollectionFloatInput m_flQuantizeValue; // 0x330 }; // Alignment: 4 -// Size: 0x950 +// Size: 0x980 class C_OP_MovementLoopInsideSphere : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1b0 + int32_t m_nCP; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "distance maximum" - CParticleCollectionFloatInput m_flDistance; // 0x1b8 + CParticleCollectionFloatInput m_flDistance; // 0x1c8 // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x308 + CParticleCollectionVecInput m_vecScale; // 0x320 // MPropertyFriendlyName "distance squared output attribute" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDistSqrAttr; // 0x940 + ParticleAttributeIndex_t m_nDistSqrAttr; // 0x978 }; // Alignment: 3 -// Size: 0xe30 +// Size: 0xe80 class C_OP_DirectionBetweenVecsToVec : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x1b8 + CPerParticleVecInput m_vecPoint1; // 0x1c8 // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x7f0 + CPerParticleVecInput m_vecPoint2; // 0x820 }; // Alignment: 8 -// Size: 0x250 +// Size: 0x260 class C_OP_RemapTransformVisibilityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1b0 + ParticleSetMethod_t m_nSetMethod; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1b8 + CParticleTransformInput m_TransformInput; // 0x1c8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x220 + ParticleAttributeIndex_t m_nFieldOutput; // 0x230 // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x224 + float m_flInputMin; // 0x234 // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x228 + float m_flInputMax; // 0x238 // MPropertyFriendlyName "output minimum" - Vector m_vecOutputMin; // 0x22c + Vector m_vecOutputMin; // 0x23c // MPropertyFriendlyName "output maximum" - Vector m_vecOutputMax; // 0x238 + Vector m_vecOutputMax; // 0x248 // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x244 + float m_flRadius; // 0x254 }; // Alignment: 6 -// Size: 0xeb0 +// Size: 0xef0 class C_INIT_SetVectorAttributeToVectorExpression : public CParticleFunctionInitializer { public: @@ -30149,30 +28070,30 @@ public: // MPropertyFriendlyName "input 1" CPerParticleVecInput m_vInput1; // 0x1c8 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x800 + CPerParticleVecInput m_vInput2; // 0x820 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0xe38 + ParticleAttributeIndex_t m_nOutputField; // 0xe78 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xe3c + ParticleSetMethod_t m_nSetMethod; // 0xe7c // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xe40 + bool m_bNormalizedOutput; // 0xe80 }; // Alignment: 4 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_InheritFromParentParticles : public CParticleFunctionOperator { public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1b0 + float m_flScale; // 0x1c0 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1b8 + int32_t m_nIncrement; // 0x1c8 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1bc + bool m_bRandomDistribution; // 0x1cc }; // Alignment: 4 @@ -30193,46 +28114,85 @@ public: int32_t m_nComponent; // 0x1cc }; -// Alignment: 4 -// Size: 0xe30 +// Alignment: 11 +// Size: 0x1df0 class C_OP_ExternalWindForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "sample position" - CPerParticleVecInput m_vecSamplePosition; // 0x1b0 + CPerParticleVecInput m_vecSamplePosition; // 0x1d0 // MPropertyFriendlyName "force scale" - CPerParticleVecInput m_vecScale; // 0x7e8 + CPerParticleVecInput m_vecScale; // 0x828 // MPropertyFriendlyName "sample wind" - bool m_bSampleWind; // 0xe20 + bool m_bSampleWind; // 0xe80 // MPropertyFriendlyName "sample water current" - bool m_bSampleWater; // 0xe21 + bool m_bSampleWater; // 0xe81 + // MPropertyFriendlyName "dampen gravity/buoyancy near water plane" + // MPropertySuppressExpr "!m_bSampleWater" + bool m_bDampenNearWaterPlane; // 0xe82 + // MPropertyFriendlyName "sample local gravity" + bool m_bSampleGravity; // 0xe83 +private: + [[maybe_unused]] uint8_t __pad0e84[0x4]; // 0xe84 +public: + // MPropertyFriendlyName "gravity force" + // MPropertySuppressExpr "m_bSampleGravity" + CPerParticleVecInput m_vecGravityForce; // 0xe88 + // MPropertyFriendlyName "use Movement Basic for Local Gravity & Buoyancy Scale" + // MPropertySuppressExpr "!m_bSampleGravity" + bool m_bUseBasicMovementGravity; // 0x14e0 +private: + [[maybe_unused]] uint8_t __pad14e1[0x7]; // 0x14e1 +public: + // MPropertyFriendlyName "local gravity scale" + // MPropertySuppressExpr "!m_bSampleGravity" + CPerParticleFloatInput m_flLocalGravityScale; // 0x14e8 + // MPropertyFriendlyName "local gravity buoyancy scale" + // MPropertySuppressExpr "!m_bSampleGravity" + CPerParticleFloatInput m_flLocalBuoyancyScale; // 0x1640 + // MPropertyFriendlyName "buoyancy force" + // MPropertySuppressExpr "!m_bSampleWater || m_bSampleGravity" + CPerParticleVecInput m_vecBuoyancyForce; // 0x1798 }; // Alignment: 6 -// Size: 0x5c0 +// Size: 0x5f0 class C_OP_SetControlPointFieldToScalarExpression : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "expression" - ScalarExpressionType_t m_nExpression; // 0x1c0 + ScalarExpressionType_t m_nExpression; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 + [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 public: // MPropertyFriendlyName "input 1" - CParticleCollectionFloatInput m_flInput1; // 0x1c8 + CParticleCollectionFloatInput m_flInput1; // 0x1d8 // MPropertyFriendlyName "input 2" - CParticleCollectionFloatInput m_flInput2; // 0x318 + CParticleCollectionFloatInput m_flInput2; // 0x330 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0x468 + CParticleRemapFloatInput m_flOutputRemap; // 0x488 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x5b8 + int32_t m_nOutputCP; // 0x5e0 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x5bc + int32_t m_nOutVectorField; // 0x5e4 +}; + +// Alignment: 3 +// Size: 0x480 +class C_OP_SDFConstraint : public CParticleFunctionConstraint +{ +public: + // MPropertyFriendlyName "min dist to sdf" + CParticleCollectionFloatInput m_flMinDist; // 0x1c0 + // MPropertyFriendlyName "max dist to sdf" + CParticleCollectionFloatInput m_flMaxDist; // 0x318 + // MPropertyFriendlyName "Max # of iterations" + int32_t m_nMaxIterations; // 0x470 }; // Alignment: 10 -// Size: 0xe50 +// Size: 0xe90 class C_INIT_PositionWarp : public CParticleFunctionInitializer { public: @@ -30241,24 +28201,24 @@ public: CParticleCollectionVecInput m_vecWarpMin; // 0x1c0 // MPropertyFriendlyName "warp max" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecWarpMax; // 0x7f8 + CParticleCollectionVecInput m_vecWarpMax; // 0x818 // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0xe30 + int32_t m_nScaleControlPointNumber; // 0xe70 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0xe34 + int32_t m_nControlPointNumber; // 0xe74 // MPropertyFriendlyName "radius scale component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nRadiusComponent; // 0xe38 + int32_t m_nRadiusComponent; // 0xe78 // MPropertyFriendlyName "warp transition time (treats min/max as start/end sizes)" - float m_flWarpTime; // 0xe3c + float m_flWarpTime; // 0xe7c // MPropertyFriendlyName "warp transition start time" - float m_flWarpStartTime; // 0xe40 + float m_flWarpStartTime; // 0xe80 // MPropertyFriendlyName "previous position sacale" - float m_flPrevPosScale; // 0xe44 + float m_flPrevPosScale; // 0xe84 // MPropertyFriendlyName "reverse warp (0/1)" - bool m_bInvertWarp; // 0xe48 + bool m_bInvertWarp; // 0xe88 // MPropertyFriendlyName "use particle count instead of time" - bool m_bUseCount; // 0xe49 + bool m_bUseCount; // 0xe89 }; // Alignment: 1 @@ -30298,42 +28258,34 @@ public: bool m_bPerParticle; // 0x1e4 }; -// Alignment: 1 -// Size: 0x58 -class CPulseCell_Inflow_Wait : public CPulseCell_BaseYieldingInflow -{ -public: - CPulse_ResumePoint m_WakeResume; // 0x48 -}; - // Alignment: 6 -// Size: 0x810 +// Size: 0x840 class C_OP_SetControlPointToCPVelocity : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point input" - int32_t m_nCPInput; // 0x1c0 + int32_t m_nCPInput; // 0x1d0 // MPropertyFriendlyName "control point number to set velocity" - int32_t m_nCPOutputVel; // 0x1c4 + int32_t m_nCPOutputVel; // 0x1d4 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x1c8 + bool m_bNormalize; // 0x1d8 private: - [[maybe_unused]] uint8_t __pad01c9[0x3]; // 0x1c9 + [[maybe_unused]] uint8_t __pad01d9[0x3]; // 0x1d9 public: // MPropertyFriendlyName "control point number to set magnitude" - int32_t m_nCPOutputMag; // 0x1cc + int32_t m_nCPOutputMag; // 0x1dc // MPropertyFriendlyName "control point field for magnitude" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x1d0 + int32_t m_nCPField; // 0x1e0 private: - [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 + [[maybe_unused]] uint8_t __pad01e4[0x4]; // 0x1e4 public: // MPropertyFriendlyName "comparison velocity" - CParticleCollectionVecInput m_vecComparisonVelocity; // 0x1d8 + CParticleCollectionVecInput m_vecComparisonVelocity; // 0x1e8 }; // Alignment: 0 -// Size: 0x210 +// Size: 0x220 class C_OP_RemapNamedModelMeshGroupOnceTimed : public C_OP_RemapNamedModelElementOnceTimed { public: @@ -30341,107 +28293,99 @@ public: }; // Alignment: 15 -// Size: 0x1050 +// Size: 0x10b0 class C_OP_LightningSnapshotGenerator : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nCPSnapshot; // 0x1c0 + int32_t m_nCPSnapshot; // 0x1d0 // MPropertyFriendlyName "start control point number" - int32_t m_nCPStartPnt; // 0x1c4 + int32_t m_nCPStartPnt; // 0x1d4 // MPropertyFriendlyName "end control point number" - int32_t m_nCPEndPnt; // 0x1c8 + int32_t m_nCPEndPnt; // 0x1d8 private: - [[maybe_unused]] uint8_t __pad01cc[0x4]; // 0x1cc + [[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc public: // MPropertyFriendlyName "Recursion Depth" - CParticleCollectionFloatInput m_flSegments; // 0x1d0 + CParticleCollectionFloatInput m_flSegments; // 0x1e0 // MPropertyFriendlyName "Offset" - CParticleCollectionFloatInput m_flOffset; // 0x320 + CParticleCollectionFloatInput m_flOffset; // 0x338 // MPropertyFriendlyName "Offset Decay" - CParticleCollectionFloatInput m_flOffsetDecay; // 0x470 + CParticleCollectionFloatInput m_flOffsetDecay; // 0x490 // MPropertyFriendlyName "Recalculation Rate" - CParticleCollectionFloatInput m_flRecalcRate; // 0x5c0 + CParticleCollectionFloatInput m_flRecalcRate; // 0x5e8 // MPropertyFriendlyName "UV Scale" - CParticleCollectionFloatInput m_flUVScale; // 0x710 + CParticleCollectionFloatInput m_flUVScale; // 0x740 // MPropertyFriendlyName "UV Offset" - CParticleCollectionFloatInput m_flUVOffset; // 0x860 + CParticleCollectionFloatInput m_flUVOffset; // 0x898 // MPropertyFriendlyName "Branch Split Rate" - CParticleCollectionFloatInput m_flSplitRate; // 0x9b0 + CParticleCollectionFloatInput m_flSplitRate; // 0x9f0 // MPropertyFriendlyName "Branch Twist" - CParticleCollectionFloatInput m_flBranchTwist; // 0xb00 + CParticleCollectionFloatInput m_flBranchTwist; // 0xb48 // MPropertyFriendlyName "Branch Behavior" - ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0xc50 + ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0xca0 private: - [[maybe_unused]] uint8_t __pad0c54[0x4]; // 0xc54 + [[maybe_unused]] uint8_t __pad0ca4[0x4]; // 0xca4 public: // MPropertyFriendlyName "Start Radius" - CParticleCollectionFloatInput m_flRadiusStart; // 0xc58 + CParticleCollectionFloatInput m_flRadiusStart; // 0xca8 // MPropertyFriendlyName "End Radius" - CParticleCollectionFloatInput m_flRadiusEnd; // 0xda8 + CParticleCollectionFloatInput m_flRadiusEnd; // 0xe00 // MPropertyFriendlyName "Dedicated Particle Pool Count" - CParticleCollectionFloatInput m_flDedicatedPool; // 0xef8 + CParticleCollectionFloatInput m_flDedicatedPool; // 0xf58 }; // Alignment: 5 -// Size: 0xe40 +// Size: 0xe90 class C_OP_SetControlPointToVectorExpression : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x1c0 + VectorExpressionType_t m_nExpression; // 0x1d0 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x1c4 + int32_t m_nOutputCP; // 0x1d4 // MPropertyFriendlyName "input 1" - CParticleCollectionVecInput m_vInput1; // 0x1c8 + CParticleCollectionVecInput m_vInput1; // 0x1d8 // MPropertyFriendlyName "input 2" - CParticleCollectionVecInput m_vInput2; // 0x800 + CParticleCollectionVecInput m_vInput2; // 0x830 // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xe38 + bool m_bNormalizedOutput; // 0xe88 }; // Alignment: 11 -// Size: 0x210 +// Size: 0x220 class C_OP_CalculateVectorAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start value" - Vector m_vStartValue; // 0x1b0 + Vector m_vStartValue; // 0x1c0 // MPropertyFriendlyName "input field 1" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput1; // 0x1bc + ParticleAttributeIndex_t m_nFieldInput1; // 0x1cc // MPropertyFriendlyName "input scale 1" - float m_flInputScale1; // 0x1c0 + float m_flInputScale1; // 0x1d0 // MPropertyFriendlyName "input field 2" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput2; // 0x1c4 + ParticleAttributeIndex_t m_nFieldInput2; // 0x1d4 // MPropertyFriendlyName "input scale 2" - float m_flInputScale2; // 0x1c8 + float m_flInputScale2; // 0x1d8 // MPropertyFriendlyName "control point input 1" - ControlPointReference_t m_nControlPointInput1; // 0x1cc + ControlPointReference_t m_nControlPointInput1; // 0x1dc // MPropertyFriendlyName "control point scale 1" - float m_flControlPointScale1; // 0x1e0 + float m_flControlPointScale1; // 0x1f0 // MPropertyFriendlyName "control point input 2" - ControlPointReference_t m_nControlPointInput2; // 0x1e4 + ControlPointReference_t m_nControlPointInput2; // 0x1f4 // MPropertyFriendlyName "control point scale 2" - float m_flControlPointScale2; // 0x1f8 + float m_flControlPointScale2; // 0x208 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc + ParticleAttributeIndex_t m_nFieldOutput; // 0x20c // MPropertyFriendlyName "final per component scale" - Vector m_vFinalOutputScale; // 0x200 -}; - -// Alignment: 1 -// Size: 0x78 -class CPulseCell_Inflow_GraphHook : public CPulseCell_Inflow_BaseEntrypoint -{ -public: - CUtlSymbolLarge m_HookName; // 0x70 + Vector m_vFinalOutputScale; // 0x210 }; // Alignment: 9 -// Size: 0xad8 +// Size: 0xb18 struct TextureGroup_t { public: @@ -30476,41 +28420,23 @@ public: 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; // 0x188 -}; - -// Alignment: 1 -// Size: 0x58 -class CPulseCell_Inflow_Yield : public CPulseCell_BaseYieldingInflow -{ -public: - CPulse_ResumePoint m_UnyieldResume; // 0x48 + TextureControls_t m_TextureControls; // 0x190 }; // Alignment: 4 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_Orient2DRelToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1b0 + float m_flRotOffset; // 0x1c0 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x1b4 + float m_flSpinStrength; // 0x1c4 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1b8 + int32_t m_nCP; // 0x1c8 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1bc -}; - -// Alignment: 0 -// Size: 0x1 -class CPulseTestFuncs_DerivedDomain -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 -public: - // No members available + ParticleAttributeIndex_t m_nFieldOutput; // 0x1cc }; // Alignment: 3 @@ -30557,14 +28483,6 @@ 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: 0x1d0 class C_INIT_RandomLifeTime : public CParticleFunctionInitializer @@ -30581,29 +28499,29 @@ public: }; // Alignment: 6 -// Size: 0x4e0 +// Size: 0x510 class C_OP_AttractToControlPoint : public CParticleFunctionForce { public: // MPropertyFriendlyName "component scale" // MVectorIsCoordinate - Vector m_vecComponentScale; // 0x1b0 + Vector m_vecComponentScale; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01bc[0x4]; // 0x1bc + [[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc public: // MPropertyFriendlyName "amount of force (or Max Force)" - CPerParticleFloatInput m_fForceAmount; // 0x1c0 + CPerParticleFloatInput m_fForceAmount; // 0x1e0 // MPropertyFriendlyName "falloff power" - float m_fFalloffPower; // 0x310 + float m_fFalloffPower; // 0x338 private: - [[maybe_unused]] uint8_t __pad0314[0x4]; // 0x314 + [[maybe_unused]] uint8_t __pad033c[0x4]; // 0x33c public: // MPropertyFriendlyName "input position transform" - CParticleTransformInput m_TransformInput; // 0x318 + CParticleTransformInput m_TransformInput; // 0x340 // MPropertyFriendlyName "Min Pullforce" - CPerParticleFloatInput m_fForceAmountMin; // 0x380 + CPerParticleFloatInput m_fForceAmountMin; // 0x3a8 // MPropertyFriendlyName "Apply Min Pullforce" - bool m_bApplyMinForce; // 0x4d0 + bool m_bApplyMinForce; // 0x500 }; // Alignment: 14 @@ -30642,64 +28560,75 @@ public: bool m_bUseOrigRadius; // 0x1ee }; -// Alignment: 4 -// Size: 0x1d0 +// Alignment: 5 +// Size: 0xe80 class C_OP_BoxConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "min coords" - Vector m_vecMin; // 0x1b0 + CParticleCollectionVecInput m_vecMin; // 0x1c0 // MPropertyFriendlyName "max coords" - Vector m_vecMax; // 0x1bc + CParticleCollectionVecInput m_vecMax; // 0x818 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1c8 + int32_t m_nCP; // 0xe70 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x1cc + bool m_bLocalSpace; // 0xe74 + // MPropertyFriendlyName "Take radius into account" + bool m_bAccountForRadius; // 0xe75 +}; + +// Alignment: 1 +// Size: 0x1e0 +class C_OP_SDFForce : public CParticleFunctionForce +{ +public: + // MPropertyFriendlyName "force scale" + float m_flForceScale; // 0x1d0 }; // Alignment: 5 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_SetParentControlPointsToChildCP : public CParticleFunctionPreEmission { +public: + // MPropertyFriendlyName "group ID to affect" + int32_t m_nChildGroupID; // 0x1d0 + // MPropertyFriendlyName "control point to set" + int32_t m_nChildControlPoint; // 0x1d4 + // MPropertyFriendlyName "# of children to set" + int32_t m_nNumControlPoints; // 0x1d8 + // MPropertyFriendlyName "first parent control point to set from" + int32_t m_nFirstSourcePoint; // 0x1dc + // MPropertyFriendlyName "set orientation" + bool m_bSetOrientation; // 0x1e0 +}; + +// Alignment: 8 +// Size: 0x1e0 +class C_OP_SetPerChildControlPointFromAttribute : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "group ID to affect" int32_t m_nChildGroupID; // 0x1c0 // MPropertyFriendlyName "control point to set" - int32_t m_nChildControlPoint; // 0x1c4 + int32_t m_nFirstControlPoint; // 0x1c4 // MPropertyFriendlyName "# of children to set" int32_t m_nNumControlPoints; // 0x1c8 - // MPropertyFriendlyName "first parent control point to set from" - int32_t m_nFirstSourcePoint; // 0x1cc - // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x1d0 -}; - -// Alignment: 8 -// Size: 0x1d0 -class C_OP_SetPerChildControlPointFromAttribute : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1b0 - // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1b4 - // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x1b8 // MPropertyFriendlyName "particle increment amount" - int32_t m_nParticleIncrement; // 0x1bc + int32_t m_nParticleIncrement; // 0x1cc // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x1c0 + int32_t m_nFirstSourcePoint; // 0x1d0 // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x1c4 + bool m_bNumBasedOnParticleCount; // 0x1d4 private: - [[maybe_unused]] uint8_t __pad01c5[0x3]; // 0x1c5 + [[maybe_unused]] uint8_t __pad01d5[0x3]; // 0x1d5 public: // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x1c8 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x1d8 // MPropertyFriendlyName "control point field for scalars" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x1cc + int32_t m_nCPField; // 0x1dc }; // Alignment: 5 @@ -30724,49 +28653,49 @@ public: }; // Alignment: 3 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_GlobalLight : public CParticleFunctionOperator { public: // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x1b0 + float m_flScale; // 0x1c0 // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x1b4 + bool m_bClampLowerRange; // 0x1c4 // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x1b5 + bool m_bClampUpperRange; // 0x1c5 }; // Alignment: 11 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_CPOffsetToPercentageBetweenCPs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1b0 + float m_flInputMin; // 0x1c0 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1b4 + float m_flInputMax; // 0x1c4 // MPropertyFriendlyName "percentage bias" - float m_flInputBias; // 0x1b8 + float m_flInputBias; // 0x1c8 // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x1bc + int32_t m_nStartCP; // 0x1cc // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x1c0 + int32_t m_nEndCP; // 0x1d0 // MPropertyFriendlyName "offset control point" - int32_t m_nOffsetCP; // 0x1c4 + int32_t m_nOffsetCP; // 0x1d4 // MPropertyFriendlyName "output control point" - int32_t m_nOuputCP; // 0x1c8 + int32_t m_nOuputCP; // 0x1d8 // MPropertyFriendlyName "input control point" - int32_t m_nInputCP; // 0x1cc + int32_t m_nInputCP; // 0x1dc // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x1d0 + bool m_bRadialCheck; // 0x1e0 // MPropertyFriendlyName "treat offset as scale of total distance" - bool m_bScaleOffset; // 0x1d1 + bool m_bScaleOffset; // 0x1e1 private: - [[maybe_unused]] uint8_t __pad01d2[0x2]; // 0x1d2 + [[maybe_unused]] uint8_t __pad01e2[0x2]; // 0x1e2 public: // MPropertyFriendlyName "offset amount" // MVectorIsCoordinate - Vector m_vecOffset; // 0x1d4 + Vector m_vecOffset; // 0x1e4 }; // Alignment: 0 @@ -30795,27 +28724,19 @@ public: // No members available }; -// Alignment: 0 -// Size: 0x108 -class CPulseGraphInstance_TestDomain_Derived : public CPulseGraphInstance_TestDomain -{ -public: - // No members available -}; - // Alignment: 3 -// Size: 0x1d0 +// Size: 0x980 class C_OP_BasicMovement : public CParticleFunctionOperator { public: // MPropertyFriendlyName "gravity" // MVectorIsCoordinate - Vector m_Gravity; // 0x1b0 + CParticleCollectionVecInput m_Gravity; // 0x1c0 // MPropertyFriendlyName "drag" // MPropertyAttributeRange "-1 1" - float m_fDrag; // 0x1bc + CParticleCollectionFloatInput m_fDrag; // 0x818 // MPropertyFriendlyName "max constraint passes" - int32_t m_nMaxConstraintPasses; // 0x1c0 + int32_t m_nMaxConstraintPasses; // 0x970 }; // Alignment: 0 @@ -30827,28 +28748,15 @@ public: }; // Alignment: 2 -// Size: 0x330 +// Size: 0x340 class C_OP_QuantizeFloat : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1b0 + CPerParticleFloatInput m_InputValue; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x300 -}; - -// 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 + ParticleAttributeIndex_t m_nOutputField; // 0x318 }; // Alignment: 11 @@ -30886,24 +28794,24 @@ public: }; // Alignment: 7 -// Size: 0x860 +// Size: 0x880 class C_INIT_MoveBetweenPoints : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "minimum speed" CPerParticleFloatInput m_flSpeedMin; // 0x1c0 // MPropertyFriendlyName "maximum speed" - CPerParticleFloatInput m_flSpeedMax; // 0x310 + CPerParticleFloatInput m_flSpeedMax; // 0x318 // MPropertyFriendlyName "end spread" - CPerParticleFloatInput m_flEndSpread; // 0x460 + CPerParticleFloatInput m_flEndSpread; // 0x470 // MPropertyFriendlyName "start offset" - CPerParticleFloatInput m_flStartOffset; // 0x5b0 + CPerParticleFloatInput m_flStartOffset; // 0x5c8 // MPropertyFriendlyName "end offset" - CPerParticleFloatInput m_flEndOffset; // 0x700 + CPerParticleFloatInput m_flEndOffset; // 0x720 // MPropertyFriendlyName "end control point" - int32_t m_nEndControlPointNumber; // 0x850 + int32_t m_nEndControlPointNumber; // 0x878 // MPropertyFriendlyName "bias lifetime by trail length" - bool m_bTrailBias; // 0x854 + bool m_bTrailBias; // 0x87c }; // Alignment: 1 @@ -30916,90 +28824,78 @@ public: }; // Alignment: 6 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_OscillateVectorSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate" // MVectorIsSometimesCoordinate - Vector m_Rate; // 0x1b0 + Vector m_Rate; // 0x1c0 // MPropertyFriendlyName "oscillation frequency" - Vector m_Frequency; // 0x1bc + Vector m_Frequency; // 0x1cc // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nField; // 0x1c8 + ParticleAttributeIndex_t m_nField; // 0x1d8 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x1cc + float m_flOscMult; // 0x1dc // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x1d0 + float m_flOscAdd; // 0x1e0 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x1d4 -}; - -// 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 + bool m_bOffset; // 0x1e4 }; // Alignment: 10 -// Size: 0x5d0 +// Size: 0x5f0 class C_OP_ContinuousEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "emission duration" CParticleCollectionFloatInput m_flEmissionDuration; // 0x1c0 // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x310 + CParticleCollectionFloatInput m_flStartTime; // 0x318 // MPropertyFriendlyName "emission rate" - CParticleCollectionFloatInput m_flEmitRate; // 0x460 + CParticleCollectionFloatInput m_flEmitRate; // 0x470 // MPropertyFriendlyName "scale emission to used control points" // MParticleMaxVersion - float m_flEmissionScale; // 0x5b0 + float m_flEmissionScale; // 0x5c8 // MPropertyFriendlyName "scale emission by parent particle count" - float m_flScalePerParentParticle; // 0x5b4 + float m_flScalePerParentParticle; // 0x5cc // MPropertyFriendlyName "emit particles for killed parent particles" - bool m_bInitFromKilledParentParticles; // 0x5b8 + bool m_bInitFromKilledParentParticles; // 0x5d0 private: - [[maybe_unused]] uint8_t __pad05b9[0x3]; // 0x5b9 + [[maybe_unused]] uint8_t __pad05d1[0x3]; // 0x5d1 public: // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x5bc + int32_t m_nSnapshotControlPoint; // 0x5d4 // MPropertyFriendlyName "limit per update" - int32_t m_nLimitPerUpdate; // 0x5c0 + int32_t m_nLimitPerUpdate; // 0x5d8 // MPropertyFriendlyName "force emit on first update" - bool m_bForceEmitOnFirstUpdate; // 0x5c4 + bool m_bForceEmitOnFirstUpdate; // 0x5dc // MPropertyFriendlyName "force emit on last update" - bool m_bForceEmitOnLastUpdate; // 0x5c5 + bool m_bForceEmitOnLastUpdate; // 0x5dd }; // Alignment: 3 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_RemapDistanceToLineSegmentToScalar : public C_OP_RemapDistanceToLineSegmentBase { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1d0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1e0 // MPropertyFriendlyName "output value at min distance" - float m_flMinOutputValue; // 0x1d4 + float m_flMinOutputValue; // 0x1e4 // MPropertyFriendlyName "output value at max distance" - float m_flMaxOutputValue; // 0x1d8 + float m_flMaxOutputValue; // 0x1e8 }; // Alignment: 1 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_EndCapTimedDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "decay time" - float m_flDecayTime; // 0x1b0 + float m_flDecayTime; // 0x1c0 }; // Alignment: 6 @@ -31024,73 +28920,75 @@ public: }; // Alignment: 1 -// Size: 0x300 +// Size: 0x320 class C_OP_DecayOffscreen : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Offscreen Time Before Decay" - CParticleCollectionFloatInput m_flOffscreenTime; // 0x1b0 + CParticleCollectionFloatInput m_flOffscreenTime; // 0x1c0 }; // Alignment: 13 -// Size: 0x860 +// Size: 0x890 class C_OP_DistanceBetweenTransforms : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x1b8 + CParticleTransformInput m_TransformStart; // 0x1c8 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x220 + CParticleTransformInput m_TransformEnd; // 0x230 // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x288 + CPerParticleFloatInput m_flInputMin; // 0x298 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x3d8 + CPerParticleFloatInput m_flInputMax; // 0x3f0 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x528 + CPerParticleFloatInput m_flOutputMin; // 0x548 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x678 + CPerParticleFloatInput m_flOutputMax; // 0x6a0 // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x7c8 + float m_flMaxTraceLength; // 0x7f8 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x7cc + float m_flLOSScale; // 0x7fc // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x7d0 + char m_CollisionGroupName[128]; // 0x800 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x850 + ParticleTraceSet_t m_nTraceSet; // 0x880 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x854 + bool m_bLOS; // 0x884 private: - [[maybe_unused]] uint8_t __pad0855[0x3]; // 0x855 + [[maybe_unused]] uint8_t __pad0885[0x3]; // 0x885 public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x858 + ParticleSetMethod_t m_nSetMethod; // 0x888 }; -// Alignment: 6 -// Size: 0x1d0 +// Alignment: 7 +// Size: 0x1e0 class C_OP_RemapScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1b8 + float m_flInputMin; // 0x1c8 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1bc + float m_flInputMax; // 0x1cc // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1c0 + float m_flOutputMin; // 0x1d0 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c4 + float m_flOutputMax; // 0x1d4 + // MPropertyFriendlyName "use old code" + bool m_bOldCode; // 0x1d8 }; // Alignment: 3 @@ -31107,7 +29005,7 @@ public: }; // Alignment: 11 -// Size: 0xcb0 +// Size: 0xcf0 class C_INIT_RingWave : public CParticleFunctionInitializer { public: @@ -31116,27 +29014,27 @@ public: // MPropertyFriendlyName "even distribution count" CParticleCollectionFloatInput m_flParticlesPerOrbit; // 0x228 // MPropertyFriendlyName "initial radius" - CPerParticleFloatInput m_flInitialRadius; // 0x378 + CPerParticleFloatInput m_flInitialRadius; // 0x380 // MPropertyFriendlyName "thickness" - CPerParticleFloatInput m_flThickness; // 0x4c8 + CPerParticleFloatInput m_flThickness; // 0x4d8 // MPropertyFriendlyName "min initial speed" - CPerParticleFloatInput m_flInitialSpeedMin; // 0x618 + CPerParticleFloatInput m_flInitialSpeedMin; // 0x630 // MPropertyFriendlyName "max initial speed" - CPerParticleFloatInput m_flInitialSpeedMax; // 0x768 + CPerParticleFloatInput m_flInitialSpeedMax; // 0x788 // MPropertyFriendlyName "roll" - CPerParticleFloatInput m_flRoll; // 0x8b8 + CPerParticleFloatInput m_flRoll; // 0x8e0 // MPropertyFriendlyName "pitch" - CPerParticleFloatInput m_flPitch; // 0xa08 + CPerParticleFloatInput m_flPitch; // 0xa38 // MPropertyFriendlyName "yaw" - CPerParticleFloatInput m_flYaw; // 0xb58 + CPerParticleFloatInput m_flYaw; // 0xb90 // MPropertyFriendlyName "even distribution" - bool m_bEvenDistribution; // 0xca8 + bool m_bEvenDistribution; // 0xce8 // MPropertyFriendlyName "XY velocity only" - bool m_bXYVelocityOnly; // 0xca9 + bool m_bXYVelocityOnly; // 0xce9 }; // Alignment: 9 -// Size: 0x9e0 +// Size: 0xa10 class C_INIT_SetHitboxToClosest : public CParticleFunctionInitializer { public: @@ -31147,34 +29045,34 @@ public: // MPropertyFriendlyName "model hitbox scale" CParticleCollectionVecInput m_vecHitBoxScale; // 0x1c8 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x800 + char m_HitboxSetName[128]; // 0x820 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x880 + bool m_bUseBones; // 0x8a0 // MPropertyFriendlyName "get closest point on closest hitbox" - bool m_bUseClosestPointOnHitbox; // 0x881 + bool m_bUseClosestPointOnHitbox; // 0x8a1 private: - [[maybe_unused]] uint8_t __pad0882[0x2]; // 0x882 + [[maybe_unused]] uint8_t __pad08a2[0x2]; // 0x8a2 public: // MPropertyFriendlyName "closest point test type" - ClosestPointTestType_t m_nTestType; // 0x884 + ClosestPointTestType_t m_nTestType; // 0x8a4 // MPropertyFriendlyName "hybrid ratio" - CParticleCollectionFloatInput m_flHybridRatio; // 0x888 + CParticleCollectionFloatInput m_flHybridRatio; // 0x8a8 // MPropertyFriendlyName "set initial position" - bool m_bUpdatePosition; // 0x9d8 + bool m_bUpdatePosition; // 0xa00 }; // Alignment: 3 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_RemapVelocityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1b4 + float m_flScale; // 0x1c4 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x1b8 + bool m_bNormalize; // 0x1c8 }; // Alignment: 4 @@ -31195,47 +29093,47 @@ public: }; // Alignment: 5 -// Size: 0x5c0 +// Size: 0x5f0 class C_OP_RepeatedTriggerChildGroup : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1c0 + int32_t m_nChildGroupID; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 + [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 public: // MPropertyFriendlyName "Within-Cluster Refire Time" - CParticleCollectionFloatInput m_flClusterRefireTime; // 0x1c8 + CParticleCollectionFloatInput m_flClusterRefireTime; // 0x1d8 // MPropertyFriendlyName "Within-Cluster Fire Count Before Cooldown" - CParticleCollectionFloatInput m_flClusterSize; // 0x318 + CParticleCollectionFloatInput m_flClusterSize; // 0x330 // MPropertyFriendlyName "Cluster Cooldown Time" - CParticleCollectionFloatInput m_flClusterCooldown; // 0x468 + CParticleCollectionFloatInput m_flClusterCooldown; // 0x488 // MPropertyFriendlyName "limit active children to parent particle count" - bool m_bLimitChildCount; // 0x5b8 + bool m_bLimitChildCount; // 0x5e0 }; // Alignment: 2 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_FadeInSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "proportional fade in time" - float m_flFadeInTime; // 0x1b0 + float m_flFadeInTime; // 0x1c0 // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 }; // Alignment: 2 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_NormalizeVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1b4 + float m_flScale; // 0x1c4 }; // Alignment: 4 @@ -31260,58 +29158,58 @@ public: }; // Alignment: 10 -// Size: 0xdd0 +// Size: 0xe20 class C_OP_RemapAverageHitboxSpeedtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x1c0 + int32_t m_nInControlPointNumber; // 0x1d0 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1c4 + int32_t m_nOutControlPointNumber; // 0x1d4 // MPropertyFriendlyName "Output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x1c8 + int32_t m_nField; // 0x1d8 private: - [[maybe_unused]] uint8_t __pad01cc[0x4]; // 0x1cc + [[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc public: // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_flInputMin; // 0x1d0 + CParticleCollectionFloatInput m_flInputMin; // 0x1e0 // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_flInputMax; // 0x320 + CParticleCollectionFloatInput m_flInputMax; // 0x338 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x470 + CParticleCollectionFloatInput m_flOutputMin; // 0x490 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5c0 + CParticleCollectionFloatInput m_flOutputMax; // 0x5e8 // MPropertyFriendlyName "intersection height CP" - int32_t m_nHeightControlPointNumber; // 0x710 + int32_t m_nHeightControlPointNumber; // 0x740 private: - [[maybe_unused]] uint8_t __pad0714[0x4]; // 0x714 + [[maybe_unused]] uint8_t __pad0744[0x4]; // 0x744 public: // MPropertyFriendlyName "comparison velocity" - CParticleCollectionVecInput m_vecComparisonVelocity; // 0x718 + CParticleCollectionVecInput m_vecComparisonVelocity; // 0x748 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0xd50 + char m_HitboxSetName[128]; // 0xda0 }; // Alignment: 5 -// Size: 0x310 +// Size: 0x330 class C_OP_ExternalGameImpulseForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x1b0 + CPerParticleFloatInput m_flForceScale; // 0x1d0 // MPropertyFriendlyName "rope shake" - bool m_bRopes; // 0x300 + bool m_bRopes; // 0x328 // MPropertyFriendlyName "limit rope impulses to Z" - bool m_bRopesZOnly; // 0x301 + bool m_bRopesZOnly; // 0x329 // MPropertyFriendlyName "explosions" - bool m_bExplosions; // 0x302 + bool m_bExplosions; // 0x32a // MPropertyFriendlyName "particle systems" - bool m_bParticles; // 0x303 + bool m_bParticles; // 0x32b }; -// Alignment: 48 -// Size: 0x2400 +// Alignment: 49 +// Size: 0x25f0 class C_OP_RenderModels : public CParticleFunctionRenderer { public: @@ -31365,146 +29263,144 @@ public: CPerParticleVecInput m_vecLocalOffset; // 0x230 // MPropertyFriendlyName "model local rotation (pitch/yaw/roll)" // MPropertySortPriority "750" - CPerParticleVecInput m_vecLocalRotation; // 0x868 + CPerParticleVecInput m_vecLocalRotation; // 0x888 // MPropertyStartGroup "Model Scale" // MPropertyFriendlyName "ignore radius" // MPropertySortPriority "700" - bool m_bIgnoreRadius; // 0xea0 + bool m_bIgnoreRadius; // 0xee0 private: - [[maybe_unused]] uint8_t __pad0ea1[0x3]; // 0xea1 + [[maybe_unused]] uint8_t __pad0ee1[0x3]; // 0xee1 public: // MPropertyFriendlyName "model scale CP" // MPropertySortPriority "700" - int32_t m_nModelScaleCP; // 0xea4 + int32_t m_nModelScaleCP; // 0xee4 // MPropertyFriendlyName "model component scale" // MPropertySortPriority "700" - CPerParticleVecInput m_vecComponentScale; // 0xea8 + CPerParticleVecInput m_vecComponentScale; // 0xee8 // MPropertyFriendlyName "apply scales in local model space" // MPropertySortPriority "700" - bool m_bLocalScale; // 0x14e0 + bool m_bLocalScale; // 0x1540 // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animated" // MPropertySortPriority "500" - bool m_bAnimated; // 0x14e1 + bool m_bAnimated; // 0x1541 private: - [[maybe_unused]] uint8_t __pad14e2[0x2]; // 0x14e2 + [[maybe_unused]] uint8_t __pad1542[0x2]; // 0x1542 public: // MPropertyFriendlyName "animation rate" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - float m_flAnimationRate; // 0x14e4 + float m_flAnimationRate; // 0x1544 // MPropertyFriendlyName "scale animation rate" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bScaleAnimationRate; // 0x14e8 + bool m_bScaleAnimationRate; // 0x1548 // MPropertyFriendlyName "force looping animations" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bForceLoopingAnimation; // 0x14e9 + bool m_bForceLoopingAnimation; // 0x1549 // MPropertyFriendlyName "reset animation frame on stop" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bResetAnimOnStop; // 0x14ea + bool m_bResetAnimOnStop; // 0x154a // MPropertyFriendlyName "set animation frame manually" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bManualAnimFrame; // 0x14eb + bool m_bManualAnimFrame; // 0x154b // MPropertyFriendlyName "animation rate scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - ParticleAttributeIndex_t m_nAnimationScaleField; // 0x14ec + ParticleAttributeIndex_t m_nAnimationScaleField; // 0x154c // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animation sequence field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" - ParticleAttributeIndex_t m_nAnimationField; // 0x14f0 + ParticleAttributeIndex_t m_nAnimationField; // 0x1550 // MPropertyFriendlyName "manual animation frame field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" // MPropertySuppressExpr "!(m_bAnimated && m_bManualAnimFrame)" - ParticleAttributeIndex_t m_nManualFrameField; // 0x14f4 + ParticleAttributeIndex_t m_nManualFrameField; // 0x1554 // MPropertyFriendlyName "activity override" // MPropertySuppressExpr "mod != dota" // MPropertySortPriority "500" - char m_ActivityName[256]; // 0x14f8 + char m_ActivityName[256]; // 0x1558 // MPropertyFriendlyName "sequence override" // MPropertySuppressExpr "mod == dota" // MPropertySortPriority "500" - char m_SequenceName[256]; // 0x15f8 + char m_SequenceName[256]; // 0x1658 // MPropertyFriendlyName "Enable Cloth Simulation" - bool m_bEnableClothSimulation; // 0x16f8 + bool m_bEnableClothSimulation; // 0x1758 private: - [[maybe_unused]] uint8_t __pad16f9[0x7]; // 0x16f9 + [[maybe_unused]] uint8_t __pad1759[0x7]; // 0x1759 public: // MPropertyStartGroup "Material" // MPropertyFriendlyName "material override" // MPropertySortPriority "600" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x1700 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x1760 // MPropertyFriendlyName "override translucent materials" // MPropertySortPriority "600" - bool m_bOverrideTranslucentMaterials; // 0x1708 + bool m_bOverrideTranslucentMaterials; // 0x1768 private: - [[maybe_unused]] uint8_t __pad1709[0x3]; // 0x1709 + [[maybe_unused]] uint8_t __pad1769[0x7]; // 0x1769 public: // MPropertyFriendlyName "skin number" // MPropertySortPriority "600" - int32_t m_nSkin; // 0x170c - // MPropertyFriendlyName "skin override CP" - // MPropertySortPriority "600" - int32_t m_nSkinCP; // 0x1710 -private: - [[maybe_unused]] uint8_t __pad1714[0x4]; // 0x1714 -public: + CPerParticleFloatInput m_nSkin; // 0x1770 // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf // MPropertySortPriority "600" - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x1718 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x18c8 // MPropertyStartGroup "Model Overrides" // MPropertyFriendlyName "input model" - CParticleModelInput m_modelInput; // 0x1730 + CParticleModelInput m_modelInput; // 0x18e0 // MPropertyFriendlyName "model LOD" - int32_t m_nLOD; // 0x1790 + int32_t m_nLOD; // 0x1940 // MPropertyFriendlyName "model override economy loadout slot type" - char m_EconSlotName[256]; // 0x1794 + char m_EconSlotName[256]; // 0x1944 // MPropertyFriendlyName "model override original model only (ignore shapeshift/hex/etc)" - bool m_bOriginalModel; // 0x1894 + bool m_bOriginalModel; // 0x1a44 // MPropertyFriendlyName "suppress tinting of the model" - bool m_bSuppressTint; // 0x1895 + bool m_bSuppressTint; // 0x1a45 // MPropertyFriendlyName "use raw mesh group (ignore bodygroup field and use submodel field as raw meshgroup)" - bool m_bUseRawMeshGroup; // 0x1896 + bool m_bUseRawMeshGroup; // 0x1a46 // MPropertyFriendlyName "disable shadows" - bool m_bDisableShadows; // 0x1897 + bool m_bDisableShadows; // 0x1a47 + // MPropertyFriendlyName "accept decals" + bool m_bAcceptsDecals; // 0x1a48 // MPropertyFriendlyName "forcedrawinterlevedwithsiblings" - bool m_bForceDrawInterlevedWithSiblings; // 0x1898 + bool m_bForceDrawInterlevedWithSiblings; // 0x1a49 + // MPropertyFriendlyName "do not draw in particle pass" + bool m_bDoNotDrawInParticlePass; // 0x1a4a // MPropertyFriendlyName "render attribute" - char m_szRenderAttribute[260]; // 0x1899 + char m_szRenderAttribute[260]; // 0x1a4b private: - [[maybe_unused]] uint8_t __pad199d[0x3]; // 0x199d + [[maybe_unused]] uint8_t __pad1b4f[0x1]; // 0x1b4f public: // MPropertyStartGroup "+Renderer Modifiers" // MPropertyFriendlyName "Radius Scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x19a0 + CParticleCollectionFloatInput m_flRadiusScale; // 0x1b50 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x1af0 + CParticleCollectionFloatInput m_flAlphaScale; // 0x1ca8 // MPropertyFriendlyName "rotation roll scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRollScale; // 0x1c40 + CParticleCollectionFloatInput m_flRollScale; // 0x1e00 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x1d90 + ParticleAttributeIndex_t m_nAlpha2Field; // 0x1f58 private: - [[maybe_unused]] uint8_t __pad1d94[0x4]; // 0x1d94 + [[maybe_unused]] uint8_t __pad1f5c[0x4]; // 0x1f5c public: // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x1d98 + CParticleCollectionVecInput m_vecColorScale; // 0x1f60 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x23d0 + ParticleColorBlendType_t m_nColorBlendType; // 0x25b8 }; // Alignment: 3 @@ -31523,116 +29419,108 @@ public: }; // Alignment: 6 -// Size: 0x320 +// Size: 0x330 class C_OP_DecayMaintainCount : public CParticleFunctionOperator { public: // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x1b0 + int32_t m_nParticlesToMaintain; // 0x1c0 // MPropertyFriendlyName "decay delay" - float m_flDecayDelay; // 0x1b4 + float m_flDecayDelay; // 0x1c4 // MPropertyFriendlyName "snapshot control point for count" - int32_t m_nSnapshotControlPoint; // 0x1b8 + int32_t m_nSnapshotControlPoint; // 0x1c8 // MPropertyFriendlyName "decay on lifespan" - bool m_bLifespanDecay; // 0x1bc + bool m_bLifespanDecay; // 0x1cc private: - [[maybe_unused]] uint8_t __pad01bd[0x3]; // 0x1bd + [[maybe_unused]] uint8_t __pad01cd[0x3]; // 0x1cd public: // MPropertyFriendlyName "total count scale" - CParticleCollectionFloatInput m_flScale; // 0x1c0 + CParticleCollectionFloatInput m_flScale; // 0x1d0 // MPropertyFriendlyName "kill newest instead of oldest" - bool m_bKillNewest; // 0x310 + bool m_bKillNewest; // 0x328 }; // Alignment: 3 -// Size: 0x260 +// Size: 0x270 class C_OP_SetControlPointPositionToTimeOfDayValue : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1c0 + int32_t m_nControlPointNumber; // 0x1d0 // MPropertyFriendlyName "time-of-day parameter" - char m_pszTimeOfDayParameter[128]; // 0x1c4 + char m_pszTimeOfDayParameter[128]; // 0x1d4 // MPropertyFriendlyName "default value" - Vector m_vecDefaultValue; // 0x244 -}; - -// Alignment: 1 -// Size: 0x4 -struct CPulseCell_Outflow_CycleOrdered__InstanceState_t -{ -public: - int32_t m_nNextIndex; // 0x0 + Vector m_vecDefaultValue; // 0x254 }; // Alignment: 20 -// Size: 0x3840 +// Size: 0x3990 class C_OP_RenderTrails : public CBaseTrailRenderer { public: // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "enable fading and clamping" // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x2650 + bool m_bEnableFadingAndClamping; // 0x2740 private: - [[maybe_unused]] uint8_t __pad2651[0x3]; // 0x2651 + [[maybe_unused]] uint8_t __pad2741[0x3]; // 0x2741 public: // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x2654 + float m_flStartFadeDot; // 0x2744 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x2658 + float m_flEndFadeDot; // 0x2748 // MPropertyStartGroup "+Trail Length" // MPropertyFriendlyName "Anchor point source" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nPrevPntSource; // 0x265c + ParticleAttributeIndex_t m_nPrevPntSource; // 0x274c // MPropertyFriendlyName "max length" // MPropertySortPriority "800" - float m_flMaxLength; // 0x2660 + float m_flMaxLength; // 0x2750 // MPropertyFriendlyName "min length" // MPropertySortPriority "800" - float m_flMinLength; // 0x2664 + float m_flMinLength; // 0x2754 // MPropertyFriendlyName "ignore delta time" // MPropertySortPriority "800" - bool m_bIgnoreDT; // 0x2668 + bool m_bIgnoreDT; // 0x2758 private: - [[maybe_unused]] uint8_t __pad2669[0x3]; // 0x2669 + [[maybe_unused]] uint8_t __pad2759[0x3]; // 0x2759 public: // MPropertyFriendlyName "constrain radius to no more than this times the length" // MPropertySortPriority "800" - float m_flConstrainRadiusToLengthRatio; // 0x266c + float m_flConstrainRadiusToLengthRatio; // 0x275c // MPropertyFriendlyName "amount to scale trail length by" - float m_flLengthScale; // 0x2670 + float m_flLengthScale; // 0x2760 // MPropertyFriendlyName "how long before a trail grows to its full length" - float m_flLengthFadeInTime; // 0x2674 + float m_flLengthFadeInTime; // 0x2764 // MPropertyStartGroup "Trail Head & Tail" // MPropertyFriendlyName "head taper scale" // MPropertySortPriority "800" - CPerParticleFloatInput m_flRadiusHeadTaper; // 0x2678 + CPerParticleFloatInput m_flRadiusHeadTaper; // 0x2768 // MPropertyFriendlyName "head color scale" - CParticleCollectionVecInput m_vecHeadColorScale; // 0x27c8 + CParticleCollectionVecInput m_vecHeadColorScale; // 0x28c0 // MPropertyFriendlyName "head alpha scale" - CPerParticleFloatInput m_flHeadAlphaScale; // 0x2e00 + CPerParticleFloatInput m_flHeadAlphaScale; // 0x2f18 // MPropertyFriendlyName "tail taper scale" - CPerParticleFloatInput m_flRadiusTaper; // 0x2f50 + CPerParticleFloatInput m_flRadiusTaper; // 0x3070 // MPropertyFriendlyName "tail color scale" - CParticleCollectionVecInput m_vecTailColorScale; // 0x30a0 + CParticleCollectionVecInput m_vecTailColorScale; // 0x31c8 // MPropertyFriendlyName "tail alpha scale" - CPerParticleFloatInput m_flTailAlphaScale; // 0x36d8 + CPerParticleFloatInput m_flTailAlphaScale; // 0x3820 // MPropertyStartGroup "Trail UV Controls" // MPropertyFriendlyName "texture UV horizontal Scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nHorizCropField; // 0x3828 + ParticleAttributeIndex_t m_nHorizCropField; // 0x3978 // MPropertyFriendlyName "texture UV vertical Scale field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nVertCropField; // 0x382c + ParticleAttributeIndex_t m_nVertCropField; // 0x397c // MPropertyFriendlyName "Trail forward shift (fraction)" - float m_flForwardShift; // 0x3830 + float m_flForwardShift; // 0x3980 // MPropertyFriendlyName "Flip U or V texcoords if pitch or yaw go over PI" - bool m_bFlipUVBasedOnPitchYaw; // 0x3834 + bool m_bFlipUVBasedOnPitchYaw; // 0x3984 }; // Alignment: 0 @@ -31643,72 +29531,46 @@ 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: 0x710 +// Size: 0x740 class C_OP_RemapDotProductToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x1c0 + int32_t m_nInputCP1; // 0x1d0 // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x1c4 + int32_t m_nInputCP2; // 0x1d4 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x1c8 + int32_t m_nOutputCP; // 0x1d8 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x1cc + int32_t m_nOutVectorField; // 0x1dc // MPropertyFriendlyName "input minimum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMin; // 0x1d0 + CParticleCollectionFloatInput m_flInputMin; // 0x1e0 // MPropertyFriendlyName "input maximum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMax; // 0x320 + CParticleCollectionFloatInput m_flInputMax; // 0x338 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x470 + CParticleCollectionFloatInput m_flOutputMin; // 0x490 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5c0 + CParticleCollectionFloatInput m_flOutputMax; // 0x5e8 }; // Alignment: 3 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_OrientTo2dDirection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1b0 + float m_flRotOffset; // 0x1c0 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x1b4 + float m_flSpinStrength; // 0x1c4 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b8 -}; - -// 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 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c8 }; // Alignment: 0 -// Size: 0x1b0 +// Size: 0x1c0 class C_OP_SpinUpdate : public CSpinUpdateBase { public: @@ -31716,229 +29578,229 @@ public: }; // Alignment: 27 -// Size: 0x2a80 +// Size: 0x2b90 class C_OP_RenderSprites : public CBaseRendererSource2 { public: // MPropertyStartGroup "Animation" // MPropertyFriendlyName "sequence id override" // MPropertySortPriority "500" - CParticleCollectionRendererFloatInput m_nSequenceOverride; // 0x2390 + CParticleCollectionRendererFloatInput m_nSequenceOverride; // 0x2470 // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x24e0 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x25c8 // 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; // 0x24e4 + int32_t m_nOrientationControlPoint; // 0x25cc // 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; // 0x24e8 + bool m_bUseYawWithNormalAligned; // 0x25d0 private: - [[maybe_unused]] uint8_t __pad24e9[0x3]; // 0x24e9 + [[maybe_unused]] uint8_t __pad25d1[0x3]; // 0x25d1 public: // MPropertyStartGroup "Fading and culling" // MPropertyFriendlyName "minimum visual screen size" // MPropertySortPriority "1000" - float m_flMinSize; // 0x24ec + float m_flMinSize; // 0x25d4 // MPropertyFriendlyName "maximum visual screen size" // MPropertySortPriority "1000" - float m_flMaxSize; // 0x24f0 + float m_flMaxSize; // 0x25d8 // MPropertyFriendlyName "Factor to map size adjustment to alpha" // MPropertySortPriority "1000" - float m_flAlphaAdjustWithSizeAdjust; // 0x24f4 + float m_flAlphaAdjustWithSizeAdjust; // 0x25dc // MPropertyFriendlyName "screen size to start fading" // MPropertySortPriority "1000" - CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x24f8 + CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x25e0 // MPropertyFriendlyName "screen size to fade away" // MPropertySortPriority "1000" - CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x2648 + CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x2738 // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x2798 + float m_flStartFadeDot; // 0x2890 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x279c + float m_flEndFadeDot; // 0x2894 // MPropertyStartGroup "Distance to alpha coding" // MPropertyFriendlyName "distance alpha" // MPropertySortPriority "0" - bool m_bDistanceAlpha; // 0x27a0 + bool m_bDistanceAlpha; // 0x2898 // MPropertyFriendlyName "use soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - bool m_bSoftEdges; // 0x27a1 + bool m_bSoftEdges; // 0x2899 private: - [[maybe_unused]] uint8_t __pad27a2[0x2]; // 0x27a2 + [[maybe_unused]] uint8_t __pad289a[0x2]; // 0x289a public: // MPropertyFriendlyName "start value for soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessStart; // 0x27a4 + float m_flEdgeSoftnessStart; // 0x289c // MPropertyFriendlyName "end value for soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessEnd; // 0x27a8 + float m_flEdgeSoftnessEnd; // 0x28a0 // MPropertyStartGroup "Outlining" // MPropertyFriendlyName "enable particle outlining" // MPropertySortPriority "0" - bool m_bOutline; // 0x27ac + bool m_bOutline; // 0x28a4 // MPropertyFriendlyName "outline color" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - Color m_OutlineColor; // 0x27ad + Color m_OutlineColor; // 0x28a5 private: - [[maybe_unused]] uint8_t __pad27b1[0x3]; // 0x27b1 + [[maybe_unused]] uint8_t __pad28a9[0x3]; // 0x28a9 public: // MPropertyFriendlyName "outline alpha" // MPropertyAttributeRange "0 255" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - int32_t m_nOutlineAlpha; // 0x27b4 + int32_t m_nOutlineAlpha; // 0x28ac // MPropertyFriendlyName "outline start 0" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart0; // 0x27b8 + float m_flOutlineStart0; // 0x28b0 // MPropertyFriendlyName "outline start 1" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart1; // 0x27bc + float m_flOutlineStart1; // 0x28b4 // MPropertyFriendlyName "outline end 0" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd0; // 0x27c0 + float m_flOutlineEnd0; // 0x28b8 // MPropertyFriendlyName "outline end 1" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd1; // 0x27c4 + float m_flOutlineEnd1; // 0x28bc // MPropertyStartGroup "Lighting and Shadows" // MPropertyFriendlyName "lighting mode" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx" - ParticleLightingQuality_t m_nLightingMode; // 0x27c8 + ParticleLightingQuality_t m_nLightingMode; // 0x28c0 private: - [[maybe_unused]] uint8_t __pad27cc[0x4]; // 0x27cc + [[maybe_unused]] uint8_t __pad28c4[0x4]; // 0x28c4 public: // MPropertyFriendlyName "vertex lighting tessellation (0-5)" // MPropertyAttributeRange "0 5" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx || m_nLightingMode != PARTICLE_LIGHTING_PER_VERTEX" - CParticleCollectionRendererFloatInput m_flLightingTessellation; // 0x27d0 + CParticleCollectionRendererFloatInput m_flLightingTessellation; // 0x28c8 // MPropertyFriendlyName "lighting directionality" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx" - CParticleCollectionRendererFloatInput m_flLightingDirectionality; // 0x2920 + CParticleCollectionRendererFloatInput m_flLightingDirectionality; // 0x2a20 // MPropertyFriendlyName "Particle Shadows" // MPropertySortPriority "400" - bool m_bParticleShadows; // 0x2a70 + bool m_bParticleShadows; // 0x2b78 private: - [[maybe_unused]] uint8_t __pad2a71[0x3]; // 0x2a71 + [[maybe_unused]] uint8_t __pad2b79[0x3]; // 0x2b79 public: // MPropertyFriendlyName "Shadow Density" // MPropertySortPriority "400" // MPropertySuppressExpr "!m_bParticleShadows" - float m_flShadowDensity; // 0x2a74 + float m_flShadowDensity; // 0x2b7c }; // Alignment: 5 -// Size: 0x810 +// Size: 0x840 class C_OP_RemapExternalWindToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point to sample wind" - int32_t m_nCP; // 0x1c0 + int32_t m_nCP; // 0x1d0 // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x1c4 + int32_t m_nCPOutput; // 0x1d4 // MPropertyFriendlyName "wind scale" - CParticleCollectionVecInput m_vecScale; // 0x1c8 + CParticleCollectionVecInput m_vecScale; // 0x1d8 // MPropertyFriendlyName "set magnitude instead of vector" - bool m_bSetMagnitude; // 0x800 + bool m_bSetMagnitude; // 0x830 private: - [[maybe_unused]] uint8_t __pad0801[0x3]; // 0x801 + [[maybe_unused]] uint8_t __pad0831[0x3]; // 0x831 public: // MPropertyFriendlyName "magnitude output component" // MPropertyAttributeChoiceName "vector_component" // MPropertySuppressExpr "!m_bSetMagnitude" - int32_t m_nOutVectorField; // 0x804 + int32_t m_nOutVectorField; // 0x834 }; // Alignment: 11 -// Size: 0x1f0 +// Size: 0x200 class C_OP_TeleportBeam : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Position Control Point" - int32_t m_nCPPosition; // 0x1b0 + int32_t m_nCPPosition; // 0x1c0 // MPropertyFriendlyName "Velocity Control Point" - int32_t m_nCPVelocity; // 0x1b4 + int32_t m_nCPVelocity; // 0x1c4 // MPropertyFriendlyName "Misc Control Point" - int32_t m_nCPMisc; // 0x1b8 + int32_t m_nCPMisc; // 0x1c8 // MPropertyFriendlyName "Color Control Point" - int32_t m_nCPColor; // 0x1bc + int32_t m_nCPColor; // 0x1cc // MPropertyFriendlyName "Invalid Color Control Point" - int32_t m_nCPInvalidColor; // 0x1c0 + int32_t m_nCPInvalidColor; // 0x1d0 // MPropertyFriendlyName "Extra Arc Data Point" - int32_t m_nCPExtraArcData; // 0x1c4 + int32_t m_nCPExtraArcData; // 0x1d4 // MPropertyFriendlyName "Gravity" - Vector m_vGravity; // 0x1c8 + Vector m_vGravity; // 0x1d8 // MPropertyFriendlyName "Arc Duration Maximum" - float m_flArcMaxDuration; // 0x1d4 + float m_flArcMaxDuration; // 0x1e4 // MPropertyFriendlyName "Segment Break" - float m_flSegmentBreak; // 0x1d8 + float m_flSegmentBreak; // 0x1e8 // MPropertyFriendlyName "Arc Speed" - float m_flArcSpeed; // 0x1dc + float m_flArcSpeed; // 0x1ec // MPropertyFriendlyName "Alpha" - float m_flAlpha; // 0x1e0 + float m_flAlpha; // 0x1f0 }; // Alignment: 4 -// Size: 0x1d0 +// Size: 0x1f0 class C_OP_TwistAroundAxis : public CParticleFunctionForce { public: // MPropertyFriendlyName "amount of force" - float m_fForceAmount; // 0x1b0 + float m_fForceAmount; // 0x1d0 // MPropertyFriendlyName "twist axis" // MVectorIsCoordinate - Vector m_TwistAxis; // 0x1b4 + Vector m_TwistAxis; // 0x1d4 // MPropertyFriendlyName "object local space axis 0/1" - bool m_bLocalSpace; // 0x1c0 + bool m_bLocalSpace; // 0x1e0 private: - [[maybe_unused]] uint8_t __pad01c1[0x3]; // 0x1c1 + [[maybe_unused]] uint8_t __pad01e1[0x3]; // 0x1e1 public: // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x1c4 + int32_t m_nControlPointNumber; // 0x1e4 }; // Alignment: 7 -// Size: 0x880 +// Size: 0x8b0 class C_OP_ModelDampenMovement : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1b4 + bool m_bBoundBox; // 0x1c4 // MPropertyFriendlyName "dampen outside instead of inside" - bool m_bOutside; // 0x1b5 + bool m_bOutside; // 0x1c5 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1b6 + bool m_bUseBones; // 0x1c6 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1b7 + char m_HitboxSetName[128]; // 0x1c7 private: - [[maybe_unused]] uint8_t __pad0237[0x1]; // 0x237 + [[maybe_unused]] uint8_t __pad0247[0x1]; // 0x247 public: // MPropertyFriendlyName "test position offset" // MVectorIsCoordinate - CPerParticleVecInput m_vecPosOffset; // 0x238 + CPerParticleVecInput m_vecPosOffset; // 0x248 // MPropertyFriendlyName "drag" // MPropertyAttributeRange "-1 1" - float m_fDrag; // 0x870 + float m_fDrag; // 0x8a0 }; // Alignment: 7 -// Size: 0x10f0 +// Size: 0x1140 class C_INIT_VelocityRandom : public CParticleFunctionInitializer { public: @@ -31950,47 +29812,39 @@ public: // MPropertyFriendlyName "random speed min" CPerParticleFloatInput m_fSpeedMin; // 0x1c8 // MPropertyFriendlyName "random speed max" - CPerParticleFloatInput m_fSpeedMax; // 0x318 + CPerParticleFloatInput m_fSpeedMax; // 0x320 // MPropertyFriendlyName "speed in local coordinate system min" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x468 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x478 // MPropertyFriendlyName "speed in local coordinate system max" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xaa0 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xad0 // MPropertyFriendlyName "Ignore delta time (RenderTrails)" - bool m_bIgnoreDT; // 0x10d8 + bool m_bIgnoreDT; // 0x1128 private: - [[maybe_unused]] uint8_t __pad10d9[0x3]; // 0x10d9 + [[maybe_unused]] uint8_t __pad1129[0x3]; // 0x1129 public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x10dc + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x112c }; // Alignment: 4 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_PlaneCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point for point on plane" - int32_t m_nPlaneControlPoint; // 0x1b0 + int32_t m_nPlaneControlPoint; // 0x1c0 // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - Vector m_vecPlaneDirection; // 0x1b4 + Vector m_vecPlaneDirection; // 0x1c4 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x1c0 + bool m_bLocalSpace; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01c1[0x3]; // 0x1c1 + [[maybe_unused]] uint8_t __pad01d1[0x3]; // 0x1d1 public: // MPropertyFriendlyName "cull plane offset" - float m_flPlaneOffset; // 0x1c4 -}; - -// Alignment: 1 -// Size: 0x4 -struct PulseRuntimeEntrypointIndex_t -{ -public: - int32_t m_Value; // 0x0 + float m_flPlaneOffset; // 0x1d4 }; // Alignment: 0 @@ -32002,63 +29856,31 @@ public: }; // Alignment: 8 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_RemapScalarOnceTimed : public CParticleFunctionOperator { public: // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x1b0 + bool m_bProportional; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b1[0x3]; // 0x1b1 + [[maybe_unused]] uint8_t __pad01c1[0x3]; // 0x1c1 public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldInput; // 0x1c4 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c8 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1bc + float m_flInputMin; // 0x1cc // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1c0 + float m_flInputMax; // 0x1d0 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1c4 + float m_flOutputMin; // 0x1d4 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c8 + float m_flOutputMax; // 0x1d8 // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x1cc -}; - -// 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 + float m_flRemapTime; // 0x1dc }; // Alignment: 5 @@ -32082,7 +29904,7 @@ public: }; // Alignment: 10 -// Size: 0x18e0 +// Size: 0x1960 class C_INIT_InitialVelocityNoise : public CParticleFunctionInitializer { public: @@ -32096,20 +29918,20 @@ public: // MVectorIsCoordinate CPerParticleVecInput m_vecOffsetLoc; // 0x1d8 // MPropertyFriendlyName "time coordinate offset" - CPerParticleFloatInput m_flOffset; // 0x810 + CPerParticleFloatInput m_flOffset; // 0x830 // MPropertyFriendlyName "output minimum" - CPerParticleVecInput m_vecOutputMin; // 0x960 + CPerParticleVecInput m_vecOutputMin; // 0x988 // MPropertyFriendlyName "output maximum" - CPerParticleVecInput m_vecOutputMax; // 0xf98 + CPerParticleVecInput m_vecOutputMax; // 0xfe0 // MPropertyFriendlyName "time noise coordinate scale" - CPerParticleFloatInput m_flNoiseScale; // 0x15d0 + CPerParticleFloatInput m_flNoiseScale; // 0x1638 // MPropertyFriendlyName "spatial noise coordinate scale" - CPerParticleFloatInput m_flNoiseScaleLoc; // 0x1720 + CPerParticleFloatInput m_flNoiseScaleLoc; // 0x1790 // MPropertyFriendlyName "input local space velocity (optional)" // MParticleInputOptional - CParticleTransformInput m_TransformInput; // 0x1870 + CParticleTransformInput m_TransformInput; // 0x18e8 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDt; // 0x18d8 + bool m_bIgnoreDt; // 0x1950 }; // Alignment: 4 @@ -32131,21 +29953,21 @@ public: }; // Alignment: 5 -// Size: 0x470 +// Size: 0x490 class C_OP_ConstrainDistance : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - CParticleCollectionFloatInput m_fMinDistance; // 0x1b0 + CParticleCollectionFloatInput m_fMinDistance; // 0x1c0 // MPropertyFriendlyName "maximum distance" - CParticleCollectionFloatInput m_fMaxDistance; // 0x300 + CParticleCollectionFloatInput m_fMaxDistance; // 0x318 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x450 + int32_t m_nControlPointNumber; // 0x470 // MPropertyFriendlyName "offset of center" // MVectorIsCoordinate - Vector m_CenterOffset; // 0x454 + Vector m_CenterOffset; // 0x474 // MPropertyFriendlyName "global center point" - bool m_bGlobalCenter; // 0x460 + bool m_bGlobalCenter; // 0x480 }; // Alignment: 8 @@ -32221,21 +30043,21 @@ public: }; // Alignment: 5 -// Size: 0x1f0 +// Size: 0x200 class C_OP_OscillateScalarSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate" - float m_Rate; // 0x1b0 + float m_Rate; // 0x1c0 // MPropertyFriendlyName "oscillation frequency" - float m_Frequency; // 0x1b4 + float m_Frequency; // 0x1c4 // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1b8 + ParticleAttributeIndex_t m_nField; // 0x1c8 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x1bc + float m_flOscMult; // 0x1cc // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x1c0 + float m_flOscAdd; // 0x1d0 }; // Alignment: 2 @@ -32248,66 +30070,83 @@ public: }; // Alignment: 2 -// Size: 0x310 +// Size: 0x320 class C_OP_PointVectorAtNextParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1b8 + CPerParticleFloatInput m_flInterpolation; // 0x1c8 }; // Alignment: 4 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_RemapCPVelocityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1b0 + int32_t m_nControlPoint; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1b8 + float m_flScale; // 0x1c8 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x1bc + bool m_bNormalize; // 0x1cc }; -// Alignment: 0 -// Size: 0x48 -class CPulseCell_Step_TestDomainDestroyFakeEntity : public CPulseCell_BaseFlow +// Alignment: 8 +// Size: 0x4b0 +class C_OP_RemapSDFDistanceToVectorAttribute : public CParticleFunctionOperator { public: - // No members available + // MPropertyFriendlyName "Output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nVectorFieldOutput; // 0x1c0 + // MPropertyFriendlyName "Input field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nVectorFieldInput; // 0x1c4 + // MPropertyFriendlyName "Minimum distance" + CParticleCollectionFloatInput m_flMinDistance; // 0x1c8 + // MPropertyFriendlyName "Maximum distance" + CParticleCollectionFloatInput m_flMaxDistance; // 0x320 + // MPropertyFriendlyName "Value for distmax" + Vector m_vValueAboveMax; // 0x49c }; // Alignment: 7 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_SetControlPointsToParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1b0 + int32_t m_nChildGroupID; // 0x1c0 // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x1b4 + int32_t m_nFirstControlPoint; // 0x1c4 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x1b8 + int32_t m_nNumControlPoints; // 0x1c8 // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x1bc + int32_t m_nFirstSourcePoint; // 0x1cc // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x1c0 + bool m_bSetOrientation; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01c1[0x3]; // 0x1c1 + [[maybe_unused]] uint8_t __pad01d1[0x3]; // 0x1d1 public: // MPropertyFriendlyName "orientation style" - ParticleOrientationSetMode_t m_nOrientationMode; // 0x1c4 + ParticleOrientationSetMode_t m_nOrientationMode; // 0x1d4 // MPropertyFriendlyName "set parent" - ParticleParentSetMode_t m_nSetParent; // 0x1c8 + ParticleParentSetMode_t m_nSetParent; // 0x1d8 }; // Alignment: 10 @@ -32421,213 +30260,207 @@ public: float m_flSFXSUseModelUVs; // 0x208 }; -// Alignment: 0 -// Size: 0x48 -class CPulseCell_Val_TestDomainFindEntityByName : public CPulseCell_BaseValue -{ -public: - // No members available -}; - // Alignment: 30 -// Size: 0x27f0 +// Size: 0x28e0 class C_OP_RenderRopes : public CBaseRendererSource2 { public: // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "enable fading and clamping" // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x2390 + bool m_bEnableFadingAndClamping; // 0x2470 private: - [[maybe_unused]] uint8_t __pad2391[0x3]; // 0x2391 + [[maybe_unused]] uint8_t __pad2471[0x3]; // 0x2471 public: // MPropertyFriendlyName "minimum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMinSize; // 0x2394 + float m_flMinSize; // 0x2474 // MPropertyFriendlyName "maximum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMaxSize; // 0x2398 + float m_flMaxSize; // 0x2478 // MPropertyFriendlyName "start fade screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flStartFadeSize; // 0x239c + float m_flStartFadeSize; // 0x247c // MPropertyFriendlyName "end fade and cull screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flEndFadeSize; // 0x23a0 + float m_flEndFadeSize; // 0x2480 // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x23a4 + float m_flStartFadeDot; // 0x2484 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x23a8 + float m_flEndFadeDot; // 0x2488 // MPropertyStartGroup "Rope Tesselation" // MPropertyFriendlyName "amount to taper the width of the trail end by" - float m_flRadiusTaper; // 0x23ac + float m_flRadiusTaper; // 0x248c // MPropertyFriendlyName "minium number of quads per render segment" // MPropertySortPriority "850" - int32_t m_nMinTesselation; // 0x23b0 + int32_t m_nMinTesselation; // 0x2490 // MPropertyFriendlyName "maximum number of quads per render segment" - int32_t m_nMaxTesselation; // 0x23b4 + int32_t m_nMaxTesselation; // 0x2494 // MPropertyFriendlyName "tesselation resolution scale factor" - float m_flTessScale; // 0x23b8 + float m_flTessScale; // 0x2498 private: - [[maybe_unused]] uint8_t __pad23bc[0x4]; // 0x23bc + [[maybe_unused]] uint8_t __pad249c[0x4]; // 0x249c public: // MPropertyStartGroup "+Rope Global UV Controls" // MPropertyFriendlyName "global texture V World Size" // MPropertySortPriority "800" - CParticleCollectionRendererFloatInput m_flTextureVWorldSize; // 0x23c0 + CParticleCollectionRendererFloatInput m_flTextureVWorldSize; // 0x24a0 // MPropertyFriendlyName "global texture V Scroll Rate" - CParticleCollectionRendererFloatInput m_flTextureVScrollRate; // 0x2510 + CParticleCollectionRendererFloatInput m_flTextureVScrollRate; // 0x25f8 // MPropertyFriendlyName "global texture V Offset" - CParticleCollectionRendererFloatInput m_flTextureVOffset; // 0x2660 + CParticleCollectionRendererFloatInput m_flTextureVOffset; // 0x2750 // MPropertyFriendlyName "global texture V Params CP" - int32_t m_nTextureVParamsCP; // 0x27b0 + int32_t m_nTextureVParamsCP; // 0x28a8 // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" - bool m_bClampV; // 0x27b4 + bool m_bClampV; // 0x28ac private: - [[maybe_unused]] uint8_t __pad27b5[0x3]; // 0x27b5 + [[maybe_unused]] uint8_t __pad28ad[0x3]; // 0x28ad public: // MPropertyStartGroup "Rope Global UV Controls/CP Scaling" // MPropertyFriendlyName "scale CP start" - int32_t m_nScaleCP1; // 0x27b8 + int32_t m_nScaleCP1; // 0x28b0 // MPropertyFriendlyName "scale CP end" - int32_t m_nScaleCP2; // 0x27bc + int32_t m_nScaleCP2; // 0x28b4 // MPropertyFriendlyName "scale V world size by CP distance" - float m_flScaleVSizeByControlPointDistance; // 0x27c0 + float m_flScaleVSizeByControlPointDistance; // 0x28b8 // MPropertyFriendlyName "scale V scroll rate by CP distance" - float m_flScaleVScrollByControlPointDistance; // 0x27c4 + float m_flScaleVScrollByControlPointDistance; // 0x28bc // MPropertyFriendlyName "scale V offset by CP distance" - float m_flScaleVOffsetByControlPointDistance; // 0x27c8 + float m_flScaleVOffsetByControlPointDistance; // 0x28c0 private: - [[maybe_unused]] uint8_t __pad27cc[0x1]; // 0x27cc + [[maybe_unused]] uint8_t __pad28c4[0x1]; // 0x28c4 public: // MPropertyStartGroup "Rope Global UV Controls" // MPropertyFriendlyName "Use scalar attribute for texture coordinate" - bool m_bUseScalarForTextureCoordinate; // 0x27cd + bool m_bUseScalarForTextureCoordinate; // 0x28c5 private: - [[maybe_unused]] uint8_t __pad27ce[0x2]; // 0x27ce + [[maybe_unused]] uint8_t __pad28c6[0x2]; // 0x28c6 public: // MPropertyFriendlyName "scalar to use for texture coordinate" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x27d0 + ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x28c8 // MPropertyFriendlyName "scale value to map attribute to texture coordinate" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - float m_flScalarAttributeTextureCoordScale; // 0x27d4 + float m_flScalarAttributeTextureCoordScale; // 0x28cc // MPropertyStartGroup "Rope Order Controls" // MPropertyFriendlyName "reverse point order" // MPropertySortPriority "800" - bool m_bReverseOrder; // 0x27d8 + bool m_bReverseOrder; // 0x28d0 // MPropertyFriendlyName "Closed loop" - bool m_bClosedLoop; // 0x27d9 + bool m_bClosedLoop; // 0x28d1 private: - [[maybe_unused]] uint8_t __pad27da[0x2]; // 0x27da + [[maybe_unused]] uint8_t __pad28d2[0x2]; // 0x28d2 public: // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation_type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x27dc + ParticleOrientationChoiceList_t m_nOrientationType; // 0x28d4 // 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; // 0x27e0 + ParticleAttributeIndex_t m_nVectorFieldForOrientation; // 0x28d8 // MPropertyStartGroup "Material" // MPropertyFriendlyName "draw as opaque" - bool m_bDrawAsOpaque; // 0x27e4 + bool m_bDrawAsOpaque; // 0x28dc // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "generate normals for cylinder" - bool m_bGenerateNormals; // 0x27e5 + bool m_bGenerateNormals; // 0x28dd }; // Alignment: 5 -// Size: 0xd30 +// Size: 0xd80 class C_OP_SpringToVectorConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "slack" - CPerParticleFloatInput m_flRestLength; // 0x1b0 + CPerParticleFloatInput m_flRestLength; // 0x1c0 // MPropertyFriendlyName "minimum segment length %" - CPerParticleFloatInput m_flMinDistance; // 0x300 + CPerParticleFloatInput m_flMinDistance; // 0x318 // MPropertyFriendlyName "maximum segment length %" - CPerParticleFloatInput m_flMaxDistance; // 0x450 + CPerParticleFloatInput m_flMaxDistance; // 0x470 // MPropertyFriendlyName "resting spacing" - CPerParticleFloatInput m_flRestingLength; // 0x5a0 + CPerParticleFloatInput m_flRestingLength; // 0x5c8 // MPropertyFriendlyName "anchor vector" - CPerParticleVecInput m_vecAnchorVector; // 0x6f0 + CPerParticleVecInput m_vecAnchorVector; // 0x720 }; // Alignment: 2 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_FadeOutSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "proportional fade out time" - float m_flFadeOutTime; // 0x1b0 + float m_flFadeOutTime; // 0x1c0 // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 -}; - -// Alignment: 1 -// Size: 0x50 -class CPulseCell_Step_PublicOutput : public CPulseCell_BaseFlow -{ -public: - PulseRuntimeOutputIndex_t m_OutputIndex; // 0x48 -}; - -// Alignment: 7 -// Size: 0x1e0 -class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission -{ -public: - // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x1c0 - // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1c4 - // MPropertyFriendlyName "output CP component" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x1c8 - // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x1cc - // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x1d0 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1d4 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1d8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 }; // Alignment: 9 -// Size: 0x460 +// Size: 0x200 +class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "output BBox Type" + BBoxVolumeType_t m_nBBoxType; // 0x1d0 + // MPropertyFriendlyName "input control point" + int32_t m_nInControlPointNumber; // 0x1d4 + // MPropertyFriendlyName "output control point" + int32_t m_nOutControlPointNumber; // 0x1d8 + // MPropertyFriendlyName "output max control point" + // MPropertySuppressExpr "m_nBBoxType != BBOX_MINS_MAXS" + int32_t m_nOutControlPointMaxNumber; // 0x1dc + // MPropertyFriendlyName "output CP component" + // MPropertyAttributeChoiceName "vector_component" + // MPropertySuppressExpr "m_nBBoxType != BBOX_VOLUME" + int32_t m_nField; // 0x1e0 + // MPropertyFriendlyName "input volume minimum in cubic units" + // MPropertySuppressExpr "m_nBBoxType != BBOX_VOLUME" + float m_flInputMin; // 0x1e4 + // MPropertyFriendlyName "input volume maximum in cubic units" + // MPropertySuppressExpr "m_nBBoxType != BBOX_VOLUME" + float m_flInputMax; // 0x1e8 + // MPropertyFriendlyName "output minimum" + // MPropertySuppressExpr "m_nBBoxType != BBOX_VOLUME" + float m_flOutputMin; // 0x1ec + // MPropertyFriendlyName "output maximum" + // MPropertySuppressExpr "m_nBBoxType != BBOX_VOLUME" + float m_flOutputMax; // 0x1f0 +}; + +// Alignment: 9 +// Size: 0x480 class C_OP_MoveToHitbox : public CParticleFunctionOperator { public: // MPropertyFriendlyName "model input" - CParticleModelInput m_modelInput; // 0x1b0 + CParticleModelInput m_modelInput; // 0x1c0 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_transformInput; // 0x210 + CParticleTransformInput m_transformInput; // 0x220 private: - [[maybe_unused]] uint8_t __pad0278[0x4]; // 0x278 + [[maybe_unused]] uint8_t __pad0288[0x4]; // 0x288 public: // MPropertyFriendlyName "lifetime lerp start" - float m_flLifeTimeLerpStart; // 0x27c + float m_flLifeTimeLerpStart; // 0x28c // MPropertyFriendlyName "lifetime lerp end" - float m_flLifeTimeLerpEnd; // 0x280 + float m_flLifeTimeLerpEnd; // 0x290 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x284 + float m_flPrevPosScale; // 0x294 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x288 + char m_HitboxSetName[128]; // 0x298 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x308 + bool m_bUseBones; // 0x318 private: - [[maybe_unused]] uint8_t __pad0309[0x3]; // 0x309 + [[maybe_unused]] uint8_t __pad0319[0x3]; // 0x319 public: // MPropertyFriendlyName "lerp type" - HitboxLerpType_t m_nLerpType; // 0x30c + HitboxLerpType_t m_nLerpType; // 0x31c // MPropertyFriendlyName "Constant Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x310 + CPerParticleFloatInput m_flInterpolation; // 0x320 }; // Alignment: 1 @@ -32639,40 +30472,40 @@ public: }; // Alignment: 1 -// Size: 0x220 +// Size: 0x230 class C_OP_RemapTransformToVelocity : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1b0 + CParticleTransformInput m_TransformInput; // 0x1c0 }; // Alignment: 8 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_RemapSpeedtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x1c0 + int32_t m_nInControlPointNumber; // 0x1d0 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1c4 + int32_t m_nOutControlPointNumber; // 0x1d4 // MPropertyFriendlyName "Output field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x1c8 + int32_t m_nField; // 0x1d8 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1cc + float m_flInputMin; // 0x1dc // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1d0 + float m_flInputMax; // 0x1e0 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1d4 + float m_flOutputMin; // 0x1e4 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1d8 + float m_flOutputMax; // 0x1e8 // MPropertyFriendlyName "use delta of velocity instead of constant speed" - bool m_bUseDeltaV; // 0x1dc + bool m_bUseDeltaV; // 0x1ec }; // Alignment: 16 -// Size: 0x880 +// Size: 0x8a0 class C_OP_RenderDeferredLight : public CParticleFunctionRenderer { public: @@ -32700,44 +30533,55 @@ public: CParticleCollectionVecInput m_vecColorScale; // 0x210 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x848 + ParticleColorBlendType_t m_nColorBlendType; // 0x868 // MPropertyStartGroup // MPropertyFriendlyName "spotlight distance" - float m_flLightDistance; // 0x84c + float m_flLightDistance; // 0x86c // MPropertyFriendlyName "light start falloff" - float m_flStartFalloff; // 0x850 + float m_flStartFalloff; // 0x870 // MPropertyFriendlyName "spotlight distance falloff" - float m_flDistanceFalloff; // 0x854 + float m_flDistanceFalloff; // 0x874 // MPropertyFriendlyName "spotlight FoV" - float m_flSpotFoV; // 0x858 + float m_flSpotFoV; // 0x878 // MPropertyFriendlyName "projected texture alpha test point scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x85c + ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x87c // MPropertyFriendlyName "projected texture alpha test range scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x860 + ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x880 // MPropertyFriendlyName "projected texture alpha test sharpness scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x864 + ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x884 // MPropertyFriendlyName "texture" // MPropertySuppressExpr "!m_bUseTexture" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x868 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x888 // MPropertyFriendlyName "HSV Shift Control Point" - int32_t m_nHSVShiftControlPoint; // 0x870 + int32_t m_nHSVShiftControlPoint; // 0x890 }; // Alignment: 2 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_Decay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Reduce rope popping on decay" - bool m_bRopeDecay; // 0x1b0 + bool m_bRopeDecay; // 0x1c0 // MPropertyFriendlyName "force preserving particle order" - bool m_bForcePreserveParticleOrder; // 0x1b1 + bool m_bForcePreserveParticleOrder; // 0x1c1 +}; + +// Alignment: 2 +// Size: 0x10 +struct TrackedStatAggregateData_t +{ +public: + // MPropertyDescription "The stat to aggregate" + CUtlString m_strIndividualStat; // 0x0 + // MPropertyDescription "The aggregate function" + ETrackedStatAggregate m_eAggregate; // 0x8 }; // Alignment: 2 @@ -32796,6 +30640,16 @@ public: CNetworkedQuantizedFloat m_vecZ; // 0x20 }; +// Alignment: 0 +// Size: 0x18 +class CAnimGraphControllerBase +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 +public: + // No members available +}; + // Alignment: 6 // Size: 0x14 struct hudtextparms_t @@ -32828,6 +30682,9 @@ struct ParticleIndex_t { public: int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("ParticleIndex_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 @@ -32836,6 +30693,9 @@ struct CavernCrawlRoomID_t { public: uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CavernCrawlRoomID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 @@ -32844,6 +30704,18 @@ struct attrib_definition_index_t { public: uint16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("attrib_definition_index_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x10 +struct TrackedStatExpressionData_t +{ +public: + // MPropertyDescription "The expression" + CUtlString strExpression; // 0x0 }; // Alignment: 1 @@ -32896,6 +30768,17 @@ public: // No members available }; +// Alignment: 2 +// Size: 0x18 +class CBreakableStageHelper +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + int32_t m_nCurrentStage; // 0x8 + int32_t m_nStageCount; // 0xc +}; + // Alignment: 0 // Size: 0x28 class CEntitySubclassVDataBase @@ -32912,6 +30795,9 @@ struct ModelConfigHandle_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("ModelConfigHandle_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 8 @@ -32937,7 +30823,17 @@ public: int32_t m_Value; // 0x0 // Static fields: - static GameTick_t &Get_Zero(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("GameTick_t")->m_static_fields[0]->m_instance);}; + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("GameTick_t")->m_static_fields[0]->m_instance);}; + static GameTick_t &Get_Zero(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("GameTick_t")->m_static_fields[1]->m_instance);}; +}; + +// Alignment: 2 +// Size: 0x18 +class CAnimGraphTagRef +{ +public: + int32_t m_nTagIndex; // 0x0 + CGlobalSymbol m_tagName; // 0x10 }; // Alignment: 1 @@ -32946,6 +30842,9 @@ struct PingWheelMessageID_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("PingWheelMessageID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 @@ -32970,6 +30869,16 @@ public: int32_t m_nQuestPhase; // 0x88 }; +// Alignment: 0 +// Size: 0x18 +class CAnimEventListenerBase +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 +public: + // No members available +}; + // Alignment: 3 // Size: 0x18 struct TrophyLevel_t @@ -32983,6 +30892,49 @@ public: CPanoramaImageName m_sImage; // 0x8 }; +// Alignment: 11 +// Size: 0x2c +class CNavHullVData +{ +public: + // MPropertyFriendlyName "Enabled" + // MPropertyDescription "Is this agent enabled for generation? ( will result in 0 nav areas for this agent if not )." + bool m_bAgentEnabled; // 0x0 + // MPropertyFriendlyName "Radius" + // MPropertyDescription "Radius of navigating agent capsule." + float m_agentRadius; // 0x4 + // MPropertyFriendlyName "Height" + // MPropertyDescription "Height of navigating agent capsule." + float m_agentHeight; // 0x8 + // MPropertyFriendlyName "Enable Short Height" + // MPropertyDescription "Enable shorter navigating agent capsules ( e.g. crouch ) in addition to regular height capsules." + bool m_agentShortHeightEnabled; // 0xc +private: + [[maybe_unused]] uint8_t __pad000d[0x3]; // 0xd +public: + // MPropertyFriendlyName "Short height" + // MPropertyDescription "Short Height of navigating agent capsules if enabled." + float m_agentShortHeight; // 0x10 + // MPropertyFriendlyName "Max Climb" + // MPropertyDescription "Max vertical offset that the agent simply ignores and walks over." + float m_agentMaxClimb; // 0x14 + // MPropertyFriendlyName "Max Slope" + // MPropertyDescription "Max ground slope to be considered walkable." + int32_t m_agentMaxSlope; // 0x18 + // MPropertyFriendlyName "Max Jump Down Distance" + // MPropertyDescription "Max vertical offset at which to create a jump connection ( possibly one-way )." + float m_agentMaxJumpDownDist; // 0x1c + // MPropertyFriendlyName "Max Horizontal Jump Distance" + // MPropertyDescription "Max horizontal offset over which to create a jump connection ( actually a parameter into the true threshold function )." + float m_agentMaxJumpHorizDistBase; // 0x20 + // MPropertyFriendlyName "Max Jump Up Distance" + // MPropertyDescription "Max vertical offset at which to make a jump connection two-way." + float m_agentMaxJumpUpDist; // 0x24 + // MPropertyFriendlyName "Border Erosion" + // MPropertyDescription "Border erosion in voxel units ( -1 to use default value based on agent radius )." + int32_t m_agentBorderErosion; // 0x28 +}; + // Alignment: 3 // Size: 0x20 class sGlaiveInfo @@ -33151,7 +31103,8 @@ public: float m_Value; // 0x0 // Static fields: - static GameTime_t &Get_Zero(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("GameTime_t")->m_static_fields[0]->m_instance);}; + static bool &Get_IS_TYPESAFE_FLOAT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("GameTime_t")->m_static_fields[0]->m_instance);}; + static GameTime_t &Get_Zero(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("GameTime_t")->m_static_fields[1]->m_instance);}; }; // Alignment: 3 @@ -33212,6 +31165,9 @@ struct style_index_t { public: uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("style_index_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 9 @@ -33263,6 +31219,9 @@ struct FantasyPeriod_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("FantasyPeriod_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 5 @@ -33288,6 +31247,9 @@ struct HeroPersona_t { public: int8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("HeroPersona_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 3 @@ -33362,6 +31324,9 @@ struct BlessingID_t { public: int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("BlessingID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 @@ -33393,6 +31358,9 @@ struct ChatWheelMessageID_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("ChatWheelMessageID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 @@ -33410,6 +31378,9 @@ struct AmmoIndex_t { public: int8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("AmmoIndex_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 4 @@ -33431,6 +31402,9 @@ struct AnimationUpdateListHandle_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("AnimationUpdateListHandle_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 3 @@ -33472,6 +31446,15 @@ public: bool m_bIsLaneCreep; // 0x19 }; +// Alignment: 1 +// Size: 0x8 +struct TrackedStatCombatQueryData_t +{ +public: + // MPropertyDescription "the combat query file" + CUtlString strCombatQueryPath; // 0x0 +}; + // Alignment: 4 // Size: 0x18 class sPendingTreeModelChange @@ -33498,6 +31481,9 @@ struct CavernCrawlMapVariant_t { public: uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CavernCrawlMapVariant_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 @@ -33589,6 +31575,9 @@ struct item_steam_cache_version_t { public: uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("item_steam_cache_version_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 0 @@ -33654,6 +31643,9 @@ struct LeagueNodeID_t { public: uint16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("LeagueNodeID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 5 @@ -33690,6 +31682,9 @@ struct CavernCrawlPathID_t { public: uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CavernCrawlPathID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 @@ -33698,6 +31693,9 @@ struct item_definition_index_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("item_definition_index_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 3 @@ -33727,6 +31725,9 @@ struct AbilityID_t { public: int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("AbilityID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 @@ -33735,6 +31736,9 @@ struct CavernCrawlRewardType_t { public: uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CavernCrawlRewardType_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 4 @@ -33807,12 +31811,26 @@ public: float m_pValue[4]; // 0x0 }; +// Alignment: 1 +// Size: 0x18 +class CNavHullPresetVData +{ +public: + // MPropertyFriendlyName "Nav Hulls" + // MPropertyDescription "List of nav hulls belonging to this preset." + // MPropertyAttributeEditor "VDataChoice( scripts/nav_hulls.vdata )" + CUtlVector< CUtlString > m_vecNavHulls; // 0x0 +}; + // Alignment: 1 // Size: 0x4 struct PeriodicResourceID_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("PeriodicResourceID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 3 @@ -33954,6 +31972,9 @@ struct BlessingTypeID_t { public: int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("BlessingTypeID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 7 @@ -34089,6 +32110,9 @@ struct itemid_t { public: uint64_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("itemid_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 10 @@ -34183,6 +32207,9 @@ struct attrib_definition_index_db32_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("attrib_definition_index_db32_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 28 @@ -34251,6 +32278,9 @@ struct PlayerID_t { public: int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("PlayerID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 0 @@ -34420,7 +32450,7 @@ public: }; // Alignment: 1 -// Size: 0x1a0 +// Size: 0x1b0 class CNetworkTransmitComponent { private: @@ -34515,6 +32545,15 @@ public: CUtlVector< CHandle< CPointCommentaryNode > > m_vecNodes; // 0x48 }; +// Alignment: 1 +// Size: 0x8 +struct TrackedStatHeroAdjectiveData_t +{ +public: + // MPropertyDescription "The adjective" + CUtlString m_strAdjective; // 0x0 +}; + // Alignment: 3 // Size: 0x14 struct NianDamageTaken_t @@ -34538,7 +32577,7 @@ public: bool m_bOverheadEffectOffset; // 0xb }; -// Alignment: 19 +// Alignment: 21 // Size: 0xb0 class CTakeDamageInfo { @@ -34560,8 +32599,10 @@ private: [[maybe_unused]] uint8_t __pad0051[0xf]; // 0x51 public: float m_flOriginalDamage; // 0x60 + bool m_bShouldBleed; // 0x64 + bool m_bShouldSpark; // 0x65 private: - [[maybe_unused]] uint8_t __pad0064[0xc]; // 0x64 + [[maybe_unused]] uint8_t __pad0066[0xa]; // 0x66 public: TakeDamageFlags_t m_nDamageFlags; // 0x70 int32_t m_bitsDotaDamageType; // 0x74 @@ -34759,6 +32800,9 @@ struct GuildID_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("GuildID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 @@ -34772,6 +32816,15 @@ public: CPanoramaImageName szIconImage; // 0x10 }; +// Alignment: 1 +// Size: 0x4 +struct TrackedStatKillEaterData_t +{ +public: + // MPropertyDescription "the kill eater id" + uint32_t unKillEaterEvent; // 0x0 +}; + // Alignment: 3 // Size: 0x20 class SimpleConstraintSoundProfile @@ -34829,6 +32882,9 @@ struct LeagueNodeGroupID_t { public: uint16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("LeagueNodeGroupID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 @@ -34858,6 +32914,36 @@ public: int32_t m_hProjectileHandle; // 0x28 }; +// Alignment: 6 +// Size: 0x38 +class CPlayerTrackedStatDefinition +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + // MPropertyDescription "unique integer ID of this stat" + // MVDataUniqueMonotonicInt + // MPropertyAttributeEditor "locked_int()" + TrackedStatID_t m_unStatID; // 0x8 + // MPropertyDescription "how this stat is implemented" + EPlayerTrackedStatImpl m_eStatImpl; // 0xc + // MPropertyDescription "For k_ePlayerTrackedStatImpl_KillEater, what is the kill eater information." + // MPropertySuppressExpr "m_eStatImpl != k_ePlayerTrackedStatImpl_KillEater" + TrackedStatKillEaterData_t m_killEaterData; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: + // MPropertyDescription "For k_ePlayerTrackedStatImpl_CombatQuery, what is the combat query information." + // MPropertySuppressExpr "m_eStatImpl != k_ePlayerTrackedStatImpl_CombatQuery" + TrackedStatCombatQueryData_t m_combatQueryData; // 0x18 + // MPropertyDescription "For k_ePlayerTrackedStatImpl_Expression, what is the expression information." + // MPropertySuppressExpr "m_eStatImpl != k_ePlayerTrackedStatImpl_Expression" + TrackedStatExpressionData_t m_expressionData; // 0x20 + // MPropertyDescription "For k_ePlayerTrackedStatImpl_HeroAdjective, what is the adjective information." + // MPropertySuppressExpr "m_eStatImpl != k_ePlayerTrackedStatImpl_HeroAdjective" + TrackedStatHeroAdjectiveData_t m_heroAdjectiveData; // 0x30 +}; + // Alignment: 5 // Size: 0x20 class CGameChoreoServices : public IChoreoServices @@ -34958,17 +33044,15 @@ public: float fTimeRespawn; // 0xc }; -// Alignment: 4 +// Alignment: 5 // Size: 0x20 class CDOTA_Tree : public CObstructionObject { public: bool m_bStanding; // 0x18 bool m_bSpecialConsume; // 0x19 - bool m_bSpecialPathing; // 0x1a -private: - [[maybe_unused]] uint8_t __pad001b[0x1]; // 0x1b -public: + bool m_bSpecialToxic; // 0x1a + bool m_bSpecialPathing; // 0x1b uint32_t m_unOccluderID; // 0x1c // Static fields: @@ -35002,6 +33086,9 @@ struct LeagueID_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("LeagueID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 3 @@ -35087,7 +33174,28 @@ public: CUtlVector< BlessingPath_t > m_vecPaths; // 0x168 }; -// Alignment: 67 +// Alignment: 4 +// Size: 0x30 +class CMatchTrackedStatDefinition +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + // MPropertyDescription "unique integer ID of this stat" + // MVDataUniqueMonotonicInt + // MPropertyAttributeEditor "locked_int()" + TrackedStatID_t m_unStatID; // 0x8 + // MPropertyDescription "how this stat is implemented" + EMatchTrackedStatImpl m_eStatImpl; // 0xc + // MPropertyDescription "For k_eMatchTrackedStatImpl_Expression, what is the expression information." + // MPropertySuppressExpr "m_eStatImpl != k_eMatchTrackedStatImpl_Expression" + TrackedStatExpressionData_t m_expressionData; // 0x10 + // MPropertyDescription "For k_eMatchTrackedStatImpl_PlayerAggregate or k_eMatchTrackedStatImpl_TeamAggregate, what is the aggregate information." + // MPropertySuppressExpr "m_eStatImpl != k_eMatchTrackedStatImpl_PlayerAggregate && m_eStatImpl != k_eMatchTrackedStatImpl_TeamAggregate" + TrackedStatAggregateData_t m_aggregateData; // 0x20 +}; + +// Alignment: 70 // Size: 0x1d8 class CModifierParams { @@ -35106,8 +33214,9 @@ public: bool bIgnoreBaseArmor; // 0x1a bool bReincarnate; // 0x1b bool bDoNotConsume; // 0x1c + bool bReportMax; // 0x1d private: - [[maybe_unused]] uint8_t __pad001d[0x3]; // 0x1d + [[maybe_unused]] uint8_t __pad001e[0x2]; // 0x1e public: float fDistance; // 0x20 float fGain; // 0x24 @@ -35153,20 +33262,22 @@ public: bool bBloodstoneRegenApplied; // 0x198 bool bShroudManaRestoreApplied; // 0x199 bool bPhylacteryApplied; // 0x19a - bool bIgnoreNegativeValuesIfDebuffImmune; // 0x19b - bool bIgnorePositiveValuesIfDebuffImmune; // 0x19c - bool bIgnoreAllIfDebuffImmune; // 0x19d - bool bAlsoIgnoreBuffsIfDebuffImmune; // 0x19e - bool bIgnoreLowerIfDebuffImmune; // 0x19f - float flIgnoreLowerIfDebuffImmune; // 0x1a0 - bool bIgnoreHigherIfDebuffImmune; // 0x1a4 + bool bAllowZeroDamageFromPostReductionBlock; // 0x19b + bool bForceMagicStickProc; // 0x19c + bool bIgnoreNegativeValuesIfDebuffImmune; // 0x19d + bool bIgnorePositiveValuesIfDebuffImmune; // 0x19e + bool bIgnoreAllIfDebuffImmune; // 0x19f + bool bAlsoIgnoreBuffsIfDebuffImmune; // 0x1a0 + bool bIgnoreLowerIfDebuffImmune; // 0x1a1 private: - [[maybe_unused]] uint8_t __pad01a5[0x3]; // 0x1a5 + [[maybe_unused]] uint8_t __pad01a2[0x2]; // 0x1a2 public: - float flIgnoreHigherIfDebuffImmune; // 0x1a8 + float flIgnoreLowerIfDebuffImmune; // 0x1a4 + bool bIgnoreHigherIfDebuffImmune; // 0x1a8 private: - [[maybe_unused]] uint8_t __pad01ac[0x4]; // 0x1ac + [[maybe_unused]] uint8_t __pad01a9[0x3]; // 0x1a9 public: + float flIgnoreHigherIfDebuffImmune; // 0x1ac char* pszAbilitySpecialName; // 0x1b0 int32_t nAbilitySpecialLevel; // 0x1b8 CHandle< CBaseEntity > hattacker; // 0x1bc @@ -35196,6 +33307,9 @@ struct MatchID_t { public: uint64_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("MatchID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 7 @@ -35229,6 +33343,27 @@ public: CUtlString m_sEndTime; // 0x40 }; +// Alignment: 4 +// Size: 0x30 +class CTeamTrackedStatDefinition +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + // MPropertyDescription "unique integer ID of this stat" + // MVDataUniqueMonotonicInt + // MPropertyAttributeEditor "locked_int()" + TrackedStatID_t m_unStatID; // 0x8 + // MPropertyDescription "how this stat is implemented" + ETeamTrackedStatImpl m_eStatImpl; // 0xc + // MPropertyDescription "For k_eTeamTrackedStatImpl_Expression, what is the expression information." + // MPropertySuppressExpr "m_eStatImpl != k_ePlayerTrackedStatImpl_Expression" + TrackedStatExpressionData_t m_expressionData; // 0x10 + // MPropertyDescription "For k_eTeamTrackedStatImpl_PlayerAggregate, what is the aggregate information." + // MPropertySuppressExpr "m_eStatImpl != k_eTeamTrackedStatImpl_PlayerAggregate" + TrackedStatAggregateData_t m_aggregateData; // 0x20 +}; + // Alignment: 4 // Size: 0xc8 struct SummaryTakeDamageInfo_t @@ -35283,12 +33418,23 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x20 +class CAnimEventListener : public CAnimEventListenerBase +{ +public: + // No members available +}; + // Alignment: 1 // Size: 0x4 struct BlessingPathID_t { public: int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("BlessingPathID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 @@ -35315,8 +33461,8 @@ public: CUtlString strRegionName; // 0x28 }; -// Alignment: 17 -// Size: 0x120 +// Alignment: 18 +// Size: 0x128 struct DOTASpecialAbility_t { public: @@ -35336,7 +33482,8 @@ public: bool m_bSpellDamageField; // 0x11c bool m_bScepterField; // 0x11d bool m_bShardField; // 0x11e - EDOTASpecialBonusOperation m_eSpecialBonusOperation; // 0x11f + bool m_bAffectedByAoEIncrease; // 0x11f + EDOTASpecialBonusOperation m_eSpecialBonusOperation; // 0x120 }; // Alignment: 2 @@ -35575,7 +33722,7 @@ public: }; // Alignment: 34 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Buff : public CHorizontalMotionController { private: @@ -35627,31 +33774,9 @@ public: CUtlVector< CDOTA_BuffParticle > m_iParticles; // 0xa0 CUtlVector< CHandle< CBaseEntity > > m_hAuraUnits; // 0xb8 private: - [[maybe_unused]] uint8_t __pad00d0[0x1110]; // 0xd0 + [[maybe_unused]] uint8_t __pad00d0[0x11e0]; // 0xd0 public: - HSCRIPT m_hScriptScope; // 0x11e0 -}; - -// Alignment: 9 -// Size: 0x80 -class CRagdoll : public IRagdoll -{ -public: - ragdoll_t m_ragdoll; // 0x8 - Vector m_mins; // 0x40 - Vector m_maxs; // 0x4c - Vector m_origin; // 0x58 - float m_lastUpdate; // 0x64 - bool m_allAsleep; // 0x68 -private: - [[maybe_unused]] uint8_t __pad0069[0x3]; // 0x69 -public: - Vector m_vecLastOrigin; // 0x6c - float m_flLastOriginChangeTime; // 0x78 - float m_flAwakeTime; // 0x7c - - // Static fields: - static uint32_t &Get_s_globalCount(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CRagdoll")->m_static_fields[0]->m_instance);}; + HSCRIPT m_hScriptScope; // 0x12b0 }; // Alignment: 3 @@ -35707,6 +33832,19 @@ struct GCPlayerSlot_t { public: uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("GCPlayerSlot_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 0 +// Size: 0x38 +class CAnimEventQueueListener : public CAnimEventListenerBase +{ +private: + [[maybe_unused]] uint8_t __pad0018[0x8]; // 0x18 +public: + // No members available }; // Alignment: 12 @@ -35750,6 +33888,24 @@ public: float m_flFadeOut; // 0x58 }; +// Alignment: 11 +// Size: 0x30 +struct PortraitWorldLightConfig_t +{ +public: + CUtlString m_strName; // 0x0 + float m_flLatitude; // 0x8 + float m_flLongitude; // 0xc + float m_flIntensity; // 0x10 + float m_flAdditionalRadius; // 0x14 + float m_flSpotFov; // 0x18 + float m_flAnimatedNoiseFrequency; // 0x1c + float m_flAnimatedNoiseMinValue; // 0x20 + Color m_color; // 0x24 + bool m_bShowGizmos; // 0x28 + bool m_bShadows; // 0x29 +}; + // Alignment: 2 // Size: 0x20 struct CDOTABattleReportHighlightTier_t @@ -35774,6 +33930,17 @@ public: int32_t m_nAlarmTypes; // 0x18 }; +// Alignment: 1 +// Size: 0x2 +struct FantasyOperationID_t +{ +public: + uint16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("FantasyOperationID_t")->m_static_fields[0]->m_instance);}; +}; + // Alignment: 100 // Size: 0x3d0 class CLightInfoBase @@ -35904,6 +34071,17 @@ public: float m_flLightningEventPercentage; // 0x3c8 }; +// Alignment: 1 +// Size: 0x2 +struct FantasyCraftDataID_t +{ +public: + uint16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("FantasyCraftDataID_t")->m_static_fields[0]->m_instance);}; +}; + // Alignment: 0 // Size: 0x8 class IClientAlphaProperty @@ -35958,22 +34136,25 @@ public: float m_flCloud1Direction; // 0x98 float m_flCloud2Speed; // 0x9c float m_flCloud2Direction; // 0xa0 - float m_flAmbientScale1; // 0xa4 - float m_flAmbientScale2; // 0xa8 - float m_flGroundScale; // 0xac - float m_flLightScale; // 0xb0 - float m_flFoWDarkness; // 0xb4 - bool m_bEnableSeparateSkyboxFog; // 0xb8 private: - [[maybe_unused]] uint8_t __pad00b9[0x3]; // 0xb9 + [[maybe_unused]] uint8_t __pad00a4[0xc]; // 0xa4 public: - Vector m_vFowColor; // 0xbc - Vector m_ViewOrigin; // 0xc8 - QAngle m_ViewAngles; // 0xd4 - float m_flViewFoV; // 0xe0 - Vector m_WorldPoints[8]; // 0xe4 + float m_flAmbientScale1; // 0xb0 + float m_flAmbientScale2; // 0xb4 + float m_flGroundScale; // 0xb8 + float m_flLightScale; // 0xbc + float m_flFoWDarkness; // 0xc0 + bool m_bEnableSeparateSkyboxFog; // 0xc4 private: - [[maybe_unused]] uint8_t __pad0144[0x364]; // 0x144 + [[maybe_unused]] uint8_t __pad00c5[0x3]; // 0xc5 +public: + Vector m_vFowColor; // 0xc8 + Vector m_ViewOrigin; // 0xd4 + QAngle m_ViewAngles; // 0xe0 + float m_flViewFoV; // 0xec + Vector m_WorldPoints[8]; // 0xf0 +private: + [[maybe_unused]] uint8_t __pad0150[0x358]; // 0x150 public: Vector2D m_vFogOffsetLayer0; // 0x4a8 Vector2D m_vFogOffsetLayer1; // 0x4b0 @@ -36019,6 +34200,20 @@ public: float m_flRenderFxDuration; // 0x24 }; +// Alignment: 2 +// Size: 0x20 +class CComicBook +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + // MPropertyDescription "Cover image to use. Likely starts with file://{images}/comics/..." + CPanoramaImageName m_CoverImage; // 0x8 + // MPropertyDescription "Comic book xml file. The xml that defines the layout and flow of the comic book." + // MPropertyCustomFGDType + CUtlString m_XmlFile; // 0x18 +}; + // Alignment: 11 // Size: 0x40 struct CandyShopRewardOption_t @@ -36035,7 +34230,6 @@ public: // MPropertyDescription "How many candy does it cost for one of these rewards" uint32_t m_unCandyPrice; // 0x18 // MPropertyDescription "how should rewards for this option be generated?" - // MPropertyAttributeChoiceEnumName ECandyShopRewardOptionType m_eOptionType; // 0x1c // MPropertyDescription "For k_eCandyShopRewardOptionType_SingleItem, what is the item def." // MPropertySuppressExpr "m_eOptionType != k_eCandyShopRewardOptionType_SingleItem" @@ -36048,7 +34242,6 @@ public: CUtlString m_sLootList; // 0x28 // MPropertyDescription "For k_eCandyShopRewardOptionType_SingleEventAction, what is the event id for the action." // MPropertySuppressExpr "m_eOptionType != k_eCandyShopRewardOptionType_SingleEventAction && m_eOptionType != k_eCandyShopRewardOptionType_EventPoints" - // MPropertyAttributeChoiceEnumName EEvent m_eEvent; // 0x30 // MPropertyDescription "For k_eCandyShopRewardOptionType_SingleEventAction, what is the action id for the action." // MPropertySuppressExpr "m_eOptionType != k_eCandyShopRewardOptionType_SingleEventAction" @@ -36109,7 +34302,6 @@ private: [[maybe_unused]] uint8_t __pad0047[0x1]; // 0x47 public: // MPropertyDescription "After this event expires, you can no longer interact with this candy shop." - // MPropertyAttributeChoiceEnumName EEvent m_eExpireEvent; // 0x48 private: [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c @@ -36120,22 +34312,22 @@ public: }; // Alignment: 4 -// Size: 0xdc0 +// Size: 0xde0 class CBasePortraitData { private: - [[maybe_unused]] uint8_t __pad0000[0x3f0]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x410]; // 0x0 public: - CStrongHandle< InfoForResourceTypeCModel > m_iModelIndex; // 0x3f0 - CUtlStringToken m_skin; // 0x3f8 + CStrongHandle< InfoForResourceTypeCModel > m_iModelIndex; // 0x410 + CUtlStringToken m_skin; // 0x418 private: - [[maybe_unused]] uint8_t __pad03fc[0x9a0]; // 0x3fc + [[maybe_unused]] uint8_t __pad041c[0x9a0]; // 0x41c public: - bool m_bHasSetupView; // 0xd9c + bool m_bHasSetupView; // 0xdbc private: - [[maybe_unused]] uint8_t __pad0d9d[0x1b]; // 0xd9d + [[maybe_unused]] uint8_t __pad0dbd[0x1b]; // 0xdbd public: - float m_flRotation; // 0xdb8 + float m_flRotation; // 0xdd8 }; // Alignment: 2 @@ -36147,6 +34339,17 @@ public: int32_t command_number; // 0x70 }; +// Alignment: 1 +// Size: 0x1 +struct FantasyTitle_t +{ +public: + uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("FantasyTitle_t")->m_static_fields[0]->m_instance);}; +}; + // Alignment: 0 // Size: 0x8 class C_SingleplayRules : public C_GameRules @@ -36155,6 +34358,17 @@ public: // No members available }; +// Alignment: 1 +// Size: 0x1 +struct FantasyGemShape_t +{ +public: + uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("FantasyGemShape_t")->m_static_fields[0]->m_instance);}; +}; + // Alignment: 4 // Size: 0x20 class CGlowSprite @@ -36212,6 +34426,25 @@ public: float m_fNextEvent; // 0x4 }; +// Alignment: 1 +// Size: 0x8 +struct SZooSetAnnotation_t +{ +public: + CUtlString m_strSetTag; // 0x0 +}; + +// Alignment: 1 +// Size: 0x1 +struct FantasyGemQuality_t +{ +public: + uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("FantasyGemQuality_t")->m_static_fields[0]->m_instance);}; +}; + // Alignment: 5 // Size: 0x14 class CInterpolatedValue @@ -36224,8 +34457,17 @@ public: int32_t m_nInterpType; // 0x10 }; -// Alignment: 10 -// Size: 0x90 +// Alignment: 2 +// Size: 0x20 +struct SZooSetAnnotations_t +{ +public: + CUtlString m_strSetName; // 0x0 + CUtlVector< SZooSetAnnotation_t > m_annotations; // 0x8 +}; + +// Alignment: 12 +// Size: 0xa0 class C_DOTA_LinearProjectileInfo { private: @@ -36235,36 +34477,48 @@ public: int32_t m_iHandle; // 0x40 Vector m_vInitPosition; // 0x44 Vector m_vPosition; // 0x50 - Vector m_vVelocity; // 0x5c - Vector m_vAcceleration; // 0x68 - float m_flMaxSpeed; // 0x74 - float m_flFowRadius; // 0x78 - bool m_bStickyFoWReveal; // 0x7c + Vector m_vOriginalVelocity; // 0x5c + Vector m_vVelocity; // 0x68 + Vector m_vAcceleration; // 0x74 + float m_flMaxSpeed; // 0x80 + float m_flFowRadius; // 0x84 + bool m_bStickyFoWReveal; // 0x88 private: - [[maybe_unused]] uint8_t __pad007d[0x3]; // 0x7d + [[maybe_unused]] uint8_t __pad0089[0x3]; // 0x89 public: - float m_flDistance; // 0x80 + float m_flDistance; // 0x8c + CHandle< C_BaseEntity > m_hSource; // 0x90 }; -// Alignment: 11 -// Size: 0x58 +// Alignment: 1 +// Size: 0x18 +struct SZooSetAnnotationsConfig_t +{ +public: + CUtlVector< SZooSetAnnotations_t > m_allAnnotations; // 0x0 +}; + +// Alignment: 13 +// Size: 0x60 class C_DOTA_TrackingProjectileInfo { public: int32_t m_iHandle; // 0x0 - int32_t m_iMoveSpeed; // 0x4 - Vector m_vLocation; // 0x8 - CHandle< C_BaseEntity > m_hSource; // 0x14 - CHandle< C_BaseEntity > m_hTarget; // 0x18 - Vector m_vTargetLocation; // 0x1c - bool m_bDodgeable; // 0x28 - bool m_bIsAttack; // 0x29 - bool m_bIsEvaded; // 0x2a + int32_t m_iOriginalMoveSpeed; // 0x4 + int32_t m_iMoveSpeed; // 0x8 + Vector m_vLocation; // 0xc + CHandle< C_BaseEntity > m_hSource; // 0x18 + CHandle< C_BaseEntity > m_hTarget; // 0x1c + CHandle< C_BaseEntity > m_hAbility; // 0x20 + Vector m_vTargetLocation; // 0x24 + bool m_bDodgeable; // 0x30 + bool m_bIsAttack; // 0x31 + bool m_bIsEvaded; // 0x32 private: - [[maybe_unused]] uint8_t __pad002b[0x1]; // 0x2b + [[maybe_unused]] uint8_t __pad0033[0x1]; // 0x33 public: - GameTime_t m_flExpireTime; // 0x2c - GameTime_t m_flMaxImpactTime; // 0x30 + GameTime_t m_flExpireTime; // 0x34 + GameTime_t m_flMaxImpactTime; // 0x38 }; // Alignment: 3 @@ -36281,6 +34535,17 @@ public: float m_flCompareValue; // 0x8 }; +// Alignment: 1 +// Size: 0x1 +struct FantasyTabletID_t +{ +public: + uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("FantasyTabletID_t")->m_static_fields[0]->m_instance);}; +}; + // Alignment: 15 // Size: 0xd0 class CGlowOverlay @@ -36338,13 +34603,24 @@ public: uint32_t unTeamID; // 0xc }; +// Alignment: 1 +// Size: 0x1 +struct FantasyGemSlot_t +{ +public: + uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("FantasyGemSlot_t")->m_static_fields[0]->m_instance);}; +}; + // Alignment: 2 -// Size: 0xdf0 +// Size: 0xe10 class CPortraitData : public CBasePortraitData { public: - CUtlVector< CHandle< C_BaseEntity > > m_RenderList; // 0xdc0 - CHandle< C_BaseEntity > m_hHero; // 0xdd8 + CUtlVector< CHandle< C_BaseEntity > > m_RenderList; // 0xde0 + CHandle< C_BaseEntity > m_hHero; // 0xdf8 }; // Alignment: 0 @@ -36488,3 +34764,24 @@ public: CUtlVector< CDOTABattleReportHighlightTier_t > m_vecTiers; // 0x58 }; +// Alignment: 1 +// Size: 0x2 +struct FantasyLeagueID_t +{ +public: + uint16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("FantasyLeagueID_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x10 +class CAnimScriptBase +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + bool m_bIsValid; // 0x8 +}; + diff --git a/sdk/animationsystem.hpp b/sdk/animationsystem.hpp index a29518ad..ed3baa3a 100644 --- a/sdk/animationsystem.hpp +++ b/sdk/animationsystem.hpp @@ -4,8 +4,8 @@ // ///////////////////////////////////////////////////////////// // Binary: animationsystem.dll -// Classes count: 476 -// Enums count: 77 +// Classes count: 342 +// Enums count: 68 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -99,17 +99,6 @@ enum class ParticleAttachment_t : uint32_t MAX_PATTACH_TYPES = 0x10, }; -// Alignment: 4 -// Size: 0x5 -enum class CAnimationGraphVisualizerPrimitiveType : uint32_t -{ - ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Text = 0x0, - ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Sphere = 0x1, - ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Line = 0x2, - ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Pie = 0x3, - ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Axis = 0x4, -}; - // Alignment: 1 // Size: 0x9 enum class AnimParamType_t : uint8_t @@ -135,15 +124,6 @@ enum class BoneTransformSpace_t : uint32_t BoneTransformSpace_World = 0x2, }; -// Alignment: 1 -// Size: 0x3 -enum class PoseType_t : uint8_t -{ - POSETYPE_STATIC = 0x0, - POSETYPE_DYNAMIC = 0x1, - POSETYPE_INVALID = 0xff, -}; - // Alignment: 4 // Size: 0xd enum class AnimParamButton_t : uint32_t @@ -172,32 +152,6 @@ enum class AnimParamNetworkSetting : uint32_t NeverNetwork = 0x2, }; -// Alignment: 4 -// Size: 0x2 -enum class AnimNodeNetworkMode : uint32_t -{ - ServerAuthoritative = 0x0, - ClientSimulate = 0x1, -}; - -// Alignment: 4 -// Size: 0x4 -enum class StateActionBehavior : uint32_t -{ - STATETAGBEHAVIOR_ACTIVE_WHILE_CURRENT = 0x0, - STATETAGBEHAVIOR_FIRE_ON_ENTER = 0x1, - STATETAGBEHAVIOR_FIRE_ON_EXIT = 0x2, - STATETAGBEHAVIOR_FIRE_ON_ENTER_AND_EXIT = 0x3, -}; - -// Alignment: 4 -// Size: 0x2 -enum class SolveIKChainAnimNodeSettingSource : uint32_t -{ - SOLVEIKCHAINANIMNODESETTINGSOURCE_Default = 0x0, - SOLVEIKCHAINANIMNODESETTINGSOURCE_Override = 0x1, -}; - // Alignment: 4 // Size: 0x3 enum class FootstepLandedFootSoundType_t : uint32_t @@ -216,15 +170,6 @@ enum class AnimPoseControl : uint32_t RelativePoseControl = 0x2, }; -// Alignment: 4 -// Size: 0x3 -enum class FacingMode : uint32_t -{ - FacingMode_Manual = 0x0, - FacingMode_Path = 0x1, - FacingMode_LookTarget = 0x2, -}; - // Alignment: 4 // Size: 0x2 enum class RagdollPoseControl : uint32_t @@ -259,469 +204,6 @@ enum class AnimVrBoneTransformSource_t : uint32_t AnimVrBoneTransformSource_GripLimit = 0x1, }; -// Alignment: 4 -// Size: 0x6 -enum class IKSolverType : uint32_t -{ - IKSOLVER_Perlin = 0x0, - IKSOLVER_TwoBone = 0x1, - IKSOLVER_Fabrik = 0x2, - IKSOLVER_DogLeg3Bone = 0x3, - IKSOLVER_CCD = 0x4, - IKSOLVER_COUNT = 0x5, -}; - -// Alignment: 4 -// Size: 0x3 -enum class IKTargetSource : uint32_t -{ - IKTARGETSOURCE_Bone = 0x0, - IKTARGETSOURCE_AnimgraphParameter = 0x1, - IKTARGETSOURCE_COUNT = 0x2, -}; - -// Alignment: 4 -// Size: 0x3 -enum class IKTargetCoordinateSystem : uint32_t -{ - IKTARGETCOORDINATESYSTEM_WorldSpace = 0x0, - IKTARGETCOORDINATESYSTEM_ModelSpace = 0x1, - IKTARGETCOORDINATESYSTEM_COUNT = 0x2, -}; - -// Alignment: 4 -// Size: 0x25 -enum class AnimValueSource : uint32_t -{ - MoveHeading = 0x0, - MoveSpeed = 0x1, - ForwardSpeed = 0x2, - StrafeSpeed = 0x3, - FacingHeading = 0x4, - ManualFacingHeading = 0x5, - LookHeading = 0x6, - LookPitch = 0x7, - 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 -// Size: 0xd -enum class AnimVectorSource : uint32_t -{ - MoveDirection = 0x0, - FacingDirection = 0x1, - LookDirection = 0x2, - VectorParameter = 0x3, - WayPointDirection = 0x4, - Acceleration = 0x5, - SlopeNormal = 0x6, - SlopeNormal_WorldSpace = 0x7, - LookTarget = 0x8, - LookTarget_WorldSpace = 0x9, - WayPointPosition = 0xa, - GoalPosition = 0xb, - RootMotionVelocity = 0xc, -}; - -// Alignment: 4 -// Size: 0x3 -enum class DampingSpeedFunction : uint32_t -{ - NoDamping = 0x0, - Constant = 0x1, - Spring = 0x2, -}; - -// Alignment: 4 -// Size: 0x2 -enum class EAnimValueSource : uint32_t -{ - Constant = 0x0, - Parameter = 0x1, -}; - -// Alignment: 4 -// Size: 0x29 -enum class ControlValue : uint32_t -{ - ControlValue_MoveHeading = 0x0, - ControlValue_MoveSpeed = 0x1, - ControlValue_FacingHeading = 0x2, - ControlValue_LookHeading = 0x3, - ControlValue_LookPitch = 0x4, - 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, -}; - -// Alignment: 4 -// Size: 0x3 -enum class FieldNetworkOption : uint32_t -{ - Auto = 0x0, - ForceEnable = 0x1, - ForceDisable = 0x2, -}; - -// Alignment: 4 -// Size: 0x2 -enum class DampedValueType : uint32_t -{ - FloatParameter = 0x0, - VectorParameter = 0x1, -}; - -// Alignment: 4 -// Size: 0x2 -enum class SelectionSource_t : uint32_t -{ - SelectionSource_Bool = 0x0, - SelectionSource_Enum = 0x1, -}; - -// Alignment: 4 -// Size: 0x3 -enum class SingleFrameSelection : uint32_t -{ - FirstFrame = 0x0, - LastFrame = 0x1, - SpecificFrame = 0x2, -}; - -// Alignment: 4 -// Size: 0x7 -enum class Comparison_t : uint32_t -{ - COMPARISON_EQUALS = 0x0, - COMPARISON_NOT_EQUALS = 0x1, - COMPARISON_GREATER = 0x2, - COMPARISON_GREATER_OR_EQUAL = 0x3, - COMPARISON_LESS = 0x4, - COMPARISON_LESS_OR_EQUAL = 0x5, - COMPARISON_COUNT = 0x6, -}; - -// Alignment: 1 -// Size: 0x2 -enum class ComparisonValueType : uint8_t -{ - COMPARISONVALUETYPE_FIXEDVALUE = 0x0, - COMPARISONVALUETYPE_PARAMETER = 0x1, -}; - -// Alignment: 4 -// Size: 0x2 -enum class FinishedConditionOption : uint32_t -{ - FinishedConditionOption_OnFinished = 0x0, - FinishedConditionOption_OnAlmostFinished = 0x1, -}; - -// Alignment: 4 -// Size: 0x3 -enum class StateComparisonValueType : uint32_t -{ - StateComparisonValue_FixedValue = 0x0, - StateComparisonValue_StateValue = 0x1, - StateComparisonValue_Parameter = 0x2, -}; - -// Alignment: 4 -// Size: 0x5 -enum class StateValue : uint32_t -{ - TotalTranslation_SourceState = 0x0, - TotalTranslation_TargetState = 0x1, - SourceStateBlendWeight = 0x2, - TargetStateBlendWeight = 0x3, - Count = 0x4, -}; - -// Alignment: 4 -// Size: 0x8 -enum class FootFallTagFoot_t : uint32_t -{ - FOOT1 = 0x0, - FOOT2 = 0x1, - FOOT3 = 0x2, - FOOT4 = 0x3, - FOOT5 = 0x4, - FOOT6 = 0x5, - FOOT7 = 0x6, - FOOT8 = 0x7, -}; - -// Alignment: 4 -// Size: 0x2 -enum class MatterialAttributeTagType_t : uint32_t -{ - MATERIAL_ATTRIBUTE_TAG_VALUE = 0x0, - MATERIAL_ATTRIBUTE_TAG_COLOR = 0x1, -}; - -// Alignment: 2 -// Size: 0x4 -enum class AnimScriptType : uint16_t -{ - ANIMSCRIPT_TYPE_INVALID = 0xffffffffffffffff, - ANIMSCRIPT_FUSE_GENERAL = 0x0, - ANIMSCRIPT_FUSE_STATEMACHINE = 0x1, - ANIMSCRIPT_EXPRTK = 0x2, -}; - -// Alignment: 4 -// Size: 0x4 -enum class BlendKeyType : uint32_t -{ - BlendKey_UserValue = 0x0, - BlendKey_Velocity = 0x1, - BlendKey_Distance = 0x2, - BlendKey_RemainingDistance = 0x3, -}; - -// Alignment: 4 -// Size: 0x5 -enum class ResetCycleOption : uint32_t -{ - Beginning = 0x0, - SameCycleAsSource = 0x1, - InverseSourceCycle = 0x2, - FixedValue = 0x3, - SameTimeAsSource = 0x4, -}; - -// Alignment: 4 -// Size: 0x4 -enum class ChoiceMethod : uint32_t -{ - WeightedRandom = 0x0, - WeightedRandomNoRepeat = 0x1, - Iterate = 0x2, - IterateRandom = 0x3, -}; - -// Alignment: 4 -// Size: 0x3 -enum class ChoiceChangeMethod : uint32_t -{ - OnReset = 0x0, - OnCycleEnd = 0x1, - OnResetOrCycleEnd = 0x2, -}; - -// Alignment: 4 -// Size: 0x2 -enum class ChoiceBlendMethod : uint32_t -{ - SingleBlendTime = 0x0, - PerChoiceBlendTimes = 0x1, -}; - -// Alignment: 4 -// Size: 0x2 -enum class IkEndEffectorType : uint32_t -{ - IkEndEffector_Attachment = 0x0, - IkEndEffector_Bone = 0x1, -}; - -// Alignment: 4 -// Size: 0x4 -enum class IkTargetType : uint32_t -{ - IkTarget_Attachment = 0x0, - IkTarget_Bone = 0x1, - IkTarget_Parameter_ModelSpace = 0x2, - IkTarget_Parameter_WorldSpace = 0x3, -}; - -// Alignment: 4 -// Size: 0x3 -enum class BinaryNodeTiming : uint32_t -{ - UseChild1 = 0x0, - UseChild2 = 0x1, - SyncChildren = 0x2, -}; - -// Alignment: 4 -// Size: 0x2 -enum class BinaryNodeChildOption : uint32_t -{ - Child1 = 0x0, - Child2 = 0x1, -}; - -// Alignment: 4 -// Size: 0x2 -enum class StanceOverrideMode : uint32_t -{ - Sequence = 0x0, - Node = 0x1, -}; - -// Alignment: 4 -// Size: 0x3 -enum class SelectorTagBehavior_t : uint32_t -{ - SelectorTagBehavior_OnWhileCurrent = 0x0, - SelectorTagBehavior_OffWhenFinished = 0x1, - SelectorTagBehavior_OffBeforeFinished = 0x2, -}; - -// Alignment: 4 -// Size: 0x2 -enum class Blend2DMode : uint32_t -{ - Blend2DMode_General = 0x0, - Blend2DMode_Directional = 0x1, -}; - -// Alignment: 4 -// Size: 0x2 -enum class FootLockSubVisualization : uint32_t -{ - FOOTLOCKSUBVISUALIZATION_ReachabilityAnalysis = 0x0, - FOOTLOCKSUBVISUALIZATION_IKSolve = 0x1, -}; - -// Alignment: 4 -// Size: 0x3 -enum class FootPinningTimingSource : uint32_t -{ - FootMotion = 0x0, - Tag = 0x1, - Parameter = 0x2, -}; - -// Alignment: 4 -// Size: 0x2 -enum class JumpCorrectionMethod : uint32_t -{ - ScaleMotion = 0x0, - AddCorrectionDelta = 0x1, -}; - -// Alignment: 4 -// Size: 0x2 -enum class StepPhase : uint32_t -{ - StepPhase_OnGround = 0x0, - StepPhase_InAir = 0x1, -}; - -// Alignment: 1 -// Size: 0x3 -enum class VelocityMetricMode : uint8_t -{ - DirectionOnly = 0x0, - MagnitudeOnly = 0x1, - DirectionAndMagnitude = 0x2, -}; - -// Alignment: 4 -// Size: 0x4 -enum class BoneMaskBlendSpace : uint32_t -{ - BlendSpace_Parent = 0x0, - BlendSpace_Model = 0x1, - BlendSpace_Model_RotationOnly = 0x2, - BlendSpace_Model_TranslationOnly = 0x3, -}; - -// Alignment: 4 -// Size: 0x4 -enum class AimMatrixBlendMode : uint32_t -{ - AimMatrixBlendMode_None = 0x0, - AimMatrixBlendMode_Additive = 0x1, - AimMatrixBlendMode_ModelSpaceAdditive = 0x2, - AimMatrixBlendMode_BoneMask = 0x3, -}; - -// Alignment: 4 -// Size: 0x7 -enum class SolveIKChainAnimNodeDebugSetting : uint32_t -{ - SOLVEIKCHAINANIMNODEDEBUGSETTING_None = 0x0, - SOLVEIKCHAINANIMNODEDEBUGSETTING_X_Axis_Circle = 0x1, - SOLVEIKCHAINANIMNODEDEBUGSETTING_Y_Axis_Circle = 0x2, - SOLVEIKCHAINANIMNODEDEBUGSETTING_Z_Axis_Circle = 0x3, - SOLVEIKCHAINANIMNODEDEBUGSETTING_Forward = 0x4, - SOLVEIKCHAINANIMNODEDEBUGSETTING_Up = 0x5, - SOLVEIKCHAINANIMNODEDEBUGSETTING_Left = 0x6, -}; - -// Alignment: 4 -// Size: 0x3 -enum class JiggleBoneSimSpace : uint32_t -{ - SimSpace_Local = 0x0, - SimSpace_Model = 0x1, - SimSpace_World = 0x2, -}; - // Alignment: 4 // Size: 0x5 enum class VPhysXBodyPart_t__VPhysXFlagEnum_t : uint32_t @@ -744,11 +226,12 @@ enum class VPhysXConstraintParams_t__EnumFlags0_t : uint32_t }; // Alignment: 4 -// Size: 0x2 +// Size: 0x3 enum class VPhysXJoint_t__Flags_t : uint32_t { JOINT_FLAGS_NONE = 0x0, JOINT_FLAGS_BODY1_FIXED = 0x1, + JOINT_FLAGS_USE_BLOCK_SOLVER = 0x2, }; // Alignment: 4 @@ -915,6 +398,404 @@ enum class AnimVRFinger_t : uint32_t AnimVrFinger_Pinky = 0x4, }; +// Alignment: 4 +// Size: 0x4 +enum class IKChannelMode : uint32_t +{ + TwoBone = 0x0, + TwoBone_Translate = 0x1, + OneBone = 0x2, + OneBone_Translate = 0x3, +}; + +// Alignment: 4 +// Size: 0x2 +enum class EDemoBoneSelectionMode : uint32_t +{ + CaptureAllBones = 0x0, + CaptureSelectedBones = 0x1, +}; + +// Alignment: 4 +// Size: 0x25 +enum class AnimValueSource : uint32_t +{ + MoveHeading = 0x0, + MoveSpeed = 0x1, + ForwardSpeed = 0x2, + StrafeSpeed = 0x3, + FacingHeading = 0x4, + ManualFacingHeading = 0x5, + LookHeading = 0x6, + LookPitch = 0x7, + 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 +// Size: 0xd +enum class AnimVectorSource : uint32_t +{ + MoveDirection = 0x0, + FacingDirection = 0x1, + LookDirection = 0x2, + VectorParameter = 0x3, + WayPointDirection = 0x4, + Acceleration = 0x5, + SlopeNormal = 0x6, + SlopeNormal_WorldSpace = 0x7, + LookTarget = 0x8, + LookTarget_WorldSpace = 0x9, + WayPointPosition = 0xa, + GoalPosition = 0xb, + RootMotionVelocity = 0xc, +}; + +// Alignment: 4 +// Size: 0x3 +enum class DampingSpeedFunction : uint32_t +{ + NoDamping = 0x0, + Constant = 0x1, + Spring = 0x2, +}; + +// Alignment: 4 +// Size: 0x2 +enum class AnimNodeNetworkMode : uint32_t +{ + ServerAuthoritative = 0x0, + ClientSimulate = 0x1, +}; + +// Alignment: 4 +// Size: 0x4 +enum class StateActionBehavior : uint32_t +{ + STATETAGBEHAVIOR_ACTIVE_WHILE_CURRENT = 0x0, + STATETAGBEHAVIOR_FIRE_ON_ENTER = 0x1, + STATETAGBEHAVIOR_FIRE_ON_EXIT = 0x2, + STATETAGBEHAVIOR_FIRE_ON_ENTER_AND_EXIT = 0x3, +}; + +// Alignment: 4 +// Size: 0x3 +enum class FieldNetworkOption : uint32_t +{ + Auto = 0x0, + ForceEnable = 0x1, + ForceDisable = 0x2, +}; + +// Alignment: 4 +// Size: 0x8 +enum class FootFallTagFoot_t : uint32_t +{ + FOOT1 = 0x0, + FOOT2 = 0x1, + FOOT3 = 0x2, + FOOT4 = 0x3, + FOOT5 = 0x4, + FOOT6 = 0x5, + FOOT7 = 0x6, + FOOT8 = 0x7, +}; + +// Alignment: 4 +// Size: 0x2 +enum class MatterialAttributeTagType_t : uint32_t +{ + MATERIAL_ATTRIBUTE_TAG_VALUE = 0x0, + MATERIAL_ATTRIBUTE_TAG_COLOR = 0x1, +}; + +// Alignment: 1 +// Size: 0x3 +enum class VelocityMetricMode : uint8_t +{ + DirectionOnly = 0x0, + MagnitudeOnly = 0x1, + DirectionAndMagnitude = 0x2, +}; + +// Alignment: 4 +// Size: 0x4 +enum class AimMatrixBlendMode : uint32_t +{ + AimMatrixBlendMode_None = 0x0, + AimMatrixBlendMode_Additive = 0x1, + AimMatrixBlendMode_ModelSpaceAdditive = 0x2, + AimMatrixBlendMode_BoneMask = 0x3, +}; + +// Alignment: 4 +// Size: 0x4 +enum class BoneMaskBlendSpace : uint32_t +{ + BlendSpace_Parent = 0x0, + BlendSpace_Model = 0x1, + BlendSpace_Model_RotationOnly = 0x2, + BlendSpace_Model_TranslationOnly = 0x3, +}; + +// Alignment: 4 +// Size: 0x3 +enum class JiggleBoneSimSpace : uint32_t +{ + SimSpace_Local = 0x0, + SimSpace_Model = 0x1, + SimSpace_World = 0x2, +}; + +// Alignment: 4 +// Size: 0x7 +enum class SolveIKChainAnimNodeDebugSetting : uint32_t +{ + SOLVEIKCHAINANIMNODEDEBUGSETTING_None = 0x0, + SOLVEIKCHAINANIMNODEDEBUGSETTING_X_Axis_Circle = 0x1, + SOLVEIKCHAINANIMNODEDEBUGSETTING_Y_Axis_Circle = 0x2, + SOLVEIKCHAINANIMNODEDEBUGSETTING_Z_Axis_Circle = 0x3, + SOLVEIKCHAINANIMNODEDEBUGSETTING_Forward = 0x4, + SOLVEIKCHAINANIMNODEDEBUGSETTING_Up = 0x5, + SOLVEIKCHAINANIMNODEDEBUGSETTING_Left = 0x6, +}; + +// Alignment: 2 +// Size: 0x3 +enum class AnimScriptType : uint16_t +{ + ANIMSCRIPT_TYPE_INVALID = 0xffffffffffffffff, + ANIMSCRIPT_FUSE_GENERAL = 0x0, + ANIMSCRIPT_FUSE_STATEMACHINE = 0x1, +}; + +// Alignment: 4 +// Size: 0x3 +enum class BinaryNodeTiming : uint32_t +{ + UseChild1 = 0x0, + UseChild2 = 0x1, + SyncChildren = 0x2, +}; + +// Alignment: 4 +// Size: 0x2 +enum class BinaryNodeChildOption : uint32_t +{ + Child1 = 0x0, + Child2 = 0x1, +}; + +// Alignment: 4 +// Size: 0x4 +enum class BlendKeyType : uint32_t +{ + BlendKey_UserValue = 0x0, + BlendKey_Velocity = 0x1, + BlendKey_Distance = 0x2, + BlendKey_RemainingDistance = 0x3, +}; + +// Alignment: 4 +// Size: 0x2 +enum class Blend2DMode : uint32_t +{ + Blend2DMode_General = 0x0, + Blend2DMode_Directional = 0x1, +}; + +// Alignment: 4 +// Size: 0x4 +enum class ChoiceMethod : uint32_t +{ + WeightedRandom = 0x0, + WeightedRandomNoRepeat = 0x1, + Iterate = 0x2, + IterateRandom = 0x3, +}; + +// Alignment: 4 +// Size: 0x3 +enum class ChoiceChangeMethod : uint32_t +{ + OnReset = 0x0, + OnCycleEnd = 0x1, + OnResetOrCycleEnd = 0x2, +}; + +// Alignment: 4 +// Size: 0x2 +enum class ChoiceBlendMethod : uint32_t +{ + SingleBlendTime = 0x0, + PerChoiceBlendTimes = 0x1, +}; + +// Alignment: 4 +// Size: 0x2 +enum class FootLockSubVisualization : uint32_t +{ + FOOTLOCKSUBVISUALIZATION_ReachabilityAnalysis = 0x0, + FOOTLOCKSUBVISUALIZATION_IKSolve = 0x1, +}; + +// Alignment: 4 +// Size: 0x3 +enum class FootPinningTimingSource : uint32_t +{ + FootMotion = 0x0, + Tag = 0x1, + Parameter = 0x2, +}; + +// Alignment: 4 +// Size: 0x2 +enum class StepPhase : uint32_t +{ + StepPhase_OnGround = 0x0, + StepPhase_InAir = 0x1, +}; + +// Alignment: 4 +// Size: 0x2 +enum class JumpCorrectionMethod : uint32_t +{ + ScaleMotion = 0x0, + AddCorrectionDelta = 0x1, +}; + +// Alignment: 4 +// Size: 0x3 +enum class SelectorTagBehavior_t : uint32_t +{ + SelectorTagBehavior_OnWhileCurrent = 0x0, + SelectorTagBehavior_OffWhenFinished = 0x1, + SelectorTagBehavior_OffBeforeFinished = 0x2, +}; + +// Alignment: 4 +// Size: 0x2 +enum class StanceOverrideMode : uint32_t +{ + Sequence = 0x0, + Node = 0x1, +}; + +// Alignment: 4 +// Size: 0x5 +enum class ResetCycleOption : uint32_t +{ + Beginning = 0x0, + SameCycleAsSource = 0x1, + InverseSourceCycle = 0x2, + FixedValue = 0x3, + SameTimeAsSource = 0x4, +}; + +// Alignment: 4 +// Size: 0x2 +enum class IkEndEffectorType : uint32_t +{ + IkEndEffector_Attachment = 0x0, + IkEndEffector_Bone = 0x1, +}; + +// Alignment: 4 +// Size: 0x4 +enum class IkTargetType : uint32_t +{ + IkTarget_Attachment = 0x0, + IkTarget_Bone = 0x1, + IkTarget_Parameter_ModelSpace = 0x2, + IkTarget_Parameter_WorldSpace = 0x3, +}; + +// Alignment: 1 +// Size: 0x3 +enum class PoseType_t : uint8_t +{ + POSETYPE_STATIC = 0x0, + POSETYPE_DYNAMIC = 0x1, + POSETYPE_INVALID = 0xff, +}; + +// Alignment: 4 +// Size: 0x5 +enum class CAnimationGraphVisualizerPrimitiveType : uint32_t +{ + ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Text = 0x0, + ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Sphere = 0x1, + ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Line = 0x2, + ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Pie = 0x3, + ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Axis = 0x4, +}; + +// Alignment: 4 +// Size: 0x3 +enum class FacingMode : uint32_t +{ + FacingMode_Manual = 0x0, + FacingMode_Path = 0x1, + FacingMode_LookTarget = 0x2, +}; + +// Alignment: 4 +// Size: 0x6 +enum class IKSolverType : uint32_t +{ + IKSOLVER_Perlin = 0x0, + IKSOLVER_TwoBone = 0x1, + IKSOLVER_Fabrik = 0x2, + IKSOLVER_DogLeg3Bone = 0x3, + IKSOLVER_CCD = 0x4, + IKSOLVER_COUNT = 0x5, +}; + +// Alignment: 4 +// Size: 0x3 +enum class IKTargetSource : uint32_t +{ + IKTARGETSOURCE_Bone = 0x0, + IKTARGETSOURCE_AnimgraphParameter = 0x1, + IKTARGETSOURCE_COUNT = 0x2, +}; + +// Alignment: 4 +// Size: 0x3 +enum class IKTargetCoordinateSystem : uint32_t +{ + IKTARGETCOORDINATESYSTEM_WorldSpace = 0x0, + IKTARGETCOORDINATESYSTEM_ModelSpace = 0x1, + IKTARGETCOORDINATESYSTEM_COUNT = 0x2, +}; + struct CRangeFloat; struct AnimationDecodeDebugDumpElement_t; struct CAnimEncodeDifference; @@ -927,45 +808,6 @@ struct CSeqMultiFetchFlag; struct CSeqSeqDescFlag; struct CSeqMultiFetch; struct CSeqTransition; -struct AnimNodeID; -struct AnimNodeOutputID; -struct MotionIndex; -struct IKBoneNameAndIndex_t; -struct AnimParamID; -struct CAnimNodeManager; -struct CAnimComponentManager; -struct CAnimGraphSettingsManager; -struct CAnimNodePath; -struct HSequence; -struct CAnimParamHandle; -struct AnimComponentID; -struct CAnimInputDamping; -struct AnimTagID; -struct CAnimNodeConnection; -struct IKSolverSettings_t; -struct IKTargetSettings_t; -struct CFloatAnimValue; -struct CBlendCurve; -struct AnimStateID; -struct CConditionContainer; -struct AnimScriptHandle; -struct CVectorQuantizer; -struct CMotionSearchNode; -struct CProductQuantizer; -struct CMotionParameterManager; -struct CMotionNodeManager; -struct CAnimUpdateNodeRef; -struct CAnimAttachment; -struct SkeletalInputOpFixedSettings_t; -struct HitReactFixedSettings_t; -struct CParamSpanUpdater; -struct CPoseHandle; -struct TraceSettings_t; -struct FootLockPoseOpFixedSettings; -struct FootPinningPoseOpFixedData_t; -struct CMotionDataSet; -struct JiggleBoneSettingsList_t; -struct CMotionSearchDB; struct VPhysics2ShapeDef_t; struct VPhysXConstraintParams_t; struct VPhysXRange_t; @@ -985,13 +827,44 @@ struct CAnimCycle; struct CFootCycle; struct CFootCycleDefinition; struct CFootTrajectories; -struct CAnimClipDataManager; +struct CAnimGraphSettingsManager; +struct CAnimNodePath; +struct CAnimParamHandle; +struct HSequence; +struct AnimComponentID; +struct AnimScriptHandle; +struct AnimTagID; +struct CAnimInputDamping; +struct CAnimDemoCaptureSettings; struct CAnimStateMachineUpdater; +struct CMotionSearchDB; +struct CVectorQuantizer; +struct CMotionSearchNode; +struct CProductQuantizer; +struct CParamSpanUpdater; +struct AnimNodeID; +struct CAnimAttachment; +struct IKSolverSettings_t; +struct IKTargetSettings_t; +struct AnimParamID; +struct AnimStateID; +struct CAnimUpdateNodeRef; +struct TraceSettings_t; +struct CMotionDataSet; +struct CBlendCurve; +struct CPoseHandle; +struct SkeletalInputOpFixedSettings_t; +struct MotionIndex; +struct IKBoneNameAndIndex_t; struct AimMatrixOpFixedSettings_t; -struct TwoBoneIKSettings_t; -struct SolveIKChainPoseOpFixedSettings_t; -struct LookAtOpFixedSettings_t; struct FollowAttachmentSettings_t; +struct FootLockPoseOpFixedSettings; +struct FootPinningPoseOpFixedData_t; +struct HitReactFixedSettings_t; +struct JiggleBoneSettingsList_t; +struct LookAtOpFixedSettings_t; +struct SolveIKChainPoseOpFixedSettings_t; +struct TwoBoneIKSettings_t; // Alignment: 2 // Size: 0x10 @@ -1164,15 +1037,17 @@ public: // Alignment: 5 // Size: 0x38 -class CAnimAnimEvent +class CAnimEventDefinition { +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: - int32_t m_nFrame; // 0x0 - float m_flCycle; // 0x4 - KeyValues3 m_EventData; // 0x8 + int32_t m_nFrame; // 0x8 + float m_flCycle; // 0xc + KeyValues3 m_EventData; // 0x10 // MKV3TransferName "m_sOptions" - CBufferString m_sLegacyOptions; // 0x18 - CBufferString m_sEventName; // 0x28 + CBufferString m_sLegacyOptions; // 0x20 + CGlobalSymbol m_sEventName; // 0x30 }; // Alignment: 7 @@ -1286,7 +1161,7 @@ public: // MKV3TransferName "m_pData" CAnimEncodedFrames m_Data; // 0x20 CUtlVector< CAnimMovement > m_movementArray; // 0xf8 - CUtlVector< CAnimAnimEvent > m_eventArray; // 0x110 + CUtlVector< CAnimEventDefinition > m_eventArray; // 0x110 CUtlVector< CAnimActivity > m_activityArray; // 0x128 CUtlVector< CAnimLocalHierarchy > m_hierarchyArray; // 0x140 float framestalltime; // 0x158 @@ -1628,7 +1503,7 @@ public: int16_t m_nSubCycles; // 0x2c int16_t m_numLocalResults; // 0x2e CUtlVector< CSeqCmdLayer > m_cmdLayerArray; // 0x30 - CUtlVector< CAnimAnimEvent > m_eventArray; // 0x48 + CUtlVector< CAnimEventDefinition > m_eventArray; // 0x48 CUtlVector< CAnimActivity > m_activityArray; // 0x60 CUtlVector< CSeqPoseSetting > m_poseSettingArray; // 0x78 }; @@ -1704,71 +1579,17 @@ class HSequence { public: int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("animationsystem.dll")->FindDeclaredClass("HSequence")->m_static_fields[0]->m_instance);}; }; -// 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: 0x60 -class CAnimationGraphVisualizerText : public CAnimationGraphVisualizerPrimitiveBase +// Alignment: 1 +// Size: 0x1 +class CAnimEnum { public: - VectorAligned m_vWsPosition; // 0x40 - Color m_Color; // 0x50 -private: - [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 -public: - CUtlString m_Text; // 0x58 -}; - -// Alignment: 3 -// Size: 0x60 -class CAnimationGraphVisualizerSphere : public CAnimationGraphVisualizerPrimitiveBase -{ -public: - VectorAligned m_vWsPosition; // 0x40 - float m_flRadius; // 0x50 - Color m_Color; // 0x54 -}; - -// Alignment: 3 -// Size: 0x70 -class CAnimationGraphVisualizerLine : public CAnimationGraphVisualizerPrimitiveBase -{ -public: - VectorAligned m_vWsPositionStart; // 0x40 - VectorAligned m_vWsPositionEnd; // 0x50 - Color m_Color; // 0x60 -}; - -// Alignment: 4 -// Size: 0x80 -class CAnimationGraphVisualizerPie : public CAnimationGraphVisualizerPrimitiveBase -{ -public: - VectorAligned m_vWsCenter; // 0x40 - VectorAligned m_vWsStart; // 0x50 - VectorAligned m_vWsEnd; // 0x60 - Color m_Color; // 0x70 -}; - -// Alignment: 2 -// Size: 0x70 -class CAnimationGraphVisualizerAxis : public CAnimationGraphVisualizerPrimitiveBase -{ -public: - CTransform m_xWsTransform; // 0x40 - float m_flAxisSize; // 0x60 + uint8_t m_value; // 0x0 }; // Alignment: 1 @@ -1827,4780 +1648,16 @@ public: uint32_t m_id; // 0x0 }; -// Alignment: 1 -// Size: 0x1 -class CAnimEnum -{ -public: - uint8_t m_value; // 0x0 -}; - -// Alignment: 2 -// Size: 0x8 -class CBlendCurve -{ -public: - float m_flControlPoint1; // 0x0 - float m_flControlPoint2; // 0x4 -}; - -// Alignment: 2 -// Size: 0x30 -class CAnimNodePath -{ -public: - AnimNodeID m_path[11]; // 0x0 - int32_t m_nCount; // 0x2c -}; - -// Alignment: 2 -// Size: 0x4 -class CPoseHandle -{ -public: - uint16_t m_nIndex; // 0x0 - PoseType_t m_eType; // 0x2 -}; - -// Alignment: 2 -// Size: 0x8 -class CAnimNodeConnection -{ -public: - AnimNodeID m_nodeID; // 0x0 - AnimNodeOutputID m_outputID; // 0x4 -}; - -// Alignment: 2 -// Size: 0x4 -class ConfigIndex -{ -public: - uint16_t m_nGroup; // 0x0 - uint16_t m_nConfig; // 0x2 -}; - -// Alignment: 2 -// Size: 0x4 -class MotionIndex -{ -public: - uint16_t m_nGroup; // 0x0 - uint16_t m_nMotion; // 0x2 -}; - -// Alignment: 5 -// Size: 0x20 -class CMotionGraphConfig -{ -public: - float m_paramValues[4]; // 0x0 - float m_flDuration; // 0x10 - MotionIndex m_nMotionIndex; // 0x14 - int32_t m_nSampleStart; // 0x18 - int32_t m_nSampleCount; // 0x1c -}; - -// Alignment: 1 -// Size: 0x10 -struct IKBoneNameAndIndex_t -{ -public: - // MPropertyAttributeChoiceName "Bone" - CUtlString m_Name; // 0x0 -}; - -// Alignment: 2 -// Size: 0x8 -struct IKSolverSettings_t -{ -public: - // MPropertyFriendlyName "Solver Type" - // MPropertyAttributeChoiceEnumName - // MPropertyAttrChangeCallback - IKSolverType m_SolverType; // 0x0 - // MPropertyFriendlyName "Num Iterations " - // MPropertyAttrStateCallback - int32_t m_nNumIterations; // 0x4 -}; - -// Alignment: 4 -// Size: 0x20 -struct IKTargetSettings_t -{ -public: - // MPropertyFriendlyName "Target Source" - // MPropertyAttributeChoiceEnumName - // MPropertyAttrChangeCallback - IKTargetSource m_TargetSource; // 0x0 - // MPropertyFriendlyName "Bone" - // MPropertyAttrStateCallback - IKBoneNameAndIndex_t m_Bone; // 0x8 - // MPropertyFriendlyName "Animgraph Position Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - // MPropertyAttrStateCallback - AnimParamID m_AnimgraphParameterNamePosition; // 0x18 - // MPropertyFriendlyName "Target Coords" - // MPropertyAttrStateCallback - IKTargetCoordinateSystem m_TargetCoordSystem; // 0x1c -}; - -// Alignment: 1 -// Size: 0x48 -class CAnimNodeManager -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - // MPropertyHideField - CUtlHashtable< AnimNodeID, CSmartPtr< CAnimNodeBase > > m_nodes; // 0x8 -}; - -// Alignment: 2 -// Size: 0x28 -class CAnimGraphModelBinding -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - CUtlString m_modelName; // 0x8 - CSmartPtr< CAnimUpdateSharedData > m_pSharedData; // 0x10 -}; - -// Alignment: 1 -// Size: 0x38 -class CAnimClipDataManager -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - CUtlHashtable< CUtlString, CSmartPtr< CAnimClipData > > m_itemTable; // 0x18 -}; - -// Alignment: 2 -// Size: 0x48 -class CAnimClipData -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 -public: - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x20 - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_clipName; // 0x38 -}; - -// Alignment: 1 -// Size: 0x58 -class CAnimParameterList -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 -public: - CUtlVector< CSmartPtr< CAnimParameterBase > > m_Parameters; // 0x20 -}; - -// Alignment: 1 -// Size: 0x28 -class CAnimNodeList -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 -public: - CUtlVector< CAnimNodeBase* > m_nodes; // 0x10 -}; - -// Alignment: 1 -// Size: 0x28 -class CAnimComponentManager -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - CUtlVector< CSmartPtr< CAnimComponentBase > > m_components; // 0x8 -}; - -// Alignment: 1 -// Size: 0x28 -class CAnimStateList -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 -public: - CUtlVector< CAnimState* > m_states; // 0x10 -}; - -// Alignment: 2 -// Size: 0x10 -class CAnimInputDamping -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - // MPropertyFriendlyName "Speed Function" - DampingSpeedFunction m_speedFunction; // 0x8 - // MPropertyFriendlyName "Speed Scale" - float m_fSpeedScale; // 0xc -}; - -// Alignment: 1 -// Size: 0x30 -class CAnimGraphSettingsManager -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - CUtlVector< CSmartPtr< CAnimGraphSettingsGroup > > m_settingsGroups; // 0x18 -}; - -// Alignment: 3 -// Size: 0x18 -class CFloatAnimValue -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - // MPropertyHideField - float m_flConstValue; // 0x8 - // MPropertyHideField - AnimParamID m_paramID; // 0xc - // MPropertyHideField - EAnimValueSource m_eSource; // 0x10 -}; - -// Alignment: 4 -// Size: 0x40 -class CCachedPose -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - CUtlVector< CTransform > m_transforms; // 0x8 - CUtlVector< float32 > m_morphWeights; // 0x20 - HSequence m_hSequence; // 0x38 - float m_flCycle; // 0x3c -}; - -// Alignment: 3 -// Size: 0x30 -class CStaticPoseCache -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 -public: - CUtlVector< CCachedPose > m_poses; // 0x10 - int32_t m_nBoneCount; // 0x28 - int32_t m_nMorphCount; // 0x2c -}; - -// Alignment: 0 -// Size: 0x38 -class CStaticPoseCacheBuilder : public CStaticPoseCache -{ -public: - // No members available -}; - -// Alignment: 10 -// Size: 0x100 -class CAnimUpdateSharedData -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 -public: - CUtlVector< CSmartPtr< CAnimUpdateNodeBase > > m_nodes; // 0x10 - CUtlHashtable< CAnimNodePath, int32 > m_nodeIndexMap; // 0x28 - CUtlVector< CSmartPtr< CAnimComponentUpdater > > m_components; // 0x48 - CSmartPtr< CAnimParameterListUpdater > m_pParamListUpdater; // 0x60 - CSmartPtr< CAnimTagManagerUpdater > m_pTagManagerUpdater; // 0x68 - CSmartPtr< CAnimScriptManager > m_scriptManager; // 0x70 - CAnimGraphSettingsManager m_settings; // 0x78 - CSmartPtr< CStaticPoseCacheBuilder > m_pStaticPoseCache; // 0xa8 - CSmartPtr< CAnimSkeleton > m_pSkeleton; // 0xb0 - CAnimNodePath m_rootNodePath; // 0xb8 -}; - -// Alignment: 2 -// Size: 0x20 -class CAnimParamSpanSample -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - CAnimVariant m_value; // 0x8 -private: - [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 -public: - float m_flCycle; // 0x1c -}; - -// Alignment: 4 -// Size: 0x48 -class CAnimParamSpan -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 -public: - CUtlVector< CAnimParamSpanSample > m_samples; // 0x20 - AnimParamID m_id; // 0x38 - float m_flStartCycle; // 0x3c - float m_flEndCycle; // 0x40 -}; - -// Alignment: 2 -// Size: 0x18 -struct ParamSpanSample_t -{ -public: - CAnimVariant m_value; // 0x0 - float m_flCycle; // 0x14 -}; - -// Alignment: 2 -// Size: 0x2 -class CAnimParamHandle -{ -public: - AnimParamType_t m_type; // 0x0 - uint8_t m_index; // 0x1 -}; - -// Alignment: 1 -// Size: 0x18 -class CParamSpanUpdater -{ -public: - CUtlVector< ParamSpan_t > m_spans; // 0x0 -}; - -// Alignment: 0 -// Size: 0x20 -class CAnimGraphSettingsGroup -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x28 -class CAnimGraphNetworkSettings : public CAnimGraphSettingsGroup -{ -public: - // MPropertyFriendlyName "Enable Networking" - bool m_bNetworkingEnabled; // 0x20 -}; - -// 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: 6 -// Size: 0xe0 -class CAnimationSubGraph -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - CAnimNodeManager m_nodeManager; // 0x8 - CAnimComponentManager m_componentManager; // 0x50 - CUtlVector< CSmartPtr< CAnimParameterBase > > m_localParameters; // 0x78 - CUtlVector< CSmartPtr< CAnimTagBase > > m_localTags; // 0x90 - CUtlVector< CUtlString > m_referencedParamGroups; // 0xa8 - CUtlVector< CUtlString > m_referencedTagGroups; // 0xc0 -}; - -// Alignment: 2 -// Size: 0x58 -class CAnimScriptComponent : public CAnimComponentBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_sName; // 0x40 - // MPropertyFriendlyName "Script File" - // MPropertyAttributeEditor "AssetBrowse( as )" - // MPropertyAttrChangeCallback - CUtlString m_scriptFilename; // 0x48 -}; - -// Alignment: 2 -// Size: 0x58 -class CActionComponent : public CAnimComponentBase -{ -public: - CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x38 - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - 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 -{ -public: - // MPropertyFriendlyName "Value Type" - // MPropertyAttrChangeCallback - DampedValueType m_valueType; // 0x0 - // MPropertyFriendlyName "Parameter In" - // MPropertyAttributeChoiceName "FloatParameter" - // MPropertyAttrStateCallback - AnimParamID m_floatParamIn; // 0x4 - // MPropertyFriendlyName "Parameter Out" - // MPropertyAttributeChoiceName "PrivateFloatParameter" - // MPropertyAttrStateCallback - AnimParamID m_floatParamOut; // 0x8 - // MPropertyFriendlyName "Parameter In" - // MPropertyAttributeChoiceName "VectorParameter" - // MPropertyAttrStateCallback - AnimParamID m_vectorParamIn; // 0xc - // MPropertyFriendlyName "Parameter Out" - // MPropertyAttributeChoiceName "PrivateVectorParameter" - // MPropertyAttrStateCallback - AnimParamID m_vectorParamOut; // 0x10 -private: - [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 -public: - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x18 -}; - -// Alignment: 2 -// Size: 0x58 -class CDampedValueComponent : public CAnimComponentBase -{ -public: - // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x38 - // MPropertyFriendlyName "Items" - // MPropertyAutoExpandSelf - CUtlVector< CDampedValueItem > m_items; // 0x40 -}; - -// Alignment: 3 -// Size: 0x20 -class CDampedValueUpdateItem -{ -public: - CAnimInputDamping m_damping; // 0x0 - CAnimParamHandle m_hParamIn; // 0x18 - CAnimParamHandle m_hParamOut; // 0x1a -}; - -// Alignment: 7 -// Size: 0x108 -class CMovementComponent : public CAnimComponentBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "Movement Modes" - CUtlVector< CMovementMode > m_moveModes; // 0x40 - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimMotorBase > > m_motors; // 0x58 - // MPropertyFriendlyName "Network Path" - bool m_bNetworkPath; // 0x70 -private: - [[maybe_unused]] uint8_t __pad0071[0x3]; // 0x71 -public: - // MPropertyGroupName "+Facing" - // MPropertyFriendlyName "Default Mode" - FacingMode m_eDefaultFacingMode; // 0x74 - // MPropertyGroupName "+Facing" - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_facingDamping; // 0x78 - // MPropertyGroupName "+Facing" - // MPropertyFriendlyName "Network Facing" - bool m_bNetworkFacing; // 0x88 -private: - [[maybe_unused]] uint8_t __pad0089[0x3]; // 0x89 -public: - // MPropertyHideField - AnimParamID m_paramIDs[30]; // 0x8c -}; - -// Alignment: 1 -// Size: 0x40 -class CLODComponent : public CAnimComponentBase -{ -public: - int32_t m_nServerLOD; // 0x38 -}; - -// Alignment: 8 -// Size: 0x60 -class CLookComponent : public CAnimComponentBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "Network Look Target" - bool m_bNetworkLookTarget; // 0x40 -private: - [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 -public: - // MPropertyHideField - AnimParamID m_lookHeadingID; // 0x44 - // MPropertyHideField - AnimParamID m_lookHeadingVelocityID; // 0x48 - // MPropertyHideField - AnimParamID m_lookPitchID; // 0x4c - // MPropertyHideField - AnimParamID m_lookDistanceID; // 0x50 - // MPropertyHideField - AnimParamID m_lookDirectionID; // 0x54 - // MPropertyHideField - AnimParamID m_lookTargetID; // 0x58 - // MPropertyHideField - AnimParamID m_lookTargetWorldSpaceID; // 0x5c -}; - -// Alignment: 2 -// Size: 0x10 -class CRigidBodyWeight -{ -public: - CUtlString m_name; // 0x0 - float m_flWeight; // 0x8 -}; - -// Alignment: 2 -// Size: 0x28 -class CRigidBodyWeightList -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - CUtlString m_name; // 0x8 - CUtlVector< CRigidBodyWeight > m_weights; // 0x10 -}; - -// Alignment: 3 -// Size: 0x58 -class CRagdollComponent : public CAnimComponentBase -{ -public: - CUtlVector< CRigidBodyWeightList > m_weightLists; // 0x38 - float m_flSpringFrequencyMin; // 0x50 - float m_flSpringFrequencyMax; // 0x54 -}; - -// Alignment: 2 -// Size: 0x20 -class WeightList -{ -public: - CUtlString m_name; // 0x0 - CUtlVector< float32 > m_weights; // 0x8 -}; - -// Alignment: 7 -// Size: 0x60 -class CSlopeComponent : public CAnimComponentBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "Trace Distance" - float m_flTraceDistance; // 0x40 - // MPropertyHideField - AnimParamID m_slopeAngleID; // 0x44 - // MPropertyHideField - AnimParamID m_slopeHeadingID; // 0x48 - // MPropertyHideField - AnimParamID m_slopeAngleSideID; // 0x4c - // MPropertyHideField - AnimParamID m_slopeAngleFrontID; // 0x50 - // MPropertyHideField - AnimParamID m_slopeNormalID; // 0x54 - // MPropertyHideField - AnimParamID m_slopeNormal_WorldSpaceID; // 0x58 -}; - -// Alignment: 9 -// Size: 0x60 -class CVRInputComponent : public CAnimComponentBase -{ -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 -}; - -// Alignment: 0 -// Size: 0x28 -class CAnimActionBase -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x28]; // 0x0 -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x30 -class CEmitTagAction : public CAnimActionBase -{ -public: - // MPropertyFriendlyName "Tag" - // MPropertyAttributeChoiceName "Tag" - AnimTagID m_tag; // 0x28 -}; - -// Alignment: 2 -// Size: 0x40 -class CSetParameterAction : public CAnimActionBase -{ -public: - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "Parameter" - AnimParamID m_param; // 0x28 - // MPropertyFriendlyName "Value" - CAnimVariant m_value; // 0x2c -}; - -// Alignment: 2 -// Size: 0x30 -class CToggleComponentAction : public CAnimActionBase -{ -public: - // MPropertyFriendlyName "Component" - // MPropertyAttributeChoiceName "Component" - AnimComponentID m_componentID; // 0x28 - // MPropertyFriendlyName "Set Enabled" - bool m_bSetEnabled; // 0x2c -}; - -// Alignment: 2 -// Size: 0x38 -class CExpressionAction : public CAnimActionBase -{ -public: - AnimParamID m_param; // 0x28 -private: - [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c -public: - CUtlString m_expression; // 0x30 -}; - -// Alignment: 2 -// Size: 0x28 -class CAnimMotorBase -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_name; // 0x18 - // MPropertyFriendlyName "Is Default" - bool m_bDefault; // 0x20 -}; - -// Alignment: 1 -// Size: 0x30 -class CPathAnimMotorBase : public CAnimMotorBase -{ -public: - // MPropertyFriendlyName "Lock To Path" - // MPropertySortPriority "90" - bool m_bLockToPath; // 0x28 -}; - -// Alignment: 0 -// Size: 0x30 -class CPathAnimMotor : public CPathAnimMotorBase -{ -public: - // No members available -}; - -// Alignment: 7 -// Size: 0x50 -class CDampedPathAnimMotor : public CPathAnimMotorBase -{ -public: - // MPropertyFriendlyName "Anticipation Time" - float m_flAnticipationTime; // 0x30 - // MPropertyFriendlyName "Minimum Speed Percentage" - float m_flMinSpeedScale; // 0x34 - // MPropertyFriendlyName "Anticipation Position Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_anticipationPosParam; // 0x38 - // MPropertyFriendlyName "Anticipation Heading Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_anticipationHeadingParam; // 0x3c - // MPropertyFriendlyName "Spring Constant" - // MPropertyGroupName "+Stopping:Arrival Damping" - float m_flSpringConstant; // 0x40 - // MPropertyFriendlyName "Min Tension" - // MPropertyGroupName "+Stopping:Arrival Damping" - float m_flMinSpringTension; // 0x44 - // MPropertyFriendlyName "Max Tension" - // MPropertyGroupName "+Stopping:Arrival Damping" - float m_flMaxSpringTension; // 0x48 -}; - -// Alignment: 6 -// Size: 0x58 -class CPlayerInputAnimMotor : public CAnimMotorBase -{ -public: - // MPropertyFriendlyName "Sample Times" - CUtlVector< float32 > m_sampleTimes; // 0x28 - // MPropertyFriendlyName "Use Acceleration" - bool m_bUseAcceleration; // 0x40 -private: - [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 -public: - // MPropertyFriendlyName "Spring Constant" - float m_flSpringConstant; // 0x44 - // MPropertyFriendlyName "Anticipation Distance" - float m_flAnticipationDistance; // 0x48 - // MPropertyFriendlyName "Anticipation Position Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_anticipationPosParam; // 0x4c - // MPropertyFriendlyName "Anticipation Heading Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_anticipationHeadingParam; // 0x50 -}; - -// Alignment: 12 -// Size: 0x78 -class CAnimParameterBase -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CAnimGraphSymbolWithStorage m_name; // 0x18 - // MPropertyHideField - CUtlString m_group; // 0x38 - // MPropertyHideField - AnimParamID m_id; // 0x40 -private: - [[maybe_unused]] uint8_t __pad0044[0x14]; // 0x44 -public: - // MPropertyHideField - // MPropertyAttrChangeCallback - CUtlString m_componentName; // 0x58 -private: - [[maybe_unused]] uint8_t __pad0060[0x4]; // 0x60 -public: - // MPropertyFriendlyName "Preview Button" - AnimParamButton_t m_previewButton; // 0x64 - // MPropertyFriendlyName "Force Latest Value" - bool m_bUseMostRecentValue; // 0x68 - // MPropertyFriendlyName "Auto Reset" - bool m_bAutoReset; // 0x69 -private: - [[maybe_unused]] uint8_t __pad006a[0x2]; // 0x6a -public: - // MPropertyFriendlyName "Network" - AnimParamNetworkSetting m_eNetworkSetting; // 0x6c - // MPropertyFriendlyName "Game Writable" - // MPropertyGroupName "+Permissions" - // MPropertyAttrStateCallback - bool m_bGameWritable; // 0x70 - // MPropertyFriendlyName "Graph Writable" - // MPropertyGroupName "+Permissions" - // MPropertyAttrStateCallback - bool m_bGraphWritable; // 0x71 - // MPropertyHideField - bool m_bIsReferenced; // 0x72 - // MPropertyHideField - bool m_bNetworkingRequested; // 0x73 -}; - -// Alignment: 1 -// Size: 0x80 -class CBoolAnimParameter : public CAnimParameterBase -{ -public: - // MPropertyFriendlyName "Default Value" - bool m_bDefaultValue; // 0x78 -}; - -// Alignment: 2 -// Size: 0xd0 -class CEnumAnimParameter : public CAnimParameterBase -{ -private: - [[maybe_unused]] uint8_t __pad0078[0x8]; // 0x78 -public: - // MPropertyFriendlyName "Default Value" - uint8_t m_defaultValue; // 0x80 -private: - [[maybe_unused]] uint8_t __pad0081[0x7]; // 0x81 -public: - // MPropertyFriendlyName "Values" - CUtlVector< CUtlString > m_enumOptions; // 0x88 -}; - -// Alignment: 3 -// Size: 0x88 -class CIntAnimParameter : public CAnimParameterBase -{ -public: - // MPropertyFriendlyName "Default Value" - int32_t m_defaultValue; // 0x78 - // MPropertyFriendlyName "Min Value" - int32_t m_minValue; // 0x7c - // MPropertyFriendlyName "Max Value" - int32_t m_maxValue; // 0x80 -}; - -// Alignment: 4 -// Size: 0x88 -class CFloatAnimParameter : public CAnimParameterBase -{ -public: - // MPropertyFriendlyName "Default Value" - float m_fDefaultValue; // 0x78 - // MPropertyFriendlyName "Min Value" - float m_fMinValue; // 0x7c - // MPropertyFriendlyName "Max Value" - float m_fMaxValue; // 0x80 - // MPropertyFriendlyName "Interpolate" - bool m_bInterpolate; // 0x84 -}; - -// Alignment: 2 -// Size: 0x88 -class CVectorAnimParameter : public CAnimParameterBase -{ -public: - // MPropertyFriendlyName "Default Value" - Vector m_defaultValue; // 0x78 - // MPropertyFriendlyName "Interpolate" - bool m_bInterpolate; // 0x84 -}; - -// Alignment: 2 -// Size: 0xa0 -class CQuaternionAnimParameter : public CAnimParameterBase -{ -private: - [[maybe_unused]] uint8_t __pad0078[0x8]; // 0x78 -public: - // MPropertyFriendlyName "Default Value" - Quaternion m_defaultValue; // 0x80 - // MPropertyFriendlyName "Interpolate" - bool m_bInterpolate; // 0x90 -}; - -// Alignment: 4 -// Size: 0x38 -class CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 -public: - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_sName; // 0x20 - // MPropertyHideField - Vector2D m_vecPosition; // 0x28 - // MPropertyHideField - AnimNodeID m_nNodeID; // 0x30 - // MPropertyFriendlyName "Network Mode" - AnimNodeNetworkMode m_networkMode; // 0x34 -}; - -// Alignment: 5 -// Size: 0xa8 -class CSequenceAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x30]; // 0x38 -public: - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x68 - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimParamSpan > > m_paramSpans; // 0x80 - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x98 - // MPropertyFriendlyName "Playback Speed" - float m_playbackSpeed; // 0xa0 - // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0xa4 -}; - -// Alignment: 3 -// Size: 0x20 -class CBlendNodeChild -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x8 - // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x10 - // MPropertyFriendlyName "Blend Value" - float m_blendValue; // 0x18 -}; - -// Alignment: 9 -// Size: 0x80 -class CBlendAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x10]; // 0x38 -public: - // MPropertyFriendlyName "Blend Items" - // MPropertyAutoExpandSelf - CUtlVector< CBlendNodeChild > m_children; // 0x48 - // MPropertyFriendlyName "Blend Source" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_blendValueSource; // 0x60 - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x64 - // MPropertyFriendlyName "Blend Key Values" - BlendKeyType m_blendKeyType; // 0x68 - // MPropertyFriendlyName "Lock Blend on Reset" - bool m_bLockBlendOnReset; // 0x6c - // MPropertyFriendlyName "Sync Cycles" - bool m_bSyncCycles; // 0x6d - // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0x6e - // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0x6f - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x70 -}; - -// Alignment: 3 -// Size: 0x50 -class CRagdollAnimNode : public CAnimNodeBase -{ -public: - CUtlString m_weightListName; // 0x38 - RagdollPoseControl m_poseControlMethod; // 0x40 - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x44 -}; - -// Alignment: 1 -// Size: 0x58 -class CRootAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x18]; // 0x38 -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x50 -}; - -// Alignment: 4 -// Size: 0x18 -class CChoiceNodeChild -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x0 - // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x8 - // MPropertyFriendlyName "Weight" - float m_weight; // 0x10 - // MPropertyFriendlyName "Blend Time" - float m_blendTime; // 0x14 -}; - -// Alignment: 9 -// Size: 0x68 -class CChoiceAnimNode : public CAnimNodeBase -{ -public: - // MPropertyFriendlyName "Options" - // MPropertyAutoExpandSelf - CUtlVector< CChoiceNodeChild > m_children; // 0x38 - // MPropertyHideField - int32_t m_seed; // 0x50 - // MPropertyFriendlyName "Method" - ChoiceMethod m_choiceMethod; // 0x54 - // MPropertyFriendlyName "Change Selection" - ChoiceChangeMethod m_choiceChangeMethod; // 0x58 - // MPropertyGroupName "Blending" - // MPropertyFriendlyName "Blend Method" - // MPropertyAttrChangeCallback - ChoiceBlendMethod m_blendMethod; // 0x5c - // MPropertyGroupName "Blending" - // MPropertyFriendlyName "Blend Duration" - // MPropertyAttrStateCallback - float m_blendTime; // 0x60 - // MPropertyGroupName "Blending" - // MPropertyFriendlyName "Cross Fade" - bool m_bCrossFade; // 0x64 - // MPropertyFriendlyName "Reset On Selection" - // MPropertyAttrChangeCallback - bool m_bResetChosen; // 0x65 - // MPropertyFriendlyName "Don't Reset Same Selection" - // MPropertyAttrStateCallback - bool m_bDontResetSameSelection; // 0x66 -}; - -// Alignment: 3 -// Size: 0x48 -class CCycleControlAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Blend Source" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_valueSource; // 0x40 - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x44 -}; - -// Alignment: 4 -// Size: 0x78 -class CCycleControlClipAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x18]; // 0x38 -public: - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x50 - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x68 - // MPropertyFriendlyName "Blend Source" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_valueSource; // 0x70 - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x74 -}; - -// Alignment: 10 -// Size: 0x60 -class CAddAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_baseInput; // 0x38 - // MPropertyHideField - CAnimNodeConnection m_additiveInput; // 0x40 - // MPropertyFriendlyName "Timing Control" - // MPropertyAttrChangeCallback - BinaryNodeTiming m_timingBehavior; // 0x48 - // MPropertyFriendlyName "Timing Blend" - // MPropertyAttributeRange "0 1" - // MPropertyAttrStateCallback - float m_flTimingBlend; // 0x4c - // MPropertyFriendlyName "Foot Motion Timing" - BinaryNodeChildOption m_footMotionTiming; // 0x50 - // MPropertyFriendlyName "Add Foot Motion" - bool m_bApplyToFootMotion; // 0x54 - // MPropertyFriendlyName "Reset Base Child" - bool m_bResetBase; // 0x55 - // MPropertyFriendlyName "Reset Additive Child" - bool m_bResetAdditive; // 0x56 - // MPropertyFriendlyName "Treat Translation Separately" - bool m_bApplyChannelsSeparately; // 0x57 - // MPropertyFriendlyName "Use Model Space" - bool m_bUseModelSpace; // 0x58 -}; - -// Alignment: 10 -// Size: 0x60 -class CSubtractAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_baseInputConnection; // 0x38 - // MPropertyHideField - CAnimNodeConnection m_subtractInputConnection; // 0x40 - // MPropertyFriendlyName "Timing Control" - // MPropertyAttrChangeCallback - BinaryNodeTiming m_timingBehavior; // 0x48 - // MPropertyFriendlyName "Timing Blend" - // MPropertyAttributeRange "0 1" - // MPropertyAttrStateCallback - float m_flTimingBlend; // 0x4c - // MPropertyFriendlyName "Foot Motion Timing" - BinaryNodeChildOption m_footMotionTiming; // 0x50 - // MPropertyFriendlyName "Subtract Foot Motion" - bool m_bApplyToFootMotion; // 0x54 - // MPropertyFriendlyName "Reset Base Child" - bool m_bResetBase; // 0x55 - // MPropertyFriendlyName "Reset Subtracted Child" - bool m_bResetSubtract; // 0x56 - // MPropertyFriendlyName "Treat Translation Separately" - bool m_bApplyChannelsSeparately; // 0x57 - // MPropertyFriendlyName "Use Model Space" - bool m_bUseModelSpace; // 0x58 -}; - -// Alignment: 13 -// Size: 0x78 -class CMoverAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Generate Movement" - // MPropertyGroupName "Generate Movement" - // MPropertyAttrChangeCallback - bool m_bApplyMovement; // 0x40 -private: - [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 -public: - // MPropertyFriendlyName "Movement Velocity Parameter" - // MPropertyGroupName "Generate Movement" - // MPropertyAttributeChoiceName "VectorParameter" - // MPropertyAttrStateCallback - AnimParamID m_moveVectorParam; // 0x44 - // MPropertyFriendlyName "Orient Movement" - // MPropertyGroupName "Orient Movement" - // MPropertyAttrChangeCallback - bool m_bOrientMovement; // 0x48 -private: - [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 -public: - // MPropertyFriendlyName "Movement Heading Parameter" - // MPropertyGroupName "Orient Movement" - // MPropertyAttributeChoiceName "FloatParameter" - // MPropertyAttrStateCallback - AnimParamID m_moveHeadingParam; // 0x4c - // MPropertyFriendlyName "Additive" - bool m_bAdditive; // 0x50 - // MPropertyFriendlyName "Turn to Face" - // MPropertyGroupName "Turn to Face" - // MPropertyAttrChangeCallback - bool m_bTurnToFace; // 0x51 -private: - [[maybe_unused]] uint8_t __pad0052[0x2]; // 0x52 -public: - // MPropertyFriendlyName "Face Direction" - // MPropertyGroupName "Turn to Face" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_facingTarget; // 0x54 - // MPropertyFriendlyName "Facing Parameter" - // MPropertyGroupName "Turn to Face" - // MPropertyAttributeChoiceName "FloatParameter" - // MPropertyAttrStateCallback - AnimParamID m_param; // 0x58 - // MPropertyFriendlyName "Turn Limit Only" - // MPropertyGroupName "Turn to Face" - // MPropertyAttrStateCallback - // MPropertyAttrChangeCallback - bool m_bLimitOnly; // 0x5c -private: - [[maybe_unused]] uint8_t __pad005d[0x3]; // 0x5d -public: - // MPropertyFriendlyName "Turn to Face Offset" - // MPropertyAttributeRange "-180 180" - // MPropertyGroupName "Turn to Face" - // MPropertyAttrStateCallback - float m_flTurnToFaceOffset; // 0x60 - // MPropertyFriendlyName "Turn to Face Limit" - // MPropertyAttributeRange "0 180" - // MPropertyGroupName "Turn to Face" - // MPropertyAttrStateCallback - float m_flTurnToFaceLimit; // 0x64 - // MPropertyFriendlyName "Damping" - // MPropertyGroupName "Turn to Face" - // MPropertyAttrStateCallback - CAnimInputDamping m_damping; // 0x68 -}; - -// Alignment: 2 -// Size: 0x48 -class CSlowDownOnSlopesAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Slow Down Strength" - // MPropertyAttributeRange "0.1 2" - float m_flSlowDownStrength; // 0x40 -}; - -// Alignment: 7 -// Size: 0x58 -class CTurnHelperAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Turn to Face" - AnimValueSource m_facingTarget; // 0x40 - // MPropertyFriendlyName "Turn Start Time" - float m_turnStartTime; // 0x44 - // MPropertyFriendlyName "Turn Duration" - float m_turnDuration; // 0x48 - // MPropertyFriendlyName "Match Child Duration" - bool m_bMatchChildDuration; // 0x4c - // MPropertyFriendlyName "Use Manual Turn Offset" - bool m_bUseManualTurnOffset; // 0x4d -private: - [[maybe_unused]] uint8_t __pad004e[0x2]; // 0x4e -public: - // MPropertyFriendlyName "Manual Turn Offset" - float m_manualTurnOffset; // 0x50 -}; - -// Alignment: 11 -// Size: 0x90 -class CAimMatrixAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x40 - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x48 - // MPropertyFriendlyName "Angle Increment" - float m_fAngleIncrement; // 0x50 - // MPropertyFriendlyName "Target" - AnimVectorSource m_target; // 0x54 - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_param; // 0x58 -private: - [[maybe_unused]] uint8_t __pad005c[0x4]; // 0x5c -public: - // MPropertyFriendlyName "Aim Attachment" - // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x60 - // MPropertyFriendlyName "Blend Mode" - // MPropertyAttrChangeCallback - AimMatrixBlendMode m_blendMode; // 0x68 -private: - [[maybe_unused]] uint8_t __pad006c[0x4]; // 0x6c -public: - // MPropertyFriendlyName "Bone Mask" - // MPropertyAttributeChoiceName "BoneMask" - // MPropertyAttrStateCallback - CUtlString m_boneMaskName; // 0x70 - // MPropertyFriendlyName "Reset Child" - bool m_bResetBase; // 0x78 - // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0x79 -private: - [[maybe_unused]] uint8_t __pad007a[0x6]; // 0x7a -public: - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x80 -}; - -// Alignment: 2 -// Size: 0x48 -class CSpeedScaleAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x40 -}; - -// Alignment: 7 -// Size: 0x68 -class CDirectionalBlendAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "Sequence Names Prefix" - CUtlString m_animNamePrefix; // 0x40 - // MPropertyFriendlyName "Blend Source" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_blendValueSource; // 0x48 - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x4c - // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0x50 - // MPropertyFriendlyName "Lock Blend on Reset" - bool m_bLockBlendOnReset; // 0x51 -private: - [[maybe_unused]] uint8_t __pad0052[0x2]; // 0x52 -public: - // MPropertyFriendlyName "Playback Speed" - float m_playbackSpeed; // 0x54 - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x58 -}; - -// Alignment: 6 -// Size: 0x50 -class CWayPointHelperAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Start Cycle" - // MPropertyAttributeRange "0 1" - float m_flStartCycle; // 0x40 - // MPropertyFriendlyName "End Cycle" - // MPropertyAttributeRange "0 1" - float m_flEndCycle; // 0x44 - // MPropertyFriendlyName "Only align to Goals" - bool m_bOnlyGoals; // 0x48 - // MPropertyFriendlyName "Prevent Overshoot" - bool m_bPreventOvershoot; // 0x49 - // MPropertyFriendlyName "Prevent Undershoot" - bool m_bPreventUndershoot; // 0x4a -}; - -// Alignment: 13 -// Size: 0x78 -class CBoneMaskAnimNode : public CAnimNodeBase -{ -public: - // MPropertyFriendlyName "Bone Mask" - // MPropertyAttributeChoiceName "BoneMask" - CUtlString m_weightListName; // 0x38 - // MPropertyHideField - CAnimNodeConnection m_inputConnection1; // 0x40 - // MPropertyHideField - CAnimNodeConnection m_inputConnection2; // 0x48 - // MPropertyFriendlyName "Blend Space" - BoneMaskBlendSpace m_blendSpace; // 0x50 - // MPropertyFriendlyName "Use Blend Source" - // MPropertyAttrChangeCallback - bool m_bUseBlendScale; // 0x54 -private: - [[maybe_unused]] uint8_t __pad0055[0x3]; // 0x55 -public: - // MPropertyFriendlyName "Blend Source" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_blendValueSource; // 0x58 - // MPropertyFriendlyName "Blend Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - // MPropertyAttrStateCallback - AnimParamID m_blendParameter; // 0x5c - // MPropertyFriendlyName "Timing Control" - // MPropertyAttrChangeCallback - BinaryNodeTiming m_timingBehavior; // 0x60 - // MPropertyFriendlyName "Timing Blend" - // MPropertyAttributeRange "0 1" - // MPropertyAttrStateCallback - float m_flTimingBlend; // 0x64 - // MPropertyFriendlyName "Root Motion Blend" - // MPropertyAttributeRange "0 1" - float m_flRootMotionBlend; // 0x68 - // MPropertyFriendlyName "Foot Motion Timing" - BinaryNodeChildOption m_footMotionTiming; // 0x6c - // MPropertyFriendlyName "Reset Child1" - bool m_bResetChild1; // 0x70 - // MPropertyFriendlyName "Reset Child2" - bool m_bResetChild2; // 0x71 -}; - -// Alignment: 1 -// Size: 0x40 -class CChoreoAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 -}; - -// Alignment: 3 -// Size: 0x48 -class CDirectPlaybackAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Finish Early" - bool m_bFinishEarly; // 0x40 - // MPropertyFriendlyName "Reset Child On Finish" - bool m_bResetOnFinish; // 0x41 -}; - -// Alignment: 7 -// Size: 0x80 -class CLeanMatrixAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x40 - // MPropertyFriendlyName "Max Value" - float m_flMaxValue; // 0x48 - // MPropertyFriendlyName "Blend Source" - AnimVectorSource m_blendSource; // 0x4c - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_param; // 0x50 - // MPropertyFriendlyName "Vertical Axis" - Vector m_verticalAxisDirection; // 0x54 - // MPropertyFriendlyName "Horizontal Axis" - Vector m_horizontalAxisDirection; // 0x60 -private: - [[maybe_unused]] uint8_t __pad006c[0x4]; // 0x6c -public: - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x70 -}; - -// Alignment: 13 -// Size: 0x88 -class CTwoBoneIKAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "IK Chain" - // MPropertyAttributeChoiceName "IKChain" - CUtlString m_ikChainName; // 0x40 - // MPropertyFriendlyName "Auto-Detect Hinge Axis" - bool m_bAutoDetectHingeAxis; // 0x48 -private: - [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 -public: - // MPropertyGroupName "End Effector" - // MPropertyFriendlyName "End Effector Type" - // MPropertyAttrChangeCallback - IkEndEffectorType m_endEffectorType; // 0x4c - // MPropertyGroupName "End Effector" - // MPropertyFriendlyName "Attachment" - // MPropertyAttributeChoiceName "Attachment" - // MPropertyAttrStateCallback - CUtlString m_endEffectorAttachmentName; // 0x50 - // MPropertyGroupName "Target" - // MPropertyFriendlyName "Target Type" - // MPropertyAttrChangeCallback - IkTargetType m_targetType; // 0x58 -private: - [[maybe_unused]] uint8_t __pad005c[0x4]; // 0x5c -public: - // MPropertyGroupName "Target" - // MPropertyFriendlyName "Attachment" - // MPropertyAttributeChoiceName "Attachment" - // MPropertyAttrStateCallback - CUtlString m_attachmentName; // 0x60 - // MPropertyGroupName "Target" - // MPropertyFriendlyName "Bone" - // MPropertyAttributeChoiceName "Bone" - // MPropertyAttrStateCallback - CUtlString m_targetBoneName; // 0x68 - // MPropertyGroupName "Target" - // MPropertyFriendlyName "Position Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - // MPropertyAttrStateCallback - AnimParamID m_targetParam; // 0x70 - // MPropertyGroupName "Target" - // MPropertyFriendlyName "Match Target Orientation" - // MPropertyAttrChangeCallback - bool m_bMatchTargetOrientation; // 0x74 -private: - [[maybe_unused]] uint8_t __pad0075[0x3]; // 0x75 -public: - // MPropertyGroupName "Target" - // MPropertyFriendlyName "Rotation Parameter" - // MPropertyAttributeChoiceName "QuaternionParameter" - // MPropertyAttrStateCallback - AnimParamID m_rotationParam; // 0x78 - // MPropertyGroupName "Target" - // MPropertyFriendlyName "Constrain Twist" - // MPropertyAttrStateCallback - bool m_bConstrainTwist; // 0x7c -private: - [[maybe_unused]] uint8_t __pad007d[0x3]; // 0x7d -public: - // MPropertyGroupName "Target" - // MPropertyFriendlyName "Max Twist" - // MPropertyAttrStateCallback - float m_flMaxTwist; // 0x80 -}; - -// Alignment: 8 -// Size: 0x58 -class CSolveIKChainAnimNodeChainData -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - // MPropertyFriendlyName "IK Chain" - // MPropertyAttributeChoiceName "IKChain" - CUtlString m_IkChain; // 0x8 - // MPropertyFriendlyName "Solver Setting Source" - // MPropertyAttributeChoiceEnumName - // MPropertyAttrChangeCallback - SolveIKChainAnimNodeSettingSource m_SolverSettingSource; // 0x10 - // MPropertyFriendlyName "Override Solver Settings" - // MPropertyAutoExpandSelf - // MPropertyAttrStateCallback - IKSolverSettings_t m_OverrideSolverSettings; // 0x14 - // MPropertyFriendlyName "Target Setting Source" - // MPropertyAttributeChoiceEnumName - // MPropertyAttrChangeCallback - SolveIKChainAnimNodeSettingSource m_TargetSettingSource; // 0x1c - // MPropertyFriendlyName "Override Target Settings" - // MPropertyAutoExpandSelf - // MPropertyAttrStateCallback - IKTargetSettings_t m_OverrideTargetSettings; // 0x20 - // MPropertyFriendlyName "Debug Setting" - // MPropertyGroupName "Debug" - SolveIKChainAnimNodeDebugSetting m_DebugSetting; // 0x40 - // MPropertyFriendlyName "Debug Normalized Length" - // MPropertyGroupName "Debug" - float m_flDebugNormalizedLength; // 0x44 - // MPropertyFriendlyName "Debug Offset" - // MPropertyGroupName "Debug" - Vector m_vDebugOffset; // 0x48 -}; - -// Alignment: 2 -// Size: 0x60 -class CSolveIKChainAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x40 - // MPropertyFriendlyName "IK Chains" - // MPropertyAutoExpandSelf - CUtlVector< CSolveIKChainAnimNodeChainData > m_IkChains; // 0x48 -}; - -// Alignment: 17 -// Size: 0x88 -class CLookAtAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Target" - // MPropertyAttrChangeCallback - AnimVectorSource m_target; // 0x40 - // MPropertyFriendlyName "Target Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - // MPropertyAttrStateCallback - AnimParamID m_param; // 0x44 - // MPropertyFriendlyName "Parameter is a Position" - // MPropertyAttrStateCallback - bool m_bIsPosition; // 0x48 -private: - [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 -public: - // MPropertyFriendlyName "Weight Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_weightParam; // 0x4c - // MPropertyFriendlyName "LookAt Chain" - // MPropertyAttributeChoiceName "LookAtChain" - CUtlString m_lookatChainName; // 0x50 - // MPropertyFriendlyName "Aim Attachment" - // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x58 - // MPropertyFriendlyName "Rotate Through Forward" - // MPropertyGroupName "Rotation Limits" - // MPropertyAttrChangeCallback - bool m_bRotateYawForward; // 0x60 -private: - [[maybe_unused]] uint8_t __pad0061[0x3]; // 0x61 -public: - // MPropertyFriendlyName "Yaw Limit" - // MPropertyAttributeRange "0 180" - // MPropertyGroupName "Rotation Limits" - // MPropertyAttrStateCallback - float m_flYawLimit; // 0x64 - // MPropertyFriendlyName "Pitch Limit" - // MPropertyAttributeRange "0 90" - // MPropertyGroupName "Rotation Limits" - float m_flPitchLimit; // 0x68 - // MPropertyFriendlyName "Maintain Up Direction" - bool m_bMaintainUpDirection; // 0x6c - // MPropertyFriendlyName "Reset Child" - bool m_bResetBase; // 0x6d - // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0x6e - // MPropertyFriendlyName "Use Hysteresis" - // MPropertyGroupName "Hysteresis" - bool m_bUseHysteresis; // 0x6f - // MPropertyFriendlyName "Inner Angle" - // MPropertyGroupName "Hysteresis" - float m_flHysteresisInnerAngle; // 0x70 - // MPropertyFriendlyName "Outer Angle" - // MPropertyGroupName "Hysteresis" - float m_flHysteresisOuterAngle; // 0x74 - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x78 -}; - -// Alignment: 3 -// Size: 0x48 -class CPathHelperAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Stopping Radius" - float m_flStoppingRadius; // 0x40 - // MPropertyFriendlyName "Stopping Min Speed Scale" - float m_flStoppingSpeedScale; // 0x44 -}; - -// Alignment: 3 -// Size: 0x18 -class CConnectionProxyItem -{ -public: - // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x0 - // MPropertyHideField - AnimNodeOutputID m_outputID; // 0x8 - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0xc -}; - -// Alignment: 1 -// Size: 0x58 -class CProxyAnimNodeBase : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "External Connections" - // MPropertyAutoExpandSelf - // MPropertyAttrChangeCallback - CUtlVector< CConnectionProxyItem > m_proxyItems; // 0x40 -}; - -// Alignment: 5 -// Size: 0x58 -class CFollowAttachmentAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Bone" - // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x40 - // MPropertyFriendlyName "Target Attachment" - // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x48 - // MPropertyFriendlyName "Match Translation" - bool m_bMatchTranslation; // 0x50 - // MPropertyFriendlyName "Match Rotation" - bool m_bMatchRotation; // 0x51 -}; - -// Alignment: 4 -// Size: 0x48 -class CSkeletalInputAnimNode : public CAnimNodeBase -{ -public: - // MPropertyFriendlyName "Data Source" - // MPropertyAttrChangeCallback - AnimVrBoneTransformSource_t m_transformSource; // 0x38 - // MPropertyFriendlyName "Motion Range" - // MPropertyAttrStateCallback - AnimVRHandMotionRange_t m_motionRange; // 0x3c - // MPropertyFriendlyName "Enable IK" - // MPropertyGroupName "+Retargetting" - bool m_bEnableIK; // 0x40 - // MPropertyFriendlyName "Enable Collision" - // MPropertyGroupName "+Retargetting" - bool m_bEnableCollision; // 0x41 -}; - -// Alignment: 6 -// Size: 0x60 -class CStanceOverrideAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyHideField - CAnimNodeConnection m_stanceSourceConnection; // 0x40 - // MPropertyFriendlyName "Blend Parameter (optional)" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_blendParamID; // 0x48 - // MPropertyFriendlyName "Stance Source" - // MPropertyAttrChangeCallback - StanceOverrideMode m_eMode; // 0x4c - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - // MPropertyAttrStateCallback - CUtlString m_sequenceName; // 0x50 - // MPropertyFriendlyName "Frame" - // MPropertyAttrStateCallback - int32_t m_nFrameIndex; // 0x58 -}; - -// Alignment: 2 -// Size: 0x48 -class CStanceScaleAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x40 -}; - -// Alignment: 10 -// Size: 0xa8 -class CSelectorAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertySuppressField - CUtlVector< CAnimNodeConnection > m_children; // 0x40 - // MPropertyHideField - CUtlVector< AnimTagID > m_tags; // 0x58 - // MPropertyFriendlyName "Selection Source" - // MPropertyAttrChangeCallback - SelectionSource_t m_selectionSource; // 0x70 - // MPropertyFriendlyName "Bool Parameter" - // MPropertyAttributeChoiceName "BoolParameter" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimParamID m_boolParamID; // 0x74 - // MPropertyFriendlyName "Enum Parameter" - // MPropertyAttributeChoiceName "EnumParameter" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimParamID m_enumParamID; // 0x78 -private: - [[maybe_unused]] uint8_t __pad007c[0x4]; // 0x7c -public: - // MPropertyFriendlyName "Blend Duration" - CFloatAnimValue m_blendDuration; // 0x80 - // MPropertyFriendlyName "Tag Behavior" - SelectorTagBehavior_t m_tagBehavior; // 0x98 - // MPropertyFriendlyName "Reset On Change" - bool m_bResetOnChange; // 0x9c - // MPropertyFriendlyName "Start new option at same cycle" - bool m_bSyncCyclesOnChange; // 0x9d -private: - [[maybe_unused]] uint8_t __pad009e[0x2]; // 0x9e -public: - // MPropertyHideField - CBlendCurve m_blendCurve; // 0xa0 -}; - -// Alignment: 24 -// Size: 0xa8 -class CHitReactAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Minimum Delay Between Hits" - float m_flMinDelayBetweenHits; // 0x40 - // MPropertyFriendlyName "Trigger Parameter" - // MPropertyAttributeChoiceName "BoolParameter" - AnimParamID m_triggerParam; // 0x44 - // MPropertyFriendlyName "Hit Bone Parameter" - // MPropertyAttributeChoiceName "IntParameter" - AnimParamID m_hitBoneParam; // 0x48 - // MPropertyFriendlyName "Hit Offset Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_hitOffsetParam; // 0x4c - // MPropertyFriendlyName "Hit Direction Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_hitDirectionParam; // 0x50 - // MPropertyFriendlyName "Hit Strength Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_hitStrengthParam; // 0x54 - // MPropertyFriendlyName "Bone Weights" - // MPropertyAttributeChoiceName "BoneMask" - CUtlString m_weightListName; // 0x58 - // MPropertyFriendlyName "Hip Bone" - // MPropertyAttributeChoiceName "Bone" - CUtlString m_hipBoneName; // 0x60 - // MPropertyFriendlyName "Hip Translation Scale" - float m_flHipBoneTranslationScale; // 0x68 - // MPropertyFriendlyName "Number of bone effected" - int32_t m_nEffectedBoneCount; // 0x6c - // MPropertyFriendlyName "Max Impact Force" - float m_flMaxImpactForce; // 0x70 - // MPropertyFriendlyName "Min Impact Force" - float m_flMinImpactForce; // 0x74 - // MPropertyFriendlyName "Whip Impact Scale" - float m_flWhipImpactScale; // 0x78 - // MPropertyFriendlyName "Counter Rotation Scale" - float m_flCounterRotationScale; // 0x7c - // MPropertyFriendlyName "Distance Fade Scale" - float m_flDistanceFadeScale; // 0x80 - // MPropertyFriendlyName "Propagation Scale" - float m_flPropagationScale; // 0x84 - // MPropertyFriendlyName "Whip Delay Time" - float m_flWhipDelay; // 0x88 - // MPropertyFriendlyName "Spring Strength" - float m_flSpringStrength; // 0x8c - // MPropertyFriendlyName "Whip Spring Strength" - float m_flWhipSpringStrength; // 0x90 - // MPropertyFriendlyName "Hip Dip Spring Strength" - float m_flHipDipSpringStrength; // 0x94 - // MPropertyFriendlyName "Hip Dip Scale" - float m_flHipDipImpactScale; // 0x98 - // MPropertyFriendlyName "Hip Dip Delay Time" - float m_flHipDipDelay; // 0x9c - // MPropertyFriendlyName "Reset Child" - bool m_bResetBase; // 0xa0 -}; - -// Alignment: 3 -// Size: 0x30 -class CBlend2DItemBase -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - // MPropertyFriendlyName "Blend Value" - Vector2D m_blendValue; // 0x18 -private: - [[maybe_unused]] uint8_t __pad0020[0x8]; // 0x20 -public: - // MPropertyGroupName "+Duration Override" - // MPropertyFriendlyName "Use Custom Duration" - // MPropertyAttrChangeCallback - bool m_bUseCustomDuration; // 0x28 -private: - [[maybe_unused]] uint8_t __pad0029[0x3]; // 0x29 -public: - // MPropertyGroupName "+Duration Override" - // MPropertyFriendlyName "Custom Duration" - // MPropertyAttrStateCallback - float m_flCustomDuration; // 0x2c -}; - -// Alignment: 2 -// Size: 0x58 -class CSequenceBlend2DItem : public CBlend2DItemBase -{ -private: - [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 -public: - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x38 - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x50 -}; - -// Alignment: 2 -// Size: 0x48 -class CNodeBlend2DItem : public CBlend2DItemBase -{ -private: - [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x40 -}; - -// Alignment: 13 -// Size: 0xc8 -class CBlend2DAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x18]; // 0x38 -public: - // MPropertyHideField - CUtlVector< CSmartPtr< CBlend2DItemBase > > m_items; // 0x50 - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x68 - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimParamSpan > > m_paramSpans; // 0x80 - // MPropertyFriendlyName "Horizontal Axis" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_blendSourceX; // 0x98 - // MPropertyFriendlyName "Horizontal Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_paramX; // 0x9c - // MPropertyFriendlyName "Vertical Axis" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_blendSourceY; // 0xa0 - // MPropertyFriendlyName "Vertical Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_paramY; // 0xa4 - // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0xa8 - // MPropertyFriendlyName "Lock Blend on Reset" - bool m_bLockBlendOnReset; // 0xa9 - // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0xaa -private: - [[maybe_unused]] uint8_t __pad00ab[0x1]; // 0xab -public: - // MPropertyFriendlyName "Playback Speed" - float m_playbackSpeed; // 0xac - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0xb0 - // MPropertyFriendlyName "AnimEvents and Tags Exclusive To Most Weighted" - bool m_bAnimEventsAndTagsOnMostWeightedOnly; // 0xc0 -}; - -// Alignment: 10 -// Size: 0x78 -class CFootAdjustmentAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Turn to Face" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_facingTarget; // 0x40 - // MPropertyFriendlyName "Reset Child" - bool m_bResetChild; // 0x44 - // MPropertyFriendlyName "Animation Driven" - // MPropertyAttrChangeCallback - bool m_bAnimationDriven; // 0x45 -private: - [[maybe_unused]] uint8_t __pad0046[0x2]; // 0x46 -public: - // MPropertyFriendlyName "Base Anim Clips" - // MPropertyGroupName "Anim Driven Settings" - // MPropertyAttributeChoiceName "Sequence" - // MPropertyAttrStateCallback - CUtlString m_baseClipName; // 0x48 - // MPropertyFriendlyName "Clips" - // MPropertyGroupName "Anim Driven Settings" - // MPropertyAttributeChoiceName "Sequence" - // MPropertyAttrStateCallback - CUtlVector< CUtlString > m_clips; // 0x50 - // MPropertyFriendlyName "Turn Time Min" - // MPropertyGroupName "Procedural Settings" - // MPropertyAttrStateCallback - float m_flTurnTimeMin; // 0x68 - // MPropertyFriendlyName "Turn Time Max" - // MPropertyGroupName "Procedural Settings" - // MPropertyAttrStateCallback - float m_flTurnTimeMax; // 0x6c - // MPropertyFriendlyName "Step Height Max" - // MPropertyGroupName "Procedural Settings" - // MPropertyAttrStateCallback - float m_flStepHeightMax; // 0x70 - // MPropertyFriendlyName "Step Height Max Angle" - // MPropertyGroupName "Procedural Settings" - // MPropertyAttrStateCallback - float m_flStepHeightMaxAngle; // 0x74 -}; - -// Alignment: 7 -// Size: 0x28 -class CFootLockItem -{ -public: - // MPropertyFriendlyName "Foot" - // MPropertyAttributeChoiceName "Foot" - CUtlString m_footName; // 0x0 - // MPropertyFriendlyName "Target Bone" - // MPropertyAttributeChoiceName "Bone" - CUtlString m_targetBoneName; // 0x8 - // MPropertyFriendlyName "IK Chain" - // MPropertyAttributeChoiceName "IKChain" - CUtlString m_ikChainName; // 0x10 - // MPropertyFriendlyName "Disable Tag" - // MPropertyAttributeChoiceName "Tag" - AnimTagID m_disableTagID; // 0x18 - // MPropertyFriendlyName "Max Left Rotation" - // MPropertyAttributeRange "0 180" - float m_flMaxRotationLeft; // 0x1c - // MPropertyFriendlyName "Max Right Rotation" - // MPropertyAttributeRange "0 180" - float m_flMaxRotationRight; // 0x20 - // MPropertyFriendlyName "Footstep Landed Tag" - // MPropertyAttributeChoiceName "Tag" - AnimTagID m_footstepLandedTag; // 0x24 -}; - -// Alignment: 38 -// Size: 0x108 -class CFootLockAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Feet" - // MPropertyAutoExpandSelf - CUtlVector< CFootLockItem > m_items; // 0x40 - // MPropertyFriendlyName "Hip Bone" - // MPropertyAttributeChoiceName "Bone" - CUtlString m_hipBoneName; // 0x58 - // MPropertyFriendlyName "Blend Time" - float m_flBlendTime; // 0x60 - // MPropertyFriendlyName "Apply Foot Rotation Limits" - bool m_bApplyFootRotationLimits; // 0x64 - // MPropertyFriendlyName "Reset Child" - bool m_bResetChild; // 0x65 -private: - [[maybe_unused]] uint8_t __pad0066[0x2]; // 0x66 -public: - // MPropertyFriendlyName "IK Solver Type" - // MPropertyGroupName "IK" - // MPropertyAttrChangeCallback - IKSolverType m_ikSolverType; // 0x68 - // MPropertyFriendlyName "Always use fallback hinge" - // MPropertyGroupName "IK" - // MPropertyAttrStateCallback - bool m_bAlwaysUseFallbackHinge; // 0x6c - // MPropertyFriendlyName "Limit Leg Twist" - // MPropertyGroupName "IK" - // MPropertyAttrStateCallback - bool m_bApplyLegTwistLimits; // 0x6d -private: - [[maybe_unused]] uint8_t __pad006e[0x2]; // 0x6e -public: - // MPropertyFriendlyName "Max Leg Twist Angle" - // MPropertyGroupName "IK" - // MPropertyAttrStateCallback - float m_flMaxLegTwist; // 0x70 - // MPropertyFriendlyName "Curve Foot Paths" - // MPropertyGroupName "Curve Paths" - // MPropertyAttributeRange "0 1" - float m_flStrideCurveScale; // 0x74 - // MPropertyFriendlyName "Curve Paths Limit" - // MPropertyGroupName "Curve Paths" - // MPropertyAttributeRange "0 1" - float m_flStrideCurveLimitScale; // 0x78 - // MPropertyFriendlyName "Enable Vertical Curved Paths" - // MPropertyGroupName "Curve Paths" - bool m_bEnableVerticalCurvedPaths; // 0x7c - // MPropertyFriendlyName "Modulate Step Height" - // MPropertyGroupName "Step Height" - // MPropertyAttrChangeCallback - bool m_bModulateStepHeight; // 0x7d -private: - [[maybe_unused]] uint8_t __pad007e[0x2]; // 0x7e -public: - // MPropertyFriendlyName "Height Increase Scale" - // MPropertyGroupName "Step Height" - // MPropertyAttrStateCallback - float m_flStepHeightIncreaseScale; // 0x80 - // MPropertyFriendlyName "Height Decrease Scale" - // MPropertyGroupName "Step Height" - // MPropertyAttrStateCallback - float m_flStepHeightDecreaseScale; // 0x84 - // MPropertyFriendlyName "Enable Hip Shift" - // MPropertyGroupName "Hip Shift" - bool m_bEnableHipShift; // 0x88 -private: - [[maybe_unused]] uint8_t __pad0089[0x3]; // 0x89 -public: - // MPropertyFriendlyName "Hip Shift Scale" - // MPropertyGroupName "Hip Shift" - // MPropertyAttributeRange "0 1" - float m_flHipShiftScale; // 0x8c - // MPropertyFriendlyName "Damping" - // MPropertyGroupName "Hip Shift" - CAnimInputDamping m_hipShiftDamping; // 0x90 - // MPropertyFriendlyName "Apply Tilt" - // MPropertyGroupName "Tilt" - bool m_bApplyTilt; // 0xa0 -private: - [[maybe_unused]] uint8_t __pad00a1[0x3]; // 0xa1 -public: - // MPropertyFriendlyName "Tilt Plane Pitch Spring Strength" - // MPropertyGroupName "Tilt" - float m_flTiltPlanePitchSpringStrength; // 0xa4 - // MPropertyFriendlyName "Tilt Plane Roll Spring Strength" - // MPropertyGroupName "Tilt" - float m_flTiltPlaneRollSpringStrength; // 0xa8 - // MPropertyFriendlyName "Enable Lock Breaking" - // MPropertyGroupName "Lock Breaking" - bool m_bEnableLockBreaking; // 0xac -private: - [[maybe_unused]] uint8_t __pad00ad[0x3]; // 0xad -public: - // MPropertyFriendlyName "Tolerance" - // MPropertyGroupName "Lock Breaking" - float m_flLockBreakTolerance; // 0xb0 - // MPropertyFriendlyName "Blend Time" - // MPropertyGroupName "Lock Breaking" - float m_flLockBreakBlendTime; // 0xb4 - // MPropertyFriendlyName "Enable Stretching" - // MPropertyGroupName "Stretch" - bool m_bEnableStretching; // 0xb8 -private: - [[maybe_unused]] uint8_t __pad00b9[0x3]; // 0xb9 -public: - // MPropertyFriendlyName "Max Stretch Amount" - // MPropertyGroupName "Stretch" - float m_flMaxStretchAmount; // 0xbc - // MPropertyFriendlyName "Extension Scale" - // MPropertyGroupName "Stretch" - // MPropertyAttributeRange "0 1" - float m_flStretchExtensionScale; // 0xc0 - // MPropertyFriendlyName "Enable Ground Tracing" - // MPropertyGroupName "Ground IK" - // MPropertyAttrChangeCallback - bool m_bEnableGroundTracing; // 0xc4 -private: - [[maybe_unused]] uint8_t __pad00c5[0x3]; // 0xc5 -public: - // MPropertyFriendlyName "Angle Traces with Slope" - // MPropertyGroupName "Ground IK" - // MPropertyAttributeRange "0 1" - // MPropertyAttrStateCallback - float m_flTraceAngleBlend; // 0xc8 - // MPropertyFriendlyName "Apply Hip Drop" - // MPropertyGroupName "Ground IK" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - bool m_bApplyHipDrop; // 0xcc -private: - [[maybe_unused]] uint8_t __pad00cd[0x3]; // 0xcd -public: - // MPropertyFriendlyName "Max Foot Lift" - // MPropertyGroupName "Ground IK" - // MPropertyAttrStateCallback - float m_flMaxFootHeight; // 0xd0 - // MPropertyFriendlyName "Leg Extension Scale" - // MPropertyGroupName "Ground IK" - // MPropertyAttrStateCallback - float m_flExtensionScale; // 0xd4 - // MPropertyFriendlyName "Hip Damping" - // MPropertyGroupName "Ground IK" - // MPropertyAttrStateCallback - CAnimInputDamping m_hipDampingSettings; // 0xd8 - // MPropertyFriendlyName "Enable Root Height Damping" - // MPropertyGroupName "Root Height Damping" - // MPropertyAttrChangeCallback - bool m_bEnableRootHeightDamping; // 0xe8 -private: - [[maybe_unused]] uint8_t __pad00e9[0x7]; // 0xe9 -public: - // MPropertyFriendlyName "Damping Settings" - // MPropertyGroupName "Root Height Damping" - // MPropertyAttrStateCallback - CAnimInputDamping m_rootHeightDamping; // 0xf0 - // MPropertyFriendlyName "Max Offset" - // MPropertyGroupName "Root Height Damping" - // MPropertyAttrStateCallback - float m_flMaxRootHeightOffset; // 0x100 - // MPropertyFriendlyName "Min Offset" - // MPropertyGroupName "Root Height Damping" - // MPropertyAttrStateCallback - float m_flMinRootHeightOffset; // 0x104 -}; - -// Alignment: 11 -// Size: 0x50 -struct FootFixedData_t -{ -public: - VectorAligned m_vToeOffset; // 0x0 - VectorAligned m_vHeelOffset; // 0x10 - int32_t m_nTargetBoneIndex; // 0x20 - int32_t m_nAnkleBoneIndex; // 0x24 - int32_t m_nIKAnchorBoneIndex; // 0x28 - int32_t m_ikChainIndex; // 0x2c - float m_flMaxIKLength; // 0x30 - int32_t m_nFootIndex; // 0x34 - int32_t m_nTagIndex; // 0x38 - float m_flMaxRotationLeft; // 0x3c - float m_flMaxRotationRight; // 0x40 -}; - -// Alignment: 7 -// Size: 0x28 -class CFootPinningItem -{ -public: - // MPropertyFriendlyName "Foot" - // MPropertyAttributeChoiceName "Foot" - CUtlString m_footName; // 0x0 - // MPropertyFriendlyName "Target Bone" - // MPropertyAttributeChoiceName "Bone" - CUtlString m_targetBoneName; // 0x8 - // MPropertyFriendlyName "IK Chain" - // MPropertyAttributeChoiceName "IKChain" - CUtlString m_ikChainName; // 0x10 - // MPropertyFriendlyName "Tag" - // MPropertyAttributeChoiceName "Tag" - AnimTagID m_tag; // 0x18 - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "BoolParameter" - AnimParamID m_param; // 0x1c - // MPropertyFriendlyName "Max Left Rotation" - // MPropertyAttributeRange "0 180" - float m_flMaxRotationLeft; // 0x20 - // MPropertyFriendlyName "Max Right Rotation" - // MPropertyAttributeRange "0 180" - float m_flMaxRotationRight; // 0x24 -}; - -// Alignment: 11 -// Size: 0x88 -class CFootPinningAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Feet" - // MPropertyAutoExpandSelf - CUtlVector< CFootPinningItem > m_items; // 0x40 - // MPropertyFriendlyName "Lock Timing Source" - FootPinningTimingSource m_eTimingSource; // 0x58 - // MPropertyFriendlyName "Blend Time" - float m_flBlendTime; // 0x5c - // MPropertyFriendlyName "Lock Break Distance" - float m_flLockBreakDistance; // 0x60 - // MPropertyFriendlyName "Max Leg Straight Amount" - // MPropertyAttributeRange "0 1" - float m_flMaxLegStraightAmount; // 0x64 - // MPropertyFriendlyName "Limit Foot Rotation" - // MPropertyGroupName "Foot Rotation Limits" - bool m_bApplyFootRotationLimits; // 0x68 -private: - [[maybe_unused]] uint8_t __pad0069[0x7]; // 0x69 -public: - // MPropertyFriendlyName "Hip Bone" - // MPropertyAttributeChoiceName "Bone" - // MPropertyGroupName "Foot Rotation Limits" - CUtlString m_hipBoneName; // 0x70 - // MPropertyFriendlyName "Limit Leg Twist" - // MPropertyGroupName "Knee Twist Limits" - bool m_bApplyLegTwistLimits; // 0x78 -private: - [[maybe_unused]] uint8_t __pad0079[0x3]; // 0x79 -public: - // MPropertyFriendlyName "Max Leg Twist Angle" - // MPropertyGroupName "Knee Twist Limits" - float m_flMaxLegTwist; // 0x7c - // MPropertyFriendlyName "Reset Child" - bool m_bResetChild; // 0x80 -}; - -// Alignment: 14 -// Size: 0x78 -class CFollowPathAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Blend Out Time" - float m_flBlendOutTime; // 0x40 - // MPropertyFriendlyName "Block Non-Path Movement" - bool m_bBlockNonPathMovement; // 0x44 - // MPropertyFriendlyName "Stop Feet at Goal" - bool m_bStopFeetAtGoal; // 0x45 - // MPropertyFriendlyName "Enable Speed Scaling" - // MPropertyGroupName "Speed Scaling" - // MPropertyAttrChangeCallback - bool m_bScaleSpeed; // 0x46 -private: - [[maybe_unused]] uint8_t __pad0047[0x1]; // 0x47 -public: - // MPropertyFriendlyName "Scale" - // MPropertyGroupName "Speed Scaling" - // MPropertyAttributeRange "0 1" - // MPropertyAttrStateCallback - float m_flScale; // 0x48 - // MPropertyFriendlyName "Min Angle" - // MPropertyGroupName "Speed Scaling" - // MPropertyAttributeRange "0 180" - // MPropertyAttrStateCallback - float m_flMinAngle; // 0x4c - // MPropertyFriendlyName "Max Angle" - // MPropertyGroupName "Speed Scaling" - // MPropertyAttributeRange "0 180" - // MPropertyAttrStateCallback - float m_flMaxAngle; // 0x50 - // MPropertyFriendlyName "Blend Time" - // MPropertyGroupName "Speed Scaling" - // MPropertyAttrStateCallback - float m_flSpeedScaleBlending; // 0x54 - // MPropertyFriendlyName "Enable Turn to Face" - // MPropertyGroupName "Turn to Face" - // MPropertyAttrChangeCallback - bool m_bTurnToFace; // 0x58 -private: - [[maybe_unused]] uint8_t __pad0059[0x3]; // 0x59 -public: - // MPropertyFriendlyName "Target" - // MPropertyGroupName "Turn to Face" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_facingTarget; // 0x5c - // MPropertyFriendlyName "Parameter" - // MPropertyGroupName "Turn to Face" - // MPropertyAttributeChoiceName "FloatParameter" - // MPropertyAttrStateCallback - AnimParamID m_param; // 0x60 - // MPropertyFriendlyName "Offset" - // MPropertyGroupName "Turn to Face" - // MPropertyAttributeRange "-180 180" - // MPropertyAttrStateCallback - float m_flTurnToFaceOffset; // 0x64 - // MPropertyFriendlyName "Damping" - // MPropertyGroupName "Turn to Face" - // MPropertyAttrStateCallback - CAnimInputDamping m_damping; // 0x68 -}; - -// Alignment: 23 -// Size: 0xd0 -class CMotionMatchingAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x10]; // 0x38 -public: - // MPropertyHideField - CUtlVector< CSmartPtr< CMotionItemGroup > > m_groups; // 0x48 - // MPropertyHideField - CUtlVector< CSmartPtr< CMotionMetricBase > > m_metrics; // 0x60 - // MPropertyHideField - CBlendCurve m_blendCurve; // 0x78 - // MPropertyHideField - int32_t m_nRandomSeed; // 0x80 - // MPropertyFriendlyName "Sample Rate" - // MPropertyAttributeRange "0.01 0.2" - float m_flSampleRate; // 0x84 - // MPropertyFriendlyName "Search Every Update" - // MPropertyGroupName "Search Frequency" - // MPropertyAttrChangeCallback - bool m_bSearchEveryTick; // 0x88 -private: - [[maybe_unused]] uint8_t __pad0089[0x3]; // 0x89 -public: - // MPropertyFriendlyName "Search Interval" - // MPropertyGroupName "Search Frequency" - // MPropertyAttrStateCallback - float m_flSearchInterval; // 0x8c - // MPropertyFriendlyName "Search when motion ends" - // MPropertyGroupName "Search Frequency" - // MPropertyAttrStateCallback - bool m_bSearchWhenMotionEnds; // 0x90 - // MPropertyFriendlyName "Search when goal changes" - // MPropertyGroupName "Search Frequency" - // MPropertyAttrStateCallback - bool m_bSearchWhenGoalChanges; // 0x91 -private: - [[maybe_unused]] uint8_t __pad0092[0x2]; // 0x92 -public: - // MPropertyFriendlyName "Blend Time" - float m_flBlendTime; // 0x94 - // MPropertyFriendlyName "Selection Threshold" - float m_flSelectionThreshold; // 0x98 - // MPropertyFriendlyName "Re-Selection Time Window" - float m_flReselectionTimeWindow; // 0x9c - // MPropertyFriendlyName "Lock Selection When Waning" - bool m_bLockSelectionWhenWaning; // 0xa0 - // MPropertyFriendlyName "Enable Rotation Correction" - bool m_bEnableRotationCorrection; // 0xa1 - // MPropertyFriendlyName "Enable Goal Assist" - // MPropertyGroupName "Goal Assist" - // MPropertyAttrChangeCallback - bool m_bGoalAssist; // 0xa2 -private: - [[maybe_unused]] uint8_t __pad00a3[0x1]; // 0xa3 -public: - // MPropertyFriendlyName "Goal Assist Distance" - // MPropertyGroupName "Goal Assist" - // MPropertyAttrStateCallback - float m_flGoalAssistDistance; // 0xa4 - // MPropertyFriendlyName "Goal Assist Tolerance" - // MPropertyGroupName "Goal Assist" - // MPropertyAttrStateCallback - float m_flGoalAssistTolerance; // 0xa8 - // MPropertyFriendlyName "Enable Distance Scaling" - // MPropertyGroupName "Distance Scaling" - // MPropertyAttrChangeCallback - bool m_bEnableDistanceScaling; // 0xac -private: - [[maybe_unused]] uint8_t __pad00ad[0x3]; // 0xad -public: - // MPropertyFriendlyName "Outer Stopping Radius" - // MPropertyGroupName "Distance Scaling" - // MPropertyAttrStateCallback - float m_flDistanceScale_OuterRadius; // 0xb0 - // MPropertyFriendlyName "Inner Stopping Radius" - // MPropertyGroupName "Distance Scaling" - // MPropertyAttrStateCallback - float m_flDistanceScale_InnerRadius; // 0xb4 - // MPropertyFriendlyName "Maximum Speed Scale" - // MPropertyGroupName "Distance Scaling" - // MPropertyAttrStateCallback - float m_flDistanceScale_MaxScale; // 0xb8 - // MPropertyFriendlyName "Minimum Speed Scale" - // MPropertyGroupName "Distance Scaling" - // MPropertyAttrStateCallback - float m_flDistanceScale_MinScale; // 0xbc - // MPropertyFriendlyName "Damping" - // MPropertyGroupName "Distance Scaling" - // MPropertyAttrStateCallback - CAnimInputDamping m_distanceScale_Damping; // 0xc0 -}; - -// Alignment: 3 -// Size: 0x48 -class CSetFacingAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Facing Mode" - FacingMode m_facingMode; // 0x40 - // MPropertyFriendlyName "Reset Child" - bool m_bResetChild; // 0x44 -}; - -// Alignment: 6 -// Size: 0x60 -class CStopAtGoalAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Outer Stopping Radius" - float m_flOuterRadius; // 0x40 - // MPropertyFriendlyName "Inner Stopping Radius" - float m_flInnerRadius; // 0x44 - // MPropertyFriendlyName "Maximum Speed Scale" - float m_flMaxScale; // 0x48 - // MPropertyFriendlyName "Minimum Speed Scale" - float m_flMinScale; // 0x4c - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x50 -}; - -// Alignment: 7 -// Size: 0x30 -class CJiggleBoneItem -{ -public: - // MPropertyFriendlyName "Bone" - // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x0 - // MPropertyFriendlyName "Spring Strength" - float m_flSpringStrength; // 0x8 - // MPropertyFriendlyName "Sim Rate (FPS)" - float m_flSimRateFPS; // 0xc - // MPropertyFriendlyName "Damping" - // MPropertyAttributeRange "0 1" - float m_flDamping; // 0x10 - // MPropertyFriendlyName "Sim Space" - JiggleBoneSimSpace m_eSimSpace; // 0x14 - // MPropertyFriendlyName "Max" - // MPropertyGroupName "Movement Limits" - Vector m_vBoundsMaxLS; // 0x18 - // MPropertyFriendlyName "Min" - // MPropertyGroupName "Movement Limits" - Vector m_vBoundsMinLS; // 0x24 -}; - -// Alignment: 2 -// Size: 0x58 -class CJiggleBoneAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Jiggle Bones" - // MPropertyAutoExpandSelf - CUtlVector< CJiggleBoneItem > m_items; // 0x40 -}; - -// Alignment: 8 -// Size: 0xc8 -class CJumpHelperAnimNode : public CSequenceAnimNode -{ -private: - [[maybe_unused]] uint8_t __pad00a8[0x8]; // 0xa8 -public: - // MPropertyFriendlyName "Target Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_targetParamID; // 0xb0 - // MPropertySuppressField - float m_flJumpStartCycle; // 0xb4 - // MPropertySuppressField - float m_flJumpDuration; // 0xb8 - // MPropertyFriendlyName "Translate X" - bool m_bTranslateX; // 0xbc - // MPropertyFriendlyName "Translate Y" - bool m_bTranslateY; // 0xbd - // MPropertyFriendlyName "Translate Z" - bool m_bTranslateZ; // 0xbe - // MPropertyFriendlyName "Apply Speed Scale" - bool m_bScaleSpeed; // 0xbf - // MPropertyFriendlyName "Correction Method" - JumpCorrectionMethod m_eCorrectionMethod; // 0xc0 -}; - -// Alignment: 4 -// Size: 0x78 -class CSingleFrameAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x18]; // 0x38 -public: - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x50 - // MPropertyFriendlyName "Frame Selection" - // MPropertyAttrChangeCallback - SingleFrameSelection m_eFrameSelection; // 0x58 - // MPropertyFriendlyName "Frame Index" - // MPropertyAttrStateCallback - int32_t m_nFrameIndex; // 0x5c - CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x60 -}; - -// Alignment: 3 -// Size: 0x58 -class CCommentAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertySuppressField - CUtlString m_commentText; // 0x40 - // MPropertySuppressField - Vector2D m_size; // 0x48 - // MPropertyFriendlyName "Color" - Color m_color; // 0x50 -}; - -// Alignment: 3 -// Size: 0x70 -class CContainerAnimNodeBase : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x10]; // 0x38 -public: - // MPropertyHideField - AnimNodeID m_inputNodeID; // 0x48 - // MPropertyHideField - AnimNodeID m_outputNodeID; // 0x4c - // MPropertyHideField - CUtlHashtable< AnimNodeOutputID, CAnimNodeConnection > m_inputConnectionMap; // 0x50 -}; - -// Alignment: 0 -// Size: 0x38 -class CInputStreamAnimNode : public CAnimNodeBase -{ -public: - // No members available -}; - -// Alignment: 3 -// Size: 0x28 -class CFootStepTriggerItem -{ -public: - // MPropertyFriendlyName "Foot" - // MPropertyAttributeChoiceName "Foot" - CUtlString m_footName; // 0x0 - // MPropertyFriendlyName "Trigger Phase" - StepPhase m_triggerPhase; // 0x8 -private: - [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc -public: - // MPropertyFriendlyName "Tags" - // MPropertyAttributeChoiceName "Tag" - CUtlVector< AnimTagID > m_tags; // 0x10 -}; - -// Alignment: 3 -// Size: 0x60 -class CFootStepTriggerAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Tolerance" - float m_flTolerance; // 0x40 -private: - [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 -public: - // MPropertyFriendlyName "Feet" - // MPropertyAutoExpandSelf - CUtlVector< CFootStepTriggerItem > m_items; // 0x48 -}; - -// Alignment: 2 -// Size: 0xb8 -class CSubGraphAnimNode : public CContainerAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0070[0x8]; // 0x70 -public: - // MPropertyFriendlyName "SubGraph File" - // MPropertyAttributeEditor "AssetBrowse( vsubgrph )" - // MPropertyAttrChangeCallback - CUtlString m_subGraphFilename; // 0x78 - // MPropertyHideField - CUtlHashtable< CUtlString, CUtlString > m_animNameMap; // 0x80 -}; - -// Alignment: 0 -// Size: 0x38 -class CBindPoseAnimNode : public CAnimNodeBase -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x38 -class CZeroPoseAnimNode : public CAnimNodeBase -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x18 -class CStateAction -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - CSmartPtr< CAnimActionBase > m_pAction; // 0x8 - StateActionBehavior m_eBehavior; // 0x10 -}; - -// Alignment: 8 -// Size: 0x70 -class CAnimState -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x28]; // 0x0 -public: - // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimStateTransition > > m_transitions; // 0x28 - // MPropertyHideField - CUtlVector< CStateAction > m_actions; // 0x40 - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_name; // 0x58 - // MPropertyHideField - AnimStateID m_stateID; // 0x60 - // MPropertyHideField - Vector2D m_position; // 0x64 - // MPropertyFriendlyName "Start State" - bool m_bIsStartState; // 0x6c - // MPropertyFriendlyName "End State" - bool m_bIsEndtState; // 0x6d - // MPropertyFriendlyName "Passthrough" - bool m_bIsPassthrough; // 0x6e -}; - -// Alignment: 1 -// Size: 0x38 -class CConditionContainer -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 -public: - // MPropertySuppressField - CUtlVector< CSmartPtr< CConditionBase > > m_conditions; // 0x10 -}; - -// Alignment: 1 -// Size: 0x28 -class CAnimStateMachine -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimState > > m_states; // 0x8 -}; - -// Alignment: 2 -// Size: 0x10 -class CStateActionUpdater -{ -public: - CSmartPtr< CAnimActionUpdater > m_pAction; // 0x0 - StateActionBehavior m_eBehavior; // 0x8 -}; - -// Alignment: 3 -// Size: 0x3 -class CTransitionUpdateData -{ -public: - uint8_t m_srcStateIndex; // 0x0 - uint8_t m_destStateIndex; // 0x1 - struct - { - uint8_t m_bDisabled: 1; - uint8_t __pad0: 1; - }; // 2 bits -}; - -// Alignment: 8 -// Size: 0x48 -class CStateUpdateData -{ -public: - CUtlString m_name; // 0x0 - AnimScriptHandle m_hScript; // 0x8 -private: - [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc -public: - CUtlVector< int32 > m_transitionIndices; // 0x10 - CUtlVector< CStateActionUpdater > m_actions; // 0x28 - AnimStateID m_stateID; // 0x40 - struct - { - uint8_t m_bIsStartState: 1; - uint8_t m_bIsEndState: 1; - uint8_t m_bIsPassthrough: 1; - uint8_t __pad1: 3; - }; // 6 bits -}; - -// Alignment: 3 -// Size: 0x58 -class CAnimStateMachineUpdater -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - CUtlVector< CStateUpdateData > m_states; // 0x8 - CUtlVector< CTransitionUpdateData > m_transitions; // 0x20 -private: - [[maybe_unused]] uint8_t __pad0038[0x18]; // 0x38 -public: - int32_t m_startStateIndex; // 0x50 -}; - -// Alignment: 0 -// Size: 0x28 -class CConditionBase -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x28]; // 0x0 -public: - // No members available -}; - -// Alignment: 4 -// Size: 0x70 -class CAnimStateTransition -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x28]; // 0x0 -public: - // MPropertySuppressField - CConditionContainer m_conditionList; // 0x28 - // MPropertyHideField - AnimStateID m_srcState; // 0x60 - // MPropertyHideField - AnimStateID m_destState; // 0x64 - // MPropertyFriendlyName "Disable" - bool m_bDisabled; // 0x68 -}; - -// Alignment: 5 -// Size: 0x48 -class CCycleCondition : public CConditionBase -{ -public: - Comparison_t m_comparisonOp; // 0x28 -private: - [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c -public: - CUtlString m_comparisonString; // 0x30 - float m_comparisonValue; // 0x38 - ComparisonValueType m_comparisonValueType; // 0x3c -private: - [[maybe_unused]] uint8_t __pad003d[0x3]; // 0x3d -public: - AnimParamID m_comparisonParamID; // 0x40 -}; - -// Alignment: 2 -// Size: 0x30 -class CFinishedCondition : public CConditionBase -{ -public: - FinishedConditionOption m_option; // 0x28 - bool m_bIsFinished; // 0x2c -}; - -// Alignment: 0 -// Size: 0x60 -class COrCondition : public CConditionBase -{ -private: - [[maybe_unused]] uint8_t __pad0028[0x10]; // 0x28 -public: - // No members available -}; - -// Alignment: 4 -// Size: 0x50 -class CParameterCondition : public CConditionBase -{ -public: - AnimParamID m_paramID; // 0x28 - Comparison_t m_comparisonOp; // 0x2c - CAnimVariant m_comparisonValue; // 0x30 -private: - [[maybe_unused]] uint8_t __pad0041[0x7]; // 0x41 -public: - CUtlString m_comparisonString; // 0x48 -}; - -// Alignment: 6 -// Size: 0x40 -class CStateStatusCondition : public CConditionBase -{ -public: - StateValue m_sourceValue; // 0x28 - StateComparisonValueType m_comparisonValueType; // 0x2c - float m_comparisonFixedValue; // 0x30 - StateValue m_comparisonStateValue; // 0x34 - AnimParamID m_comparisonParamID; // 0x38 - Comparison_t m_comparisonOp; // 0x3c -}; - -// Alignment: 2 -// Size: 0x30 -class CTagCondition : public CConditionBase -{ -public: - // MPropertyFriendlyName "Tag" - // MPropertyAttributeChoiceName "Tag" - AnimTagID m_tagID; // 0x28 - // MPropertyFriendlyName "Value" - bool m_comparisonValue; // 0x2c -}; - -// Alignment: 2 -// Size: 0x38 -class CTimeCondition : public CConditionBase -{ -public: - Comparison_t m_comparisonOp; // 0x28 -private: - [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c -public: - CUtlString m_comparisonString; // 0x30 -}; - -// Alignment: 3 -// Size: 0xc -struct TagSpan_t -{ -public: - int32_t m_tagIndex; // 0x0 - float m_startCycle; // 0x4 - float m_endCycle; // 0x8 -}; - -// Alignment: 3 -// Size: 0x30 -class CAnimTagSpan -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 -public: - AnimTagID m_id; // 0x20 - float m_fStartCycle; // 0x24 - float m_fDuration; // 0x28 -}; - -// Alignment: 1 -// Size: 0x58 -class CAnimTagManager -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 -}; - -// Alignment: 4 -// Size: 0x38 -class CAnimTagBase -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 -public: - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_name; // 0x20 - // MPropertyHideField - CUtlString m_group; // 0x28 - // MPropertyHideField - AnimTagID m_tagID; // 0x30 - // MPropertyHideField - bool m_bIsReferenced; // 0x34 -}; - -// Alignment: 0 -// Size: 0x40 -class CStringAnimTag : public CAnimTagBase -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x48 -class CFootFallAnimTag : public CAnimTagBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "Foot" - FootFallTagFoot_t m_foot; // 0x40 -}; - -// Alignment: 7 -// Size: 0x58 -class CAudioAnimTag : public CAnimTagBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "Sound Event" - // MPropertyAttributeEditor "SoundPicker()" - CUtlString m_clipName; // 0x40 - // MPropertyFriendlyName "Attachment" - // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x48 - // MPropertyFriendlyName "Volume" - // MPropertyAttributeRange "0 1" - float m_flVolume; // 0x50 - // MPropertyFriendlyName "Stop on Tag End" - bool m_bStopWhenTagEnds; // 0x54 - // MPropertyFriendlyName "Stop When Graph Destroyed" - bool m_bStopWhenGraphEnds; // 0x55 - // MPropertyFriendlyName "Play on Server" - bool m_bPlayOnServer; // 0x56 - // MPropertyFriendlyName "Play on Client" - bool m_bPlayOnClient; // 0x57 -}; - -// Alignment: 4 -// Size: 0x60 -class CFootstepLandedAnimTag : public CAnimTagBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "Footstep Type" - FootstepLandedFootSoundType_t m_FootstepType; // 0x40 -private: - [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 -public: - // MPropertyFriendlyName "Override Sound" - // MPropertyAttributeChoiceName "Sound" - CUtlString m_OverrideSoundName; // 0x48 - // MPropertyFriendlyName "Debug Name" - CUtlString m_DebugAnimSourceString; // 0x50 - // MPropertyFriendlyName "Bone Name" - // MPropertyAttributeChoiceName "Bone" - CUtlString m_BoneName; // 0x58 -}; - -// Alignment: 1 -// Size: 0x48 -class CSequenceFinishedAnimTag : public CAnimTagBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x40 -}; - -// Alignment: 1 -// Size: 0x50 -class CTaskStatusAnimTag : public CAnimTagBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyHideField - CUtlString m_identifierString; // 0x40 -}; - -// Alignment: 4 -// Size: 0x58 -class CClothSettingsAnimTag : public CAnimTagBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "Stiffness" - // MPropertyAttributeRange "0 1" - float m_flStiffness; // 0x40 - // MPropertyFriendlyName "EaseIn" - // MPropertyAttributeRange "0 1" - float m_flEaseIn; // 0x44 - // MPropertyFriendlyName "EaseOut" - // MPropertyAttributeRange "0 1" - float m_flEaseOut; // 0x48 -private: - [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c -public: - // MPropertyFriendlyName "VertexSet" - CUtlString m_nVertexSet; // 0x50 -}; - -// Alignment: 6 -// Size: 0x58 -class CRagdollAnimTag : public CAnimTagBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "Pose Control" - AnimPoseControl m_nPoseControl; // 0x40 - // MPropertyFriendlyName "Frequency" - // MPropertyAttributeRange "0 30" - float m_flFrequency; // 0x44 - // MPropertyFriendlyName "Damping Ratio" - // MPropertyAttributeRange "0 2" - float m_flDampingRatio; // 0x48 - // MPropertyFriendlyName "Decay Duration" - // MPropertyAttributeRange "-1 1000" - float m_flDecayDuration; // 0x4c - // MPropertyFriendlyName "Decay Bias" - // MPropertyAttributeRange "0 1" - float m_flDecayBias; // 0x50 - // MPropertyFriendlyName "Destroy" - bool m_bDestroy; // 0x54 -}; - -// Alignment: 10 -// Size: 0x80 -class CParticleAnimTag : public CAnimTagBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertySuppressField - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hParticleSystem; // 0x40 - // MPropertyAttributeEditor "AssetBrowse( vpcf )" - // MPropertyFriendlyName "Particle System" - CUtlString m_particleSystemName; // 0x48 - // MPropertyFriendlyName "Configuration" - CUtlString m_configName; // 0x50 - // MPropertyFriendlyName "Detach From Owner" - bool m_bDetachFromOwner; // 0x58 - // MPropertyFriendlyName "Stop on Tag End" - // MPropertyGroupName "Ending" - bool m_bStopWhenTagEnds; // 0x59 - // MPropertyFriendlyName "Tag End Stop is Instant" - // MPropertyGroupName "Ending" - bool m_bTagEndStopIsInstant; // 0x5a -private: - [[maybe_unused]] uint8_t __pad005b[0x5]; // 0x5b -public: - // MPropertyFriendlyName "Attachment" - // MPropertyGroupName "Attachments" - // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x60 - // MPropertyFriendlyName "Attachment Type" - // MPropertyGroupName "Attachments" - ParticleAttachment_t m_attachmentType; // 0x68 -private: - [[maybe_unused]] uint8_t __pad006c[0x4]; // 0x6c -public: - // MPropertyFriendlyName "Attachment (Control Point 1)" - // MPropertyGroupName "Attachments" - // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentCP1Name; // 0x70 - // MPropertyFriendlyName "Attachment Type (Control Point 1)" - // MPropertyGroupName "Attachments" - ParticleAttachment_t m_attachmentCP1Type; // 0x78 -}; - -// Alignment: 4 -// Size: 0x58 -class CMaterialAttributeAnimTag : public CAnimTagBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "Attribute Name" - CUtlString m_AttributeName; // 0x40 - // MPropertyFriendlyName "Attribute Type" - // MPropertyAttrChangeCallback - MatterialAttributeTagType_t m_AttributeType; // 0x48 - // MPropertyFriendlyName "Value" - // MPropertyAttrStateCallback - float m_flValue; // 0x4c - // MPropertyFriendlyName "Color" - // MPropertyAttrStateCallback - Color m_Color; // 0x50 -}; - -// Alignment: 2 -// Size: 0x10 -class CBodyGroupSetting -{ -public: - // MPropertyFriendlyName "BodyGroup" - // MPropertyAttributeChoiceName "BodyGroup" - // MPropertyAutoRebuildOnChange - CUtlString m_BodyGroupName; // 0x0 - // MPropertyFriendlyName "BodyGroup Option" - // MPropertyAttributeChoiceName "BodyGroupOption" - // MPropertyAttrExtraInfoFn - int32_t m_nBodyGroupOption; // 0x8 -}; - -// Alignment: 2 -// Size: 0x60 -class CBodyGroupAnimTag : public CAnimTagBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - // MPropertyFriendlyName "Priority" - int32_t m_nPriority; // 0x40 -private: - [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 -public: - // MPropertyFriendlyName "Body Group Settings" - CUtlVector< CBodyGroupSetting > m_bodyGroupSettings; // 0x48 -}; - -// Alignment: 0 -// Size: 0x50 -class CMotionNodeManager : public CAnimNodeManager -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x28 -class CMotionParameterManager -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 -public: - CUtlVector< CSmartPtr< CMotionParameter > > m_params; // 0x10 -}; - -// Alignment: 5 -// Size: 0x30 -class CMotionParameter -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - CUtlString m_name; // 0x18 - AnimParamID m_id; // 0x20 - float m_flMinValue; // 0x24 - float m_flMaxValue; // 0x28 - int32_t m_nSamples; // 0x2c -}; - -// Alignment: 1 -// Size: 0x8 -class SampleCode -{ -public: - uint8_t m_subCode[8]; // 0x0 -}; - -// Alignment: 1 -// Size: 0x4 -class MotionDBIndex -{ -public: - uint32_t m_nIndex; // 0x0 -}; - -// Alignment: 3 -// Size: 0x20 -class CVectorQuantizer -{ -public: - CUtlVector< float32 > m_centroidVectors; // 0x0 - int32_t m_nCentroids; // 0x18 - int32_t m_nDimensions; // 0x1c -}; - -// Alignment: 2 -// Size: 0x20 -class CProductQuantizer -{ -public: - CUtlVector< CVectorQuantizer > m_subQuantizers; // 0x0 - int32_t m_nDimensions; // 0x18 -}; - // Alignment: 5 // Size: 0x80 -class CMotionSearchNode +class CAnimAttachment { public: - CUtlVector< CMotionSearchNode* > m_children; // 0x0 - CVectorQuantizer m_quantizer; // 0x18 - CUtlVector< CUtlVector< SampleCode > > m_sampleCodes; // 0x38 - CUtlVector< CUtlVector< int32 > > m_sampleIndices; // 0x50 - CUtlVector< int32 > m_selectableSamples; // 0x68 -}; - -// Alignment: 3 -// Size: 0xb8 -class CMotionSearchDB -{ -public: - CMotionSearchNode m_rootNode; // 0x0 - CProductQuantizer m_residualQuantizer; // 0x80 - CUtlVector< MotionDBIndex > m_codeIndices; // 0xa0 -}; - -// Alignment: 3 -// Size: 0x78 -class CMotionItemGroup -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 -public: - // MPropertyHideField - CUtlVector< CSmartPtr< CMotionItem > > m_motions; // 0x20 - // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x38 - CConditionContainer m_conditions; // 0x40 -}; - -// Alignment: 5 -// Size: 0xa8 -class CMotionItem -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x28]; // 0x0 -public: - // MPropertyHideField - CMotionParameterManager m_paramManager; // 0x28 - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_blockSpans; // 0x50 - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x68 - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimParamSpan > > m_paramSpans; // 0x80 -private: - [[maybe_unused]] uint8_t __pad0098[0x8]; // 0x98 -public: - // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0xa0 -}; - -// Alignment: 1 -// Size: 0xb8 -class CSequenceMotionItem : public CMotionItem -{ -private: - [[maybe_unused]] uint8_t __pad00a8[0x8]; // 0xa8 -public: - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0xb0 -}; - -// Alignment: 2 -// Size: 0x108 -class CGraphMotionItem : public CMotionItem -{ -private: - [[maybe_unused]] uint8_t __pad00a8[0x8]; // 0xa8 -public: - // MPropertyFriendlyName "Name" - CUtlString m_name; // 0xb0 - // MPropertyHideField - CMotionNodeManager m_nodeManager; // 0xb8 -}; - -// Alignment: 1 -// Size: 0x28 -class CMotionMetricBase -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 -public: - // MPropertyHideField - float m_flWeight; // 0x20 -}; - -// Alignment: 0 -// Size: 0x28 -class CBlockSelectionMetric : public CMotionMetricBase -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x40 -class CFootCycleMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Foot" - // MPropertyAttributeChoiceName "Foot" - // MPropertyAutoExpandSelf - CUtlVector< CUtlString > m_feet; // 0x28 -}; - -// Alignment: 0 -// Size: 0x28 -class CCurrentRotationVelocityMetric : public CMotionMetricBase -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x28 -class CCurrentVelocityMetric : public CMotionMetricBase -{ -public: - // No members available -}; - -// Alignment: 4 -// Size: 0x50 -class CPathMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Distance" - float m_flDistance; // 0x28 -private: - [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c -public: - // MPropertyFriendlyName "Samples Times" - CUtlVector< float32 > m_pathSamples; // 0x30 - // MPropertyFriendlyName "Extrapolate Movement" - // MPropertyAttrChangeCallback - bool m_bExtrapolateMovement; // 0x48 -private: - [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 -public: - // MPropertyFriendlyName "Min Extrapolation Speed" - // MPropertyAttrStateCallback - float m_flMinExtrapolationSpeed; // 0x4c -}; - -// Alignment: 2 -// Size: 0x30 -class CFutureFacingMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Distance" - float m_flDistance; // 0x28 - // MPropertyFriendlyName "Time" - float m_flTime; // 0x2c -}; - -// Alignment: 5 -// Size: 0x38 -class CFutureVelocityMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Distance" - float m_flDistance; // 0x28 - // MPropertyFriendlyName "Stopping Distance" - float m_flStoppingDistance; // 0x2c - // MPropertyFriendlyName "Mode" - // MPropertyAttrChangeCallback - VelocityMetricMode m_eMode; // 0x30 - // MPropertyFriendlyName "Auto-Calculate target speed" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - bool m_bAutoTargetSpeed; // 0x31 -private: - [[maybe_unused]] uint8_t __pad0032[0x2]; // 0x32 -public: - // MPropertyFriendlyName "Target Speed" - // MPropertyAttrStateCallback - float m_flManualTargetSpeed; // 0x34 -}; - -// Alignment: 1 -// Size: 0x30 -class CBonePositionMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Bone" - // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x28 -}; - -// Alignment: 1 -// Size: 0x30 -class CBoneVelocityMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Bone" - // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x28 -}; - -// Alignment: 7 -// Size: 0x48 -class CDistanceRemainingMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Maximum Tracked Distance" - float m_flMaxDistance; // 0x28 - // MPropertyFriendlyName "Filter By Fixed Distance" - // MPropertyAttrChangeCallback - bool m_bFilterFixedMinDistance; // 0x2c -private: - [[maybe_unused]] uint8_t __pad002d[0x3]; // 0x2d -public: - // MPropertyFriendlyName "Min Distance" - // MPropertyAttrStateCallback - float m_flMinDistance; // 0x30 - // MPropertyFriendlyName "Filter By Goal Distance" - // MPropertyAttrChangeCallback - bool m_bFilterGoalDistance; // 0x34 -private: - [[maybe_unused]] uint8_t __pad0035[0x3]; // 0x35 -public: - // MPropertyFriendlyName "Goal Filter Start Distance" - // MPropertyAttrStateCallback - float m_flStartGoalFilterDistance; // 0x38 - // MPropertyFriendlyName "Filter By Goal Overshoot" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - bool m_bFilterGoalOvershoot; // 0x3c -private: - [[maybe_unused]] uint8_t __pad003d[0x3]; // 0x3d -public: - // MPropertyFriendlyName "Max Goal Overshoot Scale" - // MPropertyAttrStateCallback - float m_flMaxGoalOvershootScale; // 0x40 -}; - -// Alignment: 2 -// Size: 0x48 -class CStepsRemainingMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Feet" - // MPropertyAttributeChoiceName "Foot" - // MPropertyAutoExpandSelf - CUtlVector< CUtlString > m_feet; // 0x28 - // MPropertyFriendlyName "Min Steps Remaining" - float m_flMinStepsRemaining; // 0x40 -}; - -// Alignment: 4 -// Size: 0x38 -class CTimeRemainingMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Match Time Remaining" - // MPropertyGroupName - // MPropertyAttrChangeCallback - bool m_bMatchByTimeRemaining; // 0x28 -private: - [[maybe_unused]] uint8_t __pad0029[0x3]; // 0x29 -public: - // MPropertyFriendlyName "Max Time Remaining" - // MPropertyAttrStateCallback - float m_flMaxTimeRemaining; // 0x2c - // MPropertyFriendlyName "Filter By Time Remaining" - // MPropertyAttrChangeCallback - bool m_bFilterByTimeRemaining; // 0x30 -private: - [[maybe_unused]] uint8_t __pad0031[0x3]; // 0x31 -public: - // MPropertyFriendlyName "Min Time Remaining" - // MPropertyAttrStateCallback - float m_flMinTimeRemaining; // 0x34 -}; - -// Alignment: 2 -// Size: 0x48 -class CFootPositionMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Foot" - // MPropertyAttributeChoiceName "Foot" - // MPropertyAutoExpandSelf - CUtlVector< CUtlString > m_feet; // 0x28 - // MPropertyFriendlyName "Ignore Slope" - bool m_bIgnoreSlope; // 0x40 -}; - -// Alignment: 5 -// Size: 0x58 -struct ScriptInfo_t -{ -public: - CUtlString m_code; // 0x0 - CUtlVector< CAnimParamHandle > m_paramsModified; // 0x8 - CUtlVector< int32 > m_proxyReadParams; // 0x20 - CUtlVector< int32 > m_proxyWriteParams; // 0x38 - AnimScriptType m_eScriptType; // 0x50 -}; - -// Alignment: 1 -// Size: 0x110 -class CAnimScriptManager -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 -public: - CUtlVector< ScriptInfo_t > m_scriptInfo; // 0x10 -}; - -// Alignment: 5 -// Size: 0x28 -struct ParamSpan_t -{ -public: - CUtlVector< ParamSpanSample_t > m_samples; // 0x0 - CAnimParamHandle m_hParam; // 0x18 - AnimParamType_t m_eParamType; // 0x1a -private: - [[maybe_unused]] uint8_t __pad001b[0x1]; // 0x1b -public: - float m_flStartCycle; // 0x1c - float m_flEndCycle; // 0x20 -}; - -// Alignment: 5 -// Size: 0x90 -class CAnimReplayFrame -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 -public: - CUtlVector< CUtlBinaryBlock > m_inputDataBlocks; // 0x10 - CUtlBinaryBlock m_instanceData; // 0x28 - CTransform m_startingLocalToWorldTransform; // 0x40 - CTransform m_localToWorldTransform; // 0x60 - float m_timeStamp; // 0x80 -}; - -// Alignment: 5 -// Size: 0x70 -class CAnimGraphDebugReplay -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x40]; // 0x0 -public: - CUtlString m_animGraphFileName; // 0x40 - CUtlVector< CSmartPtr< CAnimReplayFrame > > m_frameList; // 0x48 - int32_t m_startIndex; // 0x60 - int32_t m_writeIndex; // 0x64 - int32_t m_frameCount; // 0x68 -}; - -// Alignment: 1 -// Size: 0x20 -class CAnimParamHandleMap -{ -public: - CUtlHashtable< uint16, int16 > m_list; // 0x0 -}; - -// Alignment: 6 -// Size: 0x100 -class CAnimParameterListUpdater -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - CUtlVector< CSmartPtr< CAnimParameterBase > > m_parameters; // 0x18 - CUtlHashtable< AnimParamID, int32 > m_idToIndexMap; // 0x30 - CUtlHashtable< CUtlString, int32 > m_nameToIndexMap; // 0x50 - CUtlVector< CAnimParamHandle > m_indexToHandle; // 0x70 - CUtlVector< CUtlPair< CAnimParamHandle, CAnimVariant > > m_autoResetParams; // 0x88 - CUtlHashtable< CAnimParamHandle, int16 > m_autoResetMap; // 0xa0 -}; - -// Alignment: 1 -// Size: 0x38 -class CAnimTagManagerUpdater -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 -}; - -// Alignment: 4 -// Size: 0x30 -class CAnimComponentUpdater -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - CUtlString m_name; // 0x18 - AnimComponentID m_id; // 0x20 - AnimNodeNetworkMode m_networkMode; // 0x24 - bool m_bStartEnabled; // 0x28 -}; - -// Alignment: 2 -// Size: 0x10 -class CMovementMode -{ -public: - // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x0 - // MPropertyFriendlyName "Top Speed" - float m_flSpeed; // 0x8 -}; - -// Alignment: 9 -// Size: 0xc0 -class CMovementComponentUpdater : public CAnimComponentUpdater -{ -public: - CUtlVector< CMovementMode > m_movementModes; // 0x30 - CUtlVector< CSmartPtr< CAnimMotorUpdaterBase > > m_motors; // 0x48 - CAnimInputDamping m_facingDamping; // 0x60 - FacingMode m_eDefaultFacingMode; // 0x70 -private: - [[maybe_unused]] uint8_t __pad0074[0x8]; // 0x74 -public: - int32_t m_nDefaultMotorIndex; // 0x7c - bool m_bMoveVarsDisabled; // 0x80 - bool m_bNetworkPath; // 0x81 - bool m_bNetworkFacing; // 0x82 - CAnimParamHandle m_paramHandles[30]; // 0x83 -}; - -// Alignment: 8 -// Size: 0x48 -class CLookComponentUpdater : public CAnimComponentUpdater -{ -private: - [[maybe_unused]] uint8_t __pad0030[0x4]; // 0x30 -public: - CAnimParamHandle m_hLookHeading; // 0x34 - CAnimParamHandle m_hLookHeadingVelocity; // 0x36 - CAnimParamHandle m_hLookPitch; // 0x38 - CAnimParamHandle m_hLookDistance; // 0x3a - CAnimParamHandle m_hLookDirection; // 0x3c - CAnimParamHandle m_hLookTarget; // 0x3e - CAnimParamHandle m_hLookTargetWorldSpace; // 0x40 - bool m_bNetworkLookTarget; // 0x42 -}; - -// Alignment: 7 -// Size: 0x48 -class CSlopeComponentUpdater : 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 -}; - -// Alignment: 0 -// Size: 0x18 -class CAnimActionUpdater -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x20 -class CAnimMotorUpdaterBase -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 -public: - CUtlString m_name; // 0x10 - bool m_bDefault; // 0x18 -}; - -// Alignment: 1 -// Size: 0x28 -class CPathAnimMotorUpdaterBase : public CAnimMotorUpdaterBase -{ -public: - bool m_bLockToPath; // 0x20 -}; - -// Alignment: 0 -// Size: 0x28 -class CPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase -{ -public: - // No members available -}; - -// Alignment: 7 -// Size: 0x48 -class CDampedPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase -{ -private: - [[maybe_unused]] uint8_t __pad0028[0x4]; // 0x28 -public: - float m_flAnticipationTime; // 0x2c - float m_flMinSpeedScale; // 0x30 - CAnimParamHandle m_hAnticipationPosParam; // 0x34 - CAnimParamHandle m_hAnticipationHeadingParam; // 0x36 - float m_flSpringConstant; // 0x38 - float m_flMinSpringTension; // 0x3c - float m_flMaxSpringTension; // 0x40 -}; - -// Alignment: 6 -// Size: 0x50 -class CPlayerInputAnimMotorUpdater : public CAnimMotorUpdaterBase -{ -public: - CUtlVector< float32 > m_sampleTimes; // 0x20 -private: - [[maybe_unused]] uint8_t __pad0038[0x4]; // 0x38 -public: - float m_flSpringConstant; // 0x3c - float m_flAnticipationDistance; // 0x40 - CAnimParamHandle m_hAnticipationPosParam; // 0x44 - CAnimParamHandle m_hAnticipationHeadingParam; // 0x46 - bool m_bUseAcceleration; // 0x48 -}; - -// Alignment: 5 -// Size: 0x1c -class CStateNodeTransitionData -{ -public: - CBlendCurve m_curve; // 0x0 - CAnimValue< float32 > m_blendDuration; // 0x8 - CAnimValue< float32 > m_resetCycleValue; // 0x10 - struct - { - uint8_t m_bReset: 1; - uint8_t m_resetCycleOption: 3; - uint8_t __pad2: 4; - }; // 8 bits -}; - -// Alignment: 1 -// Size: 0x10 -class CAnimUpdateNodeRef -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - int32_t m_nodeIndex; // 0x8 -}; - -// Alignment: 2 -// Size: 0x18 -class CStateNodeStateData -{ -public: - CAnimUpdateNodeRef m_pChild; // 0x0 - struct - { - uint8_t m_bExclusiveRootMotion: 1; - uint8_t __pad3: 1; - }; // 2 bits -}; - -// Alignment: 3 -// Size: 0x58 -class CAnimUpdateNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - CAnimNodePath m_nodePath; // 0x18 - CUtlString m_name; // 0x48 - AnimNodeNetworkMode m_networkMode; // 0x50 -}; - -// Alignment: 2 -// Size: 0x20 -class CDirectPlaybackTagData -{ -public: - CUtlString m_sequenceName; // 0x0 - CUtlVector< TagSpan_t > m_tags; // 0x8 -}; - -// Alignment: 15 -// Size: 0x160 -struct TwoBoneIKSettings_t -{ -public: - IkEndEffectorType m_endEffectorType; // 0x0 - CAnimAttachment m_endEffectorAttachment; // 0x10 - IkTargetType m_targetType; // 0x90 -private: - [[maybe_unused]] uint8_t __pad0094[0xc]; // 0x94 -public: - CAnimAttachment m_targetAttachment; // 0xa0 -private: - [[maybe_unused]] uint8_t __pad0094[0x8c]; // 0x94 -public: - int32_t m_targetBoneIndex; // 0x120 - CAnimParamHandle m_hPositionParam; // 0x124 - CAnimParamHandle m_hRotationParam; // 0x126 - bool m_bAlwaysUseFallbackHinge; // 0x128 -private: - [[maybe_unused]] uint8_t __pad0129[0x7]; // 0x129 -public: - VectorAligned m_vLsFallbackHingeAxis; // 0x130 - int32_t m_nFixedBoneIndex; // 0x140 - int32_t m_nMiddleBoneIndex; // 0x144 - int32_t m_nEndBoneIndex; // 0x148 - bool m_bMatchTargetOrientation; // 0x14c - bool m_bConstrainTwist; // 0x14d -private: - [[maybe_unused]] uint8_t __pad014e[0x2]; // 0x14e -public: - float m_flMaxTwist; // 0x150 -}; - -// Alignment: 6 -// Size: 0x88 -class CBinaryUpdateNode : public CAnimUpdateNodeBase -{ -public: - CAnimUpdateNodeRef m_pChild1; // 0x58 - CAnimUpdateNodeRef m_pChild2; // 0x68 - BinaryNodeTiming m_timingBehavior; // 0x78 - float m_flTimingBlend; // 0x7c - bool m_bResetChild1; // 0x80 - bool m_bResetChild2; // 0x81 -}; - -// Alignment: 1 -// Size: 0x68 -class CUnaryUpdateNode : public CAnimUpdateNodeBase -{ -public: - CAnimUpdateNodeRef m_pChildNode; // 0x58 -}; - -// Alignment: 0 -// Size: 0x58 -class CLeafUpdateNode : public CAnimUpdateNodeBase -{ -public: - // No members available -}; - -// Alignment: 9 -// Size: 0x48 -struct SkeletalInputOpFixedSettings_t -{ -public: - CUtlVector< WristBone_t > m_wristBones; // 0x0 - CUtlVector< FingerChain_t > m_fingers; // 0x18 - int32_t m_outerKnuckle1; // 0x30 - int32_t m_outerKnuckle2; // 0x34 - AnimVRHand_t m_eHand; // 0x38 - AnimVRHandMotionRange_t m_eMotionRange; // 0x3c - AnimVrBoneTransformSource_t m_eTransformSource; // 0x40 - bool m_bEnableIK; // 0x44 - bool m_bEnableCollision; // 0x45 -}; - -// Alignment: 2 -// Size: 0x10 -struct StanceInfo_t -{ -public: - Vector m_vPosition; // 0x0 - float m_flDirection; // 0xc -}; - -// Alignment: 4 -// Size: 0x98 -class CStanceOverrideUpdateNode : public CUnaryUpdateNode -{ -public: - CUtlVector< StanceInfo_t > m_footStanceInfo; // 0x68 - CAnimUpdateNodeRef m_pStanceSourceNode; // 0x80 - CAnimParamHandle m_hParameter; // 0x90 -private: - [[maybe_unused]] uint8_t __pad0092[0x2]; // 0x92 -public: - StanceOverrideMode m_eMode; // 0x94 -}; - -// Alignment: 1 -// Size: 0x70 -class CStanceScaleUpdateNode : public CUnaryUpdateNode -{ -public: - CAnimParamHandle m_hParam; // 0x68 -}; - -// Alignment: 8 -// Size: 0xa8 -class CSelectorUpdateNode : public CAnimUpdateNodeBase -{ -public: - CUtlVector< CAnimUpdateNodeRef > m_children; // 0x58 - CUtlVector< int8 > m_tags; // 0x70 -private: - [[maybe_unused]] uint8_t __pad0088[0x4]; // 0x88 -public: - CBlendCurve m_blendCurve; // 0x8c - CAnimValue< float32 > m_flBlendTime; // 0x94 - CAnimParamHandle m_hParameter; // 0x9c -private: - [[maybe_unused]] uint8_t __pad009e[0x2]; // 0x9e -public: - SelectorTagBehavior_t m_eTagBehavior; // 0xa0 - bool m_bResetOnChange; // 0xa4 - bool m_bSyncCyclesOnChange; // 0xa5 -}; - -// Alignment: 17 -// Size: 0x44 -struct HitReactFixedSettings_t -{ -public: - int32_t m_nWeightListIndex; // 0x0 - int32_t m_nEffectedBoneCount; // 0x4 - float m_flMaxImpactForce; // 0x8 - float m_flMinImpactForce; // 0xc - float m_flWhipImpactScale; // 0x10 - float m_flCounterRotationScale; // 0x14 - float m_flDistanceFadeScale; // 0x18 - float m_flPropagationScale; // 0x1c - float m_flWhipDelay; // 0x20 - float m_flSpringStrength; // 0x24 - float m_flWhipSpringStrength; // 0x28 - float m_flMaxAngleRadians; // 0x2c - int32_t m_nHipBoneIndex; // 0x30 - float m_flHipBoneTranslationScale; // 0x34 - float m_flHipDipSpringStrength; // 0x38 - float m_flHipDipImpactScale; // 0x3c - float m_flHipDipDelay; // 0x40 -}; - -// Alignment: 6 -// Size: 0x40 -struct BlendItem_t -{ -public: - CUtlVector< TagSpan_t > m_tags; // 0x0 - CAnimUpdateNodeRef m_pChild; // 0x18 - HSequence m_hSequence; // 0x28 - Vector2D m_vPos; // 0x2c - float m_flDuration; // 0x34 - bool m_bUseCustomDuration; // 0x38 -}; - -// Alignment: 15 -// Size: 0xf0 -class CBlend2DUpdateNode : public CAnimUpdateNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0058[0x8]; // 0x58 -public: - CUtlVector< BlendItem_t > m_items; // 0x60 - CUtlVector< TagSpan_t > m_tags; // 0x78 - CParamSpanUpdater m_paramSpans; // 0x90 - CUtlVector< int32 > m_nodeItemIndices; // 0xa8 - CAnimInputDamping m_damping; // 0xc0 - AnimValueSource m_blendSourceX; // 0xd0 - CAnimParamHandle m_paramX; // 0xd4 -private: - [[maybe_unused]] uint8_t __pad00d6[0x2]; // 0xd6 -public: - AnimValueSource m_blendSourceY; // 0xd8 - CAnimParamHandle m_paramY; // 0xdc -private: - [[maybe_unused]] uint8_t __pad00de[0x2]; // 0xde -public: - Blend2DMode m_eBlendMode; // 0xe0 - float m_playbackSpeed; // 0xe4 - bool m_bLoop; // 0xe8 - bool m_bLockBlendOnReset; // 0xe9 - bool m_bLockWhenWaning; // 0xea - bool m_bAnimEventsAndTagsOnMostWeightedOnly; // 0xeb -}; - -// Alignment: 9 -// Size: 0xa8 -class CFootAdjustmentUpdateNode : public CUnaryUpdateNode -{ -private: - [[maybe_unused]] uint8_t __pad0068[0x8]; // 0x68 -public: - CUtlVector< HSequence > m_clips; // 0x70 - CPoseHandle m_hBasePoseCacheHandle; // 0x88 - CAnimParamHandle m_facingTarget; // 0x8c -private: - [[maybe_unused]] uint8_t __pad008e[0x2]; // 0x8e -public: - float m_flTurnTimeMin; // 0x90 - float m_flTurnTimeMax; // 0x94 - float m_flStepHeightMax; // 0x98 - float m_flStepHeightMaxAngle; // 0x9c - bool m_bResetChild; // 0xa0 - bool m_bAnimationDriven; // 0xa1 -}; - -// Alignment: 2 -// Size: 0x8 -struct TraceSettings_t -{ -public: - float m_flTraceHeight; // 0x0 - float m_flTraceRadius; // 0x4 -}; - -// Alignment: 10 -// Size: 0x40 -class FootFixedSettings -{ -public: - TraceSettings_t m_traceSettings; // 0x0 - VectorAligned m_vFootBaseBindPosePositionMS; // 0x10 - float m_flFootBaseLength; // 0x20 - float m_flMaxRotationLeft; // 0x24 - float m_flMaxRotationRight; // 0x28 - int32_t m_footstepLandedTagIndex; // 0x2c - bool m_bEnableTracing; // 0x30 -private: - [[maybe_unused]] uint8_t __pad0031[0x3]; // 0x31 -public: - float m_flTraceAngleBlend; // 0x34 - int32_t m_nDisableTagIndex; // 0x38 - int32_t m_nFootIndex; // 0x3c -}; - -// Alignment: 18 -// Size: 0x60 -class FootLockPoseOpFixedSettings -{ -public: - CUtlVector< FootFixedData_t > m_footInfo; // 0x0 - CAnimInputDamping m_hipDampingSettings; // 0x18 - int32_t m_nHipBoneIndex; // 0x28 - IKSolverType m_ikSolverType; // 0x2c - bool m_bApplyTilt; // 0x30 - bool m_bApplyHipDrop; // 0x31 - bool m_bAlwaysUseFallbackHinge; // 0x32 - bool m_bApplyFootRotationLimits; // 0x33 - bool m_bApplyLegTwistLimits; // 0x34 -private: - [[maybe_unused]] uint8_t __pad0035[0x3]; // 0x35 -public: - float m_flMaxFootHeight; // 0x38 - float m_flExtensionScale; // 0x3c - float m_flMaxLegTwist; // 0x40 - bool m_bEnableLockBreaking; // 0x44 -private: - [[maybe_unused]] uint8_t __pad0045[0x3]; // 0x45 -public: - float m_flLockBreakTolerance; // 0x48 - float m_flLockBlendTime; // 0x4c - bool m_bEnableStretching; // 0x50 -private: - [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 -public: - float m_flMaxStretchAmount; // 0x54 - float m_flStretchExtensionScale; // 0x58 -}; - -// Alignment: 7 -// Size: 0x30 -struct FootPinningPoseOpFixedData_t -{ -public: - CUtlVector< FootFixedData_t > m_footInfo; // 0x0 - float m_flBlendTime; // 0x18 - float m_flLockBreakDistance; // 0x1c - float m_flMaxLegTwist; // 0x20 - int32_t m_nHipBoneIndex; // 0x24 - bool m_bApplyLegTwistLimits; // 0x28 - bool m_bApplyFootRotationLimits; // 0x29 -}; - -// Alignment: 13 -// Size: 0xa8 -class CFollowPathUpdateNode : public CUnaryUpdateNode -{ -private: - [[maybe_unused]] uint8_t __pad0068[0x4]; // 0x68 -public: - float m_flBlendOutTime; // 0x6c - bool m_bBlockNonPathMovement; // 0x70 - bool m_bStopFeetAtGoal; // 0x71 - bool m_bScaleSpeed; // 0x72 -private: - [[maybe_unused]] uint8_t __pad0073[0x1]; // 0x73 -public: - float m_flScale; // 0x74 - float m_flMinAngle; // 0x78 - float m_flMaxAngle; // 0x7c - float m_flSpeedScaleBlending; // 0x80 -private: - [[maybe_unused]] uint8_t __pad0084[0x4]; // 0x84 -public: - CAnimInputDamping m_turnDamping; // 0x88 - AnimValueSource m_facingTarget; // 0x98 - CAnimParamHandle m_hParam; // 0x9c -private: - [[maybe_unused]] uint8_t __pad009e[0x2]; // 0x9e -public: - float m_flTurnToFaceOffset; // 0xa0 - bool m_bTurnToFace; // 0xa4 -}; - -// Alignment: 2 -// Size: 0x20 -class CMotionDataSet -{ -public: - CUtlVector< CMotionGraphGroup > m_groups; // 0x0 - int32_t m_nDimensionCount; // 0x18 -}; - -// Alignment: 2 -// Size: 0x70 -class CSetFacingUpdateNode : public CUnaryUpdateNode -{ -public: - FacingMode m_facingMode; // 0x68 - bool m_bResetChild; // 0x6c -}; - -// Alignment: 5 -// Size: 0x90 -class CStopAtGoalUpdateNode : public CUnaryUpdateNode -{ -private: - [[maybe_unused]] uint8_t __pad0068[0x4]; // 0x68 -public: - float m_flOuterRadius; // 0x6c - float m_flInnerRadius; // 0x70 - float m_flMaxScale; // 0x74 - float m_flMinScale; // 0x78 -private: - [[maybe_unused]] uint8_t __pad007c[0x4]; // 0x7c -public: - CAnimInputDamping m_damping; // 0x80 -}; - -// Alignment: 1 -// Size: 0x18 -struct JiggleBoneSettingsList_t -{ -public: - CUtlVector< JiggleBoneSettings_t > m_boneSettings; // 0x0 -}; - -// Alignment: 4 -// Size: 0x80 -class CSingleFrameUpdateNode : public CLeafUpdateNode -{ -public: - CUtlVector< CSmartPtr< CAnimActionUpdater > > m_actions; // 0x58 - CPoseHandle m_hPoseCacheHandle; // 0x70 - HSequence m_hSequence; // 0x74 - float m_flCycle; // 0x78 -}; - -// Alignment: 0 -// Size: 0x60 -class CInputStreamUpdateNode : public CLeafUpdateNode -{ -public: - // No members available -}; - -// Alignment: 3 -// Size: 0x20 -class FootStepTrigger -{ -public: - CUtlVector< int32 > m_tags; // 0x0 - int32_t m_nFootIndex; // 0x18 - StepPhase m_triggerPhase; // 0x1c -}; - -// Alignment: 2 -// Size: 0x88 -class CFootStepTriggerUpdateNode : public CUnaryUpdateNode -{ -public: - CUtlVector< FootStepTrigger > m_triggers; // 0x68 -private: - [[maybe_unused]] uint8_t __pad0080[0x4]; // 0x80 -public: - float m_flTolerance; // 0x84 -}; - -// Alignment: 5 -// Size: 0x108 -class CMotionGraphGroup -{ -public: - CMotionSearchDB m_searchDB; // 0x0 - CUtlVector< CSmartPtr< CMotionGraph > > m_motionGraphs; // 0xb8 - CUtlVector< CMotionGraphConfig > m_motionGraphConfigs; // 0xd0 - CUtlVector< int32 > m_sampleToConfig; // 0xe8 - AnimScriptHandle m_hIsActiveScript; // 0x100 -}; - -// Alignment: 23 -// Size: 0x140 -class CMotionMatchingUpdateNode : public CLeafUpdateNode -{ -public: - CMotionDataSet m_dataSet; // 0x58 - CUtlVector< CSmartPtr< CMotionMetricEvaluator > > m_metrics; // 0x78 - CUtlVector< float32 > m_weights; // 0x90 -private: - [[maybe_unused]] uint8_t __pad00a8[0x38]; // 0xa8 -public: - bool m_bSearchEveryTick; // 0xe0 -private: - [[maybe_unused]] uint8_t __pad00e1[0x3]; // 0xe1 -public: - float m_flSearchInterval; // 0xe4 - bool m_bSearchWhenClipEnds; // 0xe8 - bool m_bSearchWhenGoalChanges; // 0xe9 -private: - [[maybe_unused]] uint8_t __pad00ea[0x2]; // 0xea -public: - CBlendCurve m_blendCurve; // 0xec - float m_flSampleRate; // 0xf4 - float m_flBlendTime; // 0xf8 - bool m_bLockClipWhenWaning; // 0xfc -private: - [[maybe_unused]] uint8_t __pad00fd[0x3]; // 0xfd -public: - float m_flSelectionThreshold; // 0x100 - float m_flReselectionTimeWindow; // 0x104 - bool m_bEnableRotationCorrection; // 0x108 - bool m_bGoalAssist; // 0x109 -private: - [[maybe_unused]] uint8_t __pad010a[0x2]; // 0x10a -public: - float m_flGoalAssistDistance; // 0x10c - float m_flGoalAssistTolerance; // 0x110 -private: - [[maybe_unused]] uint8_t __pad0114[0x4]; // 0x114 -public: - CAnimInputDamping m_distanceScale_Damping; // 0x118 - float m_flDistanceScale_OuterRadius; // 0x128 - float m_flDistanceScale_InnerRadius; // 0x12c - float m_flDistanceScale_MaxScale; // 0x130 - float m_flDistanceScale_MinScale; // 0x134 - bool m_bEnableDistanceScaling; // 0x138 -}; - -// Alignment: 7 -// Size: 0x58 -class CMotionGraph -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 -public: - CParamSpanUpdater m_paramSpans; // 0x10 - CUtlVector< TagSpan_t > m_tags; // 0x28 - CSmartPtr< CMotionNode > m_pRootNode; // 0x40 - int32_t m_nParameterCount; // 0x48 - int32_t m_nConfigStartIndex; // 0x4c - int32_t m_nConfigCount; // 0x50 - bool m_bLoop; // 0x54 -}; - -// Alignment: 0 -// Size: 0x58 -class CEditableMotionGraph : public CMotionGraph -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x28 -class CMotionNode -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - CUtlString m_name; // 0x18 - AnimNodeID m_id; // 0x20 -}; - -// Alignment: 3 -// Size: 0x48 -class CMotionNodeSequence : public CMotionNode -{ -public: - CUtlVector< TagSpan_t > m_tags; // 0x28 - HSequence m_hSequence; // 0x40 - float m_flPlaybackSpeed; // 0x44 -}; - -// Alignment: 2 -// Size: 0x10 -class MotionBlendItem -{ -public: - CSmartPtr< CMotionNode > m_pChild; // 0x0 - float m_flKeyValue; // 0x8 -}; - -// Alignment: 2 -// Size: 0x48 -class CMotionNodeBlend1D : public CMotionNode -{ -public: - CUtlVector< MotionBlendItem > m_blendItems; // 0x28 - int32_t m_nParamIndex; // 0x40 -}; - -// Alignment: 4 -// Size: 0x50 -class CMotionMetricEvaluator -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 -public: - CUtlVector< float32 > m_means; // 0x18 - CUtlVector< float32 > m_standardDeviations; // 0x30 - float m_flWeight; // 0x48 - int32_t m_nDimensionStartIndex; // 0x4c -}; - -// Alignment: 0 -// Size: 0x50 -class CBlockSelectionMetricEvaluator : public CMotionMetricEvaluator -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x68 -class CFootCycleMetricEvaluator : public CMotionMetricEvaluator -{ -public: - CUtlVector< int32 > m_footIndices; // 0x50 -}; - -// Alignment: 0 -// Size: 0x50 -class CCurrentRotationVelocityMetricEvaluator : public CMotionMetricEvaluator -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x50 -class CCurrentVelocityMetricEvaluator : public CMotionMetricEvaluator -{ -public: - // No members available -}; - -// Alignment: 4 -// Size: 0x78 -class CPathMetricEvaluator : public CMotionMetricEvaluator -{ -public: - CUtlVector< float32 > m_pathTimeSamples; // 0x50 - float m_flDistance; // 0x68 - bool m_bExtrapolateMovement; // 0x6c -private: - [[maybe_unused]] uint8_t __pad006d[0x3]; // 0x6d -public: - float m_flMinExtrapolationSpeed; // 0x70 -}; - -// Alignment: 2 -// Size: 0x58 -class CFutureFacingMetricEvaluator : public CMotionMetricEvaluator -{ -public: - float m_flDistance; // 0x50 - float m_flTime; // 0x54 -}; - -// Alignment: 4 -// Size: 0x60 -class CFutureVelocityMetricEvaluator : public CMotionMetricEvaluator -{ -public: - float m_flDistance; // 0x50 - float m_flStoppingDistance; // 0x54 - float m_flTargetSpeed; // 0x58 - VelocityMetricMode m_eMode; // 0x5c -}; - -// Alignment: 1 -// Size: 0x58 -class CBonePositionMetricEvaluator : public CMotionMetricEvaluator -{ -public: - int32_t m_nBoneIndex; // 0x50 -}; - -// Alignment: 1 -// Size: 0x58 -class CBoneVelocityMetricEvaluator : public CMotionMetricEvaluator -{ -public: - int32_t m_nBoneIndex; // 0x50 -}; - -// Alignment: 7 -// Size: 0x68 -class CDistanceRemainingMetricEvaluator : public CMotionMetricEvaluator -{ -public: - float m_flMaxDistance; // 0x50 - float m_flMinDistance; // 0x54 - float m_flStartGoalFilterDistance; // 0x58 - float m_flMaxGoalOvershootScale; // 0x5c - bool m_bFilterFixedMinDistance; // 0x60 - bool m_bFilterGoalDistance; // 0x61 - bool m_bFilterGoalOvershoot; // 0x62 -}; - -// Alignment: 2 -// Size: 0x70 -class CStepsRemainingMetricEvaluator : public CMotionMetricEvaluator -{ -public: - CUtlVector< int32 > m_footIndices; // 0x50 - float m_flMinStepsRemaining; // 0x68 -}; - -// Alignment: 4 -// Size: 0x60 -class CTimeRemainingMetricEvaluator : public CMotionMetricEvaluator -{ -public: - bool m_bMatchByTimeRemaining; // 0x50 -private: - [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 -public: - float m_flMaxTimeRemaining; // 0x54 - bool m_bFilterByTimeRemaining; // 0x58 -private: - [[maybe_unused]] uint8_t __pad0059[0x3]; // 0x59 -public: - float m_flMinTimeRemaining; // 0x5c -}; - -// Alignment: 2 -// Size: 0x70 -class CFootPositionMetricEvaluator : public CMotionMetricEvaluator -{ -public: - CUtlVector< int32 > m_footIndices; // 0x50 - bool m_bIgnoreSlope; // 0x68 -}; - -// Alignment: 8 -// Size: 0xd0 -struct AimMatrixOpFixedSettings_t -{ -public: - CAnimAttachment m_attachment; // 0x0 - CAnimInputDamping m_damping; // 0x80 - CPoseHandle m_poseCacheHandles[10]; // 0x90 - AimMatrixBlendMode m_eBlendMode; // 0xb8 - float m_fAngleIncrement; // 0xbc - int32_t m_nSequenceMaxFrame; // 0xc0 - int32_t m_nBoneMaskIndex; // 0xc4 - bool m_bTargetIsPosition; // 0xc8 -}; - -// Alignment: 2 -// Size: 0x8 -struct LookAtBone_t -{ -public: - int32_t m_index; // 0x0 - float m_weight; // 0x4 -}; - -// Alignment: 11 -// Size: 0xc0 -struct LookAtOpFixedSettings_t -{ -public: - CAnimAttachment m_attachment; // 0x0 - CAnimInputDamping m_damping; // 0x80 - CUtlVector< LookAtBone_t > m_bones; // 0x90 - float m_flYawLimit; // 0xa8 - float m_flPitchLimit; // 0xac - float m_flHysteresisInnerAngle; // 0xb0 - float m_flHysteresisOuterAngle; // 0xb4 - bool m_bRotateYawForward; // 0xb8 - bool m_bMaintainUpDirection; // 0xb9 - bool m_bTargetIsPosition; // 0xba - bool m_bUseHysteresis; // 0xbb -}; - -// Alignment: 4 -// Size: 0x90 -struct FollowAttachmentSettings_t -{ -public: - CAnimAttachment m_attachment; // 0x0 - int32_t m_boneIndex; // 0x80 - bool m_bMatchTranslation; // 0x84 - bool m_bMatchRotation; // 0x85 -}; - -// Alignment: 2 -// Size: 0x8 -struct FingerSource_t -{ -public: - AnimVRFinger_t m_nFingerIndex; // 0x0 - float m_flFingerWeight; // 0x4 -}; - -// Alignment: 7 -// Size: 0x34 -struct FingerBone_t -{ -public: - int32_t m_boneIndex; // 0x0 - Vector m_hingeAxis; // 0x4 - Vector m_vCapsulePos1; // 0x10 - Vector m_vCapsulePos2; // 0x1c - float m_flMinAngle; // 0x28 - float m_flMaxAngle; // 0x2c - float m_flRadius; // 0x30 -}; - -// Alignment: 9 -// Size: 0x60 -struct FingerChain_t -{ -public: - CUtlVector< FingerSource_t > m_targets; // 0x0 - CUtlVector< FingerBone_t > m_bones; // 0x18 - Vector m_vTipOffset; // 0x30 - Vector m_vSplayHingeAxis; // 0x3c - int32_t m_tipParentBoneIndex; // 0x48 - int32_t m_metacarpalBoneIndex; // 0x4c - float m_flSplayMinAngle; // 0x50 - float m_flSplayMaxAngle; // 0x54 - float m_flFingerScaleRatio; // 0x58 -}; - -// Alignment: 2 -// Size: 0x30 -struct WristBone_t -{ -public: - CTransform m_xOffsetTransformMS; // 0x0 - int32_t m_boneIndex; // 0x20 -}; - -// Alignment: 1 -// Size: 0xa8 -class CSkeletalInputUpdateNode : public CLeafUpdateNode -{ -public: - SkeletalInputOpFixedSettings_t m_fixedOpData; // 0x58 -}; - -// Alignment: 8 -// Size: 0xc8 -class CHitReactUpdateNode : public CUnaryUpdateNode -{ -public: - HitReactFixedSettings_t m_opFixedSettings; // 0x68 -private: - [[maybe_unused]] uint8_t __pad00ac[0x8]; // 0xac -public: - CAnimParamHandle m_triggerParam; // 0xb4 - CAnimParamHandle m_hitBoneParam; // 0xb6 - CAnimParamHandle m_hitOffsetParam; // 0xb8 - CAnimParamHandle m_hitDirectionParam; // 0xba - CAnimParamHandle m_hitStrengthParam; // 0xbc -private: - [[maybe_unused]] uint8_t __pad00be[0x2]; // 0xbe -public: - float m_flMinDelayBetweenHits; // 0xc0 - bool m_bResetChild; // 0xc4 -}; - -// Alignment: 20 -// Size: 0x138 -class CFootLockUpdateNode : public CUnaryUpdateNode -{ -public: - FootLockPoseOpFixedSettings m_opFixedSettings; // 0x68 -private: - [[maybe_unused]] uint8_t __pad00c8[0x8]; // 0xc8 -public: - CUtlVector< FootFixedSettings > m_footSettings; // 0xd0 - CAnimInputDamping m_hipShiftDamping; // 0xe8 - CAnimInputDamping m_rootHeightDamping; // 0xf8 - float m_flStrideCurveScale; // 0x108 - float m_flStrideCurveLimitScale; // 0x10c - float m_flStepHeightIncreaseScale; // 0x110 - float m_flStepHeightDecreaseScale; // 0x114 - float m_flHipShiftScale; // 0x118 - float m_flBlendTime; // 0x11c - float m_flMaxRootHeightOffset; // 0x120 - float m_flMinRootHeightOffset; // 0x124 - float m_flTiltPlanePitchSpringStrength; // 0x128 - float m_flTiltPlaneRollSpringStrength; // 0x12c - bool m_bApplyFootRotationLimits; // 0x130 - bool m_bApplyHipShift; // 0x131 - bool m_bModulateStepHeight; // 0x132 - bool m_bResetChild; // 0x133 - bool m_bEnableVerticalCurvedPaths; // 0x134 - bool m_bEnableRootHeightDamping; // 0x135 -}; - -// Alignment: 4 -// Size: 0xc8 -class CFootPinningUpdateNode : public CUnaryUpdateNode -{ -private: - [[maybe_unused]] uint8_t __pad0068[0x8]; // 0x68 -public: - FootPinningPoseOpFixedData_t m_poseOpFixedData; // 0x70 - FootPinningTimingSource m_eTimingSource; // 0xa0 -private: - [[maybe_unused]] uint8_t __pad00a4[0x4]; // 0xa4 -public: - CUtlVector< CAnimParamHandle > m_params; // 0xa8 - bool m_bResetChild; // 0xc0 -}; - -// Alignment: 6 -// Size: 0x50 -struct ChainToSolveData_t -{ -public: - int32_t m_nChainIndex; // 0x0 - IKSolverSettings_t m_SolverSettings; // 0x4 -private: - [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc -public: - IKTargetSettings_t m_TargetSettings; // 0x10 - SolveIKChainAnimNodeDebugSetting m_DebugSetting; // 0x30 - float m_flDebugNormalizedValue; // 0x34 -private: - [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 -public: - VectorAligned m_vDebugOffset; // 0x40 -}; - -// Alignment: 1 -// Size: 0x18 -struct SolveIKChainPoseOpFixedSettings_t -{ -public: - CUtlVector< ChainToSolveData_t > m_ChainsToSolveData; // 0x0 -}; - -// Alignment: 7 -// Size: 0x2c -struct JiggleBoneSettings_t -{ -public: - int32_t m_nBoneIndex; // 0x0 - float m_flSpringStrength; // 0x4 - float m_flMaxTimeStep; // 0x8 - float m_flDamping; // 0xc - Vector m_vBoundsMaxLS; // 0x10 - Vector m_vBoundsMinLS; // 0x1c - JiggleBoneSimSpace m_eSimSpace; // 0x28 -}; - -// Alignment: 1 -// Size: 0x88 -class CJiggleBoneUpdateNode : public CUnaryUpdateNode -{ -public: - JiggleBoneSettingsList_t m_opFixedData; // 0x68 + Quaternion m_influenceRotations[3]; // 0x0 + VectorAligned m_influenceOffsets[3]; // 0x30 + int32_t m_influenceIndices[3]; // 0x60 + float m_influenceWeights[3]; // 0x6c + uint8_t m_numInfluences; // 0x78 }; // Alignment: 5 @@ -7041,6 +2098,9 @@ struct AttachmentHandle_t { public: uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("animationsystem.dll")->FindDeclaredClass("AttachmentHandle_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 @@ -7083,12 +2143,13 @@ public: CUtlVector< CUtlString > m_Choices; // 0x48 }; -// Alignment: 1 -// Size: 0x60 +// Alignment: 2 +// Size: 0x80 class CModelConfigElement_RandomPick : public CModelConfigElement { public: CUtlVector< CUtlString > m_Choices; // 0x48 + CUtlVector< float32 > m_ChoiceWeights; // 0x60 }; // Alignment: 1 @@ -7288,30 +2349,27 @@ public: bool m_bIgnoreRotation; // 0x84 }; -// Alignment: 14 +// Alignment: 13 // Size: 0x70 class CHitBox { -private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 public: - Vector m_vMinBounds; // 0x20 - Vector m_vMaxBounds; // 0x2c - CUtlString m_name; // 0x38 - CUtlString m_sSurfaceProperty; // 0x40 - CUtlString m_sBoneName; // 0x48 - float m_flShapeRadius; // 0x50 - uint32_t m_nBoneNameHash; // 0x54 - int32_t m_nGroupId; // 0x58 - Color m_cRenderColor; // 0x5c - uint16_t m_nHitBoxIndex; // 0x60 - uint8_t m_nShapeType; // 0x62 + CUtlString m_name; // 0x0 + CUtlString m_sSurfaceProperty; // 0x8 + CUtlString m_sBoneName; // 0x10 + Vector m_vMinBounds; // 0x18 + Vector m_vMaxBounds; // 0x24 + float m_flShapeRadius; // 0x30 + uint32_t m_nBoneNameHash; // 0x34 + int32_t m_nGroupId; // 0x38 + uint8_t m_nShapeType; // 0x3c + bool m_bTranslationOnly; // 0x3d private: - [[maybe_unused]] uint8_t __pad0063[0x1]; // 0x63 + [[maybe_unused]] uint8_t __pad003e[0x2]; // 0x3e public: - bool m_bTranslationOnly; // 0x64 - bool m_bVisible; // 0x65 - bool m_bSelected; // 0x66 + uint32_t m_CRC; // 0x40 + Color m_cRenderColor; // 0x44 + uint16_t m_nHitBoxIndex; // 0x48 }; // Alignment: 4 @@ -7509,6 +2567,17 @@ public: CUtlVector< CTransform > m_outputTransformList; // 0x10 }; +// Alignment: 4 +// Size: 0x60 +class CBoneConstraintDotToMorph : public CBoneConstraintBase +{ +public: + CUtlString m_sBoneName; // 0x28 + CUtlString m_sTargetBoneName; // 0x30 + CUtlString m_sMorphChannelName; // 0x38 + float m_flRemap[4]; // 0x40 +}; + // Alignment: 2 // Size: 0x8 class CFlexOp @@ -7790,133 +2859,295 @@ public: AnimVRHand_t m_eHand; // 0x48 }; -// Alignment: 4 -// Size: 0x150 -class CAnimationGraph : public CAnimationSubGraph +// Alignment: 1 +// Size: 0x8 +struct BoneDemoCaptureSettings_t +{ +public: + // MPropertyFriendlyName "Bone" + // MPropertyAttributeChoiceName "Bone" + CUtlString m_boneName; // 0x0 +}; + +// Alignment: 5 +// Size: 0x28 +struct IKDemoCaptureSettings_t +{ +public: + // MPropertyFriendlyName "Target Parent" + // MPropertyAttributeChoiceName "Bone" + CUtlString m_parentBoneName; // 0x0 + // MPropertyFriendlyName "Solver Mode" + // MPropertyAttrChangeCallback + IKChannelMode m_eMode; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + // MPropertyFriendlyName "IK Chain" + // MPropertyAttributeChoiceName "IKChain" + // MPropertyAttrStateCallback + CUtlString m_ikChainName; // 0x10 + // MPropertyFriendlyName "Start Bone" + // MPropertyAttributeChoiceName "Bone" + // MPropertyAttrStateCallback + CUtlString m_oneBoneStart; // 0x18 + // MPropertyFriendlyName "End Bone" + // MPropertyAttributeChoiceName "Bone" + // MPropertyAttrStateCallback + CUtlString m_oneBoneEnd; // 0x20 +}; + +// Alignment: 15 +// Size: 0x68 +class CAnimDemoCaptureSettings +{ +public: + // MPropertyFriendlyName "Max Rotation Error" + // MPropertyGroupName "+Spline Settings" + float m_flMaxSplineErrorRotation; // 0x0 + // MPropertyFriendlyName "Max Translation Error" + // MPropertyGroupName "+Spline Settings" + float m_flMaxSplineErrorTranslation; // 0x4 + // MPropertyFriendlyName "Max Scale Error" + // MPropertyGroupName "+Spline Settings" + float m_flMaxSplineErrorScale; // 0x8 + // MPropertyFriendlyName "Max IK Rotation Error" + // MPropertyGroupName "+Spline Settings" + float m_flIkRotation_MaxSplineError; // 0xc + // MPropertyFriendlyName "Max IK Translation Error" + // MPropertyGroupName "+Spline Settings" + float m_flIkTranslation_MaxSplineError; // 0x10 + // MPropertyFriendlyName "Max Rotation Error" + // MPropertyGroupName "+Quantization Settings" + float m_flMaxQuantizationErrorRotation; // 0x14 + // MPropertyFriendlyName "Max Translation Error" + // MPropertyGroupName "+Quantization Settings" + float m_flMaxQuantizationErrorTranslation; // 0x18 + // MPropertyFriendlyName "Max Scale Error" + // MPropertyGroupName "+Quantization Settings" + float m_flMaxQuantizationErrorScale; // 0x1c + // MPropertyFriendlyName "Max IK Rotation Error" + // MPropertyGroupName "+Quantization Settings" + float m_flIkRotation_MaxQuantizationError; // 0x20 + // MPropertyFriendlyName "Max IK Translation Error" + // MPropertyGroupName "+Quantization Settings" + float m_flIkTranslation_MaxQuantizationError; // 0x24 + // MPropertyFriendlyName "Base Sequence" + // MPropertyGroupName "+Base Pose" + // MPropertyAttributeChoiceName "Sequence" + CUtlString m_baseSequence; // 0x28 + // MPropertyFriendlyName "Base Sequence Frame" + // MPropertyGroupName "+Base Pose" + int32_t m_nBaseSequenceFrame; // 0x30 + // MPropertyFriendlyName "Bone Selection Mode" + // MPropertyGroupName "+Bones" + // MPropertyAttrChangeCallback + EDemoBoneSelectionMode m_boneSelectionMode; // 0x34 + // MPropertyFriendlyName "Bones" + // MPropertyGroupName "+Bones" + // MPropertyAttrStateCallback + CUtlVector< BoneDemoCaptureSettings_t > m_bones; // 0x38 + // MPropertyFriendlyName "IK Chains" + CUtlVector< IKDemoCaptureSettings_t > m_ikChains; // 0x50 +}; + +// Alignment: 5 +// Size: 0x90 +class CAnimReplayFrame { private: - [[maybe_unused]] uint8_t __pad00e0[0x8]; // 0xe0 + [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 public: - CSmartPtr< CAnimGraphSettingsManager > m_pSettingsManager; // 0xe8 + CUtlVector< CUtlBinaryBlock > m_inputDataBlocks; // 0x10 + CUtlBinaryBlock m_instanceData; // 0x28 + CTransform m_startingLocalToWorldTransform; // 0x40 + CTransform m_localToWorldTransform; // 0x60 + float m_timeStamp; // 0x80 +}; + +// Alignment: 5 +// Size: 0x70 +class CAnimGraphDebugReplay +{ private: - [[maybe_unused]] uint8_t __pad00f0[0x8]; // 0xf0 + [[maybe_unused]] uint8_t __pad0000[0x40]; // 0x0 public: - CAnimClipDataManager m_clipDataManager; // 0xf8 + CUtlString m_animGraphFileName; // 0x40 + CUtlVector< CSmartPtr< CAnimReplayFrame > > m_frameList; // 0x48 + int32_t m_startIndex; // 0x60 + int32_t m_writeIndex; // 0x64 + int32_t m_frameCount; // 0x68 +}; + +// Alignment: 2 +// Size: 0x28 +class CAnimGraphModelBinding +{ private: - [[maybe_unused]] uint8_t __pad0130[0x10]; // 0x130 + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: - CUtlString m_modelName; // 0x140 - CUtlString m_previewModelName; // 0x148 + CUtlString m_modelName; // 0x8 + CSmartPtr< CAnimUpdateSharedData > m_pSharedData; // 0x10 +}; + +// Alignment: 2 +// Size: 0x10 +class CAnimInputDamping +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + // MPropertyFriendlyName "Speed Function" + DampingSpeedFunction m_speedFunction; // 0x8 + // MPropertyFriendlyName "Speed Scale" + float m_fSpeedScale; // 0xc +}; + +// Alignment: 2 +// Size: 0x2 +class CAnimParamHandle +{ +public: + AnimParamType_t m_type; // 0x0 + uint8_t m_index; // 0x1 }; // Alignment: 1 -// Size: 0x38 -class CAnimScriptComponentUpdater : public CAnimComponentUpdater +// Size: 0x20 +class CAnimParamHandleMap { public: - AnimScriptHandle m_hScript; // 0x30 -}; - -// Alignment: 1 -// Size: 0x48 -class CActionComponentUpdater : public CAnimComponentUpdater -{ -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 -{ -public: - CUtlVector< CDampedValueUpdateItem > m_items; // 0x30 -}; - -// Alignment: 1 -// Size: 0x38 -class CLODComponentUpdater : public CAnimComponentUpdater -{ -public: - int32_t m_nServerLOD; // 0x30 + CUtlHashtable< uint16, int16 > m_list; // 0x0 }; // Alignment: 6 -// Size: 0xa0 -class CRagdollComponentUpdater : public CAnimComponentUpdater +// Size: 0x100 +class CAnimParameterManagerUpdater +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 +public: + CUtlVector< CSmartPtr< CAnimParameterBase > > m_parameters; // 0x18 + CUtlHashtable< AnimParamID, int32 > m_idToIndexMap; // 0x30 + CUtlHashtable< CUtlString, int32 > m_nameToIndexMap; // 0x50 + CUtlVector< CAnimParamHandle > m_indexToHandle; // 0x70 + CUtlVector< CUtlPair< CAnimParamHandle, CAnimVariant > > m_autoResetParams; // 0x88 + CUtlHashtable< CAnimParamHandle, int16 > m_autoResetMap; // 0xa0 +}; + +// Alignment: 1 +// Size: 0x30 +class CAnimGraphSettingsManager +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 +public: + CUtlVector< CSmartPtr< CAnimGraphSettingsGroup > > m_settingsGroups; // 0x18 +}; + +// Alignment: 2 +// Size: 0x8 +class CBlendCurve { public: - CUtlVector< CAnimNodePath > m_ragdollNodePaths; // 0x30 - CUtlVector< int32 > m_boneIndices; // 0x48 - CUtlVector< CUtlString > m_boneNames; // 0x60 - CUtlVector< WeightList > m_weightLists; // 0x78 - float m_flSpringFrequencyMin; // 0x90 - float m_flSpringFrequencyMax; // 0x94 + float m_flControlPoint1; // 0x0 + float m_flControlPoint2; // 0x4 +}; + +// Alignment: 2 +// Size: 0x18 +struct ParamSpanSample_t +{ +public: + CAnimVariant m_value; // 0x0 + float m_flCycle; // 0x14 +}; + +// Alignment: 5 +// Size: 0x28 +struct ParamSpan_t +{ +public: + CUtlVector< ParamSpanSample_t > m_samples; // 0x0 + CAnimParamHandle m_hParam; // 0x18 + AnimParamType_t m_eParamType; // 0x1a +private: + [[maybe_unused]] uint8_t __pad001b[0x1]; // 0x1b +public: + float m_flStartCycle; // 0x1c + float m_flEndCycle; // 0x20 +}; + +// Alignment: 1 +// Size: 0x18 +class CParamSpanUpdater +{ +public: + CUtlVector< ParamSpan_t > m_spans; // 0x0 }; // Alignment: 0 -// Size: 0x70 -class CAnimComponentStateTransition : public CAnimStateTransition +// Size: 0x20 +class CAnimGraphSettingsGroup +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x30 +class CAnimNodePath +{ +public: + AnimNodeID m_path[11]; // 0x0 + int32_t m_nCount; // 0x2c +}; + +// Alignment: 4 +// Size: 0x40 +class CCachedPose +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + CUtlVector< CTransform > m_transforms; // 0x8 + CUtlVector< float32 > m_morphWeights; // 0x20 + HSequence m_hSequence; // 0x38 + float m_flCycle; // 0x3c +}; + +// Alignment: 3 +// Size: 0x30 +class CStaticPoseCache +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 +public: + CUtlVector< CCachedPose > m_poses; // 0x10 + int32_t m_nBoneCount; // 0x28 + int32_t m_nMorphCount; // 0x2c +}; + +// Alignment: 0 +// Size: 0x38 +class CStaticPoseCacheBuilder : public CStaticPoseCache { public: // No members available }; // Alignment: 0 -// Size: 0x70 -class CAnimComponentState : public CAnimState +// Size: 0x18 +class CAnimActionUpdater { +private: + [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 public: // No members available }; -// Alignment: 1 -// Size: 0x68 -class CStateMachineComponent : public CAnimComponentBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x28]; // 0x38 -public: - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_sName; // 0x60 -}; - -// Alignment: 1 -// Size: 0x88 -class CStateMachineComponentUpdater : public CAnimComponentUpdater -{ -public: - CAnimStateMachineUpdater m_stateMachine; // 0x30 -}; - -// Alignment: 9 -// Size: 0x48 -class CVRInputComponentUpdater : public CAnimComponentUpdater -{ -private: - [[maybe_unused]] uint8_t __pad0030[0x4]; // 0x30 -public: - CAnimParamHandle m_FingerCurl_Thumb; // 0x34 - CAnimParamHandle m_FingerCurl_Index; // 0x36 - CAnimParamHandle m_FingerCurl_Middle; // 0x38 - CAnimParamHandle m_FingerCurl_Ring; // 0x3a - CAnimParamHandle m_FingerCurl_Pinky; // 0x3c - CAnimParamHandle m_FingerSplay_Thumb_Index; // 0x3e - CAnimParamHandle m_FingerSplay_Index_Middle; // 0x40 - CAnimParamHandle m_FingerSplay_Middle_Ring; // 0x42 - CAnimParamHandle m_FingerSplay_Ring_Pinky; // 0x44 -}; - // Alignment: 2 // Size: 0x20 class CEmitTagActionUpdater : public CAnimActionUpdater @@ -7957,137 +3188,1268 @@ public: AnimScriptHandle m_hScript; // 0x1c }; -// Alignment: 5 -// Size: 0xb8 -class CAnimNodeStateTransition : public CAnimStateTransition +// Alignment: 4 +// Size: 0x30 +class CAnimTagBase { private: - [[maybe_unused]] uint8_t __pad0070[0x8]; // 0x70 + [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 public: - // MPropertyFriendlyName "Blend Duration" - CFloatAnimValue m_blendDuration; // 0x78 - // MPropertyFriendlyName "Reset Destination" - bool m_bReset; // 0x90 -private: - [[maybe_unused]] uint8_t __pad0091[0x3]; // 0x91 -public: - // MPropertyFriendlyName "Start Cycle At" - ResetCycleOption m_resetCycleOption; // 0x94 - // MPropertyFriendlyName "Fixed Start Cycle Value" - CFloatAnimValue m_flFixedCycleValue; // 0x98 + // MPropertyFriendlyName "Name" + // MPropertySortPriority "100" + CGlobalSymbol m_name; // 0x18 // MPropertyHideField - CBlendCurve m_blendCurve; // 0xb0 -}; - -// Alignment: 2 -// Size: 0x80 -class CAnimNodeState : public CAnimState -{ -public: + CGlobalSymbol m_group; // 0x20 // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x70 - // MPropertyFriendlyName "Exclusive Root Motion" - // MPropertySortPriority "0" - bool m_bIsRootMotionExclusive; // 0x78 -}; - -// Alignment: 2 -// Size: 0x68 -class CStateMachineAnimNode : public CAnimNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0038[0x28]; // 0x38 -public: - // MPropertyFriendlyName "Block Tags from Waning States" - bool m_bBlockWaningTags; // 0x60 - // MPropertyFriendlyName "Lock State when Waning" - bool m_bLockStateWhenWaning; // 0x61 -}; - -// Alignment: 2 -// Size: 0x70 -class CRagdollUpdateNode : public CUnaryUpdateNode -{ -public: - int32_t m_nWeightListIndex; // 0x68 - RagdollPoseControl m_poseControlMethod; // 0x6c + AnimTagID m_tagID; // 0x28 + // MPropertyHideField + bool m_bIsReferenced; // 0x2c }; // Alignment: 1 -// Size: 0xb8 -class CGroupAnimNode : public CContainerAnimNodeBase +// Size: 0x38 +class CAnimTagManagerUpdater +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 +public: + CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 +}; + +// Alignment: 7 +// Size: 0x50 +class CAudioAnimTag : public CAnimTagBase +{ +private: + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 +public: + // MPropertyFriendlyName "Sound Event" + // MPropertyAttributeEditor "SoundPicker()" + CUtlString m_clipName; // 0x38 + // MPropertyFriendlyName "Attachment" + // MPropertyAttributeChoiceName "Attachment" + CUtlString m_attachmentName; // 0x40 + // MPropertyFriendlyName "Volume" + // MPropertyAttributeRange "0 1" + float m_flVolume; // 0x48 + // MPropertyFriendlyName "Stop on Tag End" + bool m_bStopWhenTagEnds; // 0x4c + // MPropertyFriendlyName "Stop When Graph Destroyed" + bool m_bStopWhenGraphEnds; // 0x4d + // MPropertyFriendlyName "Play on Server" + bool m_bPlayOnServer; // 0x4e + // MPropertyFriendlyName "Play on Client" + bool m_bPlayOnClient; // 0x4f +}; + +// Alignment: 2 +// Size: 0x10 +class CBodyGroupSetting { public: - // MPropertyHideField - CAnimNodeManager m_nodeMgr; // 0x70 + // MPropertyFriendlyName "BodyGroup" + // MPropertyAttributeChoiceName "BodyGroup" + // MPropertyAutoRebuildOnChange + CUtlString m_BodyGroupName; // 0x0 + // MPropertyFriendlyName "BodyGroup Option" + // MPropertyAttributeChoiceName "BodyGroupOption" + // MPropertyAttrExtraInfoFn + int32_t m_nBodyGroupOption; // 0x8 +}; + +// Alignment: 2 +// Size: 0x58 +class CBodyGroupAnimTag : public CAnimTagBase +{ +private: + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 +public: + // MPropertyFriendlyName "Priority" + int32_t m_nPriority; // 0x38 +private: + [[maybe_unused]] uint8_t __pad003c[0x4]; // 0x3c +public: + // MPropertyFriendlyName "Body Group Settings" + CUtlVector< CBodyGroupSetting > m_bodyGroupSettings; // 0x40 +}; + +// Alignment: 4 +// Size: 0x50 +class CClothSettingsAnimTag : public CAnimTagBase +{ +private: + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 +public: + // MPropertyFriendlyName "Stiffness" + // MPropertyAttributeRange "0 1" + float m_flStiffness; // 0x38 + // MPropertyFriendlyName "EaseIn" + // MPropertyAttributeRange "0 1" + float m_flEaseIn; // 0x3c + // MPropertyFriendlyName "EaseOut" + // MPropertyAttributeRange "0 1" + float m_flEaseOut; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: + // MPropertyFriendlyName "VertexSet" + CUtlString m_nVertexSet; // 0x48 +}; + +// Alignment: 1 +// Size: 0x40 +class CFootFallAnimTag : public CAnimTagBase +{ +private: + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 +public: + // MPropertyFriendlyName "Foot" + FootFallTagFoot_t m_foot; // 0x38 +}; + +// Alignment: 4 +// Size: 0x58 +class CFootstepLandedAnimTag : public CAnimTagBase +{ +private: + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 +public: + // MPropertyFriendlyName "Footstep Type" + FootstepLandedFootSoundType_t m_FootstepType; // 0x38 +private: + [[maybe_unused]] uint8_t __pad003c[0x4]; // 0x3c +public: + // MPropertyFriendlyName "Override Sound" + // MPropertyAttributeChoiceName "Sound" + CUtlString m_OverrideSoundName; // 0x40 + // MPropertyFriendlyName "Debug Name" + CUtlString m_DebugAnimSourceString; // 0x48 + // MPropertyFriendlyName "Bone Name" + // MPropertyAttributeChoiceName "Bone" + CUtlString m_BoneName; // 0x50 +}; + +// Alignment: 4 +// Size: 0x50 +class CMaterialAttributeAnimTag : public CAnimTagBase +{ +private: + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 +public: + // MPropertyFriendlyName "Attribute Name" + CUtlString m_AttributeName; // 0x38 + // MPropertyFriendlyName "Attribute Type" + // MPropertyAttrChangeCallback + MatterialAttributeTagType_t m_AttributeType; // 0x40 + // MPropertyFriendlyName "Value" + // MPropertyAttrStateCallback + float m_flValue; // 0x44 + // MPropertyFriendlyName "Color" + // MPropertyAttrStateCallback + Color m_Color; // 0x48 +}; + +// Alignment: 10 +// Size: 0x78 +class CParticleAnimTag : public CAnimTagBase +{ +private: + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 +public: + // MPropertySuppressField + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hParticleSystem; // 0x38 + // MPropertyAttributeEditor "AssetBrowse( vpcf )" + // MPropertyFriendlyName "Particle System" + CUtlString m_particleSystemName; // 0x40 + // MPropertyFriendlyName "Configuration" + CUtlString m_configName; // 0x48 + // MPropertyFriendlyName "Detach From Owner" + bool m_bDetachFromOwner; // 0x50 + // MPropertyFriendlyName "Stop on Tag End" + // MPropertyGroupName "Ending" + bool m_bStopWhenTagEnds; // 0x51 + // MPropertyFriendlyName "Tag End Stop is Instant" + // MPropertyGroupName "Ending" + bool m_bTagEndStopIsInstant; // 0x52 +private: + [[maybe_unused]] uint8_t __pad0053[0x5]; // 0x53 +public: + // MPropertyFriendlyName "Attachment" + // MPropertyGroupName "Attachments" + // MPropertyAttributeChoiceName "Attachment" + CUtlString m_attachmentName; // 0x58 + // MPropertyFriendlyName "Attachment Type" + // MPropertyGroupName "Attachments" + ParticleAttachment_t m_attachmentType; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0064[0x4]; // 0x64 +public: + // MPropertyFriendlyName "Attachment (Control Point 1)" + // MPropertyGroupName "Attachments" + // MPropertyAttributeChoiceName "Attachment" + CUtlString m_attachmentCP1Name; // 0x68 + // MPropertyFriendlyName "Attachment Type (Control Point 1)" + // MPropertyGroupName "Attachments" + ParticleAttachment_t m_attachmentCP1Type; // 0x70 +}; + +// Alignment: 6 +// Size: 0x50 +class CRagdollAnimTag : public CAnimTagBase +{ +private: + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 +public: + // MPropertyFriendlyName "Pose Control" + AnimPoseControl m_nPoseControl; // 0x38 + // MPropertyFriendlyName "Frequency" + // MPropertyAttributeRange "0 30" + float m_flFrequency; // 0x3c + // MPropertyFriendlyName "Damping Ratio" + // MPropertyAttributeRange "0 2" + float m_flDampingRatio; // 0x40 + // MPropertyFriendlyName "Decay Duration" + // MPropertyAttributeRange "-1 1000" + float m_flDecayDuration; // 0x44 + // MPropertyFriendlyName "Decay Bias" + // MPropertyAttributeRange "0 1" + float m_flDecayBias; // 0x48 + // MPropertyFriendlyName "Destroy" + bool m_bDestroy; // 0x4c +}; + +// Alignment: 1 +// Size: 0x40 +class CSequenceFinishedAnimTag : public CAnimTagBase +{ +private: + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 +public: + // MPropertyFriendlyName "Sequence" + // MPropertyAttributeChoiceName "Sequence" + CUtlString m_sequenceName; // 0x38 }; // Alignment: 0 -// Size: 0x60 -class CGroupInputAnimNode : public CProxyAnimNodeBase +// Size: 0x30 +class CStringAnimTag : public CAnimTagBase { public: // No members available }; +// Alignment: 0 +// Size: 0x38 +class CTaskStatusAnimTag : public CAnimTagBase +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x30 +class CAnimComponentUpdater +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 +public: + CUtlString m_name; // 0x18 + AnimComponentID m_id; // 0x20 + AnimNodeNetworkMode m_networkMode; // 0x24 + bool m_bStartEnabled; // 0x28 +}; + +// Alignment: 1 +// Size: 0x38 +class CAnimScriptComponentUpdater : public CAnimComponentUpdater +{ +public: + AnimScriptHandle m_hScript; // 0x30 +}; + +// Alignment: 1 +// Size: 0x60 +class CCPPScriptComponentUpdater : public CAnimComponentUpdater +{ +public: + // MPropertyFriendlyName "Scripts" + CUtlVector< CGlobalSymbol > m_scriptsToRun; // 0x30 +}; + +// Alignment: 3 +// Size: 0x20 +class CDampedValueUpdateItem +{ +public: + CAnimInputDamping m_damping; // 0x0 + CAnimParamHandle m_hParamIn; // 0x18 + CAnimParamHandle m_hParamOut; // 0x1a +}; + +// Alignment: 1 +// Size: 0x48 +class CDampedValueComponentUpdater : public CAnimComponentUpdater +{ +public: + CUtlVector< CDampedValueUpdateItem > m_items; // 0x30 +}; + +// Alignment: 1 +// Size: 0x98 +class CDemoSettingsComponentUpdater : public CAnimComponentUpdater +{ +public: + CAnimDemoCaptureSettings m_settings; // 0x30 +}; + +// Alignment: 1 +// Size: 0x38 +class CLODComponentUpdater : public CAnimComponentUpdater +{ +public: + int32_t m_nServerLOD; // 0x30 +}; + +// Alignment: 8 +// Size: 0x48 +class CLookComponentUpdater : public CAnimComponentUpdater +{ +private: + [[maybe_unused]] uint8_t __pad0030[0x4]; // 0x30 +public: + CAnimParamHandle m_hLookHeading; // 0x34 + CAnimParamHandle m_hLookHeadingVelocity; // 0x36 + CAnimParamHandle m_hLookPitch; // 0x38 + CAnimParamHandle m_hLookDistance; // 0x3a + CAnimParamHandle m_hLookDirection; // 0x3c + CAnimParamHandle m_hLookTarget; // 0x3e + CAnimParamHandle m_hLookTargetWorldSpace; // 0x40 + bool m_bNetworkLookTarget; // 0x42 +}; + +// Alignment: 2 +// Size: 0x10 +class CMovementMode +{ +public: + // MPropertyFriendlyName "Name" + CUtlString m_name; // 0x0 + // MPropertyFriendlyName "Top Speed" + float m_flSpeed; // 0x8 +}; + +// Alignment: 9 +// Size: 0xc0 +class CMovementComponentUpdater : public CAnimComponentUpdater +{ +public: + CUtlVector< CMovementMode > m_movementModes; // 0x30 + CUtlVector< CSmartPtr< CAnimMotorUpdaterBase > > m_motors; // 0x48 + CAnimInputDamping m_facingDamping; // 0x60 + FacingMode m_eDefaultFacingMode; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0074[0x8]; // 0x74 +public: + int32_t m_nDefaultMotorIndex; // 0x7c + bool m_bMoveVarsDisabled; // 0x80 + bool m_bNetworkPath; // 0x81 + bool m_bNetworkFacing; // 0x82 + CAnimParamHandle m_paramHandles[30]; // 0x83 +}; + +// Alignment: 2 +// Size: 0x20 +class WeightList +{ +public: + CUtlString m_name; // 0x0 + CUtlVector< float32 > m_weights; // 0x8 +}; + +// Alignment: 7 +// Size: 0xa0 +class CRagdollComponentUpdater : public CAnimComponentUpdater +{ +public: + CUtlVector< CAnimNodePath > m_ragdollNodePaths; // 0x30 + CUtlVector< int32 > m_boneIndices; // 0x48 + CUtlVector< CUtlString > m_boneNames; // 0x60 + CUtlVector< WeightList > m_weightLists; // 0x78 + float m_flSpringFrequencyMin; // 0x90 + float m_flSpringFrequencyMax; // 0x94 + float m_flMaxStretch; // 0x98 +}; + +// Alignment: 7 +// Size: 0x48 +class CSlopeComponentUpdater : 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 +}; + +// Alignment: 9 +// Size: 0x48 +class CVRInputComponentUpdater : public CAnimComponentUpdater +{ +private: + [[maybe_unused]] uint8_t __pad0030[0x4]; // 0x30 +public: + CAnimParamHandle m_FingerCurl_Thumb; // 0x34 + CAnimParamHandle m_FingerCurl_Index; // 0x36 + CAnimParamHandle m_FingerCurl_Middle; // 0x38 + CAnimParamHandle m_FingerCurl_Ring; // 0x3a + CAnimParamHandle m_FingerCurl_Pinky; // 0x3c + CAnimParamHandle m_FingerSplay_Thumb_Index; // 0x3e + CAnimParamHandle m_FingerSplay_Index_Middle; // 0x40 + CAnimParamHandle m_FingerSplay_Middle_Ring; // 0x42 + CAnimParamHandle m_FingerSplay_Ring_Pinky; // 0x44 +}; + +// Alignment: 3 +// Size: 0x58 +class CAnimStateMachineUpdater +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + CUtlVector< CStateUpdateData > m_states; // 0x8 + CUtlVector< CTransitionUpdateData > m_transitions; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0038[0x18]; // 0x38 +public: + int32_t m_startStateIndex; // 0x50 +}; + +// Alignment: 2 +// Size: 0x20 +class CMotionDataSet +{ +public: + CUtlVector< CMotionGraphGroup > m_groups; // 0x0 + int32_t m_nDimensionCount; // 0x18 +}; + +// Alignment: 2 +// Size: 0x20 +class CProductQuantizer +{ +public: + CUtlVector< CVectorQuantizer > m_subQuantizers; // 0x0 + int32_t m_nDimensions; // 0x18 +}; + +// Alignment: 1 +// Size: 0x8 +class SampleCode +{ +public: + uint8_t m_subCode[8]; // 0x0 +}; + +// Alignment: 1 +// Size: 0x4 +class MotionDBIndex +{ +public: + uint32_t m_nIndex; // 0x0 +}; + +// Alignment: 3 +// Size: 0x20 +class CVectorQuantizer +{ +public: + CUtlVector< float32 > m_centroidVectors; // 0x0 + int32_t m_nCentroids; // 0x18 + int32_t m_nDimensions; // 0x1c +}; + +// Alignment: 5 +// Size: 0x80 +class CMotionSearchNode +{ +public: + CUtlVector< CMotionSearchNode* > m_children; // 0x0 + CVectorQuantizer m_quantizer; // 0x18 + CUtlVector< CUtlVector< SampleCode > > m_sampleCodes; // 0x38 + CUtlVector< CUtlVector< int32 > > m_sampleIndices; // 0x50 + CUtlVector< int32 > m_selectableSamples; // 0x68 +}; + +// Alignment: 3 +// Size: 0xb8 +class CMotionSearchDB +{ +public: + CMotionSearchNode m_rootNode; // 0x0 + CProductQuantizer m_residualQuantizer; // 0x80 + CUtlVector< MotionDBIndex > m_codeIndices; // 0xa0 +}; + +// Alignment: 5 +// Size: 0x108 +class CMotionGraphGroup +{ +public: + CMotionSearchDB m_searchDB; // 0x0 + CUtlVector< CSmartPtr< CMotionGraph > > m_motionGraphs; // 0xb8 + CUtlVector< CMotionGraphConfig > m_motionGraphConfigs; // 0xd0 + CUtlVector< int32 > m_sampleToConfig; // 0xe8 + AnimScriptHandle m_hIsActiveScript; // 0x100 +}; + +// Alignment: 7 +// Size: 0x58 +class CMotionGraph +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 +public: + CParamSpanUpdater m_paramSpans; // 0x10 + CUtlVector< TagSpan_t > m_tags; // 0x28 + CSmartPtr< CMotionNode > m_pRootNode; // 0x40 + int32_t m_nParameterCount; // 0x48 + int32_t m_nConfigStartIndex; // 0x4c + int32_t m_nConfigCount; // 0x50 + bool m_bLoop; // 0x54 +}; + // Alignment: 0 // Size: 0x58 -class CGroupOutputAnimNode : public CProxyAnimNodeBase +class CEditableMotionGraph : public CMotionGraph { public: // No members available }; -// Alignment: 0 -// Size: 0x60 -class CBindPoseUpdateNode : public CLeafUpdateNode -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x60 -class CZeroPoseUpdateNode : public CLeafUpdateNode -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x60 -class CAndCondition : public CConditionBase +// Alignment: 2 +// Size: 0x28 +class CMotionNode { private: - [[maybe_unused]] uint8_t __pad0028[0x10]; // 0x28 + [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 +public: + CUtlString m_name; // 0x18 + AnimNodeID m_id; // 0x20 +}; + +// Alignment: 3 +// Size: 0x48 +class CMotionNodeSequence : public CMotionNode +{ +public: + CUtlVector< TagSpan_t > m_tags; // 0x28 + HSequence m_hSequence; // 0x40 + float m_flPlaybackSpeed; // 0x44 +}; + +// Alignment: 2 +// Size: 0x10 +class MotionBlendItem +{ +public: + CSmartPtr< CMotionNode > m_pChild; // 0x0 + float m_flKeyValue; // 0x8 +}; + +// Alignment: 2 +// Size: 0x48 +class CMotionNodeBlend1D : public CMotionNode +{ +public: + CUtlVector< MotionBlendItem > m_blendItems; // 0x28 + int32_t m_nParamIndex; // 0x40 +}; + +// Alignment: 4 +// Size: 0x50 +class CMotionMetricEvaluator +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 +public: + CUtlVector< float32 > m_means; // 0x18 + CUtlVector< float32 > m_standardDeviations; // 0x30 + float m_flWeight; // 0x48 + int32_t m_nDimensionStartIndex; // 0x4c +}; + +// Alignment: 0 +// Size: 0x50 +class CBlockSelectionMetricEvaluator : public CMotionMetricEvaluator +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x58 +class CBonePositionMetricEvaluator : public CMotionMetricEvaluator +{ +public: + int32_t m_nBoneIndex; // 0x50 +}; + +// Alignment: 1 +// Size: 0x58 +class CBoneVelocityMetricEvaluator : public CMotionMetricEvaluator +{ +public: + int32_t m_nBoneIndex; // 0x50 +}; + +// Alignment: 0 +// Size: 0x50 +class CCurrentRotationVelocityMetricEvaluator : public CMotionMetricEvaluator +{ public: // No members available }; // Alignment: 0 +// Size: 0x50 +class CCurrentVelocityMetricEvaluator : public CMotionMetricEvaluator +{ +public: + // No members available +}; + +// Alignment: 7 // Size: 0x68 -class CRootUpdateNode : public CUnaryUpdateNode +class CDistanceRemainingMetricEvaluator : public CMotionMetricEvaluator +{ +public: + float m_flMaxDistance; // 0x50 + float m_flMinDistance; // 0x54 + float m_flStartGoalFilterDistance; // 0x58 + float m_flMaxGoalOvershootScale; // 0x5c + bool m_bFilterFixedMinDistance; // 0x60 + bool m_bFilterGoalDistance; // 0x61 + bool m_bFilterGoalOvershoot; // 0x62 +}; + +// Alignment: 1 +// Size: 0x68 +class CFootCycleMetricEvaluator : public CMotionMetricEvaluator +{ +public: + CUtlVector< int32 > m_footIndices; // 0x50 +}; + +// Alignment: 2 +// Size: 0x70 +class CFootPositionMetricEvaluator : public CMotionMetricEvaluator +{ +public: + CUtlVector< int32 > m_footIndices; // 0x50 + bool m_bIgnoreSlope; // 0x68 +}; + +// Alignment: 2 +// Size: 0x58 +class CFutureFacingMetricEvaluator : public CMotionMetricEvaluator +{ +public: + float m_flDistance; // 0x50 + float m_flTime; // 0x54 +}; + +// Alignment: 4 +// Size: 0x60 +class CFutureVelocityMetricEvaluator : public CMotionMetricEvaluator +{ +public: + float m_flDistance; // 0x50 + float m_flStoppingDistance; // 0x54 + float m_flTargetSpeed; // 0x58 + VelocityMetricMode m_eMode; // 0x5c +}; + +// Alignment: 4 +// Size: 0x78 +class CPathMetricEvaluator : public CMotionMetricEvaluator +{ +public: + CUtlVector< float32 > m_pathTimeSamples; // 0x50 + float m_flDistance; // 0x68 + bool m_bExtrapolateMovement; // 0x6c +private: + [[maybe_unused]] uint8_t __pad006d[0x3]; // 0x6d +public: + float m_flMinExtrapolationSpeed; // 0x70 +}; + +// Alignment: 2 +// Size: 0x70 +class CStepsRemainingMetricEvaluator : public CMotionMetricEvaluator +{ +public: + CUtlVector< int32 > m_footIndices; // 0x50 + float m_flMinStepsRemaining; // 0x68 +}; + +// Alignment: 4 +// Size: 0x60 +class CTimeRemainingMetricEvaluator : public CMotionMetricEvaluator +{ +public: + bool m_bMatchByTimeRemaining; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 +public: + float m_flMaxTimeRemaining; // 0x54 + bool m_bFilterByTimeRemaining; // 0x58 +private: + [[maybe_unused]] uint8_t __pad0059[0x3]; // 0x59 +public: + float m_flMinTimeRemaining; // 0x5c +}; + +// Alignment: 2 +// Size: 0x20 +class CAnimMotorUpdaterBase +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 +public: + CUtlString m_name; // 0x10 + bool m_bDefault; // 0x18 +}; + +// Alignment: 1 +// Size: 0x28 +class CPathAnimMotorUpdaterBase : public CAnimMotorUpdaterBase +{ +public: + bool m_bLockToPath; // 0x20 +}; + +// Alignment: 7 +// Size: 0x48 +class CDampedPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase +{ +private: + [[maybe_unused]] uint8_t __pad0028[0x4]; // 0x28 +public: + float m_flAnticipationTime; // 0x2c + float m_flMinSpeedScale; // 0x30 + CAnimParamHandle m_hAnticipationPosParam; // 0x34 + CAnimParamHandle m_hAnticipationHeadingParam; // 0x36 + float m_flSpringConstant; // 0x38 + float m_flMinSpringTension; // 0x3c + float m_flMaxSpringTension; // 0x40 +}; + +// Alignment: 0 +// Size: 0x28 +class CPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase { public: // No members available }; // Alignment: 6 -// Size: 0xa8 -class CSequenceUpdateNode : public CLeafUpdateNode +// Size: 0x50 +class CPlayerInputAnimMotorUpdater : public CAnimMotorUpdaterBase +{ +public: + CUtlVector< float32 > m_sampleTimes; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0038[0x4]; // 0x38 +public: + float m_flSpringConstant; // 0x3c + float m_flAnticipationDistance; // 0x40 + CAnimParamHandle m_hAnticipationPosParam; // 0x44 + CAnimParamHandle m_hAnticipationHeadingParam; // 0x46 + bool m_bUseAcceleration; // 0x48 +}; + +// Alignment: 8 +// Size: 0xd0 +struct AimMatrixOpFixedSettings_t +{ +public: + CAnimAttachment m_attachment; // 0x0 + CAnimInputDamping m_damping; // 0x80 + CPoseHandle m_poseCacheHandles[10]; // 0x90 + AimMatrixBlendMode m_eBlendMode; // 0xb8 + float m_fAngleIncrement; // 0xbc + int32_t m_nSequenceMaxFrame; // 0xc0 + int32_t m_nBoneMaskIndex; // 0xc4 + bool m_bTargetIsPosition; // 0xc8 +}; + +// Alignment: 4 +// Size: 0x90 +struct FollowAttachmentSettings_t +{ +public: + CAnimAttachment m_attachment; // 0x0 + int32_t m_boneIndex; // 0x80 + bool m_bMatchTranslation; // 0x84 + bool m_bMatchRotation; // 0x85 +}; + +// Alignment: 18 +// Size: 0x60 +class FootLockPoseOpFixedSettings +{ +public: + CUtlVector< FootFixedData_t > m_footInfo; // 0x0 + CAnimInputDamping m_hipDampingSettings; // 0x18 + int32_t m_nHipBoneIndex; // 0x28 + IKSolverType m_ikSolverType; // 0x2c + bool m_bApplyTilt; // 0x30 + bool m_bApplyHipDrop; // 0x31 + bool m_bAlwaysUseFallbackHinge; // 0x32 + bool m_bApplyFootRotationLimits; // 0x33 + bool m_bApplyLegTwistLimits; // 0x34 +private: + [[maybe_unused]] uint8_t __pad0035[0x3]; // 0x35 +public: + float m_flMaxFootHeight; // 0x38 + float m_flExtensionScale; // 0x3c + float m_flMaxLegTwist; // 0x40 + bool m_bEnableLockBreaking; // 0x44 +private: + [[maybe_unused]] uint8_t __pad0045[0x3]; // 0x45 +public: + float m_flLockBreakTolerance; // 0x48 + float m_flLockBlendTime; // 0x4c + bool m_bEnableStretching; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 +public: + float m_flMaxStretchAmount; // 0x54 + float m_flStretchExtensionScale; // 0x58 +}; + +// Alignment: 7 +// Size: 0x30 +struct FootPinningPoseOpFixedData_t +{ +public: + CUtlVector< FootFixedData_t > m_footInfo; // 0x0 + float m_flBlendTime; // 0x18 + float m_flLockBreakDistance; // 0x1c + float m_flMaxLegTwist; // 0x20 + int32_t m_nHipBoneIndex; // 0x24 + bool m_bApplyLegTwistLimits; // 0x28 + bool m_bApplyFootRotationLimits; // 0x29 +}; + +// Alignment: 17 +// Size: 0x44 +struct HitReactFixedSettings_t +{ +public: + int32_t m_nWeightListIndex; // 0x0 + int32_t m_nEffectedBoneCount; // 0x4 + float m_flMaxImpactForce; // 0x8 + float m_flMinImpactForce; // 0xc + float m_flWhipImpactScale; // 0x10 + float m_flCounterRotationScale; // 0x14 + float m_flDistanceFadeScale; // 0x18 + float m_flPropagationScale; // 0x1c + float m_flWhipDelay; // 0x20 + float m_flSpringStrength; // 0x24 + float m_flWhipSpringStrength; // 0x28 + float m_flMaxAngleRadians; // 0x2c + int32_t m_nHipBoneIndex; // 0x30 + float m_flHipBoneTranslationScale; // 0x34 + float m_flHipDipSpringStrength; // 0x38 + float m_flHipDipImpactScale; // 0x3c + float m_flHipDipDelay; // 0x40 +}; + +// Alignment: 7 +// Size: 0x2c +struct JiggleBoneSettings_t +{ +public: + int32_t m_nBoneIndex; // 0x0 + float m_flSpringStrength; // 0x4 + float m_flMaxTimeStep; // 0x8 + float m_flDamping; // 0xc + Vector m_vBoundsMaxLS; // 0x10 + Vector m_vBoundsMinLS; // 0x1c + JiggleBoneSimSpace m_eSimSpace; // 0x28 +}; + +// Alignment: 1 +// Size: 0x18 +struct JiggleBoneSettingsList_t +{ +public: + CUtlVector< JiggleBoneSettings_t > m_boneSettings; // 0x0 +}; + +// Alignment: 2 +// Size: 0x8 +struct LookAtBone_t +{ +public: + int32_t m_index; // 0x0 + float m_weight; // 0x4 +}; + +// Alignment: 11 +// Size: 0xc0 +struct LookAtOpFixedSettings_t +{ +public: + CAnimAttachment m_attachment; // 0x0 + CAnimInputDamping m_damping; // 0x80 + CUtlVector< LookAtBone_t > m_bones; // 0x90 + float m_flYawLimit; // 0xa8 + float m_flPitchLimit; // 0xac + float m_flHysteresisInnerAngle; // 0xb0 + float m_flHysteresisOuterAngle; // 0xb4 + bool m_bRotateYawForward; // 0xb8 + bool m_bMaintainUpDirection; // 0xb9 + bool m_bTargetIsPosition; // 0xba + bool m_bUseHysteresis; // 0xbb +}; + +// Alignment: 2 +// Size: 0x8 +struct FingerSource_t +{ +public: + AnimVRFinger_t m_nFingerIndex; // 0x0 + float m_flFingerWeight; // 0x4 +}; + +// Alignment: 7 +// Size: 0x34 +struct FingerBone_t +{ +public: + int32_t m_boneIndex; // 0x0 + Vector m_hingeAxis; // 0x4 + Vector m_vCapsulePos1; // 0x10 + Vector m_vCapsulePos2; // 0x1c + float m_flMinAngle; // 0x28 + float m_flMaxAngle; // 0x2c + float m_flRadius; // 0x30 +}; + +// Alignment: 9 +// Size: 0x60 +struct FingerChain_t +{ +public: + CUtlVector< FingerSource_t > m_targets; // 0x0 + CUtlVector< FingerBone_t > m_bones; // 0x18 + Vector m_vTipOffset; // 0x30 + Vector m_vSplayHingeAxis; // 0x3c + int32_t m_tipParentBoneIndex; // 0x48 + int32_t m_metacarpalBoneIndex; // 0x4c + float m_flSplayMinAngle; // 0x50 + float m_flSplayMaxAngle; // 0x54 + float m_flFingerScaleRatio; // 0x58 +}; + +// Alignment: 2 +// Size: 0x30 +struct WristBone_t +{ +public: + CTransform m_xOffsetTransformMS; // 0x0 + int32_t m_boneIndex; // 0x20 +}; + +// Alignment: 9 +// Size: 0x48 +struct SkeletalInputOpFixedSettings_t +{ +public: + CUtlVector< WristBone_t > m_wristBones; // 0x0 + CUtlVector< FingerChain_t > m_fingers; // 0x18 + int32_t m_outerKnuckle1; // 0x30 + int32_t m_outerKnuckle2; // 0x34 + AnimVRHand_t m_eHand; // 0x38 + AnimVRHandMotionRange_t m_eMotionRange; // 0x3c + AnimVrBoneTransformSource_t m_eTransformSource; // 0x40 + bool m_bEnableIK; // 0x44 + bool m_bEnableCollision; // 0x45 +}; + +// Alignment: 2 +// Size: 0x8 +struct IKSolverSettings_t +{ +public: + // MPropertyFriendlyName "Solver Type" + // MPropertyAttrChangeCallback + IKSolverType m_SolverType; // 0x0 + // MPropertyFriendlyName "Num Iterations " + // MPropertyAttrStateCallback + int32_t m_nNumIterations; // 0x4 +}; + +// Alignment: 2 +// Size: 0x20 +struct SolveIKChainPoseOpFixedSettings_t +{ +public: + CUtlVector< ChainToSolveData_t > m_ChainsToSolveData; // 0x0 + bool m_bMatchTargetOrientation; // 0x18 +}; + +// Alignment: 6 +// Size: 0x50 +class CAnimParameterBase { private: - [[maybe_unused]] uint8_t __pad0058[0x8]; // 0x58 + [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 public: - CParamSpanUpdater m_paramSpans; // 0x60 - CUtlVector< TagSpan_t > m_tags; // 0x78 + // MPropertyFriendlyName "Name" + // MPropertySortPriority "100" + CGlobalSymbol m_name; // 0x18 + // MPropertyHideField + CUtlString m_group; // 0x20 + // MPropertyHideField + AnimParamID m_id; // 0x28 private: - [[maybe_unused]] uint8_t __pad0090[0x4]; // 0x90 + [[maybe_unused]] uint8_t __pad002c[0x14]; // 0x2c public: - HSequence m_hSequence; // 0x94 - float m_playbackSpeed; // 0x98 - float m_duration; // 0x9c - bool m_bLoop; // 0xa0 + // MPropertyHideField + // MPropertyAttrChangeCallback + CUtlString m_componentName; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0048[0x4]; // 0x48 +public: + // MPropertyHideField + bool m_bNetworkingRequested; // 0x4c + // MPropertyHideField + bool m_bIsReferenced; // 0x4d +}; + +// Alignment: 6 +// Size: 0x60 +class CConcreteAnimParameter : public CAnimParameterBase +{ +public: + // MPropertyFriendlyName "Preview Button" + AnimParamButton_t m_previewButton; // 0x50 + // MPropertyFriendlyName "Network" + AnimParamNetworkSetting m_eNetworkSetting; // 0x54 + // MPropertyFriendlyName "Force Latest Value" + bool m_bUseMostRecentValue; // 0x58 + // MPropertyFriendlyName "Auto Reset" + bool m_bAutoReset; // 0x59 + // MPropertyFriendlyName "Game Writable" + // MPropertyGroupName "+Permissions" + // MPropertyAttrStateCallback + bool m_bGameWritable; // 0x5a + // MPropertyFriendlyName "Graph Writable" + // MPropertyGroupName "+Permissions" + // MPropertyAttrStateCallback + bool m_bGraphWritable; // 0x5b +}; + +// Alignment: 2 +// Size: 0x60 +class CVirtualAnimParameter : public CAnimParameterBase +{ +public: + CUtlString m_expressionString; // 0x50 + AnimParamType_t m_eParamType; // 0x58 +}; + +// Alignment: 1 +// Size: 0x68 +class CBoolAnimParameter : public CConcreteAnimParameter +{ +public: + // MPropertyFriendlyName "Default Value" + bool m_bDefaultValue; // 0x60 +}; + +// Alignment: 2 +// Size: 0xb8 +class CEnumAnimParameter : public CConcreteAnimParameter +{ +private: + [[maybe_unused]] uint8_t __pad0060[0x8]; // 0x60 +public: + // MPropertyFriendlyName "Default Value" + uint8_t m_defaultValue; // 0x68 +private: + [[maybe_unused]] uint8_t __pad0069[0x7]; // 0x69 +public: + // MPropertyFriendlyName "Values" + CUtlVector< CUtlString > m_enumOptions; // 0x70 +}; + +// Alignment: 3 +// Size: 0x70 +class CIntAnimParameter : public CConcreteAnimParameter +{ +public: + // MPropertyFriendlyName "Default Value" + int32_t m_defaultValue; // 0x60 + // MPropertyFriendlyName "Min Value" + int32_t m_minValue; // 0x64 + // MPropertyFriendlyName "Max Value" + int32_t m_maxValue; // 0x68 +}; + +// Alignment: 4 +// Size: 0x70 +class CFloatAnimParameter : public CConcreteAnimParameter +{ +public: + // MPropertyFriendlyName "Default Value" + float m_fDefaultValue; // 0x60 + // MPropertyFriendlyName "Min Value" + float m_fMinValue; // 0x64 + // MPropertyFriendlyName "Max Value" + float m_fMaxValue; // 0x68 + // MPropertyFriendlyName "Interpolate" + bool m_bInterpolate; // 0x6c +}; + +// Alignment: 2 +// Size: 0x70 +class CVectorAnimParameter : public CConcreteAnimParameter +{ +public: + // MPropertyFriendlyName "Default Value" + Vector m_defaultValue; // 0x60 + // MPropertyFriendlyName "Interpolate" + bool m_bInterpolate; // 0x6c +}; + +// Alignment: 2 +// Size: 0x80 +class CQuaternionAnimParameter : public CConcreteAnimParameter +{ +public: + // MPropertyFriendlyName "Default Value" + Quaternion m_defaultValue; // 0x60 + // MPropertyFriendlyName "Interpolate" + bool m_bInterpolate; // 0x70 +}; + +// Alignment: 5 +// Size: 0x58 +struct ScriptInfo_t +{ +public: + CUtlString m_code; // 0x0 + CUtlVector< CAnimParamHandle > m_paramsModified; // 0x8 + CUtlVector< int32 > m_proxyReadParams; // 0x20 + CUtlVector< int32 > m_proxyWriteParams; // 0x38 + AnimScriptType m_eScriptType; // 0x50 +}; + +// Alignment: 1 +// Size: 0x1a0 +class CAnimScriptManager +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 +public: + CUtlVector< ScriptInfo_t > m_scriptInfo; // 0x10 +}; + +// Alignment: 2 +// Size: 0x10 +class CStateActionUpdater +{ +public: + CSmartPtr< CAnimActionUpdater > m_pAction; // 0x0 + StateActionBehavior m_eBehavior; // 0x8 +}; + +// Alignment: 3 +// Size: 0x3 +class CTransitionUpdateData +{ +public: + uint8_t m_srcStateIndex; // 0x0 + uint8_t m_destStateIndex; // 0x1 + struct + { + uint8_t m_bDisabled: 1; + uint8_t __pad0: 1; + }; // 2 bits +}; + +// Alignment: 8 +// Size: 0x48 +class CStateUpdateData +{ +public: + CUtlString m_name; // 0x0 + AnimScriptHandle m_hScript; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< int32 > m_transitionIndices; // 0x10 + CUtlVector< CStateActionUpdater > m_actions; // 0x28 + AnimStateID m_stateID; // 0x40 + struct + { + uint8_t m_bIsStartState: 1; + uint8_t m_bIsEndState: 1; + uint8_t m_bIsPassthrough: 1; + uint8_t __pad1: 3; + }; // 6 bits +}; + +// Alignment: 1 +// Size: 0x88 +class CStateMachineComponentUpdater : public CAnimComponentUpdater +{ +public: + CAnimStateMachineUpdater m_stateMachine; // 0x30 +}; + +// Alignment: 1 +// Size: 0x10 +class CAnimUpdateNodeRef +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + int32_t m_nodeIndex; // 0x8 +}; + +// Alignment: 3 +// Size: 0x58 +class CAnimUpdateNodeBase +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 +public: + CAnimNodePath m_nodePath; // 0x18 + CUtlString m_name; // 0x48 + AnimNodeNetworkMode m_networkMode; // 0x50 +}; + +// Alignment: 6 +// Size: 0x88 +class CBinaryUpdateNode : public CAnimUpdateNodeBase +{ +public: + CAnimUpdateNodeRef m_pChild1; // 0x58 + CAnimUpdateNodeRef m_pChild2; // 0x68 + BinaryNodeTiming m_timingBehavior; // 0x78 + float m_flTimingBlend; // 0x7c + bool m_bResetChild1; // 0x80 + bool m_bResetChild2; // 0x81 }; // Alignment: 11 @@ -8116,206 +4478,47 @@ public: bool m_bLockWhenWaning; // 0xcf }; -// Alignment: 5 -// Size: 0xf8 -class CStateMachineUpdateNode : public CAnimUpdateNodeBase -{ -private: - [[maybe_unused]] uint8_t __pad0058[0x10]; // 0x58 -public: - CAnimStateMachineUpdater m_stateMachine; // 0x68 - CUtlVector< CStateNodeStateData > m_stateData; // 0xc0 - CUtlVector< CStateNodeTransitionData > m_transitionData; // 0xd8 -private: - [[maybe_unused]] uint8_t __pad00f0[0x4]; // 0xf0 -public: - bool m_bBlockWaningTags; // 0xf4 - bool m_bLockStateWhenWaning; // 0xf5 -}; - -// Alignment: 10 -// Size: 0xb8 -class CChoiceUpdateNode : public CAnimUpdateNodeBase +// Alignment: 6 +// Size: 0x40 +struct BlendItem_t { public: - CUtlVector< CAnimUpdateNodeRef > m_children; // 0x58 - CUtlVector< float32 > m_weights; // 0x70 - CUtlVector< float32 > m_blendTimes; // 0x88 - ChoiceMethod m_choiceMethod; // 0xa0 - ChoiceChangeMethod m_choiceChangeMethod; // 0xa4 - ChoiceBlendMethod m_blendMethod; // 0xa8 - float m_blendTime; // 0xac - bool m_bCrossFade; // 0xb0 - bool m_bResetChosen; // 0xb1 - bool m_bDontResetSameSelection; // 0xb2 + CUtlVector< TagSpan_t > m_tags; // 0x0 + CAnimUpdateNodeRef m_pChild; // 0x18 + HSequence m_hSequence; // 0x28 + Vector2D m_vPos; // 0x2c + float m_flDuration; // 0x34 + bool m_bUseCustomDuration; // 0x38 }; -// Alignment: 2 -// Size: 0x70 -class CCycleControlUpdateNode : public CUnaryUpdateNode -{ -public: - AnimValueSource m_valueSource; // 0x68 - CAnimParamHandle m_paramIndex; // 0x6c -}; - -// Alignment: 5 -// Size: 0x90 -class CCycleControlClipUpdateNode : public CLeafUpdateNode +// Alignment: 15 +// Size: 0xf0 +class CBlend2DUpdateNode : public CAnimUpdateNodeBase { private: [[maybe_unused]] uint8_t __pad0058[0x8]; // 0x58 public: - CUtlVector< TagSpan_t > m_tags; // 0x60 + CUtlVector< BlendItem_t > m_items; // 0x60 + CUtlVector< TagSpan_t > m_tags; // 0x78 + CParamSpanUpdater m_paramSpans; // 0x90 + CUtlVector< int32 > m_nodeItemIndices; // 0xa8 + CAnimInputDamping m_damping; // 0xc0 + AnimValueSource m_blendSourceX; // 0xd0 + CAnimParamHandle m_paramX; // 0xd4 private: - [[maybe_unused]] uint8_t __pad0078[0x4]; // 0x78 + [[maybe_unused]] uint8_t __pad00d6[0x2]; // 0xd6 public: - HSequence m_hSequence; // 0x7c - float m_duration; // 0x80 - AnimValueSource m_valueSource; // 0x84 - CAnimParamHandle m_paramIndex; // 0x88 -}; - -// Alignment: 4 -// Size: 0x98 -class CAddUpdateNode : public CBinaryUpdateNode -{ + AnimValueSource m_blendSourceY; // 0xd8 + CAnimParamHandle m_paramY; // 0xdc private: - [[maybe_unused]] uint8_t __pad0088[0x4]; // 0x88 + [[maybe_unused]] uint8_t __pad00de[0x2]; // 0xde public: - BinaryNodeChildOption m_footMotionTiming; // 0x8c - bool m_bApplyToFootMotion; // 0x90 - bool m_bApplyChannelsSeparately; // 0x91 - bool m_bUseModelSpace; // 0x92 -}; - -// Alignment: 4 -// Size: 0x98 -class CSubtractUpdateNode : public CBinaryUpdateNode -{ -private: - [[maybe_unused]] uint8_t __pad0088[0x4]; // 0x88 -public: - BinaryNodeChildOption m_footMotionTiming; // 0x8c - bool m_bApplyToFootMotion; // 0x90 - bool m_bApplyChannelsSeparately; // 0x91 - bool m_bUseModelSpace; // 0x92 -}; - -// Alignment: 12 -// Size: 0xa0 -class CMoverUpdateNode : public CUnaryUpdateNode -{ -private: - [[maybe_unused]] uint8_t __pad0068[0x8]; // 0x68 -public: - CAnimInputDamping m_damping; // 0x70 - AnimValueSource m_facingTarget; // 0x80 - CAnimParamHandle m_hMoveVecParam; // 0x84 - CAnimParamHandle m_hMoveHeadingParam; // 0x86 - CAnimParamHandle m_hTurnToFaceParam; // 0x88 -private: - [[maybe_unused]] uint8_t __pad008a[0x2]; // 0x8a -public: - float m_flTurnToFaceOffset; // 0x8c - float m_flTurnToFaceLimit; // 0x90 - bool m_bAdditive; // 0x94 - bool m_bApplyMovement; // 0x95 - bool m_bOrientMovement; // 0x96 - bool m_bApplyRotation; // 0x97 - bool m_bLimitOnly; // 0x98 -}; - -// Alignment: 1 -// Size: 0x70 -class CSlowDownOnSlopesUpdateNode : public CUnaryUpdateNode -{ -public: - float m_flSlowDownStrength; // 0x68 -}; - -// Alignment: 6 -// Size: 0x88 -class CTurnHelperUpdateNode : public CUnaryUpdateNode -{ -private: - [[maybe_unused]] uint8_t __pad0068[0x4]; // 0x68 -public: - AnimValueSource m_facingTarget; // 0x6c - float m_turnStartTimeOffset; // 0x70 - float m_turnDuration; // 0x74 - bool m_bMatchChildDuration; // 0x78 -private: - [[maybe_unused]] uint8_t __pad0079[0x3]; // 0x79 -public: - float m_manualTurnOffset; // 0x7c - bool m_bUseManualTurnOffset; // 0x80 -}; - -// Alignment: 6 -// Size: 0x160 -class CAimMatrixUpdateNode : public CUnaryUpdateNode -{ -private: - [[maybe_unused]] uint8_t __pad0068[0x8]; // 0x68 -public: - AimMatrixOpFixedSettings_t m_opFixedSettings; // 0x70 -private: - [[maybe_unused]] uint8_t __pad0140[0x8]; // 0x140 -public: - AnimVectorSource m_target; // 0x148 - CAnimParamHandle m_paramIndex; // 0x14c -private: - [[maybe_unused]] uint8_t __pad014e[0x2]; // 0x14e -public: - HSequence m_hSequence; // 0x150 - bool m_bResetChild; // 0x154 - bool m_bLockWhenWaning; // 0x155 -}; - -// Alignment: 1 -// Size: 0x70 -class CSpeedScaleUpdateNode : public CUnaryUpdateNode -{ -public: - CAnimParamHandle m_paramIndex; // 0x68 -}; - -// Alignment: 8 -// Size: 0xa8 -class CDirectionalBlendUpdateNode : public CLeafUpdateNode -{ -private: - [[maybe_unused]] uint8_t __pad0058[0x4]; // 0x58 -public: - HSequence m_hSequences[8]; // 0x5c -private: - [[maybe_unused]] uint8_t __pad007c[0x4]; // 0x7c -public: - CAnimInputDamping m_damping; // 0x80 - AnimValueSource m_blendValueSource; // 0x90 - CAnimParamHandle m_paramIndex; // 0x94 -private: - [[maybe_unused]] uint8_t __pad0096[0x2]; // 0x96 -public: - float m_playbackSpeed; // 0x98 - float m_duration; // 0x9c - bool m_bLoop; // 0xa0 - bool m_bLockBlendOnReset; // 0xa1 -}; - -// Alignment: 5 -// Size: 0x78 -class CWayPointHelperUpdateNode : public CUnaryUpdateNode -{ -private: - [[maybe_unused]] uint8_t __pad0068[0x4]; // 0x68 -public: - float m_flStartCycle; // 0x6c - float m_flEndCycle; // 0x70 - bool m_bOnlyGoals; // 0x74 - bool m_bPreventOvershoot; // 0x75 - bool m_bPreventUndershoot; // 0x76 + Blend2DMode m_eBlendMode; // 0xe0 + float m_playbackSpeed; // 0xe4 + bool m_bLoop; // 0xe8 + bool m_bLockBlendOnReset; // 0xe9 + bool m_bLockWhenWaning; // 0xea + bool m_bAnimEventsAndTagsOnMostWeightedOnly; // 0xeb }; // Alignment: 7 @@ -8337,27 +4540,95 @@ public: CAnimParamHandle m_hBlendParameter; // 0xa4 }; -// Alignment: 0 -// Size: 0x70 -class CChoreoUpdateNode : public CUnaryUpdateNode +// Alignment: 10 +// Size: 0xb8 +class CChoiceUpdateNode : public CAnimUpdateNodeBase { public: - // No members available + CUtlVector< CAnimUpdateNodeRef > m_children; // 0x58 + CUtlVector< float32 > m_weights; // 0x70 + CUtlVector< float32 > m_blendTimes; // 0x88 + ChoiceMethod m_choiceMethod; // 0xa0 + ChoiceChangeMethod m_choiceChangeMethod; // 0xa4 + ChoiceBlendMethod m_blendMethod; // 0xa8 + float m_blendTime; // 0xac + bool m_bCrossFade; // 0xb0 + bool m_bResetChosen; // 0xb1 + bool m_bDontResetSameSelection; // 0xb2 +}; + +// Alignment: 2 +// Size: 0x20 +class CDirectPlaybackTagData +{ +public: + CUtlString m_sequenceName; // 0x0 + CUtlVector< TagSpan_t > m_tags; // 0x8 +}; + +// Alignment: 11 +// Size: 0x50 +struct FootFixedData_t +{ +public: + VectorAligned m_vToeOffset; // 0x0 + VectorAligned m_vHeelOffset; // 0x10 + int32_t m_nTargetBoneIndex; // 0x20 + int32_t m_nAnkleBoneIndex; // 0x24 + int32_t m_nIKAnchorBoneIndex; // 0x28 + int32_t m_ikChainIndex; // 0x2c + float m_flMaxIKLength; // 0x30 + int32_t m_nFootIndex; // 0x34 + int32_t m_nTagIndex; // 0x38 + float m_flMaxRotationLeft; // 0x3c + float m_flMaxRotationRight; // 0x40 +}; + +// Alignment: 2 +// Size: 0x8 +struct TraceSettings_t +{ +public: + float m_flTraceHeight; // 0x0 + float m_flTraceRadius; // 0x4 +}; + +// Alignment: 10 +// Size: 0x40 +class FootFixedSettings +{ +public: + TraceSettings_t m_traceSettings; // 0x0 + VectorAligned m_vFootBaseBindPosePositionMS; // 0x10 + float m_flFootBaseLength; // 0x20 + float m_flMaxRotationLeft; // 0x24 + float m_flMaxRotationRight; // 0x28 + int32_t m_footstepLandedTagIndex; // 0x2c + bool m_bEnableTracing; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0031[0x3]; // 0x31 +public: + float m_flTraceAngleBlend; // 0x34 + int32_t m_nDisableTagIndex; // 0x38 + int32_t m_nFootIndex; // 0x3c }; // Alignment: 3 -// Size: 0x88 -class CDirectPlaybackUpdateNode : public CUnaryUpdateNode +// Size: 0x20 +class FootStepTrigger { -private: - [[maybe_unused]] uint8_t __pad0068[0x4]; // 0x68 public: - bool m_bFinishEarly; // 0x6c - bool m_bResetOnFinish; // 0x6d -private: - [[maybe_unused]] uint8_t __pad006e[0x2]; // 0x6e + CUtlVector< int32 > m_tags; // 0x0 + int32_t m_nFootIndex; // 0x18 + StepPhase m_triggerPhase; // 0x1c +}; + +// Alignment: 0 +// Size: 0x58 +class CLeafUpdateNode : public CAnimUpdateNodeBase +{ public: - CUtlVector< CDirectPlaybackTagData > m_allTags; // 0x70 + // No members available }; // Alignment: 10 @@ -8386,49 +4657,599 @@ public: }; // Alignment: 1 -// Size: 0x1e0 -class CTwoBoneIKUpdateNode : public CUnaryUpdateNode +// Size: 0x68 +class CMotionGraphUpdateNode : public CLeafUpdateNode { -private: - [[maybe_unused]] uint8_t __pad0068[0x8]; // 0x68 public: - TwoBoneIKSettings_t m_opFixedData; // 0x70 + CSmartPtr< CMotionGraph > m_pMotionGraph; // 0x58 }; -// Alignment: 2 -// Size: 0xa0 -class CSolveIKChainUpdateNode : public CUnaryUpdateNode +// Alignment: 23 +// Size: 0x140 +class CMotionMatchingUpdateNode : public CLeafUpdateNode { public: - CUtlVector< CAnimParamHandle > m_targetHandles; // 0x68 - SolveIKChainPoseOpFixedSettings_t m_opFixedData; // 0x80 + CMotionDataSet m_dataSet; // 0x58 + CUtlVector< CSmartPtr< CMotionMetricEvaluator > > m_metrics; // 0x78 + CUtlVector< float32 > m_weights; // 0x90 +private: + [[maybe_unused]] uint8_t __pad00a8[0x38]; // 0xa8 +public: + bool m_bSearchEveryTick; // 0xe0 +private: + [[maybe_unused]] uint8_t __pad00e1[0x3]; // 0xe1 +public: + float m_flSearchInterval; // 0xe4 + bool m_bSearchWhenClipEnds; // 0xe8 + bool m_bSearchWhenGoalChanges; // 0xe9 +private: + [[maybe_unused]] uint8_t __pad00ea[0x2]; // 0xea +public: + CBlendCurve m_blendCurve; // 0xec + float m_flSampleRate; // 0xf4 + float m_flBlendTime; // 0xf8 + bool m_bLockClipWhenWaning; // 0xfc +private: + [[maybe_unused]] uint8_t __pad00fd[0x3]; // 0xfd +public: + float m_flSelectionThreshold; // 0x100 + float m_flReselectionTimeWindow; // 0x104 + bool m_bEnableRotationCorrection; // 0x108 + bool m_bGoalAssist; // 0x109 +private: + [[maybe_unused]] uint8_t __pad010a[0x2]; // 0x10a +public: + float m_flGoalAssistDistance; // 0x10c + float m_flGoalAssistTolerance; // 0x110 +private: + [[maybe_unused]] uint8_t __pad0114[0x4]; // 0x114 +public: + CAnimInputDamping m_distanceScale_Damping; // 0x118 + float m_flDistanceScale_OuterRadius; // 0x128 + float m_flDistanceScale_InnerRadius; // 0x12c + float m_flDistanceScale_MaxScale; // 0x130 + float m_flDistanceScale_MinScale; // 0x134 + bool m_bEnableDistanceScaling; // 0x138 +}; + +// Alignment: 8 +// Size: 0xa8 +class CSelectorUpdateNode : public CAnimUpdateNodeBase +{ +public: + CUtlVector< CAnimUpdateNodeRef > m_children; // 0x58 + CUtlVector< int8 > m_tags; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0088[0x4]; // 0x88 +public: + CBlendCurve m_blendCurve; // 0x8c + CAnimValue< float32 > m_flBlendTime; // 0x94 + CAnimParamHandle m_hParameter; // 0x9c +private: + [[maybe_unused]] uint8_t __pad009e[0x2]; // 0x9e +public: + SelectorTagBehavior_t m_eTagBehavior; // 0xa0 + bool m_bResetOnChange; // 0xa4 + bool m_bSyncCyclesOnChange; // 0xa5 }; // Alignment: 6 -// Size: 0x150 -class CLookAtUpdateNode : public CUnaryUpdateNode +// Size: 0xa8 +class CSequenceUpdateNode : public CLeafUpdateNode { private: - [[maybe_unused]] uint8_t __pad0068[0x8]; // 0x68 + [[maybe_unused]] uint8_t __pad0058[0x8]; // 0x58 public: - LookAtOpFixedSettings_t m_opFixedSettings; // 0x70 + CParamSpanUpdater m_paramSpans; // 0x60 + CUtlVector< TagSpan_t > m_tags; // 0x78 private: - [[maybe_unused]] uint8_t __pad0130[0x8]; // 0x130 + [[maybe_unused]] uint8_t __pad0090[0x4]; // 0x90 public: - AnimVectorSource m_target; // 0x138 - CAnimParamHandle m_paramIndex; // 0x13c - CAnimParamHandle m_weightParamIndex; // 0x13e - bool m_bResetChild; // 0x140 - bool m_bLockWhenWaning; // 0x141 + HSequence m_hSequence; // 0x94 + float m_playbackSpeed; // 0x98 + float m_duration; // 0x9c + bool m_bLoop; // 0xa0 +}; + +// Alignment: 2 +// Size: 0x4 +class CPoseHandle +{ +public: + uint16_t m_nIndex; // 0x0 + PoseType_t m_eType; // 0x2 +}; + +// Alignment: 1 +// Size: 0xa8 +class CSkeletalInputUpdateNode : public CLeafUpdateNode +{ +public: + SkeletalInputOpFixedSettings_t m_fixedOpData; // 0x58 +}; + +// Alignment: 2 +// Size: 0x4 +struct CSolveIKTargetHandle_t +{ +public: + CAnimParamHandle m_positionHandle; // 0x0 + CAnimParamHandle m_orientationHandle; // 0x2 +}; + +// Alignment: 2 +// Size: 0x10 +struct StanceInfo_t +{ +public: + Vector m_vPosition; // 0x0 + float m_flDirection; // 0xc +}; + +// Alignment: 5 +// Size: 0x1c +class CStateNodeTransitionData +{ +public: + CBlendCurve m_curve; // 0x0 + CAnimValue< float32 > m_blendDuration; // 0x8 + CAnimValue< float32 > m_resetCycleValue; // 0x10 + struct + { + uint8_t m_bReset: 1; + uint8_t m_resetCycleOption: 3; + uint8_t __pad2: 4; + }; // 8 bits +}; + +// Alignment: 2 +// Size: 0x18 +class CStateNodeStateData +{ +public: + CAnimUpdateNodeRef m_pChild; // 0x0 + struct + { + uint8_t m_bExclusiveRootMotion: 1; + uint8_t __pad3: 1; + }; // 2 bits +}; + +// Alignment: 5 +// Size: 0xf8 +class CStateMachineUpdateNode : public CAnimUpdateNodeBase +{ +private: + [[maybe_unused]] uint8_t __pad0058[0x10]; // 0x58 +public: + CAnimStateMachineUpdater m_stateMachine; // 0x68 + CUtlVector< CStateNodeStateData > m_stateData; // 0xc0 + CUtlVector< CStateNodeTransitionData > m_transitionData; // 0xd8 +private: + [[maybe_unused]] uint8_t __pad00f0[0x4]; // 0xf0 +public: + bool m_bBlockWaningTags; // 0xf4 + bool m_bLockStateWhenWaning; // 0xf5 +}; + +// Alignment: 4 +// Size: 0x98 +class CSubtractUpdateNode : public CBinaryUpdateNode +{ +private: + [[maybe_unused]] uint8_t __pad0088[0x4]; // 0x88 +public: + BinaryNodeChildOption m_footMotionTiming; // 0x8c + bool m_bApplyToFootMotion; // 0x90 + bool m_bApplyChannelsSeparately; // 0x91 + bool m_bUseModelSpace; // 0x92 +}; + +// Alignment: 15 +// Size: 0x160 +struct TwoBoneIKSettings_t +{ +public: + IkEndEffectorType m_endEffectorType; // 0x0 + CAnimAttachment m_endEffectorAttachment; // 0x10 + IkTargetType m_targetType; // 0x90 +private: + [[maybe_unused]] uint8_t __pad0094[0xc]; // 0x94 +public: + CAnimAttachment m_targetAttachment; // 0xa0 + int32_t m_targetBoneIndex; // 0x120 + CAnimParamHandle m_hPositionParam; // 0x124 + CAnimParamHandle m_hRotationParam; // 0x126 + bool m_bAlwaysUseFallbackHinge; // 0x128 +private: + [[maybe_unused]] uint8_t __pad0129[0x7]; // 0x129 +public: + VectorAligned m_vLsFallbackHingeAxis; // 0x130 + int32_t m_nFixedBoneIndex; // 0x140 + int32_t m_nMiddleBoneIndex; // 0x144 + int32_t m_nEndBoneIndex; // 0x148 + bool m_bMatchTargetOrientation; // 0x14c + bool m_bConstrainTwist; // 0x14d +private: + [[maybe_unused]] uint8_t __pad014e[0x2]; // 0x14e +public: + float m_flMaxTwist; // 0x150 +}; + +// Alignment: 1 +// Size: 0x68 +class CUnaryUpdateNode : public CAnimUpdateNodeBase +{ +public: + CAnimUpdateNodeRef m_pChildNode; // 0x58 +}; + +// Alignment: 5 +// Size: 0x78 +class CWayPointHelperUpdateNode : public CUnaryUpdateNode +{ +private: + [[maybe_unused]] uint8_t __pad0068[0x4]; // 0x68 +public: + float m_flStartCycle; // 0x6c + float m_flEndCycle; // 0x70 + bool m_bOnlyGoals; // 0x74 + bool m_bPreventOvershoot; // 0x75 + bool m_bPreventUndershoot; // 0x76 +}; + +// Alignment: 0 +// Size: 0x60 +class CZeroPoseUpdateNode : public CLeafUpdateNode +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0xc +struct TagSpan_t +{ +public: + int32_t m_tagIndex; // 0x0 + float m_startCycle; // 0x4 + float m_endCycle; // 0x8 +}; + +// Alignment: 10 +// Size: 0x100 +class CAnimUpdateSharedData +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 +public: + CUtlVector< CSmartPtr< CAnimUpdateNodeBase > > m_nodes; // 0x10 + CUtlHashtable< CAnimNodePath, int32 > m_nodeIndexMap; // 0x28 + CUtlVector< CSmartPtr< CAnimComponentUpdater > > m_components; // 0x48 + CSmartPtr< CAnimParameterManagerUpdater > m_pParamListUpdater; // 0x60 + CSmartPtr< CAnimTagManagerUpdater > m_pTagManagerUpdater; // 0x68 + CSmartPtr< CAnimScriptManager > m_scriptManager; // 0x70 + CAnimGraphSettingsManager m_settings; // 0x78 + CSmartPtr< CStaticPoseCacheBuilder > m_pStaticPoseCache; // 0xa8 + CSmartPtr< CAnimSkeleton > m_pSkeleton; // 0xb0 + CAnimNodePath m_rootNodePath; // 0xb8 +}; + +// Alignment: 2 +// Size: 0x4 +class ConfigIndex +{ +public: + uint16_t m_nGroup; // 0x0 + uint16_t m_nConfig; // 0x2 +}; + +// Alignment: 2 +// Size: 0x4 +class MotionIndex +{ +public: + uint16_t m_nGroup; // 0x0 + uint16_t m_nMotion; // 0x2 +}; + +// Alignment: 5 +// Size: 0x20 +class CMotionGraphConfig +{ +public: + float m_paramValues[4]; // 0x0 + float m_flDuration; // 0x10 + MotionIndex m_nMotionIndex; // 0x14 + int32_t m_nSampleStart; // 0x18 + int32_t m_nSampleCount; // 0x1c +}; + +// Alignment: 4 +// Size: 0x80 +class CSingleFrameUpdateNode : public CLeafUpdateNode +{ +public: + CUtlVector< CSmartPtr< CAnimActionUpdater > > m_actions; // 0x58 + CPoseHandle m_hPoseCacheHandle; // 0x70 + HSequence m_hSequence; // 0x74 + float m_flCycle; // 0x78 +}; + +// 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: 0x60 +class CAnimationGraphVisualizerText : public CAnimationGraphVisualizerPrimitiveBase +{ +public: + VectorAligned m_vWsPosition; // 0x40 + Color m_Color; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 +public: + CUtlString m_Text; // 0x58 +}; + +// Alignment: 3 +// Size: 0x60 +class CAnimationGraphVisualizerSphere : public CAnimationGraphVisualizerPrimitiveBase +{ +public: + VectorAligned m_vWsPosition; // 0x40 + float m_flRadius; // 0x50 + Color m_Color; // 0x54 +}; + +// Alignment: 3 +// Size: 0x70 +class CAnimationGraphVisualizerLine : public CAnimationGraphVisualizerPrimitiveBase +{ +public: + VectorAligned m_vWsPositionStart; // 0x40 + VectorAligned m_vWsPositionEnd; // 0x50 + Color m_Color; // 0x60 +}; + +// Alignment: 4 +// Size: 0x80 +class CAnimationGraphVisualizerPie : public CAnimationGraphVisualizerPrimitiveBase +{ +public: + VectorAligned m_vWsCenter; // 0x40 + VectorAligned m_vWsStart; // 0x50 + VectorAligned m_vWsEnd; // 0x60 + Color m_Color; // 0x70 }; // Alignment: 2 // Size: 0x70 -class CPathHelperUpdateNode : public CUnaryUpdateNode +class CAnimationGraphVisualizerAxis : public CAnimationGraphVisualizerPrimitiveBase { public: - float m_flStoppingRadius; // 0x68 - float m_flStoppingSpeedScale; // 0x6c + CTransform m_xWsTransform; // 0x40 + float m_flAxisSize; // 0x60 +}; + +// Alignment: 1 +// Size: 0x10 +struct IKBoneNameAndIndex_t +{ +public: + // MPropertyAttributeChoiceName "Bone" + CUtlString m_Name; // 0x0 +}; + +// Alignment: 5 +// Size: 0x28 +struct IKTargetSettings_t +{ +public: + // MPropertyFriendlyName "Target Source" + // MPropertyAttrChangeCallback + IKTargetSource m_TargetSource; // 0x0 + // MPropertyFriendlyName "Bone" + // MPropertyAttrStateCallback + IKBoneNameAndIndex_t m_Bone; // 0x8 + // MPropertyFriendlyName "Animgraph Position Parameter" + // MPropertyAttributeChoiceName "VectorParameter" + // MPropertyAttrStateCallback + AnimParamID m_AnimgraphParameterNamePosition; // 0x18 + // MPropertyFriendlyName "Animgraph Orientation Parameter" + // MPropertyAttributeChoiceName "QuaternionParameter" + // MPropertyAttrStateCallback + AnimParamID m_AnimgraphParameterNameOrientation; // 0x1c + // MPropertyFriendlyName "Target Coords" + // MPropertyAttrStateCallback + IKTargetCoordinateSystem m_TargetCoordSystem; // 0x20 +}; + +// Alignment: 6 +// Size: 0x50 +struct ChainToSolveData_t +{ +public: + int32_t m_nChainIndex; // 0x0 + IKSolverSettings_t m_SolverSettings; // 0x4 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + IKTargetSettings_t m_TargetSettings; // 0x10 + SolveIKChainAnimNodeDebugSetting m_DebugSetting; // 0x38 + float m_flDebugNormalizedValue; // 0x3c + VectorAligned m_vDebugOffset; // 0x40 +}; + +// Alignment: 1 +// Size: 0x28 +class CAnimGraphNetworkSettings : public CAnimGraphSettingsGroup +{ +public: + // MPropertyFriendlyName "Enable Networking" + bool m_bNetworkingEnabled; // 0x20 +}; + +// Alignment: 1 +// Size: 0x48 +class CActionComponentUpdater : public CAnimComponentUpdater +{ +public: + CUtlVector< CSmartPtr< CAnimActionUpdater > > m_actions; // 0x30 +}; + +// Alignment: 4 +// Size: 0x98 +class CAddUpdateNode : public CBinaryUpdateNode +{ +private: + [[maybe_unused]] uint8_t __pad0088[0x4]; // 0x88 +public: + BinaryNodeChildOption m_footMotionTiming; // 0x8c + bool m_bApplyToFootMotion; // 0x90 + bool m_bApplyChannelsSeparately; // 0x91 + bool m_bUseModelSpace; // 0x92 +}; + +// Alignment: 6 +// Size: 0x160 +class CAimMatrixUpdateNode : public CUnaryUpdateNode +{ +private: + [[maybe_unused]] uint8_t __pad0068[0x8]; // 0x68 +public: + AimMatrixOpFixedSettings_t m_opFixedSettings; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0140[0x8]; // 0x140 +public: + AnimVectorSource m_target; // 0x148 + CAnimParamHandle m_paramIndex; // 0x14c +private: + [[maybe_unused]] uint8_t __pad014e[0x2]; // 0x14e +public: + HSequence m_hSequence; // 0x150 + bool m_bResetChild; // 0x154 + bool m_bLockWhenWaning; // 0x155 +}; + +// Alignment: 0 +// Size: 0x60 +class CBindPoseUpdateNode : public CLeafUpdateNode +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x70 +class CChoreoUpdateNode : public CUnaryUpdateNode +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x70 +class CCycleControlUpdateNode : public CUnaryUpdateNode +{ +public: + AnimValueSource m_valueSource; // 0x68 + CAnimParamHandle m_paramIndex; // 0x6c +}; + +// Alignment: 5 +// Size: 0x90 +class CCycleControlClipUpdateNode : public CLeafUpdateNode +{ +private: + [[maybe_unused]] uint8_t __pad0058[0x8]; // 0x58 +public: + CUtlVector< TagSpan_t > m_tags; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0078[0x4]; // 0x78 +public: + HSequence m_hSequence; // 0x7c + float m_duration; // 0x80 + AnimValueSource m_valueSource; // 0x84 + CAnimParamHandle m_paramIndex; // 0x88 +}; + +// Alignment: 8 +// Size: 0xa8 +class CDirectionalBlendUpdateNode : public CLeafUpdateNode +{ +private: + [[maybe_unused]] uint8_t __pad0058[0x4]; // 0x58 +public: + HSequence m_hSequences[8]; // 0x5c +private: + [[maybe_unused]] uint8_t __pad007c[0x4]; // 0x7c +public: + CAnimInputDamping m_damping; // 0x80 + AnimValueSource m_blendValueSource; // 0x90 + CAnimParamHandle m_paramIndex; // 0x94 +private: + [[maybe_unused]] uint8_t __pad0096[0x2]; // 0x96 +public: + float m_playbackSpeed; // 0x98 + float m_duration; // 0x9c + bool m_bLoop; // 0xa0 + bool m_bLockBlendOnReset; // 0xa1 +}; + +// Alignment: 3 +// Size: 0x88 +class CDirectPlaybackUpdateNode : public CUnaryUpdateNode +{ +private: + [[maybe_unused]] uint8_t __pad0068[0x4]; // 0x68 +public: + bool m_bFinishEarly; // 0x6c + bool m_bResetOnFinish; // 0x6d +private: + [[maybe_unused]] uint8_t __pad006e[0x2]; // 0x6e +public: + CUtlVector< CDirectPlaybackTagData > m_allTags; // 0x70 +}; + +// Alignment: 13 +// Size: 0xa8 +class CFollowPathUpdateNode : public CUnaryUpdateNode +{ +private: + [[maybe_unused]] uint8_t __pad0068[0x4]; // 0x68 +public: + float m_flBlendOutTime; // 0x6c + bool m_bBlockNonPathMovement; // 0x70 + bool m_bStopFeetAtGoal; // 0x71 + bool m_bScaleSpeed; // 0x72 +private: + [[maybe_unused]] uint8_t __pad0073[0x1]; // 0x73 +public: + float m_flScale; // 0x74 + float m_flMinAngle; // 0x78 + float m_flMaxAngle; // 0x7c + float m_flSpeedScaleBlending; // 0x80 +private: + [[maybe_unused]] uint8_t __pad0084[0x4]; // 0x84 +public: + CAnimInputDamping m_turnDamping; // 0x88 + AnimValueSource m_facingTarget; // 0x98 + CAnimParamHandle m_hParam; // 0x9c +private: + [[maybe_unused]] uint8_t __pad009e[0x2]; // 0x9e +public: + float m_flTurnToFaceOffset; // 0xa0 + bool m_bTurnToFace; // 0xa4 }; // Alignment: 1 @@ -8441,6 +5262,122 @@ public: FollowAttachmentSettings_t m_opFixedData; // 0x70 }; +// Alignment: 9 +// Size: 0xa8 +class CFootAdjustmentUpdateNode : public CUnaryUpdateNode +{ +private: + [[maybe_unused]] uint8_t __pad0068[0x8]; // 0x68 +public: + CUtlVector< HSequence > m_clips; // 0x70 + CPoseHandle m_hBasePoseCacheHandle; // 0x88 + CAnimParamHandle m_facingTarget; // 0x8c +private: + [[maybe_unused]] uint8_t __pad008e[0x2]; // 0x8e +public: + float m_flTurnTimeMin; // 0x90 + float m_flTurnTimeMax; // 0x94 + float m_flStepHeightMax; // 0x98 + float m_flStepHeightMaxAngle; // 0x9c + bool m_bResetChild; // 0xa0 + bool m_bAnimationDriven; // 0xa1 +}; + +// Alignment: 20 +// Size: 0x138 +class CFootLockUpdateNode : public CUnaryUpdateNode +{ +public: + FootLockPoseOpFixedSettings m_opFixedSettings; // 0x68 +private: + [[maybe_unused]] uint8_t __pad00c8[0x8]; // 0xc8 +public: + CUtlVector< FootFixedSettings > m_footSettings; // 0xd0 + CAnimInputDamping m_hipShiftDamping; // 0xe8 + CAnimInputDamping m_rootHeightDamping; // 0xf8 + float m_flStrideCurveScale; // 0x108 + float m_flStrideCurveLimitScale; // 0x10c + float m_flStepHeightIncreaseScale; // 0x110 + float m_flStepHeightDecreaseScale; // 0x114 + float m_flHipShiftScale; // 0x118 + float m_flBlendTime; // 0x11c + float m_flMaxRootHeightOffset; // 0x120 + float m_flMinRootHeightOffset; // 0x124 + float m_flTiltPlanePitchSpringStrength; // 0x128 + float m_flTiltPlaneRollSpringStrength; // 0x12c + bool m_bApplyFootRotationLimits; // 0x130 + bool m_bApplyHipShift; // 0x131 + bool m_bModulateStepHeight; // 0x132 + bool m_bResetChild; // 0x133 + bool m_bEnableVerticalCurvedPaths; // 0x134 + bool m_bEnableRootHeightDamping; // 0x135 +}; + +// Alignment: 4 +// Size: 0xc8 +class CFootPinningUpdateNode : public CUnaryUpdateNode +{ +private: + [[maybe_unused]] uint8_t __pad0068[0x8]; // 0x68 +public: + FootPinningPoseOpFixedData_t m_poseOpFixedData; // 0x70 + FootPinningTimingSource m_eTimingSource; // 0xa0 +private: + [[maybe_unused]] uint8_t __pad00a4[0x4]; // 0xa4 +public: + CUtlVector< CAnimParamHandle > m_params; // 0xa8 + bool m_bResetChild; // 0xc0 +}; + +// Alignment: 2 +// Size: 0x88 +class CFootStepTriggerUpdateNode : public CUnaryUpdateNode +{ +public: + CUtlVector< FootStepTrigger > m_triggers; // 0x68 +private: + [[maybe_unused]] uint8_t __pad0080[0x4]; // 0x80 +public: + float m_flTolerance; // 0x84 +}; + +// Alignment: 8 +// Size: 0xc8 +class CHitReactUpdateNode : public CUnaryUpdateNode +{ +public: + HitReactFixedSettings_t m_opFixedSettings; // 0x68 +private: + [[maybe_unused]] uint8_t __pad00ac[0x8]; // 0xac +public: + CAnimParamHandle m_triggerParam; // 0xb4 + CAnimParamHandle m_hitBoneParam; // 0xb6 + CAnimParamHandle m_hitOffsetParam; // 0xb8 + CAnimParamHandle m_hitDirectionParam; // 0xba + CAnimParamHandle m_hitStrengthParam; // 0xbc +private: + [[maybe_unused]] uint8_t __pad00be[0x2]; // 0xbe +public: + float m_flMinDelayBetweenHits; // 0xc0 + bool m_bResetChild; // 0xc4 +}; + +// Alignment: 0 +// Size: 0x60 +class CInputStreamUpdateNode : public CLeafUpdateNode +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x88 +class CJiggleBoneUpdateNode : public CUnaryUpdateNode +{ +public: + JiggleBoneSettingsList_t m_opFixedData; // 0x68 +}; + // Alignment: 8 // Size: 0xd0 class CJumpHelperUpdateNode : public CSequenceUpdateNode @@ -8459,3 +5396,172 @@ public: bool m_bScaleSpeed; // 0xcb }; +// Alignment: 6 +// Size: 0x150 +class CLookAtUpdateNode : public CUnaryUpdateNode +{ +private: + [[maybe_unused]] uint8_t __pad0068[0x8]; // 0x68 +public: + LookAtOpFixedSettings_t m_opFixedSettings; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0130[0x8]; // 0x130 +public: + AnimVectorSource m_target; // 0x138 + CAnimParamHandle m_paramIndex; // 0x13c + CAnimParamHandle m_weightParamIndex; // 0x13e + bool m_bResetChild; // 0x140 + bool m_bLockWhenWaning; // 0x141 +}; + +// Alignment: 12 +// Size: 0xa0 +class CMoverUpdateNode : public CUnaryUpdateNode +{ +private: + [[maybe_unused]] uint8_t __pad0068[0x8]; // 0x68 +public: + CAnimInputDamping m_damping; // 0x70 + AnimValueSource m_facingTarget; // 0x80 + CAnimParamHandle m_hMoveVecParam; // 0x84 + CAnimParamHandle m_hMoveHeadingParam; // 0x86 + CAnimParamHandle m_hTurnToFaceParam; // 0x88 +private: + [[maybe_unused]] uint8_t __pad008a[0x2]; // 0x8a +public: + float m_flTurnToFaceOffset; // 0x8c + float m_flTurnToFaceLimit; // 0x90 + bool m_bAdditive; // 0x94 + bool m_bApplyMovement; // 0x95 + bool m_bOrientMovement; // 0x96 + bool m_bApplyRotation; // 0x97 + bool m_bLimitOnly; // 0x98 +}; + +// Alignment: 2 +// Size: 0x70 +class CPathHelperUpdateNode : public CUnaryUpdateNode +{ +public: + float m_flStoppingRadius; // 0x68 + float m_flStoppingSpeedScale; // 0x6c +}; + +// Alignment: 2 +// Size: 0x70 +class CRagdollUpdateNode : public CUnaryUpdateNode +{ +public: + int32_t m_nWeightListIndex; // 0x68 + RagdollPoseControl m_poseControlMethod; // 0x6c +}; + +// Alignment: 0 +// Size: 0x68 +class CRootUpdateNode : public CUnaryUpdateNode +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x70 +class CSetFacingUpdateNode : public CUnaryUpdateNode +{ +public: + FacingMode m_facingMode; // 0x68 + bool m_bResetChild; // 0x6c +}; + +// Alignment: 1 +// Size: 0x70 +class CSlowDownOnSlopesUpdateNode : public CUnaryUpdateNode +{ +public: + float m_flSlowDownStrength; // 0x68 +}; + +// Alignment: 2 +// Size: 0xa8 +class CSolveIKChainUpdateNode : public CUnaryUpdateNode +{ +public: + CUtlVector< CSolveIKTargetHandle_t > m_targetHandles; // 0x68 + SolveIKChainPoseOpFixedSettings_t m_opFixedData; // 0x80 +}; + +// Alignment: 1 +// Size: 0x70 +class CSpeedScaleUpdateNode : public CUnaryUpdateNode +{ +public: + CAnimParamHandle m_paramIndex; // 0x68 +}; + +// Alignment: 4 +// Size: 0x98 +class CStanceOverrideUpdateNode : public CUnaryUpdateNode +{ +public: + CUtlVector< StanceInfo_t > m_footStanceInfo; // 0x68 + CAnimUpdateNodeRef m_pStanceSourceNode; // 0x80 + CAnimParamHandle m_hParameter; // 0x90 +private: + [[maybe_unused]] uint8_t __pad0092[0x2]; // 0x92 +public: + StanceOverrideMode m_eMode; // 0x94 +}; + +// Alignment: 1 +// Size: 0x70 +class CStanceScaleUpdateNode : public CUnaryUpdateNode +{ +public: + CAnimParamHandle m_hParam; // 0x68 +}; + +// Alignment: 5 +// Size: 0x90 +class CStopAtGoalUpdateNode : public CUnaryUpdateNode +{ +private: + [[maybe_unused]] uint8_t __pad0068[0x4]; // 0x68 +public: + float m_flOuterRadius; // 0x6c + float m_flInnerRadius; // 0x70 + float m_flMaxScale; // 0x74 + float m_flMinScale; // 0x78 +private: + [[maybe_unused]] uint8_t __pad007c[0x4]; // 0x7c +public: + CAnimInputDamping m_damping; // 0x80 +}; + +// Alignment: 6 +// Size: 0x88 +class CTurnHelperUpdateNode : public CUnaryUpdateNode +{ +private: + [[maybe_unused]] uint8_t __pad0068[0x4]; // 0x68 +public: + AnimValueSource m_facingTarget; // 0x6c + float m_turnStartTimeOffset; // 0x70 + float m_turnDuration; // 0x74 + bool m_bMatchChildDuration; // 0x78 +private: + [[maybe_unused]] uint8_t __pad0079[0x3]; // 0x79 +public: + float m_manualTurnOffset; // 0x7c + bool m_bUseManualTurnOffset; // 0x80 +}; + +// Alignment: 1 +// Size: 0x1e0 +class CTwoBoneIKUpdateNode : public CUnaryUpdateNode +{ +private: + [[maybe_unused]] uint8_t __pad0068[0x8]; // 0x68 +public: + TwoBoneIKSettings_t m_opFixedData; // 0x70 +}; + diff --git a/sdk/client.hpp b/sdk/client.hpp index 76406901..6f7b4c0b 100644 --- a/sdk/client.hpp +++ b/sdk/client.hpp @@ -4,8 +4,8 @@ // ///////////////////////////////////////////////////////////// // Binary: client.dll -// Classes count: 7671 -// Enums count: 61 +// Classes count: 7746 +// Enums count: 65 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -361,7 +361,7 @@ enum class CMsgBattleReport_Role : uint32_t k_eSafelane = 0x0, k_eMidlane = 0x1, k_eOfflane = 0x2, - k_eSoftSupport = 0x3, + k_eSupport = 0x3, k_eHardSupport = 0x4, }; @@ -638,7 +638,7 @@ enum class EGuildEventAuditAction : uint32_t }; // Alignment: 4 -// Size: 0x26 +// Size: 0x27 enum class EStartFindingMatchResult : uint32_t { k_EStartFindingMatchResult_Invalid = 0x0, @@ -679,6 +679,26 @@ enum class EStartFindingMatchResult : uint32_t k_EStartFindingMatchResult_MatchmakingBusy = 0x84, k_EStartFindingMatchResult_SteamChinaBanned = 0x85, k_EStartFindingMatchResult_SteamChinaInvalidMixedParty = 0x86, + k_EStartFindingMatchResult_RestrictedFromRanked = 0x87, +}; + +// Alignment: 4 +// Size: 0x3 +enum class EShowcaseType : uint32_t +{ + k_eShowcaseType_Invalid = 0x0, + k_eShowcaseType_Profile = 0x1, + k_eShowcaseType_MiniProfile = 0x2, +}; + +// Alignment: 4 +// Size: 0x4 +enum class EShowcaseItemState : uint32_t +{ + k_eShowcaseItemState_Ok = 0x0, + k_eShowcaseItemState_ValidityUnknown = 0x1, + k_eShowcaseItemState_Failure = 0x2, + k_eShowcaseItemState_Invalid = 0x3, }; // Alignment: 4 @@ -794,7 +814,7 @@ enum class DOTAKeybindTemplate_t : uint32_t }; // Alignment: 4 -// Size: 0xf0 +// Size: 0xf1 enum class DOTAKeybindCommand_t : uint32_t { DOTA_KEYBIND_NONE = 0x0, @@ -1036,7 +1056,8 @@ enum class DOTAKeybindCommand_t : uint32_t DOTA_KEYBIND_CAMERA_ZOOM_OUT = 0xeb, DOTA_KEYBIND_CONTROL_GROUPCYCLEPREV = 0xec, DOTA_KEYBIND_DOTA_ALT = 0xed, - DOTA_KEYBIND_COUNT = 0xee, + DOTA_KEYBIND_DOTA_ALTERNATIVE_CAST_SWITCH = 0xee, + DOTA_KEYBIND_COUNT = 0xef, }; // Alignment: 4 @@ -1049,6 +1070,19 @@ enum class ECandyShopRewardOptionType : uint32_t k_eCandyShopRewardOptionType_EventPoints = 0x3, }; +// Alignment: 4 +// Size: 0x7 +enum class EFantasyShapeBehavior : uint32_t +{ + k_eFantasyShapeBehavior_Invalid = 0x0, + k_eFantasyShapeBehavior_MinQuality = 0x1, + k_eFantasyShapeBehavior_AdjBonus = 0x2, + k_eFantasyShapeBehavior_StealBonus = 0x3, + k_eFantasyShapeBehavior_OnlyOne = 0x4, + k_eFantasyShapeBehavior_NeedMultiples = 0x5, + k_eFantasyShapeBehavior_COUNT = 0x6, +}; + // Alignment: 4 // Size: 0x2 enum class StartupBehavior_t : uint32_t @@ -1080,6 +1114,15 @@ enum class PortraitScale_t : uint32_t PORTRAIT_SCALE_VERSUS_LOADOUT = 0x4, }; +// Alignment: 4 +// Size: 0x3 +enum class PortraitUnitDirection_t : uint32_t +{ + PORTRAIT_UNIT_DIRECTION_INVALID = 0xffffffffffffffff, + PORTRAIT_UNIT_DIRECTION_FORWARD = 0x0, + PORTRAIT_UNIT_DIRECTION_BACKWARD = 0x1, +}; + // Alignment: 4 // Size: 0xa enum class DotaCustomUIType_t : uint32_t @@ -1538,8 +1581,8 @@ public: static int32_t &Get_entity_component_error_class_decl_says_referenced_but_impl_is_contained(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CHitboxComponent")->m_static_fields[1]->m_instance);}; }; -// Alignment: 70 -// Size: 0x1d0 +// Alignment: 67 +// Size: 0x1c8 class CLightComponent : public CEntityComponent { private: @@ -1667,101 +1710,93 @@ public: int32_t m_nShadowCascadeResolution3; // 0x118 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nBakeLightIndex; // 0x11c - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flBakeLightIndexScale; // 0x120 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - bool m_bUsesIndexedBakedLighting; // 0x124 + // MNetworkAlias "m_bUsesIndexedBakedLighting" + bool m_bUsesBakedShadowing; // 0x11c private: - [[maybe_unused]] uint8_t __pad0125[0x3]; // 0x125 + [[maybe_unused]] uint8_t __pad011d[0x3]; // 0x11d public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nPriority; // 0x128 + int32_t m_nShadowPriority; // 0x120 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowPriority; // 0x12c + int32_t m_nBakedShadowIndex; // 0x124 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nBakedShadowIndex; // 0x130 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - bool m_bRenderToCubemaps; // 0x134 + bool m_bRenderToCubemaps; // 0x128 private: - [[maybe_unused]] uint8_t __pad0135[0x3]; // 0x135 + [[maybe_unused]] uint8_t __pad0129[0x7]; // 0x129 public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - CUtlSymbolLarge m_LightGroups; // 0x138 + CUtlSymbolLarge m_LightGroups; // 0x130 // MNetworkEnable - int32_t m_nDirectLight; // 0x140 + int32_t m_nDirectLight; // 0x138 // MNetworkEnable - int32_t m_nIndirectLight; // 0x144 + int32_t m_nIndirectLight; // 0x13c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flFadeMinDist; // 0x148 + float m_flFadeMinDist; // 0x140 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flFadeMaxDist; // 0x14c + float m_flFadeMaxDist; // 0x144 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowFadeMinDist; // 0x150 + float m_flShadowFadeMinDist; // 0x148 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowFadeMaxDist; // 0x154 + float m_flShadowFadeMaxDist; // 0x14c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bEnabled; // 0x158 + bool m_bEnabled; // 0x150 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bFlicker; // 0x159 + bool m_bFlicker; // 0x151 // MNetworkEnable - bool m_bPrecomputedFieldsValid; // 0x15a + bool m_bPrecomputedFieldsValid; // 0x152 private: - [[maybe_unused]] uint8_t __pad015b[0x1]; // 0x15b + [[maybe_unused]] uint8_t __pad0153[0x1]; // 0x153 public: // MNetworkEnable - Vector m_vPrecomputedBoundsMins; // 0x15c + Vector m_vPrecomputedBoundsMins; // 0x154 // MNetworkEnable - Vector m_vPrecomputedBoundsMaxs; // 0x168 + Vector m_vPrecomputedBoundsMaxs; // 0x160 // MNetworkEnable - Vector m_vPrecomputedOBBOrigin; // 0x174 + Vector m_vPrecomputedOBBOrigin; // 0x16c // MNetworkEnable - QAngle m_vPrecomputedOBBAngles; // 0x180 + QAngle m_vPrecomputedOBBAngles; // 0x178 // MNetworkEnable - Vector m_vPrecomputedOBBExtent; // 0x18c + Vector m_vPrecomputedOBBExtent; // 0x184 // MNetworkEnable - float m_flPrecomputedMaxRange; // 0x198 + float m_flPrecomputedMaxRange; // 0x190 // MNetworkEnable - int32_t m_nFogLightingMode; // 0x19c + int32_t m_nFogLightingMode; // 0x194 // MNetworkEnable - float m_flFogContributionStength; // 0x1a0 + float m_flFogContributionStength; // 0x198 // MNetworkEnable - float m_flNearClipPlane; // 0x1a4 + float m_flNearClipPlane; // 0x19c // MNetworkEnable - Color m_SkyColor; // 0x1a8 + Color m_SkyColor; // 0x1a0 // MNetworkEnable - float m_flSkyIntensity; // 0x1ac + float m_flSkyIntensity; // 0x1a4 // MNetworkEnable - Color m_SkyAmbientBounce; // 0x1b0 + Color m_SkyAmbientBounce; // 0x1a8 // MNetworkEnable - bool m_bUseSecondaryColor; // 0x1b4 + bool m_bUseSecondaryColor; // 0x1ac // MNetworkEnable // MNetworkChangeCallback "MixedShadowsChanged" - bool m_bMixedShadows; // 0x1b5 + bool m_bMixedShadows; // 0x1ad private: - [[maybe_unused]] uint8_t __pad01b6[0x2]; // 0x1b6 + [[maybe_unused]] uint8_t __pad01ae[0x2]; // 0x1ae public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - GameTime_t m_flLightStyleStartTime; // 0x1b8 + GameTime_t m_flLightStyleStartTime; // 0x1b0 // MNetworkEnable - float m_flCapsuleLength; // 0x1bc + float m_flCapsuleLength; // 0x1b4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flMinRoughness; // 0x1c0 + float m_flMinRoughness; // 0x1b8 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CLightComponent")->m_static_fields[0]->m_instance);}; @@ -1939,8 +1974,8 @@ public: // No members available }; -// Alignment: 14 -// Size: 0x1b8 +// Alignment: 15 +// Size: 0x1d0 class CPlayer_MovementServices : public CPlayerPawnComponent { public: @@ -1967,57 +2002,58 @@ public: // MNetworkEncodeFlags float m_flMaxspeed; // 0x190 // MNetworkEnable - float m_flForceSubtickMoveWhen; // 0x194 - float m_flForwardMove; // 0x198 - float m_flLeftMove; // 0x19c - float m_flUpMove; // 0x1a0 - QAngle m_vecOldViewAngles; // 0x1a4 + float m_arrForceSubtickMoveWhen[4]; // 0x194 + float m_flForwardMove; // 0x1a4 + float m_flLeftMove; // 0x1a8 + float m_flUpMove; // 0x1ac + Vector m_vecLastMovementImpulses; // 0x1b0 + QAngle m_vecOldViewAngles; // 0x1bc }; // Alignment: 12 -// Size: 0x1f8 +// Size: 0x210 class CPlayer_MovementServices_Humanoid : public CPlayer_MovementServices { public: - float m_flStepSoundTime; // 0x1b8 + float m_flStepSoundTime; // 0x1d0 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" // MNetworkBitCount "17" // MNetworkMinValue "-4096.000000" // MNetworkMaxValue "4096.000000" // MNetworkEncodeFlags - float m_flFallVelocity; // 0x1bc + float m_flFallVelocity; // 0x1d4 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bInCrouch; // 0x1c0 + bool m_bInCrouch; // 0x1d8 private: - [[maybe_unused]] uint8_t __pad01c1[0x3]; // 0x1c1 + [[maybe_unused]] uint8_t __pad01d9[0x3]; // 0x1d9 public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_nCrouchState; // 0x1c4 + uint32_t m_nCrouchState; // 0x1dc // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - GameTime_t m_flCrouchTransitionStartTime; // 0x1c8 + GameTime_t m_flCrouchTransitionStartTime; // 0x1e0 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bDucked; // 0x1cc + bool m_bDucked; // 0x1e4 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bDucking; // 0x1cd + bool m_bDucking; // 0x1e5 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bInDuckJump; // 0x1ce + bool m_bInDuckJump; // 0x1e6 private: - [[maybe_unused]] uint8_t __pad01cf[0x1]; // 0x1cf + [[maybe_unused]] uint8_t __pad01e7[0x1]; // 0x1e7 public: - Vector m_groundNormal; // 0x1d0 - float m_flSurfaceFriction; // 0x1dc - CUtlStringToken m_surfaceProps; // 0x1e0 + Vector m_groundNormal; // 0x1e8 + float m_flSurfaceFriction; // 0x1f4 + CUtlStringToken m_surfaceProps; // 0x1f8 private: - [[maybe_unused]] uint8_t __pad01e4[0xc]; // 0x1e4 + [[maybe_unused]] uint8_t __pad01fc[0xc]; // 0x1fc public: - int32_t m_nStepside; // 0x1f0 + int32_t m_nStepside; // 0x208 }; // Alignment: 5 @@ -2078,8 +2114,8 @@ public: uint16_t m_iAmmo[32]; // 0x68 }; -// Alignment: 23 -// Size: 0x310 +// Alignment: 22 +// Size: 0x230 class CBasePlayerWeaponVData { private: @@ -2108,63 +2144,60 @@ public: // MPropertyDescription "Effect when firing this weapon" // MPropertyGroupName "Visuals" CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticle; // 0x108 - // MPropertyDescription "Effect to actually fire into the world from this weapon" - // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerParticle; // 0x1e8 - ItemFlagTypes_t m_iFlags; // 0x2c8 + ItemFlagTypes_t m_iFlags; // 0x1e8 // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" // MPropertyGroupName "Ammo" // MPropertyCustomFGDType - AmmoIndex_t m_nPrimaryAmmoType; // 0x2c9 + AmmoIndex_t m_nPrimaryAmmoType; // 0x1e9 // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" // MPropertyGroupName "Ammo" // MPropertyCustomFGDType - AmmoIndex_t m_nSecondaryAmmoType; // 0x2ca + AmmoIndex_t m_nSecondaryAmmoType; // 0x1ea private: - [[maybe_unused]] uint8_t __pad02cb[0x1]; // 0x2cb + [[maybe_unused]] uint8_t __pad01eb[0x1]; // 0x1eb public: // MPropertyFriendlyName "Primary Clip Size" // MPropertyDescription "How many bullets this gun can fire before it reloads (0 if no clip)" // MPropertyAttributeRange "0 255" // MPropertyGroupName "Ammo" - int32_t m_iMaxClip1; // 0x2cc + int32_t m_iMaxClip1; // 0x1ec // MPropertyFriendlyName "Secondary Clip Size" // MPropertyDescription "How many secondary bullets this gun can fire before it reloads (0 if no clip)" // MPropertyGroupName "Ammo" // MPropertyAttributeRange "0 255" - int32_t m_iMaxClip2; // 0x2d0 + int32_t m_iMaxClip2; // 0x1f0 // MPropertyDescription "Primary Initial Clip (-1 means use clip size)" // MPropertyGroupName "Ammo" // MPropertyAttributeRange "-1 255" - int32_t m_iDefaultClip1; // 0x2d4 + int32_t m_iDefaultClip1; // 0x1f4 // MPropertyDescription "Secondary Initial Clip (-1 means use clip size)" // MPropertyGroupName "Ammo" // MPropertyAttributeRange "-1 255" - int32_t m_iDefaultClip2; // 0x2d8 + int32_t m_iDefaultClip2; // 0x1f8 // MPropertyDescription "This value used to determine this weapon's importance in autoselection" // MPropertyGroupName "UI" - int32_t m_iWeight; // 0x2dc + int32_t m_iWeight; // 0x1fc // MPropertyFriendlyName "Safe To Auto-Switch To" // MPropertyDescription "Whether this weapon is safe to automatically switch to (should be false for eg. explosives that can the player may accidentally hurt themselves with)" // MPropertyGroupName "UI" - bool m_bAutoSwitchTo; // 0x2e0 + bool m_bAutoSwitchTo; // 0x200 // MPropertyFriendlyName "Safe To Auto-Switch Away From" // MPropertyGroupName "UI" - bool m_bAutoSwitchFrom; // 0x2e1 + bool m_bAutoSwitchFrom; // 0x201 private: - [[maybe_unused]] uint8_t __pad02e2[0x2]; // 0x2e2 + [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 public: // MPropertyGroupName "UI" - RumbleEffect_t m_iRumbleEffect; // 0x2e4 - CUtlMap< WeaponSound_t, CSoundEventName > m_aShootSounds; // 0x2e8 + RumbleEffect_t m_iRumbleEffect; // 0x204 + CUtlMap< WeaponSound_t, CSoundEventName > m_aShootSounds; // 0x208 // MPropertyFriendlyName "HUD Bucket" // MPropertyDescription "Which 'column' to display this weapon in the HUD" // MPropertyGroupName "UI" - int32_t m_iSlot; // 0x308 + int32_t m_iSlot; // 0x228 // MPropertyFriendlyName "HUD Bucket Position" // MPropertyDescription "Which 'row' to display this weapon in the HUD" // MPropertyGroupName "UI" - int32_t m_iPosition; // 0x30c + int32_t m_iPosition; // 0x22c }; // Alignment: 7 @@ -2477,8 +2510,8 @@ public: bool m_bStopped; // 0x220 }; -// Alignment: 20 -// Size: 0x1138 +// Alignment: 22 +// Size: 0x12e0 class CAnimGraphNetworkedVariables { private: @@ -2486,108 +2519,128 @@ private: public: // MNetworkEnable // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetBoolVarChanged" // MNetworkAlias "m_PredBoolVariables" C_NetworkUtlVectorBase< uint32 > m_PredNetBoolVariables; // 0x8 // MNetworkEnable // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetByteVarChanged" // MNetworkAlias "m_PredByteVariables" C_NetworkUtlVectorBase< uint8 > m_PredNetByteVariables; // 0x20 // MNetworkEnable // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetUInt16VarChanged" // MNetworkAlias "m_PredUInt16Variables" C_NetworkUtlVectorBase< uint16 > m_PredNetUInt16Variables; // 0x38 // MNetworkEnable // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetIntVarChanged" // MNetworkAlias "m_PredIntVariables" C_NetworkUtlVectorBase< int32 > m_PredNetIntVariables; // 0x50 // MNetworkEnable // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetUInt32VarChanged" // MNetworkAlias "m_PredUInt32Variables" C_NetworkUtlVectorBase< uint32 > m_PredNetUInt32Variables; // 0x68 // MNetworkEnable // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter + // MNetworkChangeCallback "OnNetUInt64VarChanged" + // MNetworkAlias "m_PredUInt64Variables" + C_NetworkUtlVectorBase< uint64 > m_PredNetUInt64Variables; // 0x80 + // MNetworkEnable + // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetFloatVarChanged" // MNetworkAlias "m_PredFloatVariables" - C_NetworkUtlVectorBase< float32 > m_PredNetFloatVariables; // 0x80 + C_NetworkUtlVectorBase< float32 > m_PredNetFloatVariables; // 0x98 // MNetworkEnable // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVectorVarChanged" // MNetworkAlias "m_PredVectorVariables" - C_NetworkUtlVectorBase< Vector > m_PredNetVectorVariables; // 0x98 + C_NetworkUtlVectorBase< Vector > m_PredNetVectorVariables; // 0xb0 // MNetworkEnable // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetQuaternionVarChanged" // MNetworkAlias "m_PredQuaternionVariables" - C_NetworkUtlVectorBase< Quaternion > m_PredNetQuaternionVariables; // 0xb0 + C_NetworkUtlVectorBase< Quaternion > m_PredNetQuaternionVariables; // 0xc8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOBoolVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetBoolVariables" - C_NetworkUtlVectorBase< uint32 > m_OwnerOnlyPredNetBoolVariables; // 0xc8 + C_NetworkUtlVectorBase< uint32 > m_OwnerOnlyPredNetBoolVariables; // 0xe0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOByteVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetByteVariables" - C_NetworkUtlVectorBase< uint8 > m_OwnerOnlyPredNetByteVariables; // 0xe0 + C_NetworkUtlVectorBase< uint8 > m_OwnerOnlyPredNetByteVariables; // 0xf8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOUInt16VarChanged" // MNetworkAlias "m_OwnerOnlyPredNetUInt16Variables" - C_NetworkUtlVectorBase< uint16 > m_OwnerOnlyPredNetUInt16Variables; // 0xf8 + C_NetworkUtlVectorBase< uint16 > m_OwnerOnlyPredNetUInt16Variables; // 0x110 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOIntVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetIntVariables" - C_NetworkUtlVectorBase< int32 > m_OwnerOnlyPredNetIntVariables; // 0x110 + C_NetworkUtlVectorBase< int32 > m_OwnerOnlyPredNetIntVariables; // 0x128 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOUInt32VarChanged" // MNetworkAlias "m_OwnerOnlyPredNetUInt32Variables" - C_NetworkUtlVectorBase< uint32 > m_OwnerOnlyPredNetUInt32Variables; // 0x128 + C_NetworkUtlVectorBase< uint32 > m_OwnerOnlyPredNetUInt32Variables; // 0x140 + // MNetworkEnable + // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter + // MNetworkChangeCallback "OnNetOOUInt64VarChanged" + // MNetworkAlias "m_OwnerOnlyPredNetUInt64Variables" + C_NetworkUtlVectorBase< uint64 > m_OwnerOnlyPredNetUInt64Variables; // 0x158 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOFloatVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetFloatVariables" - C_NetworkUtlVectorBase< float32 > m_OwnerOnlyPredNetFloatVariables; // 0x140 + C_NetworkUtlVectorBase< float32 > m_OwnerOnlyPredNetFloatVariables; // 0x170 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOVectorVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetVectorVariables" - C_NetworkUtlVectorBase< Vector > m_OwnerOnlyPredNetVectorVariables; // 0x158 + C_NetworkUtlVectorBase< Vector > m_OwnerOnlyPredNetVectorVariables; // 0x188 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOQuaternionVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetQuaternionVariables" - C_NetworkUtlVectorBase< Quaternion > m_OwnerOnlyPredNetQuaternionVariables; // 0x170 - // MNetworkEnable - int32_t m_nBoolVariablesCount; // 0x188 - // MNetworkEnable - int32_t m_nOwnerOnlyBoolVariablesCount; // 0x18c - // MNetworkEnable - int32_t m_nRandomSeedOffset; // 0x190 -private: - [[maybe_unused]] uint8_t __pad0194[0xf8c]; // 0x194 -public: + C_NetworkUtlVectorBase< Quaternion > m_OwnerOnlyPredNetQuaternionVariables; // 0x1a0 // MNetworkEnable // MNetworkUserGroup "animationgraph" - float m_flLastTeleportTime; // 0x1120 + int32_t m_nBoolVariablesCount; // 0x1b8 + // MNetworkEnable + // MNetworkUserGroup "animationgraph" + int32_t m_nOwnerOnlyBoolVariablesCount; // 0x1bc + // MNetworkEnable + // MNetworkUserGroup "animationgraph" + int32_t m_nRandomSeedOffset; // 0x1c0 + // MNetworkEnable + // MNetworkUserGroup "animationgraph" + float m_flLastTeleportTime; // 0x1c4 }; -// Alignment: 82 -// Size: 0x528 +// Alignment: 78 +// Size: 0x538 class C_BaseEntity : public CEntityInstance { public: @@ -2599,119 +2652,119 @@ public: CBodyComponent* m_CBodyComponent; // 0x30 CNetworkTransmitComponent m_NetworkTransmitComponent; // 0x38 private: - [[maybe_unused]] uint8_t __pad01d8[0x120]; // 0x1d8 + [[maybe_unused]] uint8_t __pad01e8[0x120]; // 0x1e8 public: - GameTick_t m_nLastThinkTick; // 0x2f8 + GameTick_t m_nLastThinkTick; // 0x308 private: - [[maybe_unused]] uint8_t __pad02fc[0x4]; // 0x2fc + [[maybe_unused]] uint8_t __pad030c[0x4]; // 0x30c public: - CGameSceneNode* m_pGameSceneNode; // 0x300 - CRenderComponent* m_pRenderComponent; // 0x308 - CCollisionProperty* m_pCollision; // 0x310 + CGameSceneNode* m_pGameSceneNode; // 0x310 + CRenderComponent* m_pRenderComponent; // 0x318 + CCollisionProperty* m_pCollision; // 0x320 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - int32_t m_iMaxHealth; // 0x318 + int32_t m_iMaxHealth; // 0x328 // MNetworkEnable // MNetworkSerializer "ClampHealth" // MNetworkUserGroup "Player" // MNetworkPriority "32" - int32_t m_iHealth; // 0x31c + int32_t m_iHealth; // 0x32c // MNetworkEnable // MNetworkUserGroup "Player" // MNetworkPriority "32" - uint8_t m_lifeState; // 0x320 + uint8_t m_lifeState; // 0x330 // MNetworkEnable - DamageOptions_t m_takedamage; // 0x321 + DamageOptions_t m_takedamage; // 0x331 // MNetworkEnable - bool m_bTakesDamage; // 0x322 + bool m_bTakesDamage; // 0x332 private: - [[maybe_unused]] uint8_t __pad0323[0x1]; // 0x323 + [[maybe_unused]] uint8_t __pad0333[0x1]; // 0x333 public: // MNetworkEnable - TakeDamageFlags_t m_nTakeDamageFlags; // 0x324 + TakeDamageFlags_t m_nTakeDamageFlags; // 0x334 // MNetworkEnable // MNetworkChangeCallback "OnInterpolationFrameChanged" - uint8_t m_ubInterpolationFrame; // 0x328 + uint8_t m_ubInterpolationFrame; // 0x338 private: - [[maybe_unused]] uint8_t __pad0329[0x3]; // 0x329 + [[maybe_unused]] uint8_t __pad0339[0x3]; // 0x339 public: - CHandle< C_BaseEntity > m_hSceneObjectController; // 0x32c - int32_t m_nNoInterpolationTick; // 0x330 - int32_t m_nVisibilityNoInterpolationTick; // 0x334 - float m_flProxyRandomValue; // 0x338 - int32_t m_iEFlags; // 0x33c - uint8_t m_nWaterType; // 0x340 - bool m_bInterpolateEvenWithNoModel; // 0x341 - bool m_bPredictionEligible; // 0x342 - bool m_bApplyLayerMatchIDToModel; // 0x343 - CUtlStringToken m_tokLayerMatchID; // 0x344 + CHandle< C_BaseEntity > m_hSceneObjectController; // 0x33c + int32_t m_nNoInterpolationTick; // 0x340 + int32_t m_nVisibilityNoInterpolationTick; // 0x344 + float m_flProxyRandomValue; // 0x348 + int32_t m_iEFlags; // 0x34c + uint8_t m_nWaterType; // 0x350 + bool m_bInterpolateEvenWithNoModel; // 0x351 + bool m_bPredictionEligible; // 0x352 + bool m_bApplyLayerMatchIDToModel; // 0x353 + CUtlStringToken m_tokLayerMatchID; // 0x354 // MNetworkEnable // MNetworkChangeCallback "OnSubclassIDChanged" - CUtlStringToken m_nSubclassID; // 0x348 + CUtlStringToken m_nSubclassID; // 0x358 private: - [[maybe_unused]] uint8_t __pad034c[0xc]; // 0x34c + [[maybe_unused]] uint8_t __pad035c[0xc]; // 0x35c public: - int32_t m_nSimulationTick; // 0x358 - int32_t m_iCurrentThinkContext; // 0x35c - CUtlVector< thinkfunc_t > m_aThinkFunctions; // 0x360 + int32_t m_nSimulationTick; // 0x368 + int32_t m_iCurrentThinkContext; // 0x36c + CUtlVector< thinkfunc_t > m_aThinkFunctions; // 0x370 // MNetworkEnable // MNetworkPriority "0" // MNetworkSerializer "animTimeSerializer" // MNetworkChangeCallback "OnAnimTimeChanged" - float m_flAnimTime; // 0x378 + float m_flAnimTime; // 0x388 // MNetworkEnable // MNetworkPriority "1" // MNetworkSerializer "simulationTimeSerializer" // MNetworkChangeCallback "OnSimulationTimeChanged" - float m_flSimulationTime; // 0x37c - uint8_t m_nSceneObjectOverrideFlags; // 0x380 - bool m_bHasSuccessfullyInterpolated; // 0x381 - bool m_bHasAddedVarsToInterpolation; // 0x382 - bool m_bRenderEvenWhenNotSuccessfullyInterpolated; // 0x383 - int32_t m_nInterpolationLatchDirtyFlags[2]; // 0x384 - uint16_t m_ListEntry[11]; // 0x38c + float m_flSimulationTime; // 0x38c + uint8_t m_nSceneObjectOverrideFlags; // 0x390 + bool m_bHasSuccessfullyInterpolated; // 0x391 + bool m_bHasAddedVarsToInterpolation; // 0x392 + bool m_bRenderEvenWhenNotSuccessfullyInterpolated; // 0x393 + int32_t m_nInterpolationLatchDirtyFlags[2]; // 0x394 + uint16_t m_ListEntry[11]; // 0x39c private: - [[maybe_unused]] uint8_t __pad03a2[0x2]; // 0x3a2 + [[maybe_unused]] uint8_t __pad03b2[0x2]; // 0x3b2 public: // MNetworkEnable - GameTime_t m_flCreateTime; // 0x3a4 - float m_flSpeed; // 0x3a8 - uint16_t m_EntClientFlags; // 0x3ac + GameTime_t m_flCreateTime; // 0x3b4 + float m_flSpeed; // 0x3b8 + uint16_t m_EntClientFlags; // 0x3bc // MNetworkEnable - bool m_bClientSideRagdoll; // 0x3ae + bool m_bClientSideRagdoll; // 0x3be // MNetworkEnable // MNetworkChangeCallback "OnNetVarTeamNumChanged" - uint8_t m_iTeamNum; // 0x3af + uint8_t m_iTeamNum; // 0x3bf // MNetworkEnable - uint32_t m_spawnflags; // 0x3b0 + uint32_t m_spawnflags; // 0x3c0 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - GameTick_t m_nNextThinkTick; // 0x3b4 + GameTick_t m_nNextThinkTick; // 0x3c4 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" - uint32_t m_fFlags; // 0x3b8 - Vector m_vecAbsVelocity; // 0x3bc + uint32_t m_fFlags; // 0x3c8 + Vector m_vecAbsVelocity; // 0x3cc // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" // MNetworkChangeCallback "OnLocalVelocityChanged" // MNetworkPriority "32" - CNetworkVelocityVector m_vecVelocity; // 0x3c8 + CNetworkVelocityVector m_vecVelocity; // 0x3d8 private: - [[maybe_unused]] uint8_t __pad03f0[0x8]; // 0x3f0 + [[maybe_unused]] uint8_t __pad0400[0x8]; // 0x400 public: // MNetworkEnable - CHandle< C_BaseEntity > m_hEffectEntity; // 0x3f8 + CHandle< C_BaseEntity > m_hEffectEntity; // 0x408 // MNetworkEnable // MNetworkPriority "32" - CHandle< C_BaseEntity > m_hOwnerEntity; // 0x3fc + CHandle< C_BaseEntity > m_hOwnerEntity; // 0x40c // MNetworkEnable - MoveCollide_t m_MoveCollide; // 0x400 + MoveCollide_t m_MoveCollide; // 0x410 // MNetworkEnable // MNetworkChangeCallback "OnMoveTypeChanged" - MoveType_t m_MoveType; // 0x401 + MoveType_t m_MoveType; // 0x411 private: - [[maybe_unused]] uint8_t __pad0402[0x2]; // 0x402 + [[maybe_unused]] uint8_t __pad0412[0x2]; // 0x412 public: // MNetworkEnable // MNetworkUserGroup "Water" @@ -2720,94 +2773,82 @@ public: // MNetworkMinValue "0.000000" // MNetworkMaxValue "1.000000" // MNetworkEncodeFlags - float m_flWaterLevel; // 0x404 + float m_flWaterLevel; // 0x414 // MNetworkEnable // MNetworkChangeCallback "OnEffectsChanged" - uint32_t m_fEffects; // 0x408 + uint32_t m_fEffects; // 0x418 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" - CHandle< C_BaseEntity > m_hGroundEntity; // 0x40c + CHandle< C_BaseEntity > m_hGroundEntity; // 0x41c // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "4.000000" // MNetworkEncodeFlags // MNetworkUserGroup "LocalPlayerExclusive" - float m_flFriction; // 0x410 + float m_flFriction; // 0x420 // MNetworkEnable // MNetworkEncoder - float m_flElasticity; // 0x414 + float m_flElasticity; // 0x424 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - float m_flGravityScale; // 0x418 + float m_flGravityScale; // 0x428 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - float m_flTimeScale; // 0x41c + float m_flTimeScale; // 0x42c // MNetworkEnable // MNetworkChangeCallback "OnInterpolationAmountChanged" - bool m_bSimulatedEveryTick; // 0x420 + bool m_bSimulatedEveryTick; // 0x430 // MNetworkEnable // MNetworkChangeCallback "OnInterpolationAmountChanged" - bool m_bAnimatedEveryTick; // 0x421 - // MNetworkEnable - // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMinCPULevel; // 0x422 - // MNetworkEnable - // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMaxCPULevel; // 0x423 - // MNetworkEnable - // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMinGPULevel; // 0x424 - // MNetworkEnable - // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMaxGPULevel; // 0x425 + bool m_bAnimatedEveryTick; // 0x431 private: - [[maybe_unused]] uint8_t __pad0426[0x2]; // 0x426 + [[maybe_unused]] uint8_t __pad0432[0x2]; // 0x432 public: // MNetworkEnable // MNetworkChangeCallback "OnNavIgnoreChanged" - GameTime_t m_flNavIgnoreUntilTime; // 0x428 - uint16_t m_hThink; // 0x42c + GameTime_t m_flNavIgnoreUntilTime; // 0x434 + uint16_t m_hThink; // 0x438 private: - [[maybe_unused]] uint8_t __pad042e[0xa]; // 0x42e + [[maybe_unused]] uint8_t __pad043a[0xe]; // 0x43a public: - uint8_t m_fBBoxVisFlags; // 0x438 - bool m_bPredictable; // 0x439 - bool m_bRenderWithViewModels; // 0x43a + uint8_t m_fBBoxVisFlags; // 0x448 + bool m_bPredictable; // 0x449 + bool m_bRenderWithViewModels; // 0x44a private: - [[maybe_unused]] uint8_t __pad043b[0x1]; // 0x43b + [[maybe_unused]] uint8_t __pad044b[0x1]; // 0x44b public: - CSplitScreenSlot m_nSplitUserPlayerPredictionSlot; // 0x43c - int32_t m_nFirstPredictableCommand; // 0x440 - int32_t m_nLastPredictableCommand; // 0x444 - CHandle< C_BaseEntity > m_hOldMoveParent; // 0x448 + CSplitScreenSlot m_nSplitUserPlayerPredictionSlot; // 0x44c + int32_t m_nFirstPredictableCommand; // 0x450 + int32_t m_nLastPredictableCommand; // 0x454 + CHandle< C_BaseEntity > m_hOldMoveParent; // 0x458 private: - [[maybe_unused]] uint8_t __pad044c[0x4]; // 0x44c + [[maybe_unused]] uint8_t __pad045c[0x4]; // 0x45c public: - CParticleProperty m_Particles; // 0x450 - CUtlVector< float32 > m_vecPredictedScriptFloats; // 0x478 - CUtlVector< int32 > m_vecPredictedScriptFloatIDs; // 0x490 + CParticleProperty m_Particles; // 0x460 + CUtlVector< float32 > m_vecPredictedScriptFloats; // 0x488 + CUtlVector< int32 > m_vecPredictedScriptFloatIDs; // 0x4a0 private: - [[maybe_unused]] uint8_t __pad04a8[0x18]; // 0x4a8 + [[maybe_unused]] uint8_t __pad04b8[0x18]; // 0x4b8 public: - int32_t m_nNextScriptVarRecordID; // 0x4c0 + int32_t m_nNextScriptVarRecordID; // 0x4d0 private: - [[maybe_unused]] uint8_t __pad04c4[0xc]; // 0x4c4 + [[maybe_unused]] uint8_t __pad04d4[0xc]; // 0x4d4 public: - QAngle m_vecAngVelocity; // 0x4d0 - int32_t m_DataChangeEventRef; // 0x4dc - CUtlVector< CEntityHandle > m_dependencies; // 0x4e0 - int32_t m_nCreationTick; // 0x4f8 + QAngle m_vecAngVelocity; // 0x4e0 + int32_t m_DataChangeEventRef; // 0x4ec + CUtlVector< CEntityHandle > m_dependencies; // 0x4f0 + int32_t m_nCreationTick; // 0x508 private: - [[maybe_unused]] uint8_t __pad04fc[0x15]; // 0x4fc + [[maybe_unused]] uint8_t __pad050c[0x15]; // 0x50c public: - bool m_bAnimTimeChanged; // 0x511 - bool m_bSimulationTimeChanged; // 0x512 + bool m_bAnimTimeChanged; // 0x521 + bool m_bSimulationTimeChanged; // 0x522 private: - [[maybe_unused]] uint8_t __pad0513[0xd]; // 0x513 + [[maybe_unused]] uint8_t __pad0523[0xd]; // 0x523 public: - CUtlString m_sUniqueHammerID; // 0x520 + CUtlString m_sUniqueHammerID; // 0x530 // Static fields: static bool &Get_sm_bDatadescValidating(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[0]->m_instance);}; @@ -2825,7 +2866,7 @@ public: }; // Alignment: 0 -// Size: 0x528 +// Size: 0x538 class CLogicalEntity : public C_BaseEntity { public: @@ -2845,45 +2886,45 @@ public: }; // Alignment: 18 -// Size: 0x770 +// Size: 0x780 class C_ColorCorrection : public C_BaseEntity { public: - Vector m_vecOrigin; // 0x528 + Vector m_vecOrigin; // 0x538 // MNetworkEnable - float m_MinFalloff; // 0x534 + float m_MinFalloff; // 0x544 // MNetworkEnable - float m_MaxFalloff; // 0x538 + float m_MaxFalloff; // 0x548 // MNetworkEnable - float m_flFadeInDuration; // 0x53c + float m_flFadeInDuration; // 0x54c // MNetworkEnable - float m_flFadeOutDuration; // 0x540 + float m_flFadeOutDuration; // 0x550 // MNetworkEnable - float m_flMaxWeight; // 0x544 + float m_flMaxWeight; // 0x554 // MNetworkEnable - float m_flCurWeight; // 0x548 + float m_flCurWeight; // 0x558 // MNetworkEnable - char m_netlookupFilename[512]; // 0x54c + char m_netlookupFilename[512]; // 0x55c // MNetworkEnable - bool m_bEnabled; // 0x74c + bool m_bEnabled; // 0x75c // MNetworkEnable - bool m_bMaster; // 0x74d + bool m_bMaster; // 0x75d // MNetworkEnable - bool m_bClientSide; // 0x74e + bool m_bClientSide; // 0x75e // MNetworkEnable - bool m_bExclusive; // 0x74f - bool m_bEnabledOnClient[1]; // 0x750 + bool m_bExclusive; // 0x75f + bool m_bEnabledOnClient[1]; // 0x760 private: - [[maybe_unused]] uint8_t __pad0751[0x3]; // 0x751 + [[maybe_unused]] uint8_t __pad0761[0x3]; // 0x761 public: - float m_flCurWeightOnClient[1]; // 0x754 - bool m_bFadingIn[1]; // 0x758 + float m_flCurWeightOnClient[1]; // 0x764 + bool m_bFadingIn[1]; // 0x768 private: - [[maybe_unused]] uint8_t __pad0759[0x3]; // 0x759 + [[maybe_unused]] uint8_t __pad0769[0x3]; // 0x769 public: - float m_flFadeStartWeight[1]; // 0x75c - float m_flFadeStartTime[1]; // 0x760 - float m_flFadeDuration[1]; // 0x764 + float m_flFadeStartWeight[1]; // 0x76c + float m_flFadeStartTime[1]; // 0x770 + float m_flFadeDuration[1]; // 0x774 }; // Alignment: 29 @@ -2949,18 +2990,18 @@ public: }; // Alignment: 3 -// Size: 0x560 +// Size: 0x570 class C_EntityFlame : public C_BaseEntity { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hEntAttached; // 0x528 + CHandle< C_BaseEntity > m_hEntAttached; // 0x538 private: - [[maybe_unused]] uint8_t __pad052c[0x24]; // 0x52c + [[maybe_unused]] uint8_t __pad053c[0x24]; // 0x53c public: - CHandle< C_BaseEntity > m_hOldAttached; // 0x550 + CHandle< C_BaseEntity > m_hOldAttached; // 0x560 // MNetworkEnable - bool m_bCheapEffect; // 0x554 + bool m_bCheapEffect; // 0x564 }; // Alignment: 30 @@ -3071,21 +3112,13 @@ public: }; // Alignment: 0 -// Size: 0x540 +// Size: 0x550 class C_TintController : public C_BaseEntity { public: // No members available }; -// Alignment: 0 -// Size: 0x528 -class C_TriggerCamera : public C_BaseEntity -{ -public: - // No members available -}; - // Alignment: 13 // Size: 0x2e0 class CFlashlightEffect @@ -3193,12 +3226,12 @@ public: }; // Alignment: 2 -// Size: 0x530 +// Size: 0x540 class CSkyboxReference : public C_BaseEntity { public: - WorldGroupId_t m_worldGroupId; // 0x528 - CHandle< C_SkyCamera > m_hSkyCamera; // 0x52c + WorldGroupId_t m_worldGroupId; // 0x538 + CHandle< C_SkyCamera > m_hSkyCamera; // 0x53c }; // Alignment: 6 @@ -3409,24 +3442,24 @@ public: }; // Alignment: 2 -// Size: 0x530 +// Size: 0x540 class C_EnvDetailController : public C_BaseEntity { public: // MNetworkEnable - float m_flFadeStartDist; // 0x528 + float m_flFadeStartDist; // 0x538 // MNetworkEnable - float m_flFadeEndDist; // 0x52c + float m_flFadeEndDist; // 0x53c }; // Alignment: 1 -// Size: 0x730 +// Size: 0x740 class C_EnvWindClientside : public C_BaseEntity { public: // MNetworkEnable // MNetworkDisable - C_EnvWindShared m_EnvWindShared; // 0x528 + C_EnvWindShared m_EnvWindShared; // 0x538 }; // Alignment: 2 @@ -3448,7 +3481,7 @@ public: }; // Alignment: 0 -// Size: 0x528 +// Size: 0x538 class C_GameRulesProxy : public C_BaseEntity { public: @@ -3533,77 +3566,63 @@ public: float m_flNewFarZ; // 0x3c }; -// Alignment: 22 -// Size: 0x210 +// Alignment: 17 +// Size: 0x1f8 class CPlayer_CameraServices : public CPlayerPawnComponent { public: // MNetworkEnable - uint32_t m_iFOV; // 0x40 + C_fogplayerparams_t m_PlayerFog; // 0x40 // MNetworkEnable - uint32_t m_iFOVStart; // 0x44 + CHandle< C_ColorCorrection > m_hColorCorrectionCtrl; // 0x80 // MNetworkEnable - GameTime_t m_flFOVTime; // 0x48 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - float m_flFOVRate; // 0x4c - // MNetworkEnable - CHandle< C_BaseEntity > m_hZoomOwner; // 0x50 -private: - [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 -public: - // MNetworkEnable - C_fogplayerparams_t m_PlayerFog; // 0x58 - // MNetworkEnable - CHandle< C_ColorCorrection > m_hColorCorrectionCtrl; // 0x98 - // MNetworkEnable - CHandle< C_BaseEntity > m_hViewEntity; // 0x9c + CHandle< C_BaseEntity > m_hViewEntity; // 0x84 // MNetworkEnable // MNetworkUserGroup "LocalPlayerAndObserversExclusive" - CHandle< C_TonemapController2 > m_hTonemapController; // 0xa0 + CHandle< C_TonemapController2 > m_hTonemapController; // 0x88 private: - [[maybe_unused]] uint8_t __pad00a4[0x4]; // 0xa4 + [[maybe_unused]] uint8_t __pad008c[0x4]; // 0x8c public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerAndObserversExclusive" - audioparams_t m_audio; // 0xa8 + audioparams_t m_audio; // 0x90 // MNetworkEnable // MNetworkUserGroup "LocalPlayerAndObserversExclusive" - C_NetworkUtlVectorBase< CHandle< C_PostProcessingVolume > > m_PostProcessingVolumes; // 0x120 - float m_flOldPlayerZ; // 0x138 - float m_flOldPlayerViewOffsetZ; // 0x13c - fogparams_t m_CurrentFog; // 0x140 - CHandle< C_FogController > m_hOldFogController; // 0x1a8 - bool m_bOverrideFogColor[5]; // 0x1ac - Color m_OverrideFogColor[5]; // 0x1b1 - bool m_bOverrideFogStartEnd[5]; // 0x1c5 + C_NetworkUtlVectorBase< CHandle< C_PostProcessingVolume > > m_PostProcessingVolumes; // 0x108 + float m_flOldPlayerZ; // 0x120 + float m_flOldPlayerViewOffsetZ; // 0x124 + fogparams_t m_CurrentFog; // 0x128 + CHandle< C_FogController > m_hOldFogController; // 0x190 + bool m_bOverrideFogColor[5]; // 0x194 + Color m_OverrideFogColor[5]; // 0x199 + bool m_bOverrideFogStartEnd[5]; // 0x1ad private: - [[maybe_unused]] uint8_t __pad01ca[0x2]; // 0x1ca + [[maybe_unused]] uint8_t __pad01b2[0x2]; // 0x1b2 public: - float m_fOverrideFogStart[5]; // 0x1cc - float m_fOverrideFogEnd[5]; // 0x1e0 - CHandle< C_PostProcessingVolume > m_hActivePostProcessingVolume; // 0x1f4 - QAngle m_angDemoViewAngles; // 0x1f8 + float m_fOverrideFogStart[5]; // 0x1b4 + float m_fOverrideFogEnd[5]; // 0x1c8 + CHandle< C_PostProcessingVolume > m_hActivePostProcessingVolume; // 0x1dc + QAngle m_angDemoViewAngles; // 0x1e0 }; // Alignment: 4 -// Size: 0x5c8 +// Size: 0x5d8 class C_SkyCamera : public C_BaseEntity { public: // MNetworkEnable - sky3dparams_t m_skyboxData; // 0x528 + sky3dparams_t m_skyboxData; // 0x538 // MNetworkEnable - CUtlStringToken m_skyboxSlotToken; // 0x5b8 - bool m_bUseAngles; // 0x5bc + CUtlStringToken m_skyboxSlotToken; // 0x5c8 + bool m_bUseAngles; // 0x5cc private: - [[maybe_unused]] uint8_t __pad05bd[0x3]; // 0x5bd + [[maybe_unused]] uint8_t __pad05cd[0x3]; // 0x5cd public: - C_SkyCamera* m_pNext; // 0x5c0 + C_SkyCamera* m_pNext; // 0x5d0 }; -// Alignment: 3 -// Size: 0x50 +// Alignment: 4 +// Size: 0x70 struct PhysicsRagdollPose_t { private: @@ -3615,7 +3634,12 @@ public: // MNetworkEnable // MNetworkChangeCallback "OnTransformChanged" C_NetworkUtlVectorBase< CTransform > m_Transforms; // 0x30 - bool m_bDirty; // 0x48 + // MNetworkEnable + CHandle< C_BaseEntity > m_hOwner; // 0x48 +private: + [[maybe_unused]] uint8_t __pad004c[0x1c]; // 0x4c +public: + bool m_bDirty; // 0x68 }; // Alignment: 0 @@ -3627,24 +3651,24 @@ public: }; // Alignment: 5 -// Size: 0x548 +// Size: 0x558 class C_SoundOpvarSetPointBase : public C_BaseEntity { public: // MNetworkEnable - CUtlSymbolLarge m_iszStackName; // 0x528 + CUtlSymbolLarge m_iszStackName; // 0x538 // MNetworkEnable - CUtlSymbolLarge m_iszOperatorName; // 0x530 + CUtlSymbolLarge m_iszOperatorName; // 0x540 // MNetworkEnable - CUtlSymbolLarge m_iszOpvarName; // 0x538 + CUtlSymbolLarge m_iszOpvarName; // 0x548 // MNetworkEnable - int32_t m_iOpvarIndex; // 0x540 + int32_t m_iOpvarIndex; // 0x550 // MNetworkEnable - bool m_bUseAutoCompare; // 0x544 + bool m_bUseAutoCompare; // 0x554 }; // Alignment: 0 -// Size: 0x548 +// Size: 0x558 class C_SoundOpvarSetPointEntity : public C_SoundOpvarSetPointBase { public: @@ -3652,7 +3676,7 @@ public: }; // Alignment: 0 -// Size: 0x548 +// Size: 0x558 class C_SoundOpvarSetAABBEntity : public C_SoundOpvarSetPointEntity { public: @@ -3660,7 +3684,7 @@ public: }; // Alignment: 0 -// Size: 0x548 +// Size: 0x558 class C_SoundOpvarSetOBBEntity : public C_SoundOpvarSetAABBEntity { public: @@ -3668,7 +3692,7 @@ public: }; // Alignment: 0 -// Size: 0x548 +// Size: 0x558 class C_SoundOpvarSetPathCornerEntity : public C_SoundOpvarSetPointEntity { public: @@ -3676,13 +3700,27 @@ public: }; // Alignment: 0 -// Size: 0x548 +// Size: 0x558 class C_SoundOpvarSetOBBWindEntity : public C_SoundOpvarSetPointBase { public: // No members available }; +// Alignment: 2 +// Size: 0x20 +class CComicBook +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + // MPropertyDescription "Cover image to use. Likely starts with file://{images}/comics/..." + CPanoramaImageName m_CoverImage; // 0x8 + // MPropertyDescription "Comic book xml file. The xml that defines the layout and flow of the comic book." + // MPropertyCustomFGDType + CUtlString m_XmlFile; // 0x18 +}; + // Alignment: 2 // Size: 0x60 class CAttributeList @@ -4006,37 +4044,37 @@ public: }; // Alignment: 5 -// Size: 0x538 +// Size: 0x548 class C_DOTA_SimpleObstruction : public C_BaseEntity { public: // MNetworkEnable - bool m_bEnabled; // 0x528 + bool m_bEnabled; // 0x538 // MNetworkEnable - bool m_bBlockFoW; // 0x529 + bool m_bBlockFoW; // 0x539 private: - [[maybe_unused]] uint8_t __pad052a[0x2]; // 0x52a + [[maybe_unused]] uint8_t __pad053a[0x2]; // 0x53a public: - uint32_t m_unOccluderID; // 0x52c - bool m_bBlockingGridNav; // 0x530 - bool m_bPrevEnabled; // 0x531 + uint32_t m_unOccluderID; // 0x53c + bool m_bBlockingGridNav; // 0x540 + bool m_bPrevEnabled; // 0x541 }; // Alignment: 1 -// Size: 0x530 +// Size: 0x540 class C_DOTAGameManagerProxy : public C_BaseEntity { public: // MNetworkEnable // MNetworkTypeAlias "CDOTAGameManager*" - C_DOTAGameManager* m_pGameManager; // 0x528 + C_DOTAGameManager* m_pGameManager; // 0x538 // Static fields: static C_DOTAGameManagerProxy* &Get_s_pGameManagerProxy(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_DOTAGameManagerProxy")->m_static_fields[0]->m_instance);}; }; // Alignment: 20 -// Size: 0xdd0 +// Size: 0xe88 class C_DOTAGameManager { private: @@ -4046,51 +4084,51 @@ public: // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x30 private: - [[maybe_unused]] uint8_t __pad0058[0x368]; // 0x58 + [[maybe_unused]] uint8_t __pad0058[0x378]; // 0x58 public: - bool m_bCustomGame; // 0x3c0 - bool m_bEventGame; // 0x3c1 - bool m_bGameModeWantsDefaultNeutralItemSchema; // 0x3c2 - bool m_bGameModeFilteredAbilities; // 0x3c3 - char m_szAddOnGame[128]; // 0x3c4 - char m_szAddOnMap[128]; // 0x444 + bool m_bCustomGame; // 0x3d0 + bool m_bEventGame; // 0x3d1 + bool m_bGameModeWantsDefaultNeutralItemSchema; // 0x3d2 + bool m_bGameModeFilteredAbilities; // 0x3d3 + char m_szAddOnGame[128]; // 0x3d4 + char m_szAddOnMap[128]; // 0x454 private: - [[maybe_unused]] uint8_t __pad04c4[0x354]; // 0x4c4 + [[maybe_unused]] uint8_t __pad04d4[0x364]; // 0x4d4 public: - KeyValues* m_pTutorialLessonKeyValues; // 0x818 - KeyValues* m_pDivisionKeyValues; // 0x820 - KeyValues* m_pMatchGroupsKeyValues; // 0x828 - KeyValues* m_pAnimationStatues; // 0x830 - KeyValues* m_pBotScriptsDedicatedServer; // 0x838 - KeyValues* m_pkvWardPlacementLocations; // 0x840 - KeyValues* m_pRegionKeyValues; // 0x848 - KeyValues* m_pSurveyQuestionData; // 0x850 - KeyValues3 m_AddonInfoKeyValues; // 0x858 + KeyValues* m_pTutorialLessonKeyValues; // 0x838 + KeyValues* m_pDivisionKeyValues; // 0x840 + KeyValues* m_pMatchGroupsKeyValues; // 0x848 + KeyValues* m_pAnimationStatues; // 0x850 + KeyValues* m_pBotScriptsDedicatedServer; // 0x858 + KeyValues* m_pkvWardPlacementLocations; // 0x860 + KeyValues* m_pRegionKeyValues; // 0x868 + KeyValues* m_pSurveyQuestionData; // 0x870 + KeyValues3 m_AddonInfoKeyValues; // 0x878 private: - [[maybe_unused]] uint8_t __pad0868[0x20]; // 0x868 + [[maybe_unused]] uint8_t __pad0888[0x20]; // 0x888 public: - KeyValues* m_pCountryKeyValues; // 0x888 + KeyValues* m_pCountryKeyValues; // 0x8a8 private: - [[maybe_unused]] uint8_t __pad0890[0x430]; // 0x890 + [[maybe_unused]] uint8_t __pad08b0[0x4c8]; // 0x8b0 public: - bool m_bLoadedPortraits[6]; // 0xcc0 + bool m_bLoadedPortraits[7]; // 0xd78 private: - [[maybe_unused]] uint8_t __pad0cc6[0x2]; // 0xcc6 + [[maybe_unused]] uint8_t __pad0d7f[0x1]; // 0xd7f public: - KeyValues* m_pControlGroupsKeyValues; // 0xcc8 + KeyValues* m_pControlGroupsKeyValues; // 0xd80 // MNetworkEnable - bool m_CurrentHeroAvailable[256]; // 0xcd0 + bool m_CurrentHeroAvailable[256]; // 0xd88 }; // Alignment: 1 -// Size: 0x530 +// Size: 0x540 class C_DOTAGamerulesProxy : public C_GameRulesProxy { public: // MNetworkEnable // MNetworkTypeAlias "CDOTAGameRules*" // MNetworkPriority "32" - C_DOTAGamerules* m_pGameRules; // 0x528 + C_DOTAGamerules* m_pGameRules; // 0x538 }; // Alignment: 9 @@ -4172,8 +4210,8 @@ public: int32_t m_unAbilityPlayerSlot; // 0x38 }; -// Alignment: 219 -// Size: -0x5488 +// Alignment: 222 +// Size: -0x5448 class C_DOTAGamerules : public C_MultiplayRules { public: @@ -4437,271 +4475,274 @@ public: // MNetworkEnable GameTime_t m_flRadarCooldowns[15]; // 0x5b4 // MNetworkEnable - float m_flOutpostTimes[24]; // 0x5f0 + int32_t m_iGoodRadarCharges; // 0x5f0 // MNetworkEnable - bool m_bIsNightstalkerNight; // 0x650 + int32_t m_iBadRadarCharges; // 0x5f4 // MNetworkEnable - bool m_bIsTemporaryNight; // 0x651 + int32_t m_iRadarCharges[15]; // 0x5f8 // MNetworkEnable - bool m_bIsTemporaryDay; // 0x652 + float m_flOutpostTimes[24]; // 0x634 + // MNetworkEnable + bool m_bIsNightstalkerNight; // 0x694 + // MNetworkEnable + bool m_bIsTemporaryNight; // 0x695 + // MNetworkEnable + bool m_bIsTemporaryDay; // 0x696 private: - [[maybe_unused]] uint8_t __pad0653[0x1]; // 0x653 + [[maybe_unused]] uint8_t __pad0697[0x1]; // 0x697 public: // MNetworkEnable - int32_t m_nRiverType; // 0x654 + int32_t m_nRiverType; // 0x698 // MNetworkEnable - PlayerID_t m_nTeamFeaturedPlayerID[15]; // 0x658 + PlayerID_t m_nTeamFeaturedPlayerID[15]; // 0x69c // MNetworkEnable - 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 + item_definition_index_t m_nTeamVersusScreen[15]; // 0x6d8 + float m_flGoldRedistributeTime; // 0x714 + int32_t m_nGoldToRedistribute[2]; // 0x718 + GameTime_t m_flNextPreGameThink; // 0x720 + GameTime_t m_flNextAllDraftGoldThink; // 0x724 + double m_flTimeEnteredState; // 0x728 + uint32_t m_unRiverAccountID; // 0x730 private: - [[maybe_unused]] uint8_t __pad06e4[0x4]; // 0x6e4 + [[maybe_unused]] uint8_t __pad0734[0x4]; // 0x734 public: - double m_flTimeEnteredState; // 0x6e8 - uint32_t m_unRiverAccountID; // 0x6f0 + itemid_t m_ulRiverItemID; // 0x738 private: - [[maybe_unused]] uint8_t __pad06f4[0x4]; // 0x6f4 -public: - itemid_t m_ulRiverItemID; // 0x6f8 -private: - [[maybe_unused]] uint8_t __pad0700[0x40]; // 0x700 + [[maybe_unused]] uint8_t __pad0740[0x40]; // 0x740 public: // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< CDOTA_ItemStockInfo > m_vecItemStockInfo; // 0x740 + C_UtlVectorEmbeddedNetworkVar< CDOTA_ItemStockInfo > m_vecItemStockInfo; // 0x780 // MNetworkEnable - DOTA_AssassinMinigameNetworkState m_AssassinMiniGameNetData; // 0x790 + DOTA_AssassinMinigameNetworkState m_AssassinMiniGameNetData; // 0x7d0 // MNetworkEnable - int32_t m_nGameWinner; // 0x7a0 + int32_t m_nGameWinner; // 0x7e0 private: - [[maybe_unused]] uint8_t __pad07a4[0x4]; // 0x7a4 + [[maybe_unused]] uint8_t __pad07e4[0x4]; // 0x7e4 public: // MNetworkEnable - MatchID_t m_unMatchID64; // 0x7a8 + MatchID_t m_unMatchID64; // 0x7e8 // MNetworkEnable - bool m_bMatchSignoutComplete; // 0x7b0 + bool m_bMatchSignoutComplete; // 0x7f0 private: - [[maybe_unused]] uint8_t __pad07b1[0x3]; // 0x7b1 + [[maybe_unused]] uint8_t __pad07f1[0x3]; // 0x7f1 public: // MNetworkEnable - CHandle< C_BaseEntity > m_hSideShop1; // 0x7b4 + CHandle< C_BaseEntity > m_hSideShop1; // 0x7f4 // MNetworkEnable - CHandle< C_BaseEntity > m_hSideShop2; // 0x7b8 + CHandle< C_BaseEntity > m_hSideShop2; // 0x7f8 // MNetworkEnable - CHandle< C_BaseEntity > m_hSecretShop1; // 0x7bc + CHandle< C_BaseEntity > m_hSecretShop1; // 0x7fc // MNetworkEnable - CHandle< C_BaseEntity > m_hSecretShop2; // 0x7c0 + CHandle< C_BaseEntity > m_hSecretShop2; // 0x800 // MNetworkEnable - CHandle< C_BaseEntity > m_hTeamFountains[15]; // 0x7c4 + CHandle< C_BaseEntity > m_hTeamFountains[15]; // 0x804 // MNetworkEnable - CHandle< C_BaseEntity > m_hTeamForts[15]; // 0x800 + CHandle< C_BaseEntity > m_hTeamForts[15]; // 0x840 // MNetworkEnable - CHandle< C_BaseEntity > m_hTeamShops[15]; // 0x83c + CHandle< C_BaseEntity > m_hTeamShops[15]; // 0x87c // MNetworkEnable - CHandle< C_BaseEntity > m_hAnnouncerGood; // 0x878 + CHandle< C_BaseEntity > m_hAnnouncerGood; // 0x8b8 // MNetworkEnable - CHandle< C_BaseEntity > m_hAnnouncerBad; // 0x87c + CHandle< C_BaseEntity > m_hAnnouncerBad; // 0x8bc // MNetworkEnable - CHandle< C_BaseEntity > m_hAnnouncerSpectator; // 0x880 + CHandle< C_BaseEntity > m_hAnnouncerSpectator; // 0x8c0 // MNetworkEnable - CHandle< C_BaseEntity > m_hAnnouncerGood_KillingSpree; // 0x884 + CHandle< C_BaseEntity > m_hAnnouncerGood_KillingSpree; // 0x8c4 // MNetworkEnable - CHandle< C_BaseEntity > m_hAnnouncerBad_KillingSpree; // 0x888 + CHandle< C_BaseEntity > m_hAnnouncerBad_KillingSpree; // 0x8c8 // MNetworkEnable - CHandle< C_BaseEntity > m_hAnnouncerSpectator_KillingSpree; // 0x88c + CHandle< C_BaseEntity > m_hAnnouncerSpectator_KillingSpree; // 0x8cc // MNetworkEnable - bool m_arrTier1TowerDestroyed[15]; // 0x890 + bool m_arrTier1TowerDestroyed[15]; // 0x8d0 // MNetworkEnable - bool m_arrTier2TowerDestroyed[15]; // 0x89f + bool m_arrTier2TowerDestroyed[15]; // 0x8df // MNetworkEnable - bool m_arrTier3TowerDestroyed[15]; // 0x8ae + bool m_arrTier3TowerDestroyed[15]; // 0x8ee // MNetworkEnable - bool m_bTier1TowerDestroyed; // 0x8bd + bool m_bTier1TowerDestroyed; // 0x8fd // MNetworkEnable - bool m_bTier2TowerDestroyed; // 0x8be + bool m_bTier2TowerDestroyed; // 0x8fe // MNetworkEnable - bool m_bTier3TowerDestroyed; // 0x8bf - float m_fTimeOfDay; // 0x8c0 + bool m_bTier3TowerDestroyed; // 0x8ff + float m_fTimeOfDay; // 0x900 // MNetworkEnable // MNetworkPriority "32" - int32_t m_iNetTimeOfDay; // 0x8c4 + int32_t m_iNetTimeOfDay; // 0x904 // MNetworkEnable - int32_t m_nLoadedPlayers; // 0x8c8 + int32_t m_nLoadedPlayers; // 0x908 // MNetworkEnable - int32_t m_nExpectedPlayers; // 0x8cc + int32_t m_nExpectedPlayers; // 0x90c private: - [[maybe_unused]] uint8_t __pad08d0[0x8]; // 0x8d0 + [[maybe_unused]] uint8_t __pad0910[0x8]; // 0x910 public: // MNetworkEnable - int32_t m_iMinimapDebugGridState; // 0x8d8 + int32_t m_iMinimapDebugGridState; // 0x918 private: - [[maybe_unused]] uint8_t __pad08dc[0x7c]; // 0x8dc + [[maybe_unused]] uint8_t __pad091c[0x7c]; // 0x91c public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_iFoWFrameNumber; // 0x958 + int32_t m_iFoWFrameNumber; // 0x998 // MNetworkEnable - Vector m_vWeatherWindDirection; // 0x95c + Vector m_vWeatherWindDirection; // 0x99c // MNetworkEnable - int32_t m_vecRequiredPlaytestHeroesStorage[24]; // 0x968 + int32_t m_vecRequiredPlaytestHeroesStorage[24]; // 0x9a8 // MNetworkEnable - int32_t m_vecRecommendedPlaytestHeroesStorage[24]; // 0x9c8 + int32_t m_vecRecommendedPlaytestHeroesStorage[24]; // 0xa08 // MNetworkEnable - bool m_bAllRequiredPlaytestHeroesPicked; // 0xa28 + bool m_bAllRequiredPlaytestHeroesPicked; // 0xa68 private: - [[maybe_unused]] uint8_t __pad0a29[0x3]; // 0xa29 + [[maybe_unused]] uint8_t __pad0a69[0x3]; // 0xa69 public: // MNetworkEnable - int32_t m_nLastPlaytestPickPhase; // 0xa2c - int32_t m_nCustomGameFowTeamCount; // 0xa30 - bool m_bUseAlternateABRules; // 0xa34 - bool m_bLobbyIsAssociatedWithGame; // 0xa35 + int32_t m_nLastPlaytestPickPhase; // 0xa6c + int32_t m_nCustomGameFowTeamCount; // 0xa70 + bool m_bUseAlternateABRules; // 0xa74 + bool m_bLobbyIsAssociatedWithGame; // 0xa75 private: - [[maybe_unused]] uint8_t __pad0a36[0x2]; // 0xa36 + [[maybe_unused]] uint8_t __pad0a76[0x2]; // 0xa76 public: - CountdownTimer m_BotDebugTimer; // 0xa38 + CountdownTimer m_BotDebugTimer; // 0xa78 // MNetworkEnable // MNetworkPriority "48" - uint8_t m_BotDebugPushLane[18]; // 0xa50 + uint8_t m_BotDebugPushLane[18]; // 0xa90 // MNetworkEnable - uint8_t m_BotDebugDefendLane[18]; // 0xa62 + uint8_t m_BotDebugDefendLane[18]; // 0xaa2 // MNetworkEnable - uint8_t m_BotDebugFarmLane[6]; // 0xa74 + uint8_t m_BotDebugFarmLane[6]; // 0xab4 // MNetworkEnable - uint8_t m_BotDebugRoam[8]; // 0xa7a + uint8_t m_BotDebugRoam[8]; // 0xaba private: - [[maybe_unused]] uint8_t __pad0a82[0x2]; // 0xa82 + [[maybe_unused]] uint8_t __pad0ac2[0x2]; // 0xac2 public: // MNetworkEnable - CHandle< C_BaseEntity > m_hBotDebugRoamTarget[2]; // 0xa84 + CHandle< C_BaseEntity > m_hBotDebugRoamTarget[2]; // 0xac4 // MNetworkEnable - uint8_t m_BotDebugRoshan[2]; // 0xa8c + uint8_t m_BotDebugRoshan[2]; // 0xacc private: - [[maybe_unused]] uint8_t __pad0a8e[0x2]; // 0xa8e + [[maybe_unused]] uint8_t __pad0ace[0x2]; // 0xace public: // MNetworkEnable - ERoshanSpawnPhase m_nRoshanRespawnPhase; // 0xa90 + ERoshanSpawnPhase m_nRoshanRespawnPhase; // 0xad0 // MNetworkEnable - GameTime_t m_flRoshanRespawnPhaseEndTime; // 0xa94 + GameTime_t m_flRoshanRespawnPhaseEndTime; // 0xad4 // MNetworkEnable // MNetworkTypeAlias "CDOTA_AbilityDraftAbilityState[MAX_ABILITY_DRAFT_ABILITIES]" - C_UtlVectorEmbeddedNetworkVar< CDOTA_AbilityDraftAbilityState > m_AbilityDraftAbilities; // 0xa98 + C_UtlVectorEmbeddedNetworkVar< CDOTA_AbilityDraftAbilityState > m_AbilityDraftAbilities; // 0xad8 // MNetworkEnable - bool m_bAbilityDraftCurrentPlayerHasPicked; // 0xae8 + bool m_bAbilityDraftCurrentPlayerHasPicked; // 0xb28 private: - [[maybe_unused]] uint8_t __pad0ae9[0x3]; // 0xae9 + [[maybe_unused]] uint8_t __pad0b29[0x3]; // 0xb29 public: // MNetworkEnable - int32_t m_nAbilityDraftPlayerTracker; // 0xaec + int32_t m_nAbilityDraftPlayerTracker; // 0xb2c // MNetworkEnable - int32_t m_nAbilityDraftRoundNumber; // 0xaf0 + int32_t m_nAbilityDraftRoundNumber; // 0xb30 // MNetworkEnable - int32_t m_nAbilityDraftAdvanceSteps; // 0xaf4 + int32_t m_nAbilityDraftAdvanceSteps; // 0xb34 // MNetworkEnable - int32_t m_nAbilityDraftPhase; // 0xaf8 + int32_t m_nAbilityDraftPhase; // 0xb38 // MNetworkEnable // MNetworkChangeCallback "OnAbilityDraftHeroesChanged" - int32_t m_nAbilityDraftHeroesChosen[13]; // 0xafc + int32_t m_nAbilityDraftHeroesChosen[13]; // 0xb3c // MNetworkEnable - bool m_bIsPlayerDraft; // 0xb30 + bool m_bIsPlayerDraft; // 0xb70 private: - [[maybe_unused]] uint8_t __pad0b31[0x3]; // 0xb31 + [[maybe_unused]] uint8_t __pad0b71[0x3]; // 0xb71 public: // MNetworkEnable - DOTA_PlayerDraftState m_ePlayerDraftState; // 0xb34 + DOTA_PlayerDraftState m_ePlayerDraftState; // 0xb74 // MNetworkEnable - C_NetworkUtlVectorBase< uint8 > m_vecPlayerDraftPickOrder; // 0xb38 + C_NetworkUtlVectorBase< uint8 > m_vecPlayerDraftPickOrder; // 0xb78 // MNetworkEnable - int32_t m_nPlayerDraftPick; // 0xb50 + int32_t m_nPlayerDraftPick; // 0xb90 // MNetworkEnable - int32_t m_nPlayerDraftActiveTeam; // 0xb54 + int32_t m_nPlayerDraftActiveTeam; // 0xb94 // MNetworkEnable - float m_flPlayerDraftTimeBank[2]; // 0xb58 - CUtlVector< KeyValues* > m_vecARDMHeroes[2]; // 0xb60 - int32_t m_nARDMHeroesPrecached; // 0xb90 - float m_fLastARDMPrecache; // 0xb94 + float m_flPlayerDraftTimeBank[2]; // 0xb98 + CUtlVector< KeyValues* > m_vecARDMHeroes[2]; // 0xba0 + int32_t m_nARDMHeroesPrecached; // 0xbd0 + float m_fLastARDMPrecache; // 0xbd4 // MNetworkEnable - int32_t m_nAllDraftPhase; // 0xb98 + int32_t m_nAllDraftPhase; // 0xbd8 // MNetworkEnable - bool m_bAllDraftRadiantFirst; // 0xb9c + bool m_bAllDraftRadiantFirst; // 0xbdc // MNetworkEnable - bool m_bAllowOverrideVPK; // 0xb9d + bool m_bAllowOverrideVPK; // 0xbdd private: - [[maybe_unused]] uint8_t __pad0b9e[0x2]; // 0xb9e + [[maybe_unused]] uint8_t __pad0bde[0x2]; // 0xbde public: // MNetworkEnable - int32_t m_nARDMHeroesRemaining[2]; // 0xba0 - bool m_bUpdateHeroStatues; // 0xba8 + int32_t m_nARDMHeroesRemaining[2]; // 0xbe0 + bool m_bUpdateHeroStatues; // 0xbe8 private: - [[maybe_unused]] uint8_t __pad0ba9[0x17]; // 0xba9 + [[maybe_unused]] uint8_t __pad0be9[0x17]; // 0xbe9 public: // MNetworkEnable - bool m_bExperimentalGameplay; // 0xbc0 + bool m_bExperimentalGameplay; // 0xc00 private: - [[maybe_unused]] uint8_t __pad0bc1[0x3f]; // 0xbc1 + [[maybe_unused]] uint8_t __pad0c01[0x3f]; // 0xc01 public: - CUtlVector< int32 > m_vecPlayerMMR; // 0xc00 + CUtlVector< int32 > m_vecPlayerMMR; // 0xc40 // MNetworkEnable - uint32_t m_lobbyType; // 0xc18 + uint32_t m_lobbyType; // 0xc58 // MNetworkEnable - LeagueID_t m_lobbyLeagueID; // 0xc1c + LeagueID_t m_lobbyLeagueID; // 0xc5c // MNetworkEnable - char m_lobbyGameName[256]; // 0xc20 + char m_lobbyGameName[256]; // 0xc60 // MNetworkEnable // MNetworkChangeCallback "OnHeroStatueLiked" - C_UtlVectorEmbeddedNetworkVar< CHeroStatueLiked > m_vecHeroStatueLiked; // 0xd20 + C_UtlVectorEmbeddedNetworkVar< CHeroStatueLiked > m_vecHeroStatueLiked; // 0xd60 // MNetworkEnable - int32_t m_CustomGameTeamMaxPlayers[15]; // 0xd70 + int32_t m_CustomGameTeamMaxPlayers[15]; // 0xdb0 // MNetworkEnable - int32_t m_iMutations[5]; // 0xdac + int32_t m_iMutations[5]; // 0xdec // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_IngameEvent_Base > > m_vecIngameEvents; // 0xdc0 + C_NetworkUtlVectorBase< CHandle< C_IngameEvent_Base > > m_vecIngameEvents; // 0xe00 // MNetworkEnable - int8_t m_nPrimaryIngameEventIndex; // 0xdd8 + int8_t m_nPrimaryIngameEventIndex; // 0xe18 private: - [[maybe_unused]] uint8_t __pad0dd9[0x3]; // 0xdd9 + [[maybe_unused]] uint8_t __pad0e19[0x3]; // 0xe19 public: // MNetworkEnable // MNetworkChangeCallback "OnObsoleteIngameEventChanged" // MNetworkAlias "m_hIngameEvent" - CHandle< C_IngameEvent_Base > m_hObsoleteIngameEvent; // 0xddc - uint32_t m_nOfrendaPledges; // 0xde0 - uint32_t m_nRadiantOfrendas; // 0xde4 - uint32_t m_nDireOfrendas; // 0xde8 + CHandle< C_IngameEvent_Base > m_hObsoleteIngameEvent; // 0xe1c + uint32_t m_nOfrendaPledges; // 0xe20 + uint32_t m_nRadiantOfrendas; // 0xe24 + uint32_t m_nDireOfrendas; // 0xe28 // MNetworkEnable - bool m_bOfrendaEnabled; // 0xdec + bool m_bOfrendaEnabled; // 0xe2c private: - [[maybe_unused]] uint8_t __pad0ded[0x33]; // 0xded + [[maybe_unused]] uint8_t __pad0e2d[0x33]; // 0xe2d public: // MNetworkEnable - C_NetworkUtlVectorBase< NeutralSpawnBoxes_t > m_NeutralSpawnBoxes; // 0xe20 + C_NetworkUtlVectorBase< NeutralSpawnBoxes_t > m_NeutralSpawnBoxes; // 0xe60 // MNetworkEnable - C_NetworkUtlVectorBase< RegionTriggerBoxes_t > m_RegionTriggerBoxes; // 0xe38 + C_NetworkUtlVectorBase< RegionTriggerBoxes_t > m_RegionTriggerBoxes; // 0xe78 private: - [[maybe_unused]] uint8_t __pad0e50[0xfb8]; // 0xe50 + [[maybe_unused]] uint8_t __pad0e90[0xfb8]; // 0xe90 public: - double m_flLastPerfSampleTime; // 0x1e08 - double m_flLastPerfSampleSendTime; // 0x1e10 - bool m_bDidSeeStrategyTime; // 0x1e18 + double m_flLastPerfSampleTime; // 0x1e48 + double m_flLastPerfSampleSendTime; // 0x1e50 + bool m_bDidSeeStrategyTime; // 0x1e58 private: - [[maybe_unused]] uint8_t __pad1e19[0x8d57]; // 0x1e19 + [[maybe_unused]] uint8_t __pad1e59[0x8d57]; // 0x1e59 public: - double m_flLastUnfocusedSleepTime; // 0xab70 + double m_flLastUnfocusedSleepTime; // 0xabb0 }; // Alignment: 1 -// Size: 0x530 +// Size: 0x540 class C_DOTA_DisplacementVisibility : public C_BaseEntity { public: // MNetworkEnable - int32_t m_HiddenDisplacement; // 0x528 + int32_t m_HiddenDisplacement; // 0x538 }; // Alignment: 0 -// Size: 0x528 +// Size: 0x538 class C_DOTABaseCustomHeroPickRules : public C_BaseEntity { public: @@ -4736,233 +4777,232 @@ public: C_UtlVectorEmbeddedNetworkVar< CDOTACustomShopItemInfo > m_CustomShopItems; // 0x130 }; -// Alignment: 91 -// Size: 0x6c0 +// Alignment: 92 +// Size: 0x6d0 class C_DOTABaseGameMode : public C_BaseEntity { public: // MNetworkEnable // MNetworkChangeCallback "OnForcedHUDSkinChanged" - CUtlString m_ForcedHUDSkin; // 0x528 + CUtlString m_ForcedHUDSkin; // 0x538 // MNetworkEnable - int32_t m_nCustomGameForceHeroSelectionId; // 0x530 + int32_t m_nCustomGameForceHeroSelectionId; // 0x540 // MNetworkEnable - bool m_bAlwaysShowPlayerInventory; // 0x534 + bool m_bAlwaysShowPlayerInventory; // 0x544 // MNetworkEnable - bool m_bGoldSoundDisabled; // 0x535 + bool m_bGoldSoundDisabled; // 0x545 // MNetworkEnable - bool m_bRecommendedItemsDisabled; // 0x536 + bool m_bRecommendedItemsDisabled; // 0x546 // MNetworkEnable - bool m_bStickyItemDisabled; // 0x537 + bool m_bStickyItemDisabled; // 0x547 // MNetworkEnable - bool m_bStashPurchasingDisabled; // 0x538 + bool m_bStashPurchasingDisabled; // 0x548 // MNetworkEnable - bool m_bFogOfWarDisabled; // 0x539 + bool m_bFogOfWarDisabled; // 0x549 // MNetworkEnable - bool m_bUseUnseenFOW; // 0x53a + bool m_bUseUnseenFOW; // 0x54a // MNetworkEnable - bool m_bUseCustomBuybackCost; // 0x53b + bool m_bUseCustomBuybackCost; // 0x54b // MNetworkEnable - bool m_bUseCustomBuybackCooldown; // 0x53c + bool m_bUseCustomBuybackCooldown; // 0x54c // MNetworkEnable - bool m_bBuybackEnabled; // 0x53d + bool m_bBuybackEnabled; // 0x54d // MNetworkEnable - bool m_bUseTurboCouriers; // 0x53e + bool m_bUseTurboCouriers; // 0x54e private: - [[maybe_unused]] uint8_t __pad053f[0x1]; // 0x53f + [[maybe_unused]] uint8_t __pad054f[0x1]; // 0x54f public: // MNetworkEnable - float m_flCameraDistanceOverride; // 0x540 + float m_flCameraDistanceOverride; // 0x550 // MNetworkEnable - int32_t m_nCameraSmoothCountOverride; // 0x544 + int32_t m_nCameraSmoothCountOverride; // 0x554 // MNetworkEnable - CHandle< C_DOTA_BaseNPC > m_hOverrideSelectionEntity; // 0x548 + CHandle< C_DOTA_BaseNPC > m_hOverrideSelectionEntity; // 0x558 // MNetworkEnable - bool m_bTopBarTeamValuesOverride; // 0x54c + bool m_bTopBarTeamValuesOverride; // 0x55c // MNetworkEnable - bool m_bTopBarTeamValuesVisible; // 0x54d + bool m_bTopBarTeamValuesVisible; // 0x55d private: - [[maybe_unused]] uint8_t __pad054e[0x2]; // 0x54e + [[maybe_unused]] uint8_t __pad055e[0x2]; // 0x55e public: // MNetworkEnable - int32_t m_nTeamGoodGuysTopBarValue; // 0x550 + int32_t m_nTeamGoodGuysTopBarValue; // 0x560 // MNetworkEnable - int32_t m_nTeamBadGuysTopBarValue; // 0x554 + int32_t m_nTeamBadGuysTopBarValue; // 0x564 // MNetworkEnable - bool m_bAlwaysShowPlayerNames; // 0x558 + bool m_bAlwaysShowPlayerNames; // 0x568 // MNetworkEnable - bool m_bUseCustomHeroLevels; // 0x559 + bool m_bUseCustomHeroLevels; // 0x569 private: - [[maybe_unused]] uint8_t __pad055a[0x6]; // 0x55a + [[maybe_unused]] uint8_t __pad056a[0x6]; // 0x56a public: // MNetworkEnable - C_NetworkUtlVectorBase< int32 > m_nCustomXPRequiredToReachNextLevel; // 0x560 + C_NetworkUtlVectorBase< int32 > m_nCustomXPRequiredToReachNextLevel; // 0x570 // MNetworkEnable - bool m_bTowerBackdoorProtectionEnabled; // 0x578 + bool m_bTowerBackdoorProtectionEnabled; // 0x588 // MNetworkEnable - bool m_bBotThinkingEnabled; // 0x579 + bool m_bBotThinkingEnabled; // 0x589 // MNetworkEnable - bool m_bAnnouncerDisabled; // 0x57a + bool m_bAnnouncerDisabled; // 0x58a // MNetworkEnable - bool m_bAnnouncerGameModeAnnounceDisabled; // 0x57b + bool m_bAnnouncerGameModeAnnounceDisabled; // 0x58b // MNetworkEnable - bool m_bDeathTipsDisabled; // 0x57c + bool m_bDeathTipsDisabled; // 0x58c // MNetworkEnable - bool m_bFilterPlayerHeroAvailability; // 0x57d + bool m_bFilterPlayerHeroAvailability; // 0x58d // MNetworkEnable - bool m_bKillingSpreeAnnouncerDisabled; // 0x57e + bool m_bKillingSpreeAnnouncerDisabled; // 0x58e private: - [[maybe_unused]] uint8_t __pad057f[0x1]; // 0x57f + [[maybe_unused]] uint8_t __pad058f[0x1]; // 0x58f public: // MNetworkEnable - float m_flFixedRespawnTime; // 0x580 + float m_flFixedRespawnTime; // 0x590 // MNetworkEnable - float m_flBuybackCostScale; // 0x584 + float m_flBuybackCostScale; // 0x594 // MNetworkEnable - float m_flRespawnTimeScale; // 0x588 + float m_flRespawnTimeScale; // 0x598 // MNetworkEnable - bool m_bLoseGoldOnDeath; // 0x58c + bool m_bLoseGoldOnDeath; // 0x59c // MNetworkEnable - bool m_bKillableTombstones; // 0x58d + bool m_bKillableTombstones; // 0x59d private: - [[maybe_unused]] uint8_t __pad058e[0x2]; // 0x58e + [[maybe_unused]] uint8_t __pad059e[0x2]; // 0x59e public: // MNetworkEnable - uint32_t m_nHUDVisibilityBits; // 0x590 + uint32_t m_nHUDVisibilityBits; // 0x5a0 // MNetworkEnable - float m_flMinimumAttackSpeed; // 0x594 + float m_flMinimumAttackSpeed; // 0x5a4 // MNetworkEnable - float m_flMaximumAttackSpeed; // 0x598 + float m_flMaximumAttackSpeed; // 0x5a8 // MNetworkEnable - bool m_bIsDaynightCycleDisabled; // 0x59c + bool m_bIsDaynightCycleDisabled; // 0x5ac private: - [[maybe_unused]] uint8_t __pad059d[0x3]; // 0x59d + [[maybe_unused]] uint8_t __pad05ad[0x3]; // 0x5ad public: // MNetworkEnable - float m_flDaynightCycleAdvanceRate; // 0x5a0 + float m_flDaynightCycleAdvanceRate; // 0x5b0 // MNetworkEnable - bool m_bAreWeatherEffectsDisabled; // 0x5a4 + bool m_bAreWeatherEffectsDisabled; // 0x5b4 // MNetworkEnable - bool m_bDisableHudFlip; // 0x5a5 + bool m_bDisableHudFlip; // 0x5b5 // MNetworkEnable - bool m_bEnableFriendlyBuildingMoveTo; // 0x5a6 + bool m_bEnableFriendlyBuildingMoveTo; // 0x5b6 // MNetworkEnable - bool m_bIsDeathOverlayDisabled; // 0x5a7 + bool m_bIsDeathOverlayDisabled; // 0x5b7 // MNetworkEnable - bool m_bIsHudCombatEventsDisabled; // 0x5a8 + bool m_bIsHudCombatEventsDisabled; // 0x5b8 private: - [[maybe_unused]] uint8_t __pad05a9[0x7]; // 0x5a9 + [[maybe_unused]] uint8_t __pad05b9[0x7]; // 0x5b9 public: // MNetworkEnable - CUtlString m_strDefaultStickyItem; // 0x5b0 + CUtlString m_strDefaultStickyItem; // 0x5c0 // MNetworkEnable - CUtlString m_sCustomTerrainWeatherEffect; // 0x5b8 + CUtlString m_sCustomTerrainWeatherEffect; // 0x5c8 // MNetworkEnable - CUtlString m_strTPScrollSlotItemOverride; // 0x5c0 + CUtlString m_strTPScrollSlotItemOverride; // 0x5d0 // MNetworkEnable - float m_flStrengthDamage; // 0x5c8 + float m_flStrengthDamage; // 0x5d8 // MNetworkEnable - float m_flStrengthHP; // 0x5cc + float m_flStrengthHP; // 0x5dc // MNetworkEnable - float m_flStrengthHPRegen; // 0x5d0 + float m_flStrengthHPRegen; // 0x5e0 // MNetworkEnable - float m_flAgilityDamage; // 0x5d4 + float m_flAgilityDamage; // 0x5e4 // MNetworkEnable - float m_flAgilityArmor; // 0x5d8 + float m_flAgilityArmor; // 0x5e8 // MNetworkEnable - float m_flAgilityAttackSpeed; // 0x5dc + float m_flAgilityAttackSpeed; // 0x5ec // MNetworkEnable - float m_flAgilityMovementSpeedPercent; // 0x5e0 + float m_flAgilityMovementSpeedPercent; // 0x5f0 // MNetworkEnable - float m_flIntelligenceDamage; // 0x5e4 + float m_flIntelligenceDamage; // 0x5f4 // MNetworkEnable - float m_flIntelligenceMana; // 0x5e8 + float m_flIntelligenceMana; // 0x5f8 // MNetworkEnable - float m_flIntelligenceManaRegen; // 0x5ec + float m_flIntelligenceManaRegen; // 0x5fc // MNetworkEnable - float m_flIntelligenceMres; // 0x5f0 + float m_flIntelligenceMres; // 0x600 // MNetworkEnable - float m_flIntelligenceSpellAmpPercent; // 0x5f4 + float m_flIntelligenceSpellAmpPercent; // 0x604 // MNetworkEnable - float m_flStrengthMagicResistancePercent; // 0x5f8 + float m_flStrengthMagicResistancePercent; // 0x608 // MNetworkEnable - float m_flAttributeAllDamage; // 0x5fc + float m_flAttributeAllDamage; // 0x60c // MNetworkEnable - float m_flDraftingHeroPickSelectTimeOverride; // 0x600 + float m_flDraftingHeroPickSelectTimeOverride; // 0x610 // MNetworkEnable - float m_flDraftingBanningTimeOverride; // 0x604 + float m_flDraftingBanningTimeOverride; // 0x614 // MNetworkEnable - bool m_bPauseEnabled; // 0x608 + bool m_bPauseEnabled; // 0x618 private: - [[maybe_unused]] uint8_t __pad0609[0x3]; // 0x609 + [[maybe_unused]] uint8_t __pad0619[0x3]; // 0x619 public: // MNetworkEnable - float m_flCustomScanCooldown; // 0x60c + int32_t m_iCustomScanMaxCharges; // 0x61c // MNetworkEnable - float m_flCustomGlyphCooldown; // 0x610 + float m_flCustomScanCooldown; // 0x620 // MNetworkEnable - float m_flCustomBackpackSwapCooldown; // 0x614 + float m_flCustomGlyphCooldown; // 0x624 // MNetworkEnable - float m_flCustomBackpackCooldownPercent; // 0x618 + float m_flCustomBackpackSwapCooldown; // 0x628 // MNetworkEnable - bool m_bDefaultRuneSpawnLogic; // 0x61c + float m_flCustomBackpackCooldownPercent; // 0x62c // MNetworkEnable - bool m_bEnableFreeCourierMode; // 0x61d + bool m_bDefaultRuneSpawnLogic; // 0x630 // MNetworkEnable - bool m_bAllowNeutralItemDrops; // 0x61e + bool m_bEnableFreeCourierMode; // 0x631 // MNetworkEnable - bool m_bEnableNeutralStash; // 0x61f + bool m_bAllowNeutralItemDrops; // 0x632 // MNetworkEnable - bool m_bEnableNeutralStashTeamViewOnly; // 0x620 + bool m_bEnableNeutralStash; // 0x633 // MNetworkEnable - bool m_bEnableNeutralItemHideUndiscovered; // 0x621 + bool m_bEnableNeutralStashTeamViewOnly; // 0x634 // MNetworkEnable - bool m_bEnableSendToStash; // 0x622 + bool m_bEnableNeutralItemHideUndiscovered; // 0x635 // MNetworkEnable - bool m_bForceRightClickAttackDisabled; // 0x623 + bool m_bEnableSendToStash; // 0x636 + // MNetworkEnable + bool m_bForceRightClickAttackDisabled; // 0x637 + // MNetworkEnable + C_UtlVectorEmbeddedNetworkVar< CDOTACustomShopInfo > m_vecCustomShopInfo; // 0x638 + // MNetworkEnable + bool m_bCanSellAnywhere; // 0x688 private: - [[maybe_unused]] uint8_t __pad0624[0x4]; // 0x624 + [[maybe_unused]] uint8_t __pad0689[0x3]; // 0x689 public: // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< CDOTACustomShopInfo > m_vecCustomShopInfo; // 0x628 + float m_flCameraNearZ; // 0x68c // MNetworkEnable - bool m_bCanSellAnywhere; // 0x678 + float m_flCameraFarZ; // 0x690 + // MNetworkEnable + int32_t m_nCustomRadiantScore; // 0x694 + // MNetworkEnable + int32_t m_nCustomDireScore; // 0x698 + // MNetworkEnable + bool m_bAbilityUpgradeWhitelistEnabled; // 0x69c private: - [[maybe_unused]] uint8_t __pad0679[0x3]; // 0x679 + [[maybe_unused]] uint8_t __pad069d[0x3]; // 0x69d public: // MNetworkEnable - float m_flCameraNearZ; // 0x67c + C_NetworkUtlVectorBase< AbilityID_t > m_vecAbilityUpgradeWhitelist; // 0x6a0 // MNetworkEnable - float m_flCameraFarZ; // 0x680 - // MNetworkEnable - int32_t m_nCustomRadiantScore; // 0x684 - // MNetworkEnable - int32_t m_nCustomDireScore; // 0x688 - // MNetworkEnable - bool m_bAbilityUpgradeWhitelistEnabled; // 0x68c + bool m_bGiveFreeTPOnDeath; // 0x6b8 private: - [[maybe_unused]] uint8_t __pad068d[0x3]; // 0x68d + [[maybe_unused]] uint8_t __pad06b9[0x3]; // 0x6b9 public: // MNetworkEnable - C_NetworkUtlVectorBase< AbilityID_t > m_vecAbilityUpgradeWhitelist; // 0x690 + int32_t m_nInnateMeleeDamageBlockPct; // 0x6bc // MNetworkEnable - bool m_bGiveFreeTPOnDeath; // 0x6a8 -private: - [[maybe_unused]] uint8_t __pad06a9[0x3]; // 0x6a9 -public: + int32_t m_nInnateMeleeDamageBlockAmount; // 0x6c0 // MNetworkEnable - int32_t m_nInnateMeleeDamageBlockPct; // 0x6ac + int32_t m_nInnateMeleeDamageBlockPerLevelAmount; // 0x6c4 // MNetworkEnable - int32_t m_nInnateMeleeDamageBlockAmount; // 0x6b0 - // MNetworkEnable - int32_t m_nInnateMeleeDamageBlockPerLevelAmount; // 0x6b4 - // MNetworkEnable - float m_flWaterRuneSpawnInterval; // 0x6b8 - uint32_t m_nHUDVisibilityBitsPrevious; // 0x6bc + float m_flWaterRuneSpawnInterval; // 0x6c8 + uint32_t m_nHUDVisibilityBitsPrevious; // 0x6cc }; // Alignment: 0 -// Size: 0x6c0 +// Size: 0x6d0 class C_DOTATurboGameMode : public C_DOTABaseGameMode { public: @@ -4970,7 +5010,7 @@ public: }; // Alignment: 0 -// Size: 0x6c0 +// Size: 0x6d0 class C_DOTANewPlayerPoolGameMode : public C_DOTABaseGameMode { public: @@ -4978,7 +5018,7 @@ public: }; // Alignment: 0 -// Size: 0x6c0 +// Size: 0x6d0 class C_DOTAMutationGameMode : public C_DOTABaseGameMode { public: @@ -4986,26 +5026,26 @@ public: }; // Alignment: 1 -// Size: 0x530 +// Size: 0x540 class C_DOTATurboHeroPickRules : public C_DOTABaseCustomHeroPickRules { public: // MNetworkEnable - DOTACustomHeroPickRulesPhase_t m_Phase; // 0x528 + DOTACustomHeroPickRulesPhase_t m_Phase; // 0x538 }; // Alignment: 4 -// Size: 0x538 +// Size: 0x548 class C_DOTACustomGameHeroPickRules : public C_DOTABaseCustomHeroPickRules { public: // MNetworkEnable - DOTACustomHeroPickRulesPhase_t m_Phase; // 0x528 + DOTACustomHeroPickRulesPhase_t m_Phase; // 0x538 // MNetworkEnable - int32_t m_nNumBansPerTeam; // 0x52c + int32_t m_nNumBansPerTeam; // 0x53c // MNetworkEnable - GameTime_t m_flEnterTime; // 0x530 - int32_t m_nNumHeroesPicked; // 0x534 + GameTime_t m_flEnterTime; // 0x540 + int32_t m_nNumHeroesPicked; // 0x544 }; // Alignment: 7 @@ -5040,6 +5080,7 @@ private: public: CUtlVector< sSharedCooldownInfo > m_SharedCooldownList; // 0x8 // MNetworkEnable + // MNetworkChangeCallback "OnInventoryChanged" CHandle< C_BaseEntity > m_hItems[19]; // 0x20 bool m_bItemQueried[19]; // 0x6c private: @@ -5103,16 +5144,16 @@ public: }; // Alignment: 3 -// Size: 0x540 +// Size: 0x550 class C_DOTA_ArcanaDataEntity : public C_BaseEntity { public: // MNetworkEnable - CDOTA_ArcanaDataEntity_DrowRanger* m_pArcanaData_CDOTA_ArcanaDataEntity_DrowRanger; // 0x528 + CDOTA_ArcanaDataEntity_DrowRanger* m_pArcanaData_CDOTA_ArcanaDataEntity_DrowRanger; // 0x538 // MNetworkEnable - CDOTA_ArcanaDataEntity_FacelessVoid* m_pArcanaData_CDOTA_ArcanaDataEntity_FacelessVoid; // 0x530 + CDOTA_ArcanaDataEntity_FacelessVoid* m_pArcanaData_CDOTA_ArcanaDataEntity_FacelessVoid; // 0x540 // MNetworkEnable - CDOTA_ArcanaDataEntity_Razor* m_pArcanaData_CDOTA_ArcanaDataEntity_Razor; // 0x538 + CDOTA_ArcanaDataEntity_Razor* m_pArcanaData_CDOTA_ArcanaDataEntity_Razor; // 0x548 }; // Alignment: 1 @@ -5213,89 +5254,89 @@ public: }; // Alignment: 28 -// Size: 0x18b0 +// Size: 0x18c0 class C_IngameEvent_Base : public C_BaseEntity { private: - [[maybe_unused]] uint8_t __pad0528[0x10]; // 0x528 + [[maybe_unused]] uint8_t __pad0538[0x10]; // 0x538 public: - bool m_bInitialized; // 0x538 + bool m_bInitialized; // 0x548 private: - [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 + [[maybe_unused]] uint8_t __pad0549[0x3]; // 0x549 public: // MNetworkEnable - int32_t m_CompendiumChallengeEventID[24]; // 0x53c + int32_t m_CompendiumChallengeEventID[24]; // 0x54c // MNetworkEnable - int32_t m_CompendiumChallengeSequenceID[24]; // 0x59c + int32_t m_CompendiumChallengeSequenceID[24]; // 0x5ac // MNetworkEnable - int32_t m_CompendiumChallengeCoinReward[24]; // 0x5fc + int32_t m_CompendiumChallengeCoinReward[24]; // 0x60c // MNetworkEnable - int32_t m_CompendiumChallengeCoinSplash[24]; // 0x65c + int32_t m_CompendiumChallengeCoinSplash[24]; // 0x66c // MNetworkEnable - int32_t m_CompendiumChallengePointReward[24]; // 0x6bc + int32_t m_CompendiumChallengePointReward[24]; // 0x6cc // MNetworkEnable // MNetworkChangeCallback "OnClientPlayerChallengeProgressChanged" - bool m_CompendiumChallengeCompleted[24]; // 0x71c + bool m_CompendiumChallengeCompleted[24]; // 0x72c // MNetworkEnable // MNetworkChangeCallback "OnClientPlayerChallengeProgressChanged" - bool m_CompendiumChallengeFailed[24]; // 0x734 + bool m_CompendiumChallengeFailed[24]; // 0x744 // MNetworkEnable // MNetworkChangeCallback "OnClientPlayerChallengeProgressChanged" - int32_t m_CompendiumChallengeProgress[24]; // 0x74c + int32_t m_CompendiumChallengeProgress[24]; // 0x75c // MNetworkEnable - int32_t m_QueryIDForProgress[24]; // 0x7ac + int32_t m_QueryIDForProgress[24]; // 0x7bc private: - [[maybe_unused]] uint8_t __pad080c[0x4]; // 0x80c + [[maybe_unused]] uint8_t __pad081c[0x4]; // 0x81c public: // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< CDOTASubChallengeInfo > m_SubChallenges; // 0x810 + C_UtlVectorEmbeddedNetworkVar< CDOTASubChallengeInfo > m_SubChallenges; // 0x820 // MNetworkEnable // MNetworkChangeCallback "OnWagerChanged" - int32_t m_CompendiumCoinWager[10]; // 0x860 + int32_t m_CompendiumCoinWager[10]; // 0x870 // MNetworkEnable // MNetworkChangeCallback "OnWagerChanged" - itemid_t m_CompendiumTokenWagerItemID[10]; // 0x888 + itemid_t m_CompendiumTokenWagerItemID[10]; // 0x898 // MNetworkEnable // MNetworkChangeCallback "OnWagerChanged" - int32_t m_CompendiumWagerTokenBonusPct[10]; // 0x8d8 + int32_t m_CompendiumWagerTokenBonusPct[10]; // 0x8e8 // MNetworkEnable - int32_t m_CompendiumCoinWagerResults[10]; // 0x900 + int32_t m_CompendiumCoinWagerResults[10]; // 0x910 // MNetworkEnable // MNetworkChangeCallback "OnWagerChanged" - int32_t m_CompendiumRankWagers[10]; // 0x928 + int32_t m_CompendiumRankWagers[10]; // 0x938 // MNetworkEnable // MNetworkChangeCallback "OnWagerTimeChanged" - float m_flWagerTimer; // 0x950 + float m_flWagerTimer; // 0x960 // MNetworkEnable - GameTime_t m_flWagerEndTime; // 0x954 + GameTime_t m_flWagerEndTime; // 0x964 // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< CDOTA_PlayerChallengeInfo > m_CompendiumChallengeInfo; // 0x958 + C_UtlVectorEmbeddedNetworkVar< CDOTA_PlayerChallengeInfo > m_CompendiumChallengeInfo; // 0x968 // MNetworkEnable // MNetworkTypeAlias "DOTA_CombatLogQueryProgress" - C_UtlVectorEmbeddedNetworkVar< C_DOTA_CombatLogQueryProgress > m_PlayerQueryIDs; // 0x1418 + C_UtlVectorEmbeddedNetworkVar< C_DOTA_CombatLogQueryProgress > m_PlayerQueryIDs; // 0x1428 // MNetworkEnable // MNetworkChangeCallback "OnClientPlayerChallengeProgressChanged" - int32_t m_ProgressForQueryID[100]; // 0x1468 + int32_t m_ProgressForQueryID[100]; // 0x1478 // MNetworkEnable - int32_t m_GoalForQueryID[100]; // 0x15f8 + int32_t m_GoalForQueryID[100]; // 0x1608 // MNetworkEnable - int32_t m_PlayerQuestRankPreviouslyCompleted[10]; // 0x1788 + int32_t m_PlayerQuestRankPreviouslyCompleted[10]; // 0x1798 // MNetworkEnable // MNetworkChangeCallback "OnClientPlayerQuestRankChanged" - int32_t m_PlayerQuestRankCompleted[10]; // 0x17b0 + int32_t m_PlayerQuestRankCompleted[10]; // 0x17c0 // MNetworkEnable - PlayerID_t m_PlayerBountyTarget[10]; // 0x17d8 + PlayerID_t m_PlayerBountyTarget[10]; // 0x17e8 // MNetworkEnable - GameTime_t m_flPlayerBountyTimestamp[10]; // 0x1800 + GameTime_t m_flPlayerBountyTimestamp[10]; // 0x1810 // MNetworkEnable - int32_t m_PlayerBountyCount[10]; // 0x1828 + int32_t m_PlayerBountyCount[10]; // 0x1838 // MNetworkEnable // MNetworkChangeCallback "OnPlayerBountyTimestampChanged" - int32_t m_PlayerBountyTimestamp_Obsolete[24]; // 0x1850 + int32_t m_PlayerBountyTimestamp_Obsolete[24]; // 0x1860 }; // Alignment: 0 -// Size: 0x18b0 +// Size: 0x18c0 class C_IngameEvent_FM2015 : public C_IngameEvent_Base { public: @@ -5303,7 +5344,7 @@ public: }; // Alignment: 0 -// Size: 0x18b0 +// Size: 0x18c0 class C_IngameEvent_WM2016 : public C_IngameEvent_Base { public: @@ -5311,7 +5352,7 @@ public: }; // Alignment: 0 -// Size: 0x18b0 +// Size: 0x18c0 class C_IngameEvent_TI6 : public C_IngameEvent_Base { public: @@ -5319,7 +5360,7 @@ public: }; // Alignment: 0 -// Size: 0x18b0 +// Size: 0x18c0 class C_IngameEvent_FM2016 : public C_IngameEvent_Base { public: @@ -5327,7 +5368,7 @@ public: }; // Alignment: 0 -// Size: 0x18b0 +// Size: 0x18c0 class C_IngameEvent_WM2017 : public C_IngameEvent_Base { public: @@ -5335,7 +5376,7 @@ public: }; // Alignment: 0 -// Size: 0x18b0 +// Size: 0x18c0 class C_IngameEvent_TI7 : public C_IngameEvent_Base { public: @@ -5343,7 +5384,7 @@ public: }; // Alignment: 0 -// Size: 0x18b0 +// Size: 0x18c0 class C_IngameEvent_TI8 : public C_IngameEvent_Base { public: @@ -5351,7 +5392,7 @@ public: }; // Alignment: 0 -// Size: 0x18b0 +// Size: 0x18c0 class C_IngameEvent_DotaPlus : public C_IngameEvent_Base { public: @@ -5359,7 +5400,7 @@ public: }; // Alignment: 0 -// Size: 0x18b0 +// Size: 0x18c0 class C_IngameEvent_DotaPrime : public C_IngameEvent_Base { public: @@ -5367,7 +5408,7 @@ public: }; // Alignment: 0 -// Size: 0x18b0 +// Size: 0x18c0 class C_IngameEvent_FV2018 : public C_IngameEvent_Base { public: @@ -5375,7 +5416,7 @@ public: }; // Alignment: 0 -// Size: 0x18b0 +// Size: 0x18c0 class CIngameEvent_NewBloom2019 : public C_IngameEvent_Base { public: @@ -5383,7 +5424,7 @@ public: }; // Alignment: 0 -// Size: 0x18b0 +// Size: 0x18c0 class C_IngameEvent_TI9 : public C_IngameEvent_Base { public: @@ -5391,7 +5432,7 @@ public: }; // Alignment: 0 -// Size: 0x18b0 +// Size: 0x18c0 class C_IngameEvent_FV2019 : public C_IngameEvent_Base { public: @@ -5399,7 +5440,7 @@ public: }; // Alignment: 0 -// Size: 0x18b0 +// Size: 0x18c0 class C_IngameEvent_NB2020 : public C_IngameEvent_Base { public: @@ -5407,7 +5448,7 @@ public: }; // Alignment: 0 -// Size: 0x18b0 +// Size: 0x18c0 class CIngameEvent_TI2020 : public C_IngameEvent_Base { public: @@ -5415,7 +5456,7 @@ public: }; // Alignment: 0 -// Size: 0x18b0 +// Size: 0x18c0 class CIngameEvent_Diretide2020 : public C_IngameEvent_Base { public: @@ -5423,7 +5464,7 @@ public: }; // Alignment: 0 -// Size: 0x18b0 +// Size: 0x18c0 class CIngameEvent_Spring2021 : public C_IngameEvent_Base { public: @@ -5431,7 +5472,7 @@ public: }; // Alignment: 0 -// Size: 0x18b0 +// Size: 0x18c0 class CIngameEvent_Fall2021 : public C_IngameEvent_Base { public: @@ -5439,37 +5480,45 @@ public: }; // Alignment: 0 -// Size: 0x18b0 +// Size: 0x18c0 class CIngameEvent_TI2022 : public C_IngameEvent_Base { public: // No members available }; +// Alignment: 0 +// Size: 0x18c0 +class CIngameEvent_10thAnniversary : public C_IngameEvent_Base +{ +public: + // No members available +}; + // Alignment: 5 -// Size: 0x18f8 +// Size: 0x1908 class CIngameEvent_MuertaReleaseSpring2023 : public C_IngameEvent_Base { public: // MNetworkEnable // MNetworkChangeCallback "OnMuertaReleaseEventMiniGameActiveChanged" - bool m_bMiniGameActive; // 0x18b0 + bool m_bMiniGameActive; // 0x18c0 // MNetworkEnable // MNetworkChangeCallback "OnMuertaReleaseEventTargetAssignmentsChanged" - int8_t m_vecTargetAssignments[10]; // 0x18b1 + int8_t m_vecTargetAssignments[10]; // 0x18c1 // MNetworkEnable // MNetworkChangeCallback "OnMuertaReleaseEventMiniGamePointsChanged" - uint8_t m_vecMiniGamePoints[10]; // 0x18bb + uint8_t m_vecMiniGamePoints[10]; // 0x18cb // MNetworkEnable - uint8_t m_vecMiniGameKills[10]; // 0x18c5 + uint8_t m_vecMiniGameKills[10]; // 0x18d5 private: - [[maybe_unused]] uint8_t __pad18cf[0x11]; // 0x18cf + [[maybe_unused]] uint8_t __pad18df[0x11]; // 0x18df public: - CUtlVector< ParticleIndex_t > m_activeGravestones; // 0x18e0 + CUtlVector< ParticleIndex_t > m_activeGravestones; // 0x18f0 }; // Alignment: 7 -// Size: 0x278 +// Size: 0x290 class CDOTA_ModifierManager { private: @@ -5478,17 +5527,14 @@ public: // MNetworkEnable CHandle< C_BaseEntity > m_hModifierParent; // 0x8 private: - [[maybe_unused]] uint8_t __pad000c[0x256]; // 0xc + [[maybe_unused]] uint8_t __pad000c[0x270]; // 0xc public: - uint16_t m_nHasTruesightForTeam; // 0x262 - uint16_t m_nHasTruesightForTeamValid; // 0x264 - uint16_t m_nProvidesFOWPositionForTeam; // 0x266 - uint16_t m_nProvidesFOWPositionForTeamValid; // 0x268 -private: - [[maybe_unused]] uint8_t __pad026a[0x2]; // 0x26a -public: - int32_t m_iBuffIndex; // 0x26c - int32_t m_iLockRefCount; // 0x270 + uint16_t m_nHasTruesightForTeam; // 0x27c + uint16_t m_nHasTruesightForTeamValid; // 0x27e + uint16_t m_nProvidesFOWPositionForTeam; // 0x280 + uint16_t m_nProvidesFOWPositionForTeamValid; // 0x282 + int32_t m_iBuffIndex; // 0x284 + int32_t m_iLockRefCount; // 0x288 }; // Alignment: 0 @@ -5512,7 +5558,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Buff_Item : public CDOTA_Buff { public: @@ -5520,7 +5566,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Stacking_Base : public CDOTA_Buff { public: @@ -5528,7 +5574,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Stacking_Multiple_Buff_Base : public CDOTA_Buff { public: @@ -5536,7 +5582,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Glyph_Reset : public CDOTA_Buff { public: @@ -5544,16 +5590,16 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_SetScaleset : public CDOTA_Buff { public: - CUtlString m_Scaleset; // 0x11e8 - bool m_bActive; // 0x11f0 + CUtlString m_Scaleset; // 0x12b8 + bool m_bActive; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_StackedNeutral : public CDOTA_Buff { public: @@ -5561,31 +5607,31 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Filler_LastDitch : public CDOTA_Buff { public: - float melee_number; // 0x11e8 - float ranged_number; // 0x11ec - float siege_number; // 0x11f0 - int32_t lane; // 0x11f4 + float melee_number; // 0x12b8 + float ranged_number; // 0x12bc + float siege_number; // 0x12c0 + int32_t lane; // 0x12c4 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_FillerThinker : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > hCasterList; // 0x11e8 - bool bStarted; // 0x1200 + CUtlVector< CHandle< C_BaseEntity > > hCasterList; // 0x12b8 + bool bStarted; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t nCount; // 0x1204 + int32_t nCount; // 0x12d4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Filler_Buff_Icon : public CDOTA_Buff { public: @@ -5593,38 +5639,38 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Filler_Heal_Aura : public CDOTA_Buff_Item { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Filler_Heal : public CDOTA_Buff { public: - int32_t hp_heal; // 0x11e8 - int32_t mp_heal; // 0x11ec - int32_t hp_heal_growth; // 0x11f0 - float mp_heal_growth; // 0x11f4 - int32_t hp_heal_pct; // 0x11f8 - int32_t mp_heal_pct; // 0x11fc - int32_t tota_hp_per_second; // 0x1200 - int32_t tota_mp_per_second; // 0x1204 + int32_t hp_heal; // 0x12b8 + int32_t mp_heal; // 0x12bc + int32_t hp_heal_growth; // 0x12c0 + float mp_heal_growth; // 0x12c4 + int32_t hp_heal_pct; // 0x12c8 + int32_t mp_heal_pct; // 0x12cc + int32_t tota_hp_per_second; // 0x12d0 + int32_t tota_mp_per_second; // 0x12d4 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_FountainInvulnerabilityBuff : public CDOTA_Buff { public: - Vector m_vecPosition; // 0x11e8 + Vector m_vecPosition; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Building_DispelsSmoke : public CDOTA_Buff { public: @@ -5632,15 +5678,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Truesight_Aura : public CDOTA_Buff { public: - int32_t m_nAuraRadius; // 0x11e8 + int32_t m_nAuraRadius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tower_Truesight_Aura : public CDOTA_Modifier_Truesight_Aura { public: @@ -5648,7 +5694,7 @@ public: }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Fountain_Truesight_Aura : public CDOTA_Modifier_Truesight_Aura { public: @@ -5656,65 +5702,65 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Tower_Aura : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 - bool m_bOverrideArmor; // 0x11ec + int32_t bonus_armor; // 0x12b8 + bool m_bOverrideArmor; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - float hp_regen; // 0x11f0 - bool m_bOverrideRegen; // 0x11f4 + float hp_regen; // 0x12c0 + bool m_bOverrideRegen; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - int32_t m_nRadius; // 0x11f8 + int32_t m_nRadius; // 0x12c8 }; // Alignment: 5 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Tower_Aura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 - float hp_regen; // 0x11ec - bool m_bOverrideArmor; // 0x11f0 - bool m_bOverrideRegen; // 0x11f1 - bool m_bSentFirstRefresh; // 0x11f2 + int32_t bonus_armor; // 0x12b8 + float hp_regen; // 0x12bc + bool m_bOverrideArmor; // 0x12c0 + bool m_bOverrideRegen; // 0x12c1 + bool m_bSentFirstRefresh; // 0x12c2 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tower_Armor_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ScoutVisible : public CDOTA_Buff { public: - int32_t reveal_radius; // 0x11e8 + int32_t reveal_radius; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_ScoutBonuses : public CDOTA_Buff { public: - int32_t reveal_radius; // 0x11e8 - float increase_health; // 0x11ec - int32_t max_health; // 0x11f0 - float increase_armor; // 0x11f4 - float max_armor; // 0x11f8 + int32_t reveal_radius; // 0x12b8 + float increase_health; // 0x12bc + int32_t max_health; // 0x12c0 + float increase_armor; // 0x12c4 + float max_armor; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BackdoorProtection : public CDOTA_Buff { public: @@ -5722,7 +5768,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BackdoorProtectionInBase : public CDOTA_Modifier_BackdoorProtection { public: @@ -5730,7 +5776,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BackdoorProtectionActive : public CDOTA_Buff { public: @@ -5738,7 +5784,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_ProjectileVision : public CDOTA_Buff { public: @@ -5746,7 +5792,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_ProjectileVisionOnMinimap : public CDOTA_Modifier_ProjectileVision { public: @@ -5754,7 +5800,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pet : public CDOTA_Buff { public: @@ -5762,16 +5808,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_HeroStatue : public CDOTA_Buff { public: - uint32_t m_unStatusEffectIndex; // 0x11e8 - CHandle< C_BaseEntity > m_hPedestal; // 0x11ec + uint32_t m_unStatusEffectIndex; // 0x12b8 + CHandle< C_BaseEntity > m_hPedestal; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_HeroStatuePedestal : public CDOTA_Buff { public: @@ -5779,7 +5825,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BattleCupEffigy : public CDOTA_Buff { public: @@ -5787,7 +5833,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Hidden_NoDamage : public CDOTA_Buff { public: @@ -5795,7 +5841,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tutorial_Disable_Healing : public CDOTA_Buff { public: @@ -5803,33 +5849,33 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tutorial_SpeechBubble : public CDOTA_Buff { public: - bool m_bFacePlayer; // 0x11e8 + bool m_bFacePlayer; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tutorial_ForceAnimation : public CDOTA_Buff { public: - int32_t m_nActivity; // 0x11e8 - bool m_bLoop; // 0x11ec - bool m_bFacePlayer; // 0x11ed + int32_t m_nActivity; // 0x12b8 + bool m_bLoop; // 0x12bc + bool m_bFacePlayer; // 0x12bd }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tutorial_HideNPC : public CDOTA_Buff { public: - bool m_bRemoveOnDeath; // 0x11e8 + bool m_bRemoveOnDeath; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tutorial_LowAttackPriority : public CDOTA_Buff { public: @@ -5837,15 +5883,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tutorial_LastHittable : public CDOTA_Buff { public: - bool m_bIsFriend; // 0x11e8 + bool m_bIsFriend; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Creep_Slow : public CDOTA_Buff { public: @@ -5853,7 +5899,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Creep_Haste : public CDOTA_Buff { public: @@ -5861,7 +5907,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Buyback_Gold_Penalty : public CDOTA_Buff { public: @@ -5869,7 +5915,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Provide_Vision : public CDOTA_Buff { public: @@ -5877,18 +5923,18 @@ public: }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_ScriptedMotionController : public CDOTA_Buff { public: - HSCRIPT m_hHorizontalControlFunction; // 0x11e8 - HSCRIPT m_hVerticalControlFunction; // 0x11f0 - HSCRIPT m_hOnDestroyFunction; // 0x11f8 - CVariantBase< CVariantDefaultAllocator > m_parameterTable; // 0x1200 + HSCRIPT m_hHorizontalControlFunction; // 0x12b8 + HSCRIPT m_hVerticalControlFunction; // 0x12c0 + HSCRIPT m_hOnDestroyFunction; // 0x12c8 + CVariantBase< CVariantDefaultAllocator > m_parameterTable; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_VR_Modifier_Statue_Mode : public CDOTA_Buff { public: @@ -5896,7 +5942,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Generic_Hidden : public CDOTA_Buff { public: @@ -5904,7 +5950,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Disable_Healing : public CDOTA_Buff { public: @@ -5912,7 +5958,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BaseBlocker_Thinker : public CDOTA_Buff { public: @@ -5920,15 +5966,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BaseBlocker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BaseBlocker_Effect : public CDOTA_Buff { public: @@ -5936,20 +5982,20 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Rune_Shield : public CDOTA_Buff { public: - int32_t damage_absorb; // 0x11e8 - bool m_bStartedTimer; // 0x11ec + int32_t damage_absorb; // 0x12b8 + bool m_bStartedTimer; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - int32_t m_nDamageAbsorbed; // 0x11f0 + int32_t m_nDamageAbsorbed; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bonus_Armor : public CDOTA_Buff { public: @@ -5957,7 +6003,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bonus_Mres : public CDOTA_Buff { public: @@ -5965,7 +6011,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bonus_Damage : public CDOTA_Buff { public: @@ -5973,7 +6019,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_HP_Regen : public CDOTA_Buff { public: @@ -5981,7 +6027,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MP_Regen : public CDOTA_Buff { public: @@ -5989,7 +6035,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MagicImmune : public CDOTA_Buff { public: @@ -5997,7 +6043,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DebuffImmune : public CDOTA_Buff { public: @@ -6005,7 +6051,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_CameraFollow : public CDOTA_Buff { public: @@ -6013,7 +6059,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Hexed : public CDOTA_Buff { public: @@ -6021,7 +6067,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Editor : public CDOTA_Buff { public: @@ -6029,7 +6075,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Prosperous_Soul : public CDOTA_Buff { public: @@ -6037,23 +6083,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MoveSpeed_Percentage : public CDOTA_Buff { public: - int32_t movespeed; // 0x11e8 + int32_t movespeed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Kill : public CDOTA_Buff { public: - bool m_bHideOnKill; // 0x11e8 + bool m_bHideOnKill; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Phased : public CDOTA_Buff { public: @@ -6061,7 +6107,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Dominated : public CDOTA_Buff { public: @@ -6069,7 +6115,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TrueSight : public CDOTA_Buff { public: @@ -6077,7 +6123,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TrueSightFoW : public CDOTA_Buff { public: @@ -6085,7 +6131,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TrueSightAll : public CDOTA_Buff { public: @@ -6093,7 +6139,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Stunned : public CDOTA_Buff { public: @@ -6101,7 +6147,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bashed : public CDOTA_Modifier_Stunned { public: @@ -6109,7 +6155,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Taunt : public CDOTA_Buff { public: @@ -6117,30 +6163,30 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_PersistentInvisibility : public CDOTA_Buff { public: - float fade_delay; // 0x11e8 - float m_flFadeTime; // 0x11ec - GameTime_t m_flLastActionTime; // 0x11f0 + float fade_delay; // 0x12b8 + float m_flFadeTime; // 0x12bc + GameTime_t m_flLastActionTime; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Invisible : public CDOTA_Buff { public: - bool m_bSubtle; // 0x11e8 + bool m_bSubtle; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - GameTime_t m_flFadeTime; // 0x11ec - float m_flFadeTimeValue; // 0x11f0 + GameTime_t m_flFadeTime; // 0x12bc + float m_flFadeTimeValue; // 0x12c0 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_InvisibleTrueSightImmune : public CDOTA_Modifier_Invisible { public: @@ -6148,7 +6194,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Followthrough : public CDOTA_Buff { public: @@ -6156,7 +6202,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Silence : public CDOTA_Buff { public: @@ -6164,7 +6210,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Fear : public CDOTA_Buff { public: @@ -6172,7 +6218,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Invulnerable : public CDOTA_Buff { public: @@ -6180,7 +6226,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AttackImmune : public CDOTA_Buff { public: @@ -6188,7 +6234,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Disarmed : public CDOTA_Buff { public: @@ -6196,7 +6242,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Break : public CDOTA_Buff { public: @@ -6204,7 +6250,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Muted : public CDOTA_Buff { public: @@ -6212,7 +6258,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rooted : public CDOTA_Buff { public: @@ -6220,7 +6266,15 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 +class CDOTA_Modifier_RootedUndispellable : public CDOTA_Modifier_Rooted +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12b8 class CDOTA_Modifier_NoHealthBar : public CDOTA_Buff { public: @@ -6228,7 +6282,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_NotOnMinimap : public CDOTA_Buff { public: @@ -6236,7 +6290,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aura : public CDOTA_Buff { public: @@ -6244,7 +6298,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_FountainAura : public CDOTA_Buff { public: @@ -6252,30 +6306,31 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_FountainAuraBuff : public CDOTA_Buff { public: // No members available }; -// Alignment: 8 -// Size: 0x1248 +// Alignment: 9 +// Size: 0x1320 class CDOTA_Modifier_Illusion : public CDOTA_Buff { public: - int32_t outgoing_damage; // 0x11e8 - int32_t outgoing_damage_structure; // 0x11ec - int32_t outgoing_damage_roshan; // 0x11f0 - int32_t incoming_damage; // 0x11f4 - int32_t bounty_base; // 0x11f8 - int32_t bounty_growth; // 0x11fc - CUtlString m_strIllusionType; // 0x1200 - char m_szIllusionLabel[64]; // 0x1208 + int32_t outgoing_damage; // 0x12b8 + int32_t outgoing_damage_structure; // 0x12bc + int32_t outgoing_damage_roshan; // 0x12c0 + int32_t incoming_damage; // 0x12c4 + int32_t bounty_base; // 0x12c8 + int32_t bounty_growth; // 0x12cc + CUtlString m_strIllusionType; // 0x12d0 + char m_szIllusionLabel[64]; // 0x12d8 + bool m_bHidden; // 0x1318 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rune_DoubleDamage : public CDOTA_Buff { public: @@ -6283,15 +6338,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rune_ExtraDamage : public CDOTA_Modifier_Rune_DoubleDamage { public: - int32_t m_iAdditionalDamagePct; // 0x11e8 + int32_t m_iAdditionalDamagePct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rune_Illusion : public CDOTA_Buff { public: @@ -6299,7 +6354,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rune_Haste : public CDOTA_Buff { public: @@ -6307,7 +6362,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rune_FlyingHaste : public CDOTA_Modifier_Rune_Haste { public: @@ -6315,7 +6370,7 @@ public: }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Rune_Invisibility : public CDOTA_Modifier_Invisible { public: @@ -6323,7 +6378,7 @@ public: }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Rune_Super_Invisibility : public CDOTA_Modifier_PersistentInvisibility { public: @@ -6331,7 +6386,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rune_Regen : public CDOTA_Buff { public: @@ -6339,7 +6394,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rune_SuperRegen : public CDOTA_Modifier_Rune_Regen { public: @@ -6347,16 +6402,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rune_Arcane : public CDOTA_Buff { public: - int32_t m_iCooldownReductionPct; // 0x11e8 - int32_t m_iCostReductionPct; // 0x11ec + int32_t m_iCooldownReductionPct; // 0x12b8 + int32_t m_iCostReductionPct; // 0x12bc }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rune_SuperArcane : public CDOTA_Modifier_Rune_Arcane { public: @@ -6364,17 +6419,17 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Teleporting : public CDOTA_Buff { public: - float m_fChannelTime; // 0x11e8 - Vector m_vStart; // 0x11ec - Vector m_vEnd; // 0x11f8 + float m_fChannelTime; // 0x12b8 + Vector m_vStart; // 0x12bc + Vector m_vEnd; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Teleporting_Root_Logic : public CDOTA_Buff { public: @@ -6382,49 +6437,49 @@ public: }; // Alignment: 10 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Knockback : public CDOTA_Buff { public: - float knockback_distance; // 0x11e8 - int32_t knockback_height; // 0x11ec - float knockback_duration; // 0x11f0 - Vector m_vHorizOffset; // 0x11f4 - Vector m_vStartPosition; // 0x1200 - float m_fCurrentTimeHoriz; // 0x120c - float m_fCurrentTimeVert; // 0x1210 - bool m_bShouldStun; // 0x1214 - bool m_bRespectLeash; // 0x1215 - bool m_bReversePolarity; // 0x1216 + float knockback_distance; // 0x12b8 + int32_t knockback_height; // 0x12bc + float knockback_duration; // 0x12c0 + Vector m_vHorizOffset; // 0x12c4 + Vector m_vStartPosition; // 0x12d0 + float m_fCurrentTimeHoriz; // 0x12dc + float m_fCurrentTimeVert; // 0x12e0 + bool m_bShouldStun; // 0x12e4 + bool m_bRespectLeash; // 0x12e5 + bool m_bReversePolarity; // 0x12e6 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Cyclone : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x11e8 + GameTime_t m_flStartTime; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_IceSlide : public CDOTA_Buff { public: - GameTime_t m_fLastUpdateTime; // 0x11e8 - Vector m_vVelocity; // 0x11ec + GameTime_t m_fLastUpdateTime; // 0x12b8 + Vector m_vVelocity; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tutorial_LastHitHelper : public CDOTA_Buff { public: - bool m_bTargetFriendlies; // 0x11e8 + bool m_bTargetFriendlies; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TeamShowcase_Global : public CDOTA_Buff { public: @@ -6432,7 +6487,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TeamShowcase_Showcase : public CDOTA_Buff { public: @@ -6440,12 +6495,12 @@ public: }; // Alignment: 2 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_HallOfFame_Glow : public CDOTA_Buff { public: - CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs; // 0x11e8 - CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs2; // 0x1200 + CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs; // 0x12b8 + CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs2; // 0x12d0 // 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);}; @@ -6453,7 +6508,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DisableTauntAnimationCancel : public CDOTA_Buff { public: @@ -6461,7 +6516,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_PreventTaunts : public CDOTA_Buff { public: @@ -6469,15 +6524,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Activity_Modifier : public CDOTA_Buff { public: - CUtlSymbolLarge m_activityModifier; // 0x11e8 + CUtlSymbolLarge m_activityModifier; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_SecondaryUnit_Taunt : public CDOTA_Buff { public: @@ -6485,24 +6540,24 @@ public: }; // Alignment: 7 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_BouncePerch : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTree; // 0x11e8 - bool m_bGroundToTree; // 0x11ec - bool m_bTreeToGround; // 0x11ed - bool m_bTreeToTree; // 0x11ee + CHandle< C_BaseEntity > m_hTree; // 0x12b8 + bool m_bGroundToTree; // 0x12bc + bool m_bTreeToGround; // 0x12bd + bool m_bTreeToTree; // 0x12be private: - [[maybe_unused]] uint8_t __pad11ef[0x1]; // 0x11ef + [[maybe_unused]] uint8_t __pad12bf[0x1]; // 0x12bf public: - float perched_day_vision; // 0x11f0 - float perched_night_vision; // 0x11f4 - bool m_bAbilityIsStolen; // 0x11f8 + float perched_day_vision; // 0x12c0 + float perched_night_vision; // 0x12c4 + bool m_bAbilityIsStolen; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BookOfStrength : public CDOTA_Buff { public: @@ -6510,7 +6565,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BookOfAgility : public CDOTA_Buff { public: @@ -6518,7 +6573,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BookOfIntelligence : public CDOTA_Buff { public: @@ -6526,7 +6581,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_No_Invisibility : public CDOTA_Buff { public: @@ -6534,15 +6589,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hide_On_Minimap : public CDOTA_Buff { public: - bool m_bEnemiesOnly; // 0x11e8 + bool m_bEnemiesOnly; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_ChangeTreeModel_Thinker : public CDOTA_Buff { public: @@ -6550,7 +6605,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_LegacyChargeCounter : public CDOTA_Buff { public: @@ -6558,131 +6613,131 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FixedNumberOfHitsToKill : public CDOTA_Buff { public: - int32_t creep_attack_divisor; // 0x11e8 - int32_t attack_count; // 0x11ec + int32_t creep_attack_divisor; // 0x12b8 + int32_t attack_count; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_NPXBuff : public CDOTA_Buff { public: - int32_t m_nCurReduction; // 0x11e8 + int32_t m_nCurReduction; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Muerta_PartingShot_PhysicalBodyDebuff : public CDOTA_Modifier_Stunned { public: - CHandle< C_BaseEntity > m_hSoulEntityClient; // 0x11e8 - int32_t damage_reduction_percent; // 0x11ec + CHandle< C_BaseEntity > m_hSoulEntityClient; // 0x12b8 + int32_t damage_reduction_percent; // 0x12bc }; // Alignment: 63 -// Size: 0x3590 +// Size: 0x3800 class CDOTA_Modifier_DataDriven : public CDOTA_Buff { public: - AbilityID_t m_nAbilityID; // 0x11e8 - int32_t m_nIndexInAbility; // 0x11ec - bool m_bIsHidden; // 0x11f0 - bool m_bIsDebuff; // 0x11f1 - bool m_bIsPurgable; // 0x11f2 - bool m_bIsStunDebuff; // 0x11f3 - bool m_bAllowIllusionDuplicate; // 0x11f4 - bool m_bRemoveOnDeath; // 0x11f5 + AbilityID_t m_nAbilityID; // 0x12b8 + int32_t m_nIndexInAbility; // 0x12bc + bool m_bIsHidden; // 0x12c0 + bool m_bIsDebuff; // 0x12c1 + bool m_bIsPurgable; // 0x12c2 + bool m_bIsStunDebuff; // 0x12c3 + bool m_bAllowIllusionDuplicate; // 0x12c4 + bool m_bRemoveOnDeath; // 0x12c5 private: - [[maybe_unused]] uint8_t __pad11f6[0x2]; // 0x11f6 + [[maybe_unused]] uint8_t __pad12c6[0x2]; // 0x12c6 public: - char* m_pszAuraModifier; // 0x11f8 - int32_t m_nAuraModifierIndex; // 0x1200 - int32_t m_nAuraRadius; // 0x1204 - int32_t m_nAuraSearchTeam; // 0x1208 - int32_t m_nAuraSearchType; // 0x120c - int32_t m_nAuraSearchFlags; // 0x1210 - bool m_bAuraApplyToCaster; // 0x1214 - bool m_bAuraApplyToParent; // 0x1215 + char* m_pszAuraModifier; // 0x12c8 + int32_t m_nAuraModifierIndex; // 0x12d0 + int32_t m_nAuraRadius; // 0x12d4 + int32_t m_nAuraSearchTeam; // 0x12d8 + int32_t m_nAuraSearchType; // 0x12dc + int32_t m_nAuraSearchFlags; // 0x12e0 + bool m_bAuraApplyToCaster; // 0x12e4 + bool m_bAuraApplyToParent; // 0x12e5 private: - [[maybe_unused]] uint8_t __pad1216[0x2]; // 0x1216 + [[maybe_unused]] uint8_t __pad12e6[0x2]; // 0x12e6 public: - int32_t m_nAttributes; // 0x1218 + int32_t m_nAttributes; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - char* m_pszEffectName; // 0x1220 - int32_t m_nEffectAttachType; // 0x1228 - int32_t m_nPriority; // 0x122c - char* m_pszStatusEffectName; // 0x1230 - int32_t m_nStatusEffectPriority; // 0x1238 - int32_t m_nOverrideAnimation; // 0x123c - int32_t m_nOrbPriority; // 0x1240 - int32_t m_nOrbLabel; // 0x1244 - bool m_bOrbIsCastAttack; // 0x1248 + char* m_pszEffectName; // 0x12f0 + int32_t m_nEffectAttachType; // 0x12f8 + int32_t m_nPriority; // 0x12fc + char* m_pszStatusEffectName; // 0x1300 + int32_t m_nStatusEffectPriority; // 0x1308 + int32_t m_nOverrideAnimation; // 0x130c + int32_t m_nOrbPriority; // 0x1310 + int32_t m_nOrbLabel; // 0x1314 + bool m_bOrbIsCastAttack; // 0x1318 private: - [[maybe_unused]] uint8_t __pad1249[0x3]; // 0x1249 + [[maybe_unused]] uint8_t __pad1319[0x3]; // 0x1319 public: - float m_flThinkInterval; // 0x124c - bool m_bNeedsReParseIfRefreshed; // 0x1250 + float m_flThinkInterval; // 0x131c + bool m_bNeedsReParseIfRefreshed; // 0x1320 private: - [[maybe_unused]] uint8_t __pad1251[0x7]; // 0x1251 + [[maybe_unused]] uint8_t __pad1321[0x7]; // 0x1321 public: - char* m_pszModelName; // 0x1258 - char* m_pszOrbProjectileName; // 0x1260 + char* m_pszModelName; // 0x1328 + char* m_pszOrbProjectileName; // 0x1330 private: - [[maybe_unused]] uint8_t __pad1268[0x2220]; // 0x1268 + [[maybe_unused]] uint8_t __pad1338[0x23c0]; // 0x1338 public: - uint64_t m_nModifierStatesEnabled; // 0x3488 - uint64_t m_nModifierStatesDisabled; // 0x3490 - KeyValues* m_pOnCreated; // 0x3498 - KeyValues* m_pOnIntervalThink; // 0x34a0 - KeyValues* m_pOnDestroy; // 0x34a8 - KeyValues* m_pOnAttackStart; // 0x34b0 - KeyValues* m_pOnAttack; // 0x34b8 - KeyValues* m_pOnAttackLanded; // 0x34c0 - KeyValues* m_pOnAttackFailed; // 0x34c8 - KeyValues* m_pOnAttackAllied; // 0x34d0 - KeyValues* m_pOnProjectileDodge; // 0x34d8 - KeyValues* m_pOnOrder; // 0x34e0 - KeyValues* m_pOnUnitMoved; // 0x34e8 - KeyValues* m_pOnAbilityStart; // 0x34f0 - KeyValues* m_pOnAbilityExecuted; // 0x34f8 - KeyValues* m_pOnBreakInvisibility; // 0x3500 - KeyValues* m_pOnAbilityEndChannel; // 0x3508 - KeyValues* m_pOnTakeDamage; // 0x3510 - KeyValues* m_pOnDealDamage; // 0x3518 - KeyValues* m_pOnStateChanged; // 0x3520 - KeyValues* m_pOnAttacked; // 0x3528 - KeyValues* m_pOnDeath; // 0x3530 - KeyValues* m_pOnKill; // 0x3538 - KeyValues* m_pOnRespawn; // 0x3540 - KeyValues* m_pOnSpentMana; // 0x3548 - KeyValues* m_pOnTeleporting; // 0x3550 - KeyValues* m_pOnTeleported; // 0x3558 - KeyValues* m_pOnHealthGained; // 0x3560 - KeyValues* m_pOnManaGained; // 0x3568 - KeyValues* m_pOnHeroKilled; // 0x3570 - KeyValues* m_pOnHealReceived; // 0x3578 - KeyValues* m_pOnAttackFinished; // 0x3580 - KeyValues* m_pOnAttackCancelled; // 0x3588 + uint64_t m_nModifierStatesEnabled; // 0x36f8 + uint64_t m_nModifierStatesDisabled; // 0x3700 + KeyValues* m_pOnCreated; // 0x3708 + KeyValues* m_pOnIntervalThink; // 0x3710 + KeyValues* m_pOnDestroy; // 0x3718 + KeyValues* m_pOnAttackStart; // 0x3720 + KeyValues* m_pOnAttack; // 0x3728 + KeyValues* m_pOnAttackLanded; // 0x3730 + KeyValues* m_pOnAttackFailed; // 0x3738 + KeyValues* m_pOnAttackAllied; // 0x3740 + KeyValues* m_pOnProjectileDodge; // 0x3748 + KeyValues* m_pOnOrder; // 0x3750 + KeyValues* m_pOnUnitMoved; // 0x3758 + KeyValues* m_pOnAbilityStart; // 0x3760 + KeyValues* m_pOnAbilityExecuted; // 0x3768 + KeyValues* m_pOnBreakInvisibility; // 0x3770 + KeyValues* m_pOnAbilityEndChannel; // 0x3778 + KeyValues* m_pOnTakeDamage; // 0x3780 + KeyValues* m_pOnDealDamage; // 0x3788 + KeyValues* m_pOnStateChanged; // 0x3790 + KeyValues* m_pOnAttacked; // 0x3798 + KeyValues* m_pOnDeath; // 0x37a0 + KeyValues* m_pOnKill; // 0x37a8 + KeyValues* m_pOnRespawn; // 0x37b0 + KeyValues* m_pOnSpentMana; // 0x37b8 + KeyValues* m_pOnTeleporting; // 0x37c0 + KeyValues* m_pOnTeleported; // 0x37c8 + KeyValues* m_pOnHealthGained; // 0x37d0 + KeyValues* m_pOnManaGained; // 0x37d8 + KeyValues* m_pOnHeroKilled; // 0x37e0 + KeyValues* m_pOnHealReceived; // 0x37e8 + KeyValues* m_pOnAttackFinished; // 0x37f0 + KeyValues* m_pOnAttackCancelled; // 0x37f8 }; // Alignment: 1 -// Size: 0x12d8 +// Size: 0x13a8 class CDOTA_Modifier_Lua : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0xe8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0xe8]; // 0x12b8 public: - bool m_bHasCustomTransmitterData; // 0x12d0 + bool m_bHasCustomTransmitterData; // 0x13a0 }; // Alignment: 0 -// Size: 0x12d8 +// Size: 0x13a8 class CDOTA_Modifier_Lua_Horizontal_Motion : public CDOTA_Modifier_Lua { public: @@ -6690,7 +6745,7 @@ public: }; // Alignment: 0 -// Size: 0x12d8 +// Size: 0x13a8 class CDOTA_Modifier_Lua_Vertical_Motion : public CDOTA_Modifier_Lua { public: @@ -6698,7 +6753,7 @@ public: }; // Alignment: 0 -// Size: 0x12d8 +// Size: 0x13a8 class CDOTA_Modifier_Lua_Motion_Both : public CDOTA_Modifier_Lua { public: @@ -6706,120 +6761,120 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Disruptor_Thunder_Strike : public CDOTA_Buff { public: - float strike_interval; // 0x11e8 - int32_t radius; // 0x11ec - int32_t strike_damage; // 0x11f0 + float strike_interval; // 0x12b8 + int32_t radius; // 0x12bc + int32_t strike_damage; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Disruptor_Thunder_Strike_On_Attack : public CDOTA_Buff { public: - int32_t strike_chance; // 0x11e8 + int32_t strike_chance; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Disruptor_Thunder_Strike_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x11e8 + int32_t slow_amount; // 0x12b8 }; // Alignment: 1 -// Size: 0x1258 +// Size: 0x1328 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse : public CDOTA_Buff { public: - Vector m_PositionIndex[9]; // 0x11e8 + Vector m_PositionIndex[9]; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Attack_Buff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x11e8 - CHandle< C_BaseEntity > m_hEntity; // 0x11f4 + Vector m_vStartLoc; // 0x12b8 + CHandle< C_BaseEntity > m_hEntity; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Travel_Damage : public CDOTA_Buff { public: - float damage; // 0x11e8 - int32_t max_ticks; // 0x11ec + float damage; // 0x12b8 + int32_t max_ticks; // 0x12bc }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Disruptor_KineticFieldThinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float formation_time; // 0x11ec - bool m_bActive; // 0x11f0 + int32_t radius; // 0x12b8 + float formation_time; // 0x12bc + bool m_bActive; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0xb]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0xb]; // 0x12c1 public: - int32_t m_nFXIndex; // 0x11fc + int32_t m_nFXIndex; // 0x12cc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Disruptor_KineticField : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - Vector m_vOriginLoc; // 0x11ec - bool m_bCanBeAffected; // 0x11f8 - bool m_bTruesight; // 0x11f9 + int32_t radius; // 0x12b8 + Vector m_vOriginLoc; // 0x12bc + bool m_bCanBeAffected; // 0x12c8 + bool m_bTruesight; // 0x12c9 private: - [[maybe_unused]] uint8_t __pad11fa[0x2]; // 0x11fa + [[maybe_unused]] uint8_t __pad12ca[0x2]; // 0x12ca public: - int32_t intellect_bonus; // 0x11fc + int32_t intellect_bonus; // 0x12cc }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStormThinker : public CDOTA_Buff { public: - int32_t m_nCurrentPulse; // 0x11e8 - int32_t radius; // 0x11ec - int32_t damage_max; // 0x11f0 - int32_t pulses; // 0x11f4 - float duration; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc + int32_t m_nCurrentPulse; // 0x12b8 + int32_t radius; // 0x12bc + int32_t damage_max; // 0x12c0 + int32_t pulses; // 0x12c4 + float duration; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStorm : public CDOTA_Buff { public: - int32_t miss_rate; // 0x11e8 - int32_t movement_speed_reduction; // 0x11ec - int32_t attack_speed_reduction; // 0x11f0 - bool m_bHasScepter; // 0x11f4 + int32_t miss_rate; // 0x12b8 + int32_t movement_speed_reduction; // 0x12bc + int32_t attack_speed_reduction; // 0x12c0 + bool m_bHasScepter; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStormMute : public CDOTA_Buff { public: @@ -6827,24 +6882,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStorm_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x11e8 - int32_t move_slow_pct; // 0x11ec + int32_t damage_reduction_pct; // 0x12b8 + int32_t move_slow_pct; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Disruptor_ThunderStrike_Int_Increase : public CDOTA_Buff { public: - int32_t int_increase_amount; // 0x11e8 + int32_t int_increase_amount; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Special_Disruptor_ThunderStrike_Int_Increase_Counter : public CDOTA_Buff { public: @@ -6852,7 +6907,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Magnataur_Horn_Toss : public CDOTA_Buff { public: @@ -6860,7 +6915,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Magnataur_Horn_Toss_Slow : public CDOTA_Buff { public: @@ -6868,86 +6923,86 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Magnataur_Shockwave_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x11e8 + int32_t damage_reduction_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Magnataur_Shockwave : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Magnataur_Shockwave_Pull : public CDOTA_Buff { public: - Vector m_vDirection; // 0x11e8 - float m_flEndTime; // 0x11f4 - float m_flCurTime; // 0x11f8 - float pull_duration; // 0x11fc - float effective_distance; // 0x1200 + Vector m_vDirection; // 0x12b8 + float m_flEndTime; // 0x12c4 + float m_flCurTime; // 0x12c8 + float pull_duration; // 0x12cc + float effective_distance; // 0x12d0 }; // Alignment: 10 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Magnataur_Empower : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x11e8 - float cleave_damage_pct; // 0x11ec - int32_t cleave_starting_width; // 0x11f0 - int32_t cleave_ending_width; // 0x11f4 - int32_t cleave_distance; // 0x11f8 - float splash_damage_pct; // 0x11fc - int32_t splash_radius; // 0x1200 - float self_multiplier; // 0x1204 - int32_t lifesteal_pct; // 0x1208 - GameTime_t m_fLastShockwaveProcTime; // 0x120c + int32_t bonus_damage_pct; // 0x12b8 + float cleave_damage_pct; // 0x12bc + int32_t cleave_starting_width; // 0x12c0 + int32_t cleave_ending_width; // 0x12c4 + int32_t cleave_distance; // 0x12c8 + float splash_damage_pct; // 0x12cc + int32_t splash_radius; // 0x12d0 + float self_multiplier; // 0x12d4 + int32_t lifesteal_pct; // 0x12d8 + GameTime_t m_fLastShockwaveProcTime; // 0x12dc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t m_nProjectileID; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Impact : public CDOTA_Buff { public: - float slow_duration; // 0x11e8 - int32_t skewer_damage; // 0x11ec + float slow_duration; // 0x12b8 + int32_t skewer_damage; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Slow : public CDOTA_Buff { public: - int32_t slow_pct; // 0x11e8 + int32_t slow_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Magnataur_Skewer_Bonus_Strength : public CDOTA_Buff { public: - int32_t strength_gain; // 0x11e8 + int32_t strength_gain; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity : public CDOTA_Buff { public: @@ -6955,7 +7010,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity_Stun : public CDOTA_Modifier_Stunned { public: @@ -6963,16 +7018,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity_Steroid : public CDOTA_Buff { public: - int32_t move_speed_percent; // 0x11e8 - int32_t attack_speed; // 0x11ec + int32_t move_speed_percent; // 0x12b8 + int32_t attack_speed; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_Magnataur_Reverse_Polarity_Polarity_Dummy : public CDOTA_Buff { public: @@ -6980,86 +7035,86 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_StiflingDagger_Caster : public CDOTA_Buff { public: - int32_t base_damage; // 0x11e8 - int32_t attack_factor; // 0x11ec + int32_t base_damage; // 0x12b8 + int32_t attack_factor; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_StiflingDagger : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_On_Attack : public CDOTA_Buff { public: - int32_t strike_chance; // 0x11e8 + int32_t strike_chance; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_AutoDagger : public CDOTA_Buff { public: - float fire_rate; // 0x11e8 - int32_t radius; // 0x11ec + float fire_rate; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_PhantomStrike : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_evasion; // 0x11ec + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_evasion; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_PhantomStrike_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x11e8 + int32_t damage_reduction_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_Blur : public CDOTA_Buff { public: - int32_t bonus_evasion; // 0x11e8 + int32_t bonus_evasion; // 0x12b8 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_PhantomAssassin_BlurActive : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x11f8 - float fade_duration; // 0x11fc - bool m_bDestroyNext; // 0x1200 + int32_t radius; // 0x12c8 + float fade_duration; // 0x12cc + bool m_bDestroyNext; // 0x12d0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PhantomAssassin_CoupdeGrace : public CDOTA_Buff { public: - int32_t crit_bonus; // 0x11e8 - int32_t crit_chance; // 0x11ec - bool crit_active; // 0x11f0 + int32_t crit_bonus; // 0x12b8 + int32_t crit_chance; // 0x12bc + bool crit_active; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_PhantomAssassin_MarkedForDeath : public CDOTA_Buff { public: @@ -7067,155 +7122,155 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_PhantomAssassin_CoupDeGrace_BloodyDebuff : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 + int32_t damage_reduction; // 0x12b8 }; // Alignment: 3 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_Splitshot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x11e8 - int32_t split_shot_bonus_range; // 0x11ec - int32_t arrow_count; // 0x11f0 + int32_t damage_modifier; // 0x12b8 + int32_t split_shot_bonus_range; // 0x12bc + int32_t arrow_count; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_DoubleAttack : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - int32_t m_iAttacksRemaining; // 0x11ec + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + int32_t m_iAttacksRemaining; // 0x12bc }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Frost_Attack : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Flight : public CDOTA_Buff { public: - float attack_point; // 0x11e8 - int32_t attack_range_bonus; // 0x11ec - int32_t projectile_speed_bonus; // 0x11f0 - int32_t night_vision_bonus; // 0x11f4 - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11f8 + float attack_point; // 0x12b8 + int32_t attack_range_bonus; // 0x12bc + int32_t projectile_speed_bonus; // 0x12c0 + int32_t night_vision_bonus; // 0x12c4 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Slow : public CDOTA_Buff { public: - float damage_per_second; // 0x11e8 - int32_t move_slow; // 0x11ec + float damage_per_second; // 0x12b8 + int32_t move_slow; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Splinter_Blast_Slow : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x11e8 + int32_t bonus_movespeed; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x11e8 - Vector vPullLocation; // 0x11ec + float pull_speed; // 0x12b8 + Vector vPullLocation; // 0x12bc }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Cold_Embrace : public CDOTA_Buff { public: - int32_t m_nOriginalAttackCapability; // 0x11e8 + int32_t m_nOriginalAttackCapability; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x8]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x8]; // 0x12bc public: - bool m_bDidBlast; // 0x11f4 + bool m_bDidBlast; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - int32_t heal_additive; // 0x11f8 - float heal_percentage; // 0x11fc + int32_t heal_additive; // 0x12c8 + float heal_percentage; // 0x12cc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Magic_Damage_Block : public CDOTA_Buff { public: - int32_t barrier_amount; // 0x11e8 - int32_t barrier_block; // 0x11ec - int32_t m_nMaxMovementSpeed; // 0x11f0 + int32_t barrier_amount; // 0x12b8 + int32_t barrier_block; // 0x12bc + int32_t m_nMaxMovementSpeed; // 0x12c0 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse_Kill_Credit : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse_Aura : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - int32_t m_nAlliesTaunted; // 0x11ec - bool m_bRelicTriggered; // 0x11f0 + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + int32_t m_nAlliesTaunted; // 0x12bc + bool m_bRelicTriggered; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - int32_t radius; // 0x11f4 - int32_t damage_amplification; // 0x11f8 - int32_t damage_reduction; // 0x11fc + int32_t radius; // 0x12c4 + int32_t damage_amplification; // 0x12c8 + int32_t damage_reduction; // 0x12cc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hZombieTarget; // 0x11e8 - CHandle< C_BaseEntity > m_hDesiredTarget; // 0x11ec - int32_t damage_reduction; // 0x11f0 - int32_t bonus_attack_speed; // 0x11f4 + CHandle< C_BaseEntity > m_hZombieTarget; // 0x12b8 + CHandle< C_BaseEntity > m_hDesiredTarget; // 0x12bc + int32_t damage_reduction; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Snapfire_Scatterblast_Slow : public CDOTA_Buff { public: - bool m_bIsPointBlank; // 0x11e8 + bool m_bIsPointBlank; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t movement_slow_pct; // 0x11ec - int32_t attack_slow_pct; // 0x11f0 + int32_t movement_slow_pct; // 0x12bc + int32_t attack_slow_pct; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Snapfire_Scatterblast_Disarm : public CDOTA_Buff { public: @@ -7223,17 +7278,17 @@ public: }; // Alignment: 3 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_PreHop : public CDOTA_Buff { public: - float jump_duration; // 0x11e8 - bool m_bMovesHorizontal; // 0x11ec - bool m_bSecondaryCookie; // 0x11ed + float jump_duration; // 0x12b8 + bool m_bMovesHorizontal; // 0x12bc + bool m_bSecondaryCookie; // 0x12bd }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_ShortHop : public CDOTA_Buff { public: @@ -7241,7 +7296,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_AllyFlailAnim : public CDOTA_Buff { public: @@ -7249,7 +7304,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_LandingGesture : public CDOTA_Buff { public: @@ -7257,84 +7312,84 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Snapfire_FiresnapCookie_AlliedBuff : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x11e8 - int32_t bonus_attack_damage; // 0x11ec + int32_t bonus_attack_range; // 0x12b8 + int32_t bonus_attack_damage; // 0x12bc }; // Alignment: 11 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Buff : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 - int32_t m_nIsActive; // 0x1208 - bool m_bHasAttackTalent; // 0x120c + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + int32_t m_nIsActive; // 0x12d8 + bool m_bHasAttackTalent; // 0x12dc private: - [[maybe_unused]] uint8_t __pad120d[0x3]; // 0x120d + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - int32_t attack_range_bonus; // 0x1210 - int32_t buffed_attacks; // 0x1214 - float base_attack_time; // 0x1218 - int32_t attack_speed_bonus; // 0x121c - float armor_duration; // 0x1220 - int32_t damage; // 0x1224 - int32_t bounce_range; // 0x1228 - int32_t bounces; // 0x122c + int32_t attack_range_bonus; // 0x12e0 + int32_t buffed_attacks; // 0x12e4 + float base_attack_time; // 0x12e8 + int32_t attack_speed_bonus; // 0x12ec + float armor_duration; // 0x12f0 + int32_t damage; // 0x12f4 + int32_t bounce_range; // 0x12f8 + int32_t bounces; // 0x12fc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Attack : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 + int32_t damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Debuff : public CDOTA_Buff { public: - float armor_reduction_per_attack; // 0x11e8 + float armor_reduction_per_attack; // 0x12b8 }; // Alignment: 16 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Snapfire_MortimerKisses : public CDOTA_Buff { public: - float m_fIntervalPerRocket; // 0x11e8 - float m_flFacingTarget; // 0x11ec - ParticleIndex_t m_nBeamFXIndex; // 0x11f0 - CHandle< C_BaseEntity > m_hBeamEnd; // 0x11f4 - float m_flCurDistance; // 0x11f8 - Vector m_vAimTarget; // 0x11fc - float m_fLastTurnAmount; // 0x1208 - int32_t m_nProjectilesLaunched; // 0x120c - bool m_bDestroyOnNextThink; // 0x1210 + float m_fIntervalPerRocket; // 0x12b8 + float m_flFacingTarget; // 0x12bc + ParticleIndex_t m_nBeamFXIndex; // 0x12c0 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x12c4 + float m_flCurDistance; // 0x12c8 + Vector m_vAimTarget; // 0x12cc + float m_fLastTurnAmount; // 0x12d8 + int32_t m_nProjectilesLaunched; // 0x12dc + bool m_bDestroyOnNextThink; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t m_nProjectilesToLaunch; // 0x1214 - bool m_bHasProjectileTalent; // 0x1218 + int32_t m_nProjectilesToLaunch; // 0x12e4 + bool m_bHasProjectileTalent; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - int32_t projectile_count; // 0x121c - int32_t projectile_vision; // 0x1220 - float turn_rate; // 0x1224 - int32_t min_range; // 0x1228 - float delay_after_last_projectile; // 0x122c + int32_t projectile_count; // 0x12ec + int32_t projectile_vision; // 0x12f0 + float turn_rate; // 0x12f4 + int32_t min_range; // 0x12f8 + float delay_after_last_projectile; // 0x12fc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Snapfire_MortimerKisses_VisionSource : public CDOTA_Buff { public: @@ -7342,31 +7397,31 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Snapfire_Magma_Thinker : public CDOTA_Buff { public: - float burn_interval; // 0x11e8 - int32_t impact_radius; // 0x11ec - int32_t move_slow_pct; // 0x11f0 - float burn_linger_duration; // 0x11f4 - ParticleIndex_t m_nPathEffectIndex; // 0x11f8 + float burn_interval; // 0x12b8 + int32_t impact_radius; // 0x12bc + int32_t move_slow_pct; // 0x12c0 + float burn_linger_duration; // 0x12c4 + ParticleIndex_t m_nPathEffectIndex; // 0x12c8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Snapfire_Magma_Burn_Slow : public CDOTA_Buff { public: - int32_t m_nMoveSlowPct; // 0x11e8 - float m_fBurnDamagePerTick; // 0x11ec - int32_t move_slow_pct; // 0x11f0 - float burn_interval; // 0x11f4 - int32_t burn_damage; // 0x11f8 + int32_t m_nMoveSlowPct; // 0x12b8 + float m_fBurnDamagePerTick; // 0x12bc + int32_t move_slow_pct; // 0x12c0 + float burn_interval; // 0x12c4 + int32_t burn_damage; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Snapfire_GobbleUp_Creep : public CDOTA_Buff { public: @@ -7374,62 +7429,62 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Snapfire_GobbleUp_BellyHasUnit : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hGobbledUnit; // 0x11e8 - float max_time_in_belly; // 0x11ec + CHandle< C_BaseEntity > m_hGobbledUnit; // 0x12b8 + float max_time_in_belly; // 0x12bc }; // Alignment: 11 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Snapfire_SpitCreep_ArcingUnit : public CDOTA_Buff { public: - int32_t min_range; // 0x11e8 - float min_lob_travel_time; // 0x11ec - float max_lob_travel_time; // 0x11f0 - int32_t impact_radius; // 0x11f4 - int32_t projectile_vision; // 0x11f8 - float stun_duration; // 0x11fc - int32_t impact_damage; // 0x1200 - float min_height_above_lowest; // 0x1204 - float min_height_above_highest; // 0x1208 - float min_acceleration; // 0x120c - float max_acceleration; // 0x1210 + int32_t min_range; // 0x12b8 + float min_lob_travel_time; // 0x12bc + float max_lob_travel_time; // 0x12c0 + int32_t impact_radius; // 0x12c4 + int32_t projectile_vision; // 0x12c8 + float stun_duration; // 0x12cc + int32_t impact_damage; // 0x12d0 + float min_height_above_lowest; // 0x12d4 + float min_height_above_highest; // 0x12d8 + float min_acceleration; // 0x12dc + float max_acceleration; // 0x12e0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Snapfire_MortimerKisses_Autoattack : public CDOTA_Buff { public: - float fire_rate; // 0x11e8 - int32_t radius; // 0x11ec + float fire_rate; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Snapfire_MortimerKisses_Incoming_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 + int32_t damage_reduction; // 0x12b8 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Tusk_IceShard : public CDOTA_Buff { public: - Vector m_vPos; // 0x11e8 - int32_t radius; // 0x11f4 - float damage; // 0x11f8 - float explosion_interval; // 0x11fc + Vector m_vPos; // 0x12b8 + int32_t radius; // 0x12c4 + float damage; // 0x12c8 + float explosion_interval; // 0x12cc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Target : public CDOTA_Buff { public: @@ -7437,7 +7492,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Visible : public CDOTA_Buff { public: @@ -7445,7 +7500,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Movement : public CDOTA_Buff { public: @@ -7453,7 +7508,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Movement_Friendly : public CDOTA_Buff { public: @@ -7461,78 +7516,78 @@ public: }; // Alignment: 9 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch : public CDOTA_Buff { public: - int32_t crit_multiplier; // 0x11e8 - float air_time; // 0x11ec - float slow_duration; // 0x11f0 + int32_t crit_multiplier; // 0x12b8 + float air_time; // 0x12bc + float slow_duration; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11f8 - CHandle< C_BaseEntity > m_hTarget; // 0x1200 - bool m_bWalrusPunch; // 0x1204 - bool m_bPunchKill; // 0x1205 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12c8 + CHandle< C_BaseEntity > m_hTarget; // 0x12d0 + bool m_bWalrusPunch; // 0x12d4 + bool m_bPunchKill; // 0x12d5 private: - [[maybe_unused]] uint8_t __pad1206[0x2]; // 0x1206 + [[maybe_unused]] uint8_t __pad12d6[0x2]; // 0x12d6 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 - ParticleIndex_t m_nFXIndex; // 0x1220 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12f0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x11e8 + int32_t hp_threshold; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - float slow_duration; // 0x11ec + int32_t bonus_damage; // 0x12b8 + float slow_duration; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_SpellLifesteal : public CDOTA_Buff { public: - float spell_lifesteal_pct; // 0x11e8 + float spell_lifesteal_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_Tusk_Ice_Shards_Explode_Dummy : public CDOTA_Buff { public: @@ -7540,28 +7595,28 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ursa_Fury_Swipes : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x11e8 - float bonus_reset_time; // 0x11ec - float bonus_reset_time_roshan; // 0x11f0 - int32_t max_swipe_stack; // 0x11f4 + int32_t damage_per_stack; // 0x12b8 + float bonus_reset_time; // 0x12bc + float bonus_reset_time_roshan; // 0x12c0 + int32_t max_swipe_stack; // 0x12c4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ursa_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x11e8 - int32_t m_nArmorReductionPerStack; // 0x11ec - int32_t m_nLifestealPerStack; // 0x11f0 + int32_t damage_per_stack; // 0x12b8 + int32_t m_nArmorReductionPerStack; // 0x12bc + int32_t m_nLifestealPerStack; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_Move : public CDOTA_Buff { public: @@ -7569,40 +7624,40 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Ursa_Overpower : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x11e8 - int32_t m_nEarthshockAttacks; // 0x11ec + int32_t attack_speed_bonus_pct; // 0x12b8 + int32_t m_nEarthshockAttacks; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Ursa_Earthshock : public CDOTA_Buff { public: - int32_t m_nMissChance; // 0x11e8 - bool m_bAddOverpower; // 0x11ec + int32_t m_nMissChance; // 0x12b8 + bool m_bAddOverpower; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - float m_flOverpowerDuration; // 0x11f0 - int32_t m_nNumOverpowerAttacks; // 0x11f4 - int32_t movement_slow; // 0x11f8 + float m_flOverpowerDuration; // 0x12c0 + int32_t m_nNumOverpowerAttacks; // 0x12c4 + int32_t movement_slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_DeepInvis : public CDOTA_Modifier_Invisible { public: - CHandle< C_BaseEntity > m_hVisibleEntity; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc + CHandle< C_BaseEntity > m_hVisibleEntity; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_DeepInvis_Visual : public CDOTA_Buff { public: @@ -7610,81 +7665,81 @@ public: }; // Alignment: 1 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_Special_Ursa_Earthshock_Knockback : public CDOTA_Modifier_Knockback { public: - float value3; // 0x1218 + float value3; // 0x12e8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Ursa_Overpower_Evasion : public CDOTA_Buff { public: - int32_t value2; // 0x11e8 + int32_t value2; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Ursa_Overpower_Taunt : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hZombieTarget; // 0x11e8 - bool m_bDidSetAttackTarget; // 0x11ec + CHandle< C_BaseEntity > m_hZombieTarget; // 0x12b8 + bool m_bDidSetAttackTarget; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Ursa_Overpower_Taunt_Armor : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Ursa_Enrage : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 - int32_t status_resistance; // 0x11ec + int32_t damage_reduction; // 0x12b8 + int32_t status_resistance; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Ursa_Enrage_Magic_Immunity : public CDOTA_Modifier_MagicImmune { public: - int32_t m_nModelScale; // 0x11e8 + int32_t m_nModelScale; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ursa_Enrage_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x11e8 + Vector m_vOriginal; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Ursa_Enrage_Armor : public CDOTA_Buff { public: - int32_t value2; // 0x11e8 + int32_t value2; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Ursa_Enrage_AttackSpeed : public CDOTA_Buff { public: - int32_t value2; // 0x11e8 + int32_t value2; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Mars_Spear_Impale : public CDOTA_Buff { public: @@ -7692,7 +7747,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Mars_Spear_Stun : public CDOTA_Modifier_Stunned { public: @@ -7700,26 +7755,26 @@ public: }; // Alignment: 4 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Thinker : public CDOTA_Buff { public: - float radius; // 0x11e8 - float formation_time; // 0x11ec - float m_flInitialZ; // 0x11f0 - float m_flFinalZ; // 0x11f4 + float radius; // 0x12b8 + float formation_time; // 0x12bc + float m_flInitialZ; // 0x12c0 + float m_flFinalZ; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_AnimationAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Animation : public CDOTA_Buff { public: @@ -7727,42 +7782,42 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_BuffAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Buff : public CDOTA_Buff { public: - int32_t health_regen; // 0x11e8 - int32_t attack_speed; // 0x11ec - int32_t bonus_damage; // 0x11f0 + int32_t health_regen; // 0x12b8 + int32_t attack_speed; // 0x12bc + int32_t bonus_damage; // 0x12c0 }; // Alignment: 7 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t width; // 0x11ec - int32_t spear_damage; // 0x11f0 - int32_t spear_distance_from_wall; // 0x11f4 - float spear_attack_interval; // 0x11f8 + int32_t radius; // 0x12b8 + int32_t width; // 0x12bc + int32_t spear_damage; // 0x12c0 + int32_t spear_distance_from_wall; // 0x12c4 + float spear_attack_interval; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x1c]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x1c]; // 0x12cc public: - float warrior_fade_min_dist; // 0x1218 - float warrior_fade_max_dist; // 0x121c + float warrior_fade_min_dist; // 0x12e8 + float warrior_fade_max_dist; // 0x12ec }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Spear : public CDOTA_Modifier_Knockback { public: @@ -7770,25 +7825,25 @@ public: }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x11e8 + Vector m_vOriginal; // 0x12b8 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Leash : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float width; // 0x11ec - Vector m_vOriginLoc; // 0x11f0 + int32_t radius; // 0x12b8 + float width; // 0x12bc + Vector m_vOriginLoc; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Marker : public CDOTA_Buff { public: @@ -7796,237 +7851,237 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Mars_Gods_Rebuke : public CDOTA_Buff { public: - int32_t knockback_slow; // 0x11e8 + int32_t knockback_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Mars_GodsRebuke_Crit : public CDOTA_Buff { public: - int32_t crit_mult; // 0x11e8 -}; - -// Alignment: 4 -// Size: 0x11f8 -class CDOTA_Modifier_Aghsfort_Mars_Bulwark : public CDOTA_Buff -{ -public: - float physical_damage_reduction; // 0x11e8 - float physical_damage_reduction_side; // 0x11ec - float forward_angle; // 0x11f0 - float side_angle; // 0x11f4 -}; - -// Alignment: 12 -// Size: 0x1220 -class CDOTA_Modifier_Aghsfort_Mars_Bulwark_Active : public CDOTA_Buff -{ -public: - int32_t redirect_chance; // 0x11e8 - int32_t redirect_range; // 0x11ec - float forward_angle; // 0x11f0 - float side_angle; // 0x11f4 - int32_t redirect_speed_penatly; // 0x11f8 - int32_t m_nPoseParameterWE; // 0x11fc - int32_t m_nPoseParameterNS; // 0x1200 - float m_flLastPoseX; // 0x1204 - float m_flLastPoseY; // 0x1208 - int32_t m_nLastMaxDirection; // 0x120c - Vector m_vLastOrigin; // 0x1210 - GameTime_t m_flLastGameTime; // 0x121c -}; - -// Alignment: 4 -// Size: 0x1200 -class CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Thinker : public CDOTA_Buff -{ -public: - Vector m_vPathDir; // 0x11e8 - int32_t path_radius; // 0x11f4 - float linger_duration; // 0x11f8 - float flDamage; // 0x11fc -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Burn : public CDOTA_Buff -{ -public: - float flDamage; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_AghsFort_Mars_Gods_Rebuke_Strength_Buff : public CDOTA_Buff -{ -public: - int32_t strength_gain; // 0x11e8 -}; - -// Alignment: 4 -// Size: 0x11f8 -class CDOTA_Modifier_Aghsfort_Special_Mars_Bulwark_Spears : public CDOTA_Buff -{ -public: - int32_t stack_limit; // 0x11e8 - float stack_interval; // 0x11ec - ParticleIndex_t m_nFxIndexB; // 0x11f0 - int32_t iCur_stack; // 0x11f4 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Aghsfort_Mars_Bulwark_Soldier_Bonus : public CDOTA_Buff -{ -public: - int32_t bonus_damage; // 0x11e8 -}; - -// Alignment: 6 -// Size: 0x1210 -class CDOTA_Modifier_Aghsfort_Weaver_Swarm : public CDOTA_Buff -{ -public: - int32_t m_iMaxDist; // 0x11e8 - int32_t m_iAttackCount; // 0x11ec - int32_t destroy_attacks; // 0x11f0 - Vector m_vDirection; // 0x11f4 - Vector m_vStartLoc; // 0x1200 - CHandle< C_BaseEntity > m_hAttachTarget; // 0x120c -}; - -// Alignment: 5 -// Size: 0x1200 -class CDOTA_Modifier_Aghsfort_Weaver_Swarm_Debuff : public CDOTA_Buff -{ -public: - float armor_reduction; // 0x11e8 - int32_t damage; // 0x11ec - int32_t damage_share_percentage; // 0x11f0 - float m_flCurrentArmorReduction; // 0x11f4 - float flTotalDamage; // 0x11f8 -}; - -// Alignment: 7 -// Size: 0x1238 -class CDOTA_Modifier_Aghsfort_Weaver_Shukuchi : public CDOTA_Modifier_Invisible -{ -public: - int32_t radius; // 0x11f8 - int32_t damage; // 0x11fc - int32_t speed; // 0x1200 -private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 -public: - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x1208 - bool bHasStartedBurning; // 0x1220 -private: - [[maybe_unused]] uint8_t __pad1221[0x3]; // 0x1221 -public: - int32_t m_nBurningTrailRadius; // 0x1224 - Vector m_vLastTrailThinkerLocation; // 0x1228 -}; - -// Alignment: 2 -// Size: 0x1260 -class CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack : public CDOTA_Buff -{ -public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - int32_t m_iAttacksRemaining; // 0x11ec -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack_Bonus : public CDOTA_Buff -{ -public: - int32_t bonus_damage; // 0x11e8 + int32_t crit_mult; // 0x12b8 }; // Alignment: 4 // Size: 0x12c8 -class CDOTA_Modifier_Aghsfort_Weaver_TimeLapse : public CDOTA_Buff +class CDOTA_Modifier_Aghsfort_Mars_Bulwark : public CDOTA_Buff { public: - Vector m_PositionIndex[11]; // 0x11e8 - float m_flLife[11]; // 0x126c - float m_flMana[11]; // 0x1298 - bool m_bHasValidHistory; // 0x12c4 + float physical_damage_reduction; // 0x12b8 + float physical_damage_reduction_side; // 0x12bc + float forward_angle; // 0x12c0 + float side_angle; // 0x12c4 +}; + +// Alignment: 12 +// Size: 0x12f0 +class CDOTA_Modifier_Aghsfort_Mars_Bulwark_Active : public CDOTA_Buff +{ +public: + int32_t redirect_chance; // 0x12b8 + int32_t redirect_range; // 0x12bc + float forward_angle; // 0x12c0 + float side_angle; // 0x12c4 + int32_t redirect_speed_penatly; // 0x12c8 + int32_t m_nPoseParameterWE; // 0x12cc + int32_t m_nPoseParameterNS; // 0x12d0 + float m_flLastPoseX; // 0x12d4 + float m_flLastPoseY; // 0x12d8 + int32_t m_nLastMaxDirection; // 0x12dc + Vector m_vLastOrigin; // 0x12e0 + GameTime_t m_flLastGameTime; // 0x12ec }; // Alignment: 4 -// Size: 0x1200 -class CDOTA_Modifier_Aghsfort_Special_Weaver_Shukuchi_Trail_Thinker : public CDOTA_Buff +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x11e8 - int32_t path_radius; // 0x11f4 - float linger_duration; // 0x11f8 - float flDamage; // 0x11fc + Vector m_vPathDir; // 0x12b8 + int32_t path_radius; // 0x12c4 + float linger_duration; // 0x12c8 + float flDamage; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Aghsfort_Special_Weaver_Shukuchi_Trail_Burn : public CDOTA_Buff +// Size: 0x12c0 +class CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x11e8 + float flDamage; // 0x12b8 }; -// Alignment: 2 -// Size: 0x1208 -class CDOTA_Modifier_Aghsfort_Viper_PoisonAttack : public CDOTA_Buff +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_AghsFort_Mars_Gods_Rebuke_Strength_Buff : public CDOTA_Buff { public: - float duration; // 0x11e8 -private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + int32_t strength_gain; // 0x12b8 +}; + +// Alignment: 4 +// Size: 0x12c8 +class CDOTA_Modifier_Aghsfort_Special_Mars_Bulwark_Spears : public CDOTA_Buff +{ public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + int32_t stack_limit; // 0x12b8 + float stack_interval; // 0x12bc + ParticleIndex_t m_nFxIndexB; // 0x12c0 + int32_t iCur_stack; // 0x12c4 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Aghsfort_Mars_Bulwark_Soldier_Bonus : public CDOTA_Buff +{ +public: + int32_t bonus_damage; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 -class CDOTA_Modifier_Aghsfort_Viper_PoisonAttack_Slow : public CDOTA_Buff +// Size: 0x12e0 +class CDOTA_Modifier_Aghsfort_Weaver_Swarm : public CDOTA_Buff { public: - float damage; // 0x11e8 - int32_t movement_speed; // 0x11ec - int32_t magic_resistance; // 0x11f0 - float m_flAccumDamage; // 0x11f4 - float m_flPoisonSnapCounter; // 0x11f8 - int32_t m_nPoisonSnapThreshold; // 0x11fc -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Aghsfort_Viper_Nethertoxin_Thinker : public CDOTA_Buff -{ -public: - int32_t radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t m_iMaxDist; // 0x12b8 + int32_t m_iAttackCount; // 0x12bc + int32_t destroy_attacks; // 0x12c0 + Vector m_vDirection; // 0x12c4 + Vector m_vStartLoc; // 0x12d0 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12dc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Weaver_Swarm_Debuff : public CDOTA_Buff +{ +public: + float armor_reduction; // 0x12b8 + int32_t damage; // 0x12bc + int32_t damage_share_percentage; // 0x12c0 + float m_flCurrentArmorReduction; // 0x12c4 + float flTotalDamage; // 0x12c8 +}; + +// Alignment: 7 +// Size: 0x1308 +class CDOTA_Modifier_Aghsfort_Weaver_Shukuchi : public CDOTA_Modifier_Invisible +{ +public: + int32_t radius; // 0x12c8 + int32_t damage; // 0x12cc + int32_t speed; // 0x12d0 +private: + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 +public: + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x12d8 + bool bHasStartedBurning; // 0x12f0 +private: + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 +public: + int32_t m_nBurningTrailRadius; // 0x12f4 + Vector m_vLastTrailThinkerLocation; // 0x12f8 +}; + +// Alignment: 2 +// Size: 0x1330 +class CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack : public CDOTA_Buff +{ +public: + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + int32_t m_iAttacksRemaining; // 0x12bc +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack_Bonus : public CDOTA_Buff +{ +public: + int32_t bonus_damage; // 0x12b8 +}; + +// Alignment: 4 +// Size: 0x1398 +class CDOTA_Modifier_Aghsfort_Weaver_TimeLapse : public CDOTA_Buff +{ +public: + Vector m_PositionIndex[11]; // 0x12b8 + float m_flLife[11]; // 0x133c + float m_flMana[11]; // 0x1368 + bool m_bHasValidHistory; // 0x1394 +}; + +// Alignment: 4 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Special_Weaver_Shukuchi_Trail_Thinker : public CDOTA_Buff +{ +public: + Vector m_vPathDir; // 0x12b8 + int32_t path_radius; // 0x12c4 + float linger_duration; // 0x12c8 + float flDamage; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Aghsfort_Special_Weaver_Shukuchi_Trail_Burn : public CDOTA_Buff +{ +public: + float flDamage; // 0x12b8 +}; + +// Alignment: 2 +// Size: 0x12d8 +class CDOTA_Modifier_Aghsfort_Viper_PoisonAttack : public CDOTA_Buff +{ +public: + float duration; // 0x12b8 +private: + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 +}; + +// Alignment: 6 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Viper_PoisonAttack_Slow : public CDOTA_Buff +{ +public: + float damage; // 0x12b8 + int32_t movement_speed; // 0x12bc + int32_t magic_resistance; // 0x12c0 + float m_flAccumDamage; // 0x12c4 + float m_flPoisonSnapCounter; // 0x12c8 + int32_t m_nPoisonSnapThreshold; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Aghsfort_Viper_Nethertoxin_Thinker : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc +}; + +// Alignment: 5 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Viper_Nethertoxin : public CDOTA_Buff { public: - int32_t min_damage; // 0x11e8 - int32_t max_damage; // 0x11ec - float max_duration; // 0x11f0 - float m_flDamageInterval; // 0x11f4 - float m_flTimeIncrement; // 0x11f8 + int32_t min_damage; // 0x12b8 + int32_t max_damage; // 0x12bc + float max_duration; // 0x12c0 + float m_flDamageInterval; // 0x12c4 + float m_flTimeIncrement; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Viper_NethertoxinMute : public CDOTA_Buff { public: @@ -8034,16 +8089,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Flying : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x11e8 - float duration; // 0x11ec + int32_t m_nRadius; // 0x12b8 + float duration; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Aura : public CDOTA_Buff { public: @@ -8051,58 +8106,58 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin : public CDOTA_Buff { public: - int32_t bonus_magic_resistance; // 0x11e8 + int32_t bonus_magic_resistance; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Speed_Steal : public CDOTA_Buff { public: - float m_flFactor; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec + float m_flFactor; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Slow : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t damage; // 0x11ec + int32_t bonus_attack_speed; // 0x12b8 + int32_t damage; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Viper_ViperStrike_Slow : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t damage; // 0x11f0 - bool m_bTargetedAlly; // 0x11f4 + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t damage; // 0x12c0 + bool m_bTargetedAlly; // 0x12c4 }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Special_Viper_Periodic_Strike : public CDOTA_Buff { public: - float fire_rate; // 0x11e8 - int32_t radius; // 0x11ec - int32_t m_nTargetTeam; // 0x11f0 + float fire_rate; // 0x12b8 + int32_t radius; // 0x12bc + int32_t m_nTargetTeam; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hAlreadyHit; // 0x11f8 + CUtlVector< CHandle< C_BaseEntity > > m_hAlreadyHit; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Passive : public CDOTA_Buff { public: @@ -8110,72 +8165,72 @@ public: }; // Alignment: 11 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_Unit : public CDOTA_Buff { public: - Vector m_vFacingDir; // 0x11e8 + Vector m_vFacingDir; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hWatchPathThinkers; // 0x11f8 - ParticleIndex_t m_nBeamFXIndex; // 0x1210 + CUtlVector< CHandle< C_BaseEntity > > m_hWatchPathThinkers; // 0x12c8 + ParticleIndex_t m_nBeamFXIndex; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< int32 > m_nViewerIDs; // 0x1218 - int32_t remnant_watch_distance; // 0x1230 - int32_t remnant_watch_radius; // 0x1234 - float duration; // 0x1238 - int32_t watch_path_vision_radius; // 0x123c - int32_t impact_damage; // 0x1240 - float pull_duration; // 0x1244 - float activation_delay; // 0x1248 + CUtlVector< int32 > m_nViewerIDs; // 0x12e8 + int32_t remnant_watch_distance; // 0x1300 + int32_t remnant_watch_radius; // 0x1304 + float duration; // 0x1308 + int32_t watch_path_vision_radius; // 0x130c + int32_t impact_damage; // 0x1310 + float pull_duration; // 0x1314 + float activation_delay; // 0x1318 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_WatchThinker : public CDOTA_Buff { public: - int32_t remnant_watch_radius; // 0x11e8 + int32_t remnant_watch_radius; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_Pull : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - PlayerID_t m_nPlayerID; // 0x11ec - float think_interval; // 0x11f0 + ParticleIndex_t m_nFXIndex; // 0x12b8 + PlayerID_t m_nPlayerID; // 0x12bc + float think_interval; // 0x12c0 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnantThinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - Vector m_vFacingDir; // 0x11ec - CHandle< C_BaseEntity > m_hRemnant; // 0x11f8 - bool m_bTriggered; // 0x11fc + int32_t radius; // 0x12b8 + Vector m_vFacingDir; // 0x12bc + CHandle< C_BaseEntity > m_hRemnant; // 0x12c8 + bool m_bTriggered; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float m_flCurThink; // 0x1200 + float m_flCurThink; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x11e8 + int32_t m_nRadius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -8183,57 +8238,57 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x11e8 - int32_t movement_slow_pct; // 0x11ec - int32_t pop_damage; // 0x11f0 + ParticleIndex_t m_nFXStackIndex; // 0x12b8 + int32_t movement_slow_pct; // 0x12bc + int32_t pop_damage; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Caster : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 19 -// Size: 0x1288 +// Size: 0x1358 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Phase : public CDOTA_Buff { public: - Vector m_vFirstPortalPos; // 0x11e8 + Vector m_vFirstPortalPos; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< Vector > m_vecDestinations; // 0x11f8 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x1210 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1228 - int32_t m_nCurrentDestinationIndex; // 0x1240 - int32_t m_nClosestIndexPosToClick; // 0x1244 - int32_t m_nPortalHeightOffset; // 0x1248 + CUtlVector< Vector > m_vecDestinations; // 0x12c8 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x12e0 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x12f8 + int32_t m_nCurrentDestinationIndex; // 0x1310 + int32_t m_nClosestIndexPosToClick; // 0x1314 + int32_t m_nPortalHeightOffset; // 0x1318 private: - [[maybe_unused]] uint8_t __pad124c[0x4]; // 0x124c + [[maybe_unused]] uint8_t __pad131c[0x4]; // 0x131c public: - char* m_szAlliesPortalFX; // 0x1250 - char* m_szEnemiesPortalFX; // 0x1258 - int32_t m_nPortalRadius; // 0x1260 - int32_t m_nPortalPadding; // 0x1264 - int32_t m_nFinalImpactDamageRadius; // 0x1268 - int32_t m_nFinalImpactFXRadius; // 0x126c - int32_t destination_fx_radius; // 0x1270 - int32_t damage_radius; // 0x1274 - int32_t portals_per_ring; // 0x1278 - int32_t angle_per_ring_portal; // 0x127c - int32_t first_ring_distance_offset; // 0x1280 - float debuff_duration; // 0x1284 + char* m_szAlliesPortalFX; // 0x1320 + char* m_szEnemiesPortalFX; // 0x1328 + int32_t m_nPortalRadius; // 0x1330 + int32_t m_nPortalPadding; // 0x1334 + int32_t m_nFinalImpactDamageRadius; // 0x1338 + int32_t m_nFinalImpactFXRadius; // 0x133c + int32_t destination_fx_radius; // 0x1340 + int32_t damage_radius; // 0x1344 + int32_t portals_per_ring; // 0x1348 + int32_t angle_per_ring_portal; // 0x134c + int32_t first_ring_distance_offset; // 0x1350 + float debuff_duration; // 0x1354 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: @@ -8241,43 +8296,43 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: - int32_t base_absorb_amount; // 0x11e8 - int32_t m_nAbsorbRemaining; // 0x11ec + int32_t base_absorb_amount; // 0x12b8 + int32_t m_nAbsorbRemaining; // 0x12bc }; // Alignment: 8 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_Ring : public CDOTA_Buff { public: - float m_fLastRadius; // 0x11e8 - float m_fCurRadius; // 0x11ec - GameTime_t m_fLastThink; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x11f8 - int32_t speed; // 0x1210 - int32_t radius; // 0x1214 - int32_t damage; // 0x1218 + float m_fLastRadius; // 0x12b8 + float m_fCurRadius; // 0x12bc + GameTime_t m_fLastThink; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12c8 + int32_t speed; // 0x12e0 + int32_t radius; // 0x12e4 + int32_t damage; // 0x12e8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float duration; // 0x11ec - float damage_delay; // 0x11f0 - int32_t m_nShrapnelPct; // 0x11f4 - bool m_bExploded; // 0x11f8 + int32_t radius; // 0x12b8 + float duration; // 0x12bc + float damage_delay; // 0x12c0 + int32_t m_nShrapnelPct; // 0x12c4 + bool m_bExploded; // 0x12c8 }; // Alignment: 0 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Thinker : public CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Thinker { public: @@ -8285,18 +8340,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Slow : public CDOTA_Buff { public: - float m_fAccumulatedDamage; // 0x11e8 - int32_t shrapnel_damage; // 0x11ec - int32_t slow_movement_speed; // 0x11f0 - int32_t miss_chance; // 0x11f4 + float m_fAccumulatedDamage; // 0x12b8 + int32_t shrapnel_damage; // 0x12bc + int32_t slow_movement_speed; // 0x12c0 + int32_t miss_chance; // 0x12c4 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Slow : public CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Slow { public: @@ -8304,17 +8359,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed : public CDOTA_Buff { public: - int32_t value; // 0x11e8 - float value2; // 0x11ec - int32_t m_nAttackSpeedBonus; // 0x11f0 + int32_t value; // 0x12b8 + float value2; // 0x12bc + int32_t m_nAttackSpeedBonus; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed_Decrementer : public CDOTA_Buff { public: @@ -8322,25 +8377,25 @@ public: }; // Alignment: 8 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_AghsFort_Sniper_Headshot : public CDOTA_Buff { public: - int32_t proc_chance; // 0x11e8 - float slow_duration; // 0x11ec - int32_t damage; // 0x11f0 - int32_t knockback_distance; // 0x11f4 - GameTime_t m_fLastStunProcTime; // 0x11f8 + int32_t proc_chance; // 0x12b8 + float slow_duration; // 0x12bc + int32_t damage; // 0x12c0 + int32_t knockback_distance; // 0x12c4 + GameTime_t m_fLastStunProcTime; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_vHeadshotRecords; // 0x1200 - CUtlVector< int16 > m_vHeadshotAssassinateRecords; // 0x1218 - int32_t m_nCritPct; // 0x1230 + CUtlVector< int16 > m_vHeadshotRecords; // 0x12d0 + CUtlVector< int16 > m_vHeadshotAssassinateRecords; // 0x12e8 + int32_t m_nCritPct; // 0x1300 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Sniper_Shotgun : public CDOTA_Buff { public: @@ -8348,57 +8403,57 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Sniper_Headshot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t slow_vs_considered_hero; // 0x11ec + int32_t slow; // 0x12b8 + int32_t slow_vs_considered_hero; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Sniper_TakeAim : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x11e8 - int32_t active_attack_range_multiplier; // 0x11ec + int32_t bonus_attack_range; // 0x12b8 + int32_t active_attack_range_multiplier; // 0x12bc }; // Alignment: 5 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_Bonus : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t m_nAttackSpeedPerAttack; // 0x11ec - int32_t m_nShrapnelPct; // 0x11f0 - bool m_bNoCollision; // 0x11f4 + int32_t slow; // 0x12b8 + int32_t m_nAttackSpeedPerAttack; // 0x12bc + int32_t m_nShrapnelPct; // 0x12c0 + bool m_bNoCollision; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - CUtlVector< CHandle< C_BaseEntity > > m_vecArtilleryEnemies; // 0x11f8 + CUtlVector< CHandle< C_BaseEntity > > m_vecArtilleryEnemies; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_ArmorReduction : public CDOTA_Buff { public: - int32_t value2; // 0x11e8 + int32_t value2; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_RapidFire : public CDOTA_Buff { public: - int32_t value2; // 0x11e8 - int32_t value3; // 0x11ec + int32_t value2; // 0x12b8 + int32_t value3; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_AOE_Marked : public CDOTA_Buff { public: @@ -8406,7 +8461,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_HopBackwards : public CDOTA_Buff { public: @@ -8414,7 +8469,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Sniper_Assassinate : public CDOTA_Buff { public: @@ -8422,7 +8477,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Special_Sniper_Assassinate_Killshot : public CDOTA_Buff { public: @@ -8430,47 +8485,47 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Sniper_Concussive_Grenade : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Sniper_Headshot_ArmorReduction : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 + int32_t armor_reduction; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_StoneThinker : public CDOTA_Buff { public: - bool m_bHasBeenMagnetized; // 0x11e8 + bool m_bHasBeenMagnetized; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - ParticleIndex_t m_nFXIndex; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash : public CDOTA_Buff { public: - bool m_bInterrupted; // 0x11e8 + bool m_bInterrupted; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t m_nProjectileID; // 0x11ec + int32_t m_nProjectileID; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_RollingBoulder_Caster : public CDOTA_Buff { public: @@ -8478,15 +8533,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash_Debuff : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeogmagneticGrip_Debuff : public CDOTA_Modifier_Silence { public: @@ -8494,67 +8549,67 @@ public: }; // Alignment: 10 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeomagneticGrip : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t rock_damage; // 0x11ec - float pull_units_per_second; // 0x11f0 - float pull_units_per_second_heroes; // 0x11f4 - float total_pull_distance; // 0x11f8 - float duration; // 0x11fc - bool m_bUsedStone; // 0x1200 + int32_t radius; // 0x12b8 + int32_t rock_damage; // 0x12bc + float pull_units_per_second; // 0x12c0 + float pull_units_per_second_heroes; // 0x12c4 + float total_pull_distance; // 0x12c8 + float duration; // 0x12cc + bool m_bUsedStone; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - Vector m_vDestination; // 0x1204 - Vector m_vLocation; // 0x1210 + Vector m_vDestination; // 0x12d4 + Vector m_vLocation; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1220 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12f0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_Petrify : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - bool m_bHasBeenMagnetized; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12b8 + bool m_bHasBeenMagnetized; // 0x12bc }; // Alignment: 10 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_Magnetize : public CDOTA_Buff { public: - int32_t rock_search_radius; // 0x11e8 - int32_t damage_per_second; // 0x11ec - float damage_interval; // 0x11f0 - float rock_explosion_delay; // 0x11f4 - float damage_duration; // 0x11f8 - int32_t cast_radius; // 0x11fc - int32_t rock_explosion_radius; // 0x1200 + int32_t rock_search_radius; // 0x12b8 + int32_t damage_per_second; // 0x12bc + float damage_interval; // 0x12c0 + float rock_explosion_delay; // 0x12c4 + float damage_duration; // 0x12c8 + int32_t cast_radius; // 0x12cc + int32_t rock_explosion_radius; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hExplodedRocks; // 0x1208 - float duration; // 0x1220 - bool m_bShowOverhead; // 0x1224 + CUtlVector< CHandle< C_BaseEntity > > m_hExplodedRocks; // 0x12d8 + float duration; // 0x12f0 + bool m_bShowOverhead; // 0x12f4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Cooldown_Reduction : public CDOTA_Buff { public: - float cooldown_reduction_per_hit; // 0x11e8 + float cooldown_reduction_per_hit; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Multicast : public CDOTA_Buff { public: @@ -8562,59 +8617,59 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t move_speed_bonus; // 0x11e8 - int32_t attack_speed_bonus; // 0x11ec - float damage_interval; // 0x11f0 - int32_t attack_damage_pct; // 0x11f4 - int32_t death_heal; // 0x11f8 - bool bIsAllied; // 0x11fc + int32_t move_speed_bonus; // 0x12b8 + int32_t attack_speed_bonus; // 0x12bc + float damage_interval; // 0x12c0 + int32_t attack_damage_pct; // 0x12c4 + int32_t death_heal; // 0x12c8 + bool bIsAllied; // 0x12cc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Omniknight_Repel : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 - float hp_regen; // 0x11ec - int32_t bonus_str; // 0x11f0 - int32_t damage_increase_outgoing_pct; // 0x11f4 + int32_t damage_reduction; // 0x12b8 + float hp_regen; // 0x12bc + int32_t bonus_str; // 0x12c0 + int32_t damage_increase_outgoing_pct; // 0x12c4 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Omniknight_GuardianAngel : public CDOTA_Buff { public: - int32_t hp_regen; // 0x11e8 - int32_t magic_resistance; // 0x11ec - int32_t purification_trigger_chance; // 0x11f0 - float purification_trigger_cooldown; // 0x11f4 - GameTime_t m_fLastProc; // 0x11f8 + int32_t hp_regen; // 0x12b8 + int32_t magic_resistance; // 0x12bc + int32_t purification_trigger_chance; // 0x12c0 + float purification_trigger_cooldown; // 0x12c4 + GameTime_t m_fLastProc; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Omniknight_Repel_Damage_Instance_Refraction : public CDOTA_Buff { public: - int32_t damage_threshold; // 0x11e8 + int32_t damage_threshold; // 0x12b8 }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Omniknight_Repel_Knockback : public CDOTA_Modifier_Knockback { public: @@ -8622,7 +8677,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_Omniknight_Guardian_Angel_Single_Target_Dummy : public CDOTA_Buff { public: @@ -8630,16 +8685,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_WitchDoctor_Cask_Thinker : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - int32_t remaining_bounces; // 0x11ec + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + int32_t remaining_bounces; // 0x12bc }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Aura : public CDOTA_Buff { public: @@ -8647,19 +8702,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Heal : public CDOTA_Buff { public: - int32_t heal; // 0x11e8 - float mana_per_second; // 0x11ec - float heal_interval; // 0x11f0 - int32_t lifesteal_percent; // 0x11f4 - int32_t spell_lifesteal_pct; // 0x11f8 + int32_t heal; // 0x12b8 + float mana_per_second; // 0x12bc + float heal_interval; // 0x12c0 + int32_t lifesteal_percent; // 0x12c4 + int32_t spell_lifesteal_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_WitchDoctor_MaledictDoT : public CDOTA_Buff { public: @@ -8667,53 +8722,53 @@ public: }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_WitchDoctor_Maledict : public CDOTA_Buff { public: - int32_t m_iStartHealth; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t bonus_damage_threshold; // 0x11f0 - int32_t max_bonus_damage; // 0x11f4 - int32_t ticks; // 0x11f8 - int32_t iCurrentTick; // 0x11fc + int32_t m_iStartHealth; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t bonus_damage_threshold; // 0x12c0 + int32_t max_bonus_damage; // 0x12c4 + int32_t ticks; // 0x12c8 + int32_t iCurrentTick; // 0x12cc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_WitchDoctor_DeathWard : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t m_iBounceRadius; // 0x11ec - bool m_bFirstAttack; // 0x11f0 + int32_t bonus_damage; // 0x12b8 + int32_t m_iBounceRadius; // 0x12bc + bool m_bFirstAttack; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - int32_t m_iBounces; // 0x11f4 - ParticleIndex_t m_nStaffParticle; // 0x11f8 + int32_t m_iBounces; // 0x12c4 + ParticleIndex_t m_nStaffParticle; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_WitchDoctor_ParalyzingCask_Attack_Procs : public CDOTA_Buff { public: - int32_t cask_chance; // 0x11e8 - int32_t cask_cooldown; // 0x11ec - GameTime_t flLastProcTime; // 0x11f0 + int32_t cask_chance; // 0x12b8 + int32_t cask_cooldown; // 0x12bc + GameTime_t flLastProcTime; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_WitchDoctor_DeathWard_Damage_Resist : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 + int32_t damage_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Aghsfort_Modifier_WitchDoctor_ForceKill : public CDOTA_Modifier_Invisible { public: @@ -8721,7 +8776,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_Witch_Doctor_Death_Ward_No_Channel : public CDOTA_Buff { public: @@ -8729,124 +8784,124 @@ public: }; // Alignment: 3 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Special_Witch_Doctor_Death_Ward_Splitshot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x11e8 - int32_t split_shot_bonus_range; // 0x11ec - int32_t split_shot_count; // 0x11f0 + int32_t damage_modifier; // 0x12b8 + int32_t split_shot_bonus_range; // 0x12bc + int32_t split_shot_count; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionDamage : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionAbsorb : public CDOTA_Buff { public: - int32_t damage_threshold; // 0x11e8 - int32_t max_damage_absorb; // 0x11ec + int32_t damage_threshold; // 0x12b8 + int32_t max_damage_absorb; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld_Animation : public CDOTA_Buff { public: - bool launched_attack; // 0x11e8 + bool launched_attack; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - bool launched_attack; // 0x11ec + int32_t bonus_damage; // 0x12b8 + bool launched_attack; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - CHandle< C_BaseEntity > m_hTarget; // 0x11f0 + CHandle< C_BaseEntity > m_hTarget; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_MeldArmor : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x11e8 - float attack_spill_range; // 0x11ec - int32_t attack_spill_width; // 0x11f0 - int32_t attack_spill_pct; // 0x11f4 - int32_t attack_spill_penalty; // 0x11f8 + int32_t bonus_attack_range; // 0x12b8 + float attack_spill_range; // 0x12bc + int32_t attack_spill_width; // 0x12c0 + int32_t attack_spill_pct; // 0x12c4 + int32_t attack_spill_penalty; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades_Slow : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Psionic_Trap_Thinker : public CDOTA_Buff { public: - int32_t trap_radius; // 0x11e8 - float trap_delay_time; // 0x11ec - float slow_duration; // 0x11f0 - int32_t max_pulses; // 0x11f4 - int32_t iCurrentPulse; // 0x11f8 - CHandle< C_BaseEntity > m_hImage; // 0x11fc + int32_t trap_radius; // 0x12b8 + float trap_delay_time; // 0x12bc + float slow_duration; // 0x12c0 + int32_t max_pulses; // 0x12c4 + int32_t iCurrentPulse; // 0x12c8 + CHandle< C_BaseEntity > m_hImage; // 0x12cc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Trap_Slow : public CDOTA_Buff { public: - int32_t movement_speed_slow; // 0x11e8 - int32_t trap_damage; // 0x11ec + int32_t movement_speed_slow; // 0x12b8 + int32_t trap_damage; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Refraction_Holdout : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t damage_absorb; // 0x11ec - float m_flDamageAbsorbed; // 0x11f0 + int32_t bonus_damage; // 0x12b8 + int32_t damage_absorb; // 0x12bc + float m_flDamageAbsorbed; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Templar_Assassin_PsiBlades_AutoAttack : public CDOTA_Buff { public: - float fire_rate; // 0x11e8 - int32_t radius; // 0x11ec + float fire_rate; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_Templar_Assassin_Trap_Illusion : public CDOTA_Buff { public: @@ -8854,7 +8909,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Slark_DarkPact : public CDOTA_Buff { public: @@ -8862,131 +8917,131 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Slark_DarkPact_Pulses : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float total_damage; // 0x11ec - int32_t total_pulses; // 0x11f0 - int32_t heal_pct; // 0x11f4 - float pulse_interval; // 0x11f8 - bool bIsBaseAbility; // 0x11fc + int32_t radius; // 0x12b8 + float total_damage; // 0x12bc + int32_t total_pulses; // 0x12c0 + int32_t heal_pct; // 0x12c4 + float pulse_interval; // 0x12c8 + bool bIsBaseAbility; // 0x12cc }; // Alignment: 8 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_Slark_Pounce : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > 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 + CUtlVector< CHandle< C_BaseEntity > > hitEntities; // 0x12b8 + int32_t pounce_distance; // 0x12d0 + int32_t pounce_distance_default; // 0x12d4 + float pounce_speed; // 0x12d8 + float pounce_acceleration; // 0x12dc + int32_t pounce_radius; // 0x12e0 + int32_t pounce_damage; // 0x12e4 + float leash_duration; // 0x12e8 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Slark_Pounce_Leash : public CDOTA_Buff { public: - int32_t leash_radius; // 0x11e8 - Vector vLeashLocation; // 0x11ec - bool m_bEscaped; // 0x11f8 + int32_t leash_radius; // 0x12b8 + Vector vLeashLocation; // 0x12bc + bool m_bEscaped; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - float pounce_damage_multiplier; // 0x11fc - int32_t pounce_damage; // 0x1200 + float pounce_damage_multiplier; // 0x12cc + int32_t pounce_damage; // 0x12d0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Counter : public CDOTA_Buff { public: - int32_t max_stacks; // 0x11e8 - int32_t passive_agility; // 0x11ec - GameTime_t flLastProcTime; // 0x11f0 - float debuff_duration; // 0x11f4 + int32_t max_stacks; // 0x12b8 + int32_t passive_agility; // 0x12bc + GameTime_t flLastProcTime; // 0x12c0 + float debuff_duration; // 0x12c4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Active : public CDOTA_Buff { public: - int32_t agi_gain; // 0x11e8 - int32_t iPrimaryAttribute; // 0x11ec - float model_scale; // 0x11f0 + int32_t agi_gain; // 0x12b8 + int32_t iPrimaryAttribute; // 0x12bc + float model_scale; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Slark_Essence_Shift_Debuff : public CDOTA_Buff { public: - int32_t reduction; // 0x11e8 + int32_t reduction; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Aura : public CDOTA_Buff { public: - int32_t scepter_aoe; // 0x11e8 + int32_t scepter_aoe; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_PassiveRegen : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_regen_pct; // 0x11ec + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_regen_pct; // 0x12bc }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance : public CDOTA_Modifier_Invisible { public: - CHandle< C_BaseEntity > m_hVisibleEntity; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc - GameTime_t flLastPulseTime; // 0x1200 + CHandle< C_BaseEntity > m_hVisibleEntity; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + GameTime_t flLastPulseTime; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Visual : public CDOTA_Buff { public: - bool m_bScepter; // 0x11e8 + bool m_bScepter; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Leashed_Bonus : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x11e8 + int32_t attack_speed_bonus; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_Slark_Shadow_Dance_Leash : public CDOTA_Buff { public: - Vector m_vPullLocation; // 0x11e8 - float pull_speed; // 0x11f4 + Vector m_vPullLocation; // 0x12b8 + float pull_speed; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Projectiles : public CDOTA_Buff { public: @@ -8994,53 +9049,53 @@ public: }; // Alignment: 6 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_QueenOfPain_ShadowStrike : public CDOTA_Buff { public: - int32_t duration_damage; // 0x11e8 - int32_t duration_heal; // 0x11ec - int32_t movement_slow; // 0x11f0 + int32_t duration_damage; // 0x12b8 + int32_t duration_heal; // 0x12bc + int32_t movement_slow; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CountdownTimer m_SlowInterval; // 0x11f8 - float m_flSlowStep; // 0x1210 - float m_flSlowStepStep; // 0x1214 + CountdownTimer m_SlowInterval; // 0x12c8 + float m_flSlowStep; // 0x12e0 + float m_flSlowStepStep; // 0x12e4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_QueenOfPain_Blink_AttackSpeed : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 + int32_t bonus_attack_speed; // 0x12b8 }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x11e8 - int32_t m_nRadius; // 0x11f4 - ParticleIndex_t m_nTrailFX; // 0x11f8 - float linger_duration; // 0x11fc - float flDamage; // 0x1200 - float damage_pct; // 0x1204 + Vector m_vPathDir; // 0x12b8 + int32_t m_nRadius; // 0x12c4 + ParticleIndex_t m_nTrailFX; // 0x12c8 + float linger_duration; // 0x12cc + float flDamage; // 0x12d0 + float damage_pct; // 0x12d4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x11e8 - float burn_interval; // 0x11ec + float flDamage; // 0x12b8 + float burn_interval; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_ShadowStrike_On_Attack : public CDOTA_Buff { public: @@ -9048,7 +9103,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_QueenOfPain_Blink_Scream_Thinker : public CDOTA_Buff { public: @@ -9056,7 +9111,7 @@ public: }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_QueenOfPain_Scream_Knockback : public CDOTA_Modifier_Knockback { public: @@ -9064,27 +9119,27 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_SonicWave_AttackBuff : public CDOTA_Buff { public: - int32_t spell_amp; // 0x11e8 - int32_t bonus_damage; // 0x11ec + int32_t spell_amp; // 0x12b8 + int32_t bonus_damage; // 0x12bc }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_TuskBoss_IceShard : public CDOTA_Buff { public: - Vector m_vPos; // 0x11e8 - int32_t radius; // 0x11f4 - float damage; // 0x11f8 - float explosion_interval; // 0x11fc + Vector m_vPos; // 0x12b8 + int32_t radius; // 0x12c4 + float damage; // 0x12c8 + float explosion_interval; // 0x12cc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Target : public CDOTA_Buff { public: @@ -9092,7 +9147,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Visible : public CDOTA_Buff { public: @@ -9100,7 +9155,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement : public CDOTA_Buff { public: @@ -9108,7 +9163,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement_Friendly : public CDOTA_Buff { public: @@ -9116,70 +9171,70 @@ public: }; // Alignment: 9 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch : public CDOTA_Buff { public: - int32_t crit_multiplier; // 0x11e8 - float air_time; // 0x11ec - float slow_duration; // 0x11f0 + int32_t crit_multiplier; // 0x12b8 + float air_time; // 0x12bc + float slow_duration; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11f8 - CHandle< C_BaseEntity > m_hTarget; // 0x1200 - bool m_bWalrusPunch; // 0x1204 - bool m_bPunchKill; // 0x1205 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12c8 + CHandle< C_BaseEntity > m_hTarget; // 0x12d0 + bool m_bWalrusPunch; // 0x12d4 + bool m_bPunchKill; // 0x12d5 private: - [[maybe_unused]] uint8_t __pad1206[0x2]; // 0x1206 + [[maybe_unused]] uint8_t __pad12d6[0x2]; // 0x12d6 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 - ParticleIndex_t m_nFXIndex; // 0x1220 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12f0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x11e8 + int32_t hp_threshold; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - float slow_duration; // 0x11ec + int32_t bonus_damage; // 0x12b8 + float slow_duration; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_TuskBoss_Ice_Shards_Explode_Dummy : public CDOTA_Buff { public: @@ -9187,54 +9242,54 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float health_threshold_pct; // 0x11ec - float duration; // 0x11f0 - CHandle< C_DOTABaseAbility > m_hTombstoneSourceAbility; // 0x11f4 - CHandle< C_BaseEntity > m_hChaseUnit; // 0x11f8 + int32_t radius; // 0x12b8 + float health_threshold_pct; // 0x12bc + float duration; // 0x12c0 + CHandle< C_DOTABaseAbility > m_hTombstoneSourceAbility; // 0x12c4 + CHandle< C_BaseEntity > m_hChaseUnit; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_HP : public CDOTA_Buff { public: - int32_t tombstone_health; // 0x11e8 - int32_t bonus_health; // 0x11ec + int32_t tombstone_health; // 0x12b8 + int32_t bonus_health; // 0x12bc }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float zombie_interval; // 0x11ec - int32_t spawn_at_parent; // 0x11f0 - int32_t remove_on_death; // 0x11f4 - float knockback_duration; // 0x11f8 - int32_t knockback_distance; // 0x11fc - int32_t knockback_height; // 0x1200 - int32_t spawn_distance; // 0x1204 + int32_t radius; // 0x12b8 + float zombie_interval; // 0x12bc + int32_t spawn_at_parent; // 0x12c0 + int32_t remove_on_death; // 0x12c4 + float knockback_duration; // 0x12c8 + int32_t knockback_distance; // 0x12cc + int32_t knockback_height; // 0x12d0 + int32_t spawn_distance; // 0x12d4 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hLoadedUnit; // 0x11e8 - float heal_percent_per_tick; // 0x11ec - int32_t tombstone_grab_radius; // 0x11f0 - ParticleIndex_t m_nBunkerEnterFXIndex; // 0x11f4 + CHandle< C_BaseEntity > m_hLoadedUnit; // 0x12b8 + float heal_percent_per_tick; // 0x12bc + int32_t tombstone_grab_radius; // 0x12c0 + ParticleIndex_t m_nBunkerEnterFXIndex; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker_Friendly : public CDOTA_Buff { public: @@ -9242,38 +9297,38 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Undying_Decay_BuffCounter : public CDOTA_Buff { public: - float m_fStrengthStolen; // 0x11e8 - float model_scale_per_strength; // 0x11ec - float model_scale_max; // 0x11f0 + float m_fStrengthStolen; // 0x12b8 + float model_scale_per_strength; // 0x12bc + float model_scale_max; // 0x12c0 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Undying_Decay_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x11e8 - float interval; // 0x11ec - int32_t extra_decays; // 0x11f0 - int32_t radius; // 0x11f4 - int32_t decay_strength_percent; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc + int32_t m_iCount; // 0x12b8 + float interval; // 0x12bc + int32_t extra_decays; // 0x12c0 + int32_t radius; // 0x12c4 + int32_t decay_strength_percent; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Undying_Decay_Buff : public CDOTA_Buff { public: - float str_stolen; // 0x11e8 + float str_stolen; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Undying_Decay_On_Attack : public CDOTA_Buff { public: @@ -9281,52 +9336,52 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Undying_SoulRipWard : public CDOTA_Buff { public: - int32_t ward_radius; // 0x11e8 - int32_t explosion_damage; // 0x11ec - float taunt_interval; // 0x11f0 + int32_t ward_radius; // 0x12b8 + int32_t explosion_damage; // 0x12bc + float taunt_interval; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Undying_SoulRip_Share_Strength : public CDOTA_Buff { public: - float str_gain; // 0x11e8 - int32_t model_scale; // 0x11ec + float str_gain; // 0x12b8 + int32_t model_scale; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - float m_flDecrementTime; // 0x11ec + int32_t slow; // 0x12b8 + float m_flDecrementTime; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow_Counter : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathlust : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec + int32_t bonus_move_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Modifier : public CDOTA_Buff { public: @@ -9334,7 +9389,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Undying_Exploding_Zombie : public CDOTA_Buff { public: @@ -9342,7 +9397,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Undying_ConsumeZombies_Counter : public CDOTA_Buff { public: @@ -9350,44 +9405,44 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Undying_ConsumeZombies_Buff : public CDOTA_Buff { public: - int32_t bonus_move_speed_per_stack; // 0x11e8 - int32_t bonus_attack_speed_per_stack; // 0x11ec + int32_t bonus_move_speed_per_stack; // 0x12b8 + int32_t bonus_attack_speed_per_stack; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Undying_FleshGolem : public CDOTA_Buff { public: - int32_t str_percentage; // 0x11e8 - int32_t movement_bonus; // 0x11ec + int32_t str_percentage; // 0x12b8 + int32_t movement_bonus; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Undying_FleshGolem_Slow : public CDOTA_Buff { public: - int32_t damage_amp; // 0x11e8 - int32_t slow; // 0x11ec + int32_t damage_amp; // 0x12b8 + int32_t slow; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Undying_FleshGolem_PlagueAura : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t damage; // 0x11ec - float tick_rate; // 0x11f0 + int32_t slow; // 0x12b8 + int32_t damage; // 0x12bc + float tick_rate; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Death_Trigger : public CDOTA_Buff { public: @@ -9395,7 +9450,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Special_Undying_ConsumeZombies_Dummy : public CDOTA_Buff { public: @@ -9403,88 +9458,88 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Lina_DragonSlave_Ignite : public CDOTA_Buff { public: - float burn_interval; // 0x11e8 - float burn_damage; // 0x11ec - int32_t mana_restore; // 0x11f0 + float burn_interval; // 0x12b8 + float burn_damage; // 0x12bc + int32_t mana_restore; // 0x12c0 }; // Alignment: 11 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Lina_LightStrikeArray_Thinker : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 - int32_t m_iDamage; // 0x1200 - float m_flStunDuration; // 0x1204 - int32_t light_strike_array_damage; // 0x1208 - float light_strike_array_stun_duration; // 0x120c - float light_strike_array_delay; // 0x1210 - int32_t m_nLSARadius; // 0x1214 - int32_t m_nCount; // 0x1218 - int32_t max_count; // 0x121c - int32_t iPower; // 0x1220 - float pulse_interval; // 0x1224 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + int32_t m_iDamage; // 0x12d0 + float m_flStunDuration; // 0x12d4 + int32_t light_strike_array_damage; // 0x12d8 + float light_strike_array_stun_duration; // 0x12dc + float light_strike_array_delay; // 0x12e0 + int32_t m_nLSARadius; // 0x12e4 + int32_t m_nCount; // 0x12e8 + int32_t max_count; // 0x12ec + int32_t iPower; // 0x12f0 + float pulse_interval; // 0x12f4 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_Lina_Light_Strike_Array_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x11e8 - Vector vPullLocation; // 0x11ec + float pull_speed; // 0x12b8 + Vector vPullLocation; // 0x12bc }; // Alignment: 7 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Lina_FierySoul_Active : public CDOTA_Buff { public: - int32_t attack_range_per_stack; // 0x11e8 - bool m_bShouldReset; // 0x11ec - bool m_bIsActive; // 0x11ed + int32_t attack_range_per_stack; // 0x12b8 + bool m_bShouldReset; // 0x12bc + bool m_bIsActive; // 0x12bd private: - [[maybe_unused]] uint8_t __pad11ee[0x2]; // 0x11ee + [[maybe_unused]] uint8_t __pad12be[0x2]; // 0x12be public: - int32_t fiery_soul_attack_speed_bonus; // 0x11f0 - float fiery_soul_move_speed_bonus; // 0x11f4 - ParticleIndex_t m_nFXIndex; // 0x11f8 + int32_t fiery_soul_attack_speed_bonus; // 0x12c0 + float fiery_soul_move_speed_bonus; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Lina_FierySoul : public CDOTA_Buff { public: - int32_t fiery_soul_attack_speed_bonus; // 0x11e8 - float fiery_soul_move_speed_bonus; // 0x11ec - int32_t fiery_soul_max_stacks; // 0x11f0 - float fiery_soul_stack_duration; // 0x11f4 - ParticleIndex_t m_nFXIndex; // 0x11f8 - GameTime_t m_flFierySoulDieTime; // 0x11fc + int32_t fiery_soul_attack_speed_bonus; // 0x12b8 + float fiery_soul_move_speed_bonus; // 0x12bc + int32_t fiery_soul_max_stacks; // 0x12c0 + float fiery_soul_stack_duration; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + GameTime_t m_flFierySoulDieTime; // 0x12cc }; // Alignment: 4 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Lina_LagunaBlade_Line : public CDOTA_Buff { public: - Vector vStart; // 0x11e8 - Vector vEnd; // 0x11f4 - float damage_delay; // 0x1200 - CHandle< C_BaseEntity > m_hMainTarget; // 0x1204 + Vector vStart; // 0x12b8 + Vector vEnd; // 0x12c4 + float damage_delay; // 0x12d0 + CHandle< C_BaseEntity > m_hMainTarget; // 0x12d4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Lina_LagunaBlade : public CDOTA_Buff { public: @@ -9492,55 +9547,55 @@ public: }; // Alignment: 3 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Special_Lina_Fiery_Soul_Splitshot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x11e8 - int32_t split_shot_bonus_range; // 0x11ec - int32_t arrow_count; // 0x11f0 + int32_t damage_modifier; // 0x12b8 + int32_t split_shot_bonus_range; // 0x12bc + int32_t arrow_count; // 0x12c0 }; // Alignment: 7 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Special_Lina_Laguna_Blade_Channel : public CDOTA_Buff { public: - int32_t stack_limit; // 0x11e8 - float stack_interval; // 0x11ec - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesToHit; // 0x11f0 - ParticleIndex_t m_nFxIndexB; // 0x1208 + int32_t stack_limit; // 0x12b8 + float stack_interval; // 0x12bc + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesToHit; // 0x12c0 + ParticleIndex_t m_nFxIndexB; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlVector< ParticleIndex_t > m_nFXIndices; // 0x1210 - int32_t bounces_remaining; // 0x1228 - int32_t iCur_stack; // 0x122c + CUtlVector< ParticleIndex_t > m_nFXIndices; // 0x12e0 + int32_t bounces_remaining; // 0x12f8 + int32_t iCur_stack; // 0x12fc }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Special_Lina_Laguna_Blade_Bounce : public CDOTA_Buff { public: - int32_t bounces_remaining; // 0x11e8 + int32_t bounces_remaining; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11f0 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Lina_Light_Strike_Array_Attacks_Bonus : public CDOTA_Buff { public: - float attack_damage; // 0x11e8 - int32_t damage_penalty; // 0x11ec + float attack_damage; // 0x12b8 + int32_t damage_penalty; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Lina_LightStrikeArray_Stun : public CDOTA_Buff { public: @@ -9548,166 +9603,166 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Lina_DragonSlave_Movement : public CDOTA_Buff { public: - float m_flPushDistance; // 0x11e8 + float m_flPushDistance; // 0x12b8 }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury : public CDOTA_Buff { public: - int32_t blade_fury_radius; // 0x11e8 - int32_t blade_fury_damage; // 0x11ec - float blade_fury_damage_tick; // 0x11f0 - int32_t movement_bonus; // 0x11f4 - int32_t spark_radius; // 0x11f8 - int32_t spark_damage_percent; // 0x11fc - bool m_bDestroyParentThinkerOnDeath; // 0x1200 + int32_t blade_fury_radius; // 0x12b8 + int32_t blade_fury_damage; // 0x12bc + float blade_fury_damage_tick; // 0x12c0 + int32_t movement_bonus; // 0x12c4 + int32_t spark_radius; // 0x12c8 + int32_t spark_damage_percent; // 0x12cc + bool m_bDestroyParentThinkerOnDeath; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury_Force : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury_Force_Pull : public CDOTA_Buff { public: - int32_t blade_fury_radius; // 0x11e8 - int32_t pull_speed; // 0x11ec - int32_t pull_stop; // 0x11f0 - Vector pull_origin; // 0x11f4 - GameTime_t m_flLastThinkTime; // 0x1200 + int32_t blade_fury_radius; // 0x12b8 + int32_t pull_speed; // 0x12bc + int32_t pull_stop; // 0x12c0 + Vector pull_origin; // 0x12c4 + GameTime_t m_flLastThinkTime; // 0x12d0 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Juggernaut_Healing_Ward : public CDOTA_Buff { public: - int32_t healing_ward_aura_radius; // 0x11e8 - float healing_ward_heal_amount; // 0x11ec - float healing_ward_interval; // 0x11f0 - int32_t m_nTotalHealing; // 0x11f4 + int32_t healing_ward_aura_radius; // 0x12b8 + float healing_ward_heal_amount; // 0x12bc + float healing_ward_interval; // 0x12c0 + int32_t m_nTotalHealing; // 0x12c4 }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Juggernaut_Healing_Ward_Primed : public CDOTA_Buff { public: - int32_t healing_ward_aura_radius; // 0x11e8 - int32_t trigger_radius; // 0x11ec - int32_t search_radius; // 0x11f0 - int32_t damage_percent; // 0x11f4 - int32_t movement_bonus; // 0x11f8 - int32_t power; // 0x11fc + int32_t healing_ward_aura_radius; // 0x12b8 + int32_t trigger_radius; // 0x12bc + int32_t search_radius; // 0x12c0 + int32_t damage_percent; // 0x12c4 + int32_t movement_bonus; // 0x12c8 + int32_t power; // 0x12cc }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Juggernaut_Zen_Ward : public CDOTA_Buff { public: - int32_t healing_ward_aura_radius; // 0x11e8 - float healing_ward_heal_amount; // 0x11ec - float healing_ward_interval; // 0x11f0 - int32_t m_nTotalRegen; // 0x11f4 + int32_t healing_ward_aura_radius; // 0x12b8 + float healing_ward_heal_amount; // 0x12bc + float healing_ward_interval; // 0x12c0 + int32_t m_nTotalRegen; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Juggernaut_Zen_Ward_Armor : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x11e8 + int32_t armor_bonus; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeDance : public CDOTA_Buff { public: - int32_t blade_dance_crit_mult; // 0x11e8 - int32_t blade_dance_crit_chance; // 0x11ec - bool m_bDidBladeDanceCrit; // 0x11f0 + int32_t blade_dance_crit_mult; // 0x12b8 + int32_t blade_dance_crit_chance; // 0x12bc + bool m_bDidBladeDanceCrit; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeDance_Buff : public CDOTA_Buff { public: - int32_t evasion_per_stack; // 0x11e8 - int32_t movespeed_per_stack; // 0x11ec - int32_t evasion_bonus; // 0x11f0 - int32_t movespeed_bonus; // 0x11f4 + int32_t evasion_per_stack; // 0x12b8 + int32_t movespeed_per_stack; // 0x12bc + int32_t evasion_bonus; // 0x12c0 + int32_t movespeed_bonus; // 0x12c4 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Juggernaut_Double_Attack : public CDOTA_Buff { public: - int32_t range; // 0x11e8 - float bonus_attack_duration; // 0x11ec - int32_t bonus_attack_count; // 0x11f0 - int32_t bonus_attack_speed; // 0x11f4 - float m_fBonusRange; // 0x11f8 + int32_t range; // 0x12b8 + float bonus_attack_duration; // 0x12bc + int32_t bonus_attack_count; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c4 + float m_fBonusRange; // 0x12c8 }; // Alignment: 16 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_modifier_aghsfort_juggernaut_omnislash : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - CHandle< C_BaseEntity > m_hLastTarget; // 0x11ec - int32_t m_nJumps; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - int32_t bonus_attack_speed; // 0x11f8 - int32_t omni_slash_radius; // 0x11fc - float attack_rate_multiplier; // 0x1200 - int32_t upgraded_radius; // 0x1204 - int32_t m_iTotalDamage; // 0x1208 - int32_t m_iHeroDamage; // 0x120c - bool m_bReflection; // 0x1210 - bool m_bFirstHit; // 0x1211 - bool m_bEndNext; // 0x1212 + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + CHandle< C_BaseEntity > m_hLastTarget; // 0x12bc + int32_t m_nJumps; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + int32_t bonus_attack_speed; // 0x12c8 + int32_t omni_slash_radius; // 0x12cc + float attack_rate_multiplier; // 0x12d0 + int32_t upgraded_radius; // 0x12d4 + int32_t m_iTotalDamage; // 0x12d8 + int32_t m_iHeroDamage; // 0x12dc + bool m_bReflection; // 0x12e0 + bool m_bFirstHit; // 0x12e1 + bool m_bEndNext; // 0x12e2 private: - [[maybe_unused]] uint8_t __pad1213[0x1]; // 0x1213 + [[maybe_unused]] uint8_t __pad12e3[0x1]; // 0x12e3 public: - GameTime_t m_fNextAttackTime; // 0x1214 - Vector m_vCastOrigin; // 0x1218 + GameTime_t m_fNextAttackTime; // 0x12e4 + Vector m_vCastOrigin; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1224[0x4]; // 0x1224 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hIllusions; // 0x1228 + CUtlVector< CHandle< C_BaseEntity > > m_hIllusions; // 0x12f8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_modifier_aghsfort_juggernaut_omnislash_Camera : public CDOTA_Buff { public: - bool m_bIsDone; // 0x11e8 + bool m_bIsDone; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - CHandle< C_BaseEntity > m_hFollowEnt; // 0x11ec + CHandle< C_BaseEntity > m_hFollowEnt; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_modifier_aghsfort_juggernaut_omnislash_Invulnerability : public CDOTA_Buff { public: @@ -9715,16 +9770,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x11e8 - float tick_damage; // 0x11ec + int32_t slow_movement_speed_pct; // 0x12b8 + float tick_damage; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite_Invuln : public CDOTA_Buff { public: @@ -9732,7 +9787,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite_Disarm : public CDOTA_Buff { public: @@ -9740,15 +9795,15 @@ public: }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows_Slow : public CDOTA_Buff { public: @@ -9756,29 +9811,29 @@ public: }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows_Chill : public CDOTA_Buff { public: - float interval; // 0x11e8 - int32_t max_stacks; // 0x11ec - int32_t damage_percent; // 0x11f0 - int32_t movement_damage_percent; // 0x11f4 - int32_t m_nDamage; // 0x11f8 - ParticleIndex_t m_nFXStackIndex; // 0x11fc - Vector m_vLastPosition; // 0x1200 + float interval; // 0x12b8 + int32_t max_stacks; // 0x12bc + int32_t damage_percent; // 0x12c0 + int32_t movement_damage_percent; // 0x12c4 + int32_t m_nDamage; // 0x12c8 + ParticleIndex_t m_nFXStackIndex; // 0x12cc + Vector m_vLastPosition; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence : public CDOTA_Buff { public: - int32_t blind_percent; // 0x11e8 + int32_t blind_percent; // 0x12b8 }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Knockback : public CDOTA_Modifier_Knockback { public: @@ -9786,85 +9841,85 @@ public: }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Echo_Thinker : public CDOTA_Buff { public: - Vector m_vTarget; // 0x11e8 + Vector m_vTarget; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Movement : public CDOTA_Buff { public: - int32_t movespeed_percent; // 0x11e8 + int32_t movespeed_percent; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Frost : public CDOTA_Buff { public: - float m_fDamagePerSecond; // 0x11e8 + float m_fDamagePerSecond; // 0x12b8 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Agility : public CDOTA_Buff { public: - CUtlVector< GameTime_t > m_AgilityTimers; // 0x11e8 + CUtlVector< GameTime_t > m_AgilityTimers; // 0x12b8 }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_Buff : public CDOTA_Buff { public: - int32_t damage_percent; // 0x11e8 - int32_t knockback_distance; // 0x11ec - float knockback_duration; // 0x11f0 - int32_t move_speed_percent; // 0x11f4 - int32_t max_move_speed_percent; // 0x11f8 - int32_t model_scale; // 0x11fc - int32_t max_model_scale; // 0x1200 - bool m_bActive; // 0x1204 + int32_t damage_percent; // 0x12b8 + int32_t knockback_distance; // 0x12bc + float knockback_duration; // 0x12c0 + int32_t move_speed_percent; // 0x12c4 + int32_t max_move_speed_percent; // 0x12c8 + int32_t model_scale; // 0x12cc + int32_t max_model_scale; // 0x12d0 + bool m_bActive; // 0x12d4 }; // Alignment: 15 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot : public CDOTA_Buff { public: - int32_t arrow_width; // 0x11e8 - float arrow_speed; // 0x11ec - int32_t range; // 0x11f0 - int32_t wave_count; // 0x11f4 - float wave_delay; // 0x11f8 - int32_t arrow_count_per_wave; // 0x11fc - float arrow_delay; // 0x1200 - float per_arrow_angle; // 0x1204 - float m_fYawOffset; // 0x1208 - int32_t m_iWaveIndex; // 0x120c - int32_t m_iArrowIndex; // 0x1210 - Vector m_vTarget; // 0x1214 - QAngle m_vWaveAngle; // 0x1220 - float m_flInterval; // 0x122c - GameTime_t m_flNextThink; // 0x1230 + int32_t arrow_width; // 0x12b8 + float arrow_speed; // 0x12bc + int32_t range; // 0x12c0 + int32_t wave_count; // 0x12c4 + float wave_delay; // 0x12c8 + int32_t arrow_count_per_wave; // 0x12cc + float arrow_delay; // 0x12d0 + float per_arrow_angle; // 0x12d4 + float m_fYawOffset; // 0x12d8 + int32_t m_iWaveIndex; // 0x12dc + int32_t m_iArrowIndex; // 0x12e0 + Vector m_vTarget; // 0x12e4 + QAngle m_vWaveAngle; // 0x12f0 + float m_flInterval; // 0x12fc + GameTime_t m_flNextThink; // 0x1300 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_SideLine : public CDOTA_Buff { public: - int32_t m_iWaveIndex; // 0x11e8 - float m_fYawOffset; // 0x11ec + int32_t m_iWaveIndex; // 0x12b8 + float m_fYawOffset; // 0x12bc }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort2_DrowRanger_Multishot_Buff_Knockback : public CDOTA_Modifier_Knockback { public: @@ -9872,7 +9927,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_Refire : public CDOTA_Buff { public: @@ -9880,40 +9935,40 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Marksmanship_Aura : public CDOTA_Buff { public: - int32_t aura_disable_range; // 0x11e8 - int32_t aura_range; // 0x11ec - int32_t bonus_damage; // 0x11f0 - int32_t m_nBonusFactor; // 0x11f4 - GameTime_t m_fLastEnableTime; // 0x11f8 - ParticleIndex_t m_nFxIndex; // 0x11fc + int32_t aura_disable_range; // 0x12b8 + int32_t aura_range; // 0x12bc + int32_t bonus_damage; // 0x12c0 + int32_t m_nBonusFactor; // 0x12c4 + GameTime_t m_fLastEnableTime; // 0x12c8 + ParticleIndex_t m_nFxIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Marksmanship_Aura_Bonus : public CDOTA_Buff { public: - int32_t aura_agility_multiplier; // 0x11e8 + int32_t aura_agility_multiplier; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_Active : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_range; // 0x11ec - int32_t attack_speed_reduction; // 0x11f0 - float duration; // 0x11f4 - int32_t charges; // 0x11f8 + int32_t bonus_damage; // 0x12b8 + int32_t bonus_range; // 0x12bc + int32_t attack_speed_reduction; // 0x12c0 + float duration; // 0x12c4 + int32_t charges; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_AoE : public CDOTA_Buff { public: @@ -9921,42 +9976,42 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_WaveOfSilence_Primed : public CDOTA_Buff { public: - int32_t aura_disable_range; // 0x11e8 + int32_t aura_disable_range; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_LucentBeam_Moonglow : public CDOTA_Buff { public: - int32_t bonus_aspd; // 0x11e8 - int32_t lifesteal; // 0x11ec + int32_t bonus_aspd; // 0x12b8 + int32_t lifesteal; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t bonus_damage; // 0x11ec + int32_t radius; // 0x12b8 + int32_t bonus_damage; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t night_bonus_pct; // 0x11ec + int32_t bonus_damage; // 0x12b8 + int32_t night_bonus_pct; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Active : public CDOTA_Buff { public: @@ -9964,7 +10019,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback_Buff : public CDOTA_Buff { public: @@ -9972,16 +10027,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback : public CDOTA_Buff { public: - int32_t attack_speed_slow; // 0x11e8 - int32_t move_speed_slow_pct; // 0x11ec + int32_t attack_speed_slow; // 0x12b8 + int32_t move_speed_slow_pct; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback_Bounce : public CDOTA_Buff { public: @@ -9989,51 +10044,51 @@ public: }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive : public CDOTA_Buff { public: - int32_t range; // 0x11e8 - int32_t bounces; // 0x11ec - int32_t damage_reduction_percent; // 0x11f0 - int32_t bounce_pct; // 0x11f4 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 + int32_t range; // 0x12b8 + int32_t bounces; // 0x12bc + int32_t damage_reduction_percent; // 0x12c0 + int32_t bounce_pct; // 0x12c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x11e8 + ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_MoonMark : public CDOTA_Buff { public: - int32_t spell_resist_pct; // 0x11e8 + int32_t spell_resist_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_LunarRemnant : public CDOTA_Buff { public: - int32_t m_nBonusDamage; // 0x11e8 + int32_t m_nBonusDamage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Moonfright : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x11e8 + Vector m_vOriginal; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_LunarPower : public CDOTA_Buff { public: @@ -10041,15 +10096,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_MoonShield_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura_MoonShield_Trigger : public CDOTA_Buff { public: @@ -10057,95 +10112,95 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura_MoonShield : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Active_Buff : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 + int32_t attack_speed; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_Lunar_Grace : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 - float night_multiplier; // 0x11ec + int32_t attack_speed; // 0x12b8 + float night_multiplier; // 0x12bc }; // Alignment: 15 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_AghsFort_Luna_Eclipse : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - int32_t radius; // 0x11ec - int32_t beams; // 0x11f0 - int32_t hit_count; // 0x11f4 - int32_t m_iBeamDamage; // 0x11f8 - float m_flBeamStun; // 0x11fc - Vector vPosition; // 0x1200 - bool m_bAreaTarget; // 0x120c - bool m_bMoonWell; // 0x120d + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + int32_t radius; // 0x12bc + int32_t beams; // 0x12c0 + int32_t hit_count; // 0x12c4 + int32_t m_iBeamDamage; // 0x12c8 + float m_flBeamStun; // 0x12cc + Vector vPosition; // 0x12d0 + bool m_bAreaTarget; // 0x12dc + bool m_bMoonWell; // 0x12dd private: - [[maybe_unused]] uint8_t __pad120e[0x2]; // 0x120e + [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de public: - int32_t m_iTickCount; // 0x1210 - ParticleIndex_t m_nMoonlightFXIndex; // 0x1214 - CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x1218 - CUtlVector< CHandle< C_BaseEntity > > m_HitAllies; // 0x1230 - float beam_interval; // 0x1248 - float m_flInterval; // 0x124c + int32_t m_iTickCount; // 0x12e0 + ParticleIndex_t m_nMoonlightFXIndex; // 0x12e4 + CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x12e8 + CUtlVector< CHandle< C_BaseEntity > > m_HitAllies; // 0x1300 + float beam_interval; // 0x1318 + float m_flInterval; // 0x131c }; // Alignment: 9 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Leap : public CDOTA_Buff { public: - int32_t leap_distance; // 0x11e8 - float leap_speed; // 0x11ec - float leap_acceleration; // 0x11f0 - int32_t leap_radius; // 0x11f4 - int32_t search_range; // 0x11f8 - float damage_multiplier; // 0x11fc - float m_flPowerLevelPct; // 0x1200 - bool m_bLaunched; // 0x1204 + int32_t leap_distance; // 0x12b8 + float leap_speed; // 0x12bc + float leap_acceleration; // 0x12c0 + int32_t leap_radius; // 0x12c4 + int32_t search_range; // 0x12c8 + float damage_multiplier; // 0x12cc + float m_flPowerLevelPct; // 0x12d0 + bool m_bLaunched; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x1208 + CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x12d8 }; // Alignment: 9 -// Size: 0x13f0 +// Size: 0x14c0 class CDOTA_Modifier_AghsFort_Luna_GlaiveShield : public CDOTA_Buff { public: - bool m_bSpiritsExplode; // 0x11e8 + bool m_bSpiritsExplode; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t hit_radius; // 0x11ec - int32_t rotate_range; // 0x11f0 - int32_t glaive_movement_rate; // 0x11f4 - float replenish_time; // 0x11f8 - float m_flRotation; // 0x11fc - float m_flGlaiveRadius; // 0x1200 - GameTime_t m_flNextSpawn; // 0x1204 - bool m_bPaused; // 0x1208 + int32_t hit_radius; // 0x12bc + int32_t rotate_range; // 0x12c0 + int32_t glaive_movement_rate; // 0x12c4 + float replenish_time; // 0x12c8 + float m_flRotation; // 0x12cc + float m_flGlaiveRadius; // 0x12d0 + GameTime_t m_flNextSpawn; // 0x12d4 + bool m_bPaused; // 0x12d8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Luna_Eclipse_IntoTheNight : public CDOTA_Buff { public: @@ -10153,123 +10208,123 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_Eclipse_IntoTheNight_Aura : public CDOTA_Buff { public: - int32_t m_nMoveSpeed; // 0x11e8 - int32_t m_nEvasion; // 0x11ec + int32_t m_nMoveSpeed; // 0x12b8 + int32_t m_nEvasion; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Lich_FrostNova_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 - int32_t slow_attack_speed; // 0x11ec - bool is_primary_target; // 0x11f0 + int32_t slow_movement_speed; // 0x12b8 + int32_t slow_attack_speed; // 0x12bc + bool is_primary_target; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Self : public CDOTA_Buff { public: - int32_t mana_drain; // 0x11e8 - float m_flIntervalRate; // 0x11ec + int32_t mana_drain; // 0x12b8 + float m_flIntervalRate; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - int32_t mana_drain; // 0x11ec - float m_flIntervalRate; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 + int32_t movement_speed; // 0x12b8 + int32_t mana_drain; // 0x12bc + float m_flIntervalRate; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Summon : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - int32_t base_damage_outgoing_percentage; // 0x11ec + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + int32_t base_damage_outgoing_percentage; // 0x12bc }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Lich_Ice_Spire : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec - CountdownTimer m_Timer; // 0x11f0 + int32_t aura_radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc + CountdownTimer m_Timer; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Lich_Ice_Spire_Debuff : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x11e8 + int32_t bonus_movespeed; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Lich_ChainFrost_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 - int32_t slow_attack_speed; // 0x11ec + int32_t slow_movement_speed; // 0x12b8 + int32_t slow_attack_speed; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Lich_FrostShield : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float interval; // 0x11ec - int32_t damage_reduction; // 0x11f0 - int32_t bonus_health_regen; // 0x11f4 + int32_t radius; // 0x12b8 + float interval; // 0x12bc + int32_t damage_reduction; // 0x12c0 + int32_t bonus_health_regen; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Lich_FrostShield_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Lich_FrostShield_Magic_Resistance_Debuff : public CDOTA_Buff { public: - int32_t magic_resist_reduction; // 0x11e8 - int32_t max_stacks; // 0x11ec - ParticleIndex_t m_nFXStackIndex; // 0x11f0 + int32_t magic_resist_reduction; // 0x12b8 + int32_t max_stacks; // 0x12bc + ParticleIndex_t m_nFXStackIndex; // 0x12c0 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_AghsFort_Modifier_Lich_Frost_Giant : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - int32_t model_scale; // 0x11ec - int32_t damage_radius; // 0x11f0 - int32_t pct_int_damage_per_second; // 0x11f4 - float tick_rate; // 0x11f8 + int32_t movement_speed; // 0x12b8 + int32_t model_scale; // 0x12bc + int32_t damage_radius; // 0x12c0 + int32_t pct_int_damage_per_second; // 0x12c4 + float tick_rate; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_AghsFort_Modifier_Lich_Frost_Shield_Magic_Immune : public CDOTA_Modifier_MagicImmune { public: @@ -10277,81 +10332,81 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Lich_Chain_Frost_Thinker : public CDOTA_Buff { public: - int32_t m_nDamageToHeroes; // 0x11e8 - int32_t m_nHeroesKilled; // 0x11ec - int32_t m_nJumps; // 0x11f0 - CHandle< C_BaseEntity > m_hTarget; // 0x11f4 - CHandle< C_BaseEntity > m_hAvoidTarget; // 0x11f8 + int32_t m_nDamageToHeroes; // 0x12b8 + int32_t m_nHeroesKilled; // 0x12bc + int32_t m_nJumps; // 0x12c0 + CHandle< C_BaseEntity > m_hTarget; // 0x12c4 + CHandle< C_BaseEntity > m_hAvoidTarget; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Kunkka_Rumboldened_Immunity : public CDOTA_Modifier_MagicImmune { public: - int32_t model_scale; // 0x11e8 + int32_t model_scale; // 0x12b8 }; // Alignment: 12 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Thinker : public CDOTA_Buff { public: - bool m_bIsSquall; // 0x11e8 - bool m_bIsSeaLegs; // 0x11e9 + bool m_bIsSquall; // 0x12b8 + bool m_bIsSeaLegs; // 0x12b9 private: - [[maybe_unused]] uint8_t __pad11ea[0x2]; // 0x11ea + [[maybe_unused]] uint8_t __pad12ba[0x2]; // 0x12ba public: - float m_flRadius; // 0x11ec - bool m_bShowEnemies; // 0x11f0 - bool m_bTorrentStorm; // 0x11f1 + float m_flRadius; // 0x12bc + bool m_bShowEnemies; // 0x12c0 + bool m_bTorrentStorm; // 0x12c1 private: - [[maybe_unused]] uint8_t __pad11f2[0x2]; // 0x11f2 + [[maybe_unused]] uint8_t __pad12c2[0x2]; // 0x12c2 public: - float m_flDelay; // 0x11f4 - float m_flFireTime; // 0x11f8 - bool m_bForcePosition; // 0x11fc + float m_flDelay; // 0x12c4 + float m_flFireTime; // 0x12c8 + bool m_bForcePosition; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - Vector m_vStartPosition; // 0x1200 - Vector m_vEndPosition; // 0x120c - int32_t m_nPercentChanceOfGhostShip; // 0x1218 - CHandle< C_BaseEntity > m_hTarget; // 0x121c + Vector m_vStartPosition; // 0x12d0 + Vector m_vEndPosition; // 0x12dc + int32_t m_nPercentChanceOfGhostShip; // 0x12e8 + CHandle< C_BaseEntity > m_hTarget; // 0x12ec }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Kunkka_Torrent : public CDOTA_Buff { public: - float flIntervalThinkTime; // 0x11e8 - int32_t torrent_damage; // 0x11ec - float m_flDamageScale; // 0x11f0 + float flIntervalThinkTime; // 0x12b8 + int32_t torrent_damage; // 0x12bc + float m_flDamageScale; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Slow : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x11e8 + int32_t movespeed_bonus; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Kunkka_Fire_Cannons_Slow : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x11e8 + int32_t movespeed_bonus; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Kunkka_Tidebringer_Slow : public CDOTA_Buff { public: @@ -10359,54 +10414,54 @@ public: }; // Alignment: 4 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Storm : public CDOTA_Buff { public: - int32_t torrent_min_distance; // 0x11e8 - int32_t torrent_max_distance; // 0x11ec - int32_t m_iExplosionQuadrant; // 0x11f0 - Vector m_vPosition; // 0x11f4 + int32_t torrent_min_distance; // 0x12b8 + int32_t torrent_max_distance; // 0x12bc + int32_t m_iExplosionQuadrant; // 0x12c0 + Vector m_vPosition; // 0x12c4 }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Kunkka_Tidebringer : public CDOTA_Buff { public: - bool m_bTidebringerAttack; // 0x11e8 + bool m_bTidebringerAttack; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t cleave_starting_width; // 0x11ec - int32_t cleave_ending_width; // 0x11f0 - int32_t cleave_distance; // 0x11f4 - int32_t damage_bonus; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc - int32_t cleave_damage; // 0x1200 - bool m_bIgnoreCooldown; // 0x1204 - bool m_bDreadPirate; // 0x1205 + int32_t cleave_starting_width; // 0x12bc + int32_t cleave_ending_width; // 0x12c0 + int32_t cleave_distance; // 0x12c4 + int32_t damage_bonus; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + int32_t cleave_damage; // 0x12d0 + bool m_bIgnoreCooldown; // 0x12d4 + bool m_bDreadPirate; // 0x12d5 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Kunkka_NoQuarter : public CDOTA_Buff { public: - int32_t m_nSpeedBonusPercentage; // 0x11e8 + int32_t m_nSpeedBonusPercentage; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot : public CDOTA_Buff { public: - float armour_increase; // 0x11e8 - float speed_increase_pct; // 0x11ec + float armour_increase; // 0x12b8 + float speed_increase_pct; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpotMarker : public CDOTA_Buff { public: @@ -10414,64 +10469,64 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot_SeaLegs_Thinker : public CDOTA_Buff { public: - Vector m_vLastPosition; // 0x11e8 - CHandle< C_BaseEntity > m_hEntity; // 0x11f4 + Vector m_vLastPosition; // 0x12b8 + CHandle< C_BaseEntity > m_hEntity; // 0x12c4 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x11e8 - bool m_bIsReflection; // 0x11f4 + Vector m_vStartLoc; // 0x12b8 + bool m_bIsReflection; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - CHandle< C_BaseEntity > m_hEntity; // 0x11f8 + CHandle< C_BaseEntity > m_hEntity; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Kunkka_Fear : public CDOTA_Buff { public: - CHandle< C_DOTA_BaseNPC > m_pEntityToBeAfraidOf; // 0x11e8 + CHandle< C_DOTA_BaseNPC > m_pEntityToBeAfraidOf; // 0x12b8 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Kunkka_Ghost_Ship_Fire_Cannons : public CDOTA_Buff { public: - float m_flDistance; // 0x11e8 - float m_flSpeed; // 0x11ec - int32_t m_nNumCannons; // 0x11f0 - float m_flProjectileRadius; // 0x11f4 - bool m_bGhostShipIsEntity; // 0x11f8 + float m_flDistance; // 0x12b8 + float m_flSpeed; // 0x12bc + int32_t m_nNumCannons; // 0x12c0 + float m_flProjectileRadius; // 0x12c4 + bool m_bGhostShipIsEntity; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t m_hGhostShipProjectile; // 0x11fc - CHandle< C_BaseEntity > m_hGhostShip; // 0x1200 + int32_t m_hGhostShipProjectile; // 0x12cc + CHandle< C_BaseEntity > m_hGhostShip; // 0x12d0 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Kunkka_Ghost_Ship_Fleet : public CDOTA_Buff { public: - Vector vCasterOrigin; // 0x11e8 - Vector vEnd; // 0x11f4 - int32_t m_nHitCount; // 0x1200 + Vector vCasterOrigin; // 0x12b8 + Vector vEnd; // 0x12c4 + int32_t m_nHitCount; // 0x12d0 }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_Knockback : public CDOTA_Modifier_Knockback { public: @@ -10479,7 +10534,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_Loaded : public CDOTA_Buff { public: @@ -10487,73 +10542,73 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_DamageAbsorb : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x11e8 - int32_t movespeed_bonus; // 0x11ec - float ghostship_absorb; // 0x11f0 + int32_t m_iAccumulatedDamage; // 0x12b8 + int32_t movespeed_bonus; // 0x12bc + float ghostship_absorb; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_DamageDelay : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x11e8 - float m_flDuration; // 0x11ec + int32_t m_iAccumulatedDamage; // 0x12b8 + float m_flDuration; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Kunkka_SeaSickness : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x11e8 - float m_flDuration; // 0x11ec - float m_flMovespeedBonus; // 0x11f0 + int32_t m_iAccumulatedDamage; // 0x12b8 + float m_flDuration; // 0x12bc + float m_flMovespeedBonus; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Kunkka_Davy_Jones_Locker_Aura : public CDOTA_Buff { public: - float m_flRadius; // 0x11e8 + float m_flRadius; // 0x12b8 }; // Alignment: 19 -// Size: 0x1290 +// Size: 0x1360 class CDOTA_Modifier_Kunkka_Man_the_Helm : public CDOTA_Modifier_MagicImmune { public: - float tick_interval; // 0x11e8 - float forward_move_speed; // 0x11ec - float turn_rate_boosted; // 0x11f0 - float turn_rate; // 0x11f4 - int32_t hit_radius; // 0x11f8 - int32_t knockback_radius; // 0x11fc - bool m_bHitFirstUpdate; // 0x1200 + float tick_interval; // 0x12b8 + float forward_move_speed; // 0x12bc + float turn_rate_boosted; // 0x12c0 + float turn_rate; // 0x12c4 + int32_t hit_radius; // 0x12c8 + int32_t knockback_radius; // 0x12cc + bool m_bHitFirstUpdate; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - GameTime_t m_flHitEndTime; // 0x1204 - float hit_recover_time; // 0x1208 - float m_flTurnBoostProgress; // 0x120c - float m_flFacingTarget; // 0x1210 - GameTime_t m_flLastHeroAttackTime; // 0x1214 - ParticleIndex_t m_nFXIndex; // 0x1218 - float m_flGyroshellDurationRemaining; // 0x121c - CUtlVector< float32 > m_flTurnHistory; // 0x1220 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1238 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1250 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1268 - Vector m_vDirection; // 0x1280 + GameTime_t m_flHitEndTime; // 0x12d4 + float hit_recover_time; // 0x12d8 + float m_flTurnBoostProgress; // 0x12dc + float m_flFacingTarget; // 0x12e0 + GameTime_t m_flLastHeroAttackTime; // 0x12e4 + ParticleIndex_t m_nFXIndex; // 0x12e8 + float m_flGyroshellDurationRemaining; // 0x12ec + CUtlVector< float32 > m_flTurnHistory; // 0x12f0 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1308 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1320 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1338 + Vector m_vDirection; // 0x1350 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Kunkka_No_Quarter_Buff : public CDOTA_Buff { public: @@ -10561,73 +10616,73 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Kunkka_No_Quarter_Counter : public CDOTA_Buff { public: - int32_t m_nStackCount; // 0x11e8 + int32_t m_nStackCount; // 0x12b8 }; // Alignment: 12 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Unit : public CDOTA_Buff { public: - bool m_bActivated; // 0x11e8 + bool m_bActivated; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - Vector m_vFacingDir; // 0x11ec - CUtlVector< Vector > m_vecWatchPositions; // 0x11f8 - ParticleIndex_t m_nBeamFXIndex; // 0x1210 + Vector m_vFacingDir; // 0x12bc + CUtlVector< Vector > m_vecWatchPositions; // 0x12c8 + ParticleIndex_t m_nBeamFXIndex; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< int32 > m_nViewerIDs; // 0x1218 - int32_t remnant_watch_distance; // 0x1230 - int32_t remnant_watch_radius; // 0x1234 - float duration; // 0x1238 - int32_t watch_path_vision_radius; // 0x123c - int32_t impact_damage; // 0x1240 - float pull_duration; // 0x1244 - float activation_delay; // 0x1248 + CUtlVector< int32 > m_nViewerIDs; // 0x12e8 + int32_t remnant_watch_distance; // 0x1300 + int32_t remnant_watch_radius; // 0x1304 + float duration; // 0x1308 + int32_t watch_path_vision_radius; // 0x130c + int32_t impact_damage; // 0x1310 + float pull_duration; // 0x1314 + float activation_delay; // 0x1318 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Pull : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - PlayerID_t m_nPlayerID; // 0x11ec - float think_interval; // 0x11f0 + ParticleIndex_t m_nFXIndex; // 0x12b8 + PlayerID_t m_nPlayerID; // 0x12bc + float think_interval; // 0x12c0 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnantThinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - Vector m_vFacingDir; // 0x11ec - CHandle< C_BaseEntity > m_hRemnant; // 0x11f8 - bool m_bTriggered; // 0x11fc + int32_t radius; // 0x12b8 + Vector m_vFacingDir; // 0x12bc + CHandle< C_BaseEntity > m_hRemnant; // 0x12c8 + bool m_bTriggered; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float m_flCurThink; // 0x1200 + float m_flCurThink; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x11e8 + int32_t m_nRadius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -10635,71 +10690,71 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x11e8 - float m_fVoidMarkPct; // 0x11ec - int32_t movement_slow_pct; // 0x11f0 - int32_t pop_damage; // 0x11f4 + ParticleIndex_t m_nFXStackIndex; // 0x12b8 + float m_fVoidMarkPct; // 0x12bc + int32_t movement_slow_pct; // 0x12c0 + int32_t pop_damage; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Caster : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Phase_Ally : public CDOTA_Buff { public: - int32_t damage_radius; // 0x11e8 - float debuff_duration; // 0x11ec - int32_t destination_fx_radius; // 0x11f0 - int32_t damage; // 0x11f4 - Vector m_vExitPos; // 0x11f8 + int32_t damage_radius; // 0x12b8 + float debuff_duration; // 0x12bc + int32_t destination_fx_radius; // 0x12c0 + int32_t damage; // 0x12c4 + Vector m_vExitPos; // 0x12c8 }; // Alignment: 20 -// Size: 0x1290 +// Size: 0x1360 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Phase : public CDOTA_Buff { public: - Vector m_vFirstPortalPos; // 0x11e8 + Vector m_vFirstPortalPos; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< Vector > m_vecDestinations; // 0x11f8 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x1210 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1228 - int32_t m_nCurrentDestinationIndex; // 0x1240 - int32_t m_nClosestIndexPosToClick; // 0x1244 - int32_t m_nPortalHeightOffset; // 0x1248 + CUtlVector< Vector > m_vecDestinations; // 0x12c8 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x12e0 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x12f8 + int32_t m_nCurrentDestinationIndex; // 0x1310 + int32_t m_nClosestIndexPosToClick; // 0x1314 + int32_t m_nPortalHeightOffset; // 0x1318 private: - [[maybe_unused]] uint8_t __pad124c[0x4]; // 0x124c + [[maybe_unused]] uint8_t __pad131c[0x4]; // 0x131c public: - char* m_szAlliesPortalFX; // 0x1250 - char* m_szEnemiesPortalFX; // 0x1258 - int32_t m_nPortalRadius; // 0x1260 - int32_t m_nPortalPadding; // 0x1264 - int32_t m_nFinalImpactDamageRadius; // 0x1268 - int32_t m_nFinalImpactFXRadius; // 0x126c - int32_t destination_fx_radius; // 0x1270 - int32_t damage_radius; // 0x1274 - int32_t portals_per_ring; // 0x1278 - int32_t angle_per_ring_portal; // 0x127c - int32_t first_ring_distance_offset; // 0x1280 - float debuff_duration; // 0x1284 - int32_t damage; // 0x1288 + char* m_szAlliesPortalFX; // 0x1320 + char* m_szEnemiesPortalFX; // 0x1328 + int32_t m_nPortalRadius; // 0x1330 + int32_t m_nPortalPadding; // 0x1334 + int32_t m_nFinalImpactDamageRadius; // 0x1338 + int32_t m_nFinalImpactFXRadius; // 0x133c + int32_t destination_fx_radius; // 0x1340 + int32_t damage_radius; // 0x1344 + int32_t portals_per_ring; // 0x1348 + int32_t angle_per_ring_portal; // 0x134c + int32_t first_ring_distance_offset; // 0x1350 + float debuff_duration; // 0x1354 + int32_t damage; // 0x1358 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: @@ -10707,32 +10762,32 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: - int32_t base_absorb_amount; // 0x11e8 - int32_t m_nAbsorbRemaining; // 0x11ec + int32_t base_absorb_amount; // 0x12b8 + int32_t m_nAbsorbRemaining; // 0x12bc }; // Alignment: 9 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_Ring : public CDOTA_Buff { public: - float m_fLastRadius; // 0x11e8 - float m_fCurRadius; // 0x11ec - GameTime_t m_fLastThink; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - CUtlVector< CHandle< C_BaseEntity > > m_EnemiesHit; // 0x11f8 - CUtlVector< CHandle< C_BaseEntity > > m_AlliesHit; // 0x1210 - int32_t speed; // 0x1228 - int32_t radius; // 0x122c - int32_t damage; // 0x1230 + float m_fLastRadius; // 0x12b8 + float m_fCurRadius; // 0x12bc + GameTime_t m_fLastThink; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + CUtlVector< CHandle< C_BaseEntity > > m_EnemiesHit; // 0x12c8 + CUtlVector< CHandle< C_BaseEntity > > m_AlliesHit; // 0x12e0 + int32_t speed; // 0x12f8 + int32_t radius; // 0x12fc + int32_t damage; // 0x1300 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Push : public CDOTA_Buff { public: @@ -10740,68 +10795,68 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_PhantomAttack_Crit : public CDOTA_Buff { public: - int32_t m_nCritPercent; // 0x11e8 + int32_t m_nCritPercent; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x11e8 + int32_t m_nProjectileID; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling_ImpactSlow : public CDOTA_Buff { public: - int32_t move_slow_pct; // 0x11e8 + int32_t move_slow_pct; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_Dissimilate_Lure_Thinker : public CDOTA_Buff { public: - int32_t m_nDamageRadius; // 0x11e8 - float m_fDissimilateDamage; // 0x11ec - float m_fThinkInterval; // 0x11f0 - float m_fDissimilateDamagePctPerInterval; // 0x11f4 - float m_fLingerDuration; // 0x11f8 + int32_t m_nDamageRadius; // 0x12b8 + float m_fDissimilateDamage; // 0x12bc + float m_fThinkInterval; // 0x12c0 + float m_fDissimilateDamagePctPerInterval; // 0x12c4 + float m_fLingerDuration; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_Dissimilate_Lure_Burn : public CDOTA_Buff { public: - float m_fDamagePerInterval; // 0x11e8 - int32_t m_nBonusIncomingMagicDamage; // 0x11ec + float m_fDamagePerInterval; // 0x12b8 + int32_t m_nBonusIncomingMagicDamage; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_SpellAmped : public CDOTA_Buff { public: - int32_t m_nSpellAmp; // 0x11e8 + int32_t m_nSpellAmp; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_Cadence : public CDOTA_Buff { public: - float m_fSpellAmp; // 0x11e8 + float m_fSpellAmp; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_ResonantPulse_Suppression_MagicImmunity : public CDOTA_Modifier_MagicImmune { public: @@ -10809,17 +10864,17 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Vacuum_Motion : public CDOTA_Buff { public: - float m_fVacuumSpeed; // 0x11e8 - float m_fStunDuration; // 0x11ec - Vector m_vPullLoc; // 0x11f0 + float m_fVacuumSpeed; // 0x12b8 + float m_fStunDuration; // 0x12bc + Vector m_vPullLoc; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AstralStep_Attacks : public CDOTA_Buff { public: @@ -10827,143 +10882,143 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Trail_Thinker : public CDOTA_Buff { public: - float m_fThinkInterval; // 0x11e8 - float m_fPopDamagePctPerInterval; // 0x11ec - float m_fLingerDuration; // 0x11f0 - int32_t radius; // 0x11f4 - int32_t pop_damage; // 0x11f8 + float m_fThinkInterval; // 0x12b8 + float m_fPopDamagePctPerInterval; // 0x12bc + float m_fLingerDuration; // 0x12c0 + int32_t radius; // 0x12c4 + int32_t pop_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Trail_Burn : public CDOTA_Buff { public: - float m_fDamagePerInterval; // 0x11e8 + float m_fDamagePerInterval; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Breach_Burn : public CDOTA_Buff { public: - float m_fDamagePerInterval; // 0x11e8 + float m_fDamagePerInterval; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Rocket_Barrage : public CDOTA_Buff { public: - int32_t rocket_damage; // 0x11e8 - int32_t m_nPower; // 0x11ec + int32_t rocket_damage; // 0x12b8 + int32_t m_nPower; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride : public CDOTA_Buff { public: - int32_t grab_radius; // 0x11e8 - CHandle< C_BaseEntity > m_hLoadedUnit; // 0x11ec + int32_t grab_radius; // 0x12b8 + CHandle< C_BaseEntity > m_hLoadedUnit; // 0x12bc }; // Alignment: 14 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_Gyrocopter_Homing_Missile : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - ParticleIndex_t m_nFXIndex2; // 0x11ec - int32_t acceleration; // 0x11f0 - float pre_flight_time; // 0x11f4 - float stun_duration; // 0x11f8 - int32_t m_nMissileDamage; // 0x11fc - int32_t damage; // 0x1200 - int32_t m_nTeamNumber; // 0x1204 + ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex2; // 0x12bc + int32_t acceleration; // 0x12c0 + float pre_flight_time; // 0x12c4 + float stun_duration; // 0x12c8 + int32_t m_nMissileDamage; // 0x12cc + int32_t damage; // 0x12d0 + int32_t m_nTeamNumber; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1208[0x8]; // 0x1208 + [[maybe_unused]] uint8_t __pad12d8[0x8]; // 0x12d8 public: - float speed; // 0x1210 - float m_flFacingTarget; // 0x1214 - int32_t movement_turn_rate; // 0x1218 - int32_t m_nPower; // 0x121c - CHandle< C_BaseEntity > m_hAttachTarget; // 0x1220 + float speed; // 0x12e0 + float m_flFacingTarget; // 0x12e4 + int32_t movement_turn_rate; // 0x12e8 + int32_t m_nPower; // 0x12ec + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad1224[0x4]; // 0x1224 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CountdownTimer m_MoveTime; // 0x1228 + CountdownTimer m_MoveTime; // 0x12f8 }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Gyrocopter_Flak_Cannon : public CDOTA_Buff { public: - int32_t max_attacks; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t m_iNumAttacks; // 0x11f0 - int32_t projectile_speed; // 0x11f4 - int32_t radius; // 0x11f8 - int32_t max_targets; // 0x11fc - bool m_bFirstStrike; // 0x1200 - bool m_bShouldFireMissiles; // 0x1201 + int32_t max_attacks; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t m_iNumAttacks; // 0x12c0 + int32_t projectile_speed; // 0x12c4 + int32_t radius; // 0x12c8 + int32_t max_targets; // 0x12cc + bool m_bFirstStrike; // 0x12d0 + bool m_bShouldFireMissiles; // 0x12d1 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Flak_Cannon_Scepter : public CDOTA_Buff { public: - float fire_rate; // 0x11e8 - int32_t scepter_radius; // 0x11ec + float fire_rate; // 0x12b8 + int32_t scepter_radius; // 0x12bc }; // Alignment: 12 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Call_Down : public CDOTA_Buff { public: - int32_t slow_duration_first; // 0x11e8 - int32_t slow_duration_second; // 0x11ec - int32_t damage_first; // 0x11f0 - int32_t damage_second; // 0x11f4 - float power; // 0x11f8 - int32_t radius; // 0x11fc - float slow_first; // 0x1200 - float slow_second; // 0x1204 - bool m_bDelayed; // 0x1208 - bool m_bHalfDamage; // 0x1209 - bool m_bFirstStrike; // 0x120a + int32_t slow_duration_first; // 0x12b8 + int32_t slow_duration_second; // 0x12bc + int32_t damage_first; // 0x12c0 + int32_t damage_second; // 0x12c4 + float power; // 0x12c8 + int32_t radius; // 0x12cc + float slow_first; // 0x12d0 + float slow_second; // 0x12d4 + bool m_bDelayed; // 0x12d8 + bool m_bHalfDamage; // 0x12d9 + bool m_bFirstStrike; // 0x12da private: - [[maybe_unused]] uint8_t __pad120b[0x1]; // 0x120b + [[maybe_unused]] uint8_t __pad12db[0x1]; // 0x12db public: - CHandle< C_BaseEntity > m_hInflictorAbility; // 0x120c + CHandle< C_BaseEntity > m_hInflictorAbility; // 0x12dc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Call_Down_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x11e8 + int32_t movespeed; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_RocketBarrage_On_Attack : public CDOTA_Buff { public: - int32_t strike_chance; // 0x11e8 - float duration; // 0x11ec + int32_t strike_chance; // 0x12b8 + float duration; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Gyrocopter_Rocket_Barrage_Thinker : public CDOTA_Buff { public: @@ -10971,17 +11026,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride_LoadedUnit : public CDOTA_Buff { public: - int32_t hit_radius; // 0x11e8 - float timeout_duration; // 0x11ec - int32_t damage; // 0x11f0 + int32_t hit_radius; // 0x12b8 + float timeout_duration; // 0x12bc + int32_t damage; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride_LoadedUnit_Timeout : public CDOTA_Buff { public: @@ -10989,51 +11044,51 @@ public: }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Flak_Cannon_Fire_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x11e8 - int32_t path_radius; // 0x11f4 - float linger_duration; // 0x11f8 - float flDamage; // 0x11fc + Vector m_vPathDir; // 0x12b8 + int32_t path_radius; // 0x12c4 + float linger_duration; // 0x12c8 + float flDamage; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Flak_Cannon_Fire_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x11e8 + float flDamage; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Call_Down_Attack_Buff : public CDOTA_Buff { public: - int32_t movespeed; // 0x11e8 - int32_t attackspeed; // 0x11ec + int32_t movespeed; // 0x12b8 + int32_t attackspeed; // 0x12bc }; // Alignment: 6 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Special_Gyrocopter_Call_Down_Land_Mines : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float proximity_threshold; // 0x11ec - float damage; // 0x11f0 - float activation_delay; // 0x11f4 - bool bActivated; // 0x11f8 + int32_t radius; // 0x12b8 + float proximity_threshold; // 0x12bc + float damage; // 0x12c0 + float activation_delay; // 0x12c4 + bool bActivated; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x7]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x7]; // 0x12c9 public: - CountdownTimer m_Timer; // 0x1200 + CountdownTimer m_Timer; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Call_Down_Wingman : public CDOTA_Buff { public: @@ -11041,31 +11096,31 @@ public: }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Thinker : public CDOTA_Buff { public: - float pulse_interval; // 0x11e8 - int32_t iEffectRadius; // 0x11ec - int32_t base_damage; // 0x11f0 - int32_t base_heal; // 0x11f4 - int32_t scepter_heal; // 0x11f8 - CHandle< C_BaseEntity > m_hFollowTarget; // 0x11fc - CHandle< C_BaseEntity > m_hInflictor; // 0x1200 - GameTime_t m_flNextPulseTime; // 0x1204 - ParticleIndex_t m_nThinkerFXIndex; // 0x1208 + float pulse_interval; // 0x12b8 + int32_t iEffectRadius; // 0x12bc + int32_t base_damage; // 0x12c0 + int32_t base_heal; // 0x12c4 + int32_t scepter_heal; // 0x12c8 + CHandle< C_BaseEntity > m_hFollowTarget; // 0x12cc + CHandle< C_BaseEntity > m_hInflictor; // 0x12d0 + GameTime_t m_flNextPulseTime; // 0x12d4 + ParticleIndex_t m_nThinkerFXIndex; // 0x12d8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Evasion : public CDOTA_Buff { public: - int32_t miss_rate; // 0x11e8 + int32_t miss_rate; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Dawnbreaker_Solar_Guardian_AirTime : public CDOTA_Buff { public: @@ -11073,16 +11128,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Disable : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x11e8 - ParticleIndex_t m_nStatusFXIndex; // 0x11ec + ParticleIndex_t m_nCasterFXIndex; // 0x12b8 + ParticleIndex_t m_nStatusFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_After_Land : public CDOTA_Buff { public: @@ -11090,75 +11145,75 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity : public CDOTA_Buff { public: - bool m_bAppliesToCreeps; // 0x11e8 + bool m_bAppliesToCreeps; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t attack_count; // 0x11ec - bool m_bShouldIncrement; // 0x11f0 + int32_t attack_count; // 0x12bc + bool m_bShouldIncrement; // 0x12c0 }; // Alignment: 14 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Attack_Buff : public CDOTA_Buff { public: - bool m_bIsBuffedAttack; // 0x11e8 - bool m_bSunSentinel; // 0x11e9 + bool m_bIsBuffedAttack; // 0x12b8 + bool m_bSunSentinel; // 0x12b9 private: - [[maybe_unused]] uint8_t __pad11ea[0x2]; // 0x11ea + [[maybe_unused]] uint8_t __pad12ba[0x2]; // 0x12ba public: - int32_t heal_pct; // 0x11ec - int32_t bonus_damage; // 0x11f0 - int32_t heal_radius; // 0x11f4 - int32_t heal_from_creeps; // 0x11f8 - int32_t allied_healing_pct; // 0x11fc - int32_t m_nSmashDamage; // 0x1200 - int32_t m_nCounterOrbitalChance; // 0x1204 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesToHeal; // 0x1208 - float m_flTotalToHeal; // 0x1220 - bool m_bCounterOrbitalProcessed; // 0x1224 - bool m_bIsCounterOrbitalSmash; // 0x1225 - bool m_bBrightFoundryProcessed; // 0x1226 + int32_t heal_pct; // 0x12bc + int32_t bonus_damage; // 0x12c0 + int32_t heal_radius; // 0x12c4 + int32_t heal_from_creeps; // 0x12c8 + int32_t allied_healing_pct; // 0x12cc + int32_t m_nSmashDamage; // 0x12d0 + int32_t m_nCounterOrbitalChance; // 0x12d4 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesToHeal; // 0x12d8 + float m_flTotalToHeal; // 0x12f0 + bool m_bCounterOrbitalProcessed; // 0x12f4 + bool m_bIsCounterOrbitalSmash; // 0x12f5 + bool m_bBrightFoundryProcessed; // 0x12f6 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge_Thinker : public CDOTA_Buff { public: - int32_t flare_radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec - CHandle< C_BaseEntity > m_hInflictor; // 0x11f0 + int32_t flare_radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc + CHandle< C_BaseEntity > m_hInflictor; // 0x12c0 }; // Alignment: 11 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x11e8 - int32_t projectile_speed; // 0x11ec - int32_t travel_speed_pct; // 0x11f0 - int32_t m_nMaxRange; // 0x11f4 - Vector m_vStartPoint; // 0x11f8 - Vector m_vLastTrailThinkerLocation; // 0x1204 - Vector m_vEndPointShard; // 0x1210 - ParticleIndex_t m_nStatusFXIndex; // 0x121c - int32_t flare_radius; // 0x1220 - bool bHasStartedBurning; // 0x1224 + int32_t m_nProjectileID; // 0x12b8 + int32_t projectile_speed; // 0x12bc + int32_t travel_speed_pct; // 0x12c0 + int32_t m_nMaxRange; // 0x12c4 + Vector m_vStartPoint; // 0x12c8 + Vector m_vLastTrailThinkerLocation; // 0x12d4 + Vector m_vEndPointShard; // 0x12e0 + ParticleIndex_t m_nStatusFXIndex; // 0x12ec + int32_t flare_radius; // 0x12f0 + bool bHasStartedBurning; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad1225[0x3]; // 0x1225 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - float flare_debuff_duration; // 0x1228 + float flare_debuff_duration; // 0x12f8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Caster : public CDOTA_Buff { public: @@ -11166,89 +11221,89 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - float trail_duration; // 0x11ec - int32_t flare_radius; // 0x11f0 - int32_t m_nProjectileHandle; // 0x11f4 - CHandle< C_BaseEntity > m_hHavenThinker; // 0x11f8 + ParticleIndex_t m_nFXIndex; // 0x12b8 + float trail_duration; // 0x12bc + int32_t flare_radius; // 0x12c0 + int32_t m_nProjectileHandle; // 0x12c4 + CHandle< C_BaseEntity > m_hHavenThinker; // 0x12c8 }; // Alignment: 22 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Caster : public CDOTA_Buff { public: - int32_t swipe_radius; // 0x11e8 - int32_t swipe_damage; // 0x11ec - int32_t smash_radius; // 0x11f0 - int32_t smash_damage; // 0x11f4 - int32_t m_nCurrentSpeed; // 0x11f8 - float flSwipeInterval; // 0x11fc - GameTime_t m_flNextHit; // 0x1200 - int32_t iCurrentAttack; // 0x1204 - int32_t total_attacks; // 0x1208 - float smash_stun_duration; // 0x120c - float sweep_stun_duration; // 0x1210 - bool m_bHasCompletedMove; // 0x1214 + int32_t swipe_radius; // 0x12b8 + int32_t swipe_damage; // 0x12bc + int32_t smash_radius; // 0x12c0 + int32_t smash_damage; // 0x12c4 + int32_t m_nCurrentSpeed; // 0x12c8 + float flSwipeInterval; // 0x12cc + GameTime_t m_flNextHit; // 0x12d0 + int32_t iCurrentAttack; // 0x12d4 + int32_t total_attacks; // 0x12d8 + float smash_stun_duration; // 0x12dc + float sweep_stun_duration; // 0x12e0 + bool m_bHasCompletedMove; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad1215[0x3]; // 0x1215 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - float duration; // 0x1218 - Vector m_vTargetHorizontalDirection; // 0x121c - int32_t smash_distance_from_hero; // 0x1228 - float animation_rate; // 0x122c - float turn_rate; // 0x1230 - float m_flFacingTarget; // 0x1234 - bool m_bSuncrusher; // 0x1238 + float duration; // 0x12e8 + Vector m_vTargetHorizontalDirection; // 0x12ec + int32_t smash_distance_from_hero; // 0x12f8 + float animation_rate; // 0x12fc + float turn_rate; // 0x1300 + float m_flFacingTarget; // 0x1304 + bool m_bSuncrusher; // 0x1308 private: - [[maybe_unused]] uint8_t __pad1239[0x3]; // 0x1239 + [[maybe_unused]] uint8_t __pad1309[0x3]; // 0x1309 public: - float m_flDistanceSinceStandAblazeThinker; // 0x123c - float m_flDistancePerStandAblazeThinker; // 0x1240 - CHandle< C_DOTABaseAbility > m_hCelestialHammerForFire; // 0x1244 + float m_flDistanceSinceStandAblazeThinker; // 0x130c + float m_flDistancePerStandAblazeThinker; // 0x1310 + CHandle< C_DOTABaseAbility > m_hCelestialHammerForFire; // 0x1314 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Attack_Bonus : public CDOTA_Buff { public: - int32_t attack_damage; // 0x11e8 + int32_t attack_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Slow : public CDOTA_Buff { public: - int32_t swipe_slow; // 0x11e8 + int32_t swipe_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Smash_Stun : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 + int32_t damage; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 - int32_t burn_damage; // 0x11ec - float burn_interval; // 0x11f0 - CHandle< C_BaseEntity > m_hInflictor; // 0x11f4 + int32_t move_slow; // 0x12b8 + int32_t burn_damage; // 0x12bc + float burn_interval; // 0x12c0 + CHandle< C_BaseEntity > m_hInflictor; // 0x12c4 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_CelestialFire_Thinker : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge_Thinker { public: @@ -11256,7 +11311,7 @@ public: }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_CelestialFire_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: @@ -11264,7 +11319,7 @@ public: }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_BrightFoundry_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: @@ -11272,18 +11327,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_SolarBattery : public CDOTA_Buff { public: - int32_t move_speed_pct; // 0x11e8 - int32_t attack_speed; // 0x11ec - int32_t m_nBonusMovementSpeedPct; // 0x11f0 - int32_t m_nBonusAttackSpeed; // 0x11f4 + int32_t move_speed_pct; // 0x12b8 + int32_t attack_speed; // 0x12bc + int32_t m_nBonusMovementSpeedPct; // 0x12c0 + int32_t m_nBonusAttackSpeed; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Lightbringer : public CDOTA_Buff { public: @@ -11291,7 +11346,7 @@ public: }; // Alignment: 0 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_SunSentinelLuminosity_Attack_Buff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Attack_Buff { public: @@ -11299,7 +11354,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar : public CDOTA_Buff { public: @@ -11307,20 +11362,20 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar_Active : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - bool m_bPassive; // 0x11ec + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + bool m_bPassive; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - float m_flCooldown; // 0x11f0 + float m_flCooldown; // 0x12c0 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_SolarFlare_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: @@ -11328,17 +11383,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Dawnbreaker_Starbreaker_CounterOrbital : public CDOTA_Buff { public: - int32_t trigger_chance; // 0x11e8 - float cooldown; // 0x11ec - GameTime_t m_fLastProc; // 0x11f0 + int32_t trigger_chance; // 0x12b8 + float cooldown; // 0x12bc + GameTime_t m_fLastProc; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Dawnbreaker_Starbreaker_CounterOrbital_Marker : public CDOTA_Buff { public: @@ -11346,7 +11401,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble : public CDOTA_Buff { public: @@ -11354,69 +11409,69 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble_Effect : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 - int32_t heal_reduction; // 0x11ec - int32_t cast_reduction; // 0x11f0 + int32_t damage_reduction; // 0x12b8 + int32_t heal_reduction; // 0x12bc + int32_t cast_reduction; // 0x12c0 }; // Alignment: 12 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Bane_Nightmare : public CDOTA_Buff { public: - bool m_bSweetDreams; // 0x11e8 - bool m_bConfusion; // 0x11e9 - bool m_bSelfBreakAvailable; // 0x11ea - bool m_bNoStatusEffect; // 0x11eb - int32_t m_nSource; // 0x11ec - float animation_rate; // 0x11f0 - GameTime_t m_flNextNightmareDamageTime; // 0x11f4 - float m_flAccumNightmareDamage; // 0x11f8 - int32_t movespeed_pct; // 0x11fc - int32_t attack_speed; // 0x1200 - int32_t model_scale; // 0x1204 - CHandle< C_BaseEntity > m_hConfusionAttackTarget; // 0x1208 + bool m_bSweetDreams; // 0x12b8 + bool m_bConfusion; // 0x12b9 + bool m_bSelfBreakAvailable; // 0x12ba + bool m_bNoStatusEffect; // 0x12bb + int32_t m_nSource; // 0x12bc + float animation_rate; // 0x12c0 + GameTime_t m_flNextNightmareDamageTime; // 0x12c4 + float m_flAccumNightmareDamage; // 0x12c8 + int32_t movespeed_pct; // 0x12cc + int32_t attack_speed; // 0x12d0 + int32_t model_scale; // 0x12d4 + CHandle< C_BaseEntity > m_hConfusionAttackTarget; // 0x12d8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Bane_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: - int32_t m_nMoveSpeed; // 0x11e8 + int32_t m_nMoveSpeed; // 0x12b8 }; // Alignment: 9 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x11e8 - int32_t fiend_grip_boost_lifesteal_multiplier; // 0x11ec - int32_t fiend_grip_damage; // 0x11f0 - int32_t fiend_grip_spread_radius; // 0x11f4 - float fiend_grip_tick_interval; // 0x11f8 - GameTime_t m_flLastSpreadTime; // 0x11fc - bool m_bThinkerSource; // 0x1200 - bool m_bRequiresChanneling; // 0x1201 - bool m_bPrimaryGrip; // 0x1202 + int32_t fiend_grip_mana_drain; // 0x12b8 + int32_t fiend_grip_boost_lifesteal_multiplier; // 0x12bc + int32_t fiend_grip_damage; // 0x12c0 + int32_t fiend_grip_spread_radius; // 0x12c4 + float fiend_grip_tick_interval; // 0x12c8 + GameTime_t m_flLastSpreadTime; // 0x12cc + bool m_bThinkerSource; // 0x12d0 + bool m_bRequiresChanneling; // 0x12d1 + bool m_bPrimaryGrip; // 0x12d2 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Cast_Illusion : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x11e8 - float fiend_grip_tick_interval; // 0x11ec + int32_t fiend_grip_mana_drain; // 0x12b8 + float fiend_grip_tick_interval; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Self : public CDOTA_Buff { public: @@ -11424,7 +11479,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Illusion_Can_Only_Channel : public CDOTA_Buff { public: @@ -11432,7 +11487,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Illusion : public CDOTA_Buff { public: @@ -11440,68 +11495,68 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble_DamageStealBuff : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 + int32_t damage_reduction; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Bane_FiendsGripThinker : public CDOTA_Buff { public: - int32_t latch_range; // 0x11e8 + int32_t latch_range; // 0x12b8 }; // Alignment: 5 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_AghsFort_Bane_BrainSap_Knockback : public CDOTA_Modifier_Knockback { public: - int32_t radius; // 0x1218 - int32_t heal_pct; // 0x121c - float slow_duration; // 0x1220 - int32_t m_nBrainSapDamage; // 0x1224 - CUtlVector< CHandle< C_BaseEntity > > m_vecHitTargets; // 0x1228 + int32_t radius; // 0x12e8 + int32_t heal_pct; // 0x12ec + float slow_duration; // 0x12f0 + int32_t m_nBrainSapDamage; // 0x12f4 + CUtlVector< CHandle< C_BaseEntity > > m_vecHitTargets; // 0x12f8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Bane_BrainSap_KnockbackSlow : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x11e8 + int32_t movement_slow_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Bane_BrainSap_NightmareMirror : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Bane_BrainSap_Invis : public CDOTA_Modifier_Invisible { public: - int32_t invis_movement_speed; // 0x11f8 + int32_t invis_movement_speed; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Bane_Invis_Crit : public CDOTA_Buff { public: - int32_t invis_brain_sap_crit_pct; // 0x11e8 - int32_t m_nCritPct; // 0x11ec + int32_t invis_brain_sap_crit_pct; // 0x12b8 + int32_t m_nCritPct; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Phoenix_SunRayVision : public CDOTA_Buff { public: @@ -11509,93 +11564,93 @@ public: }; // Alignment: 21 -// Size: 0x1268 +// Size: 0x1338 class CDOTA_Modifier_AghsFort_Phoenix_SunRay : public CDOTA_Buff { public: - float hp_cost_pct; // 0x11e8 - int32_t beam_range; // 0x11ec - int32_t base_damage; // 0x11f0 - int32_t base_heal; // 0x11f4 - float tick_interval; // 0x11f8 - float forward_move_speed; // 0x11fc - float turn_rate_initial; // 0x1200 - float turn_rate; // 0x1204 - int32_t radius; // 0x1208 - float m_flCurrentTime; // 0x120c - float m_flAccumulatedSelfDamage; // 0x1210 - bool m_bMovingForward; // 0x1214 - bool m_bTurningFast; // 0x1215 + float hp_cost_pct; // 0x12b8 + int32_t beam_range; // 0x12bc + int32_t base_damage; // 0x12c0 + int32_t base_heal; // 0x12c4 + float tick_interval; // 0x12c8 + float forward_move_speed; // 0x12cc + float turn_rate_initial; // 0x12d0 + float turn_rate; // 0x12d4 + int32_t radius; // 0x12d8 + float m_flCurrentTime; // 0x12dc + float m_flAccumulatedSelfDamage; // 0x12e0 + bool m_bMovingForward; // 0x12e4 + bool m_bTurningFast; // 0x12e5 private: - [[maybe_unused]] uint8_t __pad1216[0x2]; // 0x1216 + [[maybe_unused]] uint8_t __pad12e6[0x2]; // 0x12e6 public: - float m_flFacingTarget; // 0x1218 - float hp_perc_heal; // 0x121c - ParticleIndex_t m_nBeamFXIndex; // 0x1220 - CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x1224 - CHandle< C_BaseEntity > m_hBeamEnd; // 0x1244 - bool m_bCreatedVisionThinkers; // 0x1248 + float m_flFacingTarget; // 0x12e8 + float hp_perc_heal; // 0x12ec + ParticleIndex_t m_nBeamFXIndex; // 0x12f0 + CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x12f4 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x1314 + bool m_bCreatedVisionThinkers; // 0x1318 private: - [[maybe_unused]] uint8_t __pad1249[0x3]; // 0x1249 + [[maybe_unused]] uint8_t __pad1319[0x3]; // 0x1319 public: - CHandle< C_BaseEntity > m_hBeamEndSound; // 0x124c - CUtlVector< CHandle< C_BaseEntity > > m_vecDispelledAllies; // 0x1250 + CHandle< C_BaseEntity > m_hBeamEndSound; // 0x131c + CUtlVector< CHandle< C_BaseEntity > > m_vecDispelledAllies; // 0x1320 }; // Alignment: 13 -// Size: 0x1258 +// Size: 0x1328 class CDOTA_Modifier_AghsFort_Phoenix_IcarusDive : public CDOTA_Buff { public: - Vector m_vSource; // 0x11e8 - Vector m_vTarget; // 0x11f4 - Vector m_vDirection; // 0x1200 - QAngle m_angDirection; // 0x120c - float m_flCurrentTime; // 0x1218 - int32_t dash_length; // 0x121c - int32_t dash_width; // 0x1220 - int32_t hit_radius; // 0x1224 - float burn_duration; // 0x1228 - float dive_duration; // 0x122c - int32_t damage_per_second; // 0x1230 + Vector m_vSource; // 0x12b8 + Vector m_vTarget; // 0x12c4 + Vector m_vDirection; // 0x12d0 + QAngle m_angDirection; // 0x12dc + float m_flCurrentTime; // 0x12e8 + int32_t dash_length; // 0x12ec + int32_t dash_width; // 0x12f0 + int32_t hit_radius; // 0x12f4 + float burn_duration; // 0x12f8 + float dive_duration; // 0x12fc + int32_t damage_per_second; // 0x1300 private: - [[maybe_unused]] uint8_t __pad1234[0x4]; // 0x1234 + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 public: - CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x1238 - bool m_bSavedAlly; // 0x1250 + CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x1308 + bool m_bSavedAlly; // 0x1320 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Phoenix_IcarusDiveBurn : public CDOTA_Buff { public: - float burn_tick_interval; // 0x11e8 - int32_t damage_per_second; // 0x11ec - int32_t slow_movement_speed_pct; // 0x11f0 + float burn_tick_interval; // 0x12b8 + int32_t damage_per_second; // 0x12bc + int32_t slow_movement_speed_pct; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Phoenix_FireSpiritCount : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t spirit_count; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t spirit_count; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Phoenix_FireSpiritBurn : public CDOTA_Buff { public: - float tick_interval; // 0x11e8 - int32_t attackspeed_slow; // 0x11ec - int32_t damage_per_second; // 0x11f0 + float tick_interval; // 0x12b8 + int32_t attackspeed_slow; // 0x12bc + int32_t damage_per_second; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Phoenix_SupernovaHiding : public CDOTA_Buff { public: @@ -11603,62 +11658,62 @@ public: }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Phoenix_Sun : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - float stun_duration; // 0x11ec - int32_t attacks_to_kill; // 0x11f0 - int32_t captain_attack_value; // 0x11f4 - int32_t boss_attack_value; // 0x11f8 - CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x11fc - bool m_bHasExpelCoreShard; // 0x1200 + int32_t aura_radius; // 0x12b8 + float stun_duration; // 0x12bc + int32_t attacks_to_kill; // 0x12c0 + int32_t captain_attack_value; // 0x12c4 + int32_t boss_attack_value; // 0x12c8 + CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x12cc + bool m_bHasExpelCoreShard; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t m_nAttackCount; // 0x1204 + int32_t m_nAttackCount; // 0x12d4 }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Phoenix_SecondSun : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - float stun_duration; // 0x11ec - int32_t attacks_to_kill; // 0x11f0 - int32_t captain_attack_value; // 0x11f4 - int32_t boss_attack_value; // 0x11f8 - int32_t m_nAttackCount; // 0x11fc - int32_t m_nRadius; // 0x1200 - float m_fSecondSunRadiusPct; // 0x1204 + int32_t aura_radius; // 0x12b8 + float stun_duration; // 0x12bc + int32_t attacks_to_kill; // 0x12c0 + int32_t captain_attack_value; // 0x12c4 + int32_t boss_attack_value; // 0x12c8 + int32_t m_nAttackCount; // 0x12cc + int32_t m_nRadius; // 0x12d0 + float m_fSecondSunRadiusPct; // 0x12d4 }; // Alignment: 12 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Phoenix_Sun_Debuff : public CDOTA_Buff { public: - int32_t damage_per_sec; // 0x11e8 - float damage_interval; // 0x11ec - int32_t aura_radius; // 0x11f0 - float m_fRadius; // 0x11f4 - float m_fSecondSunRadiusPct; // 0x11f8 - GameTime_t m_fNextDamageTime; // 0x11fc - GameTime_t m_fLastThinkTime; // 0x1200 - bool m_bHasHorizonAbility; // 0x1204 + int32_t damage_per_sec; // 0x12b8 + float damage_interval; // 0x12bc + int32_t aura_radius; // 0x12c0 + float m_fRadius; // 0x12c4 + float m_fSecondSunRadiusPct; // 0x12c8 + GameTime_t m_fNextDamageTime; // 0x12cc + GameTime_t m_fLastThinkTime; // 0x12d0 + bool m_bHasHorizonAbility; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - int32_t m_nHorizonPushDistance; // 0x1208 - float m_fHorizonPushInterval; // 0x120c - GameTime_t m_fNextHorizonPushTime; // 0x1210 - ParticleIndex_t m_nHorizonFX; // 0x1214 + int32_t m_nHorizonPushDistance; // 0x12d8 + float m_fHorizonPushInterval; // 0x12dc + GameTime_t m_fNextHorizonPushTime; // 0x12e0 + ParticleIndex_t m_nHorizonFX; // 0x12e4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Caster : public CDOTA_Buff { public: @@ -11666,32 +11721,32 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Ally : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hSaviorEnt; // 0x11e8 - float ally_position_offset; // 0x11ec + CHandle< C_BaseEntity > m_hSaviorEnt; // 0x12b8 + float ally_position_offset; // 0x12bc }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Invis : public CDOTA_Modifier_PersistentInvisibility { public: - float duration; // 0x11f8 + float duration; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Phoenix_FireSpirits_Artillery_Carry : public CDOTA_Buff { public: - float unit_position_offset; // 0x11e8 + float unit_position_offset; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Passive : public CDOTA_Buff { public: @@ -11699,246 +11754,246 @@ public: }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Attack_TreeFire_Thinker : public CDOTA_Buff { public: - CUtlVector< CUtlPair< CHandle< C_BaseEntity >, GameTime_t > > m_vecTreeFires; // 0x11e8 - bool m_bCleanupWhenEmpty; // 0x1200 + CUtlVector< CUtlPair< CHandle< C_BaseEntity >, GameTime_t > > m_vecTreeFires; // 0x12b8 + bool m_bCleanupWhenEmpty; // 0x12d0 }; // Alignment: 8 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Attack : public CDOTA_Buff { public: - float radius_pct_as_length; // 0x11e8 - int32_t width; // 0x11ec - float linger_duration; // 0x11f0 - float m_fLength; // 0x11f4 - ParticleIndex_t m_nBeamFXIndex; // 0x11f8 - CHandle< C_BaseEntity > m_hBeamEnd; // 0x11fc - GameTime_t m_flLastHit; // 0x1200 + float radius_pct_as_length; // 0x12b8 + int32_t width; // 0x12bc + float linger_duration; // 0x12c0 + float m_fLength; // 0x12c4 + ParticleIndex_t m_nBeamFXIndex; // 0x12c8 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x12cc + GameTime_t m_flLastHit; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< C_BaseEntity* > m_vecBurningTrees; // 0x1208 + CUtlVector< C_BaseEntity* > m_vecBurningTrees; // 0x12d8 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Phoenix_FlameRevenant_Attack_Damage : public CDOTA_Buff { public: - float m_fDamagePerSecond; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec - ParticleIndex_t m_nActiveFXIndex; // 0x11f0 - ParticleIndex_t m_nActiveStatusFXIndex; // 0x11f4 - float flame_revenant_damage_pct; // 0x11f8 - float think_interval; // 0x11fc - int32_t move_slow_pct; // 0x1200 + float m_fDamagePerSecond; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc + ParticleIndex_t m_nActiveFXIndex; // 0x12c0 + ParticleIndex_t m_nActiveStatusFXIndex; // 0x12c4 + float flame_revenant_damage_pct; // 0x12c8 + float think_interval; // 0x12cc + int32_t move_slow_pct; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Phoenix_SunRay_GammaRay_Slow : public CDOTA_Buff { public: - int32_t move_slow_pct; // 0x11e8 + int32_t move_slow_pct; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Phoenix_SunRay_Luminance : public CDOTA_Buff { public: - float pct_of_heal_as_attack_speed; // 0x11e8 - float m_fAttackSpeedBonus; // 0x11ec + float pct_of_heal_as_attack_speed; // 0x12b8 + float m_fAttackSpeedBonus; // 0x12bc }; // Alignment: 11 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_Flux : public CDOTA_Buff { public: - int32_t m_nCasterTeam; // 0x11e8 - int32_t damage_per_tick_min; // 0x11ec - int32_t damage_per_tick_max; // 0x11f0 - int32_t search_radius; // 0x11f4 - int32_t move_speed_slow_pct; // 0x11f8 - float think_interval; // 0x11fc - float m_fCurrentDamage; // 0x1200 - float m_fDamageIncreasePerTick; // 0x1204 - int32_t m_nCurrentSlow; // 0x1208 - bool m_bAlone; // 0x120c + int32_t m_nCasterTeam; // 0x12b8 + int32_t damage_per_tick_min; // 0x12bc + int32_t damage_per_tick_max; // 0x12c0 + int32_t search_radius; // 0x12c4 + int32_t move_speed_slow_pct; // 0x12c8 + float think_interval; // 0x12cc + float m_fCurrentDamage; // 0x12d0 + float m_fDamageIncreasePerTick; // 0x12d4 + int32_t m_nCurrentSlow; // 0x12d8 + bool m_bAlone; // 0x12dc private: - [[maybe_unused]] uint8_t __pad120d[0x3]; // 0x120d + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - ParticleIndex_t m_nFXIndex; // 0x1210 + ParticleIndex_t m_nFXIndex; // 0x12e0 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - int32_t radius; // 0x11f0 - float explosion_delay_time; // 0x11f4 - float explosion_stun_duration; // 0x11f8 - int32_t explosion_damage; // 0x11fc - int32_t caster_team; // 0x1200 + int32_t radius; // 0x12c0 + float explosion_delay_time; // 0x12c4 + float explosion_stun_duration; // 0x12c8 + int32_t explosion_damage; // 0x12cc + int32_t caster_team; // 0x12d0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Explosion : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t explosion_damage; // 0x11ec - float explosion_stun_duration; // 0x11f0 - float explosion_delay_time; // 0x11f4 + int32_t radius; // 0x12b8 + int32_t explosion_damage; // 0x12bc + float explosion_stun_duration; // 0x12c0 + float explosion_delay_time; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Attack_Speed : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance; // 0x11e8 - int32_t radius; // 0x11ec - float aura_origin_x; // 0x11f0 - float aura_origin_y; // 0x11f4 + int32_t evasion_chance; // 0x12b8 + int32_t radius; // 0x12bc + float aura_origin_x; // 0x12c0 + float aura_origin_y; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Attack_Speed : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x11e8 + int32_t attack_speed_bonus; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Purge : public CDOTA_Buff { public: - int32_t move_speed_slow_pct; // 0x11e8 + int32_t move_speed_slow_pct; // 0x12b8 }; // Alignment: 18 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t wraith_vision_radius; // 0x11ec - int32_t wraith_speed; // 0x11f0 + int32_t radius; // 0x12b8 + int32_t wraith_vision_radius; // 0x12bc + int32_t wraith_speed; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x8]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x8]; // 0x12c4 public: - float activation_delay; // 0x11fc - float scepter_activation_delay; // 0x1200 - float think_interval; // 0x1204 - float search_timer_min; // 0x1208 - float search_timer_max; // 0x120c - float mini_stun_duration; // 0x1210 - int32_t move_speed_slow_pct; // 0x1214 - int32_t m_nSparkDamage; // 0x1218 - bool m_bActive; // 0x121c - bool m_bOriginal; // 0x121d + float activation_delay; // 0x12cc + float scepter_activation_delay; // 0x12d0 + float think_interval; // 0x12d4 + float search_timer_min; // 0x12d8 + float search_timer_max; // 0x12dc + float mini_stun_duration; // 0x12e0 + int32_t move_speed_slow_pct; // 0x12e4 + int32_t m_nSparkDamage; // 0x12e8 + bool m_bActive; // 0x12ec + bool m_bOriginal; // 0x12ed private: - [[maybe_unused]] uint8_t __pad121e[0x2]; // 0x121e + [[maybe_unused]] uint8_t __pad12ee[0x2]; // 0x12ee public: - float m_fSearchTimer; // 0x1220 - float m_fRotationSpeed; // 0x1224 - int32_t m_nRotationDirection; // 0x1228 - Vector m_vRotationCenter; // 0x122c - ParticleIndex_t m_nFXIndex; // 0x1238 + float m_fSearchTimer; // 0x12f0 + float m_fRotationSpeed; // 0x12f4 + int32_t m_nRotationDirection; // 0x12f8 + Vector m_vRotationCenter; // 0x12fc + ParticleIndex_t m_nFXIndex; // 0x1308 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble : public CDOTA_Buff { public: - int32_t damage_increase; // 0x11e8 + int32_t damage_increase; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble_Phase : public CDOTA_Buff { public: - int32_t num_doubles; // 0x11e8 + int32_t num_doubles; // 0x12b8 }; // Alignment: 12 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MeteorShockwave_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x11e8 - float m_fCurRadius; // 0x11ec - GameTime_t m_fLastThink; // 0x11f0 - bool m_bWindingUp; // 0x11f4 + float m_fLastRadius; // 0x12b8 + float m_fCurRadius; // 0x12bc + GameTime_t m_fLastThink; // 0x12c0 + bool m_bWindingUp; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - CountdownTimer m_ViewerTimer; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x1210 + CountdownTimer m_ViewerTimer; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1218 - int32_t speed; // 0x1230 - int32_t radius; // 0x1234 - float knockback_distance; // 0x1238 - float knockback_duration; // 0x123c - float windup_time; // 0x1240 + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12e8 + int32_t speed; // 0x1300 + int32_t radius; // 0x1304 + float knockback_distance; // 0x1308 + float knockback_duration; // 0x130c + float windup_time; // 0x1310 }; // Alignment: 15 -// Size: 0x1268 +// Size: 0x1338 class CDOTA_Modifier_Aghsfort_ArcWardenBoss_SparkWraith_Missile : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - ParticleIndex_t m_nFXIndex2; // 0x11ec - int32_t hero_damage; // 0x11f0 - int32_t acceleration; // 0x11f4 - int32_t min_damage; // 0x11f8 - int32_t max_distance; // 0x11fc - float pre_flight_time; // 0x1200 - float stun_duration; // 0x1204 - int32_t m_nMissileDamage; // 0x1208 - int32_t m_nTeamNumber; // 0x120c + ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex2; // 0x12bc + int32_t hero_damage; // 0x12c0 + int32_t acceleration; // 0x12c4 + int32_t min_damage; // 0x12c8 + int32_t max_distance; // 0x12cc + float pre_flight_time; // 0x12d0 + float stun_duration; // 0x12d4 + int32_t m_nMissileDamage; // 0x12d8 + int32_t m_nTeamNumber; // 0x12dc private: - [[maybe_unused]] uint8_t __pad1210[0x8]; // 0x1210 + [[maybe_unused]] uint8_t __pad12e0[0x8]; // 0x12e0 public: - float speed; // 0x1218 - CHandle< C_BaseEntity > m_hAttachTarget; // 0x121c - Vector m_vStartPosition; // 0x1220 + float speed; // 0x12e8 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12ec + Vector m_vStartPosition; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad122c[0x4]; // 0x122c + [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc public: - CountdownTimer m_EnemyVision; // 0x1230 - CountdownTimer m_MoveTime; // 0x1248 + CountdownTimer m_EnemyVision; // 0x1300 + CountdownTimer m_MoveTime; // 0x1318 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_ArcWardenBoss_SparkWraith_Missile_Target : public CDOTA_Buff { public: @@ -11946,17 +12001,17 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Shard : public CDOTA_Buff { public: - Vector m_vStartPos; // 0x11e8 - Vector m_vEndPos; // 0x11f4 - GameTime_t m_flEndTime; // 0x1200 + Vector m_vStartPos; // 0x12b8 + Vector m_vEndPos; // 0x12c4 + GameTime_t m_flEndTime; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Shard_Pathing : public CDOTA_Buff { public: @@ -11964,7 +12019,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Stun : public CDOTA_Modifier_Stunned { public: @@ -11972,7 +12027,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Thinker : public CDOTA_Buff { public: @@ -11980,7 +12035,7 @@ public: }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_Leap : public CDOTA_Buff { public: @@ -11988,7 +12043,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_Animation : public CDOTA_Buff { public: @@ -11996,131 +12051,131 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_LandDebuff : public CDOTA_Buff { public: - int32_t landing_move_slow_pct; // 0x11e8 + int32_t landing_move_slow_pct; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x11e8 - int32_t totem_damage_percentage; // 0x11ec + int32_t bonus_attack_range; // 0x12b8 + int32_t totem_damage_percentage; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_Thinker : public CDOTA_Buff { public: - int32_t effect_radius; // 0x11e8 - float rock_duration; // 0x11ec + int32_t effect_radius; // 0x12b8 + float rock_duration; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_HP : public CDOTA_Buff { public: - int32_t rock_health; // 0x11e8 - int32_t rock_visualzdelta; // 0x11ec - bool m_bIsCrushing; // 0x11f0 + int32_t rock_health; // 0x12b8 + int32_t rock_visualzdelta; // 0x12bc + bool m_bIsCrushing; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - int32_t summon_count; // 0x11f4 + int32_t summon_count; // 0x12c4 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_Crush : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hRock; // 0x11e8 - QAngle m_qRotation; // 0x11ec - float m_flOldPitch; // 0x11f8 + CHandle< C_BaseEntity > m_hRock; // 0x12b8 + QAngle m_qRotation; // 0x12bc + float m_flOldPitch; // 0x12c8 }; // Alignment: 8 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Primalbeast_Boss_HeavySteps : public CDOTA_Buff { public: - Vector vLastPos; // 0x11e8 - float flCurrentDistance; // 0x11f4 - int32_t step_distance; // 0x11f8 - int32_t effect_radius; // 0x11fc - int32_t base_damage; // 0x1200 - CHandle< C_BaseEntity > m_hTarget; // 0x1204 - CountdownTimer ctLastCommandTimer; // 0x1208 - bool m_bMoveCommandIssued; // 0x1220 + Vector vLastPos; // 0x12b8 + float flCurrentDistance; // 0x12c4 + int32_t step_distance; // 0x12c8 + int32_t effect_radius; // 0x12cc + int32_t base_damage; // 0x12d0 + CHandle< C_BaseEntity > m_hTarget; // 0x12d4 + CountdownTimer ctLastCommandTimer; // 0x12d8 + bool m_bMoveCommandIssued; // 0x12f0 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - float m_flOffset; // 0x11ec - QAngle m_vStartAngles; // 0x11f0 - float animation_rate; // 0x11fc + ParticleIndex_t m_nFXIndex; // 0x12b8 + float m_flOffset; // 0x12bc + QAngle m_vStartAngles; // 0x12c0 + float animation_rate; // 0x12cc }; // Alignment: 14 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Self : public CDOTA_Buff { public: - CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11e8 - Vector m_vPos; // 0x11ec - int32_t splash_radius; // 0x11f8 - float interval; // 0x11fc - float ministun; // 0x1200 - int32_t m_nCurrentHitCount; // 0x1204 - int32_t total_ripple_circles; // 0x1208 - int32_t ripple_step_distance; // 0x120c - int32_t ripple_step_distance_offset; // 0x1210 - float health_damage; // 0x1214 - float ripple_duration; // 0x1218 - int32_t ripple_damage; // 0x121c - CUtlVector< int32 > m_vLastRippleOffsets; // 0x1220 - float self_animation_rate; // 0x1238 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x12b8 + Vector m_vPos; // 0x12bc + int32_t splash_radius; // 0x12c8 + float interval; // 0x12cc + float ministun; // 0x12d0 + int32_t m_nCurrentHitCount; // 0x12d4 + int32_t total_ripple_circles; // 0x12d8 + int32_t ripple_step_distance; // 0x12dc + int32_t ripple_step_distance_offset; // 0x12e0 + float health_damage; // 0x12e4 + float ripple_duration; // 0x12e8 + int32_t ripple_damage; // 0x12ec + CUtlVector< int32 > m_vLastRippleOffsets; // 0x12f0 + float self_animation_rate; // 0x1308 }; // Alignment: 10 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Ripple_Thinker : public CDOTA_Buff { public: - int32_t ripple_effect_width; // 0x11e8 - int32_t ripple_damage; // 0x11ec - int32_t health_damage; // 0x11f0 - int32_t ripple_count; // 0x11f4 - int32_t total_ripple_circles; // 0x11f8 - float radius; // 0x11fc - float ripple_slow_duration; // 0x1200 - float ripple_knockback_duration; // 0x1204 - CHandle< C_BaseEntity > m_hGrabbedEnemy; // 0x1208 - ParticleIndex_t m_nPreviewFXIndex; // 0x120c + int32_t ripple_effect_width; // 0x12b8 + int32_t ripple_damage; // 0x12bc + int32_t health_damage; // 0x12c0 + int32_t ripple_count; // 0x12c4 + int32_t total_ripple_circles; // 0x12c8 + float radius; // 0x12cc + float ripple_slow_duration; // 0x12d0 + float ripple_knockback_duration; // 0x12d4 + CHandle< C_BaseEntity > m_hGrabbedEnemy; // 0x12d8 + ParticleIndex_t m_nPreviewFXIndex; // 0x12dc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Damage_Tracking : public CDOTA_Buff { public: - int32_t damage_limit; // 0x11e8 - ParticleIndex_t m_nFxIndex; // 0x11ec - float m_fTotalDamage; // 0x11f0 + int32_t damage_limit; // 0x12b8 + ParticleIndex_t m_nFxIndex; // 0x12bc + float m_fTotalDamage; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_End_Knockback : public CDOTA_Buff { public: @@ -12128,7 +12183,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Pummel_LootDrop_Thinker : public CDOTA_Buff { public: @@ -12136,44 +12191,44 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Pummel_DroppedItem : public CDOTA_Buff { public: - ParticleIndex_t m_nPreviewFXIndex; // 0x11e8 + ParticleIndex_t m_nPreviewFXIndex; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Windup : public CDOTA_Buff { public: - float charge_duration; // 0x11e8 - float max_charge_time; // 0x11ec - float turn_rate; // 0x11f0 - float base_power; // 0x11f4 - int32_t charge_speed; // 0x11f8 - float animation_rate; // 0x11fc + float charge_duration; // 0x12b8 + float max_charge_time; // 0x12bc + float turn_rate; // 0x12c0 + float base_power; // 0x12c4 + int32_t charge_speed; // 0x12c8 + float animation_rate; // 0x12cc }; // Alignment: 9 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Movement : public CDOTA_Buff { public: - float charge_speed; // 0x11e8 - int32_t knockback_radius; // 0x11ec - int32_t knockback_distance; // 0x11f0 - int32_t knockback_damage; // 0x11f4 - int32_t forward_offset; // 0x11f8 - CHandle< C_BaseEntity > m_hTarget; // 0x11fc - float m_flFacingTarget; // 0x1200 - ParticleIndex_t m_nFXIndex; // 0x1204 - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1208 + float charge_speed; // 0x12b8 + int32_t knockback_radius; // 0x12bc + int32_t knockback_distance; // 0x12c0 + int32_t knockback_damage; // 0x12c4 + int32_t forward_offset; // 0x12c8 + CHandle< C_BaseEntity > m_hTarget; // 0x12cc + float m_flFacingTarget; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12d8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Knockback : public CDOTA_Buff { public: @@ -12181,84 +12236,84 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Inhibition : public CDOTA_Buff { public: - float debuff_duration; // 0x11e8 + float debuff_duration; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Inhibition_Debuff : public CDOTA_Buff { public: - int32_t heal_suppression_pct; // 0x11e8 - int32_t armor_reduction_pct; // 0x11ec + int32_t heal_suppression_pct; // 0x12b8 + int32_t armor_reduction_pct; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Vault : public CDOTA_Buff { public: - float vault_speed; // 0x11e8 - float vault_acceleration; // 0x11ec - int32_t vault_radius; // 0x11f0 + float vault_speed; // 0x12b8 + float vault_acceleration; // 0x12bc + int32_t vault_radius; // 0x12c0 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Primalbeast_Boss_RoarAttack_Start : public CDOTA_Buff { public: - int32_t rock_drop_intervals; // 0x11e8 - int32_t rock_drop_per_interval; // 0x11ec - int32_t rock_drop_distance; // 0x11f0 - int32_t m_nCurrentInterval; // 0x11f4 - int32_t rock_drop_rotation_angle; // 0x11f8 - CHandle< C_BaseEntity > m_hTarget; // 0x11fc + int32_t rock_drop_intervals; // 0x12b8 + int32_t rock_drop_per_interval; // 0x12bc + int32_t rock_drop_distance; // 0x12c0 + int32_t m_nCurrentInterval; // 0x12c4 + int32_t rock_drop_rotation_angle; // 0x12c8 + CHandle< C_BaseEntity > m_hTarget; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_NoCC : public CDOTA_Buff { public: - bool bCanbeMotionControlled; // 0x11e8 + bool bCanbeMotionControlled; // 0x12b8 }; // Alignment: 22 -// Size: 0x1280 +// Size: 0x1350 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift : public CDOTA_Buff { public: - int32_t projectile_speed; // 0x11e8 - int32_t projectile_speed_increment; // 0x11ec - int32_t projectile_distance; // 0x11f0 - int32_t projectile_width; // 0x11f4 - int32_t projectiles_per_interval; // 0x11f8 - int32_t projectiles_per_interval_increment; // 0x11fc - int32_t initial_spread_angle; // 0x1200 - int32_t angle_offset; // 0x1204 - int32_t iCurrentInterval; // 0x1208 - int32_t splinter_angle; // 0x120c - CountdownTimer m_LeftHandSmashTimer; // 0x1210 - CountdownTimer m_RightHandSmashTimer; // 0x1228 - CountdownTimer m_AttackIntervalTimer; // 0x1240 - float initial_interval; // 0x1258 - float interval_reduction; // 0x125c - float min_interval; // 0x1260 - int32_t arm_distance_forward; // 0x1264 - int32_t arm_distance_side; // 0x1268 - int32_t splash_radius; // 0x126c - int32_t max_split_amount; // 0x1270 - int32_t m_nCurrentCastCount; // 0x1274 - int32_t max_projectiles; // 0x1278 + int32_t projectile_speed; // 0x12b8 + int32_t projectile_speed_increment; // 0x12bc + int32_t projectile_distance; // 0x12c0 + int32_t projectile_width; // 0x12c4 + int32_t projectiles_per_interval; // 0x12c8 + int32_t projectiles_per_interval_increment; // 0x12cc + int32_t initial_spread_angle; // 0x12d0 + int32_t angle_offset; // 0x12d4 + int32_t iCurrentInterval; // 0x12d8 + int32_t splinter_angle; // 0x12dc + CountdownTimer m_LeftHandSmashTimer; // 0x12e0 + CountdownTimer m_RightHandSmashTimer; // 0x12f8 + CountdownTimer m_AttackIntervalTimer; // 0x1310 + float initial_interval; // 0x1328 + float interval_reduction; // 0x132c + float min_interval; // 0x1330 + int32_t arm_distance_forward; // 0x1334 + int32_t arm_distance_side; // 0x1338 + int32_t splash_radius; // 0x133c + int32_t max_split_amount; // 0x1340 + int32_t m_nCurrentCastCount; // 0x1344 + int32_t max_projectiles; // 0x1348 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Stun : public CDOTA_Modifier_Stunned { public: @@ -12266,24 +12321,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x11e8 - int32_t slow_attack_speed_pct; // 0x11ec + int32_t slow_movement_speed_pct; // 0x12b8 + int32_t slow_attack_speed_pct; // 0x12bc }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Push : public CDOTA_Buff { public: - Vector m_vVelocity; // 0x11e8 + Vector m_vVelocity; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_InAbilityPhaseStart : public CDOTA_Buff { public: @@ -12291,7 +12346,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_CastTracker : public CDOTA_Buff { public: @@ -12299,7 +12354,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_TimeOut : public CDOTA_Buff { public: @@ -12307,49 +12362,49 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_Damage : public CDOTA_Buff { public: - float tick_damage; // 0x11e8 - int32_t damage_ticks; // 0x11ec - int32_t m_nTickAmount; // 0x11f0 + float tick_damage; // 0x12b8 + int32_t damage_ticks; // 0x12bc + int32_t m_nTickAmount; // 0x12c0 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinaleOrb : public CDOTA_Buff { public: - int32_t caustic_finale_radius; // 0x11e8 - int32_t caustic_finale_damage_death; // 0x11ec - int32_t caustic_finale_damage_dot; // 0x11f0 - int32_t caustic_finale_slow; // 0x11f4 - float caustic_finale_dot_tick; // 0x11f8 + int32_t caustic_finale_radius; // 0x12b8 + int32_t caustic_finale_damage_death; // 0x12bc + int32_t caustic_finale_damage_dot; // 0x12c0 + int32_t caustic_finale_slow; // 0x12c4 + float caustic_finale_dot_tick; // 0x12c8 }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinale : public CDOTA_Buff { public: - float caustic_finale_duration; // 0x11e8 + float caustic_finale_duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike_Reverse_Tracking : public CDOTA_Buff { public: - Vector m_vStartLocation; // 0x11e8 + Vector m_vStartLocation; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Sand_King_Impale : public CDOTA_Buff { public: @@ -12357,120 +12412,120 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike : public CDOTA_Buff { public: - Vector m_vPopupLocation; // 0x11e8 - bool m_bTeleported; // 0x11f4 + Vector m_vPopupLocation; // 0x12b8 + bool m_bTeleported; // 0x12c4 }; // Alignment: 10 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm : public CDOTA_Buff { public: - float sand_storm_radius; // 0x11e8 - int32_t sand_storm_damage; // 0x11ec - float damage_tick_rate; // 0x11f0 - GameTime_t m_flLastDamageTime; // 0x11f4 - ParticleIndex_t m_nSandStormParticleIndex1; // 0x11f8 - ParticleIndex_t m_nSandStormParticleIndex2; // 0x11fc + float sand_storm_radius; // 0x12b8 + int32_t sand_storm_damage; // 0x12bc + float damage_tick_rate; // 0x12c0 + GameTime_t m_flLastDamageTime; // 0x12c4 + ParticleIndex_t m_nSandStormParticleIndex1; // 0x12c8 + ParticleIndex_t m_nSandStormParticleIndex2; // 0x12cc private: - [[maybe_unused]] uint8_t __pad1200[0x8]; // 0x1200 + [[maybe_unused]] uint8_t __pad12d0[0x8]; // 0x12d0 public: - CHandle< C_BaseEntity > m_hThinker; // 0x1208 - CHandle< C_BaseEntity > m_hBurrowstrikeFieldThinker; // 0x120c - bool m_bIsPrimarySandstorm; // 0x1210 + CHandle< C_BaseEntity > m_hThinker; // 0x12d8 + CHandle< C_BaseEntity > m_hBurrowstrikeFieldThinker; // 0x12dc + bool m_bIsPrimarySandstorm; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - Vector vecSpawnPos; // 0x1214 + Vector vecSpawnPos; // 0x12e4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow_Aura_Thinker : public CDOTA_Buff { public: - float sand_storm_radius; // 0x11e8 + float sand_storm_radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow : public CDOTA_Buff { public: - int32_t blind_slow_pct; // 0x11e8 + int32_t blind_slow_pct; // 0x12b8 }; // Alignment: 5 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_Sand_King_Epicenter : public CDOTA_Buff { public: - int32_t epicenter_pulses; // 0x11e8 - int32_t epicenter_radius[16]; // 0x11ec - int32_t epicenter_damage; // 0x122c - int32_t m_iMaxPulses; // 0x1230 - int32_t m_iPulseCount; // 0x1234 + int32_t epicenter_pulses; // 0x12b8 + int32_t epicenter_radius[16]; // 0x12bc + int32_t epicenter_damage; // 0x12fc + int32_t m_iMaxPulses; // 0x1300 + int32_t m_iPulseCount; // 0x1304 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Sand_King_Epicenter_Slow : public CDOTA_Buff { public: - int32_t epicenter_slow; // 0x11e8 - int32_t epicenter_slow_as; // 0x11ec + int32_t epicenter_slow; // 0x12b8 + int32_t epicenter_slow_as; // 0x12bc }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike_Channel : public CDOTA_Buff { public: - Vector m_vTargetPos; // 0x11e8 - ParticleIndex_t m_nCrosshairFX; // 0x11f4 + Vector m_vTargetPos; // 0x12b8 + ParticleIndex_t m_nCrosshairFX; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Sand_King_Burrowstrike_Transport : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x11e8 + int32_t m_nProjectileID; // 0x12b8 }; // Alignment: 11 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Sand_King_Sandstorm_Burrowstrike_Field_Thinker : public CDOTA_Buff { public: - float radius; // 0x11e8 - float explosion_interval; // 0x11ec - int32_t explosion_radius; // 0x11f0 - int32_t explosion_min_dist; // 0x11f4 - float m_fLastTick; // 0x11f8 - float m_fTimeAccumulator; // 0x11fc - int32_t m_iExplosionCount; // 0x1200 - int32_t m_iExplosionTotalCount; // 0x1204 - int32_t m_iExplosionQuadrant; // 0x1208 - int32_t m_iExplosionDistance; // 0x120c - ParticleIndex_t m_nFXIndex; // 0x1210 + float radius; // 0x12b8 + float explosion_interval; // 0x12bc + int32_t explosion_radius; // 0x12c0 + int32_t explosion_min_dist; // 0x12c4 + float m_fLastTick; // 0x12c8 + float m_fTimeAccumulator; // 0x12cc + int32_t m_iExplosionCount; // 0x12d0 + int32_t m_iExplosionTotalCount; // 0x12d4 + int32_t m_iExplosionQuadrant; // 0x12d8 + int32_t m_iExplosionDistance; // 0x12dc + ParticleIndex_t m_nFXIndex; // 0x12e0 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Sandstorm_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x11e8 - Vector vPullLocation; // 0x11ec + float pull_speed; // 0x12b8 + Vector vPullLocation; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinale_Active : public CDOTA_Buff { public: @@ -12478,109 +12533,109 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Caustic_Finale_StrengthBuff : public CDOTA_Buff { public: - int32_t str_pct; // 0x11e8 + int32_t str_pct; // 0x12b8 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_Movement : public CDOTA_Buff { public: - Vector vLastPos; // 0x11e8 - float m_fAccumulatedDistance; // 0x11f4 - int32_t movement_distance; // 0x11f8 + Vector vLastPos; // 0x12b8 + float m_fAccumulatedDistance; // 0x12c4 + int32_t movement_distance; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_DamageResist : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 - int32_t status_resistance; // 0x11ec + int32_t damage_reduction; // 0x12b8 + int32_t status_resistance; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_DamageReduction : public CDOTA_Buff { public: - int32_t damage_pct; // 0x11e8 + int32_t damage_pct; // 0x12b8 }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage : public CDOTA_Buff { public: - Vector m_vOriginalTarget; // 0x11e8 - int32_t wave_count; // 0x11f4 - int32_t projectile_speed; // 0x11f8 - int32_t projectile_width; // 0x11fc - float m_flInterval; // 0x1200 - int32_t m_nArrowsFired; // 0x1204 + Vector m_vOriginalTarget; // 0x12b8 + int32_t wave_count; // 0x12c4 + int32_t projectile_speed; // 0x12c8 + int32_t projectile_width; // 0x12cc + float m_flInterval; // 0x12d0 + int32_t m_nArrowsFired; // 0x12d4 }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 - bool m_bBonusAttack; // 0x1200 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + bool m_bBonusAttack; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t damage_bonus; // 0x1204 - float debuff_duration; // 0x1208 + int32_t damage_bonus; // 0x12d4 + float debuff_duration; // 0x12d8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Debuff : public CDOTA_Buff { public: - int32_t attack_slow; // 0x11e8 - float m_fIgniteThinkInterval; // 0x11ec - float m_fIgniteDmgPerSec; // 0x11f0 + int32_t attack_slow; // 0x12b8 + float m_fIgniteThinkInterval; // 0x12bc + float m_fIgniteDmgPerSec; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x11e8 - Vector m_vFacePosition; // 0x11ec + int32_t m_iCount; // 0x12b8 + Vector m_vFacePosition; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy : public CDOTA_Buff { public: - float attack_rate; // 0x11e8 - int32_t damage_percent; // 0x11ec - ParticleIndex_t m_nFXIndex; // 0x11f0 - bool m_bHasAttacked; // 0x11f4 + float attack_rate; // 0x12b8 + int32_t damage_percent; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c0 + bool m_bHasAttacked; // 0x12c4 }; // Alignment: 3 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk : public CDOTA_Modifier_Invisible { public: - CUtlVector< CHandle< C_BaseEntity > > m_vecWraithTouchedEntities; // 0x11f8 - int32_t move_speed_bonus_pct; // 0x1210 - int32_t bonus_magic_resist; // 0x1214 + CUtlVector< CHandle< C_BaseEntity > > m_vecWraithTouchedEntities; // 0x12c8 + int32_t move_speed_bonus_pct; // 0x12e0 + int32_t bonus_magic_resist; // 0x12e4 }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe : public CDOTA_Modifier_Knockback { public: @@ -12588,99 +12643,99 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe_Slow : public CDOTA_Buff { public: - int32_t move_slow_pct; // 0x11e8 + int32_t move_slow_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_Thinker : public CDOTA_Buff { public: - float lifetime; // 0x11e8 + float lifetime; // 0x12b8 }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonColossus : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - float cleave_damage_pct; // 0x11ec - int32_t cleave_starting_width; // 0x11f0 - int32_t cleave_ending_width; // 0x11f4 - int32_t cleave_distance; // 0x11f8 - int32_t block_damage_ranged_active; // 0x11fc - int32_t block_damage_melee_active; // 0x1200 - int32_t hp_gain_per_caster_level; // 0x1204 - float hp_regen_per_caster_level; // 0x1208 + ParticleIndex_t m_nFXIndex; // 0x12b8 + float cleave_damage_pct; // 0x12bc + int32_t cleave_starting_width; // 0x12c0 + int32_t cleave_ending_width; // 0x12c4 + int32_t cleave_distance; // 0x12c8 + int32_t block_damage_ranged_active; // 0x12cc + int32_t block_damage_melee_active; // 0x12d0 + int32_t hp_gain_per_caster_level; // 0x12d4 + float hp_regen_per_caster_level; // 0x12d8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Melter : public CDOTA_Buff { public: - float armor_reduction_per_arrow; // 0x11e8 - int32_t m_nMaxStacks; // 0x11ec + float armor_reduction_per_arrow; // 0x12b8 + int32_t m_nMaxStacks; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Enemy : public CDOTA_Buff { public: - float m_fAttackLoss; // 0x11e8 + float m_fAttackLoss; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Caster : public CDOTA_Buff { public: - int32_t max_stacks; // 0x11e8 + int32_t max_stacks; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_Strafe : public CDOTA_Buff { public: - float m_fAttackSpeed; // 0x11e8 + float m_fAttackSpeed; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Clinkz_BurningArmy_Entrenchment : public CDOTA_Buff { public: - float m_fSlowPct; // 0x11e8 - float radius; // 0x11ec - float think_interval; // 0x11f0 - float linger_duration; // 0x11f4 + float m_fSlowPct; // 0x12b8 + float radius; // 0x12bc + float think_interval; // 0x12c0 + float linger_duration; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Buff : public CDOTA_Buff { public: - float m_fLifestealPct; // 0x11e8 + float m_fLifestealPct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Debuff : public CDOTA_Buff { public: - float m_fSlowPct; // 0x11e8 + float m_fSlowPct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_StunningSkeleton_Debuff : public CDOTA_Modifier_Stunned { public: @@ -12688,38 +12743,38 @@ public: }; // Alignment: 5 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x38]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x38]; // 0x12b8 public: - int32_t model_scale; // 0x1220 - float radius; // 0x1224 - int32_t splitshot_count; // 0x1228 - float debuff_duration; // 0x122c - float pct_for_moveslow; // 0x1230 + int32_t model_scale; // 0x12f0 + float radius; // 0x12f4 + int32_t splitshot_count; // 0x12f8 + float debuff_duration; // 0x12fc + float pct_for_moveslow; // 0x1300 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons_Debuff : public CDOTA_Buff { public: - float m_fMovementSlow; // 0x11e8 + float m_fMovementSlow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons : public CDOTA_Buff { public: - int32_t m_nInitialHealthBarOffset; // 0x11e8 - int32_t colossus_model_scale; // 0x11ec + int32_t m_nInitialHealthBarOffset; // 0x12b8 + int32_t colossus_model_scale; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons_Ministun : public CDOTA_Modifier_Stunned { public: @@ -12727,49 +12782,49 @@ public: }; // Alignment: 11 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_BossDarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: - float m_fAddInterval; // 0x11e8 - GameTime_t m_fNextAddTime; // 0x11ec - GameTime_t m_flStartTime; // 0x11f0 - float m_flDamageScale; // 0x11f4 - float duration; // 0x11f8 - float attack_logic_duration; // 0x11fc - int32_t speed_boost; // 0x1200 - int32_t num_adds; // 0x1204 - int32_t projectile_range; // 0x1208 - int32_t projectile_speed; // 0x120c - int32_t projectile_width; // 0x1210 + float m_fAddInterval; // 0x12b8 + GameTime_t m_fNextAddTime; // 0x12bc + GameTime_t m_flStartTime; // 0x12c0 + float m_flDamageScale; // 0x12c4 + float duration; // 0x12c8 + float attack_logic_duration; // 0x12cc + int32_t speed_boost; // 0x12d0 + int32_t num_adds; // 0x12d4 + int32_t projectile_range; // 0x12d8 + int32_t projectile_speed; // 0x12dc + int32_t projectile_width; // 0x12e0 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_BossDarkWillow_CursedCrown : public CDOTA_Buff { public: - float delay; // 0x11e8 - float stun_duration; // 0x11ec - int32_t stun_radius; // 0x11f0 - int32_t damage; // 0x11f4 - GameTime_t m_fStartTime; // 0x11f8 + float delay; // 0x12b8 + float stun_duration; // 0x12bc + int32_t stun_radius; // 0x12c0 + int32_t damage; // 0x12c4 + GameTime_t m_fStartTime; // 0x12c8 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AncientApparition_ColdFeet : public CDOTA_Buff { public: - Vector m_vecStartPosition; // 0x11e8 - int32_t m_nCurrentTick; // 0x11f4 - float damage; // 0x11f8 - int32_t break_distance; // 0x11fc - float stun_duration; // 0x1200 + Vector m_vecStartPosition; // 0x12b8 + int32_t m_nCurrentTick; // 0x12c4 + float damage; // 0x12c8 + int32_t break_distance; // 0x12cc + float stun_duration; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AncientApparition_ColdFeet_Freeze : public CDOTA_Modifier_Stunned { public: @@ -12777,93 +12832,93 @@ public: }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AncientApparition_IceVortexThinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t movement_speed_pct; // 0x11ec - int32_t spell_resist_pct; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - CUtlVector< CHandle< C_BaseEntity > > m_hChilledEntities; // 0x11f8 + int32_t radius; // 0x12b8 + int32_t movement_speed_pct; // 0x12bc + int32_t spell_resist_pct; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + CUtlVector< CHandle< C_BaseEntity > > m_hChilledEntities; // 0x12c8 }; // Alignment: 8 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AncientApparition_IceVortex : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x11e8 - int32_t spell_resist_pct; // 0x11ec - int32_t drag_speed; // 0x11f0 - float aura_origin_x; // 0x11f4 - float aura_origin_y; // 0x11f8 - int32_t shard_dps; // 0x11fc - int32_t shard_attack_speed_reduction; // 0x1200 - Vector m_vCenter; // 0x1204 + int32_t movement_speed_pct; // 0x12b8 + int32_t spell_resist_pct; // 0x12bc + int32_t drag_speed; // 0x12c0 + float aura_origin_x; // 0x12c4 + float aura_origin_y; // 0x12c8 + int32_t shard_dps; // 0x12cc + int32_t shard_attack_speed_reduction; // 0x12d0 + Vector m_vCenter; // 0x12d4 }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AncientApparition_ChillingTouch : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - float duration; // 0x11ec - int32_t attack_range_bonus; // 0x11f0 + int32_t damage; // 0x12b8 + float duration; // 0x12bc + int32_t attack_range_bonus; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AncientApparition_ChillingTouch_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AncientApparition_IceBlast : public CDOTA_Buff { public: - float dot_damage; // 0x11e8 - float kill_pct; // 0x11ec - CHandle< C_BaseEntity > m_hFracturingEntity; // 0x11f0 + float dot_damage; // 0x12b8 + float kill_pct; // 0x12bc + CHandle< C_BaseEntity > m_hFracturingEntity; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AncientApparition_IceAge : public CDOTA_Buff { public: - float damage; // 0x11e8 + float damage; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AntiMage_ManaBreak : public CDOTA_Buff { public: - int32_t percent_damage_per_burn; // 0x11e8 - int32_t mana_per_hit; // 0x11ec - float mana_per_hit_pct; // 0x11f0 - float slow_duration; // 0x11f4 + int32_t percent_damage_per_burn; // 0x12b8 + int32_t mana_per_hit; // 0x12bc + float mana_per_hit_pct; // 0x12c0 + float slow_duration; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AntiMage_ManaBreak_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AntiMage_Blink_Illusion : public CDOTA_Buff { public: @@ -12871,15 +12926,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Antimage_DampenMagic_Aura_Strong : public CDOTA_Buff { public: - int32_t shard_bonus_aura_range; // 0x11e8 + int32_t shard_bonus_aura_range; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Antimage_DampenMagic_Bonus : public CDOTA_Buff { public: @@ -12887,41 +12942,41 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Antimage_DampenMagic_Aura : public CDOTA_Buff { public: - int32_t shard_radius; // 0x11e8 + int32_t shard_radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Antimage_DampenMagic : public CDOTA_Buff { public: - int32_t shard_spell_damage_reduction_pct; // 0x11e8 - int32_t shard_bonus_spell_damage_reduction_pct; // 0x11ec + int32_t shard_spell_damage_reduction_pct; // 0x12b8 + int32_t shard_bonus_spell_damage_reduction_pct; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AntiMage_Counterspell_Passive : public CDOTA_Buff { public: - int32_t magic_resistance; // 0x11e8 + int32_t magic_resistance; // 0x12b8 }; // Alignment: 2 -// Size: 0x13c8 +// Size: 0x1498 class CDOTA_Modifier_AntiMage_Counterspell : public CDOTA_Buff { public: - CModifierParams m_LastParams; // 0x11e8 - int32_t magic_resistance; // 0x13c0 + CModifierParams m_LastParams; // 0x12b8 + int32_t magic_resistance; // 0x1490 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AntiMage_ManaVoid : public CDOTA_Buff { public: @@ -12929,7 +12984,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bane_Enfeeble : public CDOTA_Buff { public: @@ -12937,26 +12992,26 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Bane_Enfeeble_Effect : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 - int32_t heal_reduction; // 0x11ec - int32_t cast_reduction; // 0x11f0 + int32_t damage_reduction; // 0x12b8 + int32_t heal_reduction; // 0x12bc + int32_t cast_reduction; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Bane_Nightmare : public CDOTA_Buff { public: - int32_t m_nSource; // 0x11e8 - float animation_rate; // 0x11ec + int32_t m_nSource; // 0x12b8 + float animation_rate; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bane_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -12964,25 +13019,34 @@ public: }; // Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Bane_FiendsGrip : public CDOTA_Buff +// Size: 0x12c0 +class CDOTA_Modifier_Bane_Nightmare_AttackSpeed_Bonus : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x11e8 - float fiend_grip_tick_interval; // 0x11ec + int32_t bonus_attack_speed; // 0x12b8 + CHandle< C_BaseEntity > m_hTarget; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 +class CDOTA_Modifier_Bane_FiendsGrip : public CDOTA_Buff +{ +public: + int32_t fiend_grip_mana_drain; // 0x12b8 + float fiend_grip_tick_interval; // 0x12bc +}; + +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Bane_FiendsGrip_Cast_Illusion : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x11e8 - float fiend_grip_tick_interval; // 0x11ec + int32_t fiend_grip_mana_drain; // 0x12b8 + float fiend_grip_tick_interval; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bane_FiendsGrip_Self : public CDOTA_Buff { public: @@ -12990,7 +13054,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bane_FiendsGrip_Illusion_Can_Only_Channel : public CDOTA_Buff { public: @@ -12998,7 +13062,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bane_FiendsGrip_Illusion : public CDOTA_Buff { public: @@ -13006,26 +13070,26 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pudge_Swallow : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Pudge_Swallow_Hide : public CDOTA_Buff { public: - float order_lock_duration; // 0x11e8 - GameTime_t m_fOrderLockDone; // 0x11ec - int32_t m_nFXIndex; // 0x11f0 - float shard_regen_pct; // 0x11f4 + float order_lock_duration; // 0x12b8 + GameTime_t m_fOrderLockDone; // 0x12bc + int32_t m_nFXIndex; // 0x12c0 + float shard_regen_pct; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pudge_Swallow_Effect : public CDOTA_Buff { public: @@ -13033,7 +13097,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pudge_Meat_Hook_PathingFix : public CDOTA_Buff { public: @@ -13041,7 +13105,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pudge_Meat_Hook : public CDOTA_Buff { public: @@ -13049,99 +13113,99 @@ public: }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Pudge_Rot : public CDOTA_Buff { public: - int32_t rot_damage; // 0x11e8 - int32_t rot_slow; // 0x11ec - int32_t scepter_rot_regen_reduction_pct; // 0x11f0 + int32_t rot_damage; // 0x12b8 + int32_t rot_slow; // 0x12bc + int32_t scepter_rot_regen_reduction_pct; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x8]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x8]; // 0x12c4 public: - GameTime_t m_flLastRotTime; // 0x11fc - bool m_bQualifiesAsPotentionalDeny; // 0x1200 + GameTime_t m_flLastRotTime; // 0x12cc + bool m_bQualifiesAsPotentionalDeny; // 0x12d0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pudge_FleshHeap_Block : public CDOTA_Buff { public: - float damage_block; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + float damage_block; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Pudge_FleshHeap : public CDOTA_Buff { public: - float magic_resistance; // 0x11e8 - float damage_block; // 0x11ec - float flesh_heap_strength_buff_amount; // 0x11f0 + float magic_resistance; // 0x12b8 + float damage_block; // 0x12bc + float flesh_heap_strength_buff_amount; // 0x12c0 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Pudge_Dismember : public CDOTA_Buff { public: - int32_t dismember_damage; // 0x11e8 - float strength_damage; // 0x11ec - int32_t m_nTicks; // 0x11f0 - int32_t m_nMaxTicks; // 0x11f4 - float m_flTickRate; // 0x11f8 - float animation_rate; // 0x11fc + int32_t dismember_damage; // 0x12b8 + float strength_damage; // 0x12bc + int32_t m_nTicks; // 0x12c0 + int32_t m_nMaxTicks; // 0x12c4 + float m_flTickRate; // 0x12c8 + float animation_rate; // 0x12cc }; // Alignment: 4 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Pudge_Dismember_Pull : public CDOTA_Buff { public: - Vector m_vDestination; // 0x11e8 - int32_t pull_units_per_second; // 0x11f4 - float pull_distance_limit; // 0x11f8 + Vector m_vDestination; // 0x12b8 + int32_t pull_units_per_second; // 0x12c4 + float pull_distance_limit; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x8]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x8]; // 0x12cc public: - float animation_rate; // 0x1204 + float animation_rate; // 0x12d4 }; // Alignment: 8 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Juggernaut_BladeFury : public CDOTA_Buff { public: - int32_t blade_fury_radius; // 0x11e8 - int32_t blade_fury_damage; // 0x11ec - float blade_fury_damage_tick; // 0x11f0 - float m_flTotalAppliedDamage; // 0x11f4 - int32_t shard_bonus_move_speed; // 0x11f8 - float shard_attack_rate; // 0x11fc - GameTime_t m_flNextAttack; // 0x1200 - bool m_bIgnoreAttackRestriction; // 0x1204 + int32_t blade_fury_radius; // 0x12b8 + int32_t blade_fury_damage; // 0x12bc + float blade_fury_damage_tick; // 0x12c0 + float m_flTotalAppliedDamage; // 0x12c4 + int32_t shard_bonus_move_speed; // 0x12c8 + float shard_attack_rate; // 0x12cc + GameTime_t m_flNextAttack; // 0x12d0 + bool m_bIgnoreAttackRestriction; // 0x12d4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Jugg_Caster : public CDOTA_Buff { public: - int32_t shard_damage_pct; // 0x11e8 + int32_t shard_damage_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Juggernaut_Healing_Ward_Aura : public CDOTA_Buff { public: - int32_t healing_ward_movespeed_tooltip; // 0x11e8 + int32_t healing_ward_movespeed_tooltip; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Juggernaut_Healing_Ward_Tracker : public CDOTA_Buff { public: @@ -13149,53 +13213,53 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Juggernaut_Healing_Ward_Heal : public CDOTA_Buff { public: - int32_t healing_ward_heal_amount; // 0x11e8 - int32_t m_nStartingHealthThisInterval; // 0x11ec + int32_t healing_ward_heal_amount; // 0x12b8 + int32_t m_nStartingHealthThisInterval; // 0x12bc }; // Alignment: 5 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Juggernaut_BladeDance : public CDOTA_Buff { public: - int32_t blade_dance_crit_mult; // 0x11e8 - int32_t blade_dance_crit_chance; // 0x11ec - int32_t blade_dance_lifesteal; // 0x11f0 - bool m_bHasCrit; // 0x11f4 - bool m_bWasBladeDanceTriggeredCrit; // 0x11f5 + int32_t blade_dance_crit_mult; // 0x12b8 + int32_t blade_dance_crit_chance; // 0x12bc + int32_t blade_dance_lifesteal; // 0x12c0 + bool m_bHasCrit; // 0x12c4 + bool m_bWasBladeDanceTriggeredCrit; // 0x12c5 }; // Alignment: 15 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Juggernaut_Omnislash : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - CHandle< C_BaseEntity > m_hLastTarget; // 0x11ec - int32_t m_nJumps; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - int32_t bonus_attack_speed; // 0x11f8 - int32_t omni_slash_radius; // 0x11fc - float attack_rate_multiplier; // 0x1200 - bool m_bFirstHit; // 0x1204 + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + CHandle< C_BaseEntity > m_hLastTarget; // 0x12bc + int32_t m_nJumps; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + int32_t bonus_attack_speed; // 0x12c8 + int32_t omni_slash_radius; // 0x12cc + float attack_rate_multiplier; // 0x12d0 + bool m_bFirstHit; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - int32_t m_iTotalDamage; // 0x1208 - int32_t m_iHeroDamage; // 0x120c - int32_t m_iKilledHeroes; // 0x1210 - GameTime_t m_fNextAttackTime; // 0x1214 - bool m_bScepterCast; // 0x1218 - bool m_bReflection; // 0x1219 - bool m_bEndNext; // 0x121a + int32_t m_iTotalDamage; // 0x12d8 + int32_t m_iHeroDamage; // 0x12dc + int32_t m_iKilledHeroes; // 0x12e0 + GameTime_t m_fNextAttackTime; // 0x12e4 + bool m_bScepterCast; // 0x12e8 + bool m_bReflection; // 0x12e9 + bool m_bEndNext; // 0x12ea }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Juggernaut_Omnislash_Invulnerability : public CDOTA_Buff { public: @@ -13203,30 +13267,30 @@ public: }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Holdout_BladeFury : public CDOTA_Buff { public: - int32_t blade_fury_damage; // 0x11e8 - int32_t blade_dance_crit_chance; // 0x11ec - int32_t blade_dance_crit_mult; // 0x11f0 - float blade_fury_damage_tick; // 0x11f4 - int32_t blade_fury_radius; // 0x11f8 - int32_t bonus_evasion; // 0x11fc - bool m_bTryToCrit; // 0x1200 + int32_t blade_fury_damage; // 0x12b8 + int32_t blade_dance_crit_chance; // 0x12bc + int32_t blade_dance_crit_mult; // 0x12c0 + float blade_fury_damage_tick; // 0x12c4 + int32_t blade_fury_radius; // 0x12c8 + int32_t bonus_evasion; // 0x12cc + bool m_bTryToCrit; // 0x12d0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Holdout_Omnislash : public CDOTA_Buff { public: - float animation_rate; // 0x11e8 - int32_t bonus_damage; // 0x11ec + float animation_rate; // 0x12b8 + int32_t bonus_damage; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Juggernaut_Holdout_Omnislash_FollowupAttack : public CDOTA_Buff { public: @@ -13234,68 +13298,68 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Shadowraze_Debuff : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x11e8 - int32_t turn_rate_pct; // 0x11ec + int32_t movement_speed_pct; // 0x12b8 + int32_t turn_rate_pct; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Shadowraze_Counter : public CDOTA_Buff { public: - float shadowraze_cooldown; // 0x11e8 + float shadowraze_cooldown; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nevermore_Presence_Aura : public CDOTA_Buff { public: - int32_t presence_radius; // 0x11e8 - float kill_buff_duration; // 0x11ec - GameTime_t m_fLastStackChange; // 0x11f0 + int32_t presence_radius; // 0x12b8 + float kill_buff_duration; // 0x12bc + GameTime_t m_fLastStackChange; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nevermore_Presence : public CDOTA_Buff { public: - int32_t presence_armor_reduction; // 0x11e8 - int32_t bonus_armor_per_stack; // 0x11ec - bool m_bWasHidden; // 0x11f0 + int32_t presence_armor_reduction; // 0x12b8 + int32_t bonus_armor_per_stack; // 0x12bc + bool m_bWasHidden; // 0x12c0 }; // Alignment: 9 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Nevermore_Necromastery : public CDOTA_Buff { public: - int32_t necromastery_damage_per_soul; // 0x11e8 - int32_t necromastery_max_souls; // 0x11ec - int32_t necromastery_max_souls_scepter; // 0x11f0 - int32_t shard_crit_pct; // 0x11f4 - int32_t shard_souls_per_kill; // 0x11f8 - float shard_fear_duration; // 0x11fc - ParticleIndex_t m_iParticleSoulsIndex; // 0x1200 - ParticleIndex_t m_FXIndex; // 0x1204 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 + int32_t necromastery_damage_per_soul; // 0x12b8 + int32_t necromastery_max_souls; // 0x12bc + int32_t necromastery_max_souls_scepter; // 0x12c0 + int32_t shard_crit_pct; // 0x12c4 + int32_t shard_souls_per_kill; // 0x12c8 + float shard_fear_duration; // 0x12cc + ParticleIndex_t m_iParticleSoulsIndex; // 0x12d0 + ParticleIndex_t m_FXIndex; // 0x12d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nevermore_Requiem_InvisBreak : public CDOTA_Buff { public: - bool bDisableInvis; // 0x11e8 + bool bDisableInvis; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nevermore_Requiem_Thinker : public CDOTA_Buff { public: @@ -13303,7 +13367,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nevermore_Requiem_Aura : public CDOTA_Buff { public: @@ -13311,15 +13375,15 @@ public: }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nevermore_Requiem_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x11e8 + Vector m_vOriginal; // 0x12b8 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nevermore_Necromastery_Fear : public CDOTA_Modifier_Nevermore_Requiem_Fear { public: @@ -13327,39 +13391,39 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nevermore_Requiem_Slow : public CDOTA_Buff { public: - int32_t requiem_reduction_ms; // 0x11e8 - int32_t requiem_reduction_mres; // 0x11ec + int32_t requiem_reduction_ms; // 0x12b8 + int32_t requiem_reduction_mres; // 0x12bc }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_SandKing_CausticFinale : public CDOTA_Buff { public: - float caustic_finale_duration; // 0x11e8 + float caustic_finale_duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_SandKing_CausticFinaleOrb : public CDOTA_Buff { public: - int32_t caustic_finale_radius; // 0x11e8 - int32_t caustic_finale_damage_base; // 0x11ec - int32_t caustic_finale_damage_pct; // 0x11f0 - int32_t caustic_finale_slow; // 0x11f4 + int32_t caustic_finale_radius; // 0x12b8 + int32_t caustic_finale_damage_base; // 0x12bc + int32_t caustic_finale_damage_pct; // 0x12c0 + int32_t caustic_finale_slow; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_SandKing_Impale : public CDOTA_Buff { public: @@ -13367,106 +13431,108 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Sand_King_BurrowStrike : public CDOTA_Buff { public: - Vector m_vPopupLocation; // 0x11e8 - bool m_bTeleported; // 0x11f4 + Vector m_vPopupLocation; // 0x12b8 + bool m_bTeleported; // 0x12c4 }; -// Alignment: 10 -// Size: 0x1230 +// Alignment: 11 +// Size: 0x1308 class CDOTA_Modifier_SandKing_SandStorm : public CDOTA_Modifier_PersistentInvisibility { public: - int32_t sand_storm_radius; // 0x11f8 - int32_t sand_storm_damage; // 0x11fc - float damage_tick_rate; // 0x1200 - GameTime_t m_flLastDamageTime; // 0x1204 - ParticleIndex_t m_nSandStormParticleIndex1; // 0x1208 - ParticleIndex_t m_nSandStormParticleIndex2; // 0x120c + int32_t sand_storm_radius; // 0x12c8 + int32_t sand_storm_damage; // 0x12cc + float damage_tick_rate; // 0x12d0 + GameTime_t m_flLastDamageTime; // 0x12d4 + ParticleIndex_t m_nSandStormParticleIndex1; // 0x12d8 + ParticleIndex_t m_nSandStormParticleIndex2; // 0x12dc private: - [[maybe_unused]] uint8_t __pad1210[0x8]; // 0x1210 + [[maybe_unused]] uint8_t __pad12e0[0x8]; // 0x12e0 public: - CHandle< C_BaseEntity > m_hThinker; // 0x1218 - Vector vecSpawnPos; // 0x121c - int32_t m_iExplosionQuadrant; // 0x1228 - int32_t m_iExplosionDistance; // 0x122c + CHandle< C_BaseEntity > m_hThinker; // 0x12e8 + int32_t sand_storm_move_speed; // 0x12ec + Vector vecSpawnPos; // 0x12f0 + int32_t m_iExplosionQuadrant; // 0x12fc + int32_t m_iExplosionDistance; // 0x1300 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SandKing_SandStorm_Slow_Aura_Thinker : public CDOTA_Buff { public: - int32_t sand_storm_radius; // 0x11e8 + int32_t sand_storm_radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SandKing_SandStorm_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t blind; // 0x11ec + int32_t slow; // 0x12b8 + int32_t blind; // 0x12bc }; // Alignment: 6 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_SandKing_Epicenter : public CDOTA_Buff { public: - int32_t epicenter_radius_base; // 0x11e8 - int32_t epicenter_radius_increment; // 0x11ec - int32_t epicenter_pulses; // 0x11f0 - int32_t epicenter_radius[16]; // 0x11f4 - int32_t m_iMaxPulses; // 0x1234 - int32_t m_iPulseCount; // 0x1238 + int32_t epicenter_radius_base; // 0x12b8 + int32_t epicenter_radius_increment; // 0x12bc + int32_t epicenter_pulses; // 0x12c0 + int32_t epicenter_radius[16]; // 0x12c4 + int32_t m_iMaxPulses; // 0x1304 + int32_t m_iPulseCount; // 0x1308 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SandKing_Epicenter_Slow : public CDOTA_Buff { public: - int32_t epicenter_slow; // 0x11e8 - int32_t epicenter_slow_as; // 0x11ec + int32_t epicenter_slow; // 0x12b8 + int32_t epicenter_slow_as; // 0x12bc }; -// Alignment: 3 -// Size: 0x1200 +// Alignment: 4 +// Size: 0x12d0 class CDOTA_Modifier_Sand_King_Shard : public CDOTA_Buff { public: - float shard_move_distance; // 0x11e8 - Vector vLastPos; // 0x11ec - float m_fAccumulatedDistance; // 0x11f8 + float shard_move_distance; // 0x12b8 + float shard_interval; // 0x12bc + Vector vLastPos; // 0x12c0 + float m_fAccumulatedDistance; // 0x12cc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Mirana_Starfall_Scepter_Thinker : public CDOTA_Buff { public: - float interval_scepter; // 0x11e8 - bool bInBufferTime; // 0x11ec + float interval_scepter; // 0x12b8 + bool bInBufferTime; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - int32_t damage; // 0x11f0 + int32_t damage; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mirana_Starfall_Thinker : public CDOTA_Buff { public: - int32_t starfall_secondary_radius; // 0x11e8 + int32_t starfall_secondary_radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mirana_Leap_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -13474,53 +13540,53 @@ public: }; // Alignment: 11 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Mirana_Leap : public CDOTA_Buff { public: - int32_t leap_distance; // 0x11e8 - float shard_radius; // 0x11ec - float shard_radius_end; // 0x11f0 - float shard_damage; // 0x11f4 - float shard_slow_pct; // 0x11f8 - float shard_slow_duration; // 0x11fc - float leap_speed; // 0x1200 - float leap_acceleration; // 0x1204 - int32_t leap_radius; // 0x1208 - float leap_bonus_duration; // 0x120c - bool m_bLaunched; // 0x1210 + int32_t leap_distance; // 0x12b8 + float shard_radius; // 0x12bc + float shard_radius_end; // 0x12c0 + float shard_damage; // 0x12c4 + float shard_slow_pct; // 0x12c8 + float shard_slow_duration; // 0x12cc + float leap_speed; // 0x12d0 + float leap_acceleration; // 0x12d4 + int32_t leap_radius; // 0x12d8 + float leap_bonus_duration; // 0x12dc + bool m_bLaunched; // 0x12e0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mirana_Leap_Slow : public CDOTA_Buff { public: - int32_t shard_slow_pct; // 0x11e8 + int32_t shard_slow_pct; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Mirana_Leap_Buff : public CDOTA_Buff { public: - int32_t leap_speedbonus; // 0x11e8 - int32_t leap_speedbonus_as; // 0x11ec - bool m_bCritUsed; // 0x11f0 + int32_t leap_speedbonus; // 0x12b8 + int32_t leap_speedbonus_as; // 0x12bc + bool m_bCritUsed; // 0x12c0 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Mirana_MoonlightShadow : public CDOTA_Modifier_PersistentInvisibility { public: - float duration; // 0x11f8 - int32_t bonus_movement_speed; // 0x11fc - int32_t evasion; // 0x1200 + float duration; // 0x12c8 + int32_t bonus_movement_speed; // 0x12cc + int32_t evasion; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mirana_MoonlightShadow_KillTracker : public CDOTA_Buff { public: @@ -13528,140 +13594,142 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Sven_Stormbolt_Hide : public CDOTA_Buff { public: - int32_t m_nHandle; // 0x11e8 + int32_t m_nHandle; // 0x12b8 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Sven_GreatCleave : public CDOTA_Buff { public: - int32_t cleave_starting_width; // 0x11e8 - int32_t cleave_ending_width; // 0x11ec - int32_t cleave_distance; // 0x11f0 - int32_t great_cleave_damage; // 0x11f4 - int32_t strength_bonus; // 0x11f8 - int16_t m_nLastCleaveRecord; // 0x11fc + int32_t cleave_starting_width; // 0x12b8 + int32_t cleave_ending_width; // 0x12bc + int32_t cleave_distance; // 0x12c0 + int32_t great_cleave_damage; // 0x12c4 + int32_t strength_bonus; // 0x12c8 + int16_t m_nLastCleaveRecord; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fe[0x2]; // 0x11fe + [[maybe_unused]] uint8_t __pad12ce[0x2]; // 0x12ce public: - int32_t m_nLastCleaveKills; // 0x1200 + int32_t m_nLastCleaveKills; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Sven_Warcry_Aura : public CDOTA_Buff { public: - int32_t shard_radius; // 0x11e8 + int32_t shard_radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Sven_Warcry_Passive : public CDOTA_Buff { public: - int32_t shard_passive_armor; // 0x11e8 + int32_t shard_passive_armor; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Sven_Warcry : public CDOTA_Buff { public: - int32_t movespeed; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t movespeed; // 0x12b8 + int32_t bonus_armor; // 0x12bc }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Sven_GodsStrength : public CDOTA_Buff { public: - int32_t gods_strength_damage; // 0x11e8 -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_SkeletonKing_HellfireBlast : public CDOTA_Buff -{ -public: - int32_t blast_dot_damage; // 0x11e8 - int32_t blast_slow; // 0x11ec -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_SkeletonKing_HellfireBlast_Skeleton_Buff : public CDOTA_Buff -{ -public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_move_speed; // 0x11ec + int32_t gods_strength_damage; // 0x12b8 + int32_t bonus_slow_resistance; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_SkeletonKing_VampiricAura : public CDOTA_Buff { public: - int32_t vampiric_aura; // 0x11e8 - int32_t creep_lifesteal_reduction_pct; // 0x11ec - float skeleton_duration; // 0x11f0 - int32_t max_skeleton_charges; // 0x11f4 - int32_t m_iKillCounter; // 0x11f8 + int32_t vampiric_aura; // 0x12b8 + int32_t creep_lifesteal_reduction_pct; // 0x12bc + float skeleton_duration; // 0x12c0 + int32_t max_skeleton_charges; // 0x12c4 + int32_t m_iKillCounter; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SkeletonKing_VampiricAura_Summon_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x11e8 + int32_t m_iCount; // 0x12b8 }; -// Alignment: 10 -// Size: 0x1208 +// Alignment: 11 +// Size: 0x12e0 class CDOTA_Modifier_SkeletonKing_VampiricAura_Summon : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - int32_t talent_skeleton_damage; // 0x11ec - bool m_bRespawnReady; // 0x11f0 - bool m_bRespawnConsumed; // 0x11f1 - bool m_bKillParentOnDestroy; // 0x11f2 + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + int32_t talent_skeleton_damage; // 0x12bc + bool m_bRespawnReady; // 0x12c0 + bool m_bRespawnConsumed; // 0x12c1 + bool m_bKillParentOnDestroy; // 0x12c2 private: - [[maybe_unused]] uint8_t __pad11f3[0x1]; // 0x11f3 + [[maybe_unused]] uint8_t __pad12c3[0x1]; // 0x12c3 public: - GameTime_t m_flRespawnTime; // 0x11f4 - int32_t vampiric_aura; // 0x11f8 - int32_t gold_bounty; // 0x11fc - int32_t xp_bounty; // 0x1200 - int32_t skeleton_building_damage_reduction; // 0x1204 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_SkeletonKing_MortalStrike : public CDOTA_Buff -{ -public: - int32_t crit_mult; // 0x11e8 + GameTime_t m_flRespawnTime; // 0x12c4 + int32_t vampiric_aura; // 0x12c8 + int32_t gold_bounty; // 0x12cc + int32_t xp_bounty; // 0x12d0 + int32_t skeleton_building_damage_reduction; // 0x12d4 + int32_t skeleton_bonus_hero_damage; // 0x12d8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 +class CDOTA_Modifier_SkeletonKing_HellfireBlast : public CDOTA_Buff +{ +public: + int32_t blast_dot_damage; // 0x12b8 + int32_t blast_slow; // 0x12bc +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_SkeletonKing_HellfireBlast_Skeleton_Buff : public CDOTA_Buff +{ +public: + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_move_speed; // 0x12bc +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_SkeletonKing_MortalStrike : public CDOTA_Buff +{ +public: + int32_t crit_mult; // 0x12b8 +}; + +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_SkeletonKing_Reincarnation : public CDOTA_Buff { public: - float reincarnate_time; // 0x11e8 - int32_t scepter_aura_radius; // 0x11ec + float reincarnate_time; // 0x12b8 + int32_t scepter_aura_radius; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_SkeletonKing_Reincarnation_SpawnSkeletons : public CDOTA_Buff { public: @@ -13669,32 +13737,32 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SkeletonKing_Reincarnation_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x11e8 - int32_t attackslow; // 0x11ec + int32_t movespeed; // 0x12b8 + int32_t attackslow; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter : public CDOTA_Buff { public: - float scepter_duration; // 0x11e8 + float scepter_duration; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter_RespawnTime : public CDOTA_Buff { public: - float scepter_respawn_pct; // 0x11e8 + float scepter_respawn_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Skeleton_King_Scepter_Tracker : public CDOTA_Buff { public: @@ -13702,7 +13770,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Skeleton_King_Arcana : public CDOTA_Buff { public: @@ -13710,48 +13778,48 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_StormSpirit_Electric_Rave : public CDOTA_Buff { public: - int32_t overload_aoe; // 0x11e8 - int32_t overload_damage; // 0x11ec - int32_t shard_attack_speed_bonus; // 0x11f0 + int32_t overload_aoe; // 0x12b8 + int32_t overload_damage; // 0x12bc + int32_t shard_attack_speed_bonus; // 0x12c0 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_StormSpirit_StaticRemnantThinker : public CDOTA_Buff { public: - int32_t static_remnant_radius; // 0x11e8 - int32_t static_remnant_damage_radius; // 0x11ec - int32_t static_remnant_damage; // 0x11f0 - float static_remnant_delay; // 0x11f4 - int32_t m_iSearchRadius; // 0x11f8 - int32_t m_iDamageRadius; // 0x11fc + int32_t static_remnant_radius; // 0x12b8 + int32_t static_remnant_damage_radius; // 0x12bc + int32_t static_remnant_damage; // 0x12c0 + float static_remnant_delay; // 0x12c4 + int32_t m_iSearchRadius; // 0x12c8 + int32_t m_iDamageRadius; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_StormSpirit_ElectricVortex_SelfSlow : public CDOTA_Buff { public: - int32_t electric_vortex_self_slow; // 0x11e8 + int32_t electric_vortex_self_slow; // 0x12b8 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_StormSpirit_ElectricVortex_Pull : public CDOTA_Buff { public: - Vector m_vDestination; // 0x11e8 - int32_t electric_vortex_pull_distance; // 0x11f4 - float electric_vortex_pull_tether_range; // 0x11f8 + Vector m_vDestination; // 0x12b8 + int32_t electric_vortex_pull_distance; // 0x12c4 + float electric_vortex_pull_tether_range; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_StormSpirit_ElectricVortex_NoStack : public CDOTA_Buff { public: @@ -13759,7 +13827,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_StormSpirit_Overload_Passive : public CDOTA_Buff { public: @@ -13767,24 +13835,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_StormSpirit_Overload : public CDOTA_Buff { public: - int32_t overload_aoe; // 0x11e8 + int32_t overload_aoe; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_StormSpirit_OverloadSlow : public CDOTA_Buff { public: - int32_t overload_move_slow; // 0x11e8 - int32_t overload_attack_slow; // 0x11ec + int32_t overload_move_slow; // 0x12b8 + int32_t overload_attack_slow; // 0x12bc }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_StormSpirit_BallLightning : public CDOTA_Buff { public: @@ -13792,19 +13860,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Holdout_StaticRemnantThinker : public CDOTA_Buff { public: - int32_t static_remnant_radius; // 0x11e8 - int32_t static_remnant_damage_radius; // 0x11ec - int32_t static_remnant_damage; // 0x11f0 - float static_remnant_delay; // 0x11f4 - float overload_duration; // 0x11f8 + int32_t static_remnant_radius; // 0x12b8 + int32_t static_remnant_damage_radius; // 0x12bc + int32_t static_remnant_damage; // 0x12c0 + float static_remnant_delay; // 0x12c4 + float overload_duration; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_StormSpirit_StaticRemnant_Talent : public CDOTA_Buff { public: @@ -13812,23 +13880,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DrowRanger_WaveOfSilence_Buff : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x11e8 + int32_t bonus_movespeed; // 0x12b8 }; -// Alignment: 0 -// Size: 0x11e8 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_DrowRanger_WaveOfSilence : public CDOTA_Buff { public: - // No members available + int32_t miss_chance; // 0x12b8 + int32_t gust_reveals_invis; // 0x12bc }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_DrowRanger_WaveOfSilence_Knockback : public CDOTA_Modifier_Knockback { public: @@ -13836,7 +13905,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DrowRanger_Trueshot : public CDOTA_Buff { public: @@ -13844,7 +13913,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DrowRanger_Trueshot_Global : public CDOTA_Buff { public: @@ -13852,92 +13921,92 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DrowRanger_TrueshotAura : public CDOTA_Buff { public: - float trueshot_ranged_attack_speed; // 0x11e8 + float trueshot_ranged_attack_speed; // 0x12b8 }; // Alignment: 11 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_DrowRanger_Marksmanship : public CDOTA_Buff { public: - int32_t chance; // 0x11e8 - ParticleIndex_t m_nFxIndex; // 0x11ec - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 - CUtlVector< int16 > m_GlacialInFlightAttackRecords; // 0x1208 - int32_t bonus_factor; // 0x1220 - int32_t disable_range; // 0x1224 - int32_t agility_range; // 0x1228 - int32_t bonus_damage; // 0x122c - int32_t split_count; // 0x1230 - int32_t split_range; // 0x1234 - bool m_bGlacialAttack; // 0x1238 + int32_t chance; // 0x12b8 + ParticleIndex_t m_nFxIndex; // 0x12bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + CUtlVector< int16 > m_GlacialInFlightAttackRecords; // 0x12d8 + int32_t bonus_factor; // 0x12f0 + int32_t disable_range; // 0x12f4 + int32_t agility_range; // 0x12f8 + int32_t bonus_damage; // 0x12fc + int32_t split_count; // 0x1300 + int32_t split_range; // 0x1304 + bool m_bGlacialAttack; // 0x1308 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DrowRanger_Marksmanship_Aura_Bonus : public CDOTA_Buff { public: - int32_t agility_multiplier; // 0x11e8 - float agility_multiplier_ally; // 0x11ec + int32_t agility_multiplier; // 0x12b8 + float agility_multiplier_ally; // 0x12bc }; // Alignment: 3 -// Size: 0x1260 +// Size: 0x1330 class CDOTA_Modifier_DrowRanger_Marksmanship_Reduction : public CDOTA_Buff { public: - int32_t split_damage_reduction; // 0x11e8 + int32_t split_damage_reduction; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVectorFixedGrowable< int32 > m_vecRecords; // 0x11f0 - CUtlVectorFixedGrowable< GameTime_t > m_vecRecordTimes; // 0x1228 + CUtlVectorFixedGrowable< int32 > m_vecRecords; // 0x12c0 + CUtlVectorFixedGrowable< GameTime_t > m_vecRecordTimes; // 0x12f8 }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_DrowRanger_FrostArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 - int32_t shard_bonus_damage_per_stack; // 0x1200 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + int32_t shard_bonus_damage_per_stack; // 0x12d0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_DrowRanger_FrostArrows_Slow : public CDOTA_Buff { public: - int32_t frost_arrows_movement_speed; // 0x11e8 - int32_t shard_max_stacks; // 0x11ec - float shard_stack_duration; // 0x11f0 + int32_t frost_arrows_movement_speed; // 0x12b8 + int32_t shard_max_stacks; // 0x12bc + float shard_stack_duration; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DrowRanger_FrostArrows_Shard_Slow : public CDOTA_Buff { public: - int32_t shard_burst_move_slow_pct; // 0x11e8 + int32_t shard_burst_move_slow_pct; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_DrowRanger_FrostArrows_Hypothermia : public CDOTA_Buff { public: - int32_t shard_regen_reduction_pct_per_stack; // 0x11e8 - int32_t shard_burst_radius; // 0x11ec - ParticleIndex_t m_nFXStackIndex; // 0x11f0 + int32_t shard_regen_reduction_pct_per_stack; // 0x12b8 + int32_t shard_burst_radius; // 0x12bc + ParticleIndex_t m_nFXStackIndex; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DrowRanger_FrostArrows_Hypothermia_Active : public CDOTA_Buff { public: @@ -13945,45 +14014,45 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop : public CDOTA_Buff { public: - int32_t multishot_arrow_bonus; // 0x11e8 - int32_t end_height; // 0x11ec - int32_t attack_range_bonus; // 0x11f0 + int32_t multishot_arrow_bonus; // 0x12b8 + int32_t end_height; // 0x12bc + int32_t attack_range_bonus; // 0x12c0 }; // Alignment: 13 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Drow_Ranger_Multishot : public CDOTA_Buff { public: - int32_t m_iArrowCount; // 0x11e8 - Vector m_vOriginalTarget; // 0x11ec - int32_t arrow_width; // 0x11f8 - float arrow_speed; // 0x11fc - float arrow_range_multiplier; // 0x1200 - int32_t wave_count; // 0x1204 - int32_t arrow_count_per_wave; // 0x1208 - int32_t arrow_angle; // 0x120c - int32_t m_iLoopCount; // 0x1210 - float m_flInterval; // 0x1214 - float m_flCycleDelay; // 0x1218 - float m_flTimeWaste; // 0x121c - GameTime_t m_flExpectedTime; // 0x1220 + int32_t m_iArrowCount; // 0x12b8 + Vector m_vOriginalTarget; // 0x12bc + int32_t arrow_width; // 0x12c8 + float arrow_speed; // 0x12cc + float arrow_range_multiplier; // 0x12d0 + int32_t wave_count; // 0x12d4 + int32_t arrow_count_per_wave; // 0x12d8 + int32_t arrow_angle; // 0x12dc + int32_t m_iLoopCount; // 0x12e0 + float m_flInterval; // 0x12e4 + float m_flCycleDelay; // 0x12e8 + float m_flTimeWaste; // 0x12ec + GameTime_t m_flExpectedTime; // 0x12f0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Drow_Ranger_Multishot_Damage : public CDOTA_Buff { public: - int32_t arrow_damage_pct; // 0x11e8 + int32_t arrow_damage_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DrowRanger_ArcanaKill_Delay : public CDOTA_Buff { public: @@ -13991,7 +14060,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DrowRanger_Arcana : public CDOTA_Buff { public: @@ -13999,32 +14068,32 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop_Aura : public CDOTA_Buff { public: - int32_t shard_width; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t shard_width; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop_Removal : public CDOTA_Buff { public: - float z_speed_override; // 0x11e8 + float z_speed_override; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Drow_Ranger_Glacier_Shard : public CDOTA_Buff { public: - uint32_t m_unOccluderID; // 0x11e8 + uint32_t m_unOccluderID; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Earthshaker_Shard : public CDOTA_Buff_Item { public: @@ -14032,30 +14101,30 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Earthshaker_Arcana : public CDOTA_Buff { public: - int32_t m_nComboCount; // 0x11e8 - float m_flComboWindow; // 0x11ec - float m_flComboDisplayInterval; // 0x11f0 - float m_flDamageDone; // 0x11f4 + int32_t m_nComboCount; // 0x12b8 + float m_flComboWindow; // 0x12bc + float m_flComboDisplayInterval; // 0x12c0 + float m_flDamageDone; // 0x12c4 }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Earthshaker_Fissure_Shard : public CDOTA_Buff { public: - int32_t shard_aftershock_stun_duration_pct; // 0x11e8 - float shard_free_pathing_linger_duration; // 0x11ec - Vector m_vStartPos; // 0x11f0 - Vector m_vEndPos; // 0x11fc - GameTime_t m_flEndTime; // 0x1208 + int32_t shard_aftershock_stun_duration_pct; // 0x12b8 + float shard_free_pathing_linger_duration; // 0x12bc + Vector m_vStartPos; // 0x12c0 + Vector m_vEndPos; // 0x12cc + GameTime_t m_flEndTime; // 0x12d8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Earthshaker_Fissure_Shard_Pathing : public CDOTA_Buff { public: @@ -14063,7 +14132,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Earthshaker_Fissure_Stun : public CDOTA_Modifier_Stunned { public: @@ -14071,7 +14140,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Earthshaker_Fissure_Thinker : public CDOTA_Buff { public: @@ -14079,7 +14148,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Fissure_Rooted : public CDOTA_Modifier_Rooted { public: @@ -14087,7 +14156,7 @@ public: }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Earthshaker_EnchantTotem_Leap : public CDOTA_Buff { public: @@ -14095,7 +14164,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Earthshaker_EnchantTotem_Animation : public CDOTA_Buff { public: @@ -14103,28 +14172,28 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Earthshaker_EnchantTotem : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x11e8 - int32_t totem_damage_percentage; // 0x11ec - int32_t scepter_cleave_pct; // 0x11f0 - float scepter_cleave_starting_width; // 0x11f4 - float scepter_cleave_ending_width; // 0x11f8 - float scepter_cleave_distance; // 0x11fc + int32_t bonus_attack_range; // 0x12b8 + int32_t totem_damage_percentage; // 0x12bc + int32_t scepter_cleave_pct; // 0x12c0 + float scepter_cleave_starting_width; // 0x12c4 + float scepter_cleave_ending_width; // 0x12c8 + float scepter_cleave_distance; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Earthshaker_Aftershock : public CDOTA_Buff { public: - int32_t aftershock_range; // 0x11e8 + int32_t aftershock_range; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Earthshaker_EchoSlam_Delay : public CDOTA_Buff { public: @@ -14132,7 +14201,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Earthshaker_Echoslam_Debuff : public CDOTA_Buff { public: @@ -14140,7 +14209,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Earthshaker_Echoslam_Heating_Up : public CDOTA_Buff { public: @@ -14148,82 +14217,83 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Earthshaker_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x11e8 - bool m_bFlail; // 0x11e9 + bool m_bFrozen; // 0x12b8 + bool m_bFlail; // 0x12b9 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror_Fear : public CDOTA_Modifier_Fear { public: // No members available }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 - int32_t damage_reduction_pct; // 0x11ec + int32_t armor_reduction; // 0x12b8 + int32_t attack_reduction; // 0x12bc + int32_t damage_reduction_pct; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror_Buff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t bonus_damage; // 0x12b8 + int32_t bonus_armor; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VengefulSpirit_Command_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VengefulSpirit_Command_Aura_Illusion : public CDOTA_Modifier_Invulnerable { public: - CHandle< C_BaseEntity > hTarget; // 0x11e8 + CHandle< C_BaseEntity > hTarget; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VengefulSpirit_Command_Aura_Effect : public CDOTA_Buff { public: - int32_t bonus_base_damage; // 0x11e8 + int32_t bonus_base_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VengefulSpirit_Command_Negative_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VengefulSpirit_Command_Negative_Aura_Effect : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x11e8 + int32_t bonus_damage_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -14231,16 +14301,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_DamageReduction : public CDOTA_Buff { public: - float damage_reduction; // 0x11e8 - ParticleIndex_t nFXIndex; // 0x11ec + float damage_reduction; // 0x12b8 + ParticleIndex_t nFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_PathingFix : public CDOTA_Buff { public: @@ -14248,15 +14318,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VengefulSpirit_Hybrid_Special : public CDOTA_Buff { public: - int32_t scepter_illusion_ms_bonus_pct; // 0x11e8 + int32_t scepter_illusion_ms_bonus_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_VengefulSpirit_XP_Earn : public CDOTA_Buff { public: @@ -14264,16 +14334,16 @@ public: }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Thinker : public CDOTA_Buff { public: - Vector m_vPathStart; // 0x11e8 - Vector m_vPathEnd; // 0x11f4 + Vector m_vPathStart; // 0x12b8 + Vector m_vPathEnd; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Bonus : public CDOTA_Buff { public: @@ -14281,7 +14351,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Slow : public CDOTA_Buff { public: @@ -14289,27 +14359,27 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_CrystalMaiden_CrystalNova : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 - int32_t attackspeed_slow; // 0x11ec + int32_t movespeed_slow; // 0x12b8 + int32_t attackspeed_slow; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_CrystalMaiden_Frostbite : public CDOTA_Buff { public: - int32_t max_ticks; // 0x11e8 - int32_t damage_per_second; // 0x11ec - int32_t creep_damage_per_second; // 0x11f0 - float tick_interval; // 0x11f4 + int32_t max_ticks; // 0x12b8 + int32_t damage_per_second; // 0x12bc + int32_t creep_damage_per_second; // 0x12c0 + float tick_interval; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_CrystalMaiden_BrillianceAura : public CDOTA_Buff { public: @@ -14317,57 +14387,57 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_CrystalMaiden_BrillianceAuraEffect : public CDOTA_Buff { public: - float base_mana_regen; // 0x11e8 - float self_factor; // 0x11ec - float proximity_bonus_factor; // 0x11f0 - int32_t proximity_bonus_radius; // 0x11f4 + float base_mana_regen; // 0x12b8 + float self_factor; // 0x12bc + float proximity_bonus_factor; // 0x12c0 + int32_t proximity_bonus_radius; // 0x12c4 }; // Alignment: 20 -// Size: 0x1258 +// Size: 0x1328 class CDOTA_Modifier_CrystalMaiden_FreezingField : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t damage; // 0x11ec - int32_t bonus_armor; // 0x11f0 - float explosion_interval; // 0x11f4 - float shard_bonus_explosion; // 0x11f8 - int32_t explosion_radius; // 0x11fc - float slow_duration; // 0x1200 - int32_t explosion_min_dist; // 0x1204 - int32_t explosion_max_dist; // 0x1208 - float frostbite_delay; // 0x120c - GameTime_t m_fLastTick; // 0x1210 - float m_fTimeAccumulator; // 0x1214 - int32_t m_iExplosionCount; // 0x1218 - int32_t m_iExplosionTotalCount; // 0x121c - int32_t m_iExplosionQuadrant; // 0x1220 - int32_t m_iExplosionDistance; // 0x1224 - int32_t shard_self_movement_speed_slow_pct; // 0x1228 - ParticleIndex_t m_nFXIndex; // 0x122c + int32_t radius; // 0x12b8 + int32_t damage; // 0x12bc + int32_t bonus_armor; // 0x12c0 + float explosion_interval; // 0x12c4 + float shard_bonus_explosion; // 0x12c8 + int32_t explosion_radius; // 0x12cc + float slow_duration; // 0x12d0 + int32_t explosion_min_dist; // 0x12d4 + int32_t explosion_max_dist; // 0x12d8 + float frostbite_delay; // 0x12dc + GameTime_t m_fLastTick; // 0x12e0 + float m_fTimeAccumulator; // 0x12e4 + int32_t m_iExplosionCount; // 0x12e8 + int32_t m_iExplosionTotalCount; // 0x12ec + int32_t m_iExplosionQuadrant; // 0x12f0 + int32_t m_iExplosionDistance; // 0x12f4 + int32_t shard_self_movement_speed_slow_pct; // 0x12f8 + ParticleIndex_t m_nFXIndex; // 0x12fc private: - [[maybe_unused]] uint8_t __pad1230[0x8]; // 0x1230 + [[maybe_unused]] uint8_t __pad1300[0x8]; // 0x1300 public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1238 - int32_t can_move; // 0x1250 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1308 + int32_t can_move; // 0x1320 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_CrystalMaiden_FreezingField_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 - int32_t attack_slow; // 0x11ec + int32_t movespeed_slow; // 0x12b8 + int32_t attack_slow; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_CrystalMaiden_FreezingField_Tracker : public CDOTA_Buff { public: @@ -14375,103 +14445,130 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_CrystalMaiden_IceRink_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float rink_formation_time; // 0x11ec - bool m_bActive; // 0x11f0 + int32_t radius; // 0x12b8 + float rink_formation_time; // 0x12bc + bool m_bActive; // 0x12c0 }; // Alignment: 8 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_CrystalMaiden_IceRink_Movement : public CDOTA_Buff { public: - bool m_bHitFirstUpdate; // 0x11e8 + bool m_bHitFirstUpdate; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - float flMovementSpeed; // 0x11ec - float m_flTurnBoostProgress; // 0x11f0 - float m_flFacingTarget; // 0x11f4 - ParticleIndex_t m_nFXIndex; // 0x11f8 - GameTime_t m_flHitEndTime; // 0x11fc - float hit_recover_time; // 0x1200 - Vector m_vDirection; // 0x1204 + float flMovementSpeed; // 0x12bc + float m_flTurnBoostProgress; // 0x12c0 + float m_flFacingTarget; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + GameTime_t m_flHitEndTime; // 0x12cc + float hit_recover_time; // 0x12d0 + Vector m_vDirection; // 0x12d4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_CDOTA_Modifier_CrystalMaiden_IceRink_Movement_Ricochet : public CDOTA_Buff { public: // No members available }; +// Alignment: 0 +// Size: 0x12b8 +class CDOTA_Modifier_Crystal_Maiden_Crystal_Clone : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 5 +// Size: 0x12d0 +class CDOTA_Modifier_Crystal_Maiden_Crystal_Clone_Statue : public CDOTA_Buff +{ +public: + int32_t frostbite_radius; // 0x12b8 + float anim_delay; // 0x12bc + bool m_bActivated; // 0x12c0 +private: + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 +public: + int32_t clone_health; // 0x12c4 + float m_flDamageTaken; // 0x12c8 +}; + // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Axe_BattleHunger : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x11e8 - int32_t slow; // 0x11ec - int32_t scepter_armor_change; // 0x11f0 + int32_t damage_per_second; // 0x12b8 + int32_t slow; // 0x12bc + int32_t scepter_armor_change; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Axe_BatleHunger_Self : public CDOTA_Buff { public: - int32_t scepter_armor_change; // 0x11e8 + int32_t scepter_armor_change; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Axe_BatleHunger_Self_Movespeed : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x11e8 + int32_t speed_bonus; // 0x12b8 }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Axe_BerserkersCall : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hZombieTarget; // 0x11e8 - bool m_bDidSetAttackTarget; // 0x11ec + CHandle< C_BaseEntity > m_hZombieTarget; // 0x12b8 + bool m_bDidSetAttackTarget; // 0x12bc +private: + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd +public: + int32_t bonus_attack_speed; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Axe_BerserkersCallArmor : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Axe_CounterHelix : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t trigger_attacks; // 0x11ec + int32_t radius; // 0x12b8 + int32_t trigger_attacks; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Axe_CounterHelix_DamageReduction : public CDOTA_Buff { public: - int32_t shard_damage_reduction; // 0x11e8 + int32_t shard_damage_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Axe_Culling_Blade_NoMinHealth : public CDOTA_Buff { public: @@ -14479,7 +14576,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Axe_Culling_Blade_Charge : public CDOTA_Buff { public: @@ -14487,24 +14584,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Axe_CullingBlade_Boost : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x11e8 - int32_t atk_speed_bonus; // 0x11ec + int32_t speed_bonus; // 0x12b8 + int32_t atk_speed_bonus; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Axe_CullingBlade_Permanent : public CDOTA_Buff { public: - float armor_per_stack; // 0x11e8 + float armor_per_stack; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Axe_CullingBlade_JungleWeaponGesture : public CDOTA_Buff { public: @@ -14512,71 +14609,71 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_HoldoutCullingBlade : public CDOTA_Buff { public: - int32_t leap_distance; // 0x11e8 - int32_t leap_radius; // 0x11ec - float leap_speed; // 0x11f0 - float leap_acceleration; // 0x11f4 + int32_t leap_distance; // 0x12b8 + int32_t leap_radius; // 0x12bc + float leap_speed; // 0x12c0 + float leap_acceleration; // 0x12c4 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Bloodseeker_Bloodrage : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 - int32_t spell_amp; // 0x11ec - float shard_max_health_dmg_pct; // 0x11f0 - float damage_pct; // 0x11f4 - float flTickRate; // 0x11f8 + int32_t attack_speed; // 0x12b8 + int32_t spell_amp; // 0x12bc + float shard_max_health_dmg_pct; // 0x12c0 + float damage_pct; // 0x12c4 + float flTickRate; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Bloodseeker_Bloodbath_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 10 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Bloodseeker_Thirst : public CDOTA_Buff { public: - int32_t hero_kill_heal; // 0x11e8 - int32_t creep_kill_heal; // 0x11ec - int32_t half_bonus_aoe; // 0x11f0 - int32_t visibility_threshold_pct; // 0x11f4 - int32_t invis_threshold_pct; // 0x11f8 - int32_t min_bonus_pct; // 0x11fc - int32_t max_bonus_pct; // 0x1200 - int32_t bonus_movement_speed; // 0x1204 - float linger_duration; // 0x1208 - ParticleIndex_t m_nFXIndex; // 0x120c + int32_t hero_kill_heal; // 0x12b8 + int32_t creep_kill_heal; // 0x12bc + int32_t half_bonus_aoe; // 0x12c0 + int32_t visibility_threshold_pct; // 0x12c4 + int32_t invis_threshold_pct; // 0x12c8 + int32_t min_bonus_pct; // 0x12cc + int32_t max_bonus_pct; // 0x12d0 + int32_t bonus_movement_speed; // 0x12d4 + float linger_duration; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Bloodseeker_Thirst_Vision : public CDOTA_Buff { public: - int32_t invis_threshold_pct; // 0x11e8 + int32_t invis_threshold_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Bloodseeker_Thirst_Speed : public CDOTA_Buff { public: - CUtlSymbolLarge m_iszModifierString; // 0x11e8 + CUtlSymbolLarge m_iszModifierString; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bloodseeker_Rupture_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -14584,31 +14681,31 @@ public: }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Bloodseeker_Rupture : public CDOTA_Buff { public: - int32_t movement_damage_pct; // 0x11e8 - float hp_pct; // 0x11ec - Vector vLastPos; // 0x11f0 - bool bResetPosition; // 0x11fc + int32_t movement_damage_pct; // 0x12b8 + float hp_pct; // 0x12bc + Vector vLastPos; // 0x12c0 + bool bResetPosition; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float m_fAccumulatedDamage; // 0x1200 + float m_fAccumulatedDamage; // 0x12d0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Bloodseeker_BloodMist_Barrier : public CDOTA_Buff { public: - GameTime_t flLastGameTime; // 0x11e8 - float m_flCurrentShield; // 0x11ec + GameTime_t flLastGameTime; // 0x12b8 + float m_flCurrentShield; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bloodseeker_BloodMist_Passive : public CDOTA_Buff { public: @@ -14616,196 +14713,199 @@ public: }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Bloodseeker_BloodMist : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 + ParticleIndex_t m_nFXIndex; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Bloodseeker_BloodMist_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PhantomLancer_SpiritLance : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x11e8 + int32_t movement_speed_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_PhantomLancer_Dopplewalk_Phase : public CDOTA_Buff { public: - Vector vTargetPosition; // 0x11e8 + Vector vTargetPosition; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PhantomLancer_Doppelwalk_Illusion : public CDOTA_Buff { public: - float flDamageTaken; // 0x11e8 + float flDamageTaken; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PhantomLancer_Juxtapose_Cache : public CDOTA_Buff { public: - PlayerID_t m_nControllingPlayer; // 0x11e8 + PlayerID_t m_nControllingPlayer; // 0x12b8 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_PhantomLancer_Juxtapose_Invisibility : public CDOTA_Modifier_Invisible { public: - float invis_movespeed; // 0x11f8 + float invis_movespeed; // 0x12c8 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_PhantomLancer_Juxtapose_Thinker : public CDOTA_Buff { public: - int32_t max_illusions; // 0x11e8 - int32_t scepter_bonus_illusions; // 0x11ec - float illusion_duration; // 0x11f0 - int32_t illusion_damage_out_pct; // 0x11f4 - int32_t illusion_damage_in_pct; // 0x11f8 - float scepter_bonus_duration; // 0x11fc - int32_t m_iIllusionsSoFar; // 0x1200 + int32_t max_illusions; // 0x12b8 + int32_t scepter_bonus_illusions; // 0x12bc + float illusion_duration; // 0x12c0 + int32_t illusion_damage_out_pct; // 0x12c4 + int32_t illusion_damage_in_pct; // 0x12c8 + float scepter_bonus_duration; // 0x12cc + int32_t m_iIllusionsSoFar; // 0x12d0 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_PhantomLancer_Juxtapose : public CDOTA_Buff { public: - int32_t proc_chance_pct; // 0x11e8 - int32_t illusion_proc_chance_pct; // 0x11ec - int32_t max_illusions; // 0x11f0 - float illusion_duration; // 0x11f4 - int32_t illusion_damage_out_pct; // 0x11f8 - int32_t illusion_damage_in_pct; // 0x11fc - int32_t shard_bonus_illusions; // 0x1200 + int32_t proc_chance_pct; // 0x12b8 + int32_t illusion_proc_chance_pct; // 0x12bc + int32_t max_illusions; // 0x12c0 + float illusion_duration; // 0x12c4 + int32_t illusion_damage_out_pct; // 0x12c8 + int32_t illusion_damage_in_pct; // 0x12cc + int32_t shard_bonus_illusions; // 0x12d0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_PhantomLancer_PhantomEdge : public CDOTA_Buff { public: - int32_t min_distance; // 0x11e8 - int32_t max_distance; // 0x11ec - CHandle< C_BaseEntity > m_hTarget; // 0x11f0 + int32_t min_distance; // 0x12b8 + int32_t max_distance; // 0x12bc + CHandle< C_BaseEntity > m_hTarget; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_PhantomLancer_PhantomEdge_Boost : public CDOTA_Buff { public: - int32_t bonus_speed; // 0x11e8 - float agility_duration; // 0x11ec - bool m_bGiveAgility; // 0x11f0 + int32_t bonus_speed; // 0x12b8 + float agility_duration; // 0x12bc + bool m_bGiveAgility; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - CHandle< C_BaseEntity > m_hTarget; // 0x11f4 + CHandle< C_BaseEntity > m_hTarget; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PhantomLancer_PhantomEdge_Agility : public CDOTA_Buff { public: - int32_t bonus_agility; // 0x11e8 + int32_t bonus_agility; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PhantomLancer_JuxtaposeIllusion : public CDOTA_Buff { public: - bool m_bstrongIllusion; // 0x11e8 + bool m_bstrongIllusion; // 0x12b8 }; // Alignment: 15 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_Razor_PlasmaField_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x11e8 - float m_fCurRadius; // 0x11ec - GameTime_t m_fLastThink; // 0x11f0 - bool m_bContracting; // 0x11f4 + float m_fLastRadius; // 0x12b8 + float m_fCurRadius; // 0x12bc + GameTime_t m_fLastThink; // 0x12c0 + bool m_bContracting; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - CountdownTimer m_ViewerTimer; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x1210 + CountdownTimer m_ViewerTimer; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1218 - int32_t speed; // 0x1230 - int32_t radius; // 0x1234 - float damage_min; // 0x1238 - float damage_max; // 0x123c - int32_t slow_min; // 0x1240 - int32_t slow_max; // 0x1244 - float slow_duration; // 0x1248 - bool m_bHasCreatedFx; // 0x124c + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12e8 + int32_t speed; // 0x1300 + int32_t radius; // 0x1304 + float damage_min; // 0x1308 + float damage_max; // 0x130c + int32_t slow_min; // 0x1310 + int32_t slow_max; // 0x1314 + float slow_duration; // 0x1318 + bool m_bHasCreatedFx; // 0x131c }; -// Alignment: 10 -// Size: 0x1220 +// Alignment: 13 +// Size: 0x1300 class CDOTA_Modifier_Razor_StaticLink : public CDOTA_Buff { public: - float flSmoothness; // 0x11e8 - float drain_duration; // 0x11ec - int32_t drain_rate; // 0x11f0 - int32_t drain_range; // 0x11f4 - int32_t drain_range_buffer; // 0x11f8 - CHandle< C_BaseEntity > m_hTarget; // 0x11fc - int32_t m_iTotalDrainAmount; // 0x1200 - ParticleIndex_t m_iLinkIndex; // 0x1204 - CDOTA_Buff* m_pBuffPositive; // 0x1208 - CDOTA_Buff* m_pNegative; // 0x1210 + float flSmoothness; // 0x12b8 + float drain_duration; // 0x12bc + int32_t drain_rate; // 0x12c0 + int32_t drain_range; // 0x12c4 + int32_t drain_range_buffer; // 0x12c8 + CHandle< C_BaseEntity > m_hTarget; // 0x12cc + int32_t m_iTotalDrainAmount; // 0x12d0 + int32_t pull_speed; // 0x12d4 + int32_t min_pull_range; // 0x12d8 + ParticleIndex_t m_iLinkIndex; // 0x12dc + CDOTA_Buff* m_pBuffPositive; // 0x12e0 + CDOTA_Buff* m_pNegative; // 0x12e8 + GameTime_t m_flLastThinkTime; // 0x12f0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Razor_StaticLink_Buff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t drain_rate; // 0x11ec - float drain_length; // 0x11f0 - int32_t attack_speed_factor; // 0x11f4 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t drain_rate; // 0x12bc + float drain_length; // 0x12c0 + int32_t attack_speed_factor; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Razor_StaticLink_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t attack_speed_factor; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t attack_speed_factor; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Razor_Link_Vision : public CDOTA_Buff { public: @@ -14813,68 +14913,68 @@ public: }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Razor_UnstableCurrent_Aura : public CDOTA_Buff { public: - int32_t self_movement_speed_pct; // 0x11e8 - int32_t shard_pct_chance; // 0x11ec - int32_t shard_damage; // 0x11f0 - int32_t shard_move_slow_pct; // 0x11f4 - int32_t shard_search_radius; // 0x11f8 - int32_t shard_target_count; // 0x11fc - float shard_slow_duration; // 0x1200 - float shard_internal_cd; // 0x1204 + int32_t self_movement_speed_pct; // 0x12b8 + int32_t strike_pct_chance; // 0x12bc + int32_t strike_damage; // 0x12c0 + int32_t strike_move_slow_pct; // 0x12c4 + int32_t strike_search_radius; // 0x12c8 + int32_t strike_target_count; // 0x12cc + float strike_slow_duration; // 0x12d0 + float strike_internal_cd; // 0x12d4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Razor_UnstableCurrent_Delayed_Damage : public CDOTA_Buff { public: - int32_t shard_damage; // 0x11e8 - float shard_slow_duration; // 0x11ec + int32_t strike_damage; // 0x12b8 + float strike_slow_duration; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Razor_UnstableCurrent_Slow : public CDOTA_Buff { public: - int32_t shard_move_slow_pct; // 0x11e8 + int32_t strike_move_slow_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Razor_PlasmaField_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x11e8 + int32_t slow_amount; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Razor_EyeOfTheStorm_Passive : public CDOTA_Buff { public: - int32_t passive_area_damage; // 0x11e8 - float passive_area_interval; // 0x11ec - int32_t radius; // 0x11f0 - bool m_bHitNext; // 0x11f4 + int32_t passive_area_damage; // 0x12b8 + float passive_area_interval; // 0x12bc + int32_t radius; // 0x12c0 + bool m_bHitNext; // 0x12c4 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Razor_EyeOfTheStorm : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t armor_reduction; // 0x11ec - int32_t damage; // 0x11f0 + int32_t radius; // 0x12b8 + int32_t armor_reduction; // 0x12bc + int32_t damage; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Razor_EyeOfTheStorm_Armor : public CDOTA_Buff { public: @@ -14882,93 +14982,109 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Razor_Arcana : public CDOTA_Buff { public: - bool m_bIsMeleeAttack; // 0x11e8 - bool m_bTauntQueued; // 0x11e9 + bool m_bIsMeleeAttack; // 0x12b8 + bool m_bTauntQueued; // 0x12b9 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Razor_Arcana_EmpoweredState : public CDOTA_Buff { public: - ParticleIndex_t m_nEmpoweredBodyFX; // 0x11e8 - ParticleIndex_t m_nEmpoweredWeaponFX; // 0x11ec + ParticleIndex_t m_nEmpoweredBodyFX; // 0x12b8 + ParticleIndex_t m_nEmpoweredWeaponFX; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Razor_Arcana_Kill_Effect : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x11e8 + ParticleIndex_t m_nCasterFXIndex; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Lina_DragonSlave_Burn : public CDOTA_Buff +{ +public: + int32_t dragon_slave_burn; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Lina_LightStrikeArray_Thinker : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x11e8 - float m_flStunDuration; // 0x11ec - int32_t light_strike_array_aoe; // 0x11f0 - int32_t light_strike_array_damage; // 0x11f4 - float light_strike_array_stun_duration; // 0x11f8 + int32_t m_iDamage; // 0x12b8 + float m_flStunDuration; // 0x12bc + int32_t light_strike_array_aoe; // 0x12c0 + int32_t light_strike_array_damage; // 0x12c4 + float light_strike_array_stun_duration; // 0x12c8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Lina_FierySoul : public CDOTA_Buff { public: - int32_t fiery_soul_attack_speed_bonus; // 0x11e8 - float fiery_soul_move_speed_bonus; // 0x11ec - int32_t fiery_soul_max_stacks; // 0x11f0 - float fiery_soul_stack_duration; // 0x11f4 - ParticleIndex_t m_nFXIndex; // 0x11f8 - GameTime_t m_flFierySoulDieTime; // 0x11fc -}; - -// Alignment: 2 -// Size: 0x1200 -class CDOTA_Modifier_Lina_LagunaBlade_Line : public CDOTA_Buff -{ -public: - Vector vStart; // 0x11e8 - Vector vEnd; // 0x11f4 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Lina_LagunaBlade : public CDOTA_Buff -{ -public: - int32_t damage; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Lina_LagunaBlade_Superheated : public CDOTA_Buff -{ -public: - int32_t increased_damage; // 0x11e8 -}; - -// Alignment: 3 -// Size: 0x1200 -class CDOTA_Modifier_Lina_Fiery_Cloak : public CDOTA_Buff -{ -public: - int32_t magic_resistance; // 0x11e8 - int32_t spell_amp; // 0x11ec - float visualzdelta; // 0x11f0 + int32_t fiery_soul_attack_speed_bonus; // 0x12b8 + float fiery_soul_move_speed_bonus; // 0x12bc + int32_t fiery_soul_max_stacks; // 0x12c0 + float fiery_soul_stack_duration; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + GameTime_t m_flFierySoulDieTime; // 0x12cc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 +class CDOTA_Modifier_Lina_SuperCharged : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Lina_LagunaBlade_Line : public CDOTA_Buff +{ +public: + Vector vStart; // 0x12b8 + Vector vEnd; // 0x12c4 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Lina_LagunaBlade : public CDOTA_Buff +{ +public: + int32_t damage; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Lina_LagunaBlade_Superheated : public CDOTA_Buff +{ +public: + int32_t increased_damage; // 0x12b8 +}; + +// Alignment: 3 +// Size: 0x12d0 +class CDOTA_Modifier_Lina_Fiery_Cloak : public CDOTA_Buff +{ +public: + int32_t magic_resistance; // 0x12b8 + int32_t spell_amp; // 0x12bc + float visualzdelta; // 0x12c0 +}; + +// Alignment: 0 +// Size: 0x12b8 class CDOTA_Modifier_Morphling_Waveform_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -14976,7 +15092,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Morphling_Waveform : public CDOTA_Buff { public: @@ -14984,15 +15100,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Morphling_Adaptive_Strike_Armor : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 + int32_t armor_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Morphling_Adaptive_Strike : public CDOTA_Modifier_Stunned { public: @@ -15000,118 +15116,118 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Morphling_Morph : public CDOTA_Buff { public: - float tick_rate; // 0x11e8 - int32_t bonus_attributes; // 0x11ec + float tick_rate; // 0x12b8 + int32_t bonus_attributes; // 0x12bc }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_Morph_Agi : public CDOTA_Buff { public: - int32_t mana_cost; // 0x11e8 - int32_t points_per_tick; // 0x11ec - float morph_cooldown; // 0x11f0 + int32_t mana_cost; // 0x12b8 + int32_t points_per_tick; // 0x12bc + float morph_cooldown; // 0x12c0 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_Morph_Str : public CDOTA_Buff { public: - int32_t mana_cost; // 0x11e8 - int32_t points_per_tick; // 0x11ec - float morph_cooldown; // 0x11f0 + int32_t mana_cost; // 0x12b8 + int32_t points_per_tick; // 0x12bc + float morph_cooldown; // 0x12c0 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Strength_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x11e8 - int32_t scepter_status_resist; // 0x11ec - int32_t nStrengthSteal; // 0x11f0 - int32_t nAgiSteal; // 0x11f4 - int32_t nIntSteal; // 0x11f8 + int32_t scepter_stat_steal; // 0x12b8 + int32_t scepter_status_resist; // 0x12bc + int32_t nStrengthSteal; // 0x12c0 + int32_t nAgiSteal; // 0x12c4 + int32_t nIntSteal; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Strength_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x11e8 - int32_t scepter_status_resist; // 0x11ec + int32_t scepter_stat_steal; // 0x12b8 + int32_t scepter_status_resist; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Agility_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x11e8 - int32_t scepter_attack_speed; // 0x11ec - int32_t nStrengthSteal; // 0x11f0 - int32_t nAgilitySteal; // 0x11f4 - int32_t nIntSteal; // 0x11f8 + int32_t scepter_stat_steal; // 0x12b8 + int32_t scepter_attack_speed; // 0x12bc + int32_t nStrengthSteal; // 0x12c0 + int32_t nAgilitySteal; // 0x12c4 + int32_t nIntSteal; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Agility_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x11e8 - int32_t scepter_attack_speed; // 0x11ec + int32_t scepter_stat_steal; // 0x12b8 + int32_t scepter_attack_speed; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Intelligence_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x11e8 - int32_t scepter_spell_amplify; // 0x11ec - int32_t nStrengthSteal; // 0x11f0 - int32_t nIntSteal; // 0x11f4 - int32_t nAgilitySteal; // 0x11f8 + int32_t scepter_stat_steal; // 0x12b8 + int32_t scepter_spell_amplify; // 0x12bc + int32_t nStrengthSteal; // 0x12c0 + int32_t nIntSteal; // 0x12c4 + int32_t nAgilitySteal; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Intelligence_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x11e8 - int32_t scepter_spell_amplify; // 0x11ec + int32_t scepter_stat_steal; // 0x12b8 + int32_t scepter_spell_amplify; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Morphling_ScepterStatsDrain_All_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x11e8 - int32_t nStrengthSteal; // 0x11ec - int32_t nAgiSteal; // 0x11f0 - int32_t nIntSteal; // 0x11f4 + int32_t scepter_stat_steal; // 0x12b8 + int32_t nStrengthSteal; // 0x12bc + int32_t nAgiSteal; // 0x12c0 + int32_t nIntSteal; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_All_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x11e8 + int32_t scepter_stat_steal; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Morphling_Replicate_Manager : public CDOTA_Buff { public: @@ -15119,35 +15235,35 @@ public: }; // Alignment: 15 -// Size: 0x1278 +// Size: 0x1348 class CDOTA_Modifier_Morphling_Replicate : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTinyTreeWearable; // 0x11e8 - float m_flBaseAttackRange; // 0x11ec - float m_flBaseMovementSpeed; // 0x11f0 + CHandle< C_BaseEntity > m_hTinyTreeWearable; // 0x12b8 + float m_flBaseAttackRange; // 0x12bc + float m_flBaseMovementSpeed; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlSymbolLarge m_iszModelName; // 0x11f8 - CUtlSymbolLarge m_iszProjectileName; // 0x1200 - CUtlSymbolLarge m_iszOriginalModel; // 0x1208 - int32_t m_nCopiedHeroID; // 0x1210 - float m_fOriginalModelScale; // 0x1214 - CUtlVector< C_EconItemView* > m_vecOriginalItems; // 0x1218 + CUtlSymbolLarge m_iszModelName; // 0x12c8 + CUtlSymbolLarge m_iszProjectileName; // 0x12d0 + CUtlSymbolLarge m_iszOriginalModel; // 0x12d8 + int32_t m_nCopiedHeroID; // 0x12e0 + float m_fOriginalModelScale; // 0x12e4 + CUtlVector< C_EconItemView* > m_vecOriginalItems; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1230[0x30]; // 0x1230 + [[maybe_unused]] uint8_t __pad1300[0x30]; // 0x1300 public: - float m_flOriginalStr; // 0x1260 - float m_flOriginalAgi; // 0x1264 - float m_flOriginalInt; // 0x1268 - int32_t m_iOriginalAttackCapability; // 0x126c - float m_flOriginalHealthPercentage; // 0x1270 - float m_flOriginalManaPercentage; // 0x1274 + float m_flOriginalStr; // 0x1330 + float m_flOriginalAgi; // 0x1334 + float m_flOriginalInt; // 0x1338 + int32_t m_iOriginalAttackCapability; // 0x133c + float m_flOriginalHealthPercentage; // 0x1340 + float m_flOriginalManaPercentage; // 0x1344 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Morphling_Replicate_MorphedIllusionsEffect : public CDOTA_Buff { public: @@ -15155,7 +15271,15 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 +class CDOTA_Modifier_Morphling_Replicate_Illusion : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12b8 class CDOTA_Modifier_Morphling_Scepter : public CDOTA_Buff { public: @@ -15163,7 +15287,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Zuus_Static_Field : public CDOTA_Buff { public: @@ -15171,40 +15295,40 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Zuus_Static_Field_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 - int32_t aspd_slow; // 0x11ec - int32_t cast_slow; // 0x11f0 + int32_t move_slow; // 0x12b8 + int32_t aspd_slow; // 0x12bc + int32_t cast_slow; // 0x12c0 }; // Alignment: 10 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Zuus_ArcLightning : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t jump_count; // 0x11ec - int32_t arc_damage; // 0x11f0 - float jump_delay; // 0x11f4 - int32_t damage_health_pct; // 0x11f8 - int32_t total_damage_pct; // 0x11fc - int32_t m_iCurJumpCount; // 0x1200 - bool trigger_spell_absorb; // 0x1204 + int32_t radius; // 0x12b8 + int32_t jump_count; // 0x12bc + int32_t arc_damage; // 0x12c0 + float jump_delay; // 0x12c4 + int32_t damage_health_pct; // 0x12c8 + int32_t total_damage_pct; // 0x12cc + int32_t m_iCurJumpCount; // 0x12d0 + bool trigger_spell_absorb; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - Vector m_vCurTargetLoc; // 0x1208 + Vector m_vCurTargetLoc; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1218 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12e8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Zuus_ArcLightningSlow : public CDOTA_Buff { public: @@ -15212,26 +15336,27 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Zuus_LightningBoltThinker : public CDOTA_Buff { public: // No members available }; -// Alignment: 4 -// Size: 0x11f8 +// Alignment: 5 +// Size: 0x12d0 class CDOTA_Modifier_Zuus_ThundergodsWrathThinker : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - float sight_duration; // 0x11ec - int32_t second_strike_damage_percent; // 0x11f0 - float second_strike_delay; // 0x11f4 + int32_t damage; // 0x12b8 + float damage_pct; // 0x12bc + float sight_duration; // 0x12c0 + int32_t second_strike_damage_percent; // 0x12c4 + float second_strike_delay; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Zuus_ThundergodsWrathVisionThinker : public CDOTA_Buff { public: @@ -15239,17 +15364,17 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Zuus_Cloud : public CDOTA_Buff { public: - CountdownTimer m_CloudBoltTimer; // 0x11e8 - float cloud_bolt_interval; // 0x1200 - int32_t cloud_radius; // 0x1204 + CountdownTimer m_CloudBoltTimer; // 0x12b8 + float cloud_bolt_interval; // 0x12d0 + int32_t cloud_radius; // 0x12d4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Zuus_Heavenly_Jump : public CDOTA_Buff { public: @@ -15257,106 +15382,113 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Zuus_Heavenly_Jump_Boost : public CDOTA_Buff { public: - int32_t postjump_movespeed; // 0x11e8 + int32_t postjump_movespeed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Zuus_ThunderTrail_Debuff : public CDOTA_Buff { public: - int32_t debuff_spell_amp; // 0x11e8 + int32_t debuff_spell_amp; // 0x12b8 }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Zuus_Lightning_Hands : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x1200 - int32_t arc_lightning_damage_pct; // 0x1204 - int32_t arc_lightning_damage_illusion_pct; // 0x1208 - int32_t attack_range_bonus; // 0x120c + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12d0 + int32_t arc_lightning_damage_pct; // 0x12d4 + int32_t arc_lightning_damage_illusion_pct; // 0x12d8 + int32_t attack_range_bonus; // 0x12dc }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 6 +// Size: 0x12c8 class CDOTA_Modifier_Kunkka_Torrent_Thinker : public CDOTA_Buff { public: - bool m_bShowEnemies; // 0x11e8 - bool m_bTorrentStorm; // 0x11e9 + bool m_bShowEnemies; // 0x12b8 + bool m_bTorrentStorm; // 0x12b9 + bool m_bTorrentStarted; // 0x12ba +private: + [[maybe_unused]] uint8_t __pad12bb[0x1]; // 0x12bb +public: + GameTime_t m_fTorrentStartTime; // 0x12bc + float flDamagePerTick; // 0x12c0 + float damage_tick_interval; // 0x12c4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Kunkka_Torrent : public CDOTA_Buff { public: - int32_t torrent_damage; // 0x11e8 - float damage_tick_interval; // 0x11ec - float flDamagePerTick; // 0x11f0 + int32_t torrent_damage; // 0x12b8 + float damage_tick_interval; // 0x12bc + float flDamagePerTick; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Kunkka_Torrent_Slow : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x11e8 + int32_t movespeed_bonus; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Kunkka_Tidebringer_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 + int32_t movespeed_slow; // 0x12b8 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Kunkka_Torrent_Storm : public CDOTA_Buff { public: - int32_t torrent_min_distance; // 0x11e8 - int32_t torrent_max_distance; // 0x11ec - int32_t m_iExplosionQuadrant; // 0x11f0 + int32_t torrent_min_distance; // 0x12b8 + int32_t torrent_max_distance; // 0x12bc + int32_t m_iExplosionQuadrant; // 0x12c0 }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Kunkka_Tidebringer : public CDOTA_Buff { public: - bool m_bTidebringerAttack; // 0x11e8 + bool m_bTidebringerAttack; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t cleave_starting_width; // 0x11ec - int32_t cleave_ending_width; // 0x11f0 - int32_t cleave_distance; // 0x11f4 - int32_t damage_bonus; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc - int32_t cleave_damage; // 0x1200 + int32_t cleave_starting_width; // 0x12bc + int32_t cleave_ending_width; // 0x12c0 + int32_t cleave_distance; // 0x12c4 + int32_t damage_bonus; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + int32_t cleave_damage; // 0x12d0 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Kunkka_XMarksTheSpot : public CDOTA_Buff { public: - int32_t ally_ms; // 0x11e8 - int32_t ally_armor; // 0x11ec + int32_t ally_ms; // 0x12b8 + int32_t ally_armor; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Kunkka_XMarksTheSpotMarker : public CDOTA_Buff { public: @@ -15364,30 +15496,30 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Kunkka_XMarksTheSpot_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x11e8 - bool m_bIsReflection; // 0x11f4 + Vector m_vStartLoc; // 0x12b8 + bool m_bIsReflection; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - CHandle< C_BaseEntity > m_hEntity; // 0x11f8 + CHandle< C_BaseEntity > m_hEntity; // 0x12c8 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Kunkka_Ghost_Ship_Fleet : public CDOTA_Buff { public: - Vector vCasterOrigin; // 0x11e8 - Vector vEnd; // 0x11f4 - int32_t hitcount; // 0x1200 + Vector vCasterOrigin; // 0x12b8 + Vector vEnd; // 0x12c4 + int32_t hitcount; // 0x12d0 }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Kunkka_GhostShip_Knockback : public CDOTA_Modifier_Knockback { public: @@ -15395,7 +15527,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Kunkka_GhostShip_Loaded : public CDOTA_Buff { public: @@ -15403,36 +15535,36 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Kunkka_GhostShip_DamageAbsorb : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x11e8 - int32_t movespeed_bonus; // 0x11ec - float ghostship_absorb; // 0x11f0 + int32_t m_iAccumulatedDamage; // 0x12b8 + int32_t movespeed_bonus; // 0x12bc + float ghostship_absorb; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Kunkka_GhostShip_DamageDelay : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x11e8 - float m_flDuration; // 0x11ec + int32_t m_iAccumulatedDamage; // 0x12b8 + float m_flDuration; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Tiny_CraggyExterior : public CDOTA_Buff { public: - int32_t stun_chance; // 0x11e8 - float stun_duration; // 0x11ec - int32_t damage; // 0x11f0 + int32_t stun_chance; // 0x12b8 + float stun_duration; // 0x12bc + int32_t damage; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tiny_Avalanche_Stun : public CDOTA_Modifier_Stunned { public: @@ -15440,22 +15572,22 @@ public: }; // Alignment: 8 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Tiny_Avalanche : public CDOTA_Buff { public: - CUtlVector< C_DOTA_BaseNPC* > m_pHeroesHit; // 0x11e8 - int32_t radius; // 0x1200 - float total_duration; // 0x1204 - float stun_duration; // 0x1208 - int32_t tick_count; // 0x120c - float toss_multiplier; // 0x1210 - int32_t m_damage; // 0x1214 - int32_t m_nTicks; // 0x1218 + CUtlVector< C_DOTA_BaseNPC* > m_pHeroesHit; // 0x12b8 + int32_t radius; // 0x12d0 + float total_duration; // 0x12d4 + float stun_duration; // 0x12d8 + int32_t tick_count; // 0x12dc + float toss_multiplier; // 0x12e0 + int32_t m_damage; // 0x12e4 + int32_t m_nTicks; // 0x12e8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tiny_Toss_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -15463,83 +15595,84 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tiny_Toss : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t toss_damage; // 0x11ec + int32_t radius; // 0x12b8 + int32_t toss_damage; // 0x12bc }; // Alignment: 12 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Tiny_Tree_Grab : public CDOTA_Buff { public: - int32_t attack_count; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t bonus_damage_buildings; // 0x11f0 - float stun_duration; // 0x11f4 - int32_t attack_range; // 0x11f8 - int32_t m_nOriginalAttackCapability; // 0x11fc - float bat_increase; // 0x1200 - int32_t speed_reduction; // 0x1204 - int32_t m_nBonusAttackRange; // 0x1208 - CHandle< C_BaseEntity > m_hStolenTree; // 0x120c - ParticleIndex_t m_nFXIndex; // 0x1210 - ParticleIndex_t m_nFXAttackIndex; // 0x1214 + int32_t attack_count; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t bonus_damage_buildings; // 0x12c0 + float stun_duration; // 0x12c4 + int32_t attack_range; // 0x12c8 + int32_t m_nOriginalAttackCapability; // 0x12cc + float bat_increase; // 0x12d0 + int32_t speed_reduction; // 0x12d4 + int32_t m_nBonusAttackRange; // 0x12d8 + CHandle< C_BaseEntity > m_hStolenTree; // 0x12dc + ParticleIndex_t m_nFXIndex; // 0x12e0 + ParticleIndex_t m_nFXAttackIndex; // 0x12e4 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Tiny_Tree_Channel : public CDOTA_Buff { public: - int32_t tree_grab_radius; // 0x11e8 - int32_t splash_radius; // 0x11ec - int32_t speed; // 0x11f0 - float interval; // 0x11f4 - Vector m_vPos; // 0x11f8 + int32_t tree_grab_radius; // 0x12b8 + int32_t splash_radius; // 0x12bc + int32_t speed; // 0x12c0 + float interval; // 0x12c4 + Vector m_vPos; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tiny_Tree_Channel_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tiny_TossTree_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tiny_TossTree_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; -// Alignment: 5 -// Size: 0x1200 +// Alignment: 6 +// Size: 0x12d0 class CDOTA_Modifier_Tiny_Grow : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 - int32_t attack_speed_reduction; // 0x11ec - int32_t bonus_damage; // 0x11f0 - float tree_bonus_damage_pct; // 0x11f4 - ParticleIndex_t m_nFXIndex; // 0x11f8 + int32_t bonus_armor; // 0x12b8 + int32_t attack_speed_reduction; // 0x12bc + int32_t bonus_damage; // 0x12c0 + float tree_bonus_damage_pct; // 0x12c4 + float slow_resistance; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Puck_PhaseShift : public CDOTA_Buff { public: @@ -15547,40 +15680,50 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Puck_PhaseShift_AttackBonus : public CDOTA_Buff { public: - int32_t shard_bonus_damage; // 0x11e8 + int32_t shard_bonus_damage; // 0x12b8 }; // Alignment: 8 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Puck_DreamCoil_Thinker : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > m_hLinkedEntities; // 0x11e8 - int32_t coil_radius; // 0x1200 - int32_t coil_break_radius; // 0x1204 - int32_t coil_initial_damage; // 0x1208 - float coil_stun_duration; // 0x120c - float coil_duration; // 0x1210 - int32_t coil_break_damage; // 0x1214 - CUtlVector< ParticleIndex_t > m_FXIndex; // 0x1218 + CUtlVector< CHandle< C_BaseEntity > > m_hLinkedEntities; // 0x12b8 + int32_t coil_radius; // 0x12d0 + int32_t coil_break_radius; // 0x12d4 + int32_t coil_initial_damage; // 0x12d8 + float coil_stun_duration; // 0x12dc + float coil_duration; // 0x12e0 + int32_t coil_break_damage; // 0x12e4 + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x12e8 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Puck_Coiled : public CDOTA_Buff { public: - Vector m_vCastLocation; // 0x11e8 - int32_t coil_rapid_fire_z_offset; // 0x11f4 - float coil_rapid_fire_rate; // 0x11f8 + Vector m_vCastLocation; // 0x12b8 + int32_t coil_rapid_fire_z_offset; // 0x12c4 + float coil_rapid_fire_rate; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12d0 +class CDOTA_Modifier_Puck_Coil_Break_Stun : public CDOTA_Modifier_Stunned +{ +public: + Vector m_vCastLocation; // 0x12b8 + int32_t coil_rapid_fire_z_offset; // 0x12c4 + float coil_rapid_fire_rate; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Windrunner_ShackleShot : public CDOTA_Modifier_Stunned { public: @@ -15588,7 +15731,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Windrunner_Windrun_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -15596,7 +15739,7 @@ public: }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Windrunner_Windrun_Invis : public CDOTA_Modifier_Invisible { public: @@ -15604,15 +15747,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Windrunner_Windrun_Invis_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 + ParticleIndex_t m_nFXIndex; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Windrunner_Windrun_Passive : public CDOTA_Buff { public: @@ -15620,32 +15763,32 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Windrunner_Windrun : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t scepter_radius; // 0x11ec - int32_t movespeed_bonus_pct; // 0x11f0 - bool m_bDispellable; // 0x11f4 + int32_t radius; // 0x12b8 + int32_t scepter_radius; // 0x12bc + int32_t movespeed_bonus_pct; // 0x12c0 + bool m_bDispellable; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - int32_t physical_damage_pct; // 0x11f8 + int32_t physical_damage_pct; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Windrunner_Windrun_Slow : public CDOTA_Buff { public: - float enemy_movespeed_bonus_pct; // 0x11e8 - float scepter_movespeed_bonus_pct; // 0x11ec - int32_t scepter_blind; // 0x11f0 + float enemy_movespeed_bonus_pct; // 0x12b8 + float scepter_movespeed_bonus_pct; // 0x12bc + int32_t scepter_blind; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Windrunner_Arcana : public CDOTA_Buff { public: @@ -15653,53 +15796,53 @@ public: }; // Alignment: 14 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Windrunner_FocusFire : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - int32_t focusfire_damage_reduction; // 0x11ec - bool bActive; // 0x11f0 + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + int32_t focusfire_damage_reduction; // 0x12bc + bool bActive; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - int32_t bonus_attack_speed; // 0x11f4 - int32_t focusfire_fire_on_the_move; // 0x11f8 - bool m_bPause; // 0x11fc + int32_t bonus_attack_speed; // 0x12c4 + int32_t focusfire_fire_on_the_move; // 0x12c8 + bool m_bPause; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - int32_t m_nNumArrowsLanded; // 0x1200 - int32_t m_nDamageDealt; // 0x1204 - int32_t m_nDamageDealtMax; // 0x1208 - int32_t m_nTargetInitialHP; // 0x120c - bool m_bHeroKilled; // 0x1210 - bool m_bRecentFocusFireAttack; // 0x1211 + int32_t m_nNumArrowsLanded; // 0x12d0 + int32_t m_nDamageDealt; // 0x12d4 + int32_t m_nDamageDealtMax; // 0x12d8 + int32_t m_nTargetInitialHP; // 0x12dc + bool m_bHeroKilled; // 0x12e0 + bool m_bRecentFocusFireAttack; // 0x12e1 private: - [[maybe_unused]] uint8_t __pad1212[0xa]; // 0x1212 + [[maybe_unused]] uint8_t __pad12e2[0xa]; // 0x12e2 public: - ParticleIndex_t m_nFXFocusFire; // 0x121c - GameTime_t m_flLastFocusFireAttackTime; // 0x1220 + ParticleIndex_t m_nFXFocusFire; // 0x12ec + GameTime_t m_flLastFocusFireAttackTime; // 0x12f0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Windrunner_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x11e8 + bool m_bFrozen; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Windrunner_GaleForce_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Windrunner_GaleForce : public CDOTA_Buff { public: @@ -15707,18 +15850,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Lich_FrostNova_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 - int32_t slow_attack_speed; // 0x11ec - int32_t slow_attack_speed_primary; // 0x11f0 - bool m_bIsPrimary; // 0x11f4 + int32_t slow_movement_speed; // 0x12b8 + int32_t slow_attack_speed; // 0x12bc + int32_t slow_attack_speed_primary; // 0x12c0 + bool m_bIsPrimary; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lich_Sinister_Gaze_Self : public CDOTA_Buff { public: @@ -15726,63 +15869,63 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Lich_Sinister_Gaze : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - int32_t mana_drain; // 0x11ec - float m_flIntervalRate; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - float creep_damage; // 0x11f8 - bool m_bBlasted; // 0x11fc + int32_t movement_speed; // 0x12b8 + int32_t mana_drain; // 0x12bc + float m_flIntervalRate; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + float creep_damage; // 0x12c8 + bool m_bBlasted; // 0x12cc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Lich_DarkSorcery_Buff : public CDOTA_Buff { public: - int32_t mana_drain; // 0x11e8 - int32_t attack_count; // 0x11ec - int32_t attack_speed; // 0x11f0 + int32_t mana_drain; // 0x12b8 + int32_t attack_count; // 0x12bc + int32_t attack_speed; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lich_FrostAura_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lich_FrostAura : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lich_FrostAura_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 + int32_t movespeed_slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lich_ChainFrost_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 - int32_t slow_attack_speed; // 0x11ec + int32_t slow_movement_speed; // 0x12b8 + int32_t slow_attack_speed; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lich_FrostArmor_Autocast : public CDOTA_Buff { public: @@ -15790,184 +15933,214 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Lich_FrostArmor : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x11e8 - int32_t health_regen; // 0x11ec - float slow_duration; // 0x11f0 + int32_t armor_bonus; // 0x12b8 + int32_t health_regen; // 0x12bc + float slow_duration; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lich_FrostArmor_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 - int32_t slow_attack_speed; // 0x11ec + int32_t slow_movement_speed; // 0x12b8 + int32_t slow_attack_speed; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Lich_FrostShield : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float interval; // 0x11ec - int32_t damage_reduction; // 0x11f0 - int32_t health_regen; // 0x11f4 + int32_t radius; // 0x12b8 + float interval; // 0x12bc + int32_t damage_reduction; // 0x12c0 + int32_t health_regen; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lich_FrostShield_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Lich_Chain_Frost_Thinker : public CDOTA_Buff { public: - int32_t m_nDamageToHeroes; // 0x11e8 - int32_t m_nHeroesKilled; // 0x11ec - int32_t m_nJumps; // 0x11f0 - bool m_bFirstJump; // 0x11f4 + int32_t m_nDamageToHeroes; // 0x12b8 + int32_t m_nHeroesKilled; // 0x12bc + int32_t m_nJumps; // 0x12c0 + bool m_bFirstJump; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - CHandle< C_BaseEntity > m_hTarget; // 0x11f8 - CHandle< C_BaseEntity > m_hAvoidTarget; // 0x11fc + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + CHandle< C_BaseEntity > m_hAvoidTarget; // 0x12cc }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Lich_Ice_Spire : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec - CountdownTimer m_Timer; // 0x11f0 + int32_t aura_radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc + CountdownTimer m_Timer; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lich_Ice_Spire_Debuff : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x11e8 + int32_t bonus_movespeed; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Lich_ChainFrost_OnDeath : public CDOTA_Buff +{ +public: + int32_t should_fire_chain_frost_on_death; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tidehunter_Gush : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - float negative_armor; // 0x11ec + int32_t movement_speed; // 0x12b8 + float negative_armor; // 0x12bc }; -// Alignment: 4 -// Size: 0x11f8 +// Alignment: 5 +// Size: 0x12d0 class CDOTA_Modifier_Tidehunter_KrakenShell : public CDOTA_Buff { public: - int32_t m_iDamageTaken; // 0x11e8 - int32_t damage_reduction; // 0x11ec - int32_t damage_cleanse; // 0x11f0 - float damage_reset_interval; // 0x11f4 + int32_t m_iDamageTaken; // 0x12b8 + int32_t damage_reduction; // 0x12bc + int32_t damage_cleanse; // 0x12c0 + int32_t bonus_reduction_per_stack; // 0x12c4 + float damage_reset_interval; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tidehunter_SmashAttack : public CDOTA_Buff { public: - int32_t attack_damage; // 0x11e8 + int32_t attack_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tidehunter_AnchorSmash_Caster : public CDOTA_Buff { public: - int32_t attack_damage; // 0x11e8 + int32_t attack_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tidehunter_AnchorSmash : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 + int32_t damage_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tidehunter_Ravage : public CDOTA_Buff { public: // No members available }; +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Tidehunter_Anchor_Unit : public CDOTA_Buff +{ +public: + int32_t chain_length; // 0x12b8 + int32_t attacks_to_destroy; // 0x12bc +}; + +// Alignment: 4 +// Size: 0x12c8 +class CDOTA_Modifier_Tidehunter_DeadInTheWater : public CDOTA_Buff +{ +public: + int32_t max_movement_speed; // 0x12b8 + int32_t chain_length; // 0x12bc + CHandle< C_BaseEntity > m_hAnchor; // 0x12c0 + bool m_bDragging; // 0x12c4 +}; + // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_ShadowShaman_EtherShock : public CDOTA_Buff { public: // No members available }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_ShadowShaman_Voodoo : public CDOTA_Modifier_Hexed { public: - int32_t movespeed; // 0x11e8 + int32_t movespeed; // 0x12b8 + int32_t damage_amp; // 0x12bc }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_ShadowShaman_Shackles : public CDOTA_Buff { public: - float tick_interval; // 0x11e8 - float total_damage; // 0x11ec - float channel_time; // 0x11f0 + float tick_interval; // 0x12b8 + float total_damage; // 0x12bc + float channel_time; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ShadowShaman_SerpentWard : public CDOTA_Buff { public: - int32_t scepter_range; // 0x11e8 + int32_t scepter_range; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Riki_SmokeScreenThinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Riki_SmokeScreen : public CDOTA_Buff { public: - int32_t miss_rate; // 0x11e8 - int32_t dodge_chance; // 0x11ec - int32_t block_targeting; // 0x11f0 - int32_t armor_reduction; // 0x11f4 + int32_t miss_rate; // 0x12b8 + int32_t dodge_chance; // 0x12bc + int32_t block_targeting; // 0x12c0 + int32_t armor_reduction; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Riki_BlinkStrike_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -15975,7 +16148,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Riki_BlinkStrike : public CDOTA_Buff { public: @@ -15983,7 +16156,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Riki_BlinkStrike_Slow : public CDOTA_Buff { public: @@ -15991,200 +16164,210 @@ public: }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Riki_Permanent_Invisibility : public CDOTA_Modifier_PersistentInvisibility { public: - int32_t movement_speed; // 0x11f8 - float fade_delay; // 0x11fc + int32_t movement_speed; // 0x12c8 + float fade_delay; // 0x12cc }; // Alignment: 7 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Riki_Backstab : public CDOTA_Modifier_PersistentInvisibility { public: - float fade_delay; // 0x11f8 - int32_t backstab_angle; // 0x11fc - int32_t cleave; // 0x1200 - float damage_multiplier; // 0x1204 - float bonus_xp_kill; // 0x1208 - float bonus_xp_assist; // 0x120c - bool m_bBackstab; // 0x1210 + float fade_delay; // 0x12c8 + int32_t backstab_angle; // 0x12cc + int32_t cleave; // 0x12d0 + float damage_multiplier; // 0x12d4 + float bonus_xp_kill; // 0x12d8 + float bonus_xp_assist; // 0x12dc + bool m_bBackstab; // 0x12e0 }; // Alignment: 7 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Riki_TricksOfTheTrade_Phase : public CDOTA_Buff { public: - ParticleIndex_t m_nFxIndex; // 0x11e8 - CHandle< C_BaseEntity > m_hTarget; // 0x11ec - CountdownTimer m_Timer; // 0x11f0 - CHandle< C_BaseEntity > m_hPreviousTarget; // 0x1208 - int32_t m_nSucceessiveHits; // 0x120c - int32_t damage_pct; // 0x1210 - int32_t agility_pct; // 0x1214 + ParticleIndex_t m_nFxIndex; // 0x12b8 + CHandle< C_BaseEntity > m_hTarget; // 0x12bc + CountdownTimer m_Timer; // 0x12c0 + CHandle< C_BaseEntity > m_hPreviousTarget; // 0x12d8 + int32_t m_nSucceessiveHits; // 0x12dc + int32_t damage_pct; // 0x12e0 + int32_t agility_pct; // 0x12e4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Riki_Poison_Dart : public CDOTA_Buff { public: - int32_t wake_damage_limit; // 0x11e8 - float m_flDamageTaken; // 0x11ec + int32_t wake_damage_limit; // 0x12b8 + float m_flDamageTaken; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Riki_Poison_Dart_Debuff : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Enigma_Malefice : public CDOTA_Buff { public: - float tick_rate; // 0x11e8 - float stun_duration; // 0x11ec - int32_t damage; // 0x11f0 - float duration; // 0x11f4 - int32_t m_nEidolonSpawnNum; // 0x11f8 -}; - -// Alignment: 6 -// Size: 0x1208 -class CDOTA_Modifier_Enigma_DemonicConversion : public CDOTA_Modifier_Kill -{ -public: - int32_t m_iAttackCount; // 0x11f0 - int32_t split_attack_count; // 0x11f4 - float life_extension; // 0x11f8 - int32_t hp_bonus; // 0x11fc - bool m_bAllowSplit; // 0x1200 -private: - [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 -public: - int32_t m_nSpawnNum; // 0x1204 -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Enigma_MidnightPulseThinker : public CDOTA_Buff -{ -public: - float damage_percent; // 0x11e8 - int32_t radius; // 0x11ec - ParticleIndex_t n_FXIndex; // 0x11f0 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Enigma_MidnightPulse_Damage : public CDOTA_Buff -{ -public: - float damage_percent; // 0x11e8 -}; - -// Alignment: 2 -// Size: 0x11f8 -class CDOTA_Modifier_Enigma_BlackHoleThinker : public CDOTA_Buff -{ -public: - int32_t radius; // 0x11e8 - ParticleIndex_t n_FXIndex; // 0x11ec + float tick_rate; // 0x12b8 + float stun_duration; // 0x12bc + int32_t damage; // 0x12c0 + float duration; // 0x12c4 + int32_t m_nEidolonSpawnNum; // 0x12c8 }; // Alignment: 8 -// Size: 0x1208 -class CDOTA_Modifier_Enigma_BlackHole_Pull : public CDOTA_Buff +// Size: 0x12e0 +class CDOTA_Modifier_Enigma_DemonicConversion : public CDOTA_Modifier_Kill { public: - int32_t pull_speed; // 0x11e8 - int32_t radius; // 0x11ec - int32_t damage; // 0x11f0 - float tick_rate; // 0x11f4 - float pull_rotate_speed; // 0x11f8 - float animation_rate; // 0x11fc - float scepter_pct_damage; // 0x1200 - GameTime_t m_flDamageTick; // 0x1204 -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Enigma_Black_Hole_Thinker_Scepter : public CDOTA_Buff -{ -public: - int32_t scepter_radius; // 0x11e8 - ParticleIndex_t n_FXIndex; // 0x11ec -}; - -// Alignment: 7 -// Size: 0x1210 -class CDOTA_Modifier_Enigma_Black_Hole_Pull_Scepter : public CDOTA_Buff -{ -public: - int32_t scepter_drag_speed; // 0x11e8 - float scepter_pull_rotate_speed; // 0x11ec - float aura_origin_x; // 0x11f0 - float aura_origin_y; // 0x11f4 - ParticleIndex_t m_nFXIndex; // 0x11f8 - Vector m_vCenter; // 0x11fc - GameTime_t m_flLastThinkTime; // 0x1208 -}; - -// Alignment: 5 -// Size: 0x1200 -class CDOTA_Modifier_Tinker_Defensive_Matrix : public CDOTA_Buff -{ -public: - int32_t damage_absorb; // 0x11e8 - int32_t status_resistance; // 0x11ec - int32_t cooldown_reduction; // 0x11f0 - bool m_bStartedTimer; // 0x11f4 + int32_t m_iAttackCount; // 0x12c0 + int32_t split_attack_count; // 0x12c4 + float life_extension; // 0x12c8 + int32_t eidolon_attack_range; // 0x12cc + int32_t eidolon_bonus_damage; // 0x12d0 + int32_t eidolon_bonus_attack_speed; // 0x12d4 + bool m_bAllowSplit; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - int32_t m_nDamageAbsorbed; // 0x11f8 -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Tinker_LaserBlind : public CDOTA_Buff -{ -public: - int32_t miss_rate; // 0x11e8 - float max_health_removed; // 0x11ec + int32_t m_nSpawnNum; // 0x12dc }; // Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Tinker_Warp_Grenade : public CDOTA_Buff +// Size: 0x12c0 +class CDOTA_Modifier_Enigma_DemonicConversion_ModelScale : public CDOTA_Buff { public: - int32_t range_reduction; // 0x11e8 + float self_modelscale; // 0x12b8 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Enigma_MidnightPulseThinker : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12b8 + ParticleIndex_t n_FXIndex; // 0x12bc +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Enigma_MidnightPulse_Damage : public CDOTA_Buff +{ +public: + float damage_percent; // 0x12b8 + float tick_rate; // 0x12bc +}; + +// Alignment: 2 +// Size: 0x12c8 +class CDOTA_Modifier_Enigma_BlackHoleThinker : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12b8 + ParticleIndex_t n_FXIndex; // 0x12bc +}; + +// Alignment: 8 +// Size: 0x12d8 +class CDOTA_Modifier_Enigma_BlackHole_Pull : public CDOTA_Buff +{ +public: + int32_t pull_speed; // 0x12b8 + int32_t radius; // 0x12bc + int32_t damage; // 0x12c0 + float tick_rate; // 0x12c4 + float pull_rotate_speed; // 0x12c8 + float animation_rate; // 0x12cc + float scepter_pct_damage; // 0x12d0 + GameTime_t m_flDamageTick; // 0x12d4 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Enigma_Black_Hole_Thinker_Scepter : public CDOTA_Buff +{ +public: + int32_t scepter_radius; // 0x12b8 + ParticleIndex_t n_FXIndex; // 0x12bc }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 +class CDOTA_Modifier_Enigma_Black_Hole_Pull_Scepter : public CDOTA_Buff +{ +public: + int32_t scepter_drag_speed; // 0x12b8 + float scepter_pull_rotate_speed; // 0x12bc + float aura_origin_x; // 0x12c0 + float aura_origin_y; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + Vector m_vCenter; // 0x12cc + GameTime_t m_flLastThinkTime; // 0x12d8 +}; + +// Alignment: 5 +// Size: 0x12d0 +class CDOTA_Modifier_Tinker_Defensive_Matrix : public CDOTA_Buff +{ +public: + int32_t damage_absorb; // 0x12b8 + int32_t status_resistance; // 0x12bc + int32_t cooldown_reduction; // 0x12c0 + bool m_bStartedTimer; // 0x12c4 +private: + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 +public: + int32_t m_nDamageAbsorbed; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Tinker_LaserBlind : public CDOTA_Buff +{ +public: + int32_t miss_rate; // 0x12b8 + float max_health_removed; // 0x12bc +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Tinker_Warp_Grenade : public CDOTA_Buff +{ +public: + int32_t range_reduction; // 0x12b8 +}; + +// Alignment: 7 +// Size: 0x12e0 class CDOTA_Modifier_Tinker_MarchOfTheMachinesThinker : public CDOTA_Buff { public: - int32_t collision_radius; // 0x11e8 - int32_t radius; // 0x11ec - int32_t distance; // 0x11f0 - int32_t distance_scepter; // 0x11f4 - int32_t speed; // 0x11f8 - int32_t machines_per_sec; // 0x11fc - Vector m_vDir; // 0x1200 + int32_t collision_radius; // 0x12b8 + int32_t radius; // 0x12bc + int32_t distance; // 0x12c0 + int32_t distance_scepter; // 0x12c4 + int32_t speed; // 0x12c8 + int32_t machines_per_sec; // 0x12cc + Vector m_vDir; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tinker_Rearm : public CDOTA_Buff { public: @@ -16192,15 +16375,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_WitchDoctor_Cask_Thinker : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_WitchDoctor_Voodoo_Restoration_Aura : public CDOTA_Buff { public: @@ -16208,18 +16391,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_WitchDoctor_Voodoo_Restoration_Heal : public CDOTA_Buff { public: - int32_t heal; // 0x11e8 - float mana_per_second; // 0x11ec - float heal_interval; // 0x11f0 - int32_t enemy_damage_pct; // 0x11f4 + int32_t heal; // 0x12b8 + float mana_per_second; // 0x12bc + float heal_interval; // 0x12c0 + int32_t enemy_damage_pct; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_WitchDoctor_MaledictDoT : public CDOTA_Buff { public: @@ -16227,47 +16410,47 @@ public: }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_WitchDoctor_Maledict : public CDOTA_Buff { public: - int32_t m_iStartHealth; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t bonus_damage_threshold; // 0x11f0 - int32_t ticks; // 0x11f4 - int32_t iCurrentTick; // 0x11f8 + int32_t m_iStartHealth; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t bonus_damage_threshold; // 0x12c0 + int32_t ticks; // 0x12c4 + int32_t iCurrentTick; // 0x12c8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_WitchDoctor_DeathWard : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t m_iBounceRadius; // 0x11ec - int32_t bonus_accuracy; // 0x11f0 - bool m_bFirstAttack; // 0x11f4 + int32_t bonus_damage; // 0x12b8 + int32_t m_iBounceRadius; // 0x12bc + int32_t bonus_accuracy; // 0x12c0 + bool m_bFirstAttack; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_WitchDoctor_Voodoo_Switcheroo : public CDOTA_Buff { public: - Vector m_vSavedPos; // 0x11e8 - CHandle< C_BaseEntity > m_hSavedAbility; // 0x11f4 + Vector m_vSavedPos; // 0x12b8 + CHandle< C_BaseEntity > m_hSavedAbility; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_WitchDoctor_DeathWard_Voodoo_Switcheroo_AttackSpeedReduction : public CDOTA_Buff { public: - int32_t attack_speed_reduction; // 0x11e8 + int32_t attack_speed_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Sniper_Shrapnel_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -16275,73 +16458,81 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Sniper_Shrapnel_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - bool m_bExploded; // 0x11ec + int32_t radius; // 0x12b8 + bool m_bExploded; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Sniper_Shrapnel_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 - int32_t shrapnel_damage; // 0x11ec + int32_t slow_movement_speed; // 0x12b8 + int32_t shrapnel_damage; // 0x12bc }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Sniper_Headshot : public CDOTA_Buff { public: - int32_t proc_chance; // 0x11e8 - float slow_duration; // 0x11ec - float knockback_distance; // 0x11f0 - int32_t bonus_damage_creeps; // 0x11f4 - int32_t bonus_attack_range; // 0x11f8 - int32_t damage; // 0x11fc + int32_t proc_chance; // 0x12b8 + float slow_duration; // 0x12bc + float knockback_distance; // 0x12c0 + int32_t bonus_damage_creeps; // 0x12c4 + int32_t bonus_attack_range; // 0x12c8 + int32_t damage; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Sniper_Headshot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Sniper_TakeAim : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x11e8 + int32_t bonus_attack_range; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Sniper_TakeAim_Bonus : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t active_attack_range_bonus; // 0x11ec -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Sniper_Assassinate_Crit : public CDOTA_Buff -{ -public: - int32_t scepter_crit_damage; // 0x11e8 - int32_t scatter_damage_pct; // 0x11ec - bool is_secondary; // 0x11f0 + int32_t slow; // 0x12b8 + int32_t active_attack_range_bonus; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 +class CDOTA_Modifier_Sniper_Assassinate_Trigger : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Sniper_Assassinate_Crit : public CDOTA_Buff +{ +public: + int32_t scepter_crit_damage; // 0x12b8 + int32_t scatter_damage_pct; // 0x12bc + bool is_secondary; // 0x12c0 +}; + +// Alignment: 0 +// Size: 0x12b8 class CDOTA_Modifier_Sniper_Assassinate : public CDOTA_Buff { public: @@ -16349,94 +16540,95 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Sniper_Concussive_Grenade : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Necrolyte_Sadist_Active : public CDOTA_Buff { public: - int32_t heal_bonus; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t slow_aoe; // 0x11f0 + int32_t heal_bonus; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t slow_aoe; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Necrolyte_Sadist_Aura_Effect : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 + int32_t movement_speed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Necrophos_Death_Seeker_Ethereal : public CDOTA_Buff { public: - int32_t magic_resistance_reduction; // 0x11e8 + int32_t magic_resistance_reduction; // 0x12b8 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Necrolyte_Heartstopper_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - bool m_bStackCountChanged; // 0x11ec + int32_t aura_radius; // 0x12b8 + bool m_bStackCountChanged; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - CUtlVector< GameTime_t > m_fStackExpireTimes; // 0x11f0 + CUtlVector< GameTime_t > m_fStackExpireTimes; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Counter : public CDOTA_Buff { public: - float mana_regen; // 0x11e8 - float health_regen; // 0x11ec -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Effect : public CDOTA_Buff -{ -public: - float aura_damage; // 0x11e8 - int32_t heal_reduction_pct; // 0x11ec - ParticleIndex_t m_nFXIndex; // 0x11f0 -}; - -// Alignment: 3 -// Size: 0x11f0 -class CDOTA_Modifier_Necrolyte_ReapersScythe : public CDOTA_Modifier_Stunned -{ -public: - float stun_duration; // 0x11e8 - bool m_bIllusion; // 0x11ec - bool m_bArcWardenClone; // 0x11ed + float mana_regen; // 0x12b8 + float health_regen; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 +class CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Effect : public CDOTA_Buff +{ +public: + float aura_damage; // 0x12b8 + int32_t heal_reduction_pct; // 0x12bc + float heal_regen_to_damage; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 +}; + +// Alignment: 3 +// Size: 0x12c0 +class CDOTA_Modifier_Necrolyte_ReapersScythe : public CDOTA_Modifier_Stunned +{ +public: + float stun_duration; // 0x12b8 + bool m_bIllusion; // 0x12bc + bool m_bArcWardenClone; // 0x12bd +}; + +// Alignment: 4 +// Size: 0x12c8 class CDOTA_Modifier_Necrolyte_ReapersScythe_RespawnTime : public CDOTA_Buff { public: - float hp_per_kill; // 0x11e8 - float mana_per_kill; // 0x11ec - float hp_regen; // 0x11f0 - float mp_regen; // 0x11f4 + float hp_per_kill; // 0x12b8 + float mana_per_kill; // 0x12bc + float hp_regen; // 0x12c0 + float mp_regen; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Death_Seeker_OutOfWorld : public CDOTA_Buff { public: @@ -16444,16 +16636,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slardar_Puddle_Thinker : public CDOTA_Buff { public: - int32_t puddle_radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t puddle_radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Slardar_Puddle : public CDOTA_Buff { public: @@ -16461,7 +16653,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Slardar_Sprint_Passive : public CDOTA_Buff { public: @@ -16469,91 +16661,93 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Slardar_Sprint_River : public CDOTA_Buff { public: - int32_t river_speed; // 0x11e8 - int32_t puddle_regen; // 0x11ec - int32_t puddle_armor; // 0x11f0 - int32_t puddle_status_resistance; // 0x11f4 + int32_t river_speed; // 0x12b8 + int32_t puddle_regen; // 0x12bc + int32_t puddle_armor; // 0x12c0 + int32_t puddle_status_resistance; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slardar_Sprint : public CDOTA_Buff { public: - int32_t bonus_speed; // 0x11e8 + int32_t bonus_speed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slardar_Slithereen_Crush : public CDOTA_Buff { public: - int32_t crush_extra_slow; // 0x11e8 + int32_t crush_extra_slow; // 0x12b8 }; -// Alignment: 3 -// Size: 0x11f8 +// Alignment: 4 +// Size: 0x12c8 class CDOTA_Modifier_Slardar_Bash_Active : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - float duration; // 0x11ec - int32_t attack_count; // 0x11f0 + int32_t bonus_damage; // 0x12b8 + float duration; // 0x12bc + int32_t attack_count; // 0x12c0 + int32_t river_damage; // 0x12c4 }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Slardar_Amplify_Damage : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 - float scepter_delay; // 0x11ec - int32_t undispellable; // 0x11f0 - int32_t puddle_radius; // 0x11f4 - float puddle_duration; // 0x11f8 - Vector m_vecLastPuddle; // 0x11fc - CHandle< C_BaseEntity > m_hPuddle; // 0x1208 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Ursa_Overpower : public CDOTA_Buff -{ -public: - int32_t attack_speed_bonus_pct; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Ursa_Fury_Swipes : public CDOTA_Buff -{ -public: - int32_t damage_per_stack; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Ursa_Fury_Swipes_Damage_Increase : public CDOTA_Buff -{ -public: - int32_t damage_per_stack; // 0x11e8 + int32_t armor_reduction; // 0x12b8 + float scepter_delay; // 0x12bc + int32_t undispellable; // 0x12c0 + int32_t puddle_radius; // 0x12c4 + float puddle_duration; // 0x12c8 + Vector m_vecLastPuddle; // 0x12cc + CHandle< C_BaseEntity > m_hPuddle; // 0x12d8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 +class CDOTA_Modifier_Ursa_Overpower : public CDOTA_Buff +{ +public: + int32_t attack_speed_bonus_pct; // 0x12b8 + int32_t slow_resist; // 0x12bc +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Ursa_Fury_Swipes : public CDOTA_Buff +{ +public: + int32_t damage_per_stack; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Ursa_Fury_Swipes_Damage_Increase : public CDOTA_Buff +{ +public: + int32_t damage_per_stack; // 0x12b8 +}; + +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Ursa_Enrage : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 - int32_t status_resistance; // 0x11ec + int32_t damage_reduction; // 0x12b8 + int32_t status_resistance; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Ursa_Earthshock_Move : public CDOTA_Buff { public: @@ -16561,15 +16755,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Ursa_Earthshock : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lion_Impale : public CDOTA_Buff { public: @@ -16577,35 +16771,36 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lion_Voodoo : public CDOTA_Modifier_Hexed { public: - int32_t movespeed; // 0x11e8 + int32_t movespeed; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lion_ManaDrain_Immunity : public CDOTA_Modifier_DebuffImmune { public: // No members available }; -// Alignment: 5 -// Size: 0x1208 +// Alignment: 6 +// Size: 0x12d8 class CDOTA_Modifier_Lion_ManaDrain : public CDOTA_Buff { public: - int32_t mana_per_second; // 0x11e8 - int32_t break_distance; // 0x11ec - float tick_interval; // 0x11f0 - int32_t movespeed; // 0x11f4 - int32_t damage_pct; // 0x11f8 + int32_t mana_per_second; // 0x12b8 + int32_t break_distance; // 0x12bc + float tick_interval; // 0x12c0 + int32_t movespeed; // 0x12c4 + int32_t damage_pct; // 0x12c8 + int32_t ally_pct; // 0x12cc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lion_ManaDrain_Buff : public CDOTA_Buff { public: @@ -16613,7 +16808,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lion_ManaDrain_Debuff : public CDOTA_Buff { public: @@ -16621,7 +16816,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lion_FingerOfDeath_Kill_Counter : public CDOTA_Buff { public: @@ -16629,15 +16824,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lion_FingerOfDeath : public CDOTA_Buff { public: - bool m_bIgnoreBonus; // 0x11e8 + bool m_bIgnoreBonus; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lion_FingerOfDeath_Delay : public CDOTA_Buff { public: @@ -16645,12 +16840,12 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lion_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x11e8 - bool m_bFlail; // 0x11e9 + bool m_bFrozen; // 0x12b8 + bool m_bFlail; // 0x12b9 }; // Alignment: 4 @@ -16667,7 +16862,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Courier_Morph_Effect : public CDOTA_Buff { public: @@ -16675,7 +16870,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Courier_Flying : public CDOTA_Buff { public: @@ -16683,45 +16878,45 @@ public: }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Courier_TakeStashItems : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hStashOwner; // 0x11e8 - Vector m_vLocation; // 0x11ec - bool m_bTransferAfterTake; // 0x11f8 + CHandle< C_BaseEntity > m_hStashOwner; // 0x12b8 + Vector m_vLocation; // 0x12bc + bool m_bTransferAfterTake; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t stash_pickup_distance; // 0x11fc + int32_t stash_pickup_distance; // 0x12cc }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Courier_ReturnStashItems : public CDOTA_Buff { public: - Vector m_vLocation; // 0x11e8 + Vector m_vLocation; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Courier_TransferItems : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Courier_Burst : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 + int32_t movement_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Courier_Shield : public CDOTA_Buff { public: @@ -16729,7 +16924,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Courier_Passive_Bonus : public CDOTA_Buff { public: @@ -16737,19 +16932,19 @@ public: }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_FountainPassive : public CDOTA_Buff { public: - int32_t bonus_chance; // 0x11e8 + int32_t bonus_chance; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Fountain_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: @@ -16757,7 +16952,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Roshan_SpellBlock : public CDOTA_Buff { public: @@ -16765,35 +16960,35 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Roshan_Moving : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - CHandle< C_BaseEntity > m_hTarget; // 0x11ec - bool m_bFlipped; // 0x11f0 + int32_t movement_speed; // 0x12b8 + CHandle< C_BaseEntity > m_hTarget; // 0x12bc + bool m_bFlipped; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Roshan_Bash : public CDOTA_Buff { public: - int32_t bash_chance; // 0x11e8 - int32_t bonus_damage; // 0x11ec - float stun_duration; // 0x11f0 + int32_t bash_chance; // 0x12b8 + int32_t bonus_damage; // 0x12bc + float stun_duration; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Roshan_Slam : public CDOTA_Buff { public: - int32_t slow_amount; // 0x11e8 + int32_t slow_amount; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Roshan_InherentBuffs : public CDOTA_Buff { public: @@ -16801,15 +16996,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Roshan_DevotionAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Roshan_Devotion : public CDOTA_Buff { public: @@ -16817,113 +17012,113 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Miniboss_Reflect : public CDOTA_Buff { public: - int32_t passive_reflection_pct; // 0x11e8 - int32_t passive_reflection_bonus_per_death; // 0x11ec + int32_t passive_reflection_pct; // 0x12b8 + int32_t passive_reflection_bonus_per_death; // 0x12bc }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Miniboss_UnyieldingShield : public CDOTA_Buff { public: - int32_t damage_absorb; // 0x11e8 - float regen_per_second; // 0x11ec - float regen_bonus_per_death; // 0x11f0 - int32_t m_nDamageAbsorbed; // 0x11f4 - GameTime_t m_timeLastTick; // 0x11f8 - ParticleIndex_t nFXIndex; // 0x11fc + int32_t damage_absorb; // 0x12b8 + float regen_per_second; // 0x12bc + float regen_bonus_per_death; // 0x12c0 + int32_t m_nDamageAbsorbed; // 0x12c4 + GameTime_t m_timeLastTick; // 0x12c8 + ParticleIndex_t nFXIndex; // 0x12cc }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Animation_RightClawSwipe : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t damage_radius; // 0x11ec - float m_flScalar; // 0x11f0 + int32_t damage; // 0x12b8 + int32_t damage_radius; // 0x12bc + float m_flScalar; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x11f8 + CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x12c8 }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Animation_LeftClawSwipe : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t damage_radius; // 0x11ec - float m_flScalar; // 0x11f0 + int32_t damage; // 0x12b8 + int32_t damage_radius; // 0x12bc + float m_flScalar; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x11f8 + CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Attached_Unit : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hAttachTarget; // 0x11e8 - bool m_bPhysicalImmune; // 0x11ec - bool m_bMagicImmune; // 0x11ed + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12b8 + bool m_bPhysicalImmune; // 0x12bc + bool m_bMagicImmune; // 0x12bd }; // Alignment: 18 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_Nian_Dive : public CDOTA_Buff { public: - int32_t pounce_distance; // 0x11e8 - float pounce_speed; // 0x11ec - float pounce_acceleration; // 0x11f0 - int32_t pounce_radius; // 0x11f4 - int32_t pounce_damage; // 0x11f8 - int32_t stun_radius; // 0x11fc - float stun_duration; // 0x1200 - float leash_duration; // 0x1204 - float initial_delay; // 0x1208 - float landing_delay; // 0x120c - float vertical_adjust; // 0x1210 - float vertical_adjust_max_distance; // 0x1214 - float vertical_adjust_min_distance; // 0x1218 - int32_t claw_damage; // 0x121c - int32_t claw_damage_radius; // 0x1220 - float claw_damage_delay; // 0x1224 - float claw_damage_duration; // 0x1228 + int32_t pounce_distance; // 0x12b8 + float pounce_speed; // 0x12bc + float pounce_acceleration; // 0x12c0 + int32_t pounce_radius; // 0x12c4 + int32_t pounce_damage; // 0x12c8 + int32_t stun_radius; // 0x12cc + float stun_duration; // 0x12d0 + float leash_duration; // 0x12d4 + float initial_delay; // 0x12d8 + float landing_delay; // 0x12dc + float vertical_adjust; // 0x12e0 + float vertical_adjust_max_distance; // 0x12e4 + float vertical_adjust_min_distance; // 0x12e8 + int32_t claw_damage; // 0x12ec + int32_t claw_damage_radius; // 0x12f0 + float claw_damage_delay; // 0x12f4 + float claw_damage_duration; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad122c[0x4]; // 0x122c + [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc public: - CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x1230 + CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x1300 }; // Alignment: 11 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Nian_Frenzy : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t damage_radius; // 0x11ec - int32_t stun_radius; // 0x11f0 - float dive_distance; // 0x11f4 - float initial_rise_time; // 0x11f8 - float right_swipe_time; // 0x11fc - float left_swipe_time; // 0x1200 - float knockdown_duration; // 0x1204 - float stun_duration; // 0x1208 - int32_t m_nTickCounter; // 0x120c - CUtlVector< CHandle< C_BaseEntity > > m_hEnemies; // 0x1210 + int32_t damage; // 0x12b8 + int32_t damage_radius; // 0x12bc + int32_t stun_radius; // 0x12c0 + float dive_distance; // 0x12c4 + float initial_rise_time; // 0x12c8 + float right_swipe_time; // 0x12cc + float left_swipe_time; // 0x12d0 + float knockdown_duration; // 0x12d4 + float stun_duration; // 0x12d8 + int32_t m_nTickCounter; // 0x12dc + CUtlVector< CHandle< C_BaseEntity > > m_hEnemies; // 0x12e0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nian_Roar : public CDOTA_Buff { public: @@ -16931,7 +17126,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nian_Invulnerable : public CDOTA_Buff { public: @@ -16939,7 +17134,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nian_Intrinsic : public CDOTA_Buff { public: @@ -16947,7 +17142,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nian_Attachment : public CDOTA_Buff { public: @@ -16955,7 +17150,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nian_Attachment_Regrow : public CDOTA_Buff { public: @@ -16963,40 +17158,40 @@ public: }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Animation_TailSpin : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t damage_radius; // 0x11ec - float m_flPlaybackRate; // 0x11f0 + int32_t damage; // 0x12b8 + int32_t damage_radius; // 0x12bc + float m_flPlaybackRate; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x11f8 + CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nian_Apocalypse : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x11e8 + int32_t area_of_effect; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Knockdown : public CDOTA_Buff { public: - float m_flStandUpDuration; // 0x11e8 - float m_flKnockDownDuration; // 0x11ec - bool m_bDebuff; // 0x11f0 - bool m_bStandingUp; // 0x11f1 + float m_flStandUpDuration; // 0x12b8 + float m_flKnockDownDuration; // 0x12bc + bool m_bDebuff; // 0x12c0 + bool m_bStandingUp; // 0x12c1 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nian_Big_Flinch : public CDOTA_Buff { public: @@ -17004,50 +17199,50 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Firecracker_Debuff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_GreaterBash : public CDOTA_Buff { public: - int32_t chance_pct; // 0x11e8 - float damage; // 0x11ec - float movespeed_duration; // 0x11f0 + int32_t chance_pct; // 0x12b8 + float damage; // 0x12bc + float movespeed_duration; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nian_GreaterBash_Speed : public CDOTA_Buff { public: - int32_t bonus_movespeed_pct; // 0x11e8 + int32_t bonus_movespeed_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_NianCharge : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_NianChargePinned : public CDOTA_Buff { public: - float pinned_damage_amount; // 0x11e8 - float pinned_damage_interval; // 0x11ec + float pinned_damage_amount; // 0x12b8 + float pinned_damage_interval; // 0x12bc }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nian_Tail_Swipe_Wall : public CDOTA_Buff { public: @@ -17055,7 +17250,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nian_Tail_Swipe_AirTime : public CDOTA_Buff { public: @@ -17063,21 +17258,21 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Hurricane_Whirlpool : public CDOTA_Buff { public: - float pull_switch_interval; // 0x11e8 - int32_t pull_speed; // 0x11ec - bool m_bForward; // 0x11f0 + float pull_switch_interval; // 0x12b8 + int32_t pull_speed; // 0x12bc + bool m_bForward; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - ParticleIndex_t m_nfxIndex; // 0x11f4 + ParticleIndex_t m_nfxIndex; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nian_Torrent_Thinker : public CDOTA_Buff { public: @@ -17085,180 +17280,181 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_WhirlpoolThinker : public CDOTA_Buff { public: - int32_t pull_radius; // 0x11e8 - ParticleIndex_t n_FXIndex; // 0x11ec + int32_t pull_radius; // 0x12b8 + ParticleIndex_t n_FXIndex; // 0x12bc }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Nian_Whirlpool_Pull : public CDOTA_Buff { public: - int32_t pull_radius; // 0x11e8 - int32_t pull_speed; // 0x11ec - int32_t radius; // 0x11f0 - int32_t whirlpool_damage; // 0x11f4 - float tick_rate; // 0x11f8 - GameTime_t m_flDamageTick; // 0x11fc + int32_t pull_radius; // 0x12b8 + int32_t pull_speed; // 0x12bc + int32_t radius; // 0x12c0 + int32_t whirlpool_damage; // 0x12c4 + float tick_rate; // 0x12c8 + GameTime_t m_flDamageTick; // 0x12cc }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Nian_EruptionPendingThinker : public CDOTA_Buff { public: - int32_t tick_count; // 0x11e8 - int32_t beam_radius; // 0x11ec - int32_t m_nTickCount; // 0x11f0 - int32_t n_FXIndex; // 0x11f4 + int32_t tick_count; // 0x12b8 + int32_t beam_radius; // 0x12bc + int32_t m_nTickCount; // 0x12c0 + int32_t n_FXIndex; // 0x12c4 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Nian_EruptionThinker : public CDOTA_Buff { public: - int32_t explosion_radius; // 0x11e8 - float damage_interval; // 0x11ec - int32_t damage; // 0x11f0 - int32_t n_FXIndex; // 0x11f4 + int32_t explosion_radius; // 0x12b8 + float damage_interval; // 0x12bc + int32_t damage; // 0x12c0 + int32_t n_FXIndex; // 0x12c4 }; // Alignment: 4 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Nian_Waterball : public CDOTA_Buff { public: - int32_t trail_damage_per_second; // 0x11e8 - int32_t trail_damage_radius; // 0x11ec - CUtlVector< int32 > m_vFXIndices; // 0x11f0 - CUtlVector< Vector > m_vLocations; // 0x1208 + int32_t trail_damage_per_second; // 0x12b8 + int32_t trail_damage_radius; // 0x12bc + CUtlVector< int32 > m_vFXIndices; // 0x12c0 + CUtlVector< Vector > m_vLocations; // 0x12d8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nian_Damage_Reflection : public CDOTA_Buff { public: - GameTime_t m_flReflectionStartTime; // 0x11e8 - float m_flReflectionAmount; // 0x11ec + GameTime_t m_flReflectionStartTime; // 0x12b8 + float m_flReflectionAmount; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nian_Flag_Trap_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nian_Flag_Trapped : public CDOTA_Buff { public: - int32_t bonus_spell_damage_pct; // 0x11e8 + int32_t bonus_spell_damage_pct; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Firework_Mine : public CDOTA_Buff { public: - int32_t damage_radius; // 0x11e8 - int32_t trigger_radius; // 0x11ec - int32_t damage; // 0x11f0 + int32_t damage_radius; // 0x12b8 + int32_t trigger_radius; // 0x12bc + int32_t damage; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_JumpBootsIntrinsic : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 + int32_t bonus_movement_speed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_JumpBoots : public CDOTA_Buff { public: - int32_t push_length; // 0x11e8 + int32_t push_length; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Nian_Leap : public CDOTA_Buff { public: - int32_t pounce_distance; // 0x11e8 - float pounce_speed; // 0x11ec - float pounce_acceleration; // 0x11f0 - float initial_delay; // 0x11f4 - float landing_delay; // 0x11f8 + int32_t pounce_distance; // 0x12b8 + float pounce_speed; // 0x12bc + float pounce_acceleration; // 0x12c0 + float initial_delay; // 0x12c4 + float landing_delay; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Vermillion_Robe_Flames : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float damage_per_health_missing; // 0x11ec - float delay; // 0x11f0 + int32_t radius; // 0x12b8 + float damage_per_health_missing; // 0x12bc + float delay; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Vermillion_Robe : public CDOTA_Buff_Item { public: - int32_t mana_regen_pct; // 0x11e8 - int32_t move_speed_bonus; // 0x11ec - int32_t bonus_stats; // 0x11f0 -}; - -// Alignment: 2 -// Size: 0x1208 -class CDOTA_Modifier_Warlock_FatalBonds : public CDOTA_Buff -{ -public: - CUtlVector< CHandle< C_BaseEntity > > m_FatalBondsEntities; // 0x11e8 - int32_t damage_share_percentage; // 0x1200 + int32_t mana_regen_pct; // 0x12b8 + int32_t move_speed_bonus; // 0x12bc + int32_t bonus_stats; // 0x12c0 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d8 +class CDOTA_Modifier_Warlock_FatalBonds : public CDOTA_Buff +{ +public: + CUtlVector< CHandle< C_BaseEntity > > m_FatalBondsEntities; // 0x12b8 + int32_t damage_share_percentage; // 0x12d0 + float imp_duration; // 0x12d4 +}; + +// Alignment: 3 +// Size: 0x12d0 class CDOTA_Modifier_Warlock_Shadow_Word : public CDOTA_Buff { public: - float tick_interval; // 0x11e8 - int32_t damage; // 0x11ec - int32_t shard_movement_speed_pct; // 0x11f0 + float tick_interval; // 0x12b8 + int32_t damage; // 0x12bc + int32_t shard_movement_speed_pct; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Warlock_Upheaval : public CDOTA_Buff { public: - int32_t m_iSlow; // 0x11e8 + int32_t m_iSlow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Warlock_Upheaval_Ally : public CDOTA_Buff { public: - int32_t m_iAttackSpeed; // 0x11e8 + int32_t m_iAttackSpeed; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Death_Trigger : public CDOTA_Buff { public: @@ -17266,141 +17462,153 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Thinker : public CDOTA_Buff { public: - float stun_duration; // 0x11e8 - bool bHasScepter; // 0x11ec + float stun_duration; // 0x12b8 + bool bHasScepter; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - int32_t aoe; // 0x11f0 - int32_t m_iCount; // 0x11f4 + int32_t aoe; // 0x12c0 + int32_t m_iCount; // 0x12c4 }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Golem : public CDOTA_Buff { public: - int32_t bonus_magic_resistance; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t bonus_magic_resistance; // 0x12b8 + int32_t bonus_armor; // 0x12bc + int32_t bonus_slow_resistance; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Warlock_Golem_Flaming_Fists : public CDOTA_Buff { public: - float damage; // 0x11e8 - int32_t radius; // 0x11ec + float damage; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Warlock_Golem_Permanent_Immolation : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Warlock_Golem_Permanent_Immolation_Debuff : public CDOTA_Buff { public: - int32_t aura_damage; // 0x11e8 + int32_t aura_damage; // 0x12b8 }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 4 +// Size: 0x12c8 class CDOTA_Modifier_Warlock_Imp_AutoAttack : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hBestTarget; // 0x11e8 + CHandle< C_BaseEntity > m_hBestTarget; // 0x12b8 + float bonus_hp; // 0x12bc + float bonus_dmg; // 0x12c0 + float bonus_movespeed; // 0x12c4 }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Warlock_Imp_ExplodeThinker : public CDOTA_Buff { public: - float explosion_radius; // 0x11e8 - float explosion_damage; // 0x11ec + float explosion_radius; // 0x12b8 + float explosion_dmg; // 0x12bc + float explosion_nonhero_reduce; // 0x12c0 }; // Alignment: 17 -// Size: 0x1290 +// Size: 0x1360 class CDOTA_Modifier_Beastmaster_WildAxes : public CDOTA_Buff { public: - Vector m_vLeftControl; // 0x11e8 - Vector m_vRightControl; // 0x11f4 - Vector m_vTargetLoc; // 0x1200 - Vector m_vSourceLoc; // 0x120c - float m_flDuration; // 0x1218 - GameTime_t m_flDieTime; // 0x121c - bool m_bReturning; // 0x1220 - bool m_bCatchingAxes; // 0x1221 + Vector m_vLeftControl; // 0x12b8 + Vector m_vRightControl; // 0x12c4 + Vector m_vTargetLoc; // 0x12d0 + Vector m_vSourceLoc; // 0x12dc + float m_flDuration; // 0x12e8 + GameTime_t m_flDieTime; // 0x12ec + bool m_bReturning; // 0x12f0 + bool m_bCatchingAxes; // 0x12f1 private: - [[maybe_unused]] uint8_t __pad1222[0x6]; // 0x1222 + [[maybe_unused]] uint8_t __pad12f2[0x6]; // 0x12f2 public: - CUtlVector< CHandle< C_BaseEntity > > m_hAxes; // 0x1228 - ParticleIndex_t m_nAxeFXIndex[2]; // 0x1240 - CUtlVector< CHandle< C_BaseEntity > > m_hHitList[2]; // 0x1248 - int32_t radius; // 0x1278 - int32_t spread; // 0x127c - int32_t axe_damage; // 0x1280 - float duration; // 0x1284 - float min_throw_duration; // 0x1288 - float max_throw_duration; // 0x128c + CUtlVector< CHandle< C_BaseEntity > > m_hAxes; // 0x12f8 + ParticleIndex_t m_nAxeFXIndex[2]; // 0x1310 + CUtlVector< CHandle< C_BaseEntity > > m_hHitList[2]; // 0x1318 + int32_t radius; // 0x1348 + int32_t spread; // 0x134c + int32_t axe_damage; // 0x1350 + float duration; // 0x1354 + float min_throw_duration; // 0x1358 + float max_throw_duration; // 0x135c }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Beastmaster_Axe_Stack_Counter : public CDOTA_Buff { public: - float damage_amp; // 0x11e8 + float damage_amp; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Beastmaster_Axe_Invulnerable : public CDOTA_Buff { public: // No members available }; -// Alignment: 3 -// Size: 0x1200 +// Alignment: 10 +// Size: 0x12e0 class CDOTA_Modifier_Beastmaster_CallOfTheWild_Hawk : public CDOTA_Buff { public: - Vector m_vDestination; // 0x11e8 - CHandle< C_BaseEntity > m_hTarget; // 0x11f4 - int32_t m_iTickCount; // 0x11f8 + CHandle< C_BaseEntity > m_hOwner; // 0x12b8 + int32_t attack_radius; // 0x12bc + GameTime_t m_flLastAttack; // 0x12c0 + float roaming_seconds_per_rotation; // 0x12c4 + int32_t roaming_radius; // 0x12c8 + float attack_interval; // 0x12cc + int32_t min_move_speed; // 0x12d0 + int32_t max_move_speed; // 0x12d4 + int32_t m_iPreviousHawkCount; // 0x12d8 + float m_flRotation; // 0x12dc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_CallOfTheWild_Boar_BonusDamage : public CDOTA_Buff { public: - float boar_bonus_damage; // 0x11e8 + float boar_bonus_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_CallOfTheWild_Boar_PoisonBase : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_CallOfTheWild_Boar_Poison : public CDOTA_Modifier_CallOfTheWild_Boar_PoisonBase { public: @@ -17408,24 +17616,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_CallOfTheWild_Boar_PoisonEffect : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 - int32_t movement_speed; // 0x11ec + int32_t attack_speed; // 0x12b8 + int32_t movement_speed; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Beastmaster_InnerBeast_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Beastmaster_InnerBeast : public CDOTA_Buff { public: @@ -17433,32 +17641,32 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Beastmaster_PrimalRoar_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x11e8 - int32_t slow_attack_speed_pct; // 0x11ec + int32_t slow_movement_speed_pct; // 0x12b8 + int32_t slow_attack_speed_pct; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Beastmaster_PrimalRoar_Speed : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 + int32_t movement_speed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Beastmaster_PrimalRoar_Push : public CDOTA_Buff { public: - Vector m_vVelocity; // 0x11e8 + Vector m_vVelocity; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Beastmaster_Mark_Of_The_Beast : public CDOTA_Buff { public: @@ -17466,7 +17674,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_CallOfTheWild_Hawk_Reveal : public CDOTA_Buff { public: @@ -17474,35 +17682,55 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Beastmaster_Hawk_Dive : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t toss_damage; // 0x11ec + int32_t dive_damage; // 0x12b8 + float dive_root_duration; // 0x12bc +}; + +// Alignment: 4 +// Size: 0x12c8 +class CDOTA_Modifier_Beastmaster_Hawk_Perch_Flight : public CDOTA_Buff +{ +public: + int32_t perch_flight_height; // 0x12b8 + int32_t perch_tree_height; // 0x12bc + int32_t flight_speed; // 0x12c0 + float m_flZDelta; // 0x12c4 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Beastmaster_Hawk_Perch_Perching : public CDOTA_Buff +{ +public: + int32_t perching_tree_height; // 0x12b8 + CHandle< C_BaseEntity > m_hTree; // 0x12bc }; // Alignment: 12 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Beastmaster_DrumsOfSlom : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - int32_t radius; // 0x11ec - int32_t max_stacks; // 0x11f0 - float base_damage; // 0x11f4 - int32_t heal_pct; // 0x11f8 - int32_t creep_heal_pct; // 0x11fc - int32_t iCurrentAttacksAtMinInterval; // 0x1200 - float stack_decay_time; // 0x1204 - float max_drum_hit_interval; // 0x1208 - float min_drum_hit_interval; // 0x120c - GameTime_t m_flLastStackChangeTime; // 0x1210 - GameTime_t m_flLastDrumHitTime; // 0x1214 + int32_t aura_radius; // 0x12b8 + int32_t radius; // 0x12bc + int32_t max_stacks; // 0x12c0 + float base_damage; // 0x12c4 + int32_t heal_pct; // 0x12c8 + int32_t creep_heal_pct; // 0x12cc + int32_t iCurrentAttacksAtMinInterval; // 0x12d0 + float stack_decay_time; // 0x12d4 + float max_drum_hit_interval; // 0x12d8 + float min_drum_hit_interval; // 0x12dc + GameTime_t m_flLastStackChangeTime; // 0x12e0 + GameTime_t m_flLastDrumHitTime; // 0x12e4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Beastmaster_DrumsOfSlom_Aura : public CDOTA_Buff { public: @@ -17510,7 +17738,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_5_Aura : public CDOTA_Buff { public: @@ -17518,15 +17746,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_5 : public CDOTA_Buff { public: - int32_t bonus_ms; // 0x11e8 + int32_t bonus_ms; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_6_Aura : public CDOTA_Buff { public: @@ -17534,48 +17762,57 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_6 : public CDOTA_Buff { public: - int32_t bonus_hp; // 0x11e8 + int32_t bonus_hp; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_QueenOfPain_ScreamOfPain_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x11e8 + Vector m_vOriginal; // 0x12b8 }; // Alignment: 7 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_QueenOfPain_ShadowStrike : public CDOTA_Buff { public: - int32_t duration_damage; // 0x11e8 - int32_t duration_heal; // 0x11ec - int32_t movement_slow; // 0x11f0 + int32_t duration_damage; // 0x12b8 + int32_t duration_heal; // 0x12bc + int32_t movement_slow; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CountdownTimer m_SlowInterval; // 0x11f8 - float m_flSlowStep; // 0x1210 - float m_flSlowStepStep; // 0x1214 - float attack_buff_duration; // 0x1218 + CountdownTimer m_SlowInterval; // 0x12c8 + float m_flSlowStep; // 0x12e0 + float m_flSlowStepStep; // 0x12e4 + float attack_buff_duration; // 0x12e8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_QueenOfPain_Arcana : public CDOTA_Buff { public: - bool m_bIsMeleeAttack; // 0x11e8 + bool m_bIsMeleeAttack; // 0x12b8 +}; + +// Alignment: 2 +// Size: 0x12f0 +class CDOTA_Modifier_QueenOfPain_SonicWave_Knockback : public CDOTA_Modifier_Knockback +{ +public: + float tick_rate; // 0x12e8 + int32_t damage; // 0x12ec }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_QueenOfPain_SonicWave_Effect : public CDOTA_Buff { public: @@ -17583,7 +17820,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_QueenOfPain_SonicWave_Delay : public CDOTA_Buff { public: @@ -17591,7 +17828,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_QueenOfPain_Arcana_Kill_Effect : public CDOTA_Buff { public: @@ -17599,39 +17836,39 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Venomancer_VenomousGale : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 - int32_t tick_damage; // 0x11ec - float tick_interval; // 0x11f0 - float duration; // 0x11f4 + int32_t movement_slow; // 0x12b8 + int32_t tick_damage; // 0x12bc + float tick_interval; // 0x12c0 + float duration; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Venomancer_PoisonSting_Applier : public CDOTA_Buff { public: - float duration; // 0x11e8 - int32_t damage; // 0x11ec + float duration; // 0x12b8 + int32_t damage; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Venomancer_PoisonStingBase : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x11e8 - int32_t movement_speed; // 0x11ec - int32_t m_nTicksRemaining; // 0x11f0 - float m_flAttackDamage; // 0x11f4 - int32_t hp_regen_reduction; // 0x11f8 + int32_t m_iDamage; // 0x12b8 + int32_t movement_speed; // 0x12bc + int32_t m_nTicksRemaining; // 0x12c0 + float m_flAttackDamage; // 0x12c4 + int32_t hp_regen_reduction; // 0x12c8 }; // Alignment: 0 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Venomancer_PoisonSting : public CDOTA_Modifier_Venomancer_PoisonStingBase { public: @@ -17639,36 +17876,36 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Venomancer_PoisonStingWard : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x11e8 - int32_t movement_speed; // 0x11ec - int32_t hp_regen_reduction; // 0x11f0 - int32_t m_nTicksRemaining; // 0x11f4 - float m_flAttackDamage; // 0x11f8 + int32_t m_iDamage; // 0x12b8 + int32_t movement_speed; // 0x12bc + int32_t hp_regen_reduction; // 0x12c0 + int32_t m_nTicksRemaining; // 0x12c4 + float m_flAttackDamage; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Plague_Wards_Bonus : public CDOTA_Buff { public: - int32_t ward_hp; // 0x11e8 - int32_t ward_damage; // 0x11ec + int32_t ward_hp; // 0x12b8 + int32_t ward_damage; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Plague_Wards_Bonus_Range : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_PoisonNova_Intrinsic : public CDOTA_Buff { public: @@ -17676,95 +17913,95 @@ public: }; // Alignment: 7 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_PoisonNova_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x11e8 - GameTime_t m_fLastThink; // 0x11ec - CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11f0 - int32_t speed; // 0x1208 - int32_t radius; // 0x120c - int32_t start_radius; // 0x1210 - float duration; // 0x1214 + float m_fCurRadius; // 0x12b8 + GameTime_t m_fLastThink; // 0x12bc + CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x12c0 + int32_t speed; // 0x12d8 + int32_t radius; // 0x12dc + int32_t start_radius; // 0x12e0 + float duration; // 0x12e4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Venomancer_PoisonNova : public CDOTA_Buff { public: - float damage; // 0x11e8 - float magic_resist; // 0x11ec + float damage; // 0x12b8 + float magic_resist; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Venomancer_NoxiousPlaguePrimary : public CDOTA_Buff { public: - float health_damage; // 0x11e8 - float debuff_radius; // 0x11ec + float health_damage; // 0x12b8 + float debuff_radius; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Venomancer_NoxiousPlague_Slow : public CDOTA_Buff { public: - float attack_slow; // 0x11e8 - float movement_slow_max; // 0x11ec - float debuff_radius; // 0x11f0 + float attack_slow; // 0x12b8 + float movement_slow_max; // 0x12bc + float debuff_radius; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Venomancer_NoxiousPlagueSecondary : public CDOTA_Buff { public: - float health_damage; // 0x11e8 - float attack_slow; // 0x11ec - float movement_slow_max; // 0x11f0 + float health_damage; // 0x12b8 + float attack_slow; // 0x12bc + float movement_slow_max; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Venomancer_Latent_Poison : public CDOTA_Buff { public: - int32_t duration_damage; // 0x11e8 - int32_t movement_slow; // 0x11ec - int32_t explosion_damage; // 0x11f0 - float explosion_stun_duration; // 0x11f4 + int32_t duration_damage; // 0x12b8 + int32_t movement_slow; // 0x12bc + int32_t explosion_damage; // 0x12c0 + float explosion_stun_duration; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FacelessVoid_Backtrack : public CDOTA_Buff { public: - int32_t dodge_chance_pct; // 0x11e8 + int32_t dodge_chance_pct; // 0x12b8 }; // Alignment: 10 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_FacelessVoid_TimeLock : public CDOTA_Buff { public: - float duration; // 0x11e8 - float duration_creep; // 0x11ec - float delay; // 0x11f0 - int32_t chance_pct; // 0x11f4 - int32_t bonus_damage; // 0x11f8 - GameTime_t last_attack_time; // 0x11fc - CUtlVector< int16 > m_ProcAttackRecords; // 0x1200 - GameTime_t apply_activity_modifier_until; // 0x1218 - GameTime_t disable_activity_modifier_until; // 0x121c - CUtlOrderedMap< CHandle< C_DOTA_BaseNPC >, int32 > m_mapTargets; // 0x1220 + float duration; // 0x12b8 + float duration_creep; // 0x12bc + float delay; // 0x12c0 + int32_t chance_pct; // 0x12c4 + int32_t bonus_damage; // 0x12c8 + GameTime_t last_attack_time; // 0x12cc + CUtlVector< int16 > m_ProcAttackRecords; // 0x12d0 + GameTime_t apply_activity_modifier_until; // 0x12e8 + GameTime_t disable_activity_modifier_until; // 0x12ec + CUtlOrderedMap< CHandle< C_DOTA_BaseNPC >, int32 > m_mapTargets; // 0x12f0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_FacelessVoid_TimeLock_Freeze : public CDOTA_Modifier_Stunned { public: @@ -17772,7 +18009,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_FacelessVoid_Timelock_TimeWalk_Proc_Marker : public CDOTA_Buff { public: @@ -17780,29 +18017,46 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_FacelessVoid_Timelock_Basic_Proc_Marker : public CDOTA_Buff { public: // No members available }; +// Alignment: 0 +// Size: 0x12b8 +class CDOTA_Modifier_FacelessVoid_TimeDilation_Slowmo : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_FacelessVoid_TimeDilation_Distortion : public CDOTA_Buff +{ +public: + float slow_distance_min; // 0x12b8 + float slow_distance_max; // 0x12bc +}; + // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_FacelessVoid_TimeDilation_Slow : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t m_nAffectedAbilities; // 0x11ec - GameTime_t m_flLastDamageTime; // 0x11f0 - int32_t slow; // 0x11f4 - int32_t cooldown_percentage; // 0x11f8 - int32_t damage_per_stack; // 0x11fc - int32_t base_damage; // 0x1200 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t m_nAffectedAbilities; // 0x12bc + GameTime_t m_flLastDamageTime; // 0x12c0 + int32_t slow; // 0x12c4 + int32_t cooldown_percentage; // 0x12c8 + int32_t damage_per_stack; // 0x12cc + int32_t base_damage; // 0x12d0 }; // Alignment: 0 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_FacelessVoid_TimeWalk_Tracker : public CDOTA_Buff { public: @@ -17810,35 +18064,35 @@ public: }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_FacelessVoid_TimeWalk_ShardBuff : public CDOTA_Buff { public: - Vector m_vStartLocation; // 0x11e8 + Vector m_vStartLocation; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_FacelessVoid_TimeLock_ForceProc : public CDOTA_Buff { public: - float duration; // 0x11e8 - float duration_creep; // 0x11ec - int32_t bonus_damage; // 0x11f0 - float delay; // 0x11f4 - CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11f8 + float duration; // 0x12b8 + float duration_creep; // 0x12bc + int32_t bonus_damage; // 0x12c0 + float delay; // 0x12c4 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FacelessVoid_TimeWalk_Slow : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x11e8 + int32_t movement_speed_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_FacelessVoid_TimeWalk : public CDOTA_Buff { public: @@ -17846,15 +18100,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FacelessVoid_Chronosphere : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_FacelessVoid_ArcanaDamageRouter : public CDOTA_Buff { public: @@ -17862,7 +18116,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_FacelessVoid_Chronosphere_Freeze : public CDOTA_Buff { public: @@ -17870,23 +18124,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FacelessVoid_Chronosphere_SelfBuff : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FacelessVoid_Chronosphere_Speed : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 + int32_t bonus_attack_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_FacelessVoid_Arcana : public CDOTA_Buff { public: @@ -17894,15 +18148,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FacelessVoid_Arcana_Kill_Effect : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x11e8 + ParticleIndex_t m_nCasterFXIndex; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_DeathProphet_CryptSwarm_Slow : public CDOTA_Buff +{ +public: + int32_t slow_percent; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DeathProphet_Silence : public CDOTA_Buff { public: @@ -17910,7 +18172,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DeathProphet_Silence_Debuff : public CDOTA_Buff { public: @@ -17918,15 +18180,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DeathProphet_Witchcraft : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 + int32_t bonus_movement_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -17934,47 +18196,47 @@ public: }; // Alignment: 14 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_DeathProphet_SpiritSiphon : public CDOTA_Buff { public: - float flSmoothness; // 0x11e8 - float damage; // 0x11ec - float damage_pct; // 0x11f0 - int32_t drain_range; // 0x11f4 - float haunt_duration; // 0x11f8 - int32_t siphon_buffer; // 0x11fc - int32_t movement_steal; // 0x1200 - CHandle< C_BaseEntity > m_hTarget; // 0x1204 - ParticleIndex_t m_iLinkIndex; // 0x1208 - int32_t m_nSelfBuffSerialNumber; // 0x120c - int32_t m_nTargetDebuffSerialNumber; // 0x1210 - bool m_bAppliedFear; // 0x1214 + float flSmoothness; // 0x12b8 + float damage; // 0x12bc + float damage_pct; // 0x12c0 + int32_t drain_range; // 0x12c4 + float haunt_duration; // 0x12c8 + int32_t siphon_buffer; // 0x12cc + int32_t movement_steal; // 0x12d0 + CHandle< C_BaseEntity > m_hTarget; // 0x12d4 + ParticleIndex_t m_iLinkIndex; // 0x12d8 + int32_t m_nSelfBuffSerialNumber; // 0x12dc + int32_t m_nTargetDebuffSerialNumber; // 0x12e0 + bool m_bAppliedFear; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad1215[0x3]; // 0x1215 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - float shard_fear_duration; // 0x1218 - float shard_consecutive_siphon_duration; // 0x121c + float shard_fear_duration; // 0x12e8 + float shard_consecutive_siphon_duration; // 0x12ec }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x11e8 + Vector m_vOriginal; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Slow : public CDOTA_Buff { public: - int32_t movement_steal; // 0x11e8 + int32_t movement_steal; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Buff : public CDOTA_Buff { public: @@ -17982,7 +18244,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Debuff : public CDOTA_Buff { public: @@ -17990,65 +18252,65 @@ public: }; // Alignment: 18 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_DeathProphet_Exorcism : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t spirit_speed; // 0x11ec - int32_t max_distance; // 0x11f0 - int32_t give_up_distance; // 0x11f4 - int32_t min_damage; // 0x11f8 - int32_t max_damage; // 0x11fc - int32_t heal_percent; // 0x1200 - int32_t spirit_duration; // 0x1204 - float ghost_spawn_rate; // 0x1208 - int32_t movement_bonus; // 0x120c - int32_t m_iSpirits; // 0x1210 - GameTime_t m_fStartTime; // 0x1214 - GameTime_t m_fLastThinkTime; // 0x1218 - GameTime_t m_fSpawnTime; // 0x121c - bool m_bFirstSpawn; // 0x1220 - bool m_bCommentedOnExpired; // 0x1221 - bool m_bForceExpired; // 0x1222 + int32_t radius; // 0x12b8 + int32_t spirit_speed; // 0x12bc + int32_t max_distance; // 0x12c0 + int32_t give_up_distance; // 0x12c4 + int32_t min_damage; // 0x12c8 + int32_t max_damage; // 0x12cc + int32_t heal_percent; // 0x12d0 + int32_t spirit_duration; // 0x12d4 + float ghost_spawn_rate; // 0x12d8 + int32_t movement_bonus; // 0x12dc + int32_t m_iSpirits; // 0x12e0 + GameTime_t m_fStartTime; // 0x12e4 + GameTime_t m_fLastThinkTime; // 0x12e8 + GameTime_t m_fSpawnTime; // 0x12ec + bool m_bFirstSpawn; // 0x12f0 + bool m_bCommentedOnExpired; // 0x12f1 + bool m_bForceExpired; // 0x12f2 private: - [[maybe_unused]] uint8_t __pad1223[0x5]; // 0x1223 + [[maybe_unused]] uint8_t __pad12f3[0x5]; // 0x12f3 public: - CUtlVector< sSpiritInfo* > m_vecSpirits; // 0x1228 + CUtlVector< sSpiritInfo* > m_vecSpirits; // 0x12f8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DeathProphet_Slow : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x11e8 + int32_t speed_bonus; // 0x12b8 }; // Alignment: 12 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_DeathProphet_Scepter : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t spirit_speed; // 0x11ec - int32_t max_distance; // 0x11f0 - int32_t give_up_distance; // 0x11f4 - int32_t min_damage; // 0x11f8 - int32_t max_damage; // 0x11fc - int32_t heal_percent; // 0x1200 - int32_t spirit_duration; // 0x1204 - GameTime_t m_fStartTime; // 0x1208 - GameTime_t m_fLastThinkTime; // 0x120c - bool m_bExpired; // 0x1210 + int32_t radius; // 0x12b8 + int32_t spirit_speed; // 0x12bc + int32_t max_distance; // 0x12c0 + int32_t give_up_distance; // 0x12c4 + int32_t min_damage; // 0x12c8 + int32_t max_damage; // 0x12cc + int32_t heal_percent; // 0x12d0 + int32_t spirit_duration; // 0x12d4 + GameTime_t m_fStartTime; // 0x12d8 + GameTime_t m_fLastThinkTime; // 0x12dc + bool m_bExpired; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x7]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x7]; // 0x12e1 public: - sSpiritInfo* m_SpiritInfo; // 0x1218 + sSpiritInfo* m_SpiritInfo; // 0x12e8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Death_Prophet_Slow : public CDOTA_Buff { public: @@ -18056,7 +18318,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Death_Prophet_Attack_Scepter : public CDOTA_Buff { public: @@ -18064,7 +18326,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pugna_NetherBlast_Thinker : public CDOTA_Buff { public: @@ -18072,75 +18334,75 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Pugna_Decrepify : public CDOTA_Buff { public: - int32_t bonus_spell_damage_pct; // 0x11e8 - int32_t bonus_heal_amp_pct_allies; // 0x11ec - int32_t bonus_movement_speed; // 0x11f0 - int32_t bonus_movement_speed_allies; // 0x11f4 + int32_t bonus_spell_damage_pct; // 0x12b8 + int32_t bonus_heal_amp_pct_allies; // 0x12bc + int32_t bonus_movement_speed; // 0x12c0 + int32_t bonus_movement_speed_allies; // 0x12c4 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Pugna_NetherWard : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float mana_multiplier; // 0x11ec - float mana_drained_per_attack; // 0x11f0 - int32_t attacks_to_destroy; // 0x11f4 + int32_t radius; // 0x12b8 + float mana_multiplier; // 0x12bc + float mana_drained_per_attack; // 0x12c0 + int32_t attacks_to_destroy; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pugna_NetherWard_Aura : public CDOTA_Buff { public: - float mana_regen; // 0x11e8 - float spell_damage_reduction; // 0x11ec + float mana_regen; // 0x12b8 + float spell_damage_reduction; // 0x12bc }; // Alignment: 16 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Pugna_LifeDrain : public CDOTA_Buff { public: - int32_t health_drain; // 0x11e8 - int32_t ally_healing; // 0x11ec - float tick_rate; // 0x11f0 - bool m_bDoRangeCheck; // 0x11f4 + int32_t health_drain; // 0x12b8 + int32_t ally_healing; // 0x12bc + float tick_rate; // 0x12c0 + bool m_bDoRangeCheck; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - ParticleIndex_t m_nFXIndex; // 0x11f8 - GameTime_t m_flElapsedTime; // 0x11fc - bool m_bPrimary; // 0x1200 - bool m_bShard; // 0x1201 - bool m_bFromWard; // 0x1202 + ParticleIndex_t m_nFXIndex; // 0x12c8 + GameTime_t m_flElapsedTime; // 0x12cc + bool m_bPrimary; // 0x12d0 + bool m_bShard; // 0x12d1 + bool m_bFromWard; // 0x12d2 private: - [[maybe_unused]] uint8_t __pad1203[0x1]; // 0x1203 + [[maybe_unused]] uint8_t __pad12d3[0x1]; // 0x12d3 public: - CHandle< C_BaseEntity > m_hWard; // 0x1204 - float spell_amp_drain_duration; // 0x1208 - int32_t max_spell_amp_drain_pct; // 0x120c - int32_t spell_amp_drain_rate; // 0x1210 - int32_t spell_amp_drain_rate_ward; // 0x1214 - int32_t spell_amp_drain_max; // 0x1218 - int32_t health_to_mana_rate; // 0x121c + CHandle< C_BaseEntity > m_hWard; // 0x12d4 + float spell_amp_drain_duration; // 0x12d8 + int32_t max_spell_amp_drain_pct; // 0x12dc + int32_t spell_amp_drain_rate; // 0x12e0 + int32_t spell_amp_drain_rate_ward; // 0x12e4 + int32_t spell_amp_drain_max; // 0x12e8 + int32_t health_to_mana_rate; // 0x12ec }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pugna_LifeDrain_SpellAmp : public CDOTA_Buff { public: - bool m_bIsFriendly; // 0x11e8 + bool m_bIsFriendly; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Phantom_Assassin_GroundDagger : public CDOTA_Buff { public: @@ -18148,107 +18410,121 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PhantomAssassin_StiflingDagger_Caster : public CDOTA_Buff { public: - int32_t base_damage; // 0x11e8 - int32_t attack_factor; // 0x11ec + int32_t base_damage; // 0x12b8 + int32_t attack_factor; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PhantomAssassin_StiflingDagger : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 9 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_PhantomAssassin_Fan_Of_Knives_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x11e8 - GameTime_t m_fLastThink; // 0x11ec - CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11f0 - CountdownTimer m_ViewerTimer; // 0x1208 - int32_t projectile_speed; // 0x1220 - int32_t radius; // 0x1224 - float duration; // 0x1228 - float pct_health_damage_initial; // 0x122c - float max_damage_initial; // 0x1230 + float m_fCurRadius; // 0x12b8 + GameTime_t m_fLastThink; // 0x12bc + CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x12c0 + CountdownTimer m_ViewerTimer; // 0x12d8 + int32_t projectile_speed; // 0x12f0 + int32_t radius; // 0x12f4 + float duration; // 0x12f8 + float pct_health_damage_initial; // 0x12fc + float max_damage_initial; // 0x1300 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_PhantomAssassin_Fan_Of_Knives : public CDOTA_Buff { public: // No members available }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_PhantomAssassin_PhantomStrike : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t lifesteal_pct; // 0x11ec + int32_t bonus_attack_speed; // 0x12b8 + int32_t lifesteal_pct; // 0x12bc + int32_t creep_lifesteal_penalty; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PhantomAssassin_Blur : public CDOTA_Buff { public: - int32_t bonus_evasion; // 0x11e8 + int32_t bonus_evasion; // 0x12b8 }; // Alignment: 4 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_PhantomAssassin_BlurActive : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x11f8 - float fade_duration; // 0x11fc - float scepter_fade_duration; // 0x1200 - bool m_bDestroyNext; // 0x1204 -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_PhantomAssassin_CoupdeGrace : public CDOTA_Buff -{ -public: - int32_t crit_bonus; // 0x11e8 - int32_t crit_chance; // 0x11ec - bool crit_active; // 0x11f0 + int32_t radius; // 0x12c8 + float fade_duration; // 0x12cc + float scepter_fade_duration; // 0x12d0 + bool m_bDestroyNext; // 0x12d4 }; // Alignment: 5 -// Size: 0x1200 -class CDOTA_Modifier_PhantomAssassin_Gravestone_Thinker : public CDOTA_Buff +// Size: 0x12d0 +class CDOTA_Modifier_PhantomAssassin_CoupdeGrace : public CDOTA_Buff { public: - int32_t m_nEpitaph; // 0x11e8 - PlayerID_t m_nVictimPlayerID; // 0x11ec - int32_t m_nVictimHeroID; // 0x11f0 - int32_t m_nCritDmg; // 0x11f4 - int32_t m_nContractComplete; // 0x11f8 -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_PhantomAssassin_Gravestone : public CDOTA_Buff -{ + int32_t crit_bonus; // 0x12b8 + int32_t crit_chance; // 0x12bc + int32_t dagger_crit_chance; // 0x12c0 + bool crit_active; // 0x12c4 +private: + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - int32_t m_nFXIndex; // 0x11e8 - bool m_bContractGravestoneComplete; // 0x11ec + float duration; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 +class CDOTA_Modifier_PhantomAssassin_MarkOfDeath : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 5 +// Size: 0x12d0 +class CDOTA_Modifier_PhantomAssassin_Gravestone_Thinker : public CDOTA_Buff +{ +public: + int32_t m_nEpitaph; // 0x12b8 + PlayerID_t m_nVictimPlayerID; // 0x12bc + int32_t m_nVictimHeroID; // 0x12c0 + int32_t m_nCritDmg; // 0x12c4 + int32_t m_nContractComplete; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_PhantomAssassin_Gravestone : public CDOTA_Buff +{ +public: + int32_t m_nFXIndex; // 0x12b8 + bool m_bContractGravestoneComplete; // 0x12bc +}; + +// Alignment: 0 +// Size: 0x12b8 class CDOTA_Modifier_PhantomAssassin_ScreenSplatter : public CDOTA_Buff { public: @@ -18256,74 +18532,74 @@ public: }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_TemplarAssassin_RefractionDamage : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 - int32_t bonus_damage; // 0x1200 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + int32_t bonus_damage; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_TemplarAssassin_RefractionAbsorb : public CDOTA_Buff { public: - int32_t damage_threshold; // 0x11e8 + int32_t damage_threshold; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_TemplarAssassin_Meld_Animation : public CDOTA_Buff { public: - bool launched_attack; // 0x11e8 + bool launched_attack; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_TemplarAssassin_Meld : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - bool launched_attack; // 0x11ec + int32_t bonus_damage; // 0x12b8 + bool launched_attack; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - CHandle< C_BaseEntity > m_hTarget; // 0x11f0 - int32_t m_nAttackRecord; // 0x11f4 + CHandle< C_BaseEntity > m_hTarget; // 0x12c0 + int32_t m_nAttackRecord; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_TemplarAssassin_MeldArmor : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_TemplarAssassin_PsiBlades : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x11e8 - float attack_spill_range; // 0x11ec - int32_t attack_spill_width; // 0x11f0 - int32_t attack_spill_pct; // 0x11f4 - int32_t attack_spill_penalty; // 0x11f8 + int32_t bonus_attack_range; // 0x12b8 + float attack_spill_range; // 0x12bc + int32_t attack_spill_width; // 0x12c0 + int32_t attack_spill_pct; // 0x12c4 + int32_t attack_spill_penalty; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_TemplarAssassin_PsiBlades_Slow : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TemplarAssassin_PsionicTrap_Counter : public CDOTA_Buff { public: @@ -18331,84 +18607,84 @@ public: }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_TemplarAssassin_Trap : public CDOTA_Modifier_Invisible { public: - int32_t shard_bonus_vision; // 0x11f8 + int32_t bonus_vision; // 0x12c8 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_TemplarAssassin_Trap_Slow : public CDOTA_Buff { public: - int32_t movement_speed_min; // 0x11e8 - int32_t movement_speed_max; // 0x11ec - int32_t trap_bonus_damage; // 0x11f0 - float trap_max_charge_duration; // 0x11f4 - float shard_min_silence_duration; // 0x11f8 - float shard_max_silence_duration; // 0x11fc - float stage; // 0x1200 + int32_t movement_speed_min; // 0x12b8 + int32_t movement_speed_max; // 0x12bc + float trap_max_charge_duration; // 0x12c0 + float min_silence_duration; // 0x12c4 + float max_silence_duration; // 0x12c8 + float stage; // 0x12cc + float flDamagePerTick; // 0x12d0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_TemplarAssassin_Refraction_Holdout : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t damage_absorb; // 0x11ec - float m_flDamageAbsorbed; // 0x11f0 + int32_t bonus_damage; // 0x12b8 + int32_t damage_absorb; // 0x12bc + float m_flDamageAbsorbed; // 0x12c0 }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Viper_PoisonAttack : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Viper_PoisonAttack_Slow : public CDOTA_Buff { public: - float damage; // 0x11e8 - int32_t shard_armor_reduction; // 0x11ec - int32_t shard_building_dmg_pct; // 0x11f0 - int32_t movement_speed; // 0x11f4 - int32_t magic_resistance; // 0x11f8 + float damage; // 0x12b8 + int32_t shard_armor_reduction; // 0x12bc + int32_t shard_building_dmg_pct; // 0x12c0 + int32_t movement_speed; // 0x12c4 + int32_t magic_resistance; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Viper_Nethertoxin_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Viper_Nethertoxin : public CDOTA_Buff { public: - int32_t min_damage; // 0x11e8 - int32_t max_damage; // 0x11ec - float max_duration; // 0x11f0 - float m_flDamageInterval; // 0x11f4 - float m_flTimeIncrement; // 0x11f8 + int32_t min_damage; // 0x12b8 + int32_t max_damage; // 0x12bc + float max_duration; // 0x12c0 + float m_flDamageInterval; // 0x12c4 + float m_flTimeIncrement; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Viper_NethertoxinMute : public CDOTA_Buff { public: @@ -18416,60 +18692,69 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Viper_CorrosiveSkin : public CDOTA_Buff { public: - int32_t bonus_magic_resistance; // 0x11e8 + int32_t bonus_magic_resistance; // 0x12b8 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Viper_BecomeUniversal : public CDOTA_Buff +{ +public: + int32_t bonus_magic_resistance; // 0x12b8 + int32_t is_universal; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Viper_CorrosiveSkin_Slow : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t damage; // 0x11ec - int32_t effect_multiplier_distance; // 0x11f0 - int32_t effect_multiplier; // 0x11f4 - bool m_bEffectMultiplied; // 0x11f8 + int32_t bonus_attack_speed; // 0x12b8 + int32_t damage; // 0x12bc + int32_t effect_multiplier_distance; // 0x12c0 + int32_t effect_multiplier; // 0x12c4 + bool m_bEffectMultiplied; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Viper_ViperStrike_Slow : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t damage; // 0x11f0 + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t damage; // 0x12c0 }; // Alignment: 8 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Viper_Nose_Dive : public CDOTA_Buff { public: - Vector m_vTargetPos; // 0x11e8 - Vector m_vStart; // 0x11f4 - float m_flZDelta; // 0x1200 - int32_t radius; // 0x1204 - int32_t corrosive_radius; // 0x1208 - float effect_duration; // 0x120c - int32_t dive_speed; // 0x1210 - float start_height; // 0x1214 + Vector m_vTargetPos; // 0x12b8 + Vector m_vStart; // 0x12c4 + float m_flZDelta; // 0x12d0 + int32_t radius; // 0x12d4 + int32_t corrosive_radius; // 0x12d8 + float effect_duration; // 0x12dc + int32_t dive_speed; // 0x12e0 + float start_height; // 0x12e4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Viper_Nose_Dive_Effect : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 + int32_t movespeed_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Luna_LucentBeam_Damage_Buff_Counter : public CDOTA_Buff { public: @@ -18477,185 +18762,199 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Luna_LucentBeam_Damage_Buff : public CDOTA_Buff { public: - int32_t damage_buff_per_beam; // 0x11e8 + int32_t damage_buff_per_beam; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Luna_MoonGlaive : public CDOTA_Buff { public: - int32_t range; // 0x11e8 - int32_t bounces; // 0x11ec - int32_t damage_reduction_percent; // 0x11f0 - ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x11f4 + int32_t range; // 0x12b8 + int32_t bounces; // 0x12bc + int32_t damage_reduction_percent; // 0x12c0 + ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x12c4 }; // Alignment: 6 -// Size: 0x1210 +// Size: 0x12d0 +class CDOTA_Modifier_Luna_MoonGlaive_Shield : public CDOTA_Buff +{ +public: + int32_t rotating_glaives; // 0x12b8 + float rotating_glaives_hit_radius; // 0x12bc + float rotating_glaives_speed; // 0x12c0 + float rotating_glaives_collision_damage; // 0x12c4 + float rotating_glaives_movement_radius; // 0x12c8 + float rotating_glaives_damage_reduction; // 0x12cc +}; + +// Alignment: 6 +// Size: 0x12e0 class CDOTA_Modifier_Luna_LunarBlessing_Smoke : public CDOTA_Modifier_Invisible { public: - int32_t bonus_speed_day; // 0x11f8 - int32_t bonus_speed_night; // 0x11fc - int32_t break_distance_day; // 0x1200 - int32_t break_distance_night; // 0x1204 - int32_t visibility_radius; // 0x1208 - int32_t bonus_movement_speed; // 0x120c + int32_t bonus_speed_day; // 0x12c8 + int32_t bonus_speed_night; // 0x12cc + int32_t break_distance_day; // 0x12d0 + int32_t break_distance_night; // 0x12d4 + int32_t visibility_radius; // 0x12d8 + int32_t bonus_movement_speed; // 0x12dc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Luna_LunarBlessing : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t bonus_night_vision; // 0x11ec + int32_t radius; // 0x12b8 + int32_t bonus_night_vision; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Luna_LunarBlessingAura : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_damage_self; // 0x11ec + int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage_self; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Luna_LunarBlessing_Active : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 + int32_t attack_speed; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Luna_Lunar_Grace : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 - float night_multiplier; // 0x11ec + int32_t attack_speed; // 0x12b8 + float night_multiplier; // 0x12bc }; // Alignment: 13 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Luna_Eclipse : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - int32_t radius; // 0x11ec - int32_t beams; // 0x11f0 - int32_t hit_count; // 0x11f4 - int32_t m_iBeamDamage; // 0x11f8 - float beam_interval; // 0x11fc - float stun_duration; // 0x1200 - Vector vPosition; // 0x1204 - bool bAreaTarget; // 0x1210 + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + int32_t radius; // 0x12bc + int32_t beams; // 0x12c0 + int32_t hit_count; // 0x12c4 + int32_t m_iBeamDamage; // 0x12c8 + float beam_interval; // 0x12cc + float stun_duration; // 0x12d0 + Vector vPosition; // 0x12d4 + bool bAreaTarget; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t m_iTickCount; // 0x1214 - ParticleIndex_t m_nMoonlightFXIndex; // 0x1218 + int32_t m_iTickCount; // 0x12e4 + ParticleIndex_t m_nMoonlightFXIndex; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x1220 - float m_flBeamStun; // 0x1238 + CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x12f0 + float m_flBeamStun; // 0x1308 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DragonKnight_BreatheFire_Reduction : public CDOTA_Buff { public: - int32_t reduction; // 0x11e8 + int32_t reduction; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DragonKnight_DragonBlood_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DragonKnight_DragonBlood : public CDOTA_Buff { public: - int32_t bonus_health_regen; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t bonus_health_regen; // 0x12b8 + int32_t bonus_armor; // 0x12bc }; -// Alignment: 9 -// Size: 0x1210 +// Alignment: 10 +// Size: 0x12e8 class CDOTA_Modifier_DragonKnight_DragonForm : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_attack_damage; // 0x11ec - int32_t bonus_attack_range; // 0x11f0 - int32_t attack_projectile_speed_bonus; // 0x11f4 - int32_t magic_resistance; // 0x11f8 - int32_t model_scale; // 0x11fc - int32_t iLevel; // 0x1200 - int32_t m_iOriginalAttackCapabilities; // 0x1204 - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1208 + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_attack_damage; // 0x12bc + int32_t bonus_attack_range; // 0x12c0 + int32_t attack_projectile_speed_bonus; // 0x12c4 + int32_t magic_resistance; // 0x12c8 + int32_t model_scale; // 0x12cc + int32_t iLevel; // 0x12d0 + int32_t m_iOriginalAttackCapabilities; // 0x12d4 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12d8 + int32_t bonus_slow_resistance; // 0x12e0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DragonKnight_CorrosiveBreath : public CDOTA_Buff { public: - float corrosive_breath_duration; // 0x11e8 + float corrosive_breath_duration; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DragonKnight_CorrosiveBreathDoT : public CDOTA_Buff { public: - int32_t corrosive_breath_damage; // 0x11e8 + int32_t corrosive_breath_damage; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_DragonKnight_SplashAttack : public CDOTA_Buff { public: - int32_t splash_radius; // 0x11e8 - int32_t splash_damage_percent; // 0x11ec - float corrosive_breath_duration; // 0x11f0 + int32_t splash_radius; // 0x12b8 + int32_t splash_damage_percent; // 0x12bc + float corrosive_breath_duration; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DragonKnight_FrostBreath : public CDOTA_Buff { public: - float frost_duration; // 0x11e8 - float frost_aoe; // 0x11ec + float frost_duration; // 0x12b8 + float frost_aoe; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DragonKnight_FrostBreath_Slow : public CDOTA_Buff { public: - int32_t frost_bonus_movement_speed; // 0x11e8 - int32_t frost_bonus_attack_speed; // 0x11ec + int32_t frost_bonus_movement_speed; // 0x12b8 + int32_t frost_bonus_attack_speed; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DragonKnight_BlackDragon_Tooltip : public CDOTA_Buff { public: @@ -18663,213 +18962,214 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DragonKnight_Fireball_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float linger_duration; // 0x11ec + int32_t radius; // 0x12b8 + float linger_duration; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DragonKnight_Fireball_Burn : public CDOTA_Buff { public: - float burn_interval; // 0x11e8 - int32_t damage; // 0x11ec + float burn_interval; // 0x12b8 + int32_t damage; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Dazzle_Good_Juju : public CDOTA_Buff { public: - float cooldown_reduction; // 0x11e8 - float item_cooldown_reduction; // 0x11ec - float duration; // 0x11f0 - int32_t radius; // 0x11f4 + float cooldown_reduction; // 0x12b8 + float item_cooldown_reduction; // 0x12bc + float duration; // 0x12c0 + int32_t radius; // 0x12c4 }; -// Alignment: 0 -// Size: 0x11e8 +// Alignment: 1 +// Size: 0x12c0 class CDOTA_Modifier_Dazzle_Bad_Juju_Manacost : public CDOTA_Buff { public: - // No members available + float mana_cost_increase_duration; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dazzle_Bad_Juju_Armor_Counter : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - float armor_reduction; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12b8 + float armor_reduction; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dazzle_Bad_Juju_Armor : public CDOTA_Buff { public: - float armor_reduction; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + float armor_reduction; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Dazzle_Rain_Of_Vermin : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float interval; // 0x11ec - float hex_chance; // 0x11f0 - float hex_duration; // 0x11f4 - int32_t damage; // 0x11f8 + int32_t radius; // 0x12b8 + float interval; // 0x12bc + float hex_chance; // 0x12c0 + float hex_duration; // 0x12c4 + int32_t damage; // 0x12c8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Dazzle_Poison_Touch : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - float bonus_slow; // 0x11ec - int32_t bonus_damage; // 0x11f0 - float flAccummulatedBonusSlow; // 0x11f4 - int32_t iAccummulatedBonusDamage; // 0x11f8 - int32_t attack_range_bonus; // 0x11fc + int32_t slow; // 0x12b8 + float bonus_slow; // 0x12bc + int32_t bonus_damage; // 0x12c0 + float flAccummulatedBonusSlow; // 0x12c4 + int32_t iAccummulatedBonusDamage; // 0x12c8 + int32_t attack_range_bonus; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dazzle_Poison_Touch_Self : public CDOTA_Buff { public: - int32_t attack_range_bonus; // 0x11e8 + int32_t attack_range_bonus; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dazzle_Shallow_Grave : public CDOTA_Buff { public: - int32_t heal_amplify; // 0x11e8 + int32_t heal_amplify; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dazzle_Weave_Armor : public CDOTA_Buff { public: - float armor_per_second; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + float armor_per_second; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Leshrac_Split_Earth_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t m_iCount; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Leshrac_Diabolic_Edict : public CDOTA_Buff { public: - int32_t num_explosions; // 0x11e8 - int32_t radius; // 0x11ec - float m_fExplosions; // 0x11f0 - float tower_bonus; // 0x11f4 - bool m_bTalentActive; // 0x11f8 + int32_t num_explosions; // 0x12b8 + int32_t radius; // 0x12bc + float m_fExplosions; // 0x12c0 + float tower_bonus; // 0x12c4 + bool m_bTalentActive; // 0x12c8 }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Leshrac_Lightning_Storm_Scepter_Thinker : public CDOTA_Buff { public: - float interval_scepter; // 0x11e8 + float pulse_nova_lightning_interval; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Leshrac_Lightning_Storm : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t radius; // 0x11ec - int32_t jump_count; // 0x11f0 - float slow_duration; // 0x11f4 - float jump_delay; // 0x11f8 - CHandle< C_BaseEntity > hInitialTarget; // 0x11fc - float m_flDamage; // 0x1200 + int32_t damage; // 0x12b8 + int32_t radius; // 0x12bc + int32_t jump_count; // 0x12c0 + float slow_duration; // 0x12c4 + float jump_delay; // 0x12c8 + CHandle< C_BaseEntity > hInitialTarget; // 0x12cc + float m_flDamage; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Leshrac_Lightning_Storm_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 + int32_t slow_movement_speed; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Leshrac_Decrepify_Aura : public CDOTA_Buff { public: - int32_t magic_amp; // 0x11e8 - int32_t slow; // 0x11ec + int32_t magic_amp; // 0x12b8 + int32_t slow; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Leshrac_Decrepify : public CDOTA_Buff { public: - int32_t magic_amp; // 0x11e8 - int32_t slow; // 0x11ec + int32_t magic_amp; // 0x12b8 + int32_t slow; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Leshrac_Greater_Lightning_Storm : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float interval; // 0x11ec + int32_t radius; // 0x12b8 + float interval; // 0x12bc }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Leshrac_Pulse_Nova : public CDOTA_Buff { public: - bool m_bFirst; // 0x11e8 + bool m_bFirst; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0xb]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0xb]; // 0x12b9 public: - int32_t damage_resistance; // 0x11f4 - int32_t bonus_movespeed; // 0x11f8 + int32_t damage_resistance; // 0x12c4 + int32_t bonus_movespeed; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Rattletrap_Overclocking : public CDOTA_Buff { public: - ParticleIndex_t m_nOverclockFX; // 0x11e8 - int32_t bonus_movement_speed; // 0x11ec - int32_t bonus_attack_speed; // 0x11f0 + ParticleIndex_t m_nOverclockFX; // 0x12b8 + int32_t bonus_movement_speed; // 0x12bc + int32_t bonus_attack_speed; // 0x12c0 }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rattletrap_BatteryAssault : public CDOTA_Buff { public: @@ -18877,25 +19177,25 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rattletrap_Cog_Barrier : public CDOTA_Buff { public: - int32_t magic_barrier; // 0x11e8 - int32_t m_nAbsorbRemaining; // 0x11ec + int32_t magic_barrier; // 0x12b8 + int32_t m_nAbsorbRemaining; // 0x12bc }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Rattletrap_Cog_Thinker : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x11e8 - int32_t extra_pull_buffer; // 0x11ec + int32_t cogs_radius; // 0x12b8 + int32_t extra_pull_buffer; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rattletrap_Cog_Marker : public CDOTA_Buff { public: @@ -18903,33 +19203,33 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Leash : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x11e8 - int32_t extra_pull_buffer; // 0x11ec + int32_t cogs_radius; // 0x12b8 + int32_t extra_pull_buffer; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rattletrap_Cog_Leash : public CDOTA_Buff { public: - int32_t leash; // 0x11e8 + int32_t leash; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Talent : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x11e8 - int32_t extra_pull_buffer; // 0x11ec + int32_t cogs_radius; // 0x12b8 + int32_t extra_pull_buffer; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rattletrap_Cog_Immune : public CDOTA_Modifier_DebuffImmune { public: @@ -18937,16 +19237,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Self_Bonuses : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x11e8 - int32_t extra_pull_buffer; // 0x11ec + int32_t cogs_radius; // 0x12b8 + int32_t extra_pull_buffer; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rattletrap_Cog_Self_Bonuses : public CDOTA_Buff { public: @@ -18954,104 +19254,127 @@ public: }; // Alignment: 9 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Rattletrap_Cog : public CDOTA_Buff { public: - bool m_bEnabled; // 0x11e8 + bool m_bEnabled; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t trigger_distance; // 0x11ec - int32_t push_length; // 0x11f0 - float push_duration; // 0x11f4 - int32_t cogs_radius; // 0x11f8 - int32_t attacks_to_destroy; // 0x11fc - int32_t m_iCogIndex; // 0x1200 - ParticleIndex_t m_nFXIndex; // 0x1204 - Vector vCenter; // 0x1208 + int32_t trigger_distance; // 0x12bc + int32_t push_length; // 0x12c0 + float push_duration; // 0x12c4 + int32_t cogs_radius; // 0x12c8 + int32_t attacks_to_destroy; // 0x12cc + int32_t m_iCogIndex; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + Vector vCenter; // 0x12d8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Rattletrap_CogPush : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x11e8 - int32_t push_length; // 0x11ec - float push_duration; // 0x11f0 + GameTime_t m_flStartTime; // 0x12b8 + int32_t push_length; // 0x12bc + float push_duration; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rattletrap_RocketFlare_Slow : public CDOTA_Buff { public: - float slow_pct; // 0x11e8 + float slow_pct; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Clockwerk_RocketFlare_Thinker : public CDOTA_Buff { public: - float radius; // 0x11e8 - float duration; // 0x11ec + float radius; // 0x12b8 + float duration; // 0x12bc +}; + +// Alignment: 2 +// Size: 0x12c8 +class CDOTA_Modifier_Rattletrap_RocketFlare : public CDOTA_Buff +{ +private: + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 +public: + int32_t projectile_vision_radius; // 0x12c0 + float projectile_vision_duration; // 0x12c4 +}; + +// Alignment: 6 +// Size: 0x12d8 +class CDOTA_Modifier_Rattletrap_RocketFlare_Overclock : public CDOTA_Buff +{ +public: + float rocket_flare_interval; // 0x12b8 + int32_t rocket_flare_offset_pct; // 0x12bc + int32_t rocket_flare_rockets; // 0x12c0 + int32_t m_nRocketsFired; // 0x12c4 + int32_t radius; // 0x12c8 + Vector m_vOriginalTarget; // 0x12cc +}; + +// Alignment: 11 +// Size: 0x1338 +class CDOTA_Modifier_Rattletrap_JetPack : public CDOTA_Buff +{ +public: + int32_t m_nMovementSpeed; // 0x12b8 + int32_t bonus_speed; // 0x12bc + float turn_rate; // 0x12c0 + GameTime_t m_flStartTime; // 0x12c4 + float tick_interval; // 0x12c8 + float m_flFacingTarget; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d0 +private: + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 +public: + CUtlVector< float32 > m_flTurnHistory; // 0x12d8 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x12f0 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1308 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1320 +}; + +// Alignment: 4 +// Size: 0x12d0 +class CDOTA_Modifier_Rattletrap_Hookshot : public CDOTA_Buff +{ +private: + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 +public: + int32_t speed; // 0x12c0 + float stun_radius; // 0x12c4 + float damage; // 0x12c8 + float duration; // 0x12cc }; // Alignment: 0 -// Size: 0x11f0 -class CDOTA_Modifier_Rattletrap_RocketFlare : public CDOTA_Buff +// Size: 0x12b8 +class CDOTA_Modifier_Furion_Sprout_Damage_Aura : public CDOTA_Buff { public: // No members available }; -// Alignment: 6 -// Size: 0x1208 -class CDOTA_Modifier_Rattletrap_RocketFlare_Overclock : public CDOTA_Buff +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Furion_Sprout_Damage : public CDOTA_Buff { public: - float rocket_flare_interval; // 0x11e8 - int32_t rocket_flare_offset_pct; // 0x11ec - int32_t rocket_flare_rockets; // 0x11f0 - int32_t m_nRocketsFired; // 0x11f4 - int32_t radius; // 0x11f8 - Vector m_vOriginalTarget; // 0x11fc -}; - -// Alignment: 10 -// Size: 0x1260 -class CDOTA_Modifier_Rattletrap_JetPack : public CDOTA_Buff -{ -public: - int32_t bonus_speed; // 0x11e8 - float turn_rate; // 0x11ec - GameTime_t m_flStartTime; // 0x11f0 - float tick_interval; // 0x11f4 - float m_flFacingTarget; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 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: 4 -// Size: 0x1200 -class CDOTA_Modifier_Rattletrap_Hookshot : public CDOTA_Buff -{ -private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 -public: - int32_t speed; // 0x11f0 - float stun_radius; // 0x11f4 - float damage; // 0x11f8 - float duration; // 0x11fc + int32_t sprout_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Furion_Sprout_Blind_Aura : public CDOTA_Buff { public: @@ -19059,15 +19382,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Furion_Sprout_Blind : public CDOTA_Buff { public: - int32_t blind_pct; // 0x11e8 + int32_t blind_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Furion_Sprout_Tether_Aura : public CDOTA_Buff { public: @@ -19075,7 +19398,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Furion_Sprout_Tether : public CDOTA_Buff { public: @@ -19083,7 +19406,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Furion_Sprout_Marker : public CDOTA_Buff { public: @@ -19091,7 +19414,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Furion_Sprout_Entangle : public CDOTA_Buff { public: @@ -19099,37 +19422,37 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_Arboreal_Might_Attack_Damage : public CDOTA_Buff { public: - float damage_per_stack; // 0x11e8 - int32_t iMaxStacks; // 0x11ec - ParticleIndex_t m_nFXIndex; // 0x11f0 + float damage_per_stack; // 0x12b8 + int32_t iMaxStacks; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Furion_Arboreal_Might_Armor : public CDOTA_Buff { public: - float armor_per_stack; // 0x11e8 + float armor_per_stack; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Furion_WrathOfNature_Thinker : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t max_targets; // 0x11ec - int32_t damage_percent_add; // 0x11f0 - float jump_delay; // 0x11f4 - int32_t m_iFixedDamage; // 0x11f8 + int32_t damage; // 0x12b8 + int32_t max_targets; // 0x12bc + int32_t damage_percent_add; // 0x12c0 + float jump_delay; // 0x12c4 + int32_t m_iFixedDamage; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Furion_WrathOfNature_Buff : public CDOTA_Buff { public: @@ -19137,7 +19460,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Furion_WrathOfNature_BuffCounter : public CDOTA_Buff { public: @@ -19145,7 +19468,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Furion_WrathOfNature_Spawn : public CDOTA_Buff { public: @@ -19153,121 +19476,121 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_CurseOfTheForest : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t damage_per_tree; // 0x11ec - int32_t slow_per_tree; // 0x11f0 - int32_t m_nSlow; // 0x11f4 + int32_t radius; // 0x12b8 + int32_t damage_per_tree; // 0x12bc + int32_t slow_per_tree; // 0x12c0 + int32_t m_nSlow; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Treant_Bonus : public CDOTA_Buff { public: - int32_t treant_hp_bonus; // 0x11e8 - int32_t treant_damage_bonus; // 0x11ec + int32_t treant_hp_bonus; // 0x12b8 + int32_t treant_damage_bonus; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Treant_Large_Bonus : public CDOTA_Buff { public: - int32_t treant_large_hp_bonus; // 0x11e8 - int32_t treant_large_damage_bonus; // 0x11ec + int32_t treant_large_hp_bonus; // 0x12b8 + int32_t treant_large_damage_bonus; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Life_Stealer_Feast : public CDOTA_Buff { public: - float hp_leech_percent; // 0x11e8 - float hp_damage_percent; // 0x11ec + float hp_leech_percent; // 0x12b8 + float hp_damage_percent; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Life_Stealer_Ghoul_Frenzy : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x11e8 + int32_t attack_speed_bonus; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Life_Stealer_Ghoul_Frenzy_Slow : public CDOTA_Buff { public: - int32_t miss_pct; // 0x11e8 - int32_t movement_slow; // 0x11ec + int32_t miss_pct; // 0x12b8 + int32_t movement_slow; // 0x12bc }; // Alignment: 6 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Life_Stealer_Open_Wounds : public CDOTA_Buff { public: - int32_t slow_steps[8]; // 0x11e8 - int32_t heal_percent; // 0x1208 - int32_t m_nDamageTracker; // 0x120c - int32_t damage_threshold; // 0x1210 - int32_t spread_radius; // 0x1214 - int32_t max_health_as_damage_pct; // 0x1218 + int32_t slow_steps[8]; // 0x12b8 + int32_t heal_percent; // 0x12d8 + int32_t m_nDamageTracker; // 0x12dc + int32_t damage_threshold; // 0x12e0 + int32_t spread_radius; // 0x12e4 + int32_t max_health_as_damage_pct; // 0x12e8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Life_Stealer_Infest : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - int32_t m_nFXIndex; // 0x11ec - float self_regen; // 0x11f0 - int32_t m_nStartingHealth; // 0x11f4 + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + int32_t m_nFXIndex; // 0x12bc + float self_regen; // 0x12c0 + int32_t m_nStartingHealth; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Life_Stealer_Infest_Effect : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_health; // 0x11ec + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_health; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Life_Stealer_Infest_Enemy_Hero : public CDOTA_Buff { public: - float attack_rate_enemy; // 0x11e8 + float attack_rate_enemy; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Life_Stealer_Infest_Creep : public CDOTA_Buff { public: - bool m_bChangedTeams; // 0x11e8 + bool m_bChangedTeams; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Life_Stealer_Assimilate : public CDOTA_Buff { public: - float order_lock_duration; // 0x11e8 - GameTime_t m_fOrderLockDone; // 0x11ec - int32_t m_nFXIndex; // 0x11f0 + float order_lock_duration; // 0x12b8 + GameTime_t m_fOrderLockDone; // 0x12bc + int32_t m_nFXIndex; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Life_Stealer_Assimilate_Effect : public CDOTA_Buff { public: @@ -19275,54 +19598,54 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Life_Stealer_Rage : public CDOTA_Buff { public: - int32_t movement_speed_bonus; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t movement_speed_bonus; // 0x12b8 + int32_t bonus_armor; // 0x12bc }; // Alignment: 4 -// Size: 0x1360 +// Size: 0x1430 class CDOTA_Modifier_DarkSeer_Normal_Punch : public CDOTA_Buff { public: - Vector m_PositionIndex[30]; // 0x11e8 - ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1350 - float m_flDistanceTraveled; // 0x1354 - bool m_bIsValidTarget; // 0x1358 + Vector m_PositionIndex[30]; // 0x12b8 + ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1420 + float m_flDistanceTraveled; // 0x1424 + bool m_bIsValidTarget; // 0x1428 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_DarkSeer_Normal_Punch_Illusion_Thinker : public CDOTA_Buff { public: - Vector m_vecIllusionSpawnPosition; // 0x11e8 - int32_t speed; // 0x11f4 - CHandle< C_BaseEntity > m_hTarget; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc + Vector m_vecIllusionSpawnPosition; // 0x12b8 + int32_t speed; // 0x12c4 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DarkSeer_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x11e8 + float pull_speed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_IonShell : public CDOTA_Buff { public: - int32_t bonus_health; // 0x11e8 + int32_t bonus_health; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_IonShell_Slow : public CDOTA_Buff { public: @@ -19330,108 +19653,108 @@ public: }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_DarkSeer_Surge : public CDOTA_Buff { public: - int32_t speed_boost; // 0x11e8 - int32_t trail_radius; // 0x11ec - float trail_duration; // 0x11f0 - Vector m_vLastTrailThinkerLocation; // 0x11f4 - bool m_bTrailStarted; // 0x1200 + int32_t speed_boost; // 0x12b8 + int32_t trail_radius; // 0x12bc + float trail_duration; // 0x12c0 + Vector m_vLastTrailThinkerLocation; // 0x12c4 + bool m_bTrailStarted; // 0x12d0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DarkSeer_Surge_Trail_Thinker : public CDOTA_Buff { public: - int32_t trail_radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t trail_radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_DarkSeer_Surge_Trail : public CDOTA_Buff { public: - int32_t trail_move_slow; // 0x11e8 - int32_t trail_damage; // 0x11ec - float trail_damage_interval; // 0x11f0 + int32_t trail_move_slow; // 0x12b8 + int32_t trail_damage; // 0x12bc + float trail_damage_interval; // 0x12c0 }; // Alignment: 7 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_DarkSeer_WallOfReplica : public CDOTA_Buff { public: - Vector m_vWallDirection; // 0x11e8 - Vector m_vWallRight; // 0x11f4 + Vector m_vWallDirection; // 0x12b8 + Vector m_vWallRight; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad1200[0x18]; // 0x1200 + [[maybe_unused]] uint8_t __pad12d0[0x18]; // 0x12d0 public: - CUtlMap< int32, GameTime_t > m_PreventReplicateTime; // 0x1218 - int32_t width; // 0x1238 - float slow_duration; // 0x123c - int32_t replica_damage_incoming; // 0x1240 - int32_t replica_damage_outgoing; // 0x1244 + CUtlMap< int32, GameTime_t > m_PreventReplicateTime; // 0x12e8 + int32_t width; // 0x1308 + float slow_duration; // 0x130c + int32_t replica_damage_incoming; // 0x1310 + int32_t replica_damage_outgoing; // 0x1314 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DarkSeer_WallOfReplica_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DarkSeer_WallOfReplica_Illusion : public CDOTA_Buff { public: - int32_t replica_scale; // 0x11e8 + int32_t replica_scale; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DarkSeer_Normal_Punch_Illusion : public CDOTA_Buff { public: - int32_t replica_scale; // 0x11e8 + int32_t replica_scale; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DarkSeer_IonShell_IllusionInvulnerability : public CDOTA_Modifier_Invulnerable { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 3 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Clinkz_SearingArrows : public CDOTA_Buff { public: - int32_t damage_bonus; // 0x11e8 + int32_t damage_bonus; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 - bool m_bBonusAttack; // 0x1208 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + bool m_bBonusAttack; // 0x12d8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Clinkz_DeathPact : public CDOTA_Buff { public: - int32_t health_gain; // 0x11e8 + int32_t health_gain; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Clinkz_DeathPact_Permanent_Buff : public CDOTA_Buff { public: @@ -19439,48 +19762,48 @@ public: }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Clinkz_Burning_Army_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x11e8 - int32_t count; // 0x11ec - int32_t range; // 0x11f0 - Vector m_vFacePosition; // 0x11f4 + int32_t m_iCount; // 0x12b8 + int32_t count; // 0x12bc + int32_t range; // 0x12c0 + Vector m_vFacePosition; // 0x12c4 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Clinkz_Burning_Army : public CDOTA_Buff { public: - float attack_rate; // 0x11e8 - int32_t damage_percent; // 0x11ec - int32_t skeleton_health; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - int32_t skeleton_building_damage_reduction; // 0x11f8 + float attack_rate; // 0x12b8 + int32_t damage_percent; // 0x12bc + int32_t skeleton_health; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + int32_t skeleton_building_damage_reduction; // 0x12c8 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Clinkz_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t move_speed_bonus_pct; // 0x11f8 + int32_t move_speed_bonus_pct; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Clinkz_Strafe : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x11e8 - int32_t attack_range_bonus; // 0x11ec - int32_t archer_attack_speed_pct; // 0x11f0 + int32_t attack_speed_bonus; // 0x12b8 + int32_t attack_range_bonus; // 0x12bc + int32_t archer_attack_speed_pct; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Clinkz_BurningBarrage_DamageReduction : public CDOTA_Buff { public: @@ -19488,174 +19811,177 @@ public: }; // Alignment: 13 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Clinkz_BurningBarrage : public CDOTA_Buff { public: - int32_t m_iArrowCount; // 0x11e8 - Vector m_vOriginalTarget; // 0x11ec - int32_t arrow_width; // 0x11f8 - float arrow_speed; // 0x11fc - float arrow_range_multiplier; // 0x1200 - int32_t wave_count; // 0x1204 - int32_t arrow_count_per_wave; // 0x1208 - int32_t arrow_angle; // 0x120c - int32_t m_iLoopCount; // 0x1210 - float m_flInterval; // 0x1214 - float m_flCycleDelay; // 0x1218 - float m_flTimeWaste; // 0x121c - GameTime_t m_flExpectedTime; // 0x1220 + int32_t m_iArrowCount; // 0x12b8 + Vector m_vOriginalTarget; // 0x12bc + int32_t arrow_width; // 0x12c8 + float arrow_speed; // 0x12cc + float arrow_range_multiplier; // 0x12d0 + int32_t wave_count; // 0x12d4 + int32_t arrow_count_per_wave; // 0x12d8 + int32_t arrow_angle; // 0x12dc + int32_t m_iLoopCount; // 0x12e0 + float m_flInterval; // 0x12e4 + float m_flCycleDelay; // 0x12e8 + float m_flTimeWaste; // 0x12ec + GameTime_t m_flExpectedTime; // 0x12f0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Clinkz_Tar_Bomb_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float slow_duration; // 0x11ec - ParticleIndex_t m_nFXIndex; // 0x11f0 + int32_t radius; // 0x12b8 + float slow_duration; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Clinkz_Tar_Bomb_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 + int32_t slow_movement_speed; // 0x12b8 }; // Alignment: 3 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Clinkz_Tar_Bomb_SearingArrows : public CDOTA_Buff { public: - int32_t damage_bonus; // 0x11e8 + int32_t damage_bonus; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 - bool m_bBonusAttack; // 0x1208 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + bool m_bBonusAttack; // 0x12d8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Omniknight_HammerOfPurity : public CDOTA_Buff { public: - GameTime_t m_flNextAttackTime; // 0x11e8 - float attack_cooldown; // 0x11ec + GameTime_t m_flNextAttackTime; // 0x12b8 + float attack_cooldown; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Omniknight_Hammer_Of_Purity_Bomb : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Omniknight_Angelic_Flight : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - int32_t hp_regen; // 0x11ec + int32_t movement_speed; // 0x12b8 + int32_t hp_regen; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Omniknight_Pacify : public CDOTA_Buff { public: - int32_t spell_resistance_reduction; // 0x11e8 + int32_t spell_resistance_reduction; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Omniknight_Repel : public CDOTA_Buff { public: - int32_t status_resistance; // 0x11e8 - float hp_regen; // 0x11ec - int32_t bonus_str; // 0x11f0 + int32_t status_resistance; // 0x12b8 + float hp_regen; // 0x12bc + int32_t bonus_str; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Omniknight_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x11e8 + int32_t speed_bonus; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Omniknight_Marty : public CDOTA_Buff { public: - int32_t base_strength; // 0x11e8 - int32_t base_hpregen; // 0x11ec - int32_t strength_bonus; // 0x11f0 - int32_t nDebuffAmount; // 0x11f4 + int32_t base_strength; // 0x12b8 + int32_t base_hpregen; // 0x12bc + int32_t strength_bonus; // 0x12c0 + int32_t nDebuffAmount; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Omniknight_GuardianAngel : public CDOTA_Buff { public: - int32_t scepter_status_resist; // 0x11e8 + int32_t scepter_status_resist; // 0x12b8 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Enchantress_Little_Friends_Kill_Credit : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 }; -// Alignment: 7 -// Size: 0x1208 +// Alignment: 10 +// Size: 0x12e0 class CDOTA_Modifier_Enchantress_Little_Friends_Aura : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - int32_t m_nAlliesTaunted; // 0x11ec - bool m_bRelicTriggered; // 0x11f0 + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + int32_t m_nAlliesTaunted; // 0x12bc + bool m_bRelicTriggered; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - int32_t radius; // 0x11f4 - int32_t damage_amplification; // 0x11f8 - int32_t damage_reduction; // 0x11fc - GameTime_t m_flLastSeen; // 0x1200 + int32_t radius; // 0x12c4 + int32_t damage_amplification; // 0x12c8 + int32_t damage_reduction; // 0x12cc + float root_base_duration; // 0x12d0 + float root_per_target; // 0x12d4 + float max_root; // 0x12d8 + GameTime_t m_flLastSeen; // 0x12dc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Enchantress_Little_Friends : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hZombieTarget; // 0x11e8 - CHandle< C_BaseEntity > m_hDesiredTarget; // 0x11ec - int32_t damage_reduction; // 0x11f0 - int32_t bonus_attack_speed; // 0x11f4 - int32_t bonus_move_speed; // 0x11f8 + CHandle< C_BaseEntity > m_hZombieTarget; // 0x12b8 + CHandle< C_BaseEntity > m_hDesiredTarget; // 0x12bc + int32_t damage_reduction; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c4 + int32_t bonus_move_speed; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Enchantress_Bunny_Hop : public CDOTA_Buff { public: @@ -19663,7 +19989,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Enchantress_Untouchable : public CDOTA_Buff { public: @@ -19671,16 +19997,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Enchantress_Untouchable_Slow : public CDOTA_Buff { public: - int32_t slow_attack_speed; // 0x11e8 - ParticleIndex_t m_nStatusFXIndex; // 0x11ec + int32_t slow_attack_speed; // 0x12b8 + ParticleIndex_t m_nStatusFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Enchantress_Enchant : public CDOTA_Buff { public: @@ -19688,178 +20014,178 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Enchantress_Enchant_Controlled : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t enchant_health; // 0x11ec - int32_t enchant_armor; // 0x11f0 - int32_t enchant_damage; // 0x11f4 + int32_t bonus_movement_speed; // 0x12b8 + int32_t enchant_health; // 0x12bc + int32_t enchant_armor; // 0x12c0 + int32_t enchant_damage; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Enchantress_Enchant_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 + int32_t slow_movement_speed; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Enchantress_NaturesAttendants_Shard : public CDOTA_Buff { public: - float heal_interval; // 0x11e8 - float heal; // 0x11ec - int32_t radius; // 0x11f0 - int32_t shard_permanent_wisp_count; // 0x11f4 - bool m_bActive; // 0x11f8 + float heal_interval; // 0x12b8 + float heal; // 0x12bc + int32_t radius; // 0x12c0 + int32_t shard_permanent_wisp_count; // 0x12c4 + bool m_bActive; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - ParticleIndex_t m_nWispFXIndex; // 0x11fc + ParticleIndex_t m_nWispFXIndex; // 0x12cc }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Enchantress_NaturesAttendants : public CDOTA_Buff { public: - float heal_interval; // 0x11e8 - float heal; // 0x11ec - int32_t radius; // 0x11f0 - int32_t wisp_count; // 0x11f4 - int32_t movespeed; // 0x11f8 - ParticleIndex_t m_nWispFXIndex; // 0x11fc + float heal_interval; // 0x12b8 + float heal; // 0x12bc + int32_t radius; // 0x12c0 + int32_t wisp_count; // 0x12c4 + int32_t movespeed; // 0x12c8 + ParticleIndex_t m_nWispFXIndex; // 0x12cc }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Enchantress_Impetus : public CDOTA_Buff { public: - float distance_damage_pct; // 0x11e8 - int32_t distance_cap; // 0x11ec - float creep_multiplier; // 0x11f0 + float distance_damage_pct; // 0x12b8 + int32_t distance_cap; // 0x12bc + float creep_multiplier; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Huskar_Inner_Fire_Knockback : public CDOTA_Buff { public: - float knockback_distance; // 0x11e8 - float knockback_duration; // 0x11ec - float effective_distance; // 0x11f0 + float knockback_distance; // 0x12b8 + float knockback_duration; // 0x12bc + float effective_distance; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Huskar_Inner_Fire_Disarm : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x11e8 + int32_t movement_slow_pct; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Huskar_Inner_Vitality : public CDOTA_Buff { public: - int32_t heal; // 0x11e8 - float attrib_bonus; // 0x11ec - float hurt_attrib_bonus; // 0x11f0 - float hurt_percent; // 0x11f4 + int32_t heal; // 0x12b8 + float attrib_bonus; // 0x12bc + float hurt_attrib_bonus; // 0x12c0 + float hurt_percent; // 0x12c4 }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Huskar_Burning_Spear_Self : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 - float duration; // 0x1200 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + float duration; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Huskar_Burning_Spear_Counter : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Huskar_Burning_Spear_Debuff : public CDOTA_Buff { public: - int32_t burn_damage; // 0x11e8 + int32_t burn_damage; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Huskar_Berserkers_Blood : public CDOTA_Buff { public: - int32_t maximum_health_regen; // 0x11e8 - int32_t maximum_attack_speed; // 0x11ec - int32_t maximum_magic_resist; // 0x11f0 - int32_t hp_threshold_max; // 0x11f4 - ParticleIndex_t m_nFxHuskIndex; // 0x11f8 - ParticleIndex_t m_nFxIndexA; // 0x11fc + int32_t maximum_health_regen; // 0x12b8 + int32_t maximum_attack_speed; // 0x12bc + int32_t maximum_magic_resist; // 0x12c0 + int32_t hp_threshold_max; // 0x12c4 + ParticleIndex_t m_nFxHuskIndex; // 0x12c8 + ParticleIndex_t m_nFxIndexA; // 0x12cc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Huskar_Life_Break_Taunt : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hZombieTarget; // 0x11e8 - bool m_bDidSetAttackTarget; // 0x11ec + CHandle< C_BaseEntity > m_hZombieTarget; // 0x12b8 + bool m_bDidSetAttackTarget; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Huskar_Life_Break_Charge : public CDOTA_Modifier_DebuffImmune { public: // No members available }; -// Alignment: 0 -// Size: 0x11f0 +// Alignment: 1 +// Size: 0x12c8 class CDOTA_Modifier_Huskar_Life_Break : public CDOTA_Modifier_MoveSpeed_Percentage { public: - // No members available + int32_t attack_speed; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_NightStalker_Void : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 - int32_t attackspeed_slow; // 0x11ec + int32_t movespeed_slow; // 0x12b8 + int32_t attackspeed_slow; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_NightStalker_Void_ZoneThinker : public CDOTA_Buff { public: - int32_t radius_scepter; // 0x11e8 + int32_t radius_scepter; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_NightStalker_Void_Zone : public CDOTA_Buff { public: @@ -19867,106 +20193,109 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_NightStalker_CripplingFear_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; -// Alignment: 0 -// Size: 0x11f0 +// Alignment: 2 +// Size: 0x12c8 class CDOTA_Modifier_NightStalker_CripplingFear : public CDOTA_Buff { +private: + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - // No members available + int32_t dps; // 0x12c0 + float tick_rate; // 0x12c4 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_NightStalker_HunterInTheNight : public CDOTA_Buff { public: - int32_t bonus_movement_speed_pct_night; // 0x11e8 - int32_t bonus_attack_speed_night; // 0x11ec - int32_t bonus_status_resist_night; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 + int32_t bonus_movement_speed_pct_night; // 0x12b8 + int32_t bonus_attack_speed_night; // 0x12bc + int32_t bonus_status_resist_night; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_NightStalker_Darkness : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t status_resistance; // 0x11ec - int32_t hp_regen; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 + int32_t bonus_damage; // 0x12b8 + int32_t status_resistance; // 0x12bc + int32_t hp_regen; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_SpawnSpiderlings : public CDOTA_Buff { public: - float spiderling_duration; // 0x11e8 - int32_t count; // 0x11ec + float spiderling_duration; // 0x12b8 + int32_t count; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_SpawnSpiderlingsShard : public CDOTA_Buff { public: - float shard_spiderling_duration; // 0x11e8 + float shard_spiderling_duration; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_Spider_HP : public CDOTA_Buff { public: - int32_t hp_bonus; // 0x11e8 - int32_t damage_bonus; // 0x11ec + int32_t hp_bonus; // 0x12b8 + int32_t damage_bonus; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_SpawnSpiderite : public CDOTA_Buff { public: - float buff_duration; // 0x11e8 + float buff_duration; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_SpawnSpideriteDebuff : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hParentSpider; // 0x11e8 + CHandle< C_BaseEntity > m_hParentSpider; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_PoisonSting : public CDOTA_Buff { public: - float duration; // 0x11e8 - float duration_hero; // 0x11ec + float duration; // 0x12b8 + float duration_hero; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_PoisonStingDebuff : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x11e8 - int32_t movement_speed; // 0x11ec + int32_t damage_per_second; // 0x12b8 + int32_t movement_speed; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Broodmother_SpinWeb_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -19974,16 +20303,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_SpinWeb_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t m_nFXIndex; // 0x11ec + int32_t radius; // 0x12b8 + int32_t m_nFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Broodmother_SpinWebInvisibleApplier : public CDOTA_Buff { public: @@ -19991,27 +20320,27 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_SpinWeb_Slowed : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x11e8 + int32_t bonus_movespeed; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_SpinWeb : public CDOTA_Buff { public: - int32_t heath_regen; // 0x11e8 - int32_t bonus_movespeed; // 0x11ec - int32_t bonus_movespeed_scepter; // 0x11f0 - float bonus_turn_rate; // 0x11f4 - float flLastDamageTime; // 0x11f8 + int32_t heath_regen; // 0x12b8 + int32_t bonus_movespeed; // 0x12bc + int32_t bonus_movespeed_scepter; // 0x12c0 + float bonus_turn_rate; // 0x12c4 + float flLastDamageTime; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Broodmother_SpinWeb_NoTreeWalking : public CDOTA_Buff { public: @@ -20019,85 +20348,86 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_IncapacitatingBite : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_IncapacitatingBiteOrb : public CDOTA_Buff { public: - int32_t miss_chance; // 0x11e8 - int32_t bonus_movespeed; // 0x11ec + int32_t miss_chance; // 0x12b8 + int32_t bonus_movespeed; // 0x12bc }; -// Alignment: 7 -// Size: 0x1208 +// Alignment: 8 +// Size: 0x12d8 class CDOTA_Modifier_Broodmother_InsatiableHunger : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t lifesteal_pct; // 0x11ec - float slow_duration; // 0x11f0 - float bat_bonus; // 0x11f4 - float shard_damage_tick_interval; // 0x11f8 - int32_t damage_tick_count; // 0x11fc - int32_t shard_damage_per_tick; // 0x1200 + int32_t bonus_damage; // 0x12b8 + int32_t lifesteal_pct; // 0x12bc + float slow_duration; // 0x12c0 + float bat_bonus; // 0x12c4 + float shard_damage_tick_interval; // 0x12c8 + int32_t damage_tick_count; // 0x12cc + int32_t shard_damage_per_tick; // 0x12d0 + int32_t creep_lifesteal_reduction_pct; // 0x12d4 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Broodmother_Silken_Bola : public CDOTA_Buff { public: - int32_t attack_damage; // 0x11e8 - int32_t movement_speed; // 0x11ec - int32_t miss_chance; // 0x11f0 - int32_t shard_miss_chance; // 0x11f4 + int32_t attack_damage; // 0x12b8 + int32_t movement_speed; // 0x12bc + int32_t miss_chance; // 0x12c0 + int32_t shard_miss_chance; // 0x12c4 }; // Alignment: 14 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_Broodmother_StickySnare : public CDOTA_Buff { public: - Vector m_vOrigin; // 0x11e8 - Vector m_vWallDirection; // 0x11f4 - Vector m_vWallRight; // 0x1200 - int32_t width; // 0x120c - float root_duration; // 0x1210 - float formation_delay; // 0x1214 - bool m_bTouching; // 0x1218 + Vector m_vOrigin; // 0x12b8 + Vector m_vWallDirection; // 0x12c4 + Vector m_vWallRight; // 0x12d0 + int32_t width; // 0x12dc + float root_duration; // 0x12e0 + float formation_delay; // 0x12e4 + bool m_bTouching; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - CHandle< C_BaseEntity > m_hRight; // 0x121c - bool m_bParticle; // 0x1220 + CHandle< C_BaseEntity > m_hRight; // 0x12ec + bool m_bParticle; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad1221[0x3]; // 0x1221 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - GameTime_t m_flStartingTime; // 0x1224 - int32_t m_nFoWID; // 0x1228 - int32_t m_nTeamID; // 0x122c - CUtlVector< CHandle< C_BaseEntity > > m_vecAffectedHeroes; // 0x1230 - ParticleIndex_t m_nWarmupFXIndex; // 0x1248 + GameTime_t m_flStartingTime; // 0x12f4 + int32_t m_nFoWID; // 0x12f8 + int32_t m_nTeamID; // 0x12fc + CUtlVector< CHandle< C_BaseEntity > > m_vecAffectedHeroes; // 0x1300 + ParticleIndex_t m_nWarmupFXIndex; // 0x1318 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_StickySnare_Root : public CDOTA_Buff { public: - float damage_per_second; // 0x11e8 - bool m_bFirstSecond; // 0x11ec + float damage_per_second; // 0x12b8 + bool m_bFirstSecond; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Broodmother_Tough : public CDOTA_Buff { public: @@ -20105,39 +20435,39 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_BountyHunter_Track : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - int32_t m_nParentGold; // 0x11ec - int32_t target_crit_multiplier; // 0x11f0 + int32_t aura_radius; // 0x12b8 + int32_t m_nParentGold; // 0x12bc + int32_t target_crit_multiplier; // 0x12c0 }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_BountyHunter_Jinada : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t gold_steal; // 0x11ec - ParticleIndex_t m_nFXIndexA; // 0x11f0 - ParticleIndex_t m_nFXIndexB; // 0x11f4 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 + int32_t bonus_damage; // 0x12b8 + int32_t gold_steal; // 0x12bc + ParticleIndex_t m_nFXIndexA; // 0x12c0 + ParticleIndex_t m_nFXIndexB; // 0x12c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 3 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_BountyHunter_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t damage_reduction_pct; // 0x11f8 - float shard_stun_duration; // 0x11fc - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200 + int32_t damage_reduction_pct; // 0x12c8 + float shard_stun_duration; // 0x12cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BountyHunter_WindWalk_Fade : public CDOTA_Buff { public: @@ -20145,144 +20475,152 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BountyHunter_WindWalk_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t attack_slow; // 0x11ec + int32_t slow; // 0x12b8 + int32_t attack_slow; // 0x12bc }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_BountyHunter_Track_Bear_Trap : public CDOTA_Modifier_Invisible { public: - bool m_bActivated; // 0x11f8 + bool m_bActivated; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BountyHunter_TrackEffect : public CDOTA_Buff { public: - int32_t bonus_move_speed_pct; // 0x11e8 + int32_t bonus_move_speed_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_BountyHunter_Lookout : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x11f8 + int32_t radius; // 0x12c8 }; // Alignment: 6 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Weaver_Swarm : public CDOTA_Buff { public: - int32_t m_iMaxDist; // 0x11e8 - int32_t m_iAttackCount; // 0x11ec - int32_t destroy_attacks; // 0x11f0 - Vector m_vDirection; // 0x11f4 - Vector m_vStartLoc; // 0x1200 - CHandle< C_BaseEntity > m_hAttachTarget; // 0x120c + int32_t m_iMaxDist; // 0x12b8 + int32_t m_iAttackCount; // 0x12bc + int32_t destroy_attacks; // 0x12c0 + Vector m_vDirection; // 0x12c4 + Vector m_vStartLoc; // 0x12d0 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12dc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Weaver_Swarm_Debuff : public CDOTA_Buff { public: - float armor_reduction; // 0x11e8 - int32_t damage; // 0x11ec - float m_flCurrentArmorReduction; // 0x11f0 + float armor_reduction; // 0x12b8 + int32_t damage; // 0x12bc + float m_flCurrentArmorReduction; // 0x12c0 }; // Alignment: 5 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Weaver_Shukuchi : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x11f8 - int32_t damage; // 0x11fc - int32_t speed; // 0x1200 - float geminate_attack_mark_duration; // 0x1204 - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x1208 + int32_t radius; // 0x12c8 + int32_t damage; // 0x12cc + int32_t speed; // 0x12d0 + float geminate_attack_mark_duration; // 0x12d4 + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x12d8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Weaver_Shukuchi_GeminateAttackMark : public CDOTA_Buff { public: // No members available }; +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Weaver_Shukuchi_GeminateAttackManager : public CDOTA_Buff +{ +public: + int32_t m_iAttacksRemaining; // 0x12b8 +}; + // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Weaver_GeminateAttack : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - int32_t m_iAttacksRemaining; // 0x11ec + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + int32_t m_iAttacksRemaining; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Weaver_GeminateAttack_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x1398 class CDOTA_Modifier_Weaver_TimeLapse : public CDOTA_Buff { public: - Vector m_PositionIndex[11]; // 0x11e8 - float m_flLife[11]; // 0x126c - float m_flMana[11]; // 0x1298 - bool m_bHasValidHistory; // 0x12c4 + Vector m_PositionIndex[11]; // 0x12b8 + float m_flLife[11]; // 0x133c + float m_flMana[11]; // 0x1368 + bool m_bHasValidHistory; // 0x1394 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Jakiro_DualBreath_Thinker : public CDOTA_Buff { public: - int32_t start_radius; // 0x11e8 - int32_t end_radius; // 0x11ec - GameTime_t m_fStartTime; // 0x11f0 - float m_fTotalTime; // 0x11f4 - Vector m_vCastPosition; // 0x11f8 + int32_t start_radius; // 0x12b8 + int32_t end_radius; // 0x12bc + GameTime_t m_fStartTime; // 0x12c0 + float m_fTotalTime; // 0x12c4 + Vector m_vCastPosition; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Jakiro_DualBreath_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x11e8 - int32_t slow_attack_speed_pct; // 0x11ec + int32_t slow_movement_speed_pct; // 0x12b8 + int32_t slow_attack_speed_pct; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Jakiro_DualBreath_Burn : public CDOTA_Buff { public: - bool m_bFirst; // 0x11e8 + bool m_bFirst; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t burn_damage; // 0x11ec + int32_t burn_damage; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Jakiro_IcePath_Stun : public CDOTA_Modifier_Stunned { public: @@ -20290,118 +20628,136 @@ public: }; // Alignment: 9 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Jakiro_IcePath_Thinker : public CDOTA_Buff { public: - float path_delay; // 0x11e8 - int32_t path_radius; // 0x11ec - int32_t m_nDamage; // 0x11f0 - float m_flRadius; // 0x11f4 - float stun_duration; // 0x11f8 + float path_delay; // 0x12b8 + int32_t path_radius; // 0x12bc + int32_t m_nDamage; // 0x12c0 + float m_flRadius; // 0x12c4 + float stun_duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< CHandle< C_BaseEntity > > m_hUnitsHit; // 0x1200 - Vector m_vPathStart; // 0x1218 - Vector m_vPathEnd; // 0x1224 - GameTime_t m_fStartTime; // 0x1230 + CUtlVector< CHandle< C_BaseEntity > > m_hUnitsHit; // 0x12d0 + Vector m_vPathStart; // 0x12e8 + Vector m_vPathEnd; // 0x12f4 + GameTime_t m_fStartTime; // 0x1300 }; // Alignment: 5 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Jakiro_LiquidIce : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 - int32_t radius; // 0x1208 - ParticleIndex_t m_nFXIndex; // 0x120c - bool m_bForceProc; // 0x1210 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + int32_t radius; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc + bool m_bForceProc; // 0x12e0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Jakiro_LiquidIce_Debuff : public CDOTA_Buff { public: - int32_t base_damage; // 0x11e8 - float pct_health_damage; // 0x11ec - int32_t movement_slow; // 0x11f0 + int32_t base_damage; // 0x12b8 + float pct_health_damage; // 0x12bc + int32_t movement_slow; // 0x12c0 }; // Alignment: 5 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Jakiro_LiquidFire : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 - int32_t radius; // 0x1208 - ParticleIndex_t m_nFXIndex; // 0x120c - bool m_bForceProc; // 0x1210 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + int32_t radius; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc + bool m_bForceProc; // 0x12e0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Jakiro_LiquidFire_Burn : public CDOTA_Buff { public: - int32_t slow_attack_speed_pct; // 0x11e8 - float damage; // 0x11ec + int32_t slow_attack_speed_pct; // 0x12b8 + float damage; // 0x12bc }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Jakiro_Macropyre_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x11e8 - float burn_interval; // 0x11f4 - int32_t path_radius; // 0x11f8 - int32_t cast_range; // 0x11fc - float linger_duration; // 0x1200 + Vector m_vPathDir; // 0x12b8 + float burn_interval; // 0x12c4 + int32_t path_radius; // 0x12c8 + int32_t cast_range; // 0x12cc + float linger_duration; // 0x12d0 }; -// Alignment: 3 -// Size: 0x11f8 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Jakiro_Macropyre_Burn : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t damage_scepter; // 0x11ec - float burn_interval; // 0x11f0 + int32_t damage; // 0x12b8 + float burn_interval; // 0x12bc +}; + +// Alignment: 4 +// Size: 0x12d0 +class CDOTA_Modifier_Jakiro_Macropyre_Ice_EdgeThinker : public CDOTA_Buff +{ +public: + Vector m_vPathDir; // 0x12b8 + int32_t ice_edge_path_radius; // 0x12c4 + int32_t cast_range; // 0x12c8 + float ice_edge_linger_duration; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 +class CDOTA_Modifier_Jakiro_Macropyre_Ice_Edge_Slow : public CDOTA_Buff +{ +public: + int32_t ice_edge_movement_slow; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 class CDOTA_Modifier_Batrider_StickyNapalm_Application : public CDOTA_Buff { public: - bool m_bShouldApply; // 0x11e8 + bool m_bShouldApply; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Batrider_StickyNapalm : public CDOTA_Modifier_Stacking_Base { public: - float movement_speed_pct; // 0x11e8 - int32_t turn_rate_pct; // 0x11ec - int32_t damage; // 0x11f0 - int32_t application_damage; // 0x11f4 - ParticleIndex_t m_nFXIndex; // 0x11f8 - ParticleIndex_t m_nFXStackIndex; // 0x11fc + float movement_speed_pct; // 0x12b8 + int32_t turn_rate_pct; // 0x12bc + int32_t damage; // 0x12c0 + int32_t application_damage; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + ParticleIndex_t m_nFXStackIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Ability_Batrider_Flamebreak_Knockback : public CDOTA_Modifier_Knockback { public: @@ -20409,51 +20765,52 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Batrider_Flamebreak_Damage : public CDOTA_Buff { public: - int32_t damage_impact; // 0x11e8 - int32_t damage_per_second; // 0x11ec - int32_t slow; // 0x11f0 + int32_t damage_impact; // 0x12b8 + int32_t damage_per_second; // 0x12bc + int32_t slow; // 0x12c0 }; -// Alignment: 12 -// Size: 0x1238 +// Alignment: 13 +// Size: 0x1310 class CDOTA_Modifier_Batrider_Firefly : public CDOTA_Buff { public: - bool m_bActive; // 0x11e8 + bool m_bActive; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t radius; // 0x11ec - int32_t m_ifirefly_Active; // 0x11f0 - int32_t tree_radius; // 0x11f4 - int32_t damage_per_second; // 0x11f8 - int32_t movement_speed; // 0x11fc - float tick_interval; // 0x1200 - ParticleIndex_t m_nFXIndex; // 0x1204 - ParticleIndex_t m_nFXIndexB; // 0x1208 - GameTime_t m_fNextDamageTick; // 0x120c - Vector m_vLastFirePoolLoc; // 0x1210 - int32_t bonus_vision; // 0x121c + int32_t radius; // 0x12bc + int32_t m_ifirefly_Active; // 0x12c0 + int32_t tree_radius; // 0x12c4 + int32_t damage_per_second; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t bonus_slow_resistance; // 0x12d0 + float tick_interval; // 0x12d4 + ParticleIndex_t m_nFXIndex; // 0x12d8 + ParticleIndex_t m_nFXIndexB; // 0x12dc + GameTime_t m_fNextDamageTick; // 0x12e0 + Vector m_vLastFirePoolLoc; // 0x12e4 + int32_t bonus_vision; // 0x12f0 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Batrider_FlamingLasso : public CDOTA_Buff { public: - float tick_rate; // 0x11e8 - int32_t drag_distance; // 0x11ec - int32_t break_distance; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - Vector vPreviousLocation; // 0x11f8 + float tick_rate; // 0x12b8 + int32_t drag_distance; // 0x12bc + int32_t break_distance; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + Vector vPreviousLocation; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Batrider_FlamingLasso_Self : public CDOTA_Buff { public: @@ -20461,91 +20818,101 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Batrider_FlamingLasso_Damage : public CDOTA_Buff { public: - int32_t max_ticks; // 0x11e8 - float damage; // 0x11ec - float duration; // 0x11f0 - float tick_rate; // 0x11f4 + int32_t max_ticks; // 0x12b8 + float damage; // 0x12bc + float duration; // 0x12c0 + float tick_rate; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Chen_Penitence : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_damage_taken; // 0x11ec + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_damage_taken; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Chen_Penitence_Attack_Speed_Buff : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f8 -class CDOTA_Modifier_Chen_Divine_Favor_Teleport : public CDOTA_Buff -{ -private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 -public: - float teleport_delay; // 0x11f0 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Chen_DivineFavor_Aura : public CDOTA_Buff -{ -public: - int32_t aura_radius; // 0x11e8 + int32_t bonus_attack_speed; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 +class CDOTA_Modifier_Chen_Penitence_Self_Attack_Range : public CDOTA_Buff +{ +public: + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + int32_t self_attack_range_bonus; // 0x12bc + bool m_bActive; // 0x12c0 +}; + +// Alignment: 1 +// Size: 0x12c8 +class CDOTA_Modifier_Chen_Divine_Favor_Teleport : public CDOTA_Buff +{ +private: + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 +public: + float teleport_delay; // 0x12c0 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Chen_DivineFavor_Aura : public CDOTA_Buff +{ +public: + int32_t aura_radius; // 0x12b8 +}; + +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Chen_DivineFavor : public CDOTA_Buff { public: - int32_t armor; // 0x11e8 - float heal_rate; // 0x11ec - int32_t creep_bonus; // 0x11f0 + int32_t armor; // 0x12b8 + float heal_rate; // 0x12bc + int32_t creep_bonus; // 0x12c0 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Chen_HolyPersuasion : public CDOTA_Buff { public: - int32_t health_min; // 0x11e8 - int32_t new_max; // 0x11ec - int32_t health_bonus; // 0x11f0 - int32_t damage_bonus; // 0x11f4 - int32_t movement_speed_bonus; // 0x11f8 + int32_t health_min; // 0x12b8 + int32_t new_max; // 0x12bc + int32_t health_bonus; // 0x12c0 + int32_t damage_bonus; // 0x12c4 + int32_t movement_speed_bonus; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Chen_TestOfFaith_Teleport : public CDOTA_Buff { public: - bool bToChen; // 0x11e8 + bool bToChen; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Chen_HandOfGod_Hot : public CDOTA_Buff { public: - int32_t heal_per_second; // 0x11e8 + int32_t heal_per_second; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Spectre_Arcana : public CDOTA_Buff { public: @@ -20553,51 +20920,51 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spectre_Desolate : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t radius; // 0x11ec + int32_t bonus_damage; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 7 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Spectre_SpectralDaggerPath : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x18]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x18]; // 0x12b8 public: - CUtlVector< CHandle< C_BaseEntity > > m_hUnitsInPath; // 0x1200 - int32_t path_radius; // 0x1218 - int32_t vision_radius; // 0x121c - int32_t dagger_radius; // 0x1220 - float buff_persistence; // 0x1224 - float dagger_grace_period; // 0x1228 - float dagger_path_duration; // 0x122c + CUtlVector< CHandle< C_BaseEntity > > m_hUnitsInPath; // 0x12d0 + int32_t path_radius; // 0x12e8 + int32_t vision_radius; // 0x12ec + int32_t dagger_radius; // 0x12f0 + float buff_persistence; // 0x12f4 + float dagger_grace_period; // 0x12f8 + float dagger_path_duration; // 0x12fc }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Spectre_SpectralDagger : public CDOTA_Buff { public: - int32_t path_radius; // 0x11e8 - float hero_path_duration; // 0x11ec - Vector m_vLastPosition; // 0x11f0 + int32_t path_radius; // 0x12b8 + float hero_path_duration; // 0x12bc + Vector m_vLastPosition; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spectre_SpectralDaggerInPath : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x11e8 - CHandle< C_BaseEntity > m_hTrackingTarget; // 0x11ec + int32_t bonus_movespeed; // 0x12b8 + CHandle< C_BaseEntity > m_hTrackingTarget; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Spectre_SpectralDaggerPathPhased : public CDOTA_Buff { public: @@ -20605,7 +20972,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Spectre_SpectralDaggerPath_ActivityModifierOnly : public CDOTA_Buff { public: @@ -20613,29 +20980,29 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spectre_Desolate_Blind : public CDOTA_Buff { public: - int32_t blind_pct; // 0x11e8 + int32_t blind_pct; // 0x12b8 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Spectre_Dispersion : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x11e8 - int32_t min_radius; // 0x11ec - int32_t max_radius; // 0x11f0 - int32_t activation_bonus_pct; // 0x11f4 - GameTime_t m_flLastDispersionPulseEffectTime; // 0x11f8 - float m_fDamageCounter; // 0x11fc - float m_fLastTime; // 0x1200 + int32_t damage_reflection_pct; // 0x12b8 + int32_t min_radius; // 0x12bc + int32_t max_radius; // 0x12c0 + int32_t activation_bonus_pct; // 0x12c4 + GameTime_t m_flLastDispersionPulseEffectTime; // 0x12c8 + float m_fDamageCounter; // 0x12cc + float m_fLastTime; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Spectre_Dispersion_Memory : public CDOTA_Buff { public: @@ -20643,7 +21010,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Spectre_Dispersion_Boost : public CDOTA_Buff { public: @@ -20651,16 +21018,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spectre_Haunt : public CDOTA_Buff { public: - GameTime_t m_fStartAttackTime; // 0x11e8 - CHandle< C_BaseEntity > hTarget; // 0x11ec + GameTime_t m_fStartAttackTime; // 0x12b8 + CHandle< C_BaseEntity > hTarget; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Spectre_Spectral_Dagger_Illusions : public CDOTA_Buff { public: @@ -20668,15 +21035,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spectre_Arcana_Kill_Effect : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x11e8 + ParticleIndex_t m_nCasterFXIndex; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DoomBringer_Devour_Hero_Debuff : public CDOTA_Buff { public: @@ -20684,24 +21051,34 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DoomBringer_Devour : public CDOTA_Buff { public: - int32_t armor; // 0x11e8 - int32_t magic_resist; // 0x11ec + int32_t armor; // 0x12b8 + int32_t magic_resist; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DoomBringer_Devour_Hero_Ability : public CDOTA_Buff { public: // No members available }; +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_DoomBringer_Devour_Intrinsic : public CDOTA_Buff +{ +public: + int32_t cast_range_bonus; // 0x12b8 + int32_t spell_amp_bonus; // 0x12bc + int32_t cooldown_bonus; // 0x12c0 +}; + // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DoomBringer_ScorchedEarth_Thinker : public CDOTA_Buff { public: @@ -20709,80 +21086,81 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DoomBringer_ScorchedEarthEffect : public CDOTA_Buff { public: - int32_t bonus_movement_speed_pct; // 0x11e8 + int32_t bonus_movement_speed_pct; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_DoomBringer_ScorchedEarthEffectAura : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x11e8 - int32_t bonus_movement_speed_pct; // 0x11ec - int32_t radius; // 0x11f0 - int32_t damage_per_hero; // 0x11f4 + int32_t damage_per_second; // 0x12b8 + int32_t bonus_movement_speed_pct; // 0x12bc + int32_t radius; // 0x12c0 + int32_t heal_pct; // 0x12c4 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_DoomBringer_InfernalBlade : public CDOTA_Buff { public: - bool m_bInfernalBladeAttack; // 0x11e8 + bool m_bInfernalBladeAttack; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - ParticleIndex_t m_nFXIndex; // 0x11ec - float burn_duration; // 0x11f0 - float ministun_duration; // 0x11f4 + ParticleIndex_t m_nFXIndex; // 0x12bc + float burn_duration; // 0x12c0 + float ministun_duration; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DoomBringer_InfernalBlade_Burn : public CDOTA_Buff { public: - int32_t burn_damage; // 0x11e8 - float burn_damage_pct; // 0x11ec + int32_t burn_damage; // 0x12b8 + float burn_damage_pct; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DoomBringer_Doom_Aura_Self : public CDOTA_Buff { public: - int32_t scepter_aura_radius; // 0x11e8 - int32_t damage; // 0x11ec + int32_t scepter_aura_radius; // 0x12b8 + int32_t damage; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DoomBringer_Doom_Aura_Enemy : public CDOTA_Buff { public: - int32_t scepter_aura_radius; // 0x11e8 - int32_t damage; // 0x11ec + int32_t scepter_aura_radius; // 0x12b8 + int32_t damage; // 0x12bc }; -// Alignment: 6 -// Size: 0x1200 +// Alignment: 7 +// Size: 0x12d0 class CDOTA_Modifier_DoomBringer_Doom : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - float duration; // 0x11ec - int32_t deniable_pct; // 0x11f0 - float flElapsedTime; // 0x11f4 - int32_t damage_amp; // 0x11f8 - bool m_bDoesBreak; // 0x11fc + int32_t damage; // 0x12b8 + float duration; // 0x12bc + int32_t deniable_pct; // 0x12c0 + float flElapsedTime; // 0x12c4 + int32_t damage_amp; // 0x12c8 + bool m_bDoesBreak; // 0x12cc + bool m_bDoesMute; // 0x12cd }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DoomBringer_Doom_Break : public CDOTA_Buff { public: @@ -20790,17 +21168,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_SpiritBreaker_GreaterBash : public CDOTA_Buff { public: - int32_t chance_pct; // 0x11e8 - float damage; // 0x11ec - float movespeed_duration; // 0x11f0 + int32_t chance_pct; // 0x12b8 + float damage; // 0x12bc + float movespeed_duration; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_SpiritBreaker_GreaterBash_Break : public CDOTA_Buff { public: @@ -20808,126 +21186,128 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SpiritBreaker_GreaterBash_Speed : public CDOTA_Buff { public: - int32_t bonus_movespeed_pct; // 0x11e8 + int32_t bonus_movespeed_pct; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SpiritBreaker_ChargeOfDarkness : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - CHandle< C_BaseEntity > m_hTarget; // 0x11ec + int32_t movement_speed; // 0x12b8 + CHandle< C_BaseEntity > m_hTarget; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessTarget : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - CEntityIndex m_iChargeTargetEntityIndex; // 0x11ec + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + CEntityIndex m_iChargeTargetEntityIndex; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessVision : public CDOTA_Buff { public: - int32_t m_nFXIndex; // 0x11e8 + int32_t m_nFXIndex; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SpiritBreaker_SpecialAttack : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 }; -// Alignment: 3 -// Size: 0x11f8 +// Alignment: 4 +// Size: 0x12c8 class CDOTA_Modifier_SpiritBreaker_Bulldoze : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - int32_t status_resistance; // 0x11ec - float damage_barrier; // 0x11f0 + int32_t movement_speed; // 0x12b8 + int32_t status_resistance; // 0x12bc + float damage_barrier; // 0x12c0 + float m_flCurrentBarrier; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SpiritBreaker_EmpoweringHasteAura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_SpiritBreaker_EmpoweringHaste : public CDOTA_Buff { public: - int32_t bonus_movespeed_pct_self; // 0x11e8 - int32_t bonus_movespeed_pct_allies; // 0x11ec - int32_t bonus_movespeed_pct_extra; // 0x11f0 - int32_t duration; // 0x11f4 + int32_t bonus_movespeed_pct_self; // 0x12b8 + int32_t bonus_movespeed_pct_allies; // 0x12bc + int32_t bonus_movespeed_pct_extra; // 0x12c0 + int32_t duration; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SpiritBreaker_NetherStrike_Vision : public CDOTA_Buff { public: - int32_t invis_threshold_pct; // 0x11e8 + int32_t invis_threshold_pct; // 0x12b8 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_SpiritBreaker_NetherStrike : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - bool m_bStrikeLanded; // 0x11ec + int32_t damage; // 0x12b8 + bool m_bStrikeLanded; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - Vector m_vCastLocation; // 0x11f0 - CHandle< C_BaseEntity > m_hTarget; // 0x11fc + Vector m_vCastLocation; // 0x12c0 + CHandle< C_BaseEntity > m_hTarget; // 0x12cc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SpiritBreaker_PlanarPocketAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t magic_resistance; // 0x11ec + int32_t radius; // 0x12b8 + int32_t magic_resistance; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_SpiritBreaker_PlanarPocket : public CDOTA_Buff { public: // No members available }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Gyrocopter_Rocket_Barrage : public CDOTA_Buff { public: - int32_t rocket_damage; // 0x11e8 - int32_t bonus_movement_speed; // 0x11ec + int32_t rocket_damage; // 0x12b8 + int32_t bonus_movement_speed; // 0x12bc + int32_t slow_resistance; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Gyrocopter_HomingMissile_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -20935,144 +21315,145 @@ public: }; // Alignment: 17 -// Size: 0x1268 +// Size: 0x1338 class CDOTA_Modifier_Gyrocopter_Homing_Missile : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - ParticleIndex_t m_nFXIndex2; // 0x11ec - int32_t hero_damage; // 0x11f0 - int32_t acceleration; // 0x11f4 - int32_t min_damage; // 0x11f8 - int32_t max_distance; // 0x11fc - int32_t shard_radius; // 0x1200 - float shard_delay; // 0x1204 - float pre_flight_time; // 0x1208 - float stun_duration; // 0x120c - int32_t m_nMissileDamage; // 0x1210 - int32_t m_nTeamNumber; // 0x1214 + ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex2; // 0x12bc + int32_t hero_damage; // 0x12c0 + int32_t acceleration; // 0x12c4 + int32_t min_damage; // 0x12c8 + int32_t max_distance; // 0x12cc + int32_t shard_radius; // 0x12d0 + float shard_delay; // 0x12d4 + float pre_flight_time; // 0x12d8 + float stun_duration; // 0x12dc + int32_t m_nMissileDamage; // 0x12e0 + int32_t m_nTeamNumber; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad1218[0x8]; // 0x1218 + [[maybe_unused]] uint8_t __pad12e8[0x8]; // 0x12e8 public: - float speed; // 0x1220 - CHandle< C_BaseEntity > m_hAttachTarget; // 0x1224 - Vector m_vStartPosition; // 0x1228 + float speed; // 0x12f0 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12f4 + Vector m_vStartPosition; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad1234[0x4]; // 0x1234 + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 public: - CountdownTimer m_EnemyVision; // 0x1238 - CountdownTimer m_MoveTime; // 0x1250 + CountdownTimer m_EnemyVision; // 0x1308 + CountdownTimer m_MoveTime; // 0x1320 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Gyrocopter_Homing_Rocket_Barrage : public CDOTA_Buff { public: - int32_t rocket_damage; // 0x11e8 - int32_t shard_radius; // 0x11ec - CHandle< C_BaseEntity > m_hTarget; // 0x11f0 -}; - -// Alignment: 5 -// Size: 0x1200 -class CDOTA_Modifier_Gyrocopter_Flak_Cannon : public CDOTA_Buff -{ -public: - int32_t max_attacks; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t m_iNumAttacks; // 0x11f0 - int32_t projectile_speed; // 0x11f4 - int32_t radius; // 0x11f8 -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Gyrocopter_Flak_Cannon_Scepter : public CDOTA_Buff -{ -public: - float fire_rate; // 0x11e8 - int32_t scepter_radius; // 0x11ec -}; - -// Alignment: 11 -// Size: 0x1210 -class CDOTA_Modifier_Gyrocopter_Call_Down : public CDOTA_Buff -{ -public: - int32_t slow_duration_first; // 0x11e8 - int32_t slow_duration_second; // 0x11ec - int32_t damage_first; // 0x11f0 - int32_t damage_second; // 0x11f4 - int32_t damage_second_scepter; // 0x11f8 - int32_t radius; // 0x11fc - float slow_first; // 0x1200 - float slow_second; // 0x1204 - bool m_bFirstStrike; // 0x1208 - bool m_bDelayed; // 0x1209 - bool m_bHalfDamage; // 0x120a -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Gyrocopter_Call_Down_Slow : public CDOTA_Buff -{ -public: - int32_t movespeed; // 0x11e8 -}; - -// Alignment: 4 -// Size: 0x11f8 -class CDOTA_Modifier_Alchemist_AcidSpray_Thinker : public CDOTA_Buff -{ -public: - int32_t damage; // 0x11e8 - int32_t armor_allies; // 0x11ec - int32_t radius; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Alchemist_AcidSpray : public CDOTA_Buff -{ -public: - int32_t armor_reduction; // 0x11e8 -}; - -// Alignment: 8 -// Size: 0x1208 -class CDOTA_Modifier_Alchemist_UnstableConcoction : public CDOTA_Buff -{ -public: - float brew_time; // 0x11e8 - float brew_explosion; // 0x11ec - GameTime_t m_fStartTime; // 0x11f0 - GameTime_t m_fLastAlertTime; // 0x11f4 - ParticleIndex_t m_nConcoctionFXIndex; // 0x11f8 - bool m_bHasStunned; // 0x11fc -private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd -public: - int32_t damage_resistance; // 0x1200 - int32_t move_speed; // 0x1204 + int32_t rocket_damage; // 0x12b8 + int32_t shard_radius; // 0x12bc + CHandle< C_BaseEntity > m_hTarget; // 0x12c0 }; // Alignment: 6 -// Size: 0x1218 +// Size: 0x12d0 +class CDOTA_Modifier_Gyrocopter_Flak_Cannon : public CDOTA_Buff +{ +public: + int32_t max_attacks; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t m_iNumAttacks; // 0x12c0 + int32_t projectile_speed; // 0x12c4 + int32_t bonus_night_vision; // 0x12c8 + int32_t radius; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Gyrocopter_Flak_Cannon_Scepter : public CDOTA_Buff +{ +public: + float fire_rate; // 0x12b8 + int32_t scepter_radius; // 0x12bc +}; + +// Alignment: 11 +// Size: 0x12e0 +class CDOTA_Modifier_Gyrocopter_Call_Down : public CDOTA_Buff +{ +public: + int32_t slow_duration_first; // 0x12b8 + int32_t slow_duration_second; // 0x12bc + int32_t damage_first; // 0x12c0 + int32_t damage_second; // 0x12c4 + int32_t damage_second_scepter; // 0x12c8 + int32_t radius; // 0x12cc + float slow_first; // 0x12d0 + float slow_second; // 0x12d4 + bool m_bFirstStrike; // 0x12d8 + bool m_bDelayed; // 0x12d9 + bool m_bHalfDamage; // 0x12da +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Gyrocopter_Call_Down_Slow : public CDOTA_Buff +{ +public: + int32_t movespeed; // 0x12b8 +}; + +// Alignment: 4 +// Size: 0x12c8 +class CDOTA_Modifier_Alchemist_AcidSpray_Thinker : public CDOTA_Buff +{ +public: + int32_t damage; // 0x12b8 + int32_t armor_allies; // 0x12bc + int32_t radius; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Alchemist_AcidSpray : public CDOTA_Buff +{ +public: + int32_t armor_reduction; // 0x12b8 +}; + +// Alignment: 8 +// Size: 0x12d8 +class CDOTA_Modifier_Alchemist_UnstableConcoction : public CDOTA_Buff +{ +public: + float brew_time; // 0x12b8 + float brew_explosion; // 0x12bc + GameTime_t m_fStartTime; // 0x12c0 + GameTime_t m_fLastAlertTime; // 0x12c4 + ParticleIndex_t m_nConcoctionFXIndex; // 0x12c8 + bool m_bHasStunned; // 0x12cc +private: + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd +public: + int32_t damage_resistance; // 0x12d0 + int32_t move_speed; // 0x12d4 +}; + +// Alignment: 6 +// Size: 0x12e8 class CDOTA_Modifier_Alchemist_GoblinsGreed : public CDOTA_Buff { public: - CUtlVector< GameTime_t > m_DeathList; // 0x11e8 - float damage; // 0x1200 - float duration; // 0x1204 - int32_t bonus_gold; // 0x1208 - int32_t bonus_bonus_gold; // 0x120c - int32_t bonus_gold_cap; // 0x1210 + CUtlVector< GameTime_t > m_DeathList; // 0x12b8 + float damage; // 0x12d0 + float duration; // 0x12d4 + int32_t bonus_gold; // 0x12d8 + int32_t bonus_bonus_gold; // 0x12dc + int32_t bonus_gold_cap; // 0x12e0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Alchemist_ChemicalRageTransform : public CDOTA_Buff { public: @@ -21080,323 +21461,361 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Alchemist_ChemicalRage : public CDOTA_Buff { public: - float base_attack_time; // 0x11e8 - int32_t bonus_health; // 0x11ec - int32_t bonus_health_regen; // 0x11f0 - float bonus_mana_regen; // 0x11f4 - int32_t bonus_movespeed; // 0x11f8 - ParticleIndex_t m_nFXAlchemistCRIndex; // 0x11fc + float base_attack_time; // 0x12b8 + int32_t bonus_health; // 0x12bc + int32_t bonus_health_regen; // 0x12c0 + float bonus_mana_regen; // 0x12c4 + int32_t bonus_movespeed; // 0x12c8 + ParticleIndex_t m_nFXAlchemistCRIndex; // 0x12cc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Alchemist_Scepter_Bonus_Damage : public CDOTA_Buff { public: - int32_t scepter_bonus_damage; // 0x11e8 - int32_t scepter_spell_amp; // 0x11ec + int32_t scepter_bonus_damage; // 0x12b8 + int32_t scepter_spell_amp; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Alchemist_Berserk_Potion : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 - int32_t hp_regen; // 0x11ec - int32_t move_speed; // 0x11f0 + int32_t attack_speed; // 0x12b8 + int32_t hp_regen; // 0x12bc + int32_t move_speed; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Alchemist_Self_Corrosive_Weaponry : public CDOTA_Buff { public: // No members available }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Alchemist_Corrosive_Weaponry_Debuff : public CDOTA_Buff { public: - int32_t slow_per_stack; // 0x11e8 - float status_resist_per_stack; // 0x11ec + int32_t slow_per_stack; // 0x12b8 + float status_resist_per_stack; // 0x12bc + float chemical_rage_bonus; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Invoker_Instance : public CDOTA_Buff { public: // No members available }; -// Alignment: 4 -// Size: 0x11f8 +// Alignment: 9 +// Size: 0x12e0 class CDOTA_Modifier_Invoker_ColdSnap : public CDOTA_Buff { public: - float freeze_damage; // 0x11e8 - float freeze_duration; // 0x11ec - float freeze_cooldown; // 0x11f0 - float damage_trigger; // 0x11f4 + float freeze_damage; // 0x12b8 + float freeze_duration; // 0x12bc + float freeze_cooldown; // 0x12c0 + float damage_trigger; // 0x12c4 + float spell_lifesteal; // 0x12c8 + float spell_amp; // 0x12cc + float freeze_heal; // 0x12d0 + int32_t nQuasApplications; // 0x12d4 + int32_t nExortApplications; // 0x12d8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Invoker_ColdSnap_Freeze : public CDOTA_Modifier_Stunned { public: // No members available }; -// Alignment: 3 -// Size: 0x1208 +// Alignment: 7 +// Size: 0x12e8 class CDOTA_Modifier_Invoker_GhostWalk_Self : public CDOTA_Modifier_Invisible { public: - int32_t self_slow; // 0x11f8 - int32_t area_of_effect; // 0x11fc - float aura_fade_time; // 0x1200 + int32_t self_slow; // 0x12c8 + int32_t area_of_effect; // 0x12cc + float aura_fade_time; // 0x12d0 + float health_regen; // 0x12d4 + float mana_regen; // 0x12d8 + float disable_time; // 0x12dc + GameTime_t m_timeLastDamage; // 0x12e0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Invoker_GhostWalk_Enemy : public CDOTA_Buff { public: - int32_t enemy_slow; // 0x11e8 + int32_t enemy_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Invoker_Tornado : public CDOTA_Modifier_Cyclone { public: // No members available }; -// Alignment: 4 -// Size: 0x11f8 +// Alignment: 6 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_EMP : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x11e8 - int32_t mana_burned; // 0x11ec - float damage_per_mana; // 0x11f0 - CHandle< C_BaseEntity > m_hPullThinker; // 0x11f4 + int32_t area_of_effect; // 0x12b8 + int32_t mana_burned; // 0x12bc + float damage_per_mana; // 0x12c0 + float spell_lifesteal; // 0x12c4 + float spell_amp; // 0x12c8 + CHandle< C_BaseEntity > m_hPullThinker; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Invoker_EMP_Pull_Thinker : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x11e8 + int32_t area_of_effect; // 0x12b8 }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Invoker_EMP_Pull : public CDOTA_Buff { public: - int32_t shard_drag_speed; // 0x11e8 - float aura_origin_x; // 0x11ec - float aura_origin_y; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - Vector m_vCenter; // 0x11f8 - GameTime_t m_flLastThinkTime; // 0x1204 + int32_t shard_drag_speed; // 0x12b8 + float aura_origin_x; // 0x12bc + float aura_origin_y; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + Vector m_vCenter; // 0x12c8 + GameTime_t m_flLastThinkTime; // 0x12d4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Invoker_Alacrity : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_damage; // 0x11ec + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_damage; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Invoker_ChaosMeteor_Land : public CDOTA_Buff { public: // No members available }; -// Alignment: 0 -// Size: 0x11e8 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Invoker_ChaosMeteor_Burn : public CDOTA_Buff { public: - // No members available -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Invoker_SunStrike_Cataclysm_Thinker : public CDOTA_Buff -{ -public: - float damage; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Invoker_SunStrike : public CDOTA_Buff -{ -public: - int32_t area_of_effect; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Invoker_SunStrike_Cataclysm : public CDOTA_Buff -{ -public: - int32_t area_of_effect; // 0x11e8 -}; - -// Alignment: 5 -// Size: 0x1200 -class CDOTA_Modifier_ForgedSpirit_Stats : public CDOTA_Buff -{ -public: - int32_t level; // 0x11e8 - int32_t armor; // 0x11ec - int32_t mana; // 0x11f0 - float attack_range; // 0x11f4 - float armor_per_attack; // 0x11f8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_ForgedSpirit_MeltingStrike : public CDOTA_Buff -{ -public: - float duration; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_MeltingStrike_Debuff : public CDOTA_Buff -{ -public: - float armor_removed; // 0x11e8 -}; - -// Alignment: 5 -// Size: 0x1208 -class CDOTA_Modifier_Invoker_IceWall_Thinker : public CDOTA_Buff -{ -public: - float damage_per_second; // 0x11e8 - int32_t num_wall_elements; // 0x11ec - int32_t wall_element_spacing; // 0x11f0 - int32_t wall_element_radius; // 0x11f4 - Vector m_vWallDir; // 0x11f8 + float spell_amp; // 0x12b8 + float spell_lifesteal; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 +class CDOTA_Modifier_Invoker_SunStrike_Cataclysm_Thinker : public CDOTA_Buff +{ +public: + float damage; // 0x12b8 + float spell_lifesteal; // 0x12bc + float spell_amp; // 0x12c0 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Invoker_SunStrike : public CDOTA_Buff +{ +public: + int32_t area_of_effect; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Invoker_SunStrike_Cataclysm : public CDOTA_Buff +{ +public: + int32_t area_of_effect; // 0x12b8 +}; + +// Alignment: 5 +// Size: 0x12d0 +class CDOTA_Modifier_ForgedSpirit_Stats : public CDOTA_Buff +{ +public: + int32_t level; // 0x12b8 + int32_t armor; // 0x12bc + int32_t mana; // 0x12c0 + float attack_range; // 0x12c4 + float armor_per_attack; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_ForgedSpirit_MeltingStrike : public CDOTA_Buff +{ +public: + float duration; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_MeltingStrike_Debuff : public CDOTA_Buff +{ +public: + float armor_removed; // 0x12b8 +}; + +// Alignment: 7 +// Size: 0x12e0 +class CDOTA_Modifier_Invoker_IceWall_Thinker : public CDOTA_Buff +{ +public: + float damage_per_second; // 0x12b8 + int32_t num_wall_elements; // 0x12bc + int32_t wall_element_spacing; // 0x12c0 + int32_t wall_element_radius; // 0x12c4 + float spell_amp; // 0x12c8 + float spell_lifesteal; // 0x12cc + Vector m_vWallDir; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Invoker_IceWall_SlowAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t slow; // 0x11ec - float slow_duration; // 0x11f0 + int32_t radius; // 0x12b8 + int32_t slow; // 0x12bc + float slow_duration; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Invoker_IceWall_SlowDebuff : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Invoker_DeafeningBlast_Knockback : public CDOTA_Buff { public: - float disarm_duration; // 0x11e8 + float disarm_duration; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Invoker_DeafeningBlast_Disarm : public CDOTA_Modifier_Disarmed { public: // No members available }; -// Alignment: 0 -// Size: 0x11e8 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Invoker_QuasInstance : public CDOTA_Modifier_Invoker_Instance { public: - // No members available + float spell_lifesteal; // 0x12b8 + int32_t health_regen_per_instance; // 0x12bc }; -// Alignment: 0 -// Size: 0x11e8 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Invoker_WexInstance : public CDOTA_Modifier_Invoker_Instance { public: - // No members available + float move_speed_per_instance; // 0x12b8 + float cooldown_reduction; // 0x12bc }; -// Alignment: 0 -// Size: 0x11e8 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Invoker_ExortInstance : public CDOTA_Modifier_Invoker_Instance { public: - // No members available + int32_t bonus_damage_per_instance; // 0x12b8 + float spell_amp; // 0x12bc +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Invoker_Wex_Cooldown_Reduction : public CDOTA_Buff +{ +public: + int32_t cooldown_reduction; // 0x12b8 + int32_t m_nTotalCDR; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Invoker_AttackVisuals : public CDOTA_Buff { public: // No members available }; +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Invoke_Bonuses : public CDOTA_Buff +{ +public: + float spell_amp; // 0x12b8 + float spell_lifesteal; // 0x12bc +}; + // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Silencer_CurseOfTheSilent : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - ParticleIndex_t nFxIndex; // 0x11ec - int32_t penalty_duration; // 0x11f0 - float penalty_multiplier; // 0x11f4 - int32_t movespeed; // 0x11f8 - int32_t undispellable; // 0x11fc + int32_t damage; // 0x12b8 + ParticleIndex_t nFxIndex; // 0x12bc + int32_t penalty_duration; // 0x12c0 + float penalty_multiplier; // 0x12c4 + int32_t movespeed; // 0x12c8 + int32_t undispellable; // 0x12cc }; // Alignment: 4 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom : public CDOTA_Buff { public: - float intellect_damage_pct; // 0x11e8 + float intellect_damage_pct; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 - CUtlVector< int16 > m_InFlightSilenceAttackRecords; // 0x1208 - CDOTA_Buff* m_pAttackCounterBuff; // 0x1220 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + CUtlVector< int16 > m_InFlightSilenceAttackRecords; // 0x12d8 + CDOTA_Buff* m_pAttackCounterBuff; // 0x12f0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_AttackCounter : public CDOTA_Buff { public: @@ -21404,15 +21823,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_Debuff : public CDOTA_Buff { public: - int32_t int_steal; // 0x11e8 + int32_t int_steal; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_DebuffCounter : public CDOTA_Buff { public: @@ -21420,15 +21839,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_Buff : public CDOTA_Buff { public: - int32_t int_steal; // 0x11e8 + int32_t int_steal; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_BuffCounter : public CDOTA_Buff { public: @@ -21436,23 +21855,23 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Silencer_LastWord : public CDOTA_Buff { public: - int32_t duration; // 0x11e8 - bool spellcast; // 0x11ec + int32_t duration; // 0x12b8 + bool spellcast; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - int32_t damage; // 0x11f0 - float debuff_duration; // 0x11f4 - float int_multiplier; // 0x11f8 - int32_t scepter_bonus_damage; // 0x11fc + int32_t damage; // 0x12c0 + float debuff_duration; // 0x12c4 + float int_multiplier; // 0x12c8 + int32_t scepter_bonus_damage; // 0x12cc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Silencer_LastWord_Disarm : public CDOTA_Modifier_Silence { public: @@ -21460,7 +21879,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Silencer_GlobalSilence : public CDOTA_Buff { public: @@ -21468,47 +21887,64 @@ public: }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Obsidian_Destroyer_ArcaneOrb : public CDOTA_Buff { public: - float mana_pool_damage_pct; // 0x11e8 + float mana_pool_damage_pct; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Obsidian_Destroyer_AstralImprisonment_Prison : public CDOTA_Buff { public: - int32_t allied_movement_speed_pct; // 0x11e8 - bool m_bAllowMovement; // 0x11ec + int32_t allied_movement_speed_pct; // 0x12b8 + bool m_bAllowMovement; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Obsidian_Destroyer_EssenceAura : public CDOTA_Buff { public: - int32_t bonus_mana; // 0x11e8 - int32_t radius; // 0x11ec + int32_t bonus_mana; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Obsidian_Destroyer_EssenceAura_Effect : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t restore_chance; // 0x11ec - float restore_amount; // 0x11f0 + int32_t radius; // 0x12b8 + int32_t restore_chance; // 0x12bc + float restore_amount; // 0x12c0 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Obsidian_Destroyer_Mana_Allergy : public CDOTA_Buff +{ +public: + int32_t percentage_damage; // 0x12b8 + int32_t percentage_heal; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 +class CDOTA_Modifier_Obsidian_Destroyer_Sanity_Eclipse_Counter : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12b8 class CDOTA_Modifier_Obsidian_Destroyer_Sanity_Eclipse_Thinker : public CDOTA_Buff { public: @@ -21516,58 +21952,58 @@ public: }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium : public CDOTA_Buff { public: - int32_t proc_chance; // 0x11e8 - int32_t mana_restore; // 0x11ec - float mana_capacity_steal; // 0x11f0 - float mana_capacity_duration; // 0x11f4 - float shard_mana_duration; // 0x11f8 - float scepter_barrier_threshold; // 0x11fc - float scepter_barrier_duration; // 0x1200 - float scepter_barrier_cooldown; // 0x1204 - float scepter_max_mana_barrier_pct; // 0x1208 + int32_t proc_chance; // 0x12b8 + int32_t mana_restore; // 0x12bc + float mana_capacity_steal; // 0x12c0 + float mana_capacity_duration; // 0x12c4 + float shard_mana_duration; // 0x12c8 + float scepter_barrier_threshold; // 0x12cc + float scepter_barrier_duration; // 0x12d0 + float scepter_barrier_cooldown; // 0x12d4 + float scepter_max_mana_barrier_pct; // 0x12d8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Barrier : public CDOTA_Buff { public: - float barrier_amt; // 0x11e8 - int32_t m_nDamageAbsorbed; // 0x11ec + float barrier_amt; // 0x12b8 + int32_t m_nDamageAbsorbed; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_BonusMana : public CDOTA_Buff { public: - int32_t shard_bonus_mana; // 0x11e8 + int32_t shard_bonus_mana; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Debuff : public CDOTA_Buff { public: - int32_t mana_steal; // 0x11e8 - float m_flCurrentMana; // 0x11ec + int32_t mana_steal; // 0x12b8 + float m_flCurrentMana; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Buff : public CDOTA_Buff { public: - int32_t mana_steal; // 0x11e8 - float m_flCurrentMana; // 0x11ec + int32_t mana_steal; // 0x12b8 + float m_flCurrentMana; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Debuff_Counter : public CDOTA_Buff { public: @@ -21575,7 +22011,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Buff_Counter : public CDOTA_Buff { public: @@ -21583,96 +22019,97 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_ThunderClap : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 - int32_t attack_speed_slow; // 0x11ec + int32_t movement_slow; // 0x12b8 + int32_t attack_speed_slow; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_DrunkenHaze : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 - int32_t miss_chance; // 0x11ec -}; - -// Alignment: 0 -// Size: 0x11e8 -class CDOTA_Modifier_Brewmaster_BrewUp : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Brewmaster_CinderBrew : public CDOTA_Buff -{ -public: - int32_t movement_slow; // 0x11e8 - bool m_bIgniteActive; // 0x11ec -private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed -public: - float m_flDamagePerTick; // 0x11f0 -}; - -// Alignment: 13 -// Size: 0x1220 -class CDOTA_Modifier_Brewmaster_DrunkenBrawler_Passive : public CDOTA_Buff -{ -public: - int32_t dodge_chance; // 0x11e8 - int32_t crit_chance; // 0x11ec - int32_t crit_multiplier; // 0x11f0 - int32_t active_multiplier; // 0x11f4 - int32_t stun_chance; // 0x11f8 - float bash_cooldown; // 0x11fc - float stun_duration; // 0x1200 - float slow_duration; // 0x1204 - int32_t bonus_move_speed; // 0x1208 - int32_t bonus_status_resist; // 0x120c - int32_t armor; // 0x1210 - int32_t magic_resist; // 0x1214 - float m_flLastBash; // 0x1218 -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Brewmaster_Void_Brawler_Slow : public CDOTA_Buff -{ -public: - int32_t movespeed; // 0x11e8 - int32_t active_multiplier; // 0x11ec + int32_t movement_slow; // 0x12b8 + int32_t miss_chance; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 +class CDOTA_Modifier_Brewmaster_BrewUp : public CDOTA_Buff +{ +public: + bool m_bBuffExtended; // 0x12b8 +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Brewmaster_CinderBrew : public CDOTA_Buff +{ +public: + int32_t movement_slow; // 0x12b8 + bool m_bIgniteActive; // 0x12bc +private: + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd +public: + float m_flDamagePerTick; // 0x12c0 +}; + +// Alignment: 14 +// Size: 0x12f0 +class CDOTA_Modifier_Brewmaster_DrunkenBrawler_Passive : public CDOTA_Buff +{ +public: + int32_t dodge_chance; // 0x12b8 + int32_t crit_chance; // 0x12bc + int32_t crit_multiplier; // 0x12c0 + int32_t attack_speed; // 0x12c4 + int32_t active_multiplier; // 0x12c8 + int32_t stun_chance; // 0x12cc + float bash_cooldown; // 0x12d0 + float stun_duration; // 0x12d4 + float slow_duration; // 0x12d8 + int32_t bonus_move_speed; // 0x12dc + int32_t bonus_status_resist; // 0x12e0 + int32_t armor; // 0x12e4 + int32_t magic_resist; // 0x12e8 + float m_flLastBash; // 0x12ec +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Brewmaster_Void_Brawler_Slow : public CDOTA_Buff +{ +public: + int32_t movespeed; // 0x12b8 + int32_t active_multiplier; // 0x12bc +}; + +// Alignment: 1 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_DrunkenBrawler_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x11e8 + int32_t movespeed; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_DrunkenBrawler : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - ParticleIndex_t m_nFXIndexB; // 0x11ec - int32_t min_movement; // 0x11f0 - int32_t max_movement; // 0x11f4 - int32_t m_iMovementBonus; // 0x11f8 - GameTime_t m_flNextUpdateTime; // 0x11fc + ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndexB; // 0x12bc + int32_t min_movement; // 0x12c0 + int32_t max_movement; // 0x12c4 + int32_t m_iMovementBonus; // 0x12c8 + GameTime_t m_flNextUpdateTime; // 0x12cc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Brewmaster_PrimalSplit_Scepter : public CDOTA_Buff { public: @@ -21680,53 +22117,53 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_PrimalSplitDelay : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 + ParticleIndex_t m_nFXIndex; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_Fire_Phase : public CDOTA_Buff { public: - int32_t status_resistance; // 0x11e8 + int32_t status_resistance; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_PrimalSplitDuration : public CDOTA_Buff { public: - int32_t bonus_brewling_hp; // 0x11e8 - int32_t bonus_damage; // 0x11ec + int32_t bonus_brewling_hp; // 0x12b8 + int32_t bonus_damage; // 0x12bc }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_PrimalSplit : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x11ec - CHandle< C_BaseEntity > m_hTertiaryTarget; // 0x11f0 - CHandle< C_BaseEntity > m_hFourthTarget; // 0x11f4 - CHandle< C_BaseEntity > m_hReturnBrewling; // 0x11f8 - int32_t m_nFXIndex; // 0x11fc + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x12bc + CHandle< C_BaseEntity > m_hTertiaryTarget; // 0x12c0 + CHandle< C_BaseEntity > m_hFourthTarget; // 0x12c4 + CHandle< C_BaseEntity > m_hReturnBrewling; // 0x12c8 + int32_t m_nFXIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_Void_AstralPulse : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Brewmaster_Void_Void_Strike : public CDOTA_Buff { public: @@ -21734,7 +22171,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Brewmaster_SpellImmunity : public CDOTA_Modifier_DebuffImmune { public: @@ -21742,15 +22179,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_Pulverize : public CDOTA_Buff { public: - int32_t bonus_building_damage; // 0x11e8 + int32_t bonus_building_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_Cyclone : public CDOTA_Modifier_Cyclone { public: @@ -21758,94 +22195,95 @@ public: }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t bonus_movement_speeed; // 0x11f8 - int32_t bonus_damage; // 0x11fc + int32_t bonus_movement_speeed; // 0x12c8 + int32_t bonus_damage; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_PermanentImmolation_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_PermanentImmolation : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 + int32_t damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Brewmaster_Fear : public CDOTA_Modifier_Fear { public: // No members available }; -// Alignment: 8 -// Size: 0x1208 +// Alignment: 9 +// Size: 0x12e0 class CDOTA_Modifier_Brewmaster_Primal_Companion : public CDOTA_Buff { public: - float cooldown_on_death; // 0x11e8 - float cooldown_on_take_damage; // 0x11ec - int32_t disable_distance; // 0x11f0 - int32_t movement_slow_when_out_of_range; // 0x11f4 - bool m_bCanAttack; // 0x11f8 + float cooldown_on_death; // 0x12b8 + float cooldown_on_take_damage; // 0x12bc + int32_t disable_distance; // 0x12c0 + int32_t movement_slow_when_out_of_range; // 0x12c4 + bool m_bCanAttack; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - ParticleIndex_t m_nFxIndex; // 0x11fc - int32_t cooldown_penalty_pct; // 0x1200 - int32_t bonus_brewling_hp; // 0x1204 + ParticleIndex_t m_nFxIndex; // 0x12cc + int32_t cooldown_penalty_pct; // 0x12d0 + int32_t bonus_brewling_hp; // 0x12d4 + int32_t bonus_damage; // 0x12d8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Brewmaster_Void_Astral_Pull_Movement : public CDOTA_Buff { public: - int32_t pull_distance; // 0x11e8 - int32_t damage; // 0x11ec - float pull_duration; // 0x11f0 + int32_t pull_distance; // 0x12b8 + int32_t damage; // 0x12bc + float pull_duration; // 0x12c0 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Lycan_Wolf_Bite_Lifesteal : public CDOTA_Buff { public: - int32_t lifesteal_percent; // 0x11e8 - int32_t lifesteal_range; // 0x11ec - CUtlVector< CHandle< C_BaseEntity > > m_vecTargets; // 0x11f0 + int32_t lifesteal_percent; // 0x12b8 + int32_t lifesteal_range; // 0x12bc + CUtlVector< CHandle< C_BaseEntity > > m_vecTargets; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lycan_Wolf_Bite_Attack_Range : public CDOTA_Buff { public: - int32_t attack_range; // 0x11e8 + int32_t attack_range; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lycan_Shard : public CDOTA_Buff { public: - float m_flNextSpawn; // 0x11e8 + float m_flNextSpawn; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lycan_Wolf_Uncontrollable : public CDOTA_Buff { public: @@ -21853,52 +22291,52 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lycan_SummonWolves_BonusDamage : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lycan_SummonWolves_Bash : public CDOTA_Buff { public: - int32_t bash_chance; // 0x11e8 - float bash_duration; // 0x11ec + int32_t bash_chance; // 0x12b8 + float bash_duration; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lycan_SummonWolves_Health : public CDOTA_Buff { public: - int32_t bonus_health; // 0x11e8 + int32_t bonus_health; // 0x12b8 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Lycan_SummonWolves_CriticalStrike : public CDOTA_Buff { public: - CountdownTimer m_CooldownTimer; // 0x11e8 - int32_t maim_chance; // 0x1200 - float maim_duration; // 0x1204 + CountdownTimer m_CooldownTimer; // 0x12b8 + int32_t maim_chance; // 0x12d0 + float maim_duration; // 0x12d4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Lycan_SummonWolves_Maim : public CDOTA_Buff { public: - int32_t maim_movement_speed; // 0x11e8 - int32_t maim_attack_speed; // 0x11ec - int32_t maim_damage; // 0x11f0 + int32_t maim_movement_speed; // 0x12b8 + int32_t maim_attack_speed; // 0x12bc + int32_t maim_damage; // 0x12c0 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Lycan_SummonWolves_PermanentInvisibility : public CDOTA_Modifier_PersistentInvisibility { public: @@ -21906,34 +22344,34 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Lycan_Howl : public CDOTA_Buff { public: - int32_t attack_damage_reduction; // 0x11e8 - int32_t total_attack_damage_reduction; // 0x11ec - int32_t armor; // 0x11f0 + int32_t attack_damage_reduction; // 0x12b8 + int32_t total_attack_damage_reduction; // 0x12bc + int32_t armor; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lycan_FeralImpulse_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lycan_FeralImpulse : public CDOTA_Buff { public: - int32_t bonus_hp_regen; // 0x11e8 - int32_t bonus_damage; // 0x11ec + int32_t bonus_hp_regen; // 0x12b8 + int32_t bonus_damage; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lycan_Shapeshift_Transform : public CDOTA_Buff { public: @@ -21941,7 +22379,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lycan_Shapeshift_Thinker : public CDOTA_Buff { public: @@ -21949,28 +22387,28 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Lycan_Shapeshift : public CDOTA_Buff { public: - int32_t bonus_night_vision; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec - int32_t m_iOriginalAttackCapability; // 0x11f0 + int32_t bonus_night_vision; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t m_iOriginalAttackCapability; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Lycan_Shapeshift_Speed : public CDOTA_Buff { public: - int32_t speed; // 0x11e8 - int32_t crit_chance; // 0x11ec - int32_t crit_multiplier; // 0x11f0 - int32_t health_bonus; // 0x11f4 + int32_t speed; // 0x12b8 + int32_t crit_chance; // 0x12bc + int32_t crit_multiplier; // 0x12c0 + int32_t health_bonus; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lycan_Fear : public CDOTA_Modifier_Fear { public: @@ -21978,7 +22416,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Shadow_Demon_Disruption_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -21986,53 +22424,53 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Shadow_Demon_Disruption : public CDOTA_Buff { public: - float m_flHealth; // 0x11e8 - float m_flDisseminate_Duration; // 0x11ec - CHandle< C_BaseEntity > m_hDisseminateAbility; // 0x11f0 + float m_flHealth; // 0x12b8 + float m_flDisseminate_Duration; // 0x12bc + CHandle< C_BaseEntity > m_hDisseminateAbility; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher : public CDOTA_Buff { public: - int32_t actual_health_lost; // 0x11e8 + int32_t actual_health_lost; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher_SpellAmp : public CDOTA_Buff { public: - int32_t num_heroes; // 0x11e8 - int32_t bonus_spell_amp; // 0x11ec + int32_t num_heroes; // 0x12b8 + int32_t bonus_spell_amp; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher_Illusion : public CDOTA_Buff { public: - CHandle< C_BaseEntity > hTarget; // 0x11e8 + CHandle< C_BaseEntity > hTarget; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Shadow_Demon_Shadow_Poison : public CDOTA_Buff { public: - float stack_damage; // 0x11e8 - float bonus_stack_damage; // 0x11ec - int32_t max_multiply_stacks; // 0x11f0 - ParticleIndex_t m_nFXStackIndex; // 0x11f4 + float stack_damage; // 0x12b8 + float bonus_stack_damage; // 0x12bc + int32_t max_multiply_stacks; // 0x12c0 + ParticleIndex_t m_nFXStackIndex; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Shadow_Demon_DemonicPurge_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -22040,7 +22478,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Shadow_Demon_Purge_Slow : public CDOTA_Buff { public: @@ -22048,47 +22486,45 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Shadow_Demon_Disseminate : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x11e8 - int32_t radius; // 0x11ec - GameTime_t m_flLastDispersionPulseEffectTime; // 0x11f0 + int32_t damage_reflection_pct; // 0x12b8 + int32_t radius; // 0x12bc + GameTime_t m_flLastDispersionPulseEffectTime; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_LoneDruid_SpiritBear_AttackCheck : public CDOTA_Buff { public: - bool m_bCanBeResummoned; // 0x11e8 - bool m_bCanAttack; // 0x11e9 + bool m_bCanBeResummoned; // 0x12b8 + bool m_bCanAttack; // 0x12b9 private: - [[maybe_unused]] uint8_t __pad11ea[0x2]; // 0x11ea + [[maybe_unused]] uint8_t __pad12ba[0x2]; // 0x12ba public: - ParticleIndex_t m_nFxIndex; // 0x11ec - ParticleIndex_t m_nStatusFxIndex; // 0x11f0 + ParticleIndex_t m_nFxIndex; // 0x12bc + ParticleIndex_t m_nStatusFxIndex; // 0x12c0 }; -// Alignment: 0 -// Size: 0x11e8 -class CDOTA_Modifier_LoneDruid_SpiritBear_Talent_Logic : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x11e8 +// Alignment: 7 +// Size: 0x12d8 class CDOTA_Modifier_Spirit_Bear_Attack_Damage : public CDOTA_Buff { public: - // No members available + float bear_bat; // 0x12b8 + int32_t bear_magic_resistance; // 0x12bc + int32_t bonus_bear_hp; // 0x12c0 + int32_t bear_movespeed; // 0x12c4 + int32_t bonus_bear_armor; // 0x12c8 + int32_t hp_gain_per_druid_level; // 0x12cc + int32_t damage_gain_per_druid_level; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_LoneDruid_SpiritBear_Defender_Aura : public CDOTA_Buff { public: @@ -22096,74 +22532,83 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_LoneDruid_SpiritBear_Defender : public CDOTA_Buff { public: - int32_t damage_share; // 0x11e8 + int32_t damage_share; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_LoneDruid_Entangling_Claws : public CDOTA_Buff { public: - int32_t attack_amp; // 0x11e8 + int32_t attack_amp; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_LoneDruid_SpiritBear_Entangle : public CDOTA_Buff { public: - int32_t entangle_chance; // 0x11e8 - int32_t hero_entangle_chance; // 0x11ec - float hero_duration; // 0x11f0 + int32_t entangle_chance; // 0x12b8 + int32_t hero_entangle_chance; // 0x12bc + float hero_duration; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_LoneDruid_SpiritBear_Entangle_Effect : public CDOTA_Buff { public: - int32_t m_iEntangleDamage; // 0x11e8 - float interval_rate; // 0x11ec - int32_t damage; // 0x11f0 + int32_t m_iEntangleDamage; // 0x12b8 + float interval_rate; // 0x12bc + int32_t damage; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_LoneDruid_SpiritBear_Demolish : public CDOTA_Buff { public: - int32_t bonus_building_damage; // 0x11e8 - int32_t true_form_bonus_building_damage; // 0x11ec - int32_t spell_resistance; // 0x11f0 + int32_t bonus_building_damage; // 0x12b8 + int32_t true_form_bonus_building_damage; // 0x12bc + int32_t spell_resistance; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_LoneDruid_Rabid : public CDOTA_Buff { public: - int32_t shard_movement_speed_pct; // 0x11e8 - int32_t shard_attack_speed; // 0x11ec + int32_t shard_movement_speed_pct; // 0x12b8 + int32_t shard_attack_speed; // 0x12bc }; -// Alignment: 5 -// Size: 0x1200 +// Alignment: 6 +// Size: 0x12d0 class CDOTA_Modifier_LoneDruid_SpiritLink : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t lifesteal_percent; // 0x11ec - int32_t armor; // 0x11f0 - int32_t armor_sharing; // 0x11f4 - CHandle< C_BaseEntity > m_hTarget; // 0x11f8 + int32_t bonus_attack_speed; // 0x12b8 + int32_t lifesteal_percent; // 0x12bc + int32_t armor; // 0x12c0 + int32_t armor_sharing; // 0x12c4 + int32_t active_bonus; // 0x12c8 + CHandle< C_BaseEntity > m_hTarget; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_LoneDruid_SpiritLink_Active : public CDOTA_Buff +{ +public: + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_LoneDruid_TrueForm_Transform : public CDOTA_Buff { public: @@ -22171,17 +22616,25 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_LoneDruid_TrueForm : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 - int32_t bonus_hp; // 0x11ec - float base_attack_time; // 0x11f0 + int32_t bonus_armor; // 0x12b8 + int32_t bonus_hp; // 0x12bc + float base_attack_time; // 0x12c0 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_LoneDruid_SpiritLink_BearFear : public CDOTA_Modifier_Fear +{ +public: + int32_t bonus_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_LoneDruid_DruidForm_Transform : public CDOTA_Buff { public: @@ -22189,62 +22642,101 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_LoneDruid_TrueForm_BattleCry : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t bonus_damage; // 0x12b8 + int32_t bonus_armor; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_LoneDruid_SavageRoar : public CDOTA_Modifier_Fear { public: - int32_t bonus_speed; // 0x11e8 + int32_t bonus_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_LoneDruid_SpiritBear_TowerKillTracker : public CDOTA_Buff { public: // No members available }; -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_ChaosKnight_Reality_Rift_Debuff : public CDOTA_Buff +// Alignment: 4 +// Size: 0x12d0 +class CDOTA_Modifier_LoneDruid_SpiritBear_Fetch : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 + float tick_rate; // 0x12b8 + int32_t drag_distance; // 0x12bc + int32_t break_distance; // 0x12c0 + Vector vPreviousLocation; // 0x12c4 }; // Alignment: 7 -// Size: 0x1208 -class CDOTA_Modifier_ChaosKnight_Chaos_Strike : public CDOTA_Buff +// Size: 0x12e0 +class CDOTA_Modifier_LoneDruid_SpiritBear_Fetch_Self : public CDOTA_Buff { public: - float creep_multiplier; // 0x11e8 - float creep_lifesteal_reduction_pct; // 0x11ec - int32_t crit_min; // 0x11f0 - int32_t crit_max; // 0x11f4 - int32_t lifesteal; // 0x11f8 - float chance; // 0x11fc - int32_t m_nNextCrit; // 0x1200 + int32_t self_slow; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc + CHandle< C_BaseEntity > m_hTarget; // 0x12c0 + bool m_bFetchingRune; // 0x12c4 +private: + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 +public: + Vector m_vPreviousLoc; // 0x12c8 + int32_t drag_distance; // 0x12d4 + int32_t break_distance; // 0x12d8 +}; + +// Alignment: 4 +// Size: 0x12c8 +class CDOTA_Modifier_LoneDruid_SpiritBear_Fetch_Damage : public CDOTA_Buff +{ +public: + int32_t max_ticks; // 0x12b8 + float damage; // 0x12bc + float duration; // 0x12c0 + float tick_rate; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 +class CDOTA_Modifier_ChaosKnight_Reality_Rift_Debuff : public CDOTA_Buff +{ +public: + int32_t armor_reduction; // 0x12b8 +}; + +// Alignment: 7 +// Size: 0x12d8 +class CDOTA_Modifier_ChaosKnight_Chaos_Strike : public CDOTA_Buff +{ +public: + float creep_multiplier; // 0x12b8 + float creep_lifesteal_reduction_pct; // 0x12bc + int32_t crit_min; // 0x12c0 + int32_t crit_max; // 0x12c4 + int32_t lifesteal; // 0x12c8 + float chance; // 0x12cc + int32_t m_nNextCrit; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12c0 class CDOTA_Modifier_ChaosKnight_Chaos_Strike_Debuff : public CDOTA_Buff { public: - int32_t maim_slow; // 0x11e8 + int32_t maim_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_ChaosKnight_Phantasm : public CDOTA_Buff { public: @@ -22252,7 +22744,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_ChaosKnight_Phantasm_Illusion : public CDOTA_Buff { public: @@ -22260,7 +22752,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_ChaosKnight_Phantasm_Illusion_Shard : public CDOTA_Modifier_ChaosKnight_Phantasm_Illusion { public: @@ -22268,7 +22760,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Meepo_Earthbind : public CDOTA_Buff { public: @@ -22276,7 +22768,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Meepo_Earthbind_ChainDuration : public CDOTA_Buff { public: @@ -22284,7 +22776,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Meepo_Self_Geostrike : public CDOTA_Buff { public: @@ -22292,67 +22784,67 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Meepo_Geostrike_Debuff : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t damage; // 0x11ec + int32_t slow; // 0x12b8 + int32_t damage; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Meepo_Flung : public CDOTA_Buff { public: - int32_t m_nHandle; // 0x11e8 + int32_t m_nHandle; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Meepo_Fling_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Meepo_Divided_We_Stand : public CDOTA_Buff { public: - float respawn; // 0x11e8 - float magic_resist; // 0x11ec + float respawn; // 0x12b8 + float magic_resist; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Meepo_Poof_Damage_Sharing : public CDOTA_Buff { public: - int32_t damage_share_percentage; // 0x11e8 - int32_t damage_share_radius; // 0x11ec + int32_t damage_share_percentage; // 0x12b8 + int32_t damage_share_radius; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Meepo_Poof_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Meepo_Ransack : public CDOTA_Buff { public: - int32_t health_steal_heroes; // 0x11e8 - int32_t health_steal_creeps; // 0x11ec + int32_t health_steal_heroes; // 0x12b8 + int32_t health_steal_creeps; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Special_Bonus_Unique_Meepo_5 : public CDOTA_Buff { public: @@ -22360,7 +22852,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Meepo_Poof_Casting : public CDOTA_Buff { public: @@ -22368,34 +22860,34 @@ public: }; // Alignment: 8 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Meepo_MegaMeepo : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - float m_flOffset; // 0x11ec - QAngle m_vStartAngles; // 0x11f0 - Vector m_vStartLocation; // 0x11fc - float animation_rate; // 0x1208 - bool m_bInterrupted; // 0x120c - bool m_bHasBeenDestroyed; // 0x120d - bool m_bIsHighestMeepo; // 0x120e + ParticleIndex_t m_nFXIndex; // 0x12b8 + float m_flOffset; // 0x12bc + QAngle m_vStartAngles; // 0x12c0 + Vector m_vStartLocation; // 0x12cc + float animation_rate; // 0x12d8 + bool m_bInterrupted; // 0x12dc + bool m_bHasBeenDestroyed; // 0x12dd + bool m_bIsHighestMeepo; // 0x12de }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Meepo_MegaMeepo_Self : public CDOTA_Buff { public: - int32_t base_strength; // 0x11e8 - int32_t base_int; // 0x11ec - int32_t base_agi; // 0x11f0 - int32_t stats_pct; // 0x11f4 - CHandle< C_BaseEntity > m_hMegameepoFrame; // 0x11f8 + int32_t base_strength; // 0x12b8 + int32_t base_int; // 0x12bc + int32_t base_agi; // 0x12c0 + int32_t stats_pct; // 0x12c4 + CHandle< C_BaseEntity > m_hMegameepoFrame; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Meepo_MegaMeepo_Frame_Invulnerable : public CDOTA_Buff { public: @@ -22403,16 +22895,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Meepo_Petrify : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t hp_restore; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t hp_restore; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Treant_EyesInTheForest_Thinker : public CDOTA_Buff { public: @@ -22420,46 +22912,46 @@ public: }; // Alignment: 8 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Treant_NaturesGrasp_Creation_Thinker : public CDOTA_Buff { public: - float creation_interval; // 0x11e8 - float vines_duration; // 0x11ec - int32_t vine_spawn_interval; // 0x11f0 - Vector m_vInitialLoc; // 0x11f4 - Vector m_vFinalLoc; // 0x1200 - int32_t m_iVineCount; // 0x120c - int32_t m_iVinesIndex; // 0x1210 - bool m_bFoundTree; // 0x1214 + float creation_interval; // 0x12b8 + float vines_duration; // 0x12bc + int32_t vine_spawn_interval; // 0x12c0 + Vector m_vInitialLoc; // 0x12c4 + Vector m_vFinalLoc; // 0x12d0 + int32_t m_iVineCount; // 0x12dc + int32_t m_iVinesIndex; // 0x12e0 + bool m_bFoundTree; // 0x12e4 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Treant_NaturesGrasp_Latch_Thinker : public CDOTA_Buff { public: - int32_t latch_range; // 0x11e8 - int32_t latch_vision; // 0x11ec - float initial_latch_delay; // 0x11f0 + int32_t latch_range; // 0x12b8 + int32_t latch_vision; // 0x12bc + float initial_latch_delay; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x8]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x8]; // 0x12c4 public: - bool m_bBonus; // 0x11fc + bool m_bBonus; // 0x12cc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Treant_NaturesGrasp_Damage : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 - int32_t damage_per_second; // 0x11ec - float tick_interval; // 0x11f0 + int32_t movement_slow; // 0x12b8 + int32_t damage_per_second; // 0x12bc + float tick_interval; // 0x12c0 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Treant_NaturesGrasp_Damage_Bonus : public CDOTA_Modifier_Treant_NaturesGrasp_Damage { public: @@ -22467,34 +22959,34 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Treant_Lifebomb_Explode : public CDOTA_Buff { public: - GameTime_t flStartTime; // 0x11e8 + GameTime_t flStartTime; // 0x12b8 }; // Alignment: 3 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Treant_NaturesGuise : public CDOTA_Buff { public: - CountdownTimer m_RevealTimer; // 0x11e8 - CountdownTimer m_InvisAttackTimer; // 0x1200 - CountdownTimer m_CooldownTimer; // 0x1218 + CountdownTimer m_RevealTimer; // 0x12b8 + CountdownTimer m_InvisAttackTimer; // 0x12d0 + CountdownTimer m_CooldownTimer; // 0x12e8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Treant_NaturesGuise_Tree_Walking : public CDOTA_Buff { public: - int32_t movement_bonus; // 0x11e8 - int32_t regen_amp; // 0x11ec + int32_t movement_bonus; // 0x12b8 + int32_t regen_amp; // 0x12bc }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Treant_NaturesGuise_Invis : public CDOTA_Modifier_Invisible { public: @@ -22502,7 +22994,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Treant_NaturesGuise_NearTreeDisplay : public CDOTA_Buff { public: @@ -22510,54 +23002,54 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Treant_NaturesGuise_Root : public CDOTA_Buff { public: - float m_flEntangleDamage; // 0x11e8 + float m_flEntangleDamage; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Treant_LeechSeed : public CDOTA_Buff { public: - float damage_interval; // 0x11e8 - int32_t leech_damage; // 0x11ec - int32_t movement_slow; // 0x11f0 - int32_t radius; // 0x11f4 - int32_t projectile_speed; // 0x11f8 + float damage_interval; // 0x12b8 + int32_t leech_damage; // 0x12bc + int32_t movement_slow; // 0x12c0 + int32_t radius; // 0x12c4 + int32_t projectile_speed; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Treant_LeechSeed_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Treant_LivingArmor : public CDOTA_Buff { public: - int32_t heal_per_second; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t heal_per_second; // 0x12b8 + int32_t bonus_armor; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Treant_Overgrowth : public CDOTA_Buff { public: - float damage; // 0x11e8 - int32_t mute; // 0x11ec - bool bPurgable; // 0x11f0 + float damage; // 0x12b8 + int32_t mute; // 0x12bc + bool bPurgable; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Ogre_Magi_Arcana : public CDOTA_Buff { public: @@ -22565,7 +23057,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Ogre_Magi_Fireblast_Attack_Proc : public CDOTA_Buff { public: @@ -22573,37 +23065,37 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Ogre_Magi_Fireblast_Multicast : public CDOTA_Buff { public: - CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11e8 - float multicast_delay; // 0x11ec - int32_t m_nMultiCastCount; // 0x11f0 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x12b8 + float multicast_delay; // 0x12bc + int32_t m_nMultiCastCount; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Ogre_Magi_Ignite : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x11e8 - int32_t burn_damage; // 0x11ec + int32_t slow_movement_speed_pct; // 0x12b8 + int32_t burn_damage; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Ogre_Magi_Ignite_Multicast : public CDOTA_Buff { public: - CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11e8 - float multicast_delay; // 0x11ec - int32_t m_nMultiCastCount; // 0x11f0 - int32_t ignite_multicast_aoe; // 0x11f4 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x12b8 + float multicast_delay; // 0x12bc + int32_t m_nMultiCastCount; // 0x12c0 + int32_t ignite_multicast_aoe; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Ogre_Magi_Bloodlust_Autocast : public CDOTA_Buff { public: @@ -22611,18 +23103,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Ogre_Magi_Bloodlust : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_movement_speed; // 0x11ec - int32_t self_bonus; // 0x11f0 - float modelscale; // 0x11f4 + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_movement_speed; // 0x12bc + int32_t self_bonus; // 0x12c0 + float modelscale; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Ogre_Magi_Item_Multicast : public CDOTA_Buff { public: @@ -22630,58 +23122,58 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Ogre_Magi_Smash_Buff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t attacks; // 0x11ec - int32_t damage; // 0x11f0 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t attacks; // 0x12bc + int32_t damage; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Ogre_Magi_DumbLuck : public CDOTA_Buff { public: - float mana_per_str; // 0x11e8 - float mana_regen_per_str; // 0x11ec + float mana_per_str; // 0x12b8 + float mana_regen_per_str; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float health_threshold_pct; // 0x11ec - float duration; // 0x11f0 - CHandle< C_DOTABaseAbility > m_hTombstoneSourceAbility; // 0x11f4 - CHandle< C_BaseEntity > m_hChaseUnit; // 0x11f8 + int32_t radius; // 0x12b8 + float health_threshold_pct; // 0x12bc + float duration; // 0x12c0 + CHandle< C_DOTABaseAbility > m_hTombstoneSourceAbility; // 0x12c4 + CHandle< C_BaseEntity > m_hChaseUnit; // 0x12c8 }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Undying_Decay_Shard : public CDOTA_Buff { public: - float shard_buff_duration; // 0x11e8 + float shard_buff_duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< GameTime_t > m_vecStackExpirationTimes; // 0x11f0 + CUtlVector< GameTime_t > m_vecStackExpirationTimes; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Undying_Decay_Debuff : public CDOTA_Buff { public: - int32_t str_steal; // 0x11e8 + int32_t str_steal; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Undying_Decay_DebuffCounter : public CDOTA_Buff { public: @@ -22689,7 +23181,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Undying_Decay_BuffCounter : public CDOTA_Buff { public: @@ -22697,77 +23189,78 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Undying_Decay_Buff : public CDOTA_Buff { public: - int32_t str_steal; // 0x11e8 - int32_t str_scale_up; // 0x11ec + int32_t str_steal; // 0x12b8 + int32_t str_scale_up; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - float m_flDecrementTime; // 0x11ec + int32_t slow; // 0x12b8 + float m_flDecrementTime; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike_Slow_Counter : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathlust : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec + int32_t bonus_move_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Undying_Tombstone_Zombie_Modifier : public CDOTA_Buff { public: // No members available }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Undying_Tombstone_Bunker : public CDOTA_Buff { public: - float bunker_heal_pct; // 0x11e8 - float tombstone_grab_radius; // 0x11ec + float bunker_heal_pct; // 0x12b8 + float tombstone_grab_radius; // 0x12bc + float tombstone_stun_penalty; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float zombie_interval; // 0x11ec + int32_t radius; // 0x12b8 + float zombie_interval; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Undying_Tombstone_HP : public CDOTA_Buff { public: - int32_t tombstone_health; // 0x11e8 - int32_t zombie_damage_interval; // 0x11ec + int32_t tombstone_health; // 0x12b8 + int32_t zombie_damage_interval; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Undying_Tombstone_Bunker_Cooldown : public CDOTA_Buff { public: @@ -22775,7 +23268,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Undying_Tombstone_Bunker_Friendly : public CDOTA_Buff { public: @@ -22783,35 +23276,35 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Undying_FleshGolem : public CDOTA_Buff { public: - int32_t str_percentage; // 0x11e8 - int32_t movement_bonus; // 0x11ec + int32_t str_percentage; // 0x12b8 + int32_t movement_bonus; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Undying_FleshGolem_Slow : public CDOTA_Buff { public: - int32_t damage_amp; // 0x11e8 - int32_t slow; // 0x11ec + int32_t damage_amp; // 0x12b8 + int32_t slow; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Undying_FleshGolem_PlagueAura : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t damage; // 0x11ec - float tick_rate; // 0x11f0 + int32_t slow; // 0x12b8 + int32_t damage; // 0x12bc + float tick_rate; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Undying_Tombstone_Death_Trigger : public CDOTA_Buff { public: @@ -22819,41 +23312,41 @@ public: }; // Alignment: 10 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Rubick_Telekinesis : public CDOTA_Buff { public: - GameTime_t m_fStartTime; // 0x11e8 - GameTime_t m_fEndTime; // 0x11ec - float m_fTargetHeight; // 0x11f0 - float m_fCurHeight; // 0x11f4 - Vector m_vStartLoc; // 0x11f8 - Vector m_vCurLoc; // 0x1204 - int32_t max_land_distance; // 0x1210 - float fall_duration; // 0x1214 - bool m_bOverrideDuration; // 0x1218 + GameTime_t m_fStartTime; // 0x12b8 + GameTime_t m_fEndTime; // 0x12bc + float m_fTargetHeight; // 0x12c0 + float m_fCurHeight; // 0x12c4 + Vector m_vStartLoc; // 0x12c8 + Vector m_vCurLoc; // 0x12d4 + int32_t max_land_distance; // 0x12e0 + float fall_duration; // 0x12e4 + bool m_bOverrideDuration; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - float m_flOverrideDuration; // 0x121c + float m_flOverrideDuration; // 0x12ec }; // Alignment: 7 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Rubick_FadeBolt : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t damage; // 0x11ec - int32_t jump_damage_reduction_pct; // 0x11f0 - float jump_delay; // 0x11f4 - int32_t m_iCurJumpCount; // 0x11f8 - Vector m_vCurTargetLoc; // 0x11fc - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1208 + int32_t radius; // 0x12b8 + int32_t damage; // 0x12bc + int32_t jump_damage_reduction_pct; // 0x12c0 + float jump_delay; // 0x12c4 + int32_t m_iCurJumpCount; // 0x12c8 + Vector m_vCurTargetLoc; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12d8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rubick_Telekinesis_Stun : public CDOTA_Modifier_Stunned { public: @@ -22861,15 +23354,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rubick_FadeBoltDebuff : public CDOTA_Buff { public: - int32_t attack_damage_reduction; // 0x11e8 + int32_t attack_damage_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rubick_FadeBolt_BuffCounter : public CDOTA_Buff { public: @@ -22877,148 +23370,149 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rubick_FadeBoltBuff : public CDOTA_Buff { public: - int32_t attack_damage_bonus; // 0x11e8 - int32_t attack_damage_reduction; // 0x11ec -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Rubick_NullField : public CDOTA_Buff -{ -public: - int32_t radius; // 0x11e8 -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Rubick_NullField_Effect : public CDOTA_Buff -{ -public: - int32_t magic_damage_reduction_pct; // 0x11e8 - bool m_bWasHidden; // 0x11ec -}; - -// Alignment: 2 -// Size: 0x11f8 -class CDOTA_Modifier_Rubick_SpellSteal : public CDOTA_Buff -{ -public: - CUtlString m_strActivityModifier; // 0x11e8 - int32_t stolen_debuff_amp; // 0x11f0 -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Rubick_Arcane_Supremacy : public CDOTA_Buff -{ -public: - int32_t cast_range; // 0x11e8 - int32_t spell_amp; // 0x11ec -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Disruptor_Thunder_Strike : public CDOTA_Buff -{ -public: - float strike_interval; // 0x11e8 - int32_t radius; // 0x11ec - float strike_damage; // 0x11f0 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Disruptor_Thunder_Strike_Slow : public CDOTA_Buff -{ -public: - int32_t slow_amount; // 0x11e8 -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Disruptor_Thunder_Strike_Speed : public CDOTA_Buff -{ -public: - int32_t shard_movement_speed_bonus; // 0x11e8 - int32_t shard_attack_speed_bonus; // 0x11ec + int32_t attack_damage_bonus; // 0x12b8 + int32_t attack_damage_reduction; // 0x12bc }; // Alignment: 1 // Size: 0x12c0 +class CDOTA_Modifier_Rubick_NullField : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12b8 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Rubick_NullField_Effect : public CDOTA_Buff +{ +public: + int32_t magic_damage_reduction_pct; // 0x12b8 + bool m_bWasHidden; // 0x12bc +}; + +// Alignment: 2 +// Size: 0x12c8 +class CDOTA_Modifier_Rubick_SpellSteal : public CDOTA_Buff +{ +public: + CUtlString m_strActivityModifier; // 0x12b8 + int32_t stolen_debuff_amp; // 0x12c0 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Rubick_Arcane_Supremacy : public CDOTA_Buff +{ +public: + int32_t cast_range; // 0x12b8 + int32_t spell_amp; // 0x12bc +}; + +// Alignment: 4 +// Size: 0x12c8 +class CDOTA_Modifier_Disruptor_Thunder_Strike : public CDOTA_Buff +{ +public: + float strike_interval; // 0x12b8 + int32_t radius; // 0x12bc + int32_t strike_damage; // 0x12c0 + int32_t strike_damage_bonus; // 0x12c4 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Disruptor_Thunder_Strike_Slow : public CDOTA_Buff +{ +public: + int32_t slow_amount; // 0x12b8 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Disruptor_Thunder_Strike_Speed : public CDOTA_Buff +{ +public: + int32_t shard_movement_speed_bonus; // 0x12b8 + int32_t shard_attack_speed_bonus; // 0x12bc +}; + +// Alignment: 1 +// Size: 0x1390 class CDOTA_Modifier_Disruptor_Glimpse : public CDOTA_Buff { public: - Vector m_PositionIndex[18]; // 0x11e8 + Vector m_PositionIndex[18]; // 0x12b8 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Disruptor_Glimpse_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x11e8 - CHandle< C_BaseEntity > m_hEntity; // 0x11f4 - float m_flDistance; // 0x11f8 + Vector m_vStartLoc; // 0x12b8 + CHandle< C_BaseEntity > m_hEntity; // 0x12c4 + float m_flDistance; // 0x12c8 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Disruptor_KineticFieldThinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float formation_time; // 0x11ec - bool m_bActive; // 0x11f0 + int32_t radius; // 0x12b8 + float formation_time; // 0x12bc + bool m_bActive; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0xb]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0xb]; // 0x12c1 public: - int32_t m_nFXIndex; // 0x11fc + int32_t m_nFXIndex; // 0x12cc }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Disruptor_KineticField : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - Vector m_vOriginLoc; // 0x11ec - bool m_bTruesight; // 0x11f8 + int32_t radius; // 0x12b8 + Vector m_vOriginLoc; // 0x12bc + bool m_bTruesight; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - float damage_per_second; // 0x11fc + float damage_per_second; // 0x12cc }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Disruptor_StaticStormThinker : public CDOTA_Buff { public: - int32_t m_nCurrentPulse; // 0x11e8 - int32_t radius; // 0x11ec - int32_t damage_max; // 0x11f0 - int32_t pulses; // 0x11f4 - float duration; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc + int32_t m_nCurrentPulse; // 0x12b8 + int32_t radius; // 0x12bc + int32_t damage_max; // 0x12c0 + int32_t pulses; // 0x12c4 + float duration; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Disruptor_StaticStorm : public CDOTA_Buff { public: - int32_t miss_rate; // 0x11e8 - int32_t movement_speed_reduction; // 0x11ec - int32_t attack_speed_reduction; // 0x11f0 - bool m_bHasScepter; // 0x11f4 + int32_t miss_rate; // 0x12b8 + int32_t movement_speed_reduction; // 0x12bc + int32_t attack_speed_reduction; // 0x12c0 + bool m_bHasScepter; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Disruptor_StaticStormMute : public CDOTA_Buff { public: @@ -23026,58 +23520,58 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nyx_Assassin_Impale : public CDOTA_Buff { public: - int32_t impale_damage; // 0x11e8 + int32_t impale_damage; // 0x12b8 }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Nyx_Assassin_Burrow : public CDOTA_Modifier_Invisible { public: - float health_regen_rate; // 0x11f8 - float mana_regen_rate; // 0x11fc - int32_t damage_reduction; // 0x1200 - Vector m_vecInitialPos; // 0x1204 + float health_regen_rate; // 0x12c8 + float mana_regen_rate; // 0x12cc + int32_t damage_reduction; // 0x12d0 + Vector m_vecInitialPos; // 0x12d4 }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Nyx_Assassin_SpikedCarapace : public CDOTA_Buff { public: - float stun_duration; // 0x11e8 + float stun_duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< CHandle< C_BaseEntity > > m_hProcessedEnemies; // 0x11f0 + CUtlVector< CHandle< C_BaseEntity > > m_hProcessedEnemies; // 0x12c0 }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Nyx_Assassin_Vendetta : public CDOTA_Modifier_Invisible { public: - int32_t bonus_damage; // 0x11f8 - int32_t movement_speed; // 0x11fc - int32_t shard_movement_speed_bonus; // 0x1200 - int32_t mana_removal_pct; // 0x1204 - bool m_bFreePathing; // 0x1208 + int32_t bonus_damage; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t shard_movement_speed_bonus; // 0x12d0 + int32_t mana_removal_pct; // 0x12d4 + bool m_bFreePathing; // 0x12d8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nyx_Assassin_Vendetta_Armor_Reduction : public CDOTA_Buff { public: - int32_t shard_magic_resist_reduction; // 0x11e8 + int32_t shard_magic_resist_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nyx_Assassin_Vendetta_Break : public CDOTA_Buff { public: @@ -23085,7 +23579,7 @@ public: }; // Alignment: 0 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Nyx_Assassin_Jolt_Damage_Tracker : public CDOTA_Buff { public: @@ -23093,15 +23587,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nyx_Assassin_Jolt_Debuff : public CDOTA_Buff { public: - int32_t resist_debuff; // 0x11e8 + int32_t resist_debuff; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_NagaSiren_MirrorImage : public CDOTA_Buff { public: @@ -23109,7 +23603,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_NagaSiren_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -23117,7 +23611,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_NagaSiren_RipTide_Passive : public CDOTA_Buff { public: @@ -23125,7 +23619,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_NagaSiren_RipTideCounter : public CDOTA_Buff { public: @@ -23133,15 +23627,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_NagaSiren_RipTide : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 + int32_t armor_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_NagaSiren_RipTide_Slow : public CDOTA_Buff { public: @@ -23149,34 +23643,34 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_NagaSiren_Crit_Passive : public CDOTA_Buff { public: - int32_t chance; // 0x11e8 - int32_t crit; // 0x11ec + int32_t chance; // 0x12b8 + int32_t crit; // 0x12bc }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t m_nAffectedEnemies; // 0x11ec - CUtlVector< CHandle< C_BaseEntity > > m_vhAffectedHeroes; // 0x11f0 + int32_t radius; // 0x12b8 + int32_t m_nAffectedEnemies; // 0x12bc + CUtlVector< CHandle< C_BaseEntity > > m_vhAffectedHeroes; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_NagaSiren_SongOfTheSiren : public CDOTA_Buff { public: - float animation_rate; // 0x11e8 + float animation_rate; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_IgnoreMe : public CDOTA_Buff { public: @@ -23184,178 +23678,177 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_Healing_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t m_nAffectedAllies; // 0x11ec - CUtlVector< CHandle< C_BaseEntity > > m_vhAffectedHeroes; // 0x11f0 + int32_t radius; // 0x12b8 + int32_t m_nAffectedAllies; // 0x12bc + CUtlVector< CHandle< C_BaseEntity > > m_vhAffectedHeroes; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class NagaSiren_SongOfTheSiren_Healing : public CDOTA_Buff { public: - int32_t heal_pct; // 0x11e8 + int32_t heal_pct; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Naga_Siren_Reel_In : public CDOTA_Buff { public: - float pull_strength; // 0x11e8 - int32_t min_pull_distance; // 0x11ec - GameTime_t m_flLastThinkTime; // 0x11f0 + float pull_strength; // 0x12b8 + int32_t min_pull_distance; // 0x12bc + GameTime_t m_flLastThinkTime; // 0x12c0 }; // Alignment: 10 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_KeeperOfTheLight_Illuminate : public CDOTA_Buff { public: - int32_t range; // 0x11e8 - int32_t total_damage; // 0x11ec - int32_t radius; // 0x11f0 - int32_t channel_vision_radius; // 0x11f4 - float channel_vision_interval; // 0x11f8 - float channel_vision_duration; // 0x11fc - int32_t channel_vision_step; // 0x1200 - GameTime_t m_flLastChantTime; // 0x1204 - Vector m_vNextVisionLocation; // 0x1208 - Vector m_vCastDirection; // 0x1214 + int32_t range; // 0x12b8 + int32_t total_damage; // 0x12bc + int32_t radius; // 0x12c0 + int32_t channel_vision_radius; // 0x12c4 + float channel_vision_interval; // 0x12c8 + float channel_vision_duration; // 0x12cc + int32_t channel_vision_step; // 0x12d0 + GameTime_t m_flLastChantTime; // 0x12d4 + Vector m_vNextVisionLocation; // 0x12d8 + Vector m_vCastDirection; // 0x12e4 }; -// Alignment: 21 -// Size: 0x1268 +// Alignment: 20 +// Size: 0x1330 class CDOTA_Modifier_KeeperOfTheLight_SpiritForm_Illuminate : public CDOTA_Buff { public: - int32_t range; // 0x11e8 - int32_t vision_radius; // 0x11ec - int32_t radius; // 0x11f0 - int32_t total_damage; // 0x11f4 - float max_channel_time; // 0x11f8 - float speed; // 0x11fc - float vision_duration; // 0x1200 - int32_t channel_vision_radius; // 0x1204 - float channel_vision_interval; // 0x1208 - float channel_vision_duration; // 0x120c - int32_t channel_vision_step; // 0x1210 - Vector m_vCastLoc; // 0x1214 - Vector m_vTargetLoc; // 0x1220 - GameTime_t m_fStartTime; // 0x122c - float m_fPower; // 0x1230 - QAngle m_qCastAngle; // 0x1234 - int32_t m_iProjectile; // 0x1240 - ParticleIndex_t m_nFXIndex; // 0x1244 - ParticleIndex_t m_nFXIndexB; // 0x1248 - Vector m_vNextVisionLocation; // 0x124c - Vector m_vCastDirection; // 0x1258 + int32_t range; // 0x12b8 + int32_t vision_radius; // 0x12bc + int32_t radius; // 0x12c0 + int32_t total_damage; // 0x12c4 + float max_channel_time; // 0x12c8 + float speed; // 0x12cc + float vision_duration; // 0x12d0 + int32_t channel_vision_radius; // 0x12d4 + float channel_vision_interval; // 0x12d8 + float channel_vision_duration; // 0x12dc + int32_t channel_vision_step; // 0x12e0 + Vector m_vCastLoc; // 0x12e4 + Vector m_vTargetLoc; // 0x12f0 + GameTime_t m_fStartTime; // 0x12fc + QAngle m_qCastAngle; // 0x1300 + int32_t m_iProjectile; // 0x130c + ParticleIndex_t m_nFXIndex; // 0x1310 + ParticleIndex_t m_nFXIndexB; // 0x1314 + Vector m_vNextVisionLocation; // 0x1318 + Vector m_vCastDirection; // 0x1324 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_KeeperOfTheLight_ManaLeak : public CDOTA_Buff { public: - float mana_leak_pct; // 0x11e8 - Vector vLastPos; // 0x11ec - bool bResetPosition; // 0x11f8 + float mana_leak_pct; // 0x12b8 + Vector vLastPos; // 0x12bc + bool bResetPosition; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - float m_fAccumulatedManaLeak; // 0x11fc + float m_fAccumulatedManaLeak; // 0x12cc }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_KeeperOfTheLight_Radiant_Bind : public CDOTA_Buff { public: - float slow; // 0x11e8 - int32_t magic_resistance; // 0x11ec - Vector vLastPos; // 0x11f0 - bool bResetPosition; // 0x11fc + float slow; // 0x12b8 + int32_t magic_resistance; // 0x12bc + Vector vLastPos; // 0x12c0 + bool bResetPosition; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float m_fAccumulatedDistance; // 0x1200 - ParticleIndex_t m_nFXIndex; // 0x1204 - ParticleIndex_t m_nStatusFXIndex; // 0x1208 + float m_fAccumulatedDistance; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + ParticleIndex_t m_nStatusFXIndex; // 0x12d8 }; // Alignment: 12 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_KeeperOfTheLight_Will_O_Wisp_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float off_duration; // 0x11ec - float off_duration_initial; // 0x11f0 - float on_duration; // 0x11f4 - int32_t hit_count; // 0x11f8 - int32_t m_iAttackCount; // 0x11fc - GameTime_t m_flNextTimeOn; // 0x1200 - bool m_bActive; // 0x1204 + int32_t radius; // 0x12b8 + float off_duration; // 0x12bc + float off_duration_initial; // 0x12c0 + float on_duration; // 0x12c4 + int32_t hit_count; // 0x12c8 + int32_t m_iAttackCount; // 0x12cc + GameTime_t m_flNextTimeOn; // 0x12d0 + bool m_bActive; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - ParticleIndex_t m_nFXIndex; // 0x1208 - ParticleIndex_t m_nFXIndexB; // 0x120c - GameTime_t m_flNextTime; // 0x1210 - float m_flCorrectionTime; // 0x1214 + ParticleIndex_t m_nFXIndex; // 0x12d8 + ParticleIndex_t m_nFXIndexB; // 0x12dc + GameTime_t m_flNextTime; // 0x12e0 + float m_flCorrectionTime; // 0x12e4 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_KeeperOfTheLight_Will_O_Wisp : public CDOTA_Buff { public: - int32_t fixed_movement_speed; // 0x11e8 - Vector m_vSource; // 0x11ec + int32_t fixed_movement_speed; // 0x12b8 + Vector m_vSource; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_KeeperOfTheLight_SpiritForm : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndexA; // 0x11e8 - int32_t movement_speed; // 0x11ec - int32_t cast_range; // 0x11f0 - bool m_bDidSwapSpiritForm; // 0x11f4 + ParticleIndex_t m_nFXIndexA; // 0x12b8 + int32_t movement_speed; // 0x12bc + int32_t cast_range; // 0x12c0 + bool m_bDidSwapSpiritForm; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_KeeperOfTheLight_Recall : public CDOTA_Buff { public: - bool m_bWasAttacked; // 0x11e8 + bool m_bWasAttacked; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_KeeperOfTheLight_BlindingLight_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_KeeperOfTheLight_BlindingLight : public CDOTA_Buff { public: - int32_t miss_rate; // 0x11e8 + int32_t miss_rate; // 0x12b8 }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_BlindingLight_Knockback : public CDOTA_Modifier_Knockback { public: @@ -23363,51 +23856,51 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Wisp_Tentacles : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - CHandle< C_BaseEntity > hCurrentEntity; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12b8 + CHandle< C_BaseEntity > hCurrentEntity; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Wisp_Tether_Spell_Lifesteal : public CDOTA_Buff { public: - float shard_bonus_spell_lifesteal; // 0x11e8 + float shard_bonus_spell_lifesteal; // 0x12b8 }; // Alignment: 14 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Wisp_Tether : public CDOTA_Buff { public: - bool m_bInManaGained; // 0x11e8 + bool m_bInManaGained; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - CHandle< C_BaseEntity > m_hTarget; // 0x11ec - CUtlVector< CHandle< C_BaseEntity > > hStunnedEntities; // 0x11f0 - float stun_duration; // 0x1208 - int32_t movespeed; // 0x120c - int32_t self_bonus; // 0x1210 - bool m_bIsInRange; // 0x1214 + CHandle< C_BaseEntity > m_hTarget; // 0x12bc + CUtlVector< CHandle< C_BaseEntity > > hStunnedEntities; // 0x12c0 + float stun_duration; // 0x12d8 + int32_t movespeed; // 0x12dc + int32_t self_bonus; // 0x12e0 + bool m_bIsInRange; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad1215[0x3]; // 0x1215 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - int32_t radius; // 0x1218 - int32_t latch_distance; // 0x121c - float m_flHealthHealed; // 0x1220 - float m_flManaHealed; // 0x1224 - float tether_heal_amp; // 0x1228 - GameTime_t m_flHealMessageTime; // 0x122c - GameTime_t m_flManaMessageTime; // 0x1230 + int32_t radius; // 0x12e8 + int32_t latch_distance; // 0x12ec + float m_flHealthHealed; // 0x12f0 + float m_flManaHealed; // 0x12f4 + float tether_heal_amp; // 0x12f8 + GameTime_t m_flHealMessageTime; // 0x12fc + GameTime_t m_flManaMessageTime; // 0x1300 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Wisp_Tether_Stun_Tracker : public CDOTA_Buff { public: @@ -23415,24 +23908,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Wisp_Tether_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Wisp_Tether_Haste : public CDOTA_Buff { public: - float movespeed; // 0x11e8 - float shard_bonus_spell_lifesteal; // 0x11ec + float movespeed; // 0x12b8 + float shard_bonus_spell_lifesteal; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Wisp_Tether_Scepter : public CDOTA_Buff { public: @@ -23440,7 +23933,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Wisp_Spirit_Invulnerable : public CDOTA_Buff { public: @@ -23448,148 +23941,148 @@ public: }; // Alignment: 14 -// Size: 0x12b8 +// Size: 0x1388 class CDOTA_Modifier_Wisp_Spirits : public CDOTA_Buff { public: - int32_t creep_damage; // 0x11e8 - int32_t hero_damage; // 0x11ec - int32_t hit_radius; // 0x11f0 - int32_t hero_hit_radius; // 0x11f4 - int32_t explode_radius; // 0x11f8 - int32_t min_range; // 0x11fc - int32_t max_range; // 0x1200 - int32_t default_radius; // 0x1204 - int32_t spirit_amount; // 0x1208 - float m_flRotation; // 0x120c - float m_flSpiritRadius; // 0x1210 - int32_t spirit_movement_rate; // 0x1214 - GameTime_t m_flNextSpawn; // 0x1218 + int32_t creep_damage; // 0x12b8 + int32_t hero_damage; // 0x12bc + int32_t hit_radius; // 0x12c0 + int32_t hero_hit_radius; // 0x12c4 + int32_t explode_radius; // 0x12c8 + int32_t min_range; // 0x12cc + int32_t max_range; // 0x12d0 + int32_t default_radius; // 0x12d4 + int32_t spirit_amount; // 0x12d8 + float m_flRotation; // 0x12dc + float m_flSpiritRadius; // 0x12e0 + int32_t spirit_movement_rate; // 0x12e4 + GameTime_t m_flNextSpawn; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlString m_strSpiritsOutSwapAbility; // 0x1220 + CUtlString m_strSpiritsOutSwapAbility; // 0x12f0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Wisp_Spirits_Slow : public CDOTA_Buff { public: - int32_t scepter_slow_pct; // 0x11e8 + int32_t scepter_slow_pct; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Wisp_Overcharge : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_spell_amp; // 0x11ec - int32_t shard_bonus_spell_amp; // 0x11f0 - float hp_regen; // 0x11f4 + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_spell_amp; // 0x12bc + int32_t shard_bonus_slow_resistance; // 0x12c0 + float hp_regen; // 0x12c4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Wisp_Relocate_Thinker : public CDOTA_Buff { public: - float cast_delay; // 0x11e8 - ParticleIndex_t m_nFXIndexEndTeam; // 0x11ec - ParticleIndex_t m_nFXIndexChannel; // 0x11f0 + float cast_delay; // 0x12b8 + ParticleIndex_t m_nFXIndexEndTeam; // 0x12bc + ParticleIndex_t m_nFXIndexChannel; // 0x12c0 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Wisp_Relocate_Return : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - Vector m_vecReturnPosition; // 0x11ec - float return_time; // 0x11f8 - ParticleIndex_t m_nFXTimeRemaining; // 0x11fc + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + Vector m_vecReturnPosition; // 0x12bc + float return_time; // 0x12c8 + ParticleIndex_t m_nFXTimeRemaining; // 0x12cc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Visage_GraveChill_Debuff : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x11e8 - int32_t attackspeed_bonus; // 0x11ec + int32_t movespeed_bonus; // 0x12b8 + int32_t attackspeed_bonus; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Visage_GraveChill_Buff : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x11e8 - int32_t attackspeed_bonus; // 0x11ec + int32_t movespeed_bonus; // 0x12b8 + int32_t attackspeed_bonus; // 0x12bc }; // Alignment: 10 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Visage_SoulAssumption : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t stack_limit; // 0x11ec - int32_t damage_limit; // 0x11f0 - float stack_duration; // 0x11f4 - float damage_min; // 0x11f8 - float damage_max; // 0x11fc - ParticleIndex_t m_nFxIndexA; // 0x1200 - ParticleIndex_t m_nFxIndexB; // 0x1204 - int32_t iCur_stack; // 0x1208 + int32_t radius; // 0x12b8 + int32_t stack_limit; // 0x12bc + int32_t damage_limit; // 0x12c0 + float stack_duration; // 0x12c4 + float damage_min; // 0x12c8 + float damage_max; // 0x12cc + ParticleIndex_t m_nFxIndexA; // 0x12d0 + ParticleIndex_t m_nFxIndexB; // 0x12d4 + int32_t iCur_stack; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad120c[0x1c]; // 0x120c + [[maybe_unused]] uint8_t __pad12dc[0x1c]; // 0x12dc public: - float m_fTotalDamage; // 0x1228 + float m_fTotalDamage; // 0x12f8 }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Visage_GravekeepersCloak_Stack : public CDOTA_Buff { public: - bool m_bIsRecovering; // 0x11e8 + bool m_bIsRecovering; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t m_nFXIndex[4]; // 0x11ec + int32_t m_nFXIndex[4]; // 0x12bc }; // Alignment: 9 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Visage_GravekeepersCloak : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 - int32_t max_layers; // 0x11ec - float minimum_damage; // 0x11f0 - int32_t recovery_time; // 0x11f4 - int32_t radius; // 0x11f8 - int32_t max_damage_reduction; // 0x11fc - ParticleIndex_t m_nFXIndex[4]; // 0x1200 - ParticleIndex_t m_nFXIndexB; // 0x1210 + int32_t damage_reduction; // 0x12b8 + int32_t max_layers; // 0x12bc + float minimum_damage; // 0x12c0 + int32_t recovery_time; // 0x12c4 + int32_t radius; // 0x12c8 + int32_t max_damage_reduction; // 0x12cc + ParticleIndex_t m_nFXIndex[4]; // 0x12d0 + ParticleIndex_t m_nFXIndexB; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CDOTA_Modifier_Visage_GravekeepersCloak_Stack* > vStacks; // 0x1218 + CUtlVector< CDOTA_Modifier_Visage_GravekeepersCloak_Stack* > vStacks; // 0x12e8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Visage_GravekeepersCloak_Secondary : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 + int32_t damage_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Visage_SummonFamiliars_Talents : public CDOTA_Buff { public: @@ -23597,7 +24090,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Visage_Amor_Reduction : public CDOTA_Buff { public: @@ -23605,21 +24098,21 @@ public: }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Visage_SummonFamiliars_DamageCharge : public CDOTA_Buff { public: - int32_t familiar_speed; // 0x11e8 - int32_t m_nFXIndex; // 0x11ec - int32_t m_nFXIndexB; // 0x11f0 + int32_t familiar_speed; // 0x12b8 + int32_t m_nFXIndex; // 0x12bc + int32_t m_nFXIndexB; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CountdownTimer m_ctTimer; // 0x11f8 + CountdownTimer m_ctTimer; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Visage_Stone_Form_Self_Cast_Cooldown_Manager : public CDOTA_Buff { public: @@ -23627,71 +24120,71 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Thinker : public CDOTA_Buff { public: - int32_t stun_radius; // 0x11e8 - int32_t stun_damage; // 0x11ec - float stun_delay; // 0x11f0 - float stun_duration; // 0x11f4 - float stone_duration; // 0x11f8 - int32_t m_iIntervalCount; // 0x11fc + int32_t stun_radius; // 0x12b8 + int32_t stun_damage; // 0x12bc + float stun_delay; // 0x12c0 + float stun_duration; // 0x12c4 + float stone_duration; // 0x12c8 + int32_t m_iIntervalCount; // 0x12cc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Buff : public CDOTA_Buff { public: - float hp_regen; // 0x11e8 - int32_t stun_radius; // 0x11ec + float hp_regen; // 0x12b8 + int32_t stun_radius; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Visage_Scepter : public CDOTA_Buff { public: - GameTime_t m_flReadyTime; // 0x11e8 + GameTime_t m_flReadyTime; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Timer : public CDOTA_Buff { public: - float stone_duration; // 0x11e8 - GameTime_t m_fStartTime; // 0x11ec + float stone_duration; // 0x12b8 + GameTime_t m_fStartTime; // 0x12bc }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Visage_Silent_As_The_Grave : public CDOTA_Modifier_Invisible { public: - bool m_bHasMadeAttack; // 0x11f8 + bool m_bHasMadeAttack; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Visage_Silent_As_The_Grave_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slark_EssenceShift : public CDOTA_Modifier_Stacking_Base { public: - int32_t agi_gain; // 0x11e8 - float duration; // 0x11ec + int32_t agi_gain; // 0x12b8 + float duration; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Slark_DarkPact : public CDOTA_Buff { public: @@ -23699,19 +24192,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Slark_DarkPact_Pulses : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t total_damage; // 0x11ec - int32_t total_pulses; // 0x11f0 - int32_t self_damage_pct; // 0x11f4 - float pulse_interval; // 0x11f8 + int32_t radius; // 0x12b8 + int32_t total_damage; // 0x12bc + int32_t total_pulses; // 0x12c0 + int32_t self_damage_pct; // 0x12c4 + float pulse_interval; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Slark_Pounce_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -23719,32 +24212,32 @@ public: }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Slark_Pounce : public CDOTA_Buff { public: - int32_t pounce_distance; // 0x11e8 - int32_t pounce_distance_scepter; // 0x11ec - float pounce_speed; // 0x11f0 - float pounce_acceleration; // 0x11f4 - int32_t pounce_radius; // 0x11f8 - int32_t pounce_damage; // 0x11fc - float leash_duration; // 0x1200 + int32_t pounce_distance; // 0x12b8 + int32_t pounce_distance_scepter; // 0x12bc + float pounce_speed; // 0x12c0 + float pounce_acceleration; // 0x12c4 + int32_t pounce_radius; // 0x12c8 + int32_t pounce_damage; // 0x12cc + float leash_duration; // 0x12d0 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Slark_Pounce_Leash : public CDOTA_Buff { public: - int32_t leash_radius; // 0x11e8 - Vector vLeashLocation; // 0x11ec - bool m_bEscaped; // 0x11f8 - bool m_bFishBait; // 0x11f9 + int32_t leash_radius; // 0x12b8 + Vector vLeashLocation; // 0x12bc + bool m_bEscaped; // 0x12c8 + bool m_bFishBait; // 0x12c9 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Slark_EssenceShift_DebuffCounter : public CDOTA_Modifier_Stacking_Base { public: @@ -23752,15 +24245,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slark_EssenceShift_Debuff : public CDOTA_Modifier_Stacking_Multiple_Buff_Base { public: - int32_t stat_loss; // 0x11e8 + int32_t stat_loss; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Slark_EssenceShift_Buff : public CDOTA_Modifier_Stacking_Multiple_Buff_Base { public: @@ -23768,7 +24261,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Slark_EssenceShift_Permanent_Buff : public CDOTA_Buff { public: @@ -23776,7 +24269,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Slark_EssenceShift_Permanent_Debuff : public CDOTA_Buff { public: @@ -23784,181 +24277,181 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slark_ShadowDance_Aura : public CDOTA_Buff { public: - int32_t scepter_aoe; // 0x11e8 + int32_t scepter_aoe; // 0x12b8 }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Slark_ShadowDance_Passive : public CDOTA_Buff { public: - float activation_delay; // 0x11e8 - float neutral_disable; // 0x11ec - bool m_bPendingRefresh; // 0x11f0 + float activation_delay; // 0x12b8 + float neutral_disable; // 0x12bc + bool m_bPendingRefresh; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - GameTime_t m_fPendingStateChangeTime; // 0x11f4 - CountdownTimer m_NeutralHitTimer; // 0x11f8 + GameTime_t m_fPendingStateChangeTime; // 0x12c4 + CountdownTimer m_NeutralHitTimer; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slark_ShadowDance_PassiveRegen : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 - float bonus_regen; // 0x11ec + int32_t bonus_movement_speed; // 0x12b8 + float bonus_regen; // 0x12bc }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Slark_ShadowDance : public CDOTA_Modifier_Invisible { public: - CHandle< C_BaseEntity > m_hVisibleEntity; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc + CHandle< C_BaseEntity > m_hVisibleEntity; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slark_ShadowDance_Visual : public CDOTA_Buff { public: - bool m_bScepter; // 0x11e8 + bool m_bScepter; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slark_Depth_Shroud_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - CHandle< C_BaseEntity > m_hVisibleEntity; // 0x11ec + int32_t radius; // 0x12b8 + CHandle< C_BaseEntity > m_hVisibleEntity; // 0x12bc }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Slark_Depth_Shroud : public CDOTA_Modifier_Invisible { public: - ParticleIndex_t m_nFXIndex; // 0x11f8 - int32_t bonus_movement_speed; // 0x11fc - float bonus_regen; // 0x1200 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t bonus_movement_speed; // 0x12cc + float bonus_regen; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slark_Fish_Bait_Pre : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 + int32_t movement_speed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slark_Fish_Bait_Post : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 + int32_t attack_speed; // 0x12b8 }; // Alignment: 5 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Medusa_SplitShot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x11e8 - int32_t range; // 0x11ec - int32_t arrow_count; // 0x11f0 - int32_t projectile_speed; // 0x11f4 - ParticleIndex_t m_nSplitShotBowFXIndex; // 0x11f8 + int32_t damage_modifier; // 0x12b8 + int32_t range; // 0x12bc + int32_t arrow_count; // 0x12c0 + int32_t projectile_speed; // 0x12c4 + ParticleIndex_t m_nSplitShotBowFXIndex; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Medusa_Mystic_Snake_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 - int32_t turn_slow; // 0x11ec + int32_t movement_slow; // 0x12b8 + int32_t turn_slow; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Medusa_ManaShield : public CDOTA_Buff { public: - int32_t bonus_mana; // 0x11e8 - float absorption_pct; // 0x11ec - float damage_per_mana; // 0x11f0 - float illusion_damage_per_mana; // 0x11f4 + int32_t bonus_mana; // 0x12b8 + float absorption_pct; // 0x12bc + float damage_per_mana; // 0x12c0 + float illusion_damage_per_mana; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Medusa_StoneGaze_Tracker : public CDOTA_Buff { public: - int32_t m_nNumStoned; // 0x11e8 - bool m_bAnyInvisible; // 0x11ec + int32_t m_nNumStoned; // 0x12b8 + bool m_bAnyInvisible; // 0x12bc }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Medusa_StoneGaze : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float vision_cone; // 0x11ec - float duration; // 0x11f0 - int32_t speed_boost; // 0x11f4 - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11f8 + int32_t radius; // 0x12b8 + float vision_cone; // 0x12bc + float duration; // 0x12c0 + int32_t speed_boost; // 0x12c4 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Medusa_StoneGaze_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 8 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Medusa_StoneGaze_Facing : public CDOTA_Buff { public: - float face_duration; // 0x11e8 - float stone_duration; // 0x11ec - float duration; // 0x11f0 - float vision_cone; // 0x11f4 - float m_flAccumulatedTime; // 0x11f8 + float face_duration; // 0x12b8 + float stone_duration; // 0x12bc + float duration; // 0x12c0 + float vision_cone; // 0x12c4 + float m_flAccumulatedTime; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CountdownTimer ctFacing; // 0x1200 - bool m_bAlreadyStoned; // 0x1218 + CountdownTimer ctFacing; // 0x12d0 + bool m_bAlreadyStoned; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - ParticleIndex_t m_nFXIndex; // 0x121c + ParticleIndex_t m_nFXIndex; // 0x12ec }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Medusa_StoneGaze_Stone : public CDOTA_Buff { public: - int32_t bonus_physical_damage; // 0x11e8 + int32_t bonus_physical_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Medusa_Cold_Blooded : public CDOTA_Buff { public: @@ -23966,30 +24459,31 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Troll_Warlord_Rampage : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 - int32_t status_resistance; // 0x11ec + int32_t attack_speed; // 0x12b8 + int32_t status_resistance; // 0x12bc }; -// Alignment: 7 -// Size: 0x1208 +// Alignment: 8 +// Size: 0x12d8 class CDOTA_Modifier_TrollWarlord_BerserkersRage : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x11e8 - int32_t bonus_range; // 0x11ec - int32_t bonus_hp; // 0x11f0 - int32_t bonus_armor; // 0x11f4 - int32_t ensnare_chance; // 0x11f8 - float ensnare_duration; // 0x11fc - float base_attack_time; // 0x1200 + int32_t bonus_move_speed; // 0x12b8 + int32_t bonus_range; // 0x12bc + int32_t bonus_hp; // 0x12c0 + int32_t bonus_armor; // 0x12c4 + int32_t ensnare_chance; // 0x12c8 + float ensnare_duration; // 0x12cc + float base_attack_time; // 0x12d0 + int32_t m_iOriginalAttackCapabilities; // 0x12d4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TrollWarlord_BerserkersRage_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -23997,52 +24491,52 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_TrollWarlord_BerserkersRage_Maim : public CDOTA_Buff { public: - int32_t maim_slow; // 0x11e8 + int32_t maim_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_TrollWarlord_WhirlingAxes_Slow : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 + int32_t movement_speed; // 0x12b8 }; // Alignment: 16 -// Size: 0x1258 +// Size: 0x1328 class CDOTA_Modifier_TrollWarlord_Whirling_Axes_Melee : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t hit_radius; // 0x11ec - int32_t axe_movement_speed; // 0x11f0 - float whirl_duration; // 0x11f4 - float max_range; // 0x11f8 - float blind_duration; // 0x11fc - float m_flRotation; // 0x1200 - float m_flAxeRadius; // 0x1204 - GameTime_t m_flDieTime; // 0x1208 - float m_bPiercesMagicImmunity; // 0x120c - int32_t m_nSwapIndex; // 0x1210 - bool m_bReturning; // 0x1214 + int32_t damage; // 0x12b8 + int32_t hit_radius; // 0x12bc + int32_t axe_movement_speed; // 0x12c0 + float whirl_duration; // 0x12c4 + float max_range; // 0x12c8 + float blind_duration; // 0x12cc + float m_flRotation; // 0x12d0 + float m_flAxeRadius; // 0x12d4 + GameTime_t m_flDieTime; // 0x12d8 + float m_bPiercesMagicImmunity; // 0x12dc + int32_t m_nSwapIndex; // 0x12e0 + bool m_bReturning; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad1215[0x3]; // 0x1215 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - ParticleIndex_t m_nAxeFXIndex[2]; // 0x1218 - int32_t m_nHeroesHitForRelic; // 0x1220 + ParticleIndex_t m_nAxeFXIndex[2]; // 0x12e8 + int32_t m_nHeroesHitForRelic; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad1224[0x4]; // 0x1224 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CUtlVector< CHandle< C_BaseEntity > > hitEntities; // 0x1228 - CUtlVector< CHandle< C_BaseEntity > > m_hAxes; // 0x1240 + CUtlVector< CHandle< C_BaseEntity > > hitEntities; // 0x12f8 + CUtlVector< CHandle< C_BaseEntity > > m_hAxes; // 0x1310 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TrollWarlord_Axe_Invulnerable : public CDOTA_Buff { public: @@ -24050,36 +24544,38 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_TrollWarlord_WhirlingAxes_Blind : public CDOTA_Buff { public: - int32_t blind_pct; // 0x11e8 + int32_t blind_pct; // 0x12b8 }; -// Alignment: 3 -// Size: 0x11f8 +// Alignment: 5 +// Size: 0x12d0 class CDOTA_Modifier_TrollWarlord_Fervor : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 - int32_t max_stacks; // 0x11ec - CHandle< C_BaseEntity > m_hUnit; // 0x11f0 + int32_t attack_speed; // 0x12b8 + int32_t max_stacks; // 0x12bc + int32_t extra_attack_chance_per_stack; // 0x12c0 + int32_t base_chance; // 0x12c4 + CHandle< C_BaseEntity > m_hUnit; // 0x12c8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_TrollWarlord_BattleTrance : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - int32_t attack_speed; // 0x11ec - int32_t lifesteal; // 0x11f0 - CHandle< C_BaseEntity > m_hTarget; // 0x11f4 + int32_t movement_speed; // 0x12b8 + int32_t attack_speed; // 0x12bc + int32_t lifesteal; // 0x12c0 + CHandle< C_BaseEntity > m_hTarget; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TrollWarlord_BattleTrance_Aura : public CDOTA_Buff { public: @@ -24087,7 +24583,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TrollWarlord_BattleTrance_Vision : public CDOTA_Buff { public: @@ -24095,40 +24591,48 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 +class CDOTA_Modifier_Centaur_HoofStomp_Windup : public CDOTA_Buff +{ +public: + bool bInterrupted; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 class CDOTA_Modifier_Centaur_DoubleEdge_Slow : public CDOTA_Buff { public: - int32_t shard_movement_slow; // 0x11e8 + int32_t shard_movement_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Centaur_DoubleEdge_Buff : public CDOTA_Buff { public: - int32_t shard_str_pct; // 0x11e8 + int32_t shard_str_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Centaur_Return_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Centaur_Return : public CDOTA_Buff { public: - int32_t return_damage; // 0x11e8 - int32_t return_damage_str; // 0x11ec + int32_t return_damage; // 0x12b8 + int32_t return_damage_str; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Centaur_Return_Counter : public CDOTA_Buff { public: @@ -24136,54 +24640,54 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Centaur_Return_Bonus_Damage : public CDOTA_Buff { public: - float damage_gain_pct; // 0x11e8 + float damage_gain_pct; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Centaur_Stampede_Slow : public CDOTA_Buff { public: - int32_t cast_time_increase; // 0x11e8 - int32_t slow_movement_speed; // 0x11ec + int32_t cast_time_increase; // 0x12b8 + int32_t slow_movement_speed; // 0x12bc }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Centaur_Stampede : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t damage_reduction; // 0x11ec - int32_t has_flying_movement; // 0x11f0 + int32_t radius; // 0x12b8 + int32_t damage_reduction; // 0x12bc + int32_t has_flying_movement; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x11f8 + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x12c8 }; // Alignment: 6 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Centaur_Cart : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hUnit; // 0x11e8 - bool m_bWasMoving; // 0x11ec - bool m_bSpawnDone; // 0x11ed + CHandle< C_BaseEntity > m_hUnit; // 0x12b8 + bool m_bWasMoving; // 0x12bc + bool m_bSpawnDone; // 0x12bd private: - [[maybe_unused]] uint8_t __pad11ee[0x2]; // 0x11ee + [[maybe_unused]] uint8_t __pad12be[0x2]; // 0x12be public: - Vector m_vecOldForward; // 0x11f0 - int32_t break_distance; // 0x11fc - Vector m_vecPreviousLocation; // 0x1200 + Vector m_vecOldForward; // 0x12c0 + int32_t break_distance; // 0x12cc + Vector m_vecPreviousLocation; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Centaur_Hitched_Into_Cart : public CDOTA_Buff { public: @@ -24191,7 +24695,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Centaur_Mount_Toss : public CDOTA_Buff { public: @@ -24199,15 +24703,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Centaur_Mounted : public CDOTA_Buff { public: - int32_t melee_attack_range; // 0x11e8 + int32_t melee_attack_range; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Magnataur_Horn_Toss : public CDOTA_Buff { public: @@ -24215,98 +24719,98 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Magnataur_Horn_Toss_Slow : public CDOTA_Buff { public: - int32_t horn_toss_slow_pct; // 0x11e8 + int32_t horn_toss_slow_pct; // 0x12b8 }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Magnataur_Shockwave_Erupt : public CDOTA_Buff { public: - int32_t scepter_width; // 0x11e8 - float scepter_duration; // 0x11ec - bool play_particle; // 0x11f0 + int32_t scepter_width; // 0x12b8 + float scepter_duration; // 0x12bc + bool play_particle; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - Vector m_vStart; // 0x11f4 - Vector m_vEnd; // 0x1200 + Vector m_vStart; // 0x12c4 + Vector m_vEnd; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Magnataur_Shockwave : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Magnataur_Shockwave_Eruption_Slow : public CDOTA_Buff { public: - int32_t scepter_slow_pct; // 0x11e8 - int32_t scepter_armor_pct; // 0x11ec + int32_t scepter_slow_pct; // 0x12b8 + int32_t scepter_armor_pct; // 0x12bc }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Magnataur_Shockwave_Pull : public CDOTA_Buff { public: - Vector m_vDirection; // 0x11e8 - float m_flEndTime; // 0x11f4 - float m_flCurTime; // 0x11f8 - float pull_duration; // 0x11fc - float effective_distance; // 0x1200 + Vector m_vDirection; // 0x12b8 + float m_flEndTime; // 0x12c4 + float m_flCurTime; // 0x12c8 + float pull_duration; // 0x12cc + float effective_distance; // 0x12d0 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Magnataur_Empower : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x11e8 - float cleave_damage_pct; // 0x11ec - int32_t cleave_starting_width; // 0x11f0 - int32_t cleave_ending_width; // 0x11f4 - int32_t cleave_distance; // 0x11f8 - float self_multiplier; // 0x11fc - int32_t secondary_cleave_distance; // 0x1200 + int32_t bonus_damage_pct; // 0x12b8 + float cleave_damage_pct; // 0x12bc + int32_t cleave_starting_width; // 0x12c0 + int32_t cleave_ending_width; // 0x12c4 + int32_t cleave_distance; // 0x12c8 + float self_multiplier; // 0x12cc + int32_t secondary_cleave_distance; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Magnataur_Skewer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x11e8 + int32_t m_nProjectileID; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Magnataur_Skewer_Impact : public CDOTA_Buff { public: - float slow_duration; // 0x11e8 - int32_t skewer_damage; // 0x11ec + float slow_duration; // 0x12b8 + int32_t skewer_damage; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Magnataur_Skewer_Slow : public CDOTA_Buff { public: - int32_t slow_pct; // 0x11e8 + int32_t slow_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Magnataur_ReversePolarity : public CDOTA_Buff { public: @@ -24314,108 +24818,108 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Magnataur_ReversePolarity_Stats : public CDOTA_Buff { public: - int32_t stats_per_stack; // 0x11e8 + int32_t stats_per_stack; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Magnus_Strength_Of_Joelrak : public CDOTA_Buff { public: - int32_t strength_per_stack; // 0x11e8 - int32_t max_stacks; // 0x11ec - float stack_duration; // 0x11f0 + int32_t strength_per_stack; // 0x12b8 + int32_t max_stacks; // 0x12bc + float stack_duration; // 0x12c0 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Shredder_WhirlingDeath_Debuff : public CDOTA_Buff { public: - int32_t stat_loss_pct; // 0x11e8 - int32_t stat_loss_univ; // 0x11ec - int32_t iPrimaryAttribute; // 0x11f0 - float flStatLossStr; // 0x11f4 - float flStatLossAgi; // 0x11f8 - float flStatLossInt; // 0x11fc + int32_t stat_loss_pct; // 0x12b8 + int32_t stat_loss_univ; // 0x12bc + int32_t iPrimaryAttribute; // 0x12c0 + float flStatLossStr; // 0x12c4 + float flStatLossAgi; // 0x12c8 + float flStatLossInt; // 0x12cc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Shredder_TimberChain : public CDOTA_Buff { public: - int32_t speed; // 0x11e8 - int32_t radius; // 0x11ec - int32_t damage; // 0x11f0 + int32_t speed; // 0x12b8 + int32_t radius; // 0x12bc + int32_t damage; // 0x12c0 }; // Alignment: 12 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Shredder_ReactiveArmor_Bomb : public CDOTA_Buff { public: - float initial_shield; // 0x11e8 - float max_shield; // 0x11ec - float shield_per_sec; // 0x11f0 - float shield_per_sec_per_enemy; // 0x11f4 - float duration; // 0x11f8 - float base_explosion; // 0x11fc - int32_t radius; // 0x1200 - int32_t explosion_radius; // 0x1204 - int32_t m_nDamageAbsorbed; // 0x1208 - GameTime_t m_timeLastTick; // 0x120c - GameTime_t m_StartTime; // 0x1210 - int32_t m_nLastParticleTime; // 0x1214 + float initial_shield; // 0x12b8 + float max_shield; // 0x12bc + float shield_per_sec; // 0x12c0 + float shield_per_sec_per_enemy; // 0x12c4 + float duration; // 0x12c8 + float base_explosion; // 0x12cc + int32_t radius; // 0x12d0 + int32_t explosion_radius; // 0x12d4 + int32_t m_nDamageAbsorbed; // 0x12d8 + GameTime_t m_timeLastTick; // 0x12dc + GameTime_t m_StartTime; // 0x12e0 + int32_t m_nLastParticleTime; // 0x12e4 }; // Alignment: 4 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Shredder_Reactive_Armor : public CDOTA_Buff { public: - int32_t stack_limit; // 0x11e8 - float stack_duration; // 0x11ec - GameTime_t m_flStackDieTime; // 0x11f0 - ParticleIndex_t m_pFXIndex[4]; // 0x11f4 + int32_t stack_limit; // 0x12b8 + float stack_duration; // 0x12bc + GameTime_t m_flStackDieTime; // 0x12c0 + ParticleIndex_t m_pFXIndex[4]; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Shredder_Reactive_Armor_Stack : public CDOTA_Buff { public: - float bonus_armor; // 0x11e8 - float bonus_hp_regen; // 0x11ec + float bonus_armor; // 0x12b8 + float bonus_hp_regen; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Shredder_Chakram_Thinker : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x11e8 - float mana_per_second; // 0x11ec - float radius; // 0x11f0 - float break_distance; // 0x11f4 - float damage_interval; // 0x11f8 + int32_t damage_per_second; // 0x12b8 + float mana_per_second; // 0x12bc + float radius; // 0x12c0 + float break_distance; // 0x12c4 + float damage_interval; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Shredder_Chakram_Debuff : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t slow_health_percentage; // 0x11ec + int32_t slow; // 0x12b8 + int32_t slow_health_percentage; // 0x12bc }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Shredder_Chakram_Debuff_2 : public CDOTA_Modifier_Shredder_Chakram_Debuff { public: @@ -24423,7 +24927,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Shredder_Chakram_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -24431,55 +24935,55 @@ public: }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Shredder_Flamethrower_TreeFire_Thinker : public CDOTA_Buff { public: - CUtlVector< CUtlPair< CHandle< C_BaseEntity >, GameTime_t > > m_vecTreeFires; // 0x11e8 - bool m_bCleanupWhenEmpty; // 0x1200 + CUtlVector< CUtlPair< CHandle< C_BaseEntity >, GameTime_t > > m_vecTreeFires; // 0x12b8 + bool m_bCleanupWhenEmpty; // 0x12d0 }; // Alignment: 7 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Shredder_Flamethrower : public CDOTA_Buff { public: - int32_t length; // 0x11e8 - int32_t width; // 0x11ec - int32_t damage_per_second; // 0x11f0 - ParticleIndex_t m_nBeamFXIndex; // 0x11f4 - CHandle< C_BaseEntity > m_hBeamEnd; // 0x11f8 - GameTime_t m_flLastHit; // 0x11fc - CUtlVector< C_BaseEntity* > m_vecBurningTrees; // 0x1200 + int32_t length; // 0x12b8 + int32_t width; // 0x12bc + int32_t damage_per_second; // 0x12c0 + ParticleIndex_t m_nBeamFXIndex; // 0x12c4 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x12c8 + GameTime_t m_flLastHit; // 0x12cc + CUtlVector< C_BaseEntity* > m_vecBurningTrees; // 0x12d0 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Shredder_Flamethrower_Damage : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - ParticleIndex_t m_nActiveFXIndex; // 0x11ec - ParticleIndex_t m_nActiveStatusFXIndex; // 0x11f0 - float damage_per_second; // 0x11f4 - int32_t building_dmg_pct; // 0x11f8 - int32_t move_slow_pct; // 0x11fc + ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nActiveFXIndex; // 0x12bc + ParticleIndex_t m_nActiveStatusFXIndex; // 0x12c0 + float damage_per_second; // 0x12c4 + int32_t building_dmg_pct; // 0x12c8 + int32_t move_slow_pct; // 0x12cc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Bristleback_Warpath : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x11e8 - int32_t move_speed_per_stack; // 0x11ec - int32_t max_stacks; // 0x11f0 - float stack_duration; // 0x11f4 - float m_flDuration; // 0x11f8 + int32_t damage_per_stack; // 0x12b8 + int32_t move_speed_per_stack; // 0x12bc + int32_t max_stacks; // 0x12c0 + float stack_duration; // 0x12c4 + float m_flDuration; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bristleback_Warpath_Stack : public CDOTA_Buff { public: @@ -24487,20 +24991,20 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Bristleback_ViscousNasalGoo : public CDOTA_Buff { public: - float base_armor; // 0x11e8 - float armor_per_stack; // 0x11ec - int32_t base_move_slow; // 0x11f0 - int32_t move_slow_per_stack; // 0x11f4 - int32_t stack_limit; // 0x11f8 - ParticleIndex_t m_nFXStackIndex; // 0x11fc + float base_armor; // 0x12b8 + float armor_per_stack; // 0x12bc + int32_t base_move_slow; // 0x12c0 + int32_t move_slow_per_stack; // 0x12c4 + int32_t stack_limit; // 0x12c8 + ParticleIndex_t m_nFXStackIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bristleback_QuillSpray_AutoCast : public CDOTA_Buff { public: @@ -24508,28 +25012,28 @@ public: }; // Alignment: 6 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Bristleback_QuillSpray_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x11e8 - GameTime_t m_fLastThink; // 0x11ec - CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11f0 - CountdownTimer m_ViewerTimer; // 0x1208 - int32_t projectile_speed; // 0x1220 - int32_t radius; // 0x1224 + float m_fCurRadius; // 0x12b8 + GameTime_t m_fLastThink; // 0x12bc + CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x12c0 + CountdownTimer m_ViewerTimer; // 0x12d8 + int32_t projectile_speed; // 0x12f0 + float radius; // 0x12f4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Bristleback_QuillSpray : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 + ParticleIndex_t m_nFXIndex; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bristleback_QuillSprayStack : public CDOTA_Buff { public: @@ -24537,27 +25041,59 @@ public: }; // Alignment: 10 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Bristleback_Bristleback : public CDOTA_Buff { public: - int32_t side_damage_reduction; // 0x11e8 - int32_t back_damage_reduction; // 0x11ec - int32_t side_angle; // 0x11f0 - int32_t back_angle; // 0x11f4 - float quill_release_threshold; // 0x11f8 - float quill_release_interval; // 0x11fc - bool m_bRearHit; // 0x1200 - bool m_bSideHit; // 0x1201 + int32_t side_damage_reduction; // 0x12b8 + int32_t back_damage_reduction; // 0x12bc + int32_t side_angle; // 0x12c0 + int32_t back_angle; // 0x12c4 + float quill_release_threshold; // 0x12c8 + float quill_release_interval; // 0x12cc + bool m_bRearHit; // 0x12d0 + bool m_bSideHit; // 0x12d1 private: - [[maybe_unused]] uint8_t __pad1202[0x2]; // 0x1202 + [[maybe_unused]] uint8_t __pad12d2[0x2]; // 0x12d2 public: - float m_flDamageAccumulated; // 0x1204 - int32_t m_nAccumulatedHits; // 0x1208 + float m_flDamageAccumulated; // 0x12d4 + int32_t m_nAccumulatedHits; // 0x12d8 +}; + +// Alignment: 22 +// Size: 0x1320 +class CDOTA_Modifier_Bristleback_Active_ConicalQuillSpray : public CDOTA_Buff +{ +public: + int32_t activation_num_quill_sprays; // 0x12b8 + float activation_spray_interval; // 0x12bc + int32_t activation_angle; // 0x12c0 + int32_t cast_range_bonus; // 0x12c4 + int32_t activation_movement_speed_pct; // 0x12c8 + int32_t activation_turn_rate_pct; // 0x12cc + int32_t activation_disable_turning; // 0x12d0 + int32_t activation_ignore_cast_angle; // 0x12d4 + int32_t activation_turn_rate; // 0x12d8 + float activation_delay; // 0x12dc + GameTime_t m_fStartTime; // 0x12e0 + bool bDelayFinished; // 0x12e4 +private: + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 +public: + float m_flFacingTarget; // 0x12e8 + Vector m_vFacing; // 0x12ec + int32_t m_nNumSprays; // 0x12f8 + int32_t m_nPoseParameterWE; // 0x12fc + int32_t m_nPoseParameterNS; // 0x1300 + float m_flLastPoseX; // 0x1304 + float m_flLastPoseY; // 0x1308 + int32_t m_nLastMaxDirection; // 0x130c + Vector m_vLastOrigin; // 0x1310 + GameTime_t m_flLastGameTime; // 0x131c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tusk_IceShard_Slow_Aura : public CDOTA_Buff { public: @@ -24565,7 +25101,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tusk_IceShard : public CDOTA_Buff { public: @@ -24573,7 +25109,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tusk_Snowball_Target : public CDOTA_Buff { public: @@ -24581,7 +25117,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tusk_Snowball_Visible : public CDOTA_Buff { public: @@ -24589,7 +25125,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tusk_Snowball_Movement : public CDOTA_Buff { public: @@ -24597,7 +25133,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tusk_Snowball_Movement_Friendly : public CDOTA_Buff { public: @@ -24605,167 +25141,183 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tusk_FrozenSigil_Aura : public CDOTA_Buff { public: - int32_t sigil_radius; // 0x11e8 - ParticleIndex_t m_iIndex; // 0x11ec + int32_t sigil_radius; // 0x12b8 + ParticleIndex_t m_iIndex; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Tusk_FrozenSigil : public CDOTA_Buff { public: - int32_t aghs_shard_move_slow; // 0x11e8 - int32_t aghs_shard_damage; // 0x11ec - int32_t attack_slow; // 0x11f0 - int32_t turn_rate_slow; // 0x11f4 + int32_t aghs_shard_move_slow; // 0x12b8 + int32_t aghs_shard_damage; // 0x12bc + int32_t attack_slow; // 0x12c0 + int32_t turn_rate_slow; // 0x12c4 }; // Alignment: 8 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Tusk_WalrusPunch : public CDOTA_Buff { public: - int32_t crit_multiplier; // 0x11e8 - float air_time; // 0x11ec - float slow_duration; // 0x11f0 + int32_t crit_multiplier; // 0x12b8 + float air_time; // 0x12bc + float slow_duration; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11f8 - CHandle< C_BaseEntity > m_hTarget; // 0x1200 - bool m_bWalrusPunch; // 0x1204 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12c8 + CHandle< C_BaseEntity > m_hTarget; // 0x12d0 + bool m_bWalrusPunch; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 - ParticleIndex_t m_nFXIndex; // 0x1220 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12f0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tusk_WalrusPunch_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tusk_WalrusPunch_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x11e8 + int32_t hp_threshold; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tusk_WalrusKick_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tusk_WalrusKick_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x11e8 + int32_t hp_threshold; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Tusk_Tag_Team_Attack_Slow_Aura : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Tusk_Tag_Team_Attack_Slow : public CDOTA_Buff +{ +public: + int32_t attack_speed_slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tusk_Tag_Team_Aura : public CDOTA_Buff { public: - ParticleIndex_t m_iIndex; // 0x11e8 - int32_t radius; // 0x11ec + ParticleIndex_t m_iIndex; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tusk_Tag_Team : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - float slow_duration; // 0x11ec + int32_t bonus_damage; // 0x12b8 + float slow_duration; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tusk_Tag_Team_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Skywrath_Mage_Shard : public CDOTA_Buff { public: - float stack_duration; // 0x11e8 + float stack_duration; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Skywrath_Mage_Shard_Bonus : public CDOTA_Buff { public: - int32_t bonus_intelligence; // 0x11e8 - float bonus_armor; // 0x11ec + int32_t bonus_intelligence; // 0x12b8 + float bonus_armor; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Skywrath_Mage_Shard_Bonus_Counter : public CDOTA_Buff { public: - int32_t bonus_intelligence; // 0x11e8 - float bonus_armor; // 0x11ec + int32_t bonus_intelligence; // 0x12b8 + float bonus_armor; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Skywrath_Mage_Arcane_Bolt_Lifesteal : public CDOTA_Buff { public: - float lifesteal_amt; // 0x11e8 + float lifesteal_amt; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Skywrath_Mage_Concussive_Shot : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x11e8 + int32_t movement_speed_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Skywrath_Mage_Ancient_Seal : public CDOTA_Buff { public: - int32_t resist_debuff; // 0x11e8 + int32_t resist_debuff; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Skywrath_Mage_Mystic_Flare : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t damage; // 0x11ec - float duration; // 0x11f0 - float damage_interval; // 0x11f4 + int32_t radius; // 0x12b8 + int32_t damage; // 0x12bc + float duration; // 0x12c0 + float damage_interval; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Skywrath_Mystic_Flare_Aura_Effect : public CDOTA_Buff { public: @@ -24773,131 +25325,141 @@ public: }; // Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Abaddon_AphoticShield : public CDOTA_Buff +// Size: 0x12c8 +class CDOTA_Modifier_Abaddon_DeathCoil_Effect : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float damage_absorb; // 0x11ec - int32_t m_nDamageAbsorbed; // 0x11f0 + int32_t armor_bonus; // 0x12b8 + int32_t magic_resistance; // 0x12bc + bool m_bFriendly; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 +class CDOTA_Modifier_Abaddon_AphoticShield : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12b8 + float damage_absorb; // 0x12bc + int32_t m_nDamageAbsorbed; // 0x12c0 +}; + +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Abaddon_Frostmourne : public CDOTA_Buff { public: - float slow_duration; // 0x11e8 - float curse_duration; // 0x11ec - int32_t hit_count; // 0x11f0 + float slow_duration; // 0x12b8 + float curse_duration; // 0x12bc + int32_t hit_count; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Abaddon_Frostmourne_Debuff : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - ParticleIndex_t m_nFXStackIndex; // 0x11ec + int32_t movement_speed; // 0x12b8 + ParticleIndex_t m_nFXStackIndex; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Abaddon_Frostmourne_Debuff_Bonus : public CDOTA_Buff { public: - int32_t curse_slow; // 0x11e8 + int32_t curse_slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Abaddon_Frostmourne_Buff : public CDOTA_Buff { public: - int32_t curse_attack_speed; // 0x11e8 - CHandle< C_BaseEntity > m_hTarget; // 0x11ec + int32_t curse_attack_speed; // 0x12b8 + CHandle< C_BaseEntity > m_hTarget; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Abaddon_BorrowedTime : public CDOTA_Buff { public: - int32_t redirect_range_scepter; // 0x11e8 + int32_t redirect_range_scepter; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Abaddon_BorrowedTime_Passive : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x11e8 + int32_t hp_threshold; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Abaddon_Borrowed_Time_Damage_Redirect : public CDOTA_Buff { public: - float m_fDamageTaken; // 0x11e8 - int32_t ally_threshold_scepter; // 0x11ec + float m_fDamageTaken; // 0x12b8 + int32_t ally_threshold_scepter; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Abaddon_BorrowedTime_ImmolationAura : public CDOTA_Buff { public: - int32_t immolate_aoe; // 0x11e8 + int32_t immolate_aoe; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Abaddon_BorrowedTime_ImmolationDamage : public CDOTA_Buff { public: - float immolate_damage; // 0x11e8 + float immolate_damage; // 0x12b8 }; // Alignment: 7 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Elder_Titan_AncestralSpirit : public CDOTA_Buff { public: - int32_t pass_damage; // 0x11e8 - int32_t radius; // 0x11ec - int32_t m_nCreepsHit; // 0x11f0 - int32_t m_nHeroesHit; // 0x11f4 - float m_flSpeed; // 0x11f8 + int32_t pass_damage; // 0x12b8 + int32_t radius; // 0x12bc + int32_t m_nCreepsHit; // 0x12c0 + int32_t m_nHeroesHit; // 0x12c4 + float m_flSpeed; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitUnits; // 0x1200 - int32_t m_nBonusMoveSpeed; // 0x1218 + CUtlVector< CHandle< C_BaseEntity > > m_hHitUnits; // 0x12d0 + int32_t m_nBonusMoveSpeed; // 0x12e8 }; // Alignment: 13 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_Buff : public CDOTA_Buff { public: - float move_pct_creeps; // 0x11e8 - int32_t move_pct_heroes; // 0x11ec - int32_t damage_creeps; // 0x11f0 - int32_t damage_heroes; // 0x11f4 - float armor_creeps; // 0x11f8 - float armor_heroes; // 0x11fc - float move_pct_cap; // 0x1200 - int32_t m_nCreepsHit; // 0x1204 - int32_t m_nHeroesHit; // 0x1208 - float m_fSpeedPercentage; // 0x120c - int32_t m_nDamage; // 0x1210 - int32_t m_nArmor; // 0x1214 - bool m_bSpellImmunity; // 0x1218 + float move_pct_creeps; // 0x12b8 + int32_t move_pct_heroes; // 0x12bc + int32_t damage_creeps; // 0x12c0 + int32_t damage_heroes; // 0x12c4 + float armor_creeps; // 0x12c8 + float armor_heroes; // 0x12cc + float move_pct_cap; // 0x12d0 + int32_t m_nCreepsHit; // 0x12d4 + int32_t m_nHeroesHit; // 0x12d8 + float m_fSpeedPercentage; // 0x12dc + int32_t m_nDamage; // 0x12e0 + int32_t m_nArmor; // 0x12e4 + bool m_bSpellImmunity; // 0x12e8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Special_Bonus_Unique_Elder_Titan_4 : public CDOTA_Modifier_MagicImmune { public: @@ -24905,7 +25467,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_Hidden : public CDOTA_Buff { public: @@ -24913,7 +25475,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_CastTime : public CDOTA_Buff { public: @@ -24921,101 +25483,101 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Elder_Titan_EchoStomp_Magic_Immune : public CDOTA_Modifier_DebuffImmune { public: - int32_t model_scale; // 0x11e8 + int32_t model_scale; // 0x12b8 }; // Alignment: 5 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Elder_Titan_EchoStomp : public CDOTA_Buff { public: - int32_t wake_damage_limit; // 0x11e8 - float animation_rate; // 0x11ec - float initial_stun_duration; // 0x11f0 + int32_t wake_damage_limit; // 0x12b8 + float animation_rate; // 0x12bc + float initial_stun_duration; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CountdownTimer ctStunTimer; // 0x11f8 - float m_flDamageTaken; // 0x1210 + CountdownTimer ctStunTimer; // 0x12c8 + float m_flDamageTaken; // 0x12e0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Aura_Armor : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Aura_MagicResistance : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Armor : public CDOTA_Buff { public: - int32_t armor_reduction_pct; // 0x11e8 - float m_flArmorReduction; // 0x11ec + int32_t armor_reduction_pct; // 0x12b8 + float m_flArmorReduction; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_MagicResistance : public CDOTA_Buff { public: - int32_t magic_resistance_pct; // 0x11e8 + int32_t magic_resistance_pct; // 0x12b8 }; // Alignment: 11 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_Elder_Titan_EarthSplitter_Caster : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitUnits; // 0x11e8 - int32_t vision_width; // 0x1200 - float vision_interval; // 0x1204 - float vision_duration; // 0x1208 - int32_t vision_step; // 0x120c - int32_t total_steps; // 0x1210 - int32_t m_nCompletedSteps; // 0x1214 - Vector m_vStart; // 0x1218 - Vector m_vEnd; // 0x1224 - Vector m_vNextVisionLocation; // 0x1230 - Vector m_vCastDirection; // 0x123c + CUtlVector< CHandle< C_BaseEntity > > m_hHitUnits; // 0x12b8 + int32_t vision_width; // 0x12d0 + float vision_interval; // 0x12d4 + float vision_duration; // 0x12d8 + int32_t vision_step; // 0x12dc + int32_t total_steps; // 0x12e0 + int32_t m_nCompletedSteps; // 0x12e4 + Vector m_vStart; // 0x12e8 + Vector m_vEnd; // 0x12f4 + Vector m_vNextVisionLocation; // 0x1300 + Vector m_vCastDirection; // 0x130c }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Elder_Titan_EarthSplitter_Thinker : public CDOTA_Buff { public: - int32_t crack_width; // 0x11e8 - int32_t damage_pct; // 0x11ec - float slow_duration; // 0x11f0 - float slow_duration_scepter; // 0x11f4 - CDOTA_Buff* m_pParentModifier; // 0x11f8 + int32_t crack_width; // 0x12b8 + int32_t damage_pct; // 0x12bc + float slow_duration; // 0x12c0 + float slow_duration_scepter; // 0x12c4 + CDOTA_Buff* m_pParentModifier; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Elder_Titan_EarthSplitter : public CDOTA_Buff { public: - int32_t slow_pct; // 0x11e8 + int32_t slow_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Elder_Titan_EarthSplitterScepter : public CDOTA_Modifier_Elder_Titan_EarthSplitter { public: @@ -25023,7 +25585,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Legion_Commander_OverwhelmingOdds_Armor : public CDOTA_Buff { public: @@ -25031,54 +25593,54 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Legion_Commander_OverwhelmingOdds : public CDOTA_Buff { public: - int32_t bonus_attack_speed_creeps; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - float armor_per_creep; // 0x11f0 - float armor_per_hero; // 0x11f4 - int32_t m_nTotalBonus; // 0x11f8 - float m_flBonusArmor; // 0x11fc + int32_t bonus_attack_speed_creeps; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + float armor_per_creep; // 0x12c0 + float armor_per_hero; // 0x12c4 + int32_t m_nTotalBonus; // 0x12c8 + float m_flBonusArmor; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Legion_Commander_PressTheAttack_Immunity : public CDOTA_Modifier_DebuffImmune { public: - int32_t model_scale; // 0x11e8 + int32_t model_scale; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Legion_Commander_PressTheAttack : public CDOTA_Buff { public: - int32_t move_speed; // 0x11e8 - int32_t hp_regen; // 0x11ec + int32_t move_speed; // 0x12b8 + int32_t hp_regen; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Legion_Commander_MomentOfCourage : public CDOTA_Buff { public: - int32_t trigger_chance; // 0x11e8 - float buff_duration; // 0x11ec + int32_t trigger_chance; // 0x12b8 + float buff_duration; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Legion_Commander_MomentOfCourage_Lifesteal : public CDOTA_Buff { public: - int32_t hp_leech_percent; // 0x11e8 + int32_t hp_leech_percent; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Legion_Commander_Duel_DamageBoost : public CDOTA_Buff { public: @@ -25086,35 +25648,35 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Holdout_GladiatorsUnite_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Holdout_GladiatorsUnite : public CDOTA_Buff { public: - int32_t bonus_armor_per_hero; // 0x11e8 - int32_t bonus_damage_per_hero; // 0x11ec - int32_t lifesteal_per_hero; // 0x11f0 - int32_t scepter_damage_reduction_pct; // 0x11f4 + int32_t bonus_armor_per_hero; // 0x12b8 + int32_t bonus_damage_per_hero; // 0x12bc + int32_t lifesteal_per_hero; // 0x12c0 + int32_t scepter_damage_reduction_pct; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Techies_Suicide_RespawnTime : public CDOTA_Buff { public: - int32_t m_nSuicideKillCount; // 0x11e8 + int32_t m_nSuicideKillCount; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Techies_LandMines_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -25122,21 +25684,21 @@ public: }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Techies_ReactiveTazer : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - int32_t bonus_ms; // 0x11f0 - int32_t stun_radius; // 0x11f4 - float stun_duration; // 0x11f8 - int32_t damage_percent; // 0x11fc - int32_t m_nDamageRemaining; // 0x1200 + int32_t bonus_ms; // 0x12c0 + int32_t stun_radius; // 0x12c4 + float stun_duration; // 0x12c8 + int32_t damage_percent; // 0x12cc + int32_t m_nDamageRemaining; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Techies_ReactiveTazer_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -25144,94 +25706,94 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Techies_StickyBombThrow : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 7 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Techies_StickyBomb_Chase : public CDOTA_Buff { public: - int32_t acceleration; // 0x11e8 - int32_t m_nTeamNumber; // 0x11ec - float speed; // 0x11f0 - float pre_chase_time; // 0x11f4 - CHandle< C_BaseEntity > m_hAttachTarget; // 0x11f8 - Vector m_vStartPosition; // 0x11fc - CountdownTimer m_MoveTime; // 0x1208 + int32_t acceleration; // 0x12b8 + int32_t m_nTeamNumber; // 0x12bc + float speed; // 0x12c0 + float pre_chase_time; // 0x12c4 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12c8 + Vector m_vStartPosition; // 0x12cc + CountdownTimer m_MoveTime; // 0x12d8 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_StickyBomb_Countdown : public CDOTA_Buff { public: - Vector m_vLastLoc; // 0x11e8 - CHandle< C_BaseEntity > m_hAttachTarget; // 0x11f4 + Vector m_vLastLoc; // 0x12b8 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Techies_StickyBomb_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Techies_StickyBomb_Slow_Secondary : public CDOTA_Buff { public: - int32_t secondary_slow; // 0x11e8 + int32_t secondary_slow; // 0x12b8 }; // Alignment: 8 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Techies_LandMine : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x11f8 - float proximity_threshold; // 0x11fc - float damage; // 0x1200 - float activation_delay; // 0x1204 - float outer_damage; // 0x1208 - int32_t min_distance; // 0x120c - bool bActivated; // 0x1210 + int32_t radius; // 0x12c8 + float proximity_threshold; // 0x12cc + float damage; // 0x12d0 + float activation_delay; // 0x12d4 + float outer_damage; // 0x12d8 + int32_t min_distance; // 0x12dc + bool bActivated; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x7]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x7]; // 0x12e1 public: - CountdownTimer m_Timer; // 0x1218 + CountdownTimer m_Timer; // 0x12e8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Techies_LandMine_Burn : public CDOTA_Buff { public: - int32_t mres_reduction; // 0x11e8 + int32_t mres_reduction; // 0x12b8 }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Techies_StasisTrap : public CDOTA_Modifier_Invisible { public: - int32_t activation_radius; // 0x11f8 - int32_t stun_radius; // 0x11fc - float stun_duration; // 0x1200 - float explode_delay; // 0x1204 - float activation_time; // 0x1208 - bool m_bActivated; // 0x120c - bool m_bTriggered; // 0x120d + int32_t activation_radius; // 0x12c8 + int32_t stun_radius; // 0x12cc + float stun_duration; // 0x12d0 + float explode_delay; // 0x12d4 + float activation_time; // 0x12d8 + bool m_bActivated; // 0x12dc + bool m_bTriggered; // 0x12dd }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Techies_StasisTrap_Stunned : public CDOTA_Modifier_Rooted { public: @@ -25239,7 +25801,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Techies_Suicide_Leap_Animation : public CDOTA_Modifier_Disarmed { public: @@ -25247,7 +25809,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Techies_Suicide_Leap : public CDOTA_Buff { public: @@ -25255,7 +25817,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Techies_DeployRemoteMine : public CDOTA_Buff { public: @@ -25263,33 +25825,33 @@ public: }; // Alignment: 8 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Techies_RemoteMine : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x11f8 - int32_t damage; // 0x11fc - int32_t radius_scepter; // 0x1200 - int32_t damage_scepter; // 0x1204 - int32_t vision_radius; // 0x1208 - float vision_duration; // 0x120c - int32_t model_scale; // 0x1210 - bool bExploding; // 0x1214 + int32_t radius; // 0x12c8 + int32_t damage; // 0x12cc + int32_t radius_scepter; // 0x12d0 + int32_t damage_scepter; // 0x12d4 + int32_t vision_radius; // 0x12d8 + float vision_duration; // 0x12dc + int32_t model_scale; // 0x12e0 + bool bExploding; // 0x12e4 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_Minefield_Sign_Thinker : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - float trigger_radius; // 0x11ec - float minefield_duration; // 0x11f0 - bool m_bTriggered; // 0x11f4 + int32_t aura_radius; // 0x12b8 + float trigger_radius; // 0x12bc + float minefield_duration; // 0x12c0 + bool m_bTriggered; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Techies_Minefield_Sign_Aura : public CDOTA_Buff { public: @@ -25297,27 +25859,27 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Techies_Minefield_Sign_Scepter : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - float minefield_duration; // 0x11ec + int32_t aura_radius; // 0x12b8 + float minefield_duration; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_Minefield_Sign_Scepter_Aura : public CDOTA_Buff { public: - float aura_radius; // 0x11e8 - float scepter_move_damage; // 0x11ec - float scepter_move_amt; // 0x11f0 - float minefield_duration; // 0x11f4 + float aura_radius; // 0x12b8 + float scepter_move_damage; // 0x12bc + float scepter_move_amt; // 0x12c0 + float minefield_duration; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Techies_Arcana_DamageListener : public CDOTA_Buff { public: @@ -25325,18 +25887,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_EmberSpirit_SearingChains : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x11e8 - float tick_interval; // 0x11ec - float tick_damage; // 0x11f0 - float duration; // 0x11f4 + int32_t damage_per_second; // 0x12b8 + float tick_interval; // 0x12bc + float tick_damage; // 0x12c0 + float duration; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_EmberSpirit_SlightOfFist_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -25344,7 +25906,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Marker : public CDOTA_Buff { public: @@ -25352,7 +25914,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_InProgress : public CDOTA_Buff { public: @@ -25360,18 +25922,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Caster : public CDOTA_Buff { public: - int32_t bonus_hero_damage; // 0x11e8 - int32_t creep_damage_penalty; // 0x11ec - int32_t radius; // 0x11f0 - float attack_interval; // 0x11f4 + int32_t bonus_hero_damage; // 0x12b8 + int32_t creep_damage_penalty; // 0x12bc + int32_t radius; // 0x12c0 + float attack_interval; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Caster_Invulnerability : public CDOTA_Buff { public: @@ -25379,30 +25941,30 @@ public: }; // Alignment: 8 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_EmberSpirit_FlameGuard : public CDOTA_Buff { public: - int32_t absorb_amount; // 0x11e8 - int32_t damage_per_second; // 0x11ec - int32_t radius; // 0x11f0 - float tick_interval; // 0x11f4 - int32_t shield_pct_absorb; // 0x11f8 - int32_t m_nAbsorbRemaining; // 0x11fc - float m_flShowParticleInterval; // 0x1200 - bool m_bDestroy; // 0x1204 + int32_t absorb_amount; // 0x12b8 + int32_t damage_per_second; // 0x12bc + int32_t radius; // 0x12c0 + float tick_interval; // 0x12c4 + int32_t shield_pct_absorb; // 0x12c8 + int32_t m_nAbsorbRemaining; // 0x12cc + float m_flShowParticleInterval; // 0x12d0 + bool m_bDestroy; // 0x12d4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EmberSpirit_FlameGuard_Debuff : public CDOTA_Buff { public: - int32_t blind_pct; // 0x11e8 + int32_t blind_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_EmberSpirit_FireRemnant_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -25410,42 +25972,42 @@ public: }; // Alignment: 3 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_EmberSpirit_FireRemnant_RemnantTracker : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > m_vActiveRemnants; // 0x11e8 - CUtlVector< CHandle< C_BaseEntity > > m_vTrackingDelayedRemnants; // 0x1200 - int32_t shard_charge_radius; // 0x1218 + CUtlVector< CHandle< C_BaseEntity > > m_vActiveRemnants; // 0x12b8 + CUtlVector< CHandle< C_BaseEntity > > m_vTrackingDelayedRemnants; // 0x12d0 + int32_t shard_charge_radius; // 0x12e8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EmberSpirit_FireRemnantThinker : public CDOTA_Buff { public: - int32_t m_nProjectileHandle; // 0x11e8 - bool m_bIsShardRemnant; // 0x11ec + int32_t m_nProjectileHandle; // 0x12b8 + bool m_bIsShardRemnant; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EmberSpirit_FireRemnant_Shard : public CDOTA_Buff { public: - int32_t shard_radius; // 0x11e8 + int32_t shard_radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EmberSpirit_FireRemnant_Shard_Debuff : public CDOTA_Buff { public: - int32_t shard_damage_per_second; // 0x11e8 + int32_t shard_damage_per_second; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_EmberSpirit_FireRemnant_Timer : public CDOTA_Buff { public: @@ -25453,7 +26015,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_EmberSpirit_FireRemnant : public CDOTA_Buff { public: @@ -25461,57 +26023,58 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Earth_Spirit_StoneCaller_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; -// Alignment: 1 -// Size: 0x11f8 +// Alignment: 2 +// Size: 0x12c8 class CDOTA_Modifier_EarthSpirit_RollingBoulder_Caster : public CDOTA_Buff { public: - Vector m_vDir; // 0x11e8 + Vector m_vDir; // 0x12b8 + bool m_bBoulderCreated; // 0x12c4 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_EarthSpirit_StoneThinker : public CDOTA_Buff { public: - CNewParticleEffect* m_pVisionRangeFX; // 0x11e8 - int32_t vision_radius; // 0x11f0 - bool m_bHasBeenMagnetized; // 0x11f4 + CNewParticleEffect* m_pVisionRangeFX; // 0x12b8 + int32_t vision_radius; // 0x12c0 + bool m_bHasBeenMagnetized; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - ParticleIndex_t m_nFXIndex; // 0x11f8 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EarthSpirit_BoulderSmash : public CDOTA_Buff { public: - bool m_bInterrupted; // 0x11e8 + bool m_bInterrupted; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t m_nProjectileID; // 0x11ec + int32_t m_nProjectileID; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EarthSpirit_Boulder_Smash_Debuff : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_EarthSpirit_Geogmagnetic_Grip_Debuff : public CDOTA_Modifier_Silence { public: @@ -25519,71 +26082,71 @@ public: }; // Alignment: 10 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_EarthSpirit_GeomagneticGrip : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t rock_damage; // 0x11ec - float pull_units_per_second; // 0x11f0 - float pull_units_per_second_heroes; // 0x11f4 - float total_pull_distance; // 0x11f8 - float duration; // 0x11fc - bool m_bUsedStone; // 0x1200 + int32_t radius; // 0x12b8 + int32_t rock_damage; // 0x12bc + float pull_units_per_second; // 0x12c0 + float pull_units_per_second_heroes; // 0x12c4 + float total_pull_distance; // 0x12c8 + float duration; // 0x12cc + bool m_bUsedStone; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - Vector m_vDestination; // 0x1204 - Vector m_vLocation; // 0x1210 + Vector m_vDestination; // 0x12d4 + Vector m_vLocation; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1220 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12f0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EarthSpirit_Petrify : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - bool m_bHasBeenMagnetized; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12b8 + bool m_bHasBeenMagnetized; // 0x12bc }; // Alignment: 10 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_EarthSpirit_Magnetize : public CDOTA_Buff { public: - int32_t rock_search_radius; // 0x11e8 - int32_t damage_per_second; // 0x11ec - float damage_interval; // 0x11f0 - float rock_explosion_delay; // 0x11f4 - float damage_duration; // 0x11f8 - int32_t cast_radius; // 0x11fc - int32_t rock_explosion_radius; // 0x1200 + int32_t rock_search_radius; // 0x12b8 + int32_t damage_per_second; // 0x12bc + float damage_interval; // 0x12c0 + float rock_explosion_delay; // 0x12c4 + float damage_duration; // 0x12c8 + int32_t cast_radius; // 0x12cc + int32_t rock_explosion_radius; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hExplodedRocks; // 0x1208 - float duration; // 0x1220 - bool m_bShowOverhead; // 0x1224 + CUtlVector< CHandle< C_BaseEntity > > m_hExplodedRocks; // 0x12d8 + float duration; // 0x12f0 + bool m_bShowOverhead; // 0x12f4 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_EarthSpirit_Polarization : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x11e8 - float damage_interval; // 0x11ec - float damage_duration; // 0x11f0 - int32_t rock_search_radius; // 0x11f4 - CHandle< C_BaseEntity > m_hMagnetizeAbility; // 0x11f8 + int32_t damage_per_second; // 0x12b8 + float damage_interval; // 0x12bc + float damage_duration; // 0x12c0 + int32_t rock_search_radius; // 0x12c4 + CHandle< C_BaseEntity > m_hMagnetizeAbility; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_EarthSpirit_Polarization_Damage_Timer : public CDOTA_Buff { public: @@ -25591,44 +26154,44 @@ public: }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AbyssalUnderlord_Firestorm_Thinker : public CDOTA_Buff { public: - int32_t wave_damage; // 0x11e8 - int32_t wave_count; // 0x11ec - int32_t radius; // 0x11f0 - float wave_interval; // 0x11f4 - float burn_duration; // 0x11f8 - float burn_interval; // 0x11fc - float first_wave_delay; // 0x1200 - float building_damage; // 0x1204 - CHandle< C_BaseEntity > m_hTarget; // 0x1208 + int32_t wave_damage; // 0x12b8 + int32_t wave_count; // 0x12bc + int32_t radius; // 0x12c0 + float wave_interval; // 0x12c4 + float burn_duration; // 0x12c8 + float burn_interval; // 0x12cc + float first_wave_delay; // 0x12d0 + float building_damage; // 0x12d4 + CHandle< C_BaseEntity > m_hTarget; // 0x12d8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AbyssalUnderlord_Firestorm_Burn : public CDOTA_Buff { public: - float burn_damage; // 0x11e8 - float burn_interval; // 0x11ec - float building_damage; // 0x11f0 + float burn_damage; // 0x12b8 + float burn_interval; // 0x12bc + float building_damage; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Thinker : public CDOTA_Buff { public: - int32_t pit_damage; // 0x11e8 - int32_t radius; // 0x11ec - float pit_interval; // 0x11f0 - float ensnare_duration; // 0x11f4 + int32_t pit_damage; // 0x12b8 + int32_t radius; // 0x12bc + float pit_interval; // 0x12c0 + float ensnare_duration; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -25636,15 +26199,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Slow : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x11e8 + int32_t speed_bonus; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Buff_Placer : public CDOTA_Buff { public: @@ -25652,38 +26215,38 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Effect : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x11e8 - float bonus_damage_duration; // 0x11ec - int32_t bonus_damage_from_creep; // 0x11f0 - int32_t bonus_damage_from_hero; // 0x11f4 - bool m_bWasHidden; // 0x11f8 + int32_t damage_reduction_pct; // 0x12b8 + float bonus_damage_duration; // 0x12bc + int32_t bonus_damage_from_creep; // 0x12c0 + int32_t bonus_damage_from_hero; // 0x12c4 + bool m_bWasHidden; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_HeroDmgBuff : public CDOTA_Buff { public: - int32_t bonus_damage_from_hero; // 0x11e8 - float bonus_shared_by_allies_pct; // 0x11ec - float m_flModifier; // 0x11f0 + int32_t bonus_damage_from_hero; // 0x12b8 + float bonus_shared_by_allies_pct; // 0x12bc + float m_flModifier; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Permanent_HeroDmgBuff : public CDOTA_Buff { public: @@ -25691,17 +26254,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_CreepDmgBuff : public CDOTA_Buff { public: - int32_t bonus_damage_from_creep; // 0x11e8 - float bonus_shared_by_allies_pct; // 0x11ec - float m_flModifier; // 0x11f0 + int32_t bonus_damage_from_creep; // 0x12b8 + float bonus_shared_by_allies_pct; // 0x12bc + float m_flModifier; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_DmgBuffCounter : public CDOTA_Buff { public: @@ -25709,122 +26272,139 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Scepter : public CDOTA_Buff { public: - int32_t bonus_damage_from_creep; // 0x11e8 + int32_t bonus_damage_from_creep; // 0x12b8 }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AbyssalUnderlord_DarkRift : public CDOTA_Buff { public: - ParticleIndex_t m_nfxTargetTp; // 0x11e8 - int32_t radius; // 0x11ec - int32_t duration; // 0x11f0 - ParticleIndex_t m_nfxAmbientFx; // 0x11f4 - bool bPointTarget; // 0x11f8 + ParticleIndex_t m_nfxTargetTp; // 0x12b8 + int32_t radius; // 0x12bc + int32_t duration; // 0x12c0 + ParticleIndex_t m_nfxAmbientFx; // 0x12c4 + bool bPointTarget; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - Vector vDestination; // 0x11fc + Vector vDestination; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AbyssalUnderlord_DarkRift_Bonus_Health : public CDOTA_Buff { public: - int32_t scepter_health_bonus; // 0x11e8 + int32_t scepter_health_bonus; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Underlord_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x11e8 + Vector m_vOriginal; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Underlord_Portal_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nPortalAmbientFX; // 0x11e8 - float m_fPortalRadius; // 0x11ec + ParticleIndex_t m_nPortalAmbientFX; // 0x12b8 + float m_fPortalRadius; // 0x12bc }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Underlord_Portal_Warp_Channel : public CDOTA_Buff { public: - ParticleIndex_t m_nfxTargetTp; // 0x11e8 - ParticleIndex_t m_nfxTargetTp2; // 0x11ec - ParticleIndex_t m_nfxAmbientFx; // 0x11f0 - ParticleIndex_t m_nfxPortal1; // 0x11f4 - ParticleIndex_t m_nfxPortal2; // 0x11f8 - float animation_rate; // 0x11fc - int32_t stop_distance; // 0x1200 + ParticleIndex_t m_nfxTargetTp; // 0x12b8 + ParticleIndex_t m_nfxTargetTp2; // 0x12bc + ParticleIndex_t m_nfxAmbientFx; // 0x12c0 + ParticleIndex_t m_nfxPortal1; // 0x12c4 + ParticleIndex_t m_nfxPortal2; // 0x12c8 + float animation_rate; // 0x12cc + int32_t stop_distance; // 0x12d0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Underlord_Portal_Buff : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 - int32_t bonus_ms; // 0x11ec + int32_t damage_reduction; // 0x12b8 + int32_t bonus_ms; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Terrorblade_Reflection_Invulnerability : public CDOTA_Modifier_Invulnerable { public: - CHandle< C_BaseEntity > hTarget; // 0x11e8 + CHandle< C_BaseEntity > hTarget; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Terrorblade_Reflection_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 - int32_t attack_slow; // 0x11ec + int32_t move_slow; // 0x12b8 + int32_t attack_slow; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Terrorblade_ConjureImage : public CDOTA_Buff { public: // No members available }; -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Terrorblade_Demon_Zeal : public CDOTA_Buff +// Alignment: 0 +// Size: 0x12b8 +class CDOTA_Modifier_Terrorblade_Transforming : public CDOTA_Buff { public: - int32_t berserk_bonus_attack_speed; // 0x11e8 - int32_t berserk_bonus_movement_speed; // 0x11ec - int32_t melee_bonus; // 0x11f0 -}; - -// Alignment: 1 -// Size: 0x11f8 -class CDOTA_Modifier_Terrorblade_Fear : public CDOTA_Buff -{ -public: - Vector m_vOriginal; // 0x11e8 + // No members available }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 +class CDOTA_Modifier_Terrorblade_Demon_Zeal_Aura : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x12c8 +class CDOTA_Modifier_Terrorblade_Demon_Zeal : public CDOTA_Buff +{ +public: + int32_t berserk_bonus_attack_speed; // 0x12b8 + int32_t berserk_bonus_movement_speed; // 0x12bc + int32_t berserk_bonus_armor; // 0x12c0 + int32_t melee_bonus; // 0x12c4 +}; + +// Alignment: 1 +// Size: 0x12c8 +class CDOTA_Modifier_Terrorblade_Fear : public CDOTA_Buff +{ +public: + Vector m_vOriginal; // 0x12b8 +}; + +// Alignment: 0 +// Size: 0x12b8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform_Aura : public CDOTA_Buff { public: @@ -25832,7 +26412,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform_Aura_Applier : public CDOTA_Buff { public: @@ -25840,7 +26420,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform : public CDOTA_Buff { public: @@ -25848,142 +26428,156 @@ public: }; // Alignment: 8 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Terrorblade_Metamorphosis : public CDOTA_Buff { public: - float base_attack_time; // 0x11e8 - int32_t bonus_range; // 0x11ec - int32_t m_iOriginalAttackCapabilities; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - int32_t speed_loss; // 0x11f8 - int32_t attack_projectile_speed_bonus; // 0x11fc - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1200 - CUtlSymbolLarge m_iszOriginalRangedAttackEffect; // 0x1208 + float base_attack_time; // 0x12b8 + int32_t bonus_range; // 0x12bc + int32_t m_iOriginalAttackCapabilities; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + int32_t speed_loss; // 0x12c8 + int32_t attack_projectile_speed_bonus; // 0x12cc + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12d0 + CUtlSymbolLarge m_iszOriginalRangedAttackEffect; // 0x12d8 }; // Alignment: 8 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Terrorblade_Metamorphosis_Fear_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x11e8 - float m_fCurRadius; // 0x11ec - GameTime_t m_fLastThink; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x11f8 - int32_t scepter_speed; // 0x1210 - int32_t scepter_radius; // 0x1214 - bool m_bFirstThink; // 0x1218 + float m_fLastRadius; // 0x12b8 + float m_fCurRadius; // 0x12bc + GameTime_t m_fLastThink; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12c8 + int32_t scepter_speed; // 0x12e0 + int32_t scepter_radius; // 0x12e4 + bool m_bFirstThink; // 0x12e8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Terrorblade_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x11e8 - bool m_bFlail; // 0x11e9 + bool m_bFrozen; // 0x12b8 + bool m_bFlail; // 0x12b9 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Phoenix_SunRayVision : public CDOTA_Buff { public: // No members available }; -// Alignment: 21 -// Size: 0x1258 +// Alignment: 23 +// Size: 0x1330 class CDOTA_Modifier_Phoenix_SunRay : public CDOTA_Buff { public: - int32_t hp_cost_perc_per_second; // 0x11e8 - int32_t beam_range; // 0x11ec - int32_t base_damage; // 0x11f0 - int32_t base_heal; // 0x11f4 - float tick_interval; // 0x11f8 - float forward_move_speed; // 0x11fc - float turn_rate_initial; // 0x1200 - float turn_rate; // 0x1204 - int32_t radius; // 0x1208 - float m_flCurrentTime; // 0x120c - float m_flAccumulatedSelfDamage; // 0x1210 - bool m_bMovingForward; // 0x1214 - bool m_bTurningFast; // 0x1215 + int32_t hp_cost_perc_per_second; // 0x12b8 + int32_t beam_range; // 0x12bc + int32_t base_damage; // 0x12c0 + int32_t base_heal; // 0x12c4 + float tick_interval; // 0x12c8 + float forward_move_speed; // 0x12cc + float turn_rate_initial; // 0x12d0 + float turn_rate; // 0x12d4 + int32_t radius; // 0x12d8 + float m_flCurrentTime; // 0x12dc + float m_flAccumulatedSelfDamage; // 0x12e0 + bool m_bMovingForward; // 0x12e4 + bool m_bTurningFast; // 0x12e5 private: - [[maybe_unused]] uint8_t __pad1216[0x2]; // 0x1216 + [[maybe_unused]] uint8_t __pad12e6[0x2]; // 0x12e6 public: - float m_flFacingTarget; // 0x1218 - float hp_perc_damage; // 0x121c - float hp_perc_heal; // 0x1220 - ParticleIndex_t m_nBeamFXIndex; // 0x1224 - CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x1228 - CHandle< C_BaseEntity > m_hBeamEnd; // 0x1248 - bool m_bCreatedVisionThinkers; // 0x124c + float m_flFacingTarget; // 0x12e8 + float hp_perc_damage; // 0x12ec + float hp_perc_heal; // 0x12f0 + float blind_duration; // 0x12f4 + int32_t blind_per_second; // 0x12f8 + ParticleIndex_t m_nBeamFXIndex; // 0x12fc + CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x1300 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x1320 + bool m_bCreatedVisionThinkers; // 0x1324 private: - [[maybe_unused]] uint8_t __pad124d[0x3]; // 0x124d + [[maybe_unused]] uint8_t __pad1325[0x3]; // 0x1325 public: - CHandle< C_BaseEntity > m_hBeamEndSound; // 0x1250 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Phoenix_Sun_Ray_Slow : public CDOTA_Buff -{ -public: - int32_t shard_move_slow_pct; // 0x11e8 -}; - -// Alignment: 11 -// Size: 0x1248 -class CDOTA_Modifier_Phoenix_IcarusDive : public CDOTA_Buff -{ -public: - Vector m_vSource; // 0x11e8 - Vector m_vTarget; // 0x11f4 - Vector m_vDirection; // 0x1200 - QAngle m_angDirection; // 0x120c - float m_flCurrentTime; // 0x1218 - int32_t dash_length; // 0x121c - int32_t dash_width; // 0x1220 - int32_t hit_radius; // 0x1224 - float burn_duration; // 0x1228 - float dive_duration; // 0x122c - CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x1230 -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Phoenix_IcarusDiveBurn : public CDOTA_Buff -{ -public: - float burn_tick_interval; // 0x11e8 - int32_t damage_per_second; // 0x11ec - int32_t slow_movement_speed_pct; // 0x11f0 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Phoenix_FireSpiritCount : public CDOTA_Buff -{ -public: - ParticleIndex_t m_nFXIndex; // 0x11e8 -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Phoenix_FireSpiritBurn : public CDOTA_Buff -{ -public: - float tick_interval; // 0x11e8 - int32_t attackspeed_slow; // 0x11ec - int32_t damage_per_second; // 0x11f0 + CHandle< C_BaseEntity > m_hBeamEndSound; // 0x1328 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 +class CDOTA_Modifier_Phoenix_Sun_Ray_Blind : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Phoenix_Sun_Ray_Slow : public CDOTA_Buff +{ +public: + int32_t shard_move_slow_pct; // 0x12b8 +}; + +// Alignment: 12 +// Size: 0x1320 +class CDOTA_Modifier_Phoenix_IcarusDive : public CDOTA_Buff +{ +public: + Vector m_vSource; // 0x12b8 + Vector m_vTarget; // 0x12c4 + Vector m_vDirection; // 0x12d0 + QAngle m_angDirection; // 0x12dc + float m_flCurrentTime; // 0x12e8 + int32_t dash_length; // 0x12ec + int32_t dash_width; // 0x12f0 + int32_t hit_radius; // 0x12f4 + float burn_duration; // 0x12f8 + float dive_duration; // 0x12fc + float impact_damage; // 0x1300 +private: + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 +public: + CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x1308 +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Phoenix_IcarusDiveBurn : public CDOTA_Buff +{ +public: + float burn_tick_interval; // 0x12b8 + int32_t damage_per_second; // 0x12bc + int32_t slow_movement_speed_pct; // 0x12c0 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Phoenix_FireSpiritCount : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXIndex; // 0x12b8 +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Phoenix_FireSpiritBurn : public CDOTA_Buff +{ +public: + float tick_interval; // 0x12b8 + int32_t attackspeed_slow; // 0x12bc + int32_t damage_per_second; // 0x12c0 +}; + +// Alignment: 0 +// Size: 0x12b8 class CDOTA_Modifier_Phoenix_SupernovaHiding : public CDOTA_Buff { public: @@ -25991,29 +26585,30 @@ public: }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Phoenix_Sun : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - float stun_duration; // 0x11ec - int32_t max_hero_attacks; // 0x11f0 - int32_t max_hero_attacks_scepter; // 0x11f4 - int32_t max_hero_attacks_required; // 0x11f8 - CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x11fc - int32_t m_iAttackCount; // 0x1200 + int32_t aura_radius; // 0x12b8 + float stun_duration; // 0x12bc + int32_t max_hero_attacks; // 0x12c0 + int32_t max_hero_attacks_scepter; // 0x12c4 + int32_t max_hero_attacks_required; // 0x12c8 + CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x12cc + int32_t m_iAttackCount; // 0x12d0 }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Phoenix_Sun_Debuff : public CDOTA_Buff { public: - int32_t damage_per_sec; // 0x11e8 + int32_t damage_per_sec; // 0x12b8 + float tick_interval; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Oracle_FortunesEndChannelTarget : public CDOTA_Buff { public: @@ -26021,7 +26616,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Oracle_FortunesEndPurge : public CDOTA_Modifier_Rooted { public: @@ -26029,7 +26624,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Oracle_FatesEdict : public CDOTA_Buff { public: @@ -26037,16 +26632,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Oracle_PurifyingFlames : public CDOTA_Buff { public: - float heal_per_second; // 0x11e8 - float tick_rate; // 0x11ec + float heal_per_second; // 0x12b8 + float tick_rate; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Oracle_FalsePromiseTimer : public CDOTA_Buff { public: @@ -26054,321 +26649,320 @@ public: }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Oracle_FalsePromise_Invis : public CDOTA_Modifier_PersistentInvisibility { public: - float shard_spell_amp_bonus; // 0x11f8 - float shard_bat_bonus; // 0x11fc + float shard_spell_amp_bonus; // 0x12c8 + float shard_bat_bonus; // 0x12cc }; // Alignment: 8 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Oracle_FalsePromise : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x30]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x30]; // 0x12b8 public: - bool m_bWaitingForInvulnerability; // 0x1218 - bool m_bDisableHealing; // 0x1219 + bool m_bWaitingForInvulnerability; // 0x12e8 + bool m_bDisableHealing; // 0x12e9 private: - [[maybe_unused]] uint8_t __pad121a[0x2]; // 0x121a + [[maybe_unused]] uint8_t __pad12ea[0x2]; // 0x12ea public: - float m_flHealthOnCreated; // 0x121c - ParticleIndex_t m_nFXIndex; // 0x1220 - ParticleIndex_t m_nFXIndexB; // 0x1224 - float m_flRunningDmg; // 0x1228 - float m_flRunningHealth; // 0x122c - int32_t bonus_armor; // 0x1230 + float m_flHealthOnCreated; // 0x12ec + ParticleIndex_t m_nFXIndex; // 0x12f0 + ParticleIndex_t m_nFXIndexB; // 0x12f4 + float m_flRunningDmg; // 0x12f8 + float m_flRunningHealth; // 0x12fc + int32_t bonus_armor; // 0x1300 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Oracle_RainOfDestiny_Aura : public CDOTA_Buff { public: - float damage; // 0x11e8 - int32_t radius; // 0x11ec - ParticleIndex_t m_nFXIndex; // 0x11f0 + float damage; // 0x12b8 + int32_t radius; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Oracle_RainOfDestiny : public CDOTA_Buff { public: - int32_t heal_amp; // 0x11e8 + int32_t heal_amp; // 0x12b8 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Frost_Attack : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 }; // Alignment: 8 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Flight : public CDOTA_Buff { public: - float attack_point; // 0x11e8 - int32_t attack_range_bonus; // 0x11ec - int32_t projectile_speed_bonus; // 0x11f0 - int32_t night_vision_bonus; // 0x11f4 - int32_t movement_scepter; // 0x11f8 + float attack_point; // 0x12b8 + int32_t attack_range_bonus; // 0x12bc + int32_t projectile_speed_bonus; // 0x12c0 + int32_t night_vision_bonus; // 0x12c4 + int32_t movement_scepter; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1200 - int32_t max_attacks; // 0x1208 - int32_t m_iNumAttacks; // 0x120c + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12d0 + int32_t max_attacks; // 0x12d8 + int32_t m_iNumAttacks; // 0x12dc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Slow : public CDOTA_Buff { public: - float percent_damage; // 0x11e8 - int32_t move_slow; // 0x11ec + float percent_damage; // 0x12b8 + int32_t move_slow; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Winter_Wyvern_Splinter_Blast_Slow : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x11e8 + int32_t bonus_movespeed; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Winter_Wyvern_Cold_Embrace : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - int32_t heal_additive; // 0x11f0 - float heal_percentage; // 0x11f4 + int32_t heal_additive; // 0x12c0 + float heal_percentage; // 0x12c4 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse_Kill_Credit : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse_Aura : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - int32_t m_nAlliesTaunted; // 0x11ec - bool m_bRelicTriggered; // 0x11f0 + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + int32_t m_nAlliesTaunted; // 0x12bc + bool m_bRelicTriggered; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - int32_t radius; // 0x11f4 - int32_t damage_amplification; // 0x11f8 - int32_t damage_reduction; // 0x11fc - GameTime_t m_flLastSeen; // 0x1200 + int32_t radius; // 0x12c4 + int32_t damage_amplification; // 0x12c8 + int32_t damage_reduction; // 0x12cc + GameTime_t m_flLastSeen; // 0x12d0 }; -// Alignment: 4 -// Size: 0x11f8 +// Alignment: 5 +// Size: 0x12d0 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hZombieTarget; // 0x11e8 - CHandle< C_BaseEntity > m_hDesiredTarget; // 0x11ec - int32_t damage_reduction; // 0x11f0 - int32_t bonus_attack_speed; // 0x11f4 + CHandle< C_BaseEntity > m_hZombieTarget; // 0x12b8 + CHandle< C_BaseEntity > m_hDesiredTarget; // 0x12bc + int32_t damage_reduction; // 0x12c0 + int32_t damage_amplification; // 0x12c4 + int32_t bonus_attack_speed; // 0x12c8 }; // Alignment: 13 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_ArcWarden_Flux : public CDOTA_Buff { public: - int32_t m_nCasterTeam; // 0x11e8 - int32_t damage_per_second; // 0x11ec - int32_t tempest_damage_per_second; // 0x11f0 - int32_t search_radius; // 0x11f4 - int32_t move_speed_slow_pct; // 0x11f8 - int32_t tempest_move_speed_slow_pct; // 0x11fc - int32_t status_resist; // 0x1200 - float think_interval; // 0x1204 - int32_t m_nCurrentMovementSlow; // 0x1208 - int32_t m_nCurrentStatusResistance; // 0x120c - bool m_bAlone; // 0x1210 + int32_t m_nCasterTeam; // 0x12b8 + int32_t damage_per_second; // 0x12bc + int32_t tempest_damage_per_second; // 0x12c0 + int32_t search_radius; // 0x12c4 + int32_t move_speed_slow_pct; // 0x12c8 + int32_t tempest_move_speed_slow_pct; // 0x12cc + int32_t status_resist; // 0x12d0 + float think_interval; // 0x12d4 + int32_t m_nCurrentMovementSlow; // 0x12d8 + int32_t m_nCurrentStatusResistance; // 0x12dc + bool m_bAlone; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - ParticleIndex_t m_nFXIndex; // 0x1214 - bool m_bIsTempestVersion; // 0x1218 + ParticleIndex_t m_nFXIndex; // 0x12e4 + bool m_bIsTempestVersion; // 0x12e8 }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - int32_t radius; // 0x11f0 - Vector m_vPos; // 0x11f4 + int32_t radius; // 0x12c0 + Vector m_vPos; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_Attack_Speed : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_ArcWarden_MagneticField_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance; // 0x11e8 - int32_t radius; // 0x11ec - int32_t shard_magic_resist; // 0x11f0 - int32_t shard_slow_pct; // 0x11f4 - float aura_origin_x; // 0x11f8 - float aura_origin_y; // 0x11fc + int32_t evasion_chance; // 0x12b8 + int32_t radius; // 0x12bc + int32_t shard_magic_resist; // 0x12c0 + int32_t shard_slow_pct; // 0x12c4 + float aura_origin_x; // 0x12c8 + float aura_origin_y; // 0x12cc }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_AttackRange : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - int32_t radius; // 0x11f0 - Vector m_vPos; // 0x11f4 + int32_t radius; // 0x12c0 + Vector m_vPos; // 0x12c4 }; -// Alignment: 8 -// Size: 0x1220 +// Alignment: 9 +// Size: 0x12f0 class CDOTA_Modifier_ArcWarden_MagneticField_AttackRange : public CDOTA_Buff { public: - int32_t attack_range_bonus; // 0x11e8 - int32_t attack_magic_damage; // 0x11ec - int32_t radius; // 0x11f0 - int32_t shard_magic_resist; // 0x11f4 - int32_t shard_slow_pct; // 0x11f8 - float aura_origin_x; // 0x11fc - float aura_origin_y; // 0x1200 -private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 + int32_t attack_range_bonus; // 0x12b8 + int32_t attack_magic_damage; // 0x12bc + int32_t attack_damage_bonus; // 0x12c0 + int32_t radius; // 0x12c4 + int32_t shard_magic_resist; // 0x12c8 + int32_t shard_slow_pct; // 0x12cc + float aura_origin_x; // 0x12d0 + float aura_origin_y; // 0x12d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ArcWarden_MagneticField_Attack_Speed : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x11e8 + int32_t attack_speed_bonus; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ArcWarden_SparkWraith_Purge : public CDOTA_Buff { public: - int32_t move_speed_slow_pct; // 0x11e8 + int32_t move_speed_slow_pct; // 0x12b8 }; // Alignment: 11 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_ArcWarden_SparkWraith_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t scepter_radius; // 0x11ec - int32_t wraith_vision_radius; // 0x11f0 - int32_t wraith_speed; // 0x11f4 + int32_t radius; // 0x12b8 + int32_t scepter_radius; // 0x12bc + int32_t wraith_vision_radius; // 0x12c0 + int32_t wraith_speed; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f8[0x8]; // 0x11f8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - float activation_delay; // 0x1200 - float scepter_activation_delay; // 0x1204 - float think_interval; // 0x1208 - int32_t m_nSparkDamage; // 0x120c - int32_t m_nViewerID; // 0x1210 - bool m_bActive; // 0x1214 - bool m_bOriginal; // 0x1215 + float activation_delay; // 0x12d0 + float scepter_activation_delay; // 0x12d4 + float think_interval; // 0x12d8 + int32_t m_nSparkDamage; // 0x12dc + int32_t m_nViewerID; // 0x12e0 + bool m_bActive; // 0x12e4 + bool m_bOriginal; // 0x12e5 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ArcWarden_TempestDouble : public CDOTA_Buff { public: - int32_t penalty_distance; // 0x11e8 - int32_t attack_damage_penalty; // 0x11ec + int32_t penalty_distance; // 0x12b8 + int32_t attack_damage_penalty; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ArcWarden_TempestDouble_DistancePenalty : public CDOTA_Buff { public: - int32_t attack_damage_penalty; // 0x11e8 + int32_t attack_damage_penalty; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Arc_Warden_Scepter : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hRune; // 0x11e8 + CHandle< C_BaseEntity > m_hRune; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Banana : public CDOTA_Buff { public: - int32_t slide_distance; // 0x11e8 - int32_t radius; // 0x11ec - float slide_duration; // 0x11f0 + int32_t slide_distance; // 0x12b8 + int32_t radius; // 0x12bc + float slide_duration; // 0x12c0 }; // Alignment: 11 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Banana_Knockback : public CDOTA_Buff { public: - Vector m_vCenter; // 0x11e8 - int32_t knockback_distance; // 0x11f4 - int32_t knockback_height; // 0x11f8 - float knockback_duration; // 0x11fc - Vector m_vHorizOffset; // 0x1200 - Vector m_vStartPosition; // 0x120c - Vector m_vDir; // 0x1218 - float m_fCurrentTimeHoriz; // 0x1224 - float m_fCurrentTimeVert; // 0x1228 - bool m_bShouldStun; // 0x122c + Vector m_vCenter; // 0x12b8 + int32_t knockback_distance; // 0x12c4 + int32_t knockback_height; // 0x12c8 + float knockback_duration; // 0x12cc + Vector m_vHorizOffset; // 0x12d0 + Vector m_vStartPosition; // 0x12dc + Vector m_vDir; // 0x12e8 + float m_fCurrentTimeHoriz; // 0x12f4 + float m_fCurrentTimeVert; // 0x12f8 + bool m_bShouldStun; // 0x12fc private: - [[maybe_unused]] uint8_t __pad122d[0x3]; // 0x122d + [[maybe_unused]] uint8_t __pad12fd[0x3]; // 0x12fd public: - float flTimeSinceChange; // 0x1230 + float flTimeSinceChange; // 0x1300 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MonkeyKing_Strike_Stun : public CDOTA_Modifier_Stunned { public: @@ -26376,44 +26970,44 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MonkeyKing_Strike_Crit : public CDOTA_Buff { public: - int32_t strike_crit_mult; // 0x11e8 + int32_t strike_crit_mult; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MonkeyKing_Bounce : public CDOTA_Buff { public: - float jump_damage_cooldown; // 0x11e8 + float jump_damage_cooldown; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_BounceLeap : public CDOTA_Buff { public: - float give_up_distance; // 0x11e8 - float ground_jump_distance; // 0x11ec - float m_flZDelta; // 0x11f0 - float perched_day_vision; // 0x11f4 - float perched_night_vision; // 0x11f8 + float give_up_distance; // 0x12b8 + float ground_jump_distance; // 0x12bc + float m_flZDelta; // 0x12c0 + float perched_day_vision; // 0x12c4 + float perched_night_vision; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MonkeyKing_TreeDance_Activity : public CDOTA_Buff { public: - float m_fAbilityRangePct; // 0x11e8 - float m_bIsSpring; // 0x11ec + float m_fAbilityRangePct; // 0x12b8 + float m_bIsSpring; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MonkeyKing_RightClickJump_Activity : public CDOTA_Buff { public: @@ -26421,24 +27015,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MonkeyKing_SpringSlow : public CDOTA_Buff { public: - int32_t impact_movement_slow; // 0x11e8 - int32_t m_nSlowPct; // 0x11ec + int32_t impact_movement_slow; // 0x12b8 + int32_t m_nSlowPct; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MonkeyKing_Spring_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 + ParticleIndex_t m_nFXIndex; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MonkeyKing_TreeJump_Hidden : public CDOTA_Buff { public: @@ -26446,7 +27040,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MonkeyKing_UnperchedStunned : public CDOTA_Modifier_Stunned { public: @@ -26454,95 +27048,95 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_ArcToGround : public CDOTA_Buff { public: - float leap_speed; // 0x11e8 - float give_up_distance; // 0x11ec - float attackspeed_duration; // 0x11f0 - float m_flOriginalZDelta; // 0x11f4 - float m_flZDelta; // 0x11f8 + float leap_speed; // 0x12b8 + float give_up_distance; // 0x12bc + float attackspeed_duration; // 0x12c0 + float m_flOriginalZDelta; // 0x12c4 + float m_flZDelta; // 0x12c8 }; // Alignment: 15 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_MonkeyKing_Transform : public CDOTA_Buff { public: - CUtlString m_strDisguise; // 0x11e8 - int32_t movespeed; // 0x11f0 - int32_t m_nDisguisedSpeed; // 0x11f4 - int32_t reveal_radius; // 0x11f8 - ParticleIndex_t m_nDisguiseEffectIndex; // 0x11fc - CHandle< C_BaseEntity > m_hCourierToClone; // 0x1200 - CHandle< C_BaseEntity > m_hCreepToClone; // 0x1204 - CUtlVector< CHandle< C_BaseEntity > > m_aryBountyRuneSpawners; // 0x1208 - bool m_bIsFlyingCourier; // 0x1220 - bool m_bIsRune; // 0x1221 - bool m_bIsBanana; // 0x1222 - bool m_bIsFakeAlly; // 0x1223 - uint32_t m_nMischiefUnitType; // 0x1224 - int32_t m_nMischiefHealthbarOffset; // 0x1228 - float invul_duration; // 0x122c + CUtlString m_strDisguise; // 0x12b8 + int32_t movespeed; // 0x12c0 + int32_t m_nDisguisedSpeed; // 0x12c4 + int32_t reveal_radius; // 0x12c8 + ParticleIndex_t m_nDisguiseEffectIndex; // 0x12cc + CHandle< C_BaseEntity > m_hCourierToClone; // 0x12d0 + CHandle< C_BaseEntity > m_hCreepToClone; // 0x12d4 + CUtlVector< CHandle< C_BaseEntity > > m_aryBountyRuneSpawners; // 0x12d8 + bool m_bIsFlyingCourier; // 0x12f0 + bool m_bIsRune; // 0x12f1 + bool m_bIsBanana; // 0x12f2 + bool m_bIsFakeAlly; // 0x12f3 + uint32_t m_nMischiefUnitType; // 0x12f4 + int32_t m_nMischiefHealthbarOffset; // 0x12f8 + float invul_duration; // 0x12fc }; // Alignment: 10 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_MonkeyKing_FurArmyThinker : public CDOTA_Buff { public: - float m_fDuration; // 0x11e8 - GameTime_t m_fTimeThinkerCreated; // 0x11ec - CUtlVector< Vector > m_vTargetPositions; // 0x11f0 - Vector m_vInitialPos; // 0x1208 - int32_t first_radius; // 0x1214 - int32_t num_first_soldiers; // 0x1218 - int32_t second_radius; // 0x121c - int32_t num_second_soldiers; // 0x1220 - ParticleIndex_t m_nRingFXIndex; // 0x1224 - int32_t final_radius; // 0x1228 + float m_fDuration; // 0x12b8 + GameTime_t m_fTimeThinkerCreated; // 0x12bc + CUtlVector< Vector > m_vTargetPositions; // 0x12c0 + Vector m_vInitialPos; // 0x12d8 + int32_t first_radius; // 0x12e4 + int32_t num_first_soldiers; // 0x12e8 + int32_t second_radius; // 0x12ec + int32_t num_second_soldiers; // 0x12f0 + ParticleIndex_t m_nRingFXIndex; // 0x12f4 + int32_t final_radius; // 0x12f8 }; // Alignment: 7 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_MonkeyKing_FurArmy_Soldier : public CDOTA_Buff { public: - Vector m_vTargetPos; // 0x11e8 - Vector m_vDirection; // 0x11f4 - int32_t move_speed; // 0x1200 - CHandle< C_BaseEntity > m_hThinker; // 0x1204 - bool m_bIsInPosition; // 0x1208 + Vector m_vTargetPos; // 0x12b8 + Vector m_vDirection; // 0x12c4 + int32_t move_speed; // 0x12d0 + CHandle< C_BaseEntity > m_hThinker; // 0x12d4 + bool m_bIsInPosition; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - ParticleIndex_t m_nFXIndex; // 0x120c - bool m_bAutoSpawn; // 0x1210 + ParticleIndex_t m_nFXIndex; // 0x12dc + bool m_bAutoSpawn; // 0x12e0 }; // Alignment: 10 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierInPosition : public CDOTA_Buff { public: - Vector m_vTargetPos; // 0x11e8 - CHandle< C_BaseEntity > m_hAttackTarget; // 0x11f4 - float attack_speed; // 0x11f8 - int32_t second_radius; // 0x11fc - int32_t outer_attack_buffer; // 0x1200 - CHandle< C_BaseEntity > m_hThinker; // 0x1204 - bool m_bDisarmed; // 0x1208 + Vector m_vTargetPos; // 0x12b8 + CHandle< C_BaseEntity > m_hAttackTarget; // 0x12c4 + float attack_speed; // 0x12c8 + int32_t second_radius; // 0x12cc + int32_t outer_attack_buffer; // 0x12d0 + CHandle< C_BaseEntity > m_hThinker; // 0x12d4 + bool m_bDisarmed; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - GameTime_t m_flNextAttackTime; // 0x120c - ParticleIndex_t m_nFXIndex; // 0x1210 - bool m_bAutoSpawn; // 0x1214 + GameTime_t m_flNextAttackTime; // 0x12dc + ParticleIndex_t m_nFXIndex; // 0x12e0 + bool m_bAutoSpawn; // 0x12e4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierInactive : public CDOTA_Buff { public: @@ -26550,7 +27144,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierHidden : public CDOTA_Buff { public: @@ -26558,7 +27152,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_ObliterateSoldier : public CDOTA_Buff { public: @@ -26566,46 +27160,46 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MonkeyKing_FurArmy_BonusDamage : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_MonkeyKing_QuadrupleTap : public CDOTA_Buff { public: - int32_t counter_duration; // 0x11e8 - int32_t required_hits; // 0x11ec - int32_t max_duration; // 0x11f0 + int32_t counter_duration; // 0x12b8 + int32_t required_hits; // 0x12bc + int32_t max_duration; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MonkeyKing_QuadrupleTap_Counter : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x11e8 + ParticleIndex_t m_nFXStackIndex; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_QuadrupleTap_Bonuses : public CDOTA_Buff { public: - int32_t charges; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t lifesteal; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - int32_t m_nIgnoreStrikeIndex; // 0x11f8 - bool m_bIsAttackAnim; // 0x11fc + int32_t charges; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t lifesteal; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + int32_t m_nIgnoreStrikeIndex; // 0x12c8 + bool m_bIsAttackAnim; // 0x12cc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MonkeyKing_CloudRun : public CDOTA_Buff { public: @@ -26613,77 +27207,78 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MonkeyKing_CloudRunStart : public CDOTA_Buff { public: // No members available }; -// Alignment: 4 -// Size: 0x11f8 +// Alignment: 5 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_BoundlessStrike_ShardMovement : public CDOTA_Buff { public: - int32_t acceleration_z; // 0x11e8 - int32_t min_height_above_lowest; // 0x11ec - int32_t min_height_above_highest; // 0x11f0 - int32_t max_horizontal_acceleration; // 0x11f4 + int32_t acceleration_z; // 0x12b8 + int32_t min_height_above_lowest; // 0x12bc + int32_t min_height_above_highest; // 0x12c0 + int32_t max_horizontal_acceleration; // 0x12c4 + int32_t spring_channel_pct; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pangolier_HeartPiercer : public CDOTA_Buff { public: - float debuff_delay; // 0x11e8 - int32_t chance_pct; // 0x11ec + float debuff_delay; // 0x12b8 + int32_t chance_pct; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pangolier_HeartPiercer_Delay : public CDOTA_Buff { public: - float duration; // 0x11e8 - float debuff_delay; // 0x11ec + float duration; // 0x12b8 + float debuff_delay; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pangolier_HeartPiercer_Debuff : public CDOTA_Buff { public: - int32_t slow_pct; // 0x11e8 + int32_t slow_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pangolier_LuckyShot : public CDOTA_Buff { public: - int32_t chance_pct; // 0x11e8 + int32_t chance_pct; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pangolier_LuckyShot_Disarm : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t armor; // 0x11ec + int32_t armor; // 0x12b8 + int32_t attack_slow; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pangolier_LuckyShot_Silence : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pangolier_ShieldCrash_Jump : public CDOTA_Buff { public: @@ -26691,23 +27286,27 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pangolier_ShieldCrash_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 5 +// Size: 0x12d0 class CDOTA_Modifier_Pangolier_ShieldCrash_Buff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t m_nAbsorbRemaining; // 0x12bc + int32_t hero_shield; // 0x12c0 + int32_t base_shield; // 0x12c4 + int32_t accummulated_value; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pangolier_Swashbuckle_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -26715,27 +27314,27 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pangolier_Swashbuckle_Attack : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 + int32_t damage; // 0x12b8 }; // Alignment: 5 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Pangolier_Swashbuckle : public CDOTA_Buff { public: - int32_t m_nStrikesLeft; // 0x11e8 - float attack_interval; // 0x11ec - Vector m_vSpawnPos; // 0x11f0 - Vector m_vStrikeDir; // 0x11fc - Vector m_vDashDir; // 0x1208 + int32_t m_nStrikesLeft; // 0x12b8 + float attack_interval; // 0x12bc + Vector m_vSpawnPos; // 0x12c0 + Vector m_vStrikeDir; // 0x12cc + Vector m_vDashDir; // 0x12d8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pangolier_Swashbuckle_Stunned : public CDOTA_Buff { public: @@ -26743,40 +27342,40 @@ public: }; // Alignment: 20 -// Size: 0x1288 +// Size: 0x1358 class CDOTA_Modifier_Pangolier_Gyroshell : public CDOTA_Modifier_DebuffImmune { public: - int32_t mp_cost_per_second; // 0x11e8 - float tick_interval; // 0x11ec - float forward_move_speed; // 0x11f0 - float turn_rate_boosted; // 0x11f4 - float turn_rate; // 0x11f8 - int32_t hit_radius; // 0x11fc - int32_t knockback_radius; // 0x1200 - bool m_bHitFirstUpdate; // 0x1204 + int32_t mp_cost_per_second; // 0x12b8 + float tick_interval; // 0x12bc + float forward_move_speed; // 0x12c0 + float turn_rate_boosted; // 0x12c4 + float turn_rate; // 0x12c8 + int32_t hit_radius; // 0x12cc + int32_t knockback_radius; // 0x12d0 + bool m_bHitFirstUpdate; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - GameTime_t m_flHitEndTime; // 0x1208 - float hit_recover_time; // 0x120c - GameTime_t m_flJumpEndTime; // 0x1210 - float jump_recover_time; // 0x1214 - float m_flTurnBoostProgress; // 0x1218 - float m_flFacingTarget; // 0x121c - bool m_bIsJumping; // 0x1220 + GameTime_t m_flHitEndTime; // 0x12d8 + float hit_recover_time; // 0x12dc + GameTime_t m_flJumpEndTime; // 0x12e0 + float jump_recover_time; // 0x12e4 + float m_flTurnBoostProgress; // 0x12e8 + float m_flFacingTarget; // 0x12ec + bool m_bIsJumping; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad1221[0x3]; // 0x1221 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - ParticleIndex_t m_nFXIndex; // 0x1224 - CUtlVector< float32 > m_flTurnHistory; // 0x1228 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1240 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1258 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1270 + ParticleIndex_t m_nFXIndex; // 0x12f4 + CUtlVector< float32 > m_flTurnHistory; // 0x12f8 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1310 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1328 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1340 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pangolier_Gyroshell_Ricochet : public CDOTA_Buff { public: @@ -26784,7 +27383,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pangolier_GyroshellTimeout : public CDOTA_Buff { public: @@ -26792,7 +27391,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pangolier_GyroshellBounce : public CDOTA_Buff { public: @@ -26800,7 +27399,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pangolier_Gyroshell_Stun : public CDOTA_Modifier_Stunned { public: @@ -26808,69 +27407,69 @@ public: }; // Alignment: 22 -// Size: 0x1290 +// Size: 0x1360 class CDOTA_Modifier_Pangolier_Rollup : public CDOTA_Modifier_DebuffImmune { public: - int32_t mp_cost_per_second; // 0x11e8 - float tick_interval; // 0x11ec - float forward_move_speed; // 0x11f0 - float turn_rate_boosted; // 0x11f4 - float turn_rate; // 0x11f8 - int32_t hit_radius; // 0x11fc - int32_t knockback_radius; // 0x1200 - bool m_bHitFirstUpdate; // 0x1204 + int32_t mp_cost_per_second; // 0x12b8 + float tick_interval; // 0x12bc + float forward_move_speed; // 0x12c0 + float turn_rate_boosted; // 0x12c4 + float turn_rate; // 0x12c8 + int32_t hit_radius; // 0x12cc + int32_t knockback_radius; // 0x12d0 + bool m_bHitFirstUpdate; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - GameTime_t m_flHitEndTime; // 0x1208 - float hit_recover_time; // 0x120c - GameTime_t m_flJumpEndTime; // 0x1210 - float jump_recover_time; // 0x1214 - float m_flTurnBoostProgress; // 0x1218 - float m_flFacingTarget; // 0x121c - GameTime_t m_flLastHeroAttackTime; // 0x1220 - bool m_bIsJumping; // 0x1224 + GameTime_t m_flHitEndTime; // 0x12d8 + float hit_recover_time; // 0x12dc + GameTime_t m_flJumpEndTime; // 0x12e0 + float jump_recover_time; // 0x12e4 + float m_flTurnBoostProgress; // 0x12e8 + float m_flFacingTarget; // 0x12ec + GameTime_t m_flLastHeroAttackTime; // 0x12f0 + bool m_bIsJumping; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad1225[0x3]; // 0x1225 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - ParticleIndex_t m_nFXIndex; // 0x1228 - float m_flGyroshellDurationRemaining; // 0x122c - CUtlVector< float32 > m_flTurnHistory; // 0x1230 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1248 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1260 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1278 + ParticleIndex_t m_nFXIndex; // 0x12f8 + float m_flGyroshellDurationRemaining; // 0x12fc + CUtlVector< float32 > m_flTurnHistory; // 0x1300 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1318 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1330 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1348 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_DarkWillow_BrambleMaze_Creation_Thinker : public CDOTA_Buff { public: - float latch_creation_interval; // 0x11e8 - float initial_creation_delay; // 0x11ec - int32_t placement_count; // 0x11f0 - float placement_duration; // 0x11f4 - int32_t m_iBramblesIndex; // 0x11f8 + float latch_creation_interval; // 0x12b8 + float initial_creation_delay; // 0x12bc + int32_t placement_count; // 0x12c0 + float placement_duration; // 0x12c4 + int32_t m_iBramblesIndex; // 0x12c8 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_DarkWillow_BrambleMaze_Thinker : public CDOTA_Buff { public: - int32_t latch_range; // 0x11e8 - int32_t latch_vision; // 0x11ec - float latch_creation_delay; // 0x11f0 - float latch_duration; // 0x11f4 + int32_t latch_range; // 0x12b8 + int32_t latch_vision; // 0x12bc + float latch_creation_delay; // 0x12c0 + float latch_duration; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f8[0x8]; // 0x11f8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - bool m_bActive; // 0x1200 + bool m_bActive; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DarkWillow_BrambleMaze : public CDOTA_Buff { public: @@ -26878,7 +27477,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DarkWillow_ShadowRealm_FadeTime : public CDOTA_Buff { public: @@ -26886,97 +27485,102 @@ public: }; // Alignment: 9 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_DarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - float max_damage_duration; // 0x11ec - int32_t attack_range_bonus; // 0x11f0 + int32_t damage; // 0x12b8 + float max_damage_duration; // 0x12bc + int32_t attack_range_bonus; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 - bool bAttackRange; // 0x1210 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + bool bAttackRange; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - GameTime_t m_flStartTime; // 0x1214 - GameTime_t m_flFadeTime; // 0x1218 - float m_flDamageScale; // 0x121c - float duration; // 0x1220 + GameTime_t m_flStartTime; // 0x12e4 + GameTime_t m_flFadeTime; // 0x12e8 + float m_flDamageScale; // 0x12ec + float duration; // 0x12f0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_DarkWillow_ShadowRealm_Buff_Attack_Logic : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t m_iRecord; // 0x11ec - float m_flDamageScale; // 0x11f0 + int32_t damage; // 0x12b8 + int32_t m_iRecord; // 0x12bc + float m_flDamageScale; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_DarkWillow_CursedCrown : public CDOTA_Buff { public: - float delay; // 0x11e8 - float stun_duration; // 0x11ec - int32_t stun_radius; // 0x11f0 - GameTime_t m_fStartTime; // 0x11f4 + float delay; // 0x12b8 + float stun_duration; // 0x12bc + int32_t stun_radius; // 0x12c0 + GameTime_t m_fStartTime; // 0x12c4 }; -// Alignment: 8 -// Size: 0x1208 +// Alignment: 10 +// Size: 0x12e0 class CDOTA_Modifier_DarkWillow_Bedlam : public CDOTA_Buff { public: - float m_flRotation; // 0x11e8 - CHandle< C_BaseEntity > m_hWisp; // 0x11ec - GameTime_t m_flLastAttack; // 0x11f0 - int32_t roaming_radius; // 0x11f4 - int32_t attack_radius; // 0x11f8 - float roaming_seconds_per_rotation; // 0x11fc - float attack_interval; // 0x1200 - int32_t target_count; // 0x1204 + float m_flRotation; // 0x12b8 + CHandle< C_BaseEntity > m_hWisp; // 0x12bc + GameTime_t m_flLastAttack; // 0x12c0 + int32_t roaming_radius; // 0x12c4 + int32_t attack_radius; // 0x12c8 + float roaming_seconds_per_rotation; // 0x12cc + float attack_interval; // 0x12d0 + int32_t target_count; // 0x12d4 + bool m_bTravelling; // 0x12d8 +private: + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 +public: + int32_t travel_speed; // 0x12dc }; // Alignment: 14 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_DarkWillow_Terrorize_Thinker : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hWisp; // 0x11e8 - int32_t destination_travel_speed; // 0x11ec - int32_t return_travel_speed; // 0x11f0 - int32_t destination_radius; // 0x11f4 - float destination_status_duration; // 0x11f8 - float initial_delay; // 0x11fc - float starting_height; // 0x1200 - Vector m_vAttackLocation; // 0x1204 - bool m_bAttacking; // 0x1210 - bool m_bReturning; // 0x1211 + CHandle< C_BaseEntity > m_hWisp; // 0x12b8 + int32_t destination_travel_speed; // 0x12bc + int32_t return_travel_speed; // 0x12c0 + int32_t destination_radius; // 0x12c4 + float destination_status_duration; // 0x12c8 + float initial_delay; // 0x12cc + float starting_height; // 0x12d0 + Vector m_vAttackLocation; // 0x12d4 + bool m_bAttacking; // 0x12e0 + bool m_bReturning; // 0x12e1 private: - [[maybe_unused]] uint8_t __pad1212[0x2]; // 0x1212 + [[maybe_unused]] uint8_t __pad12e2[0x2]; // 0x12e2 public: - float m_fCurHeight; // 0x1214 - float m_fEstimatedTravelTime; // 0x1218 - float think_interval; // 0x121c - bool m_bInFlight; // 0x1220 + float m_fCurHeight; // 0x12e4 + float m_fEstimatedTravelTime; // 0x12e8 + float think_interval; // 0x12ec + bool m_bInFlight; // 0x12f0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DarkWillow_Debuff_Fear : public CDOTA_Modifier_Fear { public: - bool m_bDidGiveOrder; // 0x11e8 + bool m_bDidGiveOrder; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DarkWillow_Creature_Invulnerable : public CDOTA_Buff { public: @@ -26984,158 +27588,159 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Grimstroke_InkCreature_Spawning : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hAttachTarget; // 0x11e8 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12b8 }; // Alignment: 10 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Grimstroke_InkCreature : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - ParticleIndex_t m_nAmbientFXIndex; // 0x11ec - int32_t m_nAttackCount; // 0x11f0 - bool m_bIsLatched; // 0x11f4 + ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nAmbientFXIndex; // 0x12bc + int32_t m_nAttackCount; // 0x12c0 + bool m_bIsLatched; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - CHandle< C_BaseEntity > m_hAttachTarget; // 0x11f8 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CountdownTimer m_EnemyVision; // 0x1200 - float latch_duration; // 0x1218 - float speed; // 0x121c - int32_t destroy_attacks; // 0x1220 - int32_t hero_attack_multiplier; // 0x1224 + CountdownTimer m_EnemyVision; // 0x12d0 + float latch_duration; // 0x12e8 + float speed; // 0x12ec + int32_t destroy_attacks; // 0x12f0 + int32_t hero_attack_multiplier; // 0x12f4 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Grimstroke_InkCreature_Debuff : public CDOTA_Buff { public: - float m_flCurrentArmorReduction; // 0x11e8 - CHandle< C_BaseEntity > m_hLatchedCreature; // 0x11ec - float tick_interval; // 0x11f0 - int32_t damage_per_second; // 0x11f4 + float m_flCurrentArmorReduction; // 0x12b8 + CHandle< C_BaseEntity > m_hLatchedCreature; // 0x12bc + float tick_interval; // 0x12c0 + int32_t damage_per_second; // 0x12c4 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Grimstroke_InkCreature_Latched : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hAttachTarget; // 0x11e8 - float m_fZOffset; // 0x11ec - bool m_bRemovedByEnemy; // 0x11f0 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12b8 + float m_fZOffset; // 0x12bc + bool m_bRemovedByEnemy; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - float latch_duration; // 0x11f4 - int32_t pop_damage; // 0x11f8 - int32_t latched_unit_offset; // 0x11fc - int32_t latched_unit_offset_short; // 0x1200 + float latch_duration; // 0x12c4 + int32_t pop_damage; // 0x12c8 + int32_t latched_unit_offset; // 0x12cc + int32_t latched_unit_offset_short; // 0x12d0 }; -// Alignment: 14 -// Size: 0x1220 +// Alignment: 15 +// Size: 0x12f8 class CDOTA_Modifier_Grimstroke_SpiritWalk_Buff : public CDOTA_Buff { public: - GameTime_t m_fStartTime; // 0x11e8 - int32_t m_nHeroTickDamageApplied; // 0x11ec - GameTime_t m_fLastEffectsTime; // 0x11f0 - int32_t radius; // 0x11f4 - float buff_duration; // 0x11f8 - float debuff_duration; // 0x11fc - int32_t max_damage; // 0x1200 - float max_stun; // 0x1204 - int32_t movespeed_bonus_pct; // 0x1208 - int32_t damage_per_tick; // 0x120c - float tick_rate; // 0x1210 - float max_threshold_duration; // 0x1214 - int32_t shard_bonus_damage_pct; // 0x1218 - int32_t shard_heal_pct; // 0x121c + GameTime_t m_fStartTime; // 0x12b8 + int32_t m_nHeroTickDamageApplied; // 0x12bc + GameTime_t m_fLastEffectsTime; // 0x12c0 + int32_t radius; // 0x12c4 + float buff_duration; // 0x12c8 + float debuff_duration; // 0x12cc + int32_t max_damage; // 0x12d0 + float max_stun; // 0x12d4 + int32_t movespeed_bonus_pct; // 0x12d8 + int32_t damage_per_tick; // 0x12dc + float tick_rate; // 0x12e0 + float max_threshold_duration; // 0x12e4 + int32_t shard_bonus_damage_pct; // 0x12e8 + int32_t shard_heal_pct; // 0x12ec + bool m_bIsReflection; // 0x12f0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Grimstroke_DarkArtistry_Slow : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x11e8 + int32_t movement_slow_pct; // 0x12b8 }; // Alignment: 17 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Grimstroke_SoulChain : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hPartner; // 0x11e8 - bool m_bIsPrimary; // 0x11ec - bool m_bEscaped; // 0x11ed - bool m_bTethered; // 0x11ee + CHandle< C_BaseEntity > m_hPartner; // 0x12b8 + bool m_bIsPrimary; // 0x12bc + bool m_bEscaped; // 0x12bd + bool m_bTethered; // 0x12be private: - [[maybe_unused]] uint8_t __pad11ef[0x1]; // 0x11ef + [[maybe_unused]] uint8_t __pad12bf[0x1]; // 0x12bf public: - ParticleIndex_t m_nFXIndex; // 0x11f0 - ParticleIndex_t m_nFXIndexA; // 0x11f4 - ParticleIndex_t m_nFXIndexB; // 0x11f8 - bool m_bStartedLeashSound; // 0x11fc + ParticleIndex_t m_nFXIndex; // 0x12c0 + ParticleIndex_t m_nFXIndexA; // 0x12c4 + ParticleIndex_t m_nFXIndexB; // 0x12c8 + bool m_bStartedLeashSound; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float m_fLeashDistance; // 0x1200 - GameTime_t m_fOriginalStartTime; // 0x1204 - ParticleIndex_t m_nOverheadFXIndex; // 0x1208 - int32_t chain_latch_radius; // 0x120c - int32_t chain_break_distance; // 0x1210 - float leash_limit_multiplier; // 0x1214 - float chain_duration; // 0x1218 - float creep_duration_pct; // 0x121c - int32_t bonus_reflected_spell_damage; // 0x1220 + float m_fLeashDistance; // 0x12d0 + GameTime_t m_fOriginalStartTime; // 0x12d4 + ParticleIndex_t m_nOverheadFXIndex; // 0x12d8 + int32_t chain_latch_radius; // 0x12dc + int32_t chain_break_distance; // 0x12e0 + float leash_limit_multiplier; // 0x12e4 + float chain_duration; // 0x12e8 + float creep_duration_pct; // 0x12ec + int32_t bonus_reflected_spell_damage; // 0x12f0 }; // Alignment: 7 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Grimstroke_SoulChain_ChannelCheck : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hAbility; // 0x11e8 - CHandle< C_BaseEntity > m_hTarget; // 0x11ec - CUtlVector< CHandle< C_BaseEntity > > m_hAbilities; // 0x11f0 - Vector m_vLocation; // 0x1208 - GameTime_t m_fChannelEnd; // 0x1214 - bool m_bInterrupt; // 0x1218 - bool m_bExpired; // 0x1219 + CHandle< C_BaseEntity > m_hAbility; // 0x12b8 + CHandle< C_BaseEntity > m_hTarget; // 0x12bc + CUtlVector< CHandle< C_BaseEntity > > m_hAbilities; // 0x12c0 + Vector m_vLocation; // 0x12d8 + GameTime_t m_fChannelEnd; // 0x12e4 + bool m_bInterrupt; // 0x12e8 + bool m_bExpired; // 0x12e9 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Grimstroke_Scepter_Buff : public CDOTA_Modifier_DebuffImmune { public: - int32_t images_movespeed_bonus; // 0x11e8 + int32_t images_movespeed_bonus; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Grimstroke_Shard_Buff : public CDOTA_Buff { public: - int32_t total_damage; // 0x11e8 - int32_t attack_speed; // 0x11ec - int32_t move_speed; // 0x11f0 - float m_flInterval; // 0x11f4 + int32_t total_damage; // 0x12b8 + int32_t attack_speed; // 0x12bc + int32_t move_speed; // 0x12c0 + float m_flInterval; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mars_Spear_Impale : public CDOTA_Buff { public: @@ -27143,28 +27748,28 @@ public: }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Special_Mars_Spear_Burning_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x11e8 - int32_t shard_trail_radius; // 0x11f4 - float shard_debuff_linger_duration; // 0x11f8 - float shard_interval; // 0x11fc + Vector m_vPathDir; // 0x12b8 + int32_t shard_trail_radius; // 0x12c4 + float shard_debuff_linger_duration; // 0x12c8 + float shard_interval; // 0x12cc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Mars_Spear_Burning_Trail_Burn : public CDOTA_Buff { public: - int32_t shard_dps; // 0x11e8 - int32_t shard_move_slow_pct; // 0x11ec - float shard_interval; // 0x11f0 + int32_t shard_dps; // 0x12b8 + int32_t shard_move_slow_pct; // 0x12bc + float shard_interval; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mars_Spear_Stun : public CDOTA_Modifier_Stunned { public: @@ -27172,26 +27777,26 @@ public: }; // Alignment: 4 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Mars_ArenaOfBlood_Thinker : public CDOTA_Buff { public: - float radius; // 0x11e8 - float formation_time; // 0x11ec - float m_flInitialZ; // 0x11f0 - float m_flFinalZ; // 0x11f4 + float radius; // 0x12b8 + float formation_time; // 0x12bc + float m_flInitialZ; // 0x12c0 + float m_flFinalZ; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mars_ArenaOfBlood_AnimationAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mars_ArenaOfBlood_Animation : public CDOTA_Buff { public: @@ -27199,40 +27804,40 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mars_ArenaOfBlood_BuffAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mars_ArenaOfBlood_Buff : public CDOTA_Buff { public: - int32_t health_regen; // 0x11e8 + int32_t health_regen; // 0x12b8 }; // Alignment: 7 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Mars_ArenaOfBlood : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t width; // 0x11ec - int32_t spear_damage; // 0x11f0 - int32_t spear_distance_from_wall; // 0x11f4 - float spear_attack_interval; // 0x11f8 + int32_t radius; // 0x12b8 + int32_t width; // 0x12bc + int32_t spear_damage; // 0x12c0 + int32_t spear_distance_from_wall; // 0x12c4 + float spear_attack_interval; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x1c]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x1c]; // 0x12cc public: - float warrior_fade_min_dist; // 0x1218 - float warrior_fade_max_dist; // 0x121c + float warrior_fade_min_dist; // 0x12e8 + float warrior_fade_max_dist; // 0x12ec }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Mars_ArenaOfBlood_Spear : public CDOTA_Modifier_Knockback { public: @@ -27240,17 +27845,17 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Mars_ArenaOfBlood_Leash : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float width; // 0x11ec - Vector m_vOriginLoc; // 0x11f0 + int32_t radius; // 0x12b8 + float width; // 0x12bc + Vector m_vOriginLoc; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mars_ArenaOfBlood_Marker : public CDOTA_Buff { public: @@ -27258,65 +27863,71 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Mars_Bulwark : public CDOTA_Buff { public: - float physical_damage_reduction; // 0x11e8 - float physical_damage_reduction_side; // 0x11ec - float forward_angle; // 0x11f0 - float side_angle; // 0x11f4 + float physical_damage_reduction; // 0x12b8 + float physical_damage_reduction_side; // 0x12bc + float forward_angle; // 0x12c0 + float side_angle; // 0x12c4 }; // Alignment: 13 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Mars_Bulwark_Active : public CDOTA_Buff { public: - int32_t redirect_chance; // 0x11e8 - int32_t redirect_range; // 0x11ec - float forward_angle; // 0x11f0 - float side_angle; // 0x11f4 - int32_t redirect_speed_penatly; // 0x11f8 - int32_t redirect_close_range; // 0x11fc - int32_t m_nPoseParameterWE; // 0x1200 - int32_t m_nPoseParameterNS; // 0x1204 - float m_flLastPoseX; // 0x1208 - float m_flLastPoseY; // 0x120c - int32_t m_nLastMaxDirection; // 0x1210 - Vector m_vLastOrigin; // 0x1214 - GameTime_t m_flLastGameTime; // 0x1220 + int32_t redirect_chance; // 0x12b8 + int32_t redirect_range; // 0x12bc + float forward_angle; // 0x12c0 + float side_angle; // 0x12c4 + int32_t redirect_speed_penatly; // 0x12c8 + int32_t redirect_close_range; // 0x12cc + int32_t m_nPoseParameterWE; // 0x12d0 + int32_t m_nPoseParameterNS; // 0x12d4 + float m_flLastPoseX; // 0x12d8 + float m_flLastPoseY; // 0x12dc + int32_t m_nLastMaxDirection; // 0x12e0 + Vector m_vLastOrigin; // 0x12e4 + GameTime_t m_flLastGameTime; // 0x12f0 }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Mars_Bulwark_Soldier_Bonus : public CDOTA_Buff { public: - int32_t m_nPoseParameterWE; // 0x11e8 - int32_t m_nPoseParameterNS; // 0x11ec - float m_flLastPoseX; // 0x11f0 - float m_flLastPoseY; // 0x11f4 - int32_t m_nLastMaxDirection; // 0x11f8 - Vector m_vLastOrigin; // 0x11fc - GameTime_t m_flLastGameTime; // 0x1208 + int32_t m_nPoseParameterWE; // 0x12b8 + int32_t m_nPoseParameterNS; // 0x12bc + float m_flLastPoseX; // 0x12c0 + float m_flLastPoseY; // 0x12c4 + int32_t m_nLastMaxDirection; // 0x12c8 + Vector m_vLastOrigin; // 0x12cc + GameTime_t m_flLastGameTime; // 0x12d8 }; -// Alignment: 6 -// Size: 0x1200 +// Alignment: 9 +// Size: 0x1300 class CDOTA_Modifier_Mars_Bulwark_Soldier_Thinker : public CDOTA_Buff { public: - GameTime_t m_NextAttack; // 0x11e8 - CHandle< C_BaseEntity > m_hSoldier1; // 0x11ec - CHandle< C_BaseEntity > m_hSoldier2; // 0x11f0 - CHandle< C_BaseEntity > m_hSoldier3; // 0x11f4 - CHandle< C_BaseEntity > m_hSoldier4; // 0x11f8 - CHandle< C_BaseEntity > m_hSoldier5; // 0x11fc + GameTime_t m_NextAttack; // 0x12b8 + int32_t soldier_offset; // 0x12bc + int32_t soldier_count; // 0x12c0 + int32_t forward_angle; // 0x12c4 + int32_t knockback_distance; // 0x12c8 +private: + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc +public: + CUtlVector< CHandle< C_BaseEntity > > m_hAllSoldiers; // 0x12d0 + GameTime_t m_flLastStationaryTime; // 0x12e8 + Vector m_vLastStationaryPosition; // 0x12ec + float stationary_attack_delay; // 0x12f8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mars_Scepter_Damage_Tracker : public CDOTA_Buff { public: @@ -27324,73 +27935,73 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mars_Scepter_Damage_Slow : public CDOTA_Buff { public: - int32_t scepter_movement_slow_pct; // 0x11e8 + int32_t scepter_movement_slow_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mars_Scepter_Damage : public CDOTA_Buff { public: - int32_t scepter_bonus_damage; // 0x11e8 + int32_t scepter_bonus_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mars_Gods_Rebuke : public CDOTA_Buff { public: - int32_t knockback_slow; // 0x11e8 + int32_t knockback_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mars_GodsRebuke_Crit : public CDOTA_Buff { public: - int32_t crit_mult; // 0x11e8 + int32_t crit_mult; // 0x12b8 }; // Alignment: 21 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_Snapfire_MortimerKisses : public CDOTA_Buff { public: - float m_fIntervalPerRocket; // 0x11e8 - float m_flFacingTarget; // 0x11ec - ParticleIndex_t m_nBeamFXIndex; // 0x11f0 - CHandle< C_BaseEntity > m_hBeamEnd; // 0x11f4 - float m_flCurDistance; // 0x11f8 - Vector m_vAimTarget; // 0x11fc - float m_fLastTurnAmount; // 0x1208 - int32_t m_nProjectilesLaunched; // 0x120c - bool m_bDestroyOnNextThink; // 0x1210 + float m_fIntervalPerRocket; // 0x12b8 + float m_flFacingTarget; // 0x12bc + ParticleIndex_t m_nBeamFXIndex; // 0x12c0 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x12c4 + float m_flCurDistance; // 0x12c8 + Vector m_vAimTarget; // 0x12cc + float m_fLastTurnAmount; // 0x12d8 + int32_t m_nProjectilesLaunched; // 0x12dc + bool m_bDestroyOnNextThink; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t m_nProjectilesToLaunch; // 0x1214 - bool m_bHasProjectileTalent; // 0x1218 + int32_t m_nProjectilesToLaunch; // 0x12e4 + bool m_bHasProjectileTalent; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - int32_t projectile_count; // 0x121c - int32_t projectile_speed; // 0x1220 - int32_t projectile_width; // 0x1224 - int32_t projectile_vision; // 0x1228 - float turn_rate; // 0x122c - int32_t min_range; // 0x1230 - int32_t impact_radius; // 0x1234 - float min_lob_travel_time; // 0x1238 - float max_lob_travel_time; // 0x123c - float delay_after_last_projectile; // 0x1240 + int32_t projectile_count; // 0x12ec + int32_t projectile_speed; // 0x12f0 + int32_t projectile_width; // 0x12f4 + int32_t projectile_vision; // 0x12f8 + float turn_rate; // 0x12fc + int32_t min_range; // 0x1300 + int32_t impact_radius; // 0x1304 + float min_lob_travel_time; // 0x1308 + float max_lob_travel_time; // 0x130c + float delay_after_last_projectile; // 0x1310 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Snapfire_MortimerKisses_VisionSource : public CDOTA_Buff { public: @@ -27398,44 +28009,44 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Snapfire_Magma_Thinker : public CDOTA_Buff { public: - float burn_interval; // 0x11e8 - int32_t impact_radius; // 0x11ec - int32_t move_slow_pct; // 0x11f0 - float burn_linger_duration; // 0x11f4 - ParticleIndex_t m_nPathEffectIndex; // 0x11f8 + float burn_interval; // 0x12b8 + int32_t impact_radius; // 0x12bc + int32_t move_slow_pct; // 0x12c0 + float burn_linger_duration; // 0x12c4 + ParticleIndex_t m_nPathEffectIndex; // 0x12c8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Snapfire_Magma_Burn_Slow : public CDOTA_Buff { public: - int32_t m_nMoveSlowPct; // 0x11e8 - float m_fBurnDamagePerTick; // 0x11ec - int32_t move_slow_pct; // 0x11f0 - float burn_interval; // 0x11f4 - int32_t burn_damage; // 0x11f8 + int32_t m_nMoveSlowPct; // 0x12b8 + float m_fBurnDamagePerTick; // 0x12bc + int32_t move_slow_pct; // 0x12c0 + float burn_interval; // 0x12c4 + int32_t burn_damage; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Snapfire_Scatterblast_Slow : public CDOTA_Buff { public: - bool m_bIsPointBlank; // 0x11e8 + bool m_bIsPointBlank; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t movement_slow_pct; // 0x11ec - int32_t attack_slow_pct; // 0x11f0 + int32_t movement_slow_pct; // 0x12bc + int32_t attack_slow_pct; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Snapfire_Scatterblast_Disarm : public CDOTA_Buff { public: @@ -27443,15 +28054,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Snapfire_FiresnapCookie_PreHop : public CDOTA_Buff { public: - float jump_duration; // 0x11e8 + float jump_duration; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Snapfire_FiresnapCookie_ShortHop : public CDOTA_Buff { public: @@ -27459,7 +28070,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Snapfire_FiresnapCookie_AllyFlailAnim : public CDOTA_Buff { public: @@ -27467,7 +28078,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Snapfire_FiresnapCookie_LandingGesture : public CDOTA_Buff { public: @@ -27475,44 +28086,52 @@ public: }; // Alignment: 9 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Snapfire_LilShredder_Buff : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 - int32_t m_nIsActive; // 0x1208 - bool m_bHasAttackTalent; // 0x120c - bool m_bBonusAttack; // 0x120d + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + int32_t m_nIsActive; // 0x12d8 + bool m_bHasAttackTalent; // 0x12dc + bool m_bBonusAttack; // 0x12dd private: - [[maybe_unused]] uint8_t __pad120e[0x2]; // 0x120e + [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de public: - int32_t attack_range_bonus; // 0x1210 - int32_t buffed_attacks; // 0x1214 - float base_attack_time; // 0x1218 - int32_t attack_speed_bonus; // 0x121c - float armor_duration; // 0x1220 + int32_t attack_range_bonus; // 0x12e0 + int32_t buffed_attacks; // 0x12e4 + float base_attack_time; // 0x12e8 + int32_t attack_speed_bonus; // 0x12ec + float armor_duration; // 0x12f0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 +class CDOTA_Modifier_Snapfire_LilShredder_Attack_Reduction : public CDOTA_Buff +{ +public: + int32_t damage_pct; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 class CDOTA_Modifier_Snapfire_LilShredder_Attack : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 + int32_t damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Snapfire_LilShredder_Debuff : public CDOTA_Buff { public: - float armor_reduction_per_attack; // 0x11e8 + float armor_reduction_per_attack; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Snapfire_GobbleUp_Creep : public CDOTA_Buff { public: @@ -27520,108 +28139,120 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Snapfire_GobbleUp_BellyHasUnit : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hGobbledUnit; // 0x11e8 - PlayerID_t m_nOriginalControllingUnit; // 0x11ec - bool m_bUnitWasLaunched; // 0x11f0 + CHandle< C_BaseEntity > m_hGobbledUnit; // 0x12b8 + PlayerID_t m_nOriginalControllingUnit; // 0x12bc + bool m_bUnitWasLaunched; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - float max_time_in_belly; // 0x11f4 + float max_time_in_belly; // 0x12c4 }; // Alignment: 10 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Snapfire_SpitCreep_ArcingUnit : public CDOTA_Buff { public: - int32_t min_range; // 0x11e8 - float min_lob_travel_time; // 0x11ec - float max_lob_travel_time; // 0x11f0 - int32_t impact_radius; // 0x11f4 - int32_t projectile_vision; // 0x11f8 - float stun_duration; // 0x11fc - float min_height_above_lowest; // 0x1200 - float min_height_above_highest; // 0x1204 - float min_acceleration; // 0x1208 - float max_acceleration; // 0x120c + int32_t min_range; // 0x12b8 + float min_lob_travel_time; // 0x12bc + float max_lob_travel_time; // 0x12c0 + int32_t impact_radius; // 0x12c4 + int32_t projectile_vision; // 0x12c8 + float stun_duration; // 0x12cc + float min_height_above_lowest; // 0x12d0 + float min_height_above_highest; // 0x12d4 + float min_acceleration; // 0x12d8 + float max_acceleration; // 0x12dc }; // Alignment: 13 -// Size: 0x1268 +// Size: 0x1338 class CDOTA_Modifier_VoidSpirit_AetherRemnant_Unit : public CDOTA_Buff { public: - Vector m_vFacingDir; // 0x11e8 + Vector m_vFacingDir; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hWatchPathThinkers; // 0x11f8 - ParticleIndex_t m_nBeamFXIndex; // 0x1210 + CUtlVector< CHandle< C_BaseEntity > > m_hWatchPathThinkers; // 0x12c8 + ParticleIndex_t m_nBeamFXIndex; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< int32 > m_nViewerIDs; // 0x1218 - int32_t remnant_watch_distance; // 0x1230 - int32_t remnant_watch_radius; // 0x1234 - float duration; // 0x1238 - int32_t watch_path_vision_radius; // 0x123c - int32_t impact_damage; // 0x1240 - float pull_duration; // 0x1244 - float activation_delay; // 0x1248 - bool m_bPiercesCreeps; // 0x124c + CUtlVector< int32 > m_nViewerIDs; // 0x12e8 + int32_t remnant_watch_distance; // 0x1300 + int32_t remnant_watch_radius; // 0x1304 + float duration; // 0x1308 + int32_t watch_path_vision_radius; // 0x130c + int32_t impact_damage; // 0x1310 + float pull_duration; // 0x1314 + float activation_delay; // 0x1318 + bool m_bPiercesCreeps; // 0x131c private: - [[maybe_unused]] uint8_t __pad124d[0x3]; // 0x124d + [[maybe_unused]] uint8_t __pad131d[0x3]; // 0x131d public: - CUtlVector< CHandle< C_BaseEntity > > m_hAlreadyHit; // 0x1250 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_VoidSpirit_AetherRemnant_WatchThinker : public CDOTA_Buff -{ -public: - int32_t remnant_watch_radius; // 0x11e8 -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_VoidSpirit_AetherRemnant_Pull : public CDOTA_Buff -{ -public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - PlayerID_t m_nPlayerID; // 0x11ec - float think_interval; // 0x11f0 + CUtlVector< CHandle< C_BaseEntity > > m_hAlreadyHit; // 0x1320 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d0 +class CDOTA_Modifier_VoidSpirit_AetherRemnant_WatchThinker : public CDOTA_Buff +{ +public: + int32_t remnant_watch_radius; // 0x12b8 + GameTime_t m_flLastDamageTick; // 0x12bc + float damage_tick_rate; // 0x12c0 + float flDamage; // 0x12c4 + bool m_bPiercesCreeps; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_VoidSpirit_AetherRemnant_Pull : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXIndex; // 0x12b8 + PlayerID_t m_nPlayerID; // 0x12bc + float think_interval; // 0x12c0 +}; + +// Alignment: 5 +// Size: 0x12d8 class CDOTA_Modifier_VoidSpirit_AetherRemnantThinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - Vector m_vFacingDir; // 0x11ec - CHandle< C_BaseEntity > m_hRemnant; // 0x11f8 - bool m_bTriggered; // 0x11fc + int32_t radius; // 0x12b8 + Vector m_vFacingDir; // 0x12bc + CHandle< C_BaseEntity > m_hRemnant; // 0x12c8 + bool m_bTriggered; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float m_flCurThink; // 0x1200 + float m_flCurThink; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VoidSpirit_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x11e8 + int32_t m_nRadius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 +class CDOTA_Modifier_VoidSpirit_AetherRemnantCreepDamage : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12b8 class CDOTA_Modifier_VoidSpirit_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -27629,99 +28260,100 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_VoidSpirit_AstralStep_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x11e8 - int32_t movement_slow_pct; // 0x11ec - int32_t pop_damage; // 0x11f0 + ParticleIndex_t m_nFXStackIndex; // 0x12b8 + int32_t movement_slow_pct; // 0x12bc + int32_t pop_damage; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VoidSpirit_AstralStep_Caster : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_VoidSpirit_AstralStep_Intrinsic : public CDOTA_Buff { public: - int32_t ability_chance_pct; // 0x11e8 - int32_t attack_chance_pct; // 0x11ec - float pop_damage_delay; // 0x11f0 + int32_t ability_chance_pct; // 0x12b8 + int32_t attack_chance_pct; // 0x12bc + float pop_damage_delay; // 0x12c0 }; // Alignment: 19 -// Size: 0x1288 +// Size: 0x1358 class CDOTA_Modifier_VoidSpirit_Dissimilate_Phase : public CDOTA_Buff { public: - Vector m_vFirstPortalPos; // 0x11e8 + Vector m_vFirstPortalPos; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< Vector > m_vecDestinations; // 0x11f8 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x1210 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1228 - int32_t m_nCurrentDestinationIndex; // 0x1240 - int32_t m_nClosestIndexPosToClick; // 0x1244 - int32_t m_nPortalHeightOffset; // 0x1248 + CUtlVector< Vector > m_vecDestinations; // 0x12c8 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x12e0 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x12f8 + int32_t m_nCurrentDestinationIndex; // 0x1310 + int32_t m_nClosestIndexPosToClick; // 0x1314 + int32_t m_nPortalHeightOffset; // 0x1318 private: - [[maybe_unused]] uint8_t __pad124c[0x4]; // 0x124c + [[maybe_unused]] uint8_t __pad131c[0x4]; // 0x131c public: - char* m_szAlliesPortalFX; // 0x1250 - char* m_szEnemiesPortalFX; // 0x1258 - int32_t m_nPortalRadius; // 0x1260 - int32_t m_nPortalPadding; // 0x1264 - int32_t m_nFinalImpactDamageRadius; // 0x1268 - int32_t m_nFinalImpactFXRadius; // 0x126c - int32_t destination_fx_radius; // 0x1270 - int32_t damage_radius; // 0x1274 - int32_t portals_per_ring; // 0x1278 - int32_t angle_per_ring_portal; // 0x127c - int32_t first_ring_distance_offset; // 0x1280 - float debuff_duration; // 0x1284 + char* m_szAlliesPortalFX; // 0x1320 + char* m_szEnemiesPortalFX; // 0x1328 + int32_t m_nPortalRadius; // 0x1330 + int32_t m_nPortalPadding; // 0x1334 + int32_t m_nFinalImpactDamageRadius; // 0x1338 + int32_t m_nFinalImpactFXRadius; // 0x133c + int32_t destination_fx_radius; // 0x1340 + int32_t damage_radius; // 0x1344 + int32_t portals_per_ring; // 0x1348 + int32_t angle_per_ring_portal; // 0x134c + int32_t first_ring_distance_offset; // 0x1350 + float debuff_duration; // 0x1354 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_VoidSpirit_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: // No members available }; -// Alignment: 2 -// Size: 0x11f8 +// Alignment: 3 +// Size: 0x12d0 class CDOTA_Modifier_VoidSpirit_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: - int32_t base_absorb_amount; // 0x11e8 - int32_t m_nAbsorbRemaining; // 0x11ec + int32_t base_absorb_amount; // 0x12b8 + int32_t m_nAbsorbRemaining; // 0x12bc + int32_t m_nMaxAbsorb; // 0x12c0 }; // Alignment: 8 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_VoidSpirit_ResonantPulse_Ring : public CDOTA_Buff { public: - float m_fLastRadius; // 0x11e8 - float m_fCurRadius; // 0x11ec - GameTime_t m_fLastThink; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x11f8 - int32_t speed; // 0x1210 - int32_t radius; // 0x1214 - int32_t damage; // 0x1218 + float m_fLastRadius; // 0x12b8 + float m_fCurRadius; // 0x12bc + GameTime_t m_fLastThink; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12c8 + int32_t speed; // 0x12e0 + int32_t radius; // 0x12e4 + int32_t damage; // 0x12e8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Hoodwink_AcornShot_DelayThinker : public CDOTA_Buff { public: @@ -27729,7 +28361,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Hoodwink_AcornShot_TreeThinker : public CDOTA_Buff { public: @@ -27737,79 +28369,81 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hoodwink_AcornShot_BonusDamage : public CDOTA_Buff { public: - int32_t acorn_shot_damage; // 0x11e8 - int32_t base_damage_pct; // 0x11ec + int32_t acorn_shot_damage; // 0x12b8 + int32_t base_damage_pct; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hoodwink_AcornShot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Hoodwink_Bushwhack_Trap : public CDOTA_Buff { public: - int32_t visual_height; // 0x11e8 - float animation_rate; // 0x11ec - ParticleIndex_t m_iIndex; // 0x11f0 - bool m_bPullComplete; // 0x11f4 + int32_t visual_height; // 0x12b8 + float animation_rate; // 0x12bc + ParticleIndex_t m_iIndex; // 0x12c0 + bool m_bPullComplete; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - uint32_t m_TreeId; // 0x11f8 - float m_flDamagePerTick; // 0x11fc - int32_t m_nDamageTicks; // 0x1200 + uint32_t m_TreeId; // 0x12c8 + float m_flDamagePerTick; // 0x12cc + int32_t m_nDamageTicks; // 0x12d0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_Scurry_Passive : public CDOTA_Buff { public: - int32_t evasion; // 0x11e8 - int32_t radius; // 0x11ec - int32_t bonus_active_evasion; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 + int32_t evasion; // 0x12b8 + int32_t radius; // 0x12bc + int32_t bonus_active_evasion; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_Scurry_Active : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x11e8 + int32_t movement_speed_pct; // 0x12b8 + int32_t attack_range; // 0x12bc + int32_t cast_range; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_Sharpshooter_Windup : public CDOTA_Buff { public: - int32_t arrow_vision; // 0x11e8 - float max_charge_time; // 0x11ec - float turn_rate; // 0x11f0 - float base_power; // 0x11f4 + int32_t arrow_vision; // 0x12b8 + float max_charge_time; // 0x12bc + float turn_rate; // 0x12c0 + float base_power; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hoodwink_Sharpshooter_VisionThinker : public CDOTA_Buff { public: - int32_t arrow_width; // 0x11e8 + int32_t arrow_width; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Hoodwink_Sharpshooter_Recoil : public CDOTA_Buff { public: @@ -27817,7 +28451,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Hoodwink_Sharpshooter_Recoil_EndAnim : public CDOTA_Buff { public: @@ -27825,33 +28459,33 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hoodwink_Sharpshooter_Debuff : public CDOTA_Buff { public: - int32_t slow_move_pct; // 0x11e8 + int32_t slow_move_pct; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_Camouflage : public CDOTA_Buff { public: - float fade_time; // 0x11e8 - GameTime_t m_flFadeTime; // 0x11ec - bool m_bInvisLastThink; // 0x11f0 + float fade_time; // 0x12b8 + GameTime_t m_flFadeTime; // 0x12bc + bool m_bInvisLastThink; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hoodwink_AcornShot_ArmorCorruption : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Hoodwink_Caltrops : public CDOTA_Buff { public: @@ -27859,78 +28493,78 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hoodwink_Caltrops_Debuff : public CDOTA_Buff { public: - int32_t movespeed_pct; // 0x11e8 - int32_t tick_damage; // 0x11ec + int32_t movespeed_pct; // 0x12b8 + int32_t tick_damage; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hoodwink_Decoy_Illusion : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 }; // Alignment: 2 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Hoodwink_Decoy_Invisibility : public CDOTA_Modifier_Invisible { public: - int32_t movement_speed; // 0x11f8 + int32_t movement_speed; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x1200 + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x12d0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_HeavyQuiver : public CDOTA_Buff { public: - int32_t bonus_projectile_speed_pct; // 0x11e8 - int32_t bonus_attack_range; // 0x11ec - int32_t deadly_blow_multiplier; // 0x11f0 - float maim_duration; // 0x11f4 + int32_t bonus_projectile_speed_pct; // 0x12b8 + int32_t bonus_attack_range; // 0x12bc + int32_t deadly_blow_multiplier; // 0x12c0 + float maim_duration; // 0x12c4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_Hunters_Mark : public CDOTA_Buff { public: - int32_t slow_pct; // 0x11e8 - int32_t spell_amp; // 0x11ec - int32_t status_resistance; // 0x11f0 + int32_t slow_pct; // 0x12b8 + int32_t spell_amp; // 0x12bc + int32_t status_resistance; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_HuntersQuiver : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x11e8 - int32_t max_stacks; // 0x11ec - float debuff_duration; // 0x11f0 + int32_t bonus_attack_range; // 0x12b8 + int32_t max_stacks; // 0x12bc + float debuff_duration; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_HuntersQuiver_Mark : public CDOTA_Buff { public: - int32_t stack_crit_chance_pct; // 0x11e8 - int32_t critical_damage_pct; // 0x11ec - int32_t stack_slow_pct; // 0x11f0 - ParticleIndex_t m_nFXStackIndex; // 0x11f4 + int32_t stack_crit_chance_pct; // 0x12b8 + int32_t critical_damage_pct; // 0x12bc + int32_t stack_slow_pct; // 0x12c0 + ParticleIndex_t m_nFXStackIndex; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Hoodwink_Boomerang_Invulnerable : public CDOTA_Buff { public: @@ -27938,7 +28572,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Hoodwink_ArcingBoomerang : public CDOTA_Buff { public: @@ -27946,44 +28580,52 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Thinker : public CDOTA_Buff { public: - float pulse_interval; // 0x11e8 - int32_t iEffectRadius; // 0x11ec - int32_t base_damage; // 0x11f0 - int32_t base_heal; // 0x11f4 - ParticleIndex_t m_nThinkerFXIndex; // 0x11f8 + float pulse_interval; // 0x12b8 + int32_t iEffectRadius; // 0x12bc + int32_t base_damage; // 0x12c0 + int32_t base_heal; // 0x12c4 + ParticleIndex_t m_nThinkerFXIndex; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Evasion : public CDOTA_Buff { public: - int32_t miss_rate; // 0x11e8 + int32_t miss_rate; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_AirTime : public CDOTA_Buff { public: // No members available }; +// Alignment: 0 +// Size: 0x12b8 +class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_LandingStun : public CDOTA_Modifier_Stunned +{ +public: + // No members available +}; + // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Disable : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x11e8 - ParticleIndex_t m_nStatusFXIndex; // 0x11ec + ParticleIndex_t m_nCasterFXIndex; // 0x12b8 + ParticleIndex_t m_nStatusFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_After_Land : public CDOTA_Buff { public: @@ -27991,76 +28633,76 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Dawnbreaker_Luminosity : public CDOTA_Buff { public: - bool m_bAppliesToCreeps; // 0x11e8 + bool m_bAppliesToCreeps; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t attack_count; // 0x11ec - bool m_bShouldIncrement; // 0x11f0 + int32_t attack_count; // 0x12bc + bool m_bShouldIncrement; // 0x12c0 }; // Alignment: 8 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Dawnbreaker_Luminosity_Attack_Buff : public CDOTA_Buff { public: - bool m_bIsBuffedAttack; // 0x11e8 + bool m_bIsBuffedAttack; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t heal_pct; // 0x11ec - int32_t bonus_damage; // 0x11f0 - int32_t heal_radius; // 0x11f4 - int32_t heal_from_creeps; // 0x11f8 - int32_t allied_healing_pct; // 0x11fc - CUtlVector< CHandle< C_BaseEntity > > hTargets; // 0x1200 - float m_flTotalToHeal; // 0x1218 + int32_t heal_pct; // 0x12bc + int32_t bonus_damage; // 0x12c0 + int32_t heal_radius; // 0x12c4 + int32_t heal_from_creeps; // 0x12c8 + int32_t allied_healing_pct; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > hTargets; // 0x12d0 + float m_flTotalToHeal; // 0x12e8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 + ParticleIndex_t m_nFXIndex; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dawnbreaker_Converge_Thinker : public CDOTA_Buff { public: - int32_t flare_radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t flare_radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 11 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x11e8 - int32_t projectile_speed; // 0x11ec - int32_t travel_speed_pct; // 0x11f0 - int32_t m_nMaxRange; // 0x11f4 - Vector m_vStartPoint; // 0x11f8 - Vector m_vLastTrailThinkerLocation; // 0x1204 - Vector m_vEndPointShard; // 0x1210 - ParticleIndex_t m_nStatusFXIndex; // 0x121c - int32_t flare_radius; // 0x1220 - bool bHasStartedBurning; // 0x1224 + int32_t m_nProjectileID; // 0x12b8 + int32_t projectile_speed; // 0x12bc + int32_t travel_speed_pct; // 0x12c0 + int32_t m_nMaxRange; // 0x12c4 + Vector m_vStartPoint; // 0x12c8 + Vector m_vLastTrailThinkerLocation; // 0x12d4 + Vector m_vEndPointShard; // 0x12e0 + ParticleIndex_t m_nStatusFXIndex; // 0x12ec + int32_t flare_radius; // 0x12f0 + bool bHasStartedBurning; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad1225[0x3]; // 0x1225 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - float flare_debuff_duration; // 0x1228 + float flare_debuff_duration; // 0x12f8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Caster : public CDOTA_Buff { public: @@ -28068,7 +28710,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Magic_Immunity_Tooltip : public CDOTA_Buff { public: @@ -28076,134 +28718,134 @@ public: }; // Alignment: 20 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Caster : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - int32_t shard_movement_penalty; // 0x11ec - int32_t swipe_radius; // 0x11f0 - int32_t swipe_damage; // 0x11f4 - int32_t smash_radius; // 0x11f8 - int32_t smash_damage; // 0x11fc - int32_t m_nCurrentSpeed; // 0x1200 - float flSwipeInterval; // 0x1204 - GameTime_t m_flNextHit; // 0x1208 - int32_t iCurrentAttack; // 0x120c - int32_t total_attacks; // 0x1210 - float smash_stun_duration; // 0x1214 - float sweep_stun_duration; // 0x1218 - bool m_bHasCompletedMove; // 0x121c + int32_t movement_speed; // 0x12b8 + int32_t shard_movement_penalty; // 0x12bc + int32_t swipe_radius; // 0x12c0 + int32_t swipe_damage; // 0x12c4 + int32_t smash_radius; // 0x12c8 + int32_t smash_damage; // 0x12cc + int32_t m_nCurrentSpeed; // 0x12d0 + float flSwipeInterval; // 0x12d4 + GameTime_t m_flNextHit; // 0x12d8 + int32_t iCurrentAttack; // 0x12dc + int32_t total_attacks; // 0x12e0 + float smash_stun_duration; // 0x12e4 + float sweep_stun_duration; // 0x12e8 + bool m_bHasCompletedMove; // 0x12ec private: - [[maybe_unused]] uint8_t __pad121d[0x3]; // 0x121d + [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed public: - float duration; // 0x1220 - Vector m_vTargetHorizontalDirection; // 0x1224 - int32_t smash_distance_from_hero; // 0x1230 - float animation_rate; // 0x1234 - float turn_rate; // 0x1238 - float m_flFacingTarget; // 0x123c + float duration; // 0x12f0 + Vector m_vTargetHorizontalDirection; // 0x12f4 + int32_t smash_distance_from_hero; // 0x1300 + float animation_rate; // 0x1304 + float turn_rate; // 0x1308 + float m_flFacingTarget; // 0x130c }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Attack_Bonus : public CDOTA_Buff { public: - int32_t attack_damage; // 0x11e8 - int32_t creep_damage_penalty; // 0x11ec + int32_t attack_damage; // 0x12b8 + int32_t creep_damage_penalty; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Slow : public CDOTA_Buff { public: - int32_t swipe_slow; // 0x11e8 + int32_t swipe_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Smash_Stun : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 + int32_t damage; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Dawnbreaker_Converge : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 - int32_t burn_damage; // 0x11ec - float burn_interval; // 0x11f0 + int32_t move_slow; // 0x12b8 + int32_t burn_damage; // 0x12bc + float burn_interval; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Marci_Grapple_VictimMotion : public CDOTA_Buff { public: - int32_t impact_damage; // 0x11e8 - float debuff_duration; // 0x11ec - int32_t landing_radius; // 0x11f0 + int32_t impact_damage; // 0x12b8 + float debuff_duration; // 0x12bc + int32_t landing_radius; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Marci_Dispose_Debuff : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x11e8 + int32_t movement_slow_pct; // 0x12b8 }; // Alignment: 12 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Marci_Lunge_TrackingMotion : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x11e8 - int32_t m_nMaxJumpDistance; // 0x11ec - int32_t landing_radius; // 0x11f0 - int32_t max_jump_distance; // 0x11f4 - int32_t min_jump_distance; // 0x11f8 - int32_t target_abort_distance; // 0x11fc - int32_t impact_position_offset; // 0x1200 - float m_flCastDistance; // 0x1204 - ParticleIndex_t m_nAoEFXIndex; // 0x1208 - Vector m_vDestination; // 0x120c - CHandle< C_BaseEntity > m_hBounceEntity; // 0x1218 - CHandle< C_BaseEntity > m_hBounceEntityClient; // 0x121c + int32_t m_nProjectileID; // 0x12b8 + int32_t m_nMaxJumpDistance; // 0x12bc + int32_t landing_radius; // 0x12c0 + int32_t max_jump_distance; // 0x12c4 + int32_t min_jump_distance; // 0x12c8 + int32_t target_abort_distance; // 0x12cc + int32_t impact_position_offset; // 0x12d0 + float m_flCastDistance; // 0x12d4 + ParticleIndex_t m_nAoEFXIndex; // 0x12d8 + Vector m_vDestination; // 0x12dc + CHandle< C_BaseEntity > m_hBounceEntity; // 0x12e8 + CHandle< C_BaseEntity > m_hBounceEntityClient; // 0x12ec }; // Alignment: 15 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Marci_Lunge_Arc : public CDOTA_Buff { public: - bool m_bTriggeredLandingAnim; // 0x11e8 + bool m_bTriggeredLandingAnim; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t m_nMaxJumpDistance; // 0x11ec - int32_t min_jump_distance; // 0x11f0 - int32_t max_jump_distance; // 0x11f4 - float min_lob_travel_time; // 0x11f8 - float max_lob_travel_time; // 0x11fc - int32_t landing_radius; // 0x1200 - float debuff_duration; // 0x1204 - float min_height_above_lowest; // 0x1208 - float min_height_above_highest; // 0x120c - float min_acceleration; // 0x1210 - float max_acceleration; // 0x1214 - float impact_damage; // 0x1218 - int32_t impact_position_offset; // 0x121c - float ally_buff_duration; // 0x1220 + int32_t m_nMaxJumpDistance; // 0x12bc + int32_t min_jump_distance; // 0x12c0 + int32_t max_jump_distance; // 0x12c4 + float min_lob_travel_time; // 0x12c8 + float max_lob_travel_time; // 0x12cc + int32_t landing_radius; // 0x12d0 + float debuff_duration; // 0x12d4 + float min_height_above_lowest; // 0x12d8 + float min_height_above_highest; // 0x12dc + float min_acceleration; // 0x12e0 + float max_acceleration; // 0x12e4 + float impact_damage; // 0x12e8 + int32_t impact_position_offset; // 0x12ec + float ally_buff_duration; // 0x12f0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Marci_Lunge_LandingAnim : public CDOTA_Buff { public: @@ -28211,104 +28853,113 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Marci_CompanionRun_AllyMovespeed : public CDOTA_Buff { public: - float ally_movespeed_pct; // 0x11e8 + float ally_movespeed_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Marci_Lunge_Debuff : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x11e8 + int32_t movement_slow_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Marci_Lunge_Buff : public CDOTA_Buff { public: - int32_t scepter_armor; // 0x11e8 + int32_t scepter_armor; // 0x12b8 }; -// Alignment: 5 -// Size: 0x1200 +// Alignment: 11 +// Size: 0x12e8 class CDOTA_Modifier_Marci_Guardian_Buff : public CDOTA_Buff { public: - float lifesteal_pct; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t bonus_attack_range; // 0x11f0 - float m_fLifestealPct; // 0x11f4 - float m_fDamageAbsorbed; // 0x11f8 + float lifesteal_pct; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t bonus_attack_range; // 0x12c0 + int32_t max_partner_distance; // 0x12c4 + int32_t max_partner_penalty; // 0x12c8 + int32_t creep_lifesteal_reduction_pct; // 0x12cc + float m_fLifestealPct; // 0x12d0 + float m_fDamageAbsorbed; // 0x12d4 + CHandle< C_BaseEntity > m_hPartner; // 0x12d8 + bool m_bActive; // 0x12dc +private: + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd +public: + ParticleIndex_t m_nFxIndex; // 0x12e0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Marci_Unleash_Pull : public CDOTA_Buff { public: - int32_t shard_push_length; // 0x11e8 + int32_t shard_push_length; // 0x12b8 }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Marci_Unleash : public CDOTA_Buff { public: - float time_between_flurries; // 0x11e8 - int32_t charges_per_flurry; // 0x11ec - int32_t flurry_charge_increment; // 0x11f0 - int32_t bonus_movespeed; // 0x11f4 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 + float time_between_flurries; // 0x12b8 + int32_t charges_per_flurry; // 0x12bc + int32_t flurry_charge_increment; // 0x12c0 + int32_t bonus_movespeed; // 0x12c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 9 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Marci_Unleash_Flurry : public CDOTA_Buff { public: - int32_t flurry_bonus_attack_speed; // 0x11e8 - float time_between_flurries; // 0x11ec - float debuff_duration; // 0x11f0 - float max_time_window_per_hit; // 0x11f4 - bool m_bBonusSpeed; // 0x11f8 + int32_t flurry_bonus_attack_speed; // 0x12b8 + float time_between_flurries; // 0x12bc + float debuff_duration; // 0x12c0 + float max_time_window_per_hit; // 0x12c4 + bool m_bBonusSpeed; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - ParticleIndex_t m_nFXStackIndex; // 0x11fc - bool m_bIsDoingFlurryAttack; // 0x1200 - bool m_bIsDoingFlurryPulseAttack; // 0x1201 + ParticleIndex_t m_nFXStackIndex; // 0x12cc + bool m_bIsDoingFlurryAttack; // 0x12d0 + bool m_bIsDoingFlurryPulseAttack; // 0x12d1 private: - [[maybe_unused]] uint8_t __pad1202[0x2]; // 0x1202 + [[maybe_unused]] uint8_t __pad12d2[0x2]; // 0x12d2 public: - GameTime_t m_fLastAttackTime; // 0x1204 + GameTime_t m_fLastAttackTime; // 0x12d4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Marci_Unleash_FlurryCooldown : public CDOTA_Buff { public: - int32_t charges_per_flurry; // 0x11e8 - float time_between_flurries; // 0x11ec - float recovery_fixed_attack_rate; // 0x11f0 + int32_t charges_per_flurry; // 0x12b8 + float time_between_flurries; // 0x12bc + float recovery_fixed_attack_rate; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Marci_Unleash_FlurryPulse_Debuff : public CDOTA_Buff { public: - float pulse_move_slow_pct; // 0x11e8 - float pulse_attack_slow_pct; // 0x11ec + float pulse_move_slow_pct; // 0x12b8 + float pulse_attack_slow_pct; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Marci_Guardian_MagicImmunity : public CDOTA_Modifier_DebuffImmune { public: @@ -28316,7 +28967,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Marci_Unleash_Pulse_Silence : public CDOTA_Buff { public: @@ -28324,82 +28975,82 @@ public: }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Primalbeast_Trample : public CDOTA_Buff { public: - int32_t effect_radius; // 0x11e8 - Vector vLastPos; // 0x11ec - float flCurrentDistance; // 0x11f8 - int32_t step_distance; // 0x11fc - int32_t bonus_magic_resistance; // 0x1200 - bool m_bIsUnslowable; // 0x1204 + int32_t effect_radius; // 0x12b8 + Vector vLastPos; // 0x12bc + float flCurrentDistance; // 0x12c8 + int32_t step_distance; // 0x12cc + int32_t bonus_magic_resistance; // 0x12d0 + bool m_bIsUnslowable; // 0x12d4 }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_PrimalBeast_Pulverize : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - float m_flOffset; // 0x11ec - QAngle m_vStartAngles; // 0x11f0 - Vector m_vStartLocation; // 0x11fc - float animation_rate; // 0x1208 - bool m_bInterrupted; // 0x120c - bool m_bHasBeenDestroyed; // 0x120d + ParticleIndex_t m_nFXIndex; // 0x12b8 + float m_flOffset; // 0x12bc + QAngle m_vStartAngles; // 0x12c0 + Vector m_vStartLocation; // 0x12cc + float animation_rate; // 0x12d8 + bool m_bInterrupted; // 0x12dc + bool m_bHasBeenDestroyed; // 0x12dd }; // Alignment: 9 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_PrimalBeast_Pulverize_Self : public CDOTA_Buff { public: - CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11e8 - Vector m_vPulverizeCenter; // 0x11ec - Vector m_vCasterStartPos; // 0x11f8 - int32_t splash_radius; // 0x1204 - float interval; // 0x1208 - float ministun; // 0x120c - int32_t damage; // 0x1210 - int32_t bonus_damage_per_hit; // 0x1214 - int32_t m_nHitCount; // 0x1218 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x12b8 + Vector m_vPulverizeCenter; // 0x12bc + Vector m_vCasterStartPos; // 0x12c8 + int32_t splash_radius; // 0x12d4 + float interval; // 0x12d8 + float ministun; // 0x12dc + int32_t damage; // 0x12e0 + int32_t bonus_damage_per_hit; // 0x12e4 + int32_t m_nHitCount; // 0x12e8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_PrimalBeast_Onslaught_Windup : public CDOTA_Buff { public: - int32_t max_distance; // 0x11e8 - float max_charge_time; // 0x11ec - float turn_rate; // 0x11f0 - float base_power; // 0x11f4 - int32_t charge_speed; // 0x11f8 + int32_t max_distance; // 0x12b8 + float max_charge_time; // 0x12bc + float turn_rate; // 0x12c0 + float base_power; // 0x12c4 + int32_t charge_speed; // 0x12c8 }; // Alignment: 10 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_PrimalBeast_Onslaught_Movement : public CDOTA_Buff { public: - float tick_interval; // 0x11e8 - float charge_speed; // 0x11ec - float movement_turn_rate; // 0x11f0 - int32_t knockback_radius; // 0x11f4 - float knockback_distance; // 0x11f8 - int32_t knockback_damage; // 0x11fc - int32_t m_nEnemyHeroesHit; // 0x1200 - float m_flFacingTarget; // 0x1204 - ParticleIndex_t m_nFXIndex; // 0x1208 + float tick_interval; // 0x12b8 + float charge_speed; // 0x12bc + float movement_turn_rate; // 0x12c0 + int32_t knockback_radius; // 0x12c4 + float knockback_distance; // 0x12c8 + int32_t knockback_damage; // 0x12cc + int32_t m_nEnemyHeroesHit; // 0x12d0 + float m_flFacingTarget; // 0x12d4 + ParticleIndex_t m_nFXIndex; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1210 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12e0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_PrimalBeast_Onslaught_Knockback : public CDOTA_Buff { public: @@ -28407,100 +29058,100 @@ public: }; // Alignment: 12 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_PrimalBeast_Uproar : public CDOTA_Modifier_Stacking_Base { public: - int32_t stack_limit; // 0x11e8 - int32_t damage_limit; // 0x11ec - float stack_duration; // 0x11f0 - float damage_min; // 0x11f4 - float damage_max; // 0x11f8 - int32_t bonus_damage_per_stack; // 0x11fc - ParticleIndex_t m_nFxIndexA; // 0x1200 - int32_t iCur_stack; // 0x1204 - int32_t bonus_damage; // 0x1208 - float slow_duration; // 0x120c + int32_t stack_limit; // 0x12b8 + int32_t damage_limit; // 0x12bc + float stack_duration; // 0x12c0 + float damage_min; // 0x12c4 + float damage_max; // 0x12c8 + int32_t bonus_damage_per_stack; // 0x12cc + ParticleIndex_t m_nFxIndexA; // 0x12d0 + int32_t iCur_stack; // 0x12d4 + int32_t bonus_damage; // 0x12d8 + float slow_duration; // 0x12dc private: - [[maybe_unused]] uint8_t __pad1210[0x18]; // 0x1210 + [[maybe_unused]] uint8_t __pad12e0[0x18]; // 0x12e0 public: - float m_fTotalDamage; // 0x1228 - GameTime_t m_flLastStackTime; // 0x122c + float m_fTotalDamage; // 0x12f8 + GameTime_t m_flLastStackTime; // 0x12fc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PrimalBeast_Uproar_Slow : public CDOTA_Buff { public: - int32_t move_slow_per_stack; // 0x11e8 + int32_t move_slow_per_stack; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_PrimalBeast_Uproar_Roared_Self : public CDOTA_Buff { public: - int32_t roared_bonus_attack_speed; // 0x11e8 - int32_t roared_bonus_armor; // 0x11ec - int32_t m_nBuffStackCount; // 0x11f0 + int32_t roared_bonus_attack_speed; // 0x12b8 + int32_t roared_bonus_armor; // 0x12bc + int32_t m_nBuffStackCount; // 0x12c0 }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Primal_Beast_Uproar_Projectile_Thinker : public CDOTA_Buff { public: - int32_t projectiles_per_stack; // 0x11e8 - int32_t projectile_speed; // 0x11ec - int32_t projectile_distance; // 0x11f0 - int32_t projectile_width; // 0x11f4 - int32_t splinter_angle; // 0x11f8 - float split_delay; // 0x11fc - int32_t projectile_waves; // 0x1200 - int32_t m_nCurrentWaveCount; // 0x1204 - int32_t tectonic_shift_projectiles; // 0x1208 + int32_t projectiles_per_stack; // 0x12b8 + int32_t projectile_speed; // 0x12bc + int32_t projectile_distance; // 0x12c0 + int32_t projectile_width; // 0x12c4 + int32_t splinter_angle; // 0x12c8 + float split_delay; // 0x12cc + int32_t projectile_waves; // 0x12d0 + int32_t m_nCurrentWaveCount; // 0x12d4 + int32_t tectonic_shift_projectiles; // 0x12d8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Muerta_Gunslinger : public CDOTA_Buff { public: - float double_shot_chance; // 0x11e8 - float target_search_bonus_range; // 0x11ec + float double_shot_chance; // 0x12b8 + float target_search_bonus_range; // 0x12bc }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Muerta_PierceTheVeil : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Muerta_DeadShot_Slow : public CDOTA_Buff { public: - int32_t impact_slow_percent; // 0x11e8 + int32_t impact_slow_percent; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Muerta_DeadShot_Fear : public CDOTA_Buff { public: - Vector m_vFearDir; // 0x11e8 + Vector m_vFearDir; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Muerta_PierceTheVeilTransform : public CDOTA_Buff { public: @@ -28508,21 +29159,21 @@ public: }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Muerta_PierceTheVeil_Buff : public CDOTA_Buff { public: - int32_t modelscale; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t spell_lifesteal; // 0x11f0 - int32_t attack_projectile_speed_bonus; // 0x11f4 - int32_t attack_range_bonus; // 0x11f8 - int32_t m_iOriginalAttackCapabilities; // 0x11fc - ParticleIndex_t m_nScreenFXIndex; // 0x1200 + int32_t modelscale; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t spell_lifesteal; // 0x12c0 + int32_t attack_projectile_speed_bonus; // 0x12c4 + int32_t attack_range_bonus; // 0x12c8 + int32_t m_iOriginalAttackCapabilities; // 0x12cc + ParticleIndex_t m_nScreenFXIndex; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Muerta_PierceTheVeil_MagicImmunityDamageCancel : public CDOTA_Buff { public: @@ -28530,7 +29181,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Muerta_PierceTheVeil_SpellAmpBoost : public CDOTA_Buff { public: @@ -28538,7 +29189,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Muerta_TheCalling_Invulnerable : public CDOTA_Buff { public: @@ -28546,36 +29197,36 @@ public: }; // Alignment: 13 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_Muerta_Revenant_Thinker : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t hit_radius; // 0x11ec - int32_t dead_zone_distance; // 0x11f0 - float speed_initial; // 0x11f4 - float speed_max; // 0x11f8 - float acceleration; // 0x11fc - int32_t num_revenants; // 0x1200 - int32_t rotation_direction; // 0x1204 - int32_t radius; // 0x1208 - float rotation_initial; // 0x120c - int32_t show_warning; // 0x1210 - ParticleIndex_t m_nWarningFX; // 0x1214 - CUtlVector< sRevenantDef > m_SpiritDefs; // 0x1218 + int32_t damage; // 0x12b8 + int32_t hit_radius; // 0x12bc + int32_t dead_zone_distance; // 0x12c0 + float speed_initial; // 0x12c4 + float speed_max; // 0x12c8 + float acceleration; // 0x12cc + int32_t num_revenants; // 0x12d0 + int32_t rotation_direction; // 0x12d4 + int32_t radius; // 0x12d8 + float rotation_initial; // 0x12dc + int32_t show_warning; // 0x12e0 + ParticleIndex_t m_nWarningFX; // 0x12e4 + CUtlVector< sRevenantDef > m_SpiritDefs; // 0x12e8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Muerta_TheCallingAuraSlow : public CDOTA_Buff { public: - int32_t aura_movespeed_slow; // 0x11e8 - int32_t aura_attackspeed_slow; // 0x11ec + int32_t aura_movespeed_slow; // 0x12b8 + int32_t aura_attackspeed_slow; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Muerta_TheCalling_Silence : public CDOTA_Buff { public: @@ -28583,7 +29234,7 @@ public: }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Muerta_PartingShot_Knockback : public CDOTA_Modifier_Knockback { public: @@ -28591,7 +29242,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Muerta_PartingShot_SoulClone : public CDOTA_Buff { public: @@ -28599,145 +29250,145 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Muerta_PartingShot_SoulDebuff : public CDOTA_Buff { public: - int32_t ethereal_damage_bonus; // 0x11e8 - int32_t movement_slow; // 0x11ec - CHandle< C_BaseEntity > m_hPhysicalBody; // 0x11f0 - ParticleIndex_t m_nTetherFXIndex; // 0x11f4 + int32_t ethereal_damage_bonus; // 0x12b8 + int32_t movement_slow; // 0x12bc + CHandle< C_BaseEntity > m_hPhysicalBody; // 0x12c0 + ParticleIndex_t m_nTetherFXIndex; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Muerta_PartingShot_ProjectileReturn : public CDOTA_Buff { public: - int32_t m_nProjectileHandle; // 0x11e8 - CHandle< C_BaseEntity > m_hPhysicalBody; // 0x11ec + int32_t m_nProjectileHandle; // 0x12b8 + CHandle< C_BaseEntity > m_hPhysicalBody; // 0x12bc }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Bracer : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_agility; // 0x11ec - int32_t bonus_intellect; // 0x11f0 - int32_t clock_time; // 0x11f4 - float bonus_health_regen; // 0x11f8 - int32_t bonus_damage; // 0x11fc + int32_t bonus_strength; // 0x12b8 + int32_t bonus_agility; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + int32_t clock_time; // 0x12c4 + float bonus_health_regen; // 0x12c8 + int32_t bonus_damage; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Gauntlets : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 + int32_t bonus_strength; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Circlet : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 + int32_t bonus_all_stats; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Slippers : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 + int32_t bonus_agility; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_WraithBand : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_agility; // 0x11ec - int32_t bonus_intellect; // 0x11f0 - int32_t bonus_attack_speed; // 0x11f4 - int32_t clock_time; // 0x11f8 - float bonus_armor; // 0x11fc + int32_t bonus_strength; // 0x12b8 + int32_t bonus_agility; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c4 + int32_t clock_time; // 0x12c8 + float bonus_armor; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Mantle : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 + int32_t bonus_intellect; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_NullTalisman : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_agility; // 0x11ec - int32_t bonus_intellect; // 0x11f0 - float bonus_mana_regen; // 0x11f4 - int32_t bonus_max_mana_percentage; // 0x11f8 - int32_t clock_time; // 0x11fc + int32_t bonus_strength; // 0x12b8 + int32_t bonus_agility; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + float bonus_mana_regen; // 0x12c4 + int32_t bonus_max_mana_percentage; // 0x12c8 + int32_t clock_time; // 0x12cc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_TangoHeal : public CDOTA_Buff { public: - float health_regen; // 0x11e8 - bool superheal; // 0x11ec + float health_regen; // 0x12b8 + bool superheal; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - float m_fHealingDone; // 0x11f0 + float m_fHealingDone; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ClarityPotion : public CDOTA_Buff { public: - float mana_regen; // 0x11e8 + float mana_regen; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_FlaskHealing : public CDOTA_Buff { public: - int32_t health_regen; // 0x11e8 - int32_t break_on_hero_damage; // 0x11ec - float m_fHealingDone; // 0x11f0 + int32_t health_regen; // 0x12b8 + int32_t break_on_hero_damage; // 0x12bc + float m_fHealingDone; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_BootsOfSpeed : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 + int32_t bonus_movement_speed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_BootsOfTravel : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 + int32_t bonus_movement_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_BootsOfTravel_2 : public CDOTA_Modifier_Item_BootsOfTravel { public: @@ -28745,7 +29396,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BootsOfTravel_Incoming : public CDOTA_Buff { public: @@ -28753,196 +29404,196 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_PowerTreads : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed_ranged; // 0x11e8 - int32_t bonus_movement_speed_melee; // 0x11ec - int32_t bonus_attack_speed; // 0x11f0 - int32_t bonus_stat; // 0x11f4 - int32_t bonus_damage; // 0x11f8 + int32_t bonus_movement_speed_ranged; // 0x12b8 + int32_t bonus_movement_speed_melee; // 0x12bc + int32_t bonus_attack_speed; // 0x12c0 + int32_t bonus_stat; // 0x12c4 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_PhaseBoots : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_damage_melee; // 0x11ec - int32_t bonus_damage_range; // 0x11f0 - int32_t damage_block_melee; // 0x11f4 - int32_t damage_block_ranged; // 0x11f8 - int32_t block_chance; // 0x11fc - int32_t bonus_attack_speed; // 0x1200 - int32_t bonus_armor; // 0x1204 + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_damage_melee; // 0x12bc + int32_t bonus_damage_range; // 0x12c0 + int32_t damage_block_melee; // 0x12c4 + int32_t damage_block_ranged; // 0x12c8 + int32_t block_chance; // 0x12cc + int32_t bonus_attack_speed; // 0x12d0 + int32_t bonus_armor; // 0x12d4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_PhaseBoots_Active : public CDOTA_Buff { public: - int32_t phase_movement_speed; // 0x11e8 - int32_t phase_movement_speed_range; // 0x11ec + int32_t phase_movement_speed; // 0x12b8 + int32_t phase_movement_speed_range; // 0x12bc }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_TranquilBoots : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t broken_movement_speed; // 0x11ec - int32_t bonus_armor; // 0x11f0 - int32_t bonus_health_regen; // 0x11f4 - int32_t break_threshold; // 0x11f8 - int32_t break_time; // 0x11fc - int32_t break_count; // 0x1200 - float m_flResetTime; // 0x1204 + int32_t bonus_movement_speed; // 0x12b8 + int32_t broken_movement_speed; // 0x12bc + int32_t bonus_armor; // 0x12c0 + int32_t bonus_health_regen; // 0x12c4 + int32_t break_threshold; // 0x12c8 + int32_t break_time; // 0x12cc + int32_t break_count; // 0x12d0 + float m_flResetTime; // 0x12d4 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_TranquilBoots2 : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t broken_movement_speed; // 0x11ec - int32_t bonus_armor; // 0x11f0 - int32_t bonus_health_regen; // 0x11f4 - int32_t break_threshold; // 0x11f8 - int32_t break_time; // 0x11fc - int32_t break_count; // 0x1200 + int32_t bonus_movement_speed; // 0x12b8 + int32_t broken_movement_speed; // 0x12bc + int32_t bonus_armor; // 0x12c0 + int32_t bonus_health_regen; // 0x12c4 + int32_t break_threshold; // 0x12c8 + int32_t break_time; // 0x12cc + int32_t break_count; // 0x12d0 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Hermes_Sandals : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_damage_melee; // 0x11ec - int32_t bonus_damage_range; // 0x11f0 - int32_t bonus_armor; // 0x11f4 - int32_t bonus_agility; // 0x11f8 + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_damage_melee; // 0x12bc + int32_t bonus_damage_range; // 0x12c0 + int32_t bonus_armor; // 0x12c4 + int32_t bonus_agility; // 0x12c8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Hermes_Sandals_Active : public CDOTA_Buff { public: - int32_t phase_movement_speed; // 0x11e8 - int32_t phase_movement_speed_range; // 0x11ec - ParticleIndex_t m_nFXIndex; // 0x11f0 - bool m_bWasRooted; // 0x11f4 + int32_t phase_movement_speed; // 0x12b8 + int32_t phase_movement_speed_range; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c0 + bool m_bWasRooted; // 0x12c4 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Samurai_Tabi : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t bonus_all_stats; // 0x11f0 - int32_t bonus_damage; // 0x11f4 + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t bonus_all_stats; // 0x12c0 + int32_t bonus_damage; // 0x12c4 }; // Alignment: 11 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Item_Samurai_Tabi_Str : public CDOTA_Buff_Item { public: - int32_t stat_per_tick; // 0x11e8 - int32_t bonus_all_stats; // 0x11ec - float base_interval; // 0x11f0 - int32_t max_tick_count; // 0x11f4 - float str_root_duration; // 0x11f8 - float str_root_cooldown; // 0x11fc - int32_t str_root_chance; // 0x1200 - float str_bonus_damage; // 0x1204 - int32_t iCurrentTickCount; // 0x1208 - GameTime_t m_flLastRootTime; // 0x120c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1210 + int32_t stat_per_tick; // 0x12b8 + int32_t bonus_all_stats; // 0x12bc + float base_interval; // 0x12c0 + int32_t max_tick_count; // 0x12c4 + float str_root_duration; // 0x12c8 + float str_root_cooldown; // 0x12cc + int32_t str_root_chance; // 0x12d0 + float str_bonus_damage; // 0x12d4 + int32_t iCurrentTickCount; // 0x12d8 + GameTime_t m_flLastRootTime; // 0x12dc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Samurai_Tabi_Agi : public CDOTA_Buff_Item { public: - int32_t stat_per_tick; // 0x11e8 - float base_interval; // 0x11ec - int32_t max_tick_count; // 0x11f0 - int32_t bonus_all_stats; // 0x11f4 - int32_t agi_counter_chance; // 0x11f8 - float agi_counter_cooldown; // 0x11fc - GameTime_t m_flLastCounterTime; // 0x1200 - int32_t iCurrentTickCount; // 0x1204 + int32_t stat_per_tick; // 0x12b8 + float base_interval; // 0x12bc + int32_t max_tick_count; // 0x12c0 + int32_t bonus_all_stats; // 0x12c4 + int32_t agi_counter_chance; // 0x12c8 + float agi_counter_cooldown; // 0x12cc + GameTime_t m_flLastCounterTime; // 0x12d0 + int32_t iCurrentTickCount; // 0x12d4 }; // Alignment: 10 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Item_Samurai_Tabi_Int : public CDOTA_Buff_Item { public: - int32_t stat_per_tick; // 0x11e8 - float base_interval; // 0x11ec - int32_t max_tick_count; // 0x11f0 - float int_damage_interval; // 0x11f4 - float int_damage_range; // 0x11f8 - float int_damage; // 0x11fc - int32_t iCurrentTickCount; // 0x1200 - int32_t int_max_targets; // 0x1204 - GameTime_t m_flNextHit; // 0x1208 - int32_t bonus_all_stats; // 0x120c + int32_t stat_per_tick; // 0x12b8 + float base_interval; // 0x12bc + int32_t max_tick_count; // 0x12c0 + float int_damage_interval; // 0x12c4 + float int_damage_range; // 0x12c8 + float int_damage; // 0x12cc + int32_t iCurrentTickCount; // 0x12d0 + int32_t int_max_targets; // 0x12d4 + GameTime_t m_flNextHit; // 0x12d8 + int32_t bonus_all_stats; // 0x12dc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifer_Item_GlovesOfHaste : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 + int32_t bonus_attack_speed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_BeltOfStrength : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 + int32_t bonus_strength; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_RobeOfMagi : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 + int32_t bonus_intellect; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_BootsOfElven : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 + int32_t bonus_agility; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_BladesOfAttack : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_EmptyBottle : public CDOTA_Buff_Item { public: @@ -28950,269 +29601,269 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_BottleRegeneration : public CDOTA_Buff { public: - int32_t health_restore; // 0x11e8 - int32_t mana_restore; // 0x11ec - int32_t health_restore_pct; // 0x11f0 - int32_t mana_restore_pct; // 0x11f4 - int32_t break_on_hero_damage; // 0x11f8 - float m_fHealingDone; // 0x11fc + int32_t health_restore; // 0x12b8 + int32_t mana_restore; // 0x12bc + int32_t health_restore_pct; // 0x12c0 + int32_t mana_restore_pct; // 0x12c4 + int32_t break_on_hero_damage; // 0x12c8 + float m_fHealingDone; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_DemonEdge : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_EagleHorn : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 + int32_t bonus_agility; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Reaver : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 + int32_t bonus_strength; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_SacredRelic : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Hyperstone : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 + int32_t bonus_attack_speed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_RingOfHealth : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x11e8 + float bonus_health_regen; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_VoidStone : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x11e8 + float bonus_mana_regen; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_MysticStaff : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 + int32_t bonus_intellect; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_EnergyBooster : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x11e8 + int32_t bonus_mana; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_PointBooster : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x11e8 - int32_t bonus_health; // 0x11ec + int32_t bonus_mana; // 0x12b8 + int32_t bonus_health; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_VitalityBooster : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 + int32_t bonus_health; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Broadsword : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Quarterstaff : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_speed; // 0x11ec + int32_t bonus_damage; // 0x12b8 + int32_t bonus_speed; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Claymore : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_RingOfProtection : public CDOTA_Buff_Item { public: - float bonus_armor; // 0x11e8 + float bonus_armor; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_StoutShield : public CDOTA_Buff_Item { public: - int32_t damage_block_melee; // 0x11e8 - int32_t damage_block_ranged; // 0x11ec - int32_t block_chance; // 0x11f0 + int32_t damage_block_melee; // 0x12b8 + int32_t damage_block_ranged; // 0x12bc + int32_t block_chance; // 0x12c0 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Javelin : public CDOTA_Buff_Item { public: - int32_t bonus_chance; // 0x11e8 - int32_t bonus_chance_damage; // 0x11ec - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + int32_t bonus_chance; // 0x12b8 + int32_t bonus_chance_damage; // 0x12bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_MithrilHammer : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_ChainMail : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_HelmOfIronWill : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 - float bonus_regen; // 0x11ec + int32_t bonus_armor; // 0x12b8 + float bonus_regen; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_PlateMail : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_QuellingBlade : public CDOTA_Buff_Item { public: - int32_t damage_bonus; // 0x11e8 - int32_t damage_bonus_ranged; // 0x11ec + int32_t damage_bonus; // 0x12b8 + int32_t damage_bonus_ranged; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_IronwoodBranch : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 + int32_t bonus_all_stats; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_OgreAxe : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 + int32_t bonus_strength; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_BladeOfAlacrity : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 + int32_t bonus_agility; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_StaffOfWizardry : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 + int32_t bonus_intellect; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_UltimateOrb : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 + int32_t bonus_all_stats; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_MaskOfDeath : public CDOTA_Buff_Item { public: - int32_t lifesteal_percent; // 0x11e8 - int32_t creep_lifesteal_reduction_pct; // 0x11ec + int32_t lifesteal_percent; // 0x12b8 + int32_t creep_lifesteal_reduction_pct; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_RingOfRegeneration : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x11e8 + float bonus_health_regen; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_BlinkDagger : public CDOTA_Buff_Item { public: - float blink_damage_cooldown; // 0x11e8 + float blink_damage_cooldown; // 0x12b8 }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_SuperBlinkDagger : public CDOTA_Modifier_Item_BlinkDagger { public: @@ -29220,142 +29871,144 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_SobiMask : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x11e8 + float bonus_mana_regen; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_GemOfTrueSight : public CDOTA_Buff_Item { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Gem_Active_TrueSight : public CDOTA_Buff { public: - int32_t active_radius; // 0x11e8 - float duration; // 0x11ec + int32_t active_radius; // 0x12b8 + float duration; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_PlaneswalkersCloak : public CDOTA_Buff_Item { public: - int32_t bonus_magical_armor; // 0x11e8 + int32_t bonus_magical_armor; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_MagicStick : public CDOTA_Buff_Item { public: - int32_t charge_radius; // 0x11e8 - int32_t max_charges; // 0x11ec + int32_t charge_radius; // 0x12b8 + int32_t max_charges; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_MagicWand : public CDOTA_Buff_Item { public: - int32_t charge_radius; // 0x11e8 - int32_t max_charges; // 0x11ec - int32_t bonus_all_stats; // 0x11f0 + int32_t charge_radius; // 0x12b8 + int32_t max_charges; // 0x12bc + int32_t bonus_all_stats; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_TalismanOfEvasion : public CDOTA_Buff_Item { public: - int32_t bonus_evasion; // 0x11e8 + int32_t bonus_evasion; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_GhostScepter : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 + int32_t bonus_all_stats; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_GhostScepter_Active : public CDOTA_Buff { public: - int32_t extra_spell_damage_percent; // 0x11e8 + int32_t extra_spell_damage_percent; // 0x12b8 }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Item_HandOfMidas : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 + int32_t bonus_attack_speed; // 0x12b8 + float charge_gain_timer; // 0x12bc + int32_t max_charges; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_OblivionStaff : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t bonus_damage; // 0x11f0 - float bonus_mana_regen; // 0x11f4 + int32_t bonus_intellect; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t bonus_damage; // 0x12c0 + float bonus_mana_regen; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Perseverance : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x11e8 - float bonus_mana_regen; // 0x11ec + float bonus_health_regen; // 0x12b8 + float bonus_mana_regen; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_PoorMansShield : public CDOTA_Buff_Item { public: - int32_t damage_block_melee; // 0x11e8 - int32_t damage_block_ranged; // 0x11ec - int32_t block_chance; // 0x11f0 - int32_t bonus_agility; // 0x11f4 + int32_t damage_block_melee; // 0x12b8 + int32_t damage_block_ranged; // 0x12bc + int32_t block_chance; // 0x12c0 + int32_t bonus_agility; // 0x12c4 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_DustofAppearance_Thinker : public CDOTA_Buff { public: - float radius; // 0x11e8 - float duration; // 0x11ec - float linger_duration; // 0x11f0 - int32_t movespeed; // 0x11f4 - float damage; // 0x11f8 + float radius; // 0x12b8 + float duration; // 0x12bc + float linger_duration; // 0x12c0 + int32_t movespeed; // 0x12c4 + float damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_DustofAppearance : public CDOTA_Buff { public: - int32_t movespeed; // 0x11e8 + int32_t movespeed; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Buff_Wards : public CDOTA_Buff { public: @@ -29363,7 +30016,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_ObserverWard : public CDOTA_Buff_Item { public: @@ -29371,7 +30024,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_SentryWard : public CDOTA_Buff_Item { public: @@ -29379,160 +30032,161 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_WardTrueSight : public CDOTA_Buff { public: - int32_t true_sight_range; // 0x11e8 + int32_t true_sight_range; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_DivineRapier : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Item_MonkeyKingBar : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_chance; // 0x11ec - int32_t bonus_chance_damage; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_chance; // 0x12bc + int32_t bonus_chance_damage; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Radiance : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t evasion; // 0x11ec - int32_t upgrade_day_vision; // 0x11f0 - int32_t aura_radius; // 0x11f4 + int32_t bonus_damage; // 0x12b8 + int32_t evasion; // 0x12bc + int32_t upgrade_day_vision; // 0x12c0 + int32_t aura_radius; // 0x12c4 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Radiance_Debuff : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - int32_t aura_damage; // 0x11f0 - int32_t aura_damage_upgrade_bonus; // 0x11f4 - int32_t aura_damage_illusions; // 0x11f8 - int32_t blind_pct; // 0x11fc + int32_t aura_damage; // 0x12c0 + int32_t aura_damage_upgrade_bonus; // 0x12c4 + int32_t aura_damage_illusions; // 0x12c8 + int32_t blind_pct; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Butterfly_Extra : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x11e8 -}; - -// Alignment: 4 -// Size: 0x11f8 -class CDOTA_Modifier_Item_Butterfly : public CDOTA_Buff_Item -{ -public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_agility; // 0x11ec - int32_t bonus_evasion; // 0x11f0 - int32_t bonus_attack_speed; // 0x11f4 -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Item_GreaterCritical : public CDOTA_Buff_Item -{ -public: - int32_t bonus_damage; // 0x11e8 - int32_t crit_chance; // 0x11ec - int32_t crit_multiplier; // 0x11f0 -}; - -// Alignment: 8 -// Size: 0x1220 -class CDOTA_Modifier_Item_CraniumBasher : public CDOTA_Buff_Item -{ -public: - int32_t bonus_strength; // 0x11e8 - int32_t bash_chance_melee; // 0x11ec - int32_t bash_chance_ranged; // 0x11f0 - float bash_duration; // 0x11f4 - float bash_cooldown; // 0x11f8 - int32_t bonus_chance_damage; // 0x11fc - int32_t bonus_damage; // 0x1200 -private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 -}; - -// Alignment: 13 -// Size: 0x1238 -class CDOTA_Modifier_Item_AbyssalBlade : public CDOTA_Buff_Item -{ -public: - int32_t bonus_strength; // 0x11e8 - int32_t bash_chance_melee; // 0x11ec - int32_t bash_chance_ranged; // 0x11f0 - float bash_duration; // 0x11f4 - float bash_cooldown; // 0x11f8 - int32_t bonus_chance_damage; // 0x11fc - int32_t bonus_damage; // 0x1200 -private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 - int32_t bonus_health; // 0x1220 - float bonus_health_regen; // 0x1224 - int32_t block_damage_ranged; // 0x1228 - int32_t block_damage_melee; // 0x122c - int32_t block_chance; // 0x1230 -}; - -// Alignment: 12 -// Size: 0x1218 -class CDOTA_Modifier_Item_Battlefury : public CDOTA_Buff_Item -{ -public: - int32_t bonus_damage; // 0x11e8 - float bonus_health_regen; // 0x11ec - float bonus_mana_regen; // 0x11f0 - int32_t cleave_damage_percent; // 0x11f4 - int32_t cleave_damage_percent_creep; // 0x11f8 - int32_t cleave_starting_width; // 0x11fc - int32_t cleave_ending_width; // 0x1200 - int32_t cleave_distance; // 0x1204 - int32_t upgraded_cleave_bonus; // 0x1208 - int32_t upgraded_damage_bonus; // 0x120c - int32_t quelling_bonus; // 0x1210 - int32_t quelling_bonus_ranged; // 0x1214 + int32_t bonus_move_speed; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Butterfly : public CDOTA_Buff_Item +{ +public: + int32_t bonus_damage; // 0x12b8 + int32_t bonus_agility; // 0x12bc + int32_t bonus_evasion; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c4 + int32_t bonus_slow_resistance; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Item_GreaterCritical : public CDOTA_Buff_Item +{ +public: + int32_t bonus_damage; // 0x12b8 + int32_t crit_chance; // 0x12bc + int32_t crit_multiplier; // 0x12c0 +}; + +// Alignment: 8 +// Size: 0x12f0 +class CDOTA_Modifier_Item_CraniumBasher : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x12b8 + int32_t bash_chance_melee; // 0x12bc + int32_t bash_chance_ranged; // 0x12c0 + float bash_duration; // 0x12c4 + float bash_cooldown; // 0x12c8 + int32_t bonus_chance_damage; // 0x12cc + int32_t bonus_damage; // 0x12d0 +private: + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 +}; + +// Alignment: 13 +// Size: 0x1308 +class CDOTA_Modifier_Item_AbyssalBlade : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x12b8 + int32_t bash_chance_melee; // 0x12bc + int32_t bash_chance_ranged; // 0x12c0 + float bash_duration; // 0x12c4 + float bash_cooldown; // 0x12c8 + int32_t bonus_chance_damage; // 0x12cc + int32_t bonus_damage; // 0x12d0 +private: + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 + int32_t bonus_health; // 0x12f0 + float bonus_health_regen; // 0x12f4 + int32_t block_damage_ranged; // 0x12f8 + int32_t block_damage_melee; // 0x12fc + int32_t block_chance; // 0x1300 +}; + +// Alignment: 12 +// Size: 0x12e8 +class CDOTA_Modifier_Item_Battlefury : public CDOTA_Buff_Item +{ +public: + int32_t bonus_damage; // 0x12b8 + float bonus_health_regen; // 0x12bc + float bonus_mana_regen; // 0x12c0 + int32_t cleave_damage_percent; // 0x12c4 + int32_t cleave_damage_percent_creep; // 0x12c8 + int32_t cleave_starting_width; // 0x12cc + int32_t cleave_ending_width; // 0x12d0 + int32_t cleave_distance; // 0x12d4 + int32_t upgraded_cleave_bonus; // 0x12d8 + int32_t upgraded_damage_bonus; // 0x12dc + int32_t quelling_bonus; // 0x12e0 + int32_t quelling_bonus_ranged; // 0x12e4 +}; + +// Alignment: 5 +// Size: 0x12d0 class CDOTA_Modifier_Item_MantaStyle : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_strength; // 0x11ec - int32_t bonus_agility; // 0x11f0 - int32_t bonus_intellect; // 0x11f4 - int32_t bonus_movement_speed; // 0x11f8 + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_strength; // 0x12bc + int32_t bonus_agility; // 0x12c0 + int32_t bonus_intellect; // 0x12c4 + int32_t bonus_movement_speed; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Manta_Phase : public CDOTA_Buff { public: @@ -29540,7 +30194,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Manta : public CDOTA_Buff { public: @@ -29548,114 +30202,116 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_LesserCritical : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t crit_chance; // 0x11ec - int32_t crit_multiplier; // 0x11f0 + int32_t bonus_damage; // 0x12b8 + int32_t crit_chance; // 0x12bc + int32_t crit_multiplier; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Armlet : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t bonus_armor; // 0x11f0 - int32_t bonus_health_regen; // 0x11f4 + int32_t bonus_damage; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t bonus_armor; // 0x12c0 + int32_t bonus_health_regen; // 0x12c4 }; -// Alignment: 8 -// Size: 0x1208 +// Alignment: 9 +// Size: 0x12e0 class CDOTA_Modifier_Armlet_UnholyStrength : public CDOTA_Buff { public: - int32_t unholy_bonus_damage; // 0x11e8 - int32_t unholy_bonus_attack_speed; // 0x11ec - int32_t unholy_bonus_strength; // 0x11f0 - int32_t unholy_bonus_armor; // 0x11f4 - int32_t unholy_health_drain_per_second; // 0x11f8 - int32_t str_tick_count; // 0x11fc - float tick_interval; // 0x1200 - float m_flDamageRemainder; // 0x1204 + int32_t unholy_bonus_damage; // 0x12b8 + int32_t unholy_bonus_attack_speed; // 0x12bc + int32_t unholy_bonus_strength; // 0x12c0 + int32_t unholy_bonus_armor; // 0x12c4 + int32_t unholy_health_drain_per_second; // 0x12c8 + int32_t str_tick_count; // 0x12cc + int32_t unholy_bonus_slow_resistance; // 0x12d0 + float tick_interval; // 0x12d4 + float m_flDamageRemainder; // 0x12d8 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_InvisibilityEdge : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_damage; // 0x11ec - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_damage; // 0x12bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_InvisibilityEdge_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t windwalk_bonus_damage; // 0x11f8 - int32_t windwalk_movement_speed; // 0x11fc + int32_t windwalk_bonus_damage; // 0x12c8 + int32_t windwalk_movement_speed; // 0x12cc }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_SheepStick : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_agility; // 0x11ec - int32_t bonus_intellect; // 0x11f0 - float bonus_mana_regen; // 0x11f4 - int32_t bonus_mana; // 0x11f8 - int32_t cast_range_bonus; // 0x11fc + int32_t bonus_strength; // 0x12b8 + int32_t bonus_agility; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + float bonus_mana_regen; // 0x12c4 + int32_t bonus_mana; // 0x12c8 + int32_t cast_range_bonus; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SheepStick_Debuff : public CDOTA_Modifier_Hexed { public: - float sheep_movement_speed; // 0x11e8 + float sheep_movement_speed; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_OrchidMalevolence : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - float bonus_mana_regen; // 0x11ec - float bonus_health_regen; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - int32_t bonus_attack_speed; // 0x11f8 + int32_t bonus_intellect; // 0x12b8 + float bonus_mana_regen; // 0x12bc + float bonus_health_regen; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + int32_t bonus_attack_speed; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_OrchidMalevolence_Debuff : public CDOTA_Buff { public: - float silence_damage_percent; // 0x11e8 - float m_flDamageTaken; // 0x11ec + float silence_damage_percent; // 0x12b8 + float m_flDamageTaken; // 0x12bc }; -// Alignment: 3 -// Size: 0x11f8 +// Alignment: 4 +// Size: 0x12c8 class CDOTA_Modifier_Item_RodOfAtos : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_agility; // 0x11ec - int32_t bonus_intellect; // 0x11f0 + int32_t bonus_strength; // 0x12b8 + int32_t bonus_agility; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + int32_t bonus_hp; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_RodOfAtos_Debuff : public CDOTA_Modifier_Rooted { public: @@ -29663,25 +30319,25 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Cyclone : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t bonus_movement_speed; // 0x11f0 + int32_t bonus_intellect; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_movement_speed; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Eul_Cyclone : public CDOTA_Modifier_Cyclone { public: - CHandle< C_BaseEntity > m_hBlocker; // 0x11f0 + CHandle< C_BaseEntity > m_hBlocker; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Eul_Cyclone_Thinker : public CDOTA_Buff { public: @@ -29689,24 +30345,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_ForceStaff : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_intellect; // 0x11ec + int32_t bonus_health; // 0x12b8 + int32_t bonus_intellect; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ForceStaff : public CDOTA_Buff { public: - float push_length; // 0x11e8 + float push_length; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Dagon : public CDOTA_Buff { public: @@ -29714,40 +30370,50 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Dagon : public CDOTA_Buff_Item { public: - int32_t bonus_int; // 0x11e8 - int32_t bonus_str; // 0x11ec - int32_t bonus_agi; // 0x11f0 - float passive_spell_lifesteal; // 0x11f4 - float dagon_spell_lifesteal; // 0x11f8 + int32_t bonus_int; // 0x12b8 + int32_t bonus_str; // 0x12bc + int32_t bonus_agi; // 0x12c0 + float passive_spell_lifesteal; // 0x12c4 + float dagon_spell_lifesteal; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_RefresherOrb : public CDOTA_Buff_Item { public: - int32_t bonus_health_regen; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t bonus_damage; // 0x11f0 + int32_t bonus_health_regen; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_damage; // 0x12c0 +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Item_RefresherShard : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health_regen; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_damage; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_UltimateScepter : public CDOTA_Buff_Item { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t bonus_all_stats; // 0x11ec - int32_t bonus_health; // 0x11f0 - int32_t bonus_mana; // 0x11f4 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t bonus_all_stats; // 0x12bc + int32_t bonus_health; // 0x12c0 + int32_t bonus_mana; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_UltimateScepter_Consumed : public CDOTA_Buff_Item { public: @@ -29755,18 +30421,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_UltimateScepter_Consumed_Alchemist : public CDOTA_Modifier_Item_UltimateScepter_Consumed { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t bonus_all_stats; // 0x11ec - int32_t bonus_health; // 0x11f0 - int32_t bonus_mana; // 0x11f4 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t bonus_all_stats; // 0x12bc + int32_t bonus_health; // 0x12c0 + int32_t bonus_mana; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Assault_Cuirass_Positive_Aura : public CDOTA_Buff_Item { public: @@ -29774,16 +30440,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Assault_Cuirass_Positive : public CDOTA_Buff { public: - int32_t aura_attack_speed; // 0x11e8 - int32_t aura_positive_armor; // 0x11ec + int32_t aura_attack_speed; // 0x12b8 + int32_t aura_positive_armor; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Assault_Cuirass_Negative_Armor_Aura : public CDOTA_Buff_Item { public: @@ -29791,61 +30457,61 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Assault_Cuirass_Negative_Armor : public CDOTA_Buff { public: - int32_t aura_negative_armor; // 0x11e8 + int32_t aura_negative_armor; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Assault_Cuirass : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_armor; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Heart : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_health; // 0x11ec - float health_regen_pct; // 0x11f0 + int32_t bonus_strength; // 0x12b8 + int32_t bonus_health; // 0x12bc + float health_regen_pct; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Black_King_Bar_Immune : public CDOTA_Modifier_DebuffImmune { public: - int32_t model_scale; // 0x11e8 - int32_t magic_resist; // 0x11ec + int32_t model_scale; // 0x12b8 + int32_t magic_resist; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Black_King_Bar : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_damage; // 0x11ec - float duration; // 0x11f0 + int32_t bonus_strength; // 0x12b8 + int32_t bonus_damage; // 0x12bc + float duration; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Aegis : public CDOTA_Buff_Item { public: - float reincarnate_time; // 0x11e8 + float reincarnate_time; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aegis_Regen : public CDOTA_Buff { public: @@ -29853,49 +30519,50 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Shivas_Guard : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - int32_t bonus_armor; // 0x11ec - int32_t aura_radius; // 0x11f0 + int32_t bonus_intellect; // 0x12b8 + int32_t bonus_armor; // 0x12bc + int32_t aura_radius; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Shivas_Guard_Aura : public CDOTA_Buff { public: - int32_t aura_attack_speed; // 0x11e8 - int32_t hp_regen_degen_aura; // 0x11ec + int32_t aura_attack_speed; // 0x12b8 + int32_t hp_regen_degen_aura; // 0x12bc }; -// Alignment: 8 -// Size: 0x1230 +// Alignment: 9 +// Size: 0x1308 class CDOTA_Modifier_Item_Shivas_Guard_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x11e8 - GameTime_t m_fLastThink; // 0x11ec - CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11f0 - CountdownTimer m_ViewerTimer; // 0x1208 - int32_t blast_speed; // 0x1220 - int32_t blast_radius; // 0x1224 - int32_t blast_damage; // 0x1228 - float blast_debuff_duration; // 0x122c + float m_fCurRadius; // 0x12b8 + GameTime_t m_fLastThink; // 0x12bc + CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x12c0 + CountdownTimer m_ViewerTimer; // 0x12d8 + int32_t blast_speed; // 0x12f0 + int32_t blast_radius; // 0x12f4 + int32_t blast_damage; // 0x12f8 + int32_t illusion_multiplier_pct; // 0x12fc + float blast_debuff_duration; // 0x1300 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Shivas_Guard_Blast : public CDOTA_Buff { public: - int32_t blast_movement_speed; // 0x11e8 + int32_t blast_movement_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Bloodstone_Active : public CDOTA_Buff { public: @@ -29903,18 +30570,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Bloodstone : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_mana; // 0x11ec - float spell_lifesteal; // 0x11f0 - float lifesteal_multiplier; // 0x11f4 + int32_t bonus_health; // 0x12b8 + int32_t bonus_mana; // 0x12bc + float spell_lifesteal; // 0x12c0 + float lifesteal_multiplier; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Bloodstone_Drained : public CDOTA_Buff { public: @@ -29922,131 +30589,131 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Sange : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t hp_regen_amp; // 0x11ec - int32_t status_resistance; // 0x11f0 + int32_t bonus_strength; // 0x12b8 + int32_t hp_regen_amp; // 0x12bc + int32_t status_resistance; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Yasha : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t movement_speed_percent_bonus; // 0x11f0 + int32_t bonus_agility; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t movement_speed_percent_bonus; // 0x12c0 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_SangeAndYasha : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t movement_speed_percent_bonus; // 0x11f0 - int32_t bonus_strength; // 0x11f4 - int32_t hp_regen_amp; // 0x11f8 - int32_t status_resistance; // 0x11fc + int32_t bonus_agility; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t movement_speed_percent_bonus; // 0x12c0 + int32_t bonus_strength; // 0x12c4 + int32_t hp_regen_amp; // 0x12c8 + int32_t status_resistance; // 0x12cc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_MaskOfMadness : public CDOTA_Buff_Item { public: - int32_t lifesteal_percent; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t bonus_damage; // 0x11f0 - int32_t creep_lifesteal_reduction_pct; // 0x11f4 + int32_t lifesteal_percent; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t bonus_damage; // 0x12c0 + int32_t creep_lifesteal_reduction_pct; // 0x12c4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_MaskOfMadness_Berserk : public CDOTA_Buff { public: - int32_t berserk_bonus_attack_speed; // 0x11e8 - int32_t berserk_bonus_movement_speed; // 0x11ec - int32_t berserk_armor_reduction; // 0x11f0 + int32_t berserk_bonus_attack_speed; // 0x12b8 + int32_t berserk_bonus_movement_speed; // 0x12bc + int32_t berserk_armor_reduction; // 0x12c0 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Sphere : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 - float bonus_health_regen; // 0x11ec - float bonus_mana_regen; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - float block_cooldown; // 0x11f8 - float upgrade_absorb_duration; // 0x11fc + int32_t bonus_all_stats; // 0x12b8 + float bonus_health_regen; // 0x12bc + float bonus_mana_regen; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + float block_cooldown; // 0x12c8 + float upgrade_absorb_duration; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Sphere_Target : public CDOTA_Buff_Item { public: - float upgrade_absorb_duration; // 0x11e8 + float upgrade_absorb_duration; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Sphere_Upgrade_Absorb : public CDOTA_Buff { public: - int32_t damage_absorb; // 0x11e8 - bool m_bStartedTimer; // 0x11ec + int32_t damage_absorb; // 0x12b8 + bool m_bStartedTimer; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - int32_t m_flDamageAbsorbed; // 0x11f0 + int32_t m_flDamageAbsorbed; // 0x12c0 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Vanguard : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - float bonus_health_regen; // 0x11ec - int32_t block_damage_ranged; // 0x11f0 - int32_t block_damage_melee; // 0x11f4 - int32_t block_chance; // 0x11f8 + int32_t bonus_health; // 0x12b8 + float bonus_health_regen; // 0x12bc + int32_t block_damage_ranged; // 0x12c0 + int32_t block_damage_melee; // 0x12c4 + int32_t block_chance; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Crimson_Guard_Extra : public CDOTA_Buff { public: - int32_t block_chance_active; // 0x11e8 - int32_t block_damage_active; // 0x11ec - int32_t strength_pct; // 0x11f0 + int32_t block_chance_active; // 0x12b8 + int32_t block_damage_active; // 0x12bc + int32_t strength_pct; // 0x12c0 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Crimson_Guard : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - float bonus_health_regen; // 0x11ec - float bonus_armor; // 0x11f0 - int32_t block_damage_ranged; // 0x11f4 - int32_t block_damage_melee; // 0x11f8 - int32_t block_chance; // 0x11fc - int32_t bonus_aoe_radius; // 0x1200 + int32_t bonus_health; // 0x12b8 + float bonus_health_regen; // 0x12bc + float bonus_armor; // 0x12c0 + int32_t block_damage_ranged; // 0x12c4 + int32_t block_damage_melee; // 0x12c8 + int32_t block_chance; // 0x12cc + int32_t bonus_aoe_radius; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Crimson_Guard_NoStack : public CDOTA_Buff { public: @@ -30054,7 +30721,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Blade_Mail_Reflect : public CDOTA_Buff { public: @@ -30062,65 +30729,65 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Blade_Mail : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_armor; // 0x11ec - int32_t bonus_intellect; // 0x11f0 - int32_t passive_reflection_constant; // 0x11f4 - int32_t passive_reflection_pct; // 0x11f8 - int32_t active_reflection_pct; // 0x11fc + int32_t bonus_damage; // 0x12b8 + int32_t bonus_armor; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + int32_t passive_reflection_constant; // 0x12c4 + int32_t passive_reflection_pct; // 0x12c8 + int32_t active_reflection_pct; // 0x12cc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Soul_Booster : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_mana; // 0x11ec - int32_t bonus_magical_armor; // 0x11f0 + int32_t bonus_health; // 0x12b8 + int32_t bonus_mana; // 0x12bc + int32_t bonus_magical_armor; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Hood_Of_Defiance_Barrier : public CDOTA_Buff { public: - int32_t barrier_block; // 0x11e8 - int32_t barrier_amount; // 0x11ec + int32_t barrier_block; // 0x12b8 + int32_t barrier_amount; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Hood_Of_Defiance : public CDOTA_Buff_Item { public: - int32_t bonus_spell_resist; // 0x11e8 - float bonus_health_regen; // 0x11ec + int32_t bonus_spell_resist; // 0x12b8 + float bonus_health_regen; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Mekansm : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t aura_radius; // 0x12b8 + int32_t bonus_armor; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Mekansm_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x11e8 + float aura_health_regen; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Mekansm_Noheal : public CDOTA_Buff { public: @@ -30128,95 +30795,95 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Vladmir : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Vladmir_Aura : public CDOTA_Buff { public: - int32_t lifesteal_aura; // 0x11e8 - int32_t damage_aura; // 0x11ec - float armor_aura; // 0x11f0 - float mana_regen_aura; // 0x11f4 - int32_t creep_lifesteal_reduction_pct; // 0x11f8 + int32_t lifesteal_aura; // 0x12b8 + int32_t damage_aura; // 0x12bc + float armor_aura; // 0x12c0 + float mana_regen_aura; // 0x12c4 + int32_t creep_lifesteal_reduction_pct; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Buckler : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x11e8 + bool m_bAppliesToCreeps; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t bonus_aoe_radius; // 0x11ec - float armor; // 0x11f0 + int32_t bonus_aoe_radius; // 0x12bc + float armor; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Buckler_Effect : public CDOTA_Buff { public: - float bonus_aoe_armor; // 0x11e8 + float bonus_aoe_armor; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Ring_Of_Basilius : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x11e8 - float mana_regen; // 0x11ec + int32_t aura_radius; // 0x12b8 + float mana_regen; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Ring_Of_Basilius_Effect : public CDOTA_Buff { public: - float aura_mana_regen; // 0x11e8 + float aura_mana_regen; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Pipe : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 - float health_regen; // 0x11ec - int32_t magic_resistance; // 0x11f0 - int32_t aura_radius; // 0x11f4 + int32_t bonus_all_stats; // 0x12b8 + float health_regen; // 0x12bc + int32_t magic_resistance; // 0x12c0 + int32_t aura_radius; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Pipe_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x11e8 - int32_t magic_resistance_aura; // 0x11ec + float aura_health_regen; // 0x12b8 + int32_t magic_resistance_aura; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Pipe_Barrier : public CDOTA_Buff { public: - int32_t barrier_amount; // 0x11e8 - int32_t barrier_block; // 0x11ec - int32_t barrier_block_creep; // 0x11f0 + int32_t barrier_amount; // 0x12b8 + int32_t barrier_block; // 0x12bc + int32_t barrier_block_creep; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Pipe_Debuff : public CDOTA_Buff { public: @@ -30224,81 +30891,81 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Urn_Of_Shadows : public CDOTA_Buff_Item { public: - float mana_regen; // 0x11e8 - int32_t bonus_all_stats; // 0x11ec - float bonus_armor; // 0x11f0 + float mana_regen; // 0x12b8 + int32_t bonus_all_stats; // 0x12bc + float bonus_armor; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Urn_Heal : public CDOTA_Buff { public: - int32_t soul_heal_amount; // 0x11e8 - float m_fHealingDone; // 0x11ec + int32_t soul_heal_amount; // 0x12b8 + float m_fHealingDone; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Urn_Damage : public CDOTA_Buff { public: - int32_t soul_damage_amount; // 0x11e8 + int32_t soul_damage_amount; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Headdress : public CDOTA_Buff_Item { public: - float health_regen; // 0x11e8 - int32_t aura_radius; // 0x11ec + float health_regen; // 0x12b8 + int32_t aura_radius; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Headdress_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x11e8 + float aura_health_regen; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Satanic : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_strength; // 0x11ec - int32_t lifesteal_percent; // 0x11f0 - int32_t unholy_lifesteal_percent; // 0x11f4 - int32_t creep_lifesteal_reduction_pct; // 0x11f8 + int32_t bonus_damage; // 0x12b8 + int32_t bonus_strength; // 0x12bc + int32_t lifesteal_percent; // 0x12c0 + int32_t unholy_lifesteal_percent; // 0x12c4 + int32_t creep_lifesteal_reduction_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Satanic_Unholy : public CDOTA_Buff { public: - int32_t unholy_lifesteal_percent; // 0x11e8 + int32_t unholy_lifesteal_percent; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_HelmOfTheDominator : public CDOTA_Buff_Item { public: - int32_t bonus_stats; // 0x11e8 - int32_t bonus_armor; // 0x11ec - float bonus_regen; // 0x11f0 + int32_t bonus_stats; // 0x12b8 + int32_t bonus_armor; // 0x12bc + float bonus_regen; // 0x12c0 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_HelmOfTheDominator_2 : public CDOTA_Modifier_Item_HelmOfTheDominator { public: @@ -30306,755 +30973,769 @@ public: }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_HelmOfTheDominator_BonusHealth : public CDOTA_Buff { public: - int32_t health_min; // 0x11e8 - int32_t new_max; // 0x11ec - int32_t health_bonus; // 0x11f0 - int32_t model_scale; // 0x11f4 - int32_t creep_bonus_damage; // 0x11f8 - int32_t creep_bonus_hp_regen; // 0x11fc - int32_t creep_bonus_mp_regen; // 0x1200 - int32_t creep_bonus_armor; // 0x1204 + int32_t health_min; // 0x12b8 + int32_t new_max; // 0x12bc + int32_t health_bonus; // 0x12c0 + int32_t model_scale; // 0x12c4 + int32_t creep_bonus_damage; // 0x12c8 + int32_t creep_bonus_hp_regen; // 0x12cc + int32_t creep_bonus_mp_regen; // 0x12d0 + int32_t creep_bonus_armor; // 0x12d4 }; // Alignment: 6 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Item_Desolator : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_damage_per_kill; // 0x11ec - int32_t bonus_damage_per_assist; // 0x11f0 - int32_t max_damage; // 0x11f4 - float corruption_duration; // 0x11f8 + int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage_per_kill; // 0x12bc + int32_t bonus_damage_per_assist; // 0x12c0 + int32_t max_damage; // 0x12c4 + float corruption_duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Desolator_Corruption : public CDOTA_Buff { public: - int32_t corruption_armor; // 0x11e8 + int32_t corruption_armor; // 0x12b8 }; -// Alignment: 10 -// Size: 0x1238 +// Alignment: 11 +// Size: 0x1310 class CDOTA_Modifier_Item_Revenants_Brooch : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 - int32_t projectile_speed; // 0x11ec - int32_t bonus_intellect; // 0x11f0 - int32_t bonus_attack_speed; // 0x11f4 - int32_t mana_cost; // 0x11f8 - int32_t slow_duration; // 0x11fc - int32_t damage_penalty; // 0x1200 - int32_t passive_cooldown; // 0x1204 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 - CUtlVector< int16 > m_InFlightWitchBladeAttackRecords; // 0x1220 + int32_t bonus_armor; // 0x12b8 + int32_t projectile_speed; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c4 + int32_t mana_cost; // 0x12c8 + int32_t slow_duration; // 0x12cc + int32_t spell_amp_duration; // 0x12d0 + int32_t damage_penalty; // 0x12d4 + int32_t passive_cooldown; // 0x12d8 +private: + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 + CUtlVector< int16 > m_InFlightWitchBladeAttackRecords; // 0x12f8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Revenants_Brooch_InternalCD : public CDOTA_Buff { public: // No members available }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Item_Revenants_Brooch_Counter : public CDOTA_Buff { public: - float active_attack_speed; // 0x11e8 + float active_attack_speed; // 0x12b8 + float active_spell_amp; // 0x12bc +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Misery_Debuff : public CDOTA_Buff +{ +public: + int32_t active_mres_reduction; // 0x12b8 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Item_EagleEye : public CDOTA_Buff_Item +{ +public: + int32_t radius; // 0x12b8 + int32_t bonus_agi; // 0x12bc +}; + +// Alignment: 11 +// Size: 0x12f8 +class CDOTA_Modifier_Item_Tenderizer : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x12b8 + int32_t bonus_agility; // 0x12bc + int32_t bash_chance_melee; // 0x12c0 + int32_t bash_chance_ranged; // 0x12c4 + float bash_duration; // 0x12c8 + float bash_cooldown; // 0x12cc + int32_t bonus_chance_damage; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + int32_t weaken_per_hit; // 0x12d8 + float weaken_duration; // 0x12dc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Tenderizer_Weaken : public CDOTA_Modifier_Stacking_Base +{ +public: + int32_t weaken_per_hit; // 0x12b8 +}; + +// Alignment: 5 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Boots_Of_Bearing : public CDOTA_Buff_Item +{ +public: + int32_t radius; // 0x12b8 + int32_t bonus_movement_speed; // 0x12bc + int32_t bonus_health_regen; // 0x12c0 + int32_t bonus_str; // 0x12c4 + int32_t bonus_int; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Item_Boots_Of_Bearing_Aura : public CDOTA_Buff +{ +public: + int32_t aura_movement_speed; // 0x12b8 +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Item_Boots_Of_Bearing_Active : public CDOTA_Buff +{ +public: + int32_t bonus_attack_speed_pct; // 0x12b8 + int32_t bonus_movement_speed_pct; // 0x12bc + float bonus_ms_duration; // 0x12c0 +}; + +// Alignment: 6 +// Size: 0x12e8 +class CDOTA_Modifier_Item_VoidwalkerScythe : public CDOTA_Buff_Item +{ +public: + int32_t bonus_agility; // 0x12b8 + int32_t attacks; // 0x12bc + int32_t bonus_damage; // 0x12c0 + float buff_duration; // 0x12c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + int32_t m_nCounter; // 0x12e0 +}; + +// Alignment: 9 +// Size: 0x12f8 +class CDOTA_Modifier_Voidwalker_Phased : public CDOTA_Buff +{ +public: + int32_t damage; // 0x12b8 + float max_damage_duration; // 0x12bc + int32_t attack_range_bonus; // 0x12c0 +private: + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + bool bAttackRange; // 0x12e0 +private: + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 +public: + float m_flStartTime; // 0x12e4 + float m_flFadeTime; // 0x12e8 + float m_flDamageScale; // 0x12ec + float duration; // 0x12f0 +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Item_WraithPact : public CDOTA_Buff_Item +{ +public: + int32_t aura_radius; // 0x12b8 + int32_t bonus_mana; // 0x12bc + int32_t bonus_health; // 0x12c0 +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Item_WraithPact_Thinker : public CDOTA_Buff +{ +public: + int32_t pact_aura_radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc + float aura_dps; // 0x12c0 +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Item_WraithPact_DeathAura : public CDOTA_Buff +{ +public: + int32_t armor_penalty_aura; // 0x12b8 + int32_t damage_penalty_aura; // 0x12bc + float aura_dps; // 0x12c0 +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Skadi : public CDOTA_Buff_Item +{ +public: + int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_health; // 0x12bc + int32_t bonus_mana; // 0x12c0 + float cold_duration; // 0x12c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 +}; + +// Alignment: 5 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Skadi_Slow : public CDOTA_Buff +{ +public: + int32_t cold_slow_melee; // 0x12b8 + int32_t cold_attack_slow_melee; // 0x12bc + int32_t cold_slow_ranged; // 0x12c0 + int32_t cold_attack_slow_ranged; // 0x12c4 + int32_t heal_reduction; // 0x12c8 +}; + +// Alignment: 8 +// Size: 0x12f8 +class CDOTA_Modifier_MjollnirChain : public CDOTA_Buff +{ +public: + int32_t chain_radius; // 0x12b8 + int32_t chain_strikes; // 0x12bc + int32_t chain_damage; // 0x12c0 + float chain_delay; // 0x12c4 + int32_t chain_damage_per_charge; // 0x12c8 + int32_t m_iCurJumpCount; // 0x12cc + Vector m_vCurTargetLoc; // 0x12d0 +private: + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc +public: + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12e0 +}; + +// Alignment: 11 +// Size: 0x1310 +class CDOTA_Modifier_Item_Mjollnir : public CDOTA_Buff_Item +{ +public: + int32_t bonus_damage; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t chain_chance; // 0x12c0 + int32_t chain_strikes; // 0x12c4 + int32_t chain_damage; // 0x12c8 + int32_t chain_radius; // 0x12cc + int32_t chain_damage_per_charge; // 0x12d0 + int32_t max_charges; // 0x12d4 + float chain_cooldown; // 0x12d8 +private: + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 + CountdownTimer m_ChainTimer; // 0x12f8 +}; + +// Alignment: 8 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Mjollnir_Static : public CDOTA_Buff +{ +private: + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 +public: + int32_t static_chance; // 0x12c0 + int32_t static_strikes; // 0x12c4 + int32_t static_damage; // 0x12c8 + int32_t static_primary_radius; // 0x12cc + int32_t static_seconary_radius; // 0x12d0 + int32_t static_radius; // 0x12d4 + float static_cooldown; // 0x12d8 + int32_t chain_damage_per_charge; // 0x12dc +}; + +// Alignment: 7 +// Size: 0x12f0 +class CDOTA_Modifier_MaelstromChain : public CDOTA_Buff +{ +public: + int32_t chain_radius; // 0x12b8 + int32_t chain_strikes; // 0x12bc + int32_t chain_damage; // 0x12c0 + float chain_delay; // 0x12c4 + int32_t m_iCurJumpCount; // 0x12c8 + Vector m_vCurTargetLoc; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12d8 +}; + +// Alignment: 8 +// Size: 0x1300 +class CDOTA_Modifier_Item_Maelstrom : public CDOTA_Buff_Item +{ +public: + int32_t bonus_damage; // 0x12b8 + int32_t chain_chance; // 0x12bc + int32_t chain_strikes; // 0x12c0 + int32_t chain_damage; // 0x12c4 + int32_t chain_radius; // 0x12c8 + float chain_cooldown; // 0x12cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + CountdownTimer m_ChainTimer; // 0x12e8 +}; + +// Alignment: 6 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Diffusal_Blade : public CDOTA_Buff_Item +{ +public: + int32_t bonus_agility; // 0x12b8 + int32_t bonus_intellect; // 0x12bc + float damage_per_burn; // 0x12c0 + int32_t feedback_mana_burn; // 0x12c4 + int32_t feedback_mana_burn_illusion_melee; // 0x12c8 + int32_t feedback_mana_burn_illusion_ranged; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Item_Diffusal_Blade_Slow : public CDOTA_Buff +{ +public: + int32_t purge_rate; // 0x12b8 +}; + +// Alignment: 6 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Ethereal_Blade : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x12b8 + int32_t bonus_agility; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + int32_t spell_amp; // 0x12c4 + int32_t spell_lifesteal_amp; // 0x12c8 + int32_t mana_regen_multiplier; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Ethereal_Blade_Ethereal : public CDOTA_Buff +{ +public: + int32_t ethereal_damage_bonus; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Item_Ethereal_Blade_Slow : public CDOTA_Buff +{ +public: + int32_t blast_movement_slow; // 0x12b8 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Item_Soul_Ring : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x12b8 + float bonus_armor; // 0x12bc +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Soul_Ring_Buff : public CDOTA_Buff +{ +public: + int32_t m_iTempExtraMaxMana; // 0x12b8 + int32_t m_iManaToRemove; // 0x12bc + float duration; // 0x12c0 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Item_Necronomicon : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x12b8 + float bonus_mana_regen; // 0x12bc +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Item_Necronomicon_2 : public CDOTA_Buff_Item +{ +public: + float bonus_mana_regen; // 0x12b8 + int32_t bonus_strength; // 0x12bc + int32_t aura_radius; // 0x12c0 +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Item_Necronomicon_3 : public CDOTA_Buff_Item +{ +public: + float bonus_mana_regen; // 0x12b8 + int32_t bonus_strength; // 0x12bc + int32_t aura_radius; // 0x12c0 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Item_Necronomicon_Mana_Aura : public CDOTA_Buff +{ +public: + float aura_mana_regen; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Item_Necronomicon_Mana_Aura_2 : public CDOTA_Buff +{ +public: + float aura_mana_regen; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Item_Necronomicon_Mana_Aura_3 : public CDOTA_Buff +{ +public: + float aura_mana_regen; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Necronomicon_Warrior_ManaBurn : public CDOTA_Buff +{ +public: + int32_t burn_amount; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Necronomicon_Warrior_LastWill : public CDOTA_Buff +{ +public: + int32_t explosion; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Necronomicon_Warrior_Sight : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Necronomicon_Archer_Purge : public CDOTA_Buff +{ +public: + int32_t purge_rate; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Necronomicon_Archer_AoE : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Item_Necronomicon_Archer_Aura : public CDOTA_Buff +{ +public: + int32_t ms_bonus; // 0x12b8 +}; + +// Alignment: 7 +// Size: 0x12d8 +class CDOTA_Modifier_Royale_With_Cheese : public CDOTA_Buff +{ +public: + float shield; // 0x12b8 + float regen; // 0x12bc + float idle; // 0x12c0 + int32_t m_nDamageAbsorbed; // 0x12c4 + GameTime_t m_timeLastTick; // 0x12c8 + GameTime_t m_timeLastDamage; // 0x12cc + ParticleIndex_t nFXIndex; // 0x12d0 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Item_Arcane_Boots : public CDOTA_Buff_Item +{ +public: + int32_t bonus_movement; // 0x12b8 + int32_t bonus_mana; // 0x12bc +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_ArcaneBoots_ManaRegen : public CDOTA_Buff +{ +public: + float value; // 0x12b8 +}; + +// Alignment: 5 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Orb_of_Venom : public CDOTA_Buff_Item +{ +public: + int32_t poison_movement_speed_melee; // 0x12b8 + int32_t poison_movement_speed_range; // 0x12bc + float poison_duration; // 0x12c0 + float poison_damage_melee; // 0x12c4 + float poison_damage_range; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Item_Orb_of_Venom_Slow : public CDOTA_Buff +{ +public: + float duration; // 0x12b8 + float slow; // 0x12bc + float damage; // 0x12c0 +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Item_Ancient_Janggo : public CDOTA_Buff_Item +{ +public: + int32_t radius; // 0x12b8 + int32_t bonus_str; // 0x12bc + int32_t bonus_int; // 0x12c0 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Item_Ancient_Janggo_Aura : public CDOTA_Buff +{ +public: + int32_t aura_movement_speed; // 0x12b8 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Item_Ancient_Janggo_Active : public CDOTA_Buff +{ +public: + int32_t bonus_attack_speed_pct; // 0x12b8 + int32_t bonus_movement_speed_pct; // 0x12bc +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Item_Medallion_Of_Courage : public CDOTA_Buff_Item +{ +public: + int32_t bonus_armor; // 0x12b8 + float bonus_mana_regen_pct; // 0x12bc +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Addition : public CDOTA_Buff +{ +public: + int32_t bonus_armor; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Reduction : public CDOTA_Buff +{ +public: + int32_t armor_reduction; // 0x12b8 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Smoke_Of_Deceit : public CDOTA_Modifier_Invisible +{ +public: + int32_t bonus_movement_speed; // 0x12c8 + int32_t visibility_radius; // 0x12cc + int32_t secondary_application_radius; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 -class CDOTA_Modifier_Misery_Debuff : public CDOTA_Buff +// Size: 0x12b8 +class CDOTA_Modifier_Smoke_Of_Deceit_Secondary_Application_Cooldown : public CDOTA_Buff { public: // No members available }; -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Item_EagleEye : public CDOTA_Buff_Item -{ -public: - int32_t radius; // 0x11e8 - int32_t bonus_agi; // 0x11ec -}; - -// Alignment: 11 -// Size: 0x1228 -class CDOTA_Modifier_Item_Tenderizer : public CDOTA_Buff_Item -{ -public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_agility; // 0x11ec - int32_t bash_chance_melee; // 0x11f0 - int32_t bash_chance_ranged; // 0x11f4 - float bash_duration; // 0x11f8 - float bash_cooldown; // 0x11fc - int32_t bonus_chance_damage; // 0x1200 - int32_t bonus_damage; // 0x1204 - int32_t weaken_per_hit; // 0x1208 - float weaken_duration; // 0x120c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1210 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Tenderizer_Weaken : public CDOTA_Modifier_Stacking_Base -{ -public: - int32_t weaken_per_hit; // 0x11e8 -}; - -// Alignment: 5 -// Size: 0x1200 -class CDOTA_Modifier_Item_Boots_Of_Bearing : public CDOTA_Buff_Item -{ -public: - int32_t radius; // 0x11e8 - int32_t bonus_movement_speed; // 0x11ec - int32_t bonus_health_regen; // 0x11f0 - int32_t bonus_str; // 0x11f4 - int32_t bonus_int; // 0x11f8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Item_Boots_Of_Bearing_Aura : public CDOTA_Buff -{ -public: - int32_t aura_movement_speed; // 0x11e8 -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Item_Boots_Of_Bearing_Active : public CDOTA_Buff -{ -public: - int32_t bonus_attack_speed_pct; // 0x11e8 - int32_t bonus_movement_speed_pct; // 0x11ec - float bonus_ms_duration; // 0x11f0 -}; - // Alignment: 6 -// Size: 0x1218 -class CDOTA_Modifier_Item_VoidwalkerScythe : public CDOTA_Buff_Item -{ -public: - int32_t bonus_agility; // 0x11e8 - int32_t attacks; // 0x11ec - int32_t bonus_damage; // 0x11f0 - float buff_duration; // 0x11f4 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 - int32_t m_nCounter; // 0x1210 -}; - -// Alignment: 9 -// Size: 0x1228 -class CDOTA_Modifier_Voidwalker_Phased : public CDOTA_Buff -{ -public: - int32_t damage; // 0x11e8 - float max_damage_duration; // 0x11ec - int32_t attack_range_bonus; // 0x11f0 -private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 - bool bAttackRange; // 0x1210 -private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 -public: - float m_flStartTime; // 0x1214 - float m_flFadeTime; // 0x1218 - float m_flDamageScale; // 0x121c - float duration; // 0x1220 -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Item_WraithPact : public CDOTA_Buff_Item -{ -public: - int32_t aura_radius; // 0x11e8 - int32_t bonus_mana; // 0x11ec - int32_t bonus_health; // 0x11f0 -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Item_WraithPact_Thinker : public CDOTA_Buff -{ -public: - int32_t pact_aura_radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec - float aura_dps; // 0x11f0 -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Item_WraithPact_DeathAura : public CDOTA_Buff -{ -public: - int32_t armor_penalty_aura; // 0x11e8 - int32_t damage_penalty_aura; // 0x11ec - float aura_dps; // 0x11f0 -}; - -// Alignment: 5 -// Size: 0x1210 -class CDOTA_Modifier_Item_Skadi : public CDOTA_Buff_Item -{ -public: - int32_t bonus_all_stats; // 0x11e8 - int32_t bonus_health; // 0x11ec - int32_t bonus_mana; // 0x11f0 - float cold_duration; // 0x11f4 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 -}; - -// Alignment: 5 -// Size: 0x1200 -class CDOTA_Modifier_Item_Skadi_Slow : public CDOTA_Buff -{ -public: - int32_t cold_slow_melee; // 0x11e8 - int32_t cold_attack_slow_melee; // 0x11ec - int32_t cold_slow_ranged; // 0x11f0 - int32_t cold_attack_slow_ranged; // 0x11f4 - int32_t heal_reduction; // 0x11f8 -}; - -// Alignment: 8 -// Size: 0x1228 -class CDOTA_Modifier_MjollnirChain : public CDOTA_Buff -{ -public: - int32_t chain_radius; // 0x11e8 - int32_t chain_strikes; // 0x11ec - int32_t chain_damage; // 0x11f0 - float chain_delay; // 0x11f4 - int32_t chain_damage_per_charge; // 0x11f8 - int32_t m_iCurJumpCount; // 0x11fc - Vector m_vCurTargetLoc; // 0x1200 -private: - [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c -public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1210 -}; - -// Alignment: 11 -// Size: 0x1240 -class CDOTA_Modifier_Item_Mjollnir : public CDOTA_Buff_Item -{ -public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t chain_chance; // 0x11f0 - int32_t chain_strikes; // 0x11f4 - int32_t chain_damage; // 0x11f8 - int32_t chain_radius; // 0x11fc - int32_t chain_damage_per_charge; // 0x1200 - int32_t max_charges; // 0x1204 - float chain_cooldown; // 0x1208 -private: - [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1210 - CountdownTimer m_ChainTimer; // 0x1228 -}; - -// Alignment: 8 -// Size: 0x1210 -class CDOTA_Modifier_Item_Mjollnir_Static : public CDOTA_Buff -{ -private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 -public: - int32_t static_chance; // 0x11f0 - int32_t static_strikes; // 0x11f4 - int32_t static_damage; // 0x11f8 - int32_t static_primary_radius; // 0x11fc - int32_t static_seconary_radius; // 0x1200 - int32_t static_radius; // 0x1204 - float static_cooldown; // 0x1208 - int32_t chain_damage_per_charge; // 0x120c -}; - -// Alignment: 7 -// Size: 0x1220 -class CDOTA_Modifier_MaelstromChain : public CDOTA_Buff -{ -public: - int32_t chain_radius; // 0x11e8 - int32_t chain_strikes; // 0x11ec - int32_t chain_damage; // 0x11f0 - float chain_delay; // 0x11f4 - int32_t m_iCurJumpCount; // 0x11f8 - Vector m_vCurTargetLoc; // 0x11fc - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1208 -}; - -// Alignment: 8 -// Size: 0x1230 -class CDOTA_Modifier_Item_Maelstrom : public CDOTA_Buff_Item -{ -public: - int32_t bonus_damage; // 0x11e8 - int32_t chain_chance; // 0x11ec - int32_t chain_strikes; // 0x11f0 - int32_t chain_damage; // 0x11f4 - int32_t chain_radius; // 0x11f8 - float chain_cooldown; // 0x11fc - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200 - CountdownTimer m_ChainTimer; // 0x1218 -}; - -// Alignment: 6 -// Size: 0x1200 -class CDOTA_Modifier_Item_Diffusal_Blade : public CDOTA_Buff_Item -{ -public: - int32_t bonus_agility; // 0x11e8 - int32_t bonus_intellect; // 0x11ec - float damage_per_burn; // 0x11f0 - int32_t feedback_mana_burn; // 0x11f4 - int32_t feedback_mana_burn_illusion_melee; // 0x11f8 - int32_t feedback_mana_burn_illusion_ranged; // 0x11fc -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Item_Diffusal_Blade_Slow : public CDOTA_Buff -{ -public: - int32_t purge_rate; // 0x11e8 -}; - -// Alignment: 6 -// Size: 0x1200 -class CDOTA_Modifier_Item_Ethereal_Blade : public CDOTA_Buff_Item -{ -public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_agility; // 0x11ec - int32_t bonus_intellect; // 0x11f0 - int32_t spell_amp; // 0x11f4 - int32_t spell_lifesteal_amp; // 0x11f8 - int32_t mana_regen_multiplier; // 0x11fc -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Ethereal_Blade_Ethereal : public CDOTA_Buff -{ -public: - int32_t ethereal_damage_bonus; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Item_Ethereal_Blade_Slow : public CDOTA_Buff -{ -public: - int32_t blast_movement_slow; // 0x11e8 -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Item_Soul_Ring : public CDOTA_Buff_Item -{ -public: - int32_t bonus_strength; // 0x11e8 - float bonus_armor; // 0x11ec -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Soul_Ring_Buff : public CDOTA_Buff -{ -public: - int32_t m_iTempExtraMaxMana; // 0x11e8 - int32_t m_iManaToRemove; // 0x11ec - float duration; // 0x11f0 -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Item_Necronomicon : public CDOTA_Buff_Item -{ -public: - int32_t bonus_strength; // 0x11e8 - float bonus_mana_regen; // 0x11ec -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Item_Necronomicon_2 : public CDOTA_Buff_Item -{ -public: - float bonus_mana_regen; // 0x11e8 - int32_t bonus_strength; // 0x11ec - int32_t aura_radius; // 0x11f0 -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Item_Necronomicon_3 : public CDOTA_Buff_Item -{ -public: - float bonus_mana_regen; // 0x11e8 - int32_t bonus_strength; // 0x11ec - int32_t aura_radius; // 0x11f0 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Item_Necronomicon_Mana_Aura : public CDOTA_Buff -{ -public: - float aura_mana_regen; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Item_Necronomicon_Mana_Aura_2 : public CDOTA_Buff -{ -public: - float aura_mana_regen; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Item_Necronomicon_Mana_Aura_3 : public CDOTA_Buff -{ -public: - float aura_mana_regen; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Necronomicon_Warrior_ManaBurn : public CDOTA_Buff -{ -public: - int32_t burn_amount; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Necronomicon_Warrior_LastWill : public CDOTA_Buff -{ -public: - int32_t explosion; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Necronomicon_Warrior_Sight : public CDOTA_Buff -{ -public: - int32_t radius; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Necronomicon_Archer_Purge : public CDOTA_Buff -{ -public: - int32_t purge_rate; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Necronomicon_Archer_AoE : public CDOTA_Buff -{ -public: - int32_t radius; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Item_Necronomicon_Archer_Aura : public CDOTA_Buff -{ -public: - int32_t ms_bonus; // 0x11e8 -}; - -// Alignment: 7 -// Size: 0x1208 -class CDOTA_Modifier_Royale_With_Cheese : public CDOTA_Buff -{ -public: - float shield; // 0x11e8 - float regen; // 0x11ec - float idle; // 0x11f0 - int32_t m_nDamageAbsorbed; // 0x11f4 - GameTime_t m_timeLastTick; // 0x11f8 - GameTime_t m_timeLastDamage; // 0x11fc - ParticleIndex_t nFXIndex; // 0x1200 -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Item_Arcane_Boots : public CDOTA_Buff_Item -{ -public: - int32_t bonus_movement; // 0x11e8 - int32_t bonus_mana; // 0x11ec -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_ArcaneBoots_ManaRegen : public CDOTA_Buff -{ -public: - float value; // 0x11e8 -}; - -// Alignment: 5 -// Size: 0x1200 -class CDOTA_Modifier_Item_Orb_of_Venom : public CDOTA_Buff_Item -{ -public: - int32_t poison_movement_speed_melee; // 0x11e8 - int32_t poison_movement_speed_range; // 0x11ec - float poison_duration; // 0x11f0 - float poison_damage_melee; // 0x11f4 - float poison_damage_range; // 0x11f8 -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Item_Orb_of_Venom_Slow : public CDOTA_Buff -{ -public: - float duration; // 0x11e8 - float slow; // 0x11ec - float damage; // 0x11f0 -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Item_Ancient_Janggo : public CDOTA_Buff_Item -{ -public: - int32_t radius; // 0x11e8 - int32_t bonus_str; // 0x11ec - int32_t bonus_int; // 0x11f0 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Item_Ancient_Janggo_Aura : public CDOTA_Buff -{ -public: - int32_t aura_movement_speed; // 0x11e8 -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Item_Ancient_Janggo_Active : public CDOTA_Buff -{ -public: - int32_t bonus_attack_speed_pct; // 0x11e8 - int32_t bonus_movement_speed_pct; // 0x11ec -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Item_Medallion_Of_Courage : public CDOTA_Buff_Item -{ -public: - int32_t bonus_armor; // 0x11e8 - float bonus_mana_regen_pct; // 0x11ec -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Addition : public CDOTA_Buff -{ -public: - int32_t bonus_armor; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Reduction : public CDOTA_Buff -{ -public: - int32_t armor_reduction; // 0x11e8 -}; - -// Alignment: 2 -// Size: 0x1200 -class CDOTA_Modifier_Smoke_Of_Deceit : public CDOTA_Modifier_Invisible -{ -public: - int32_t bonus_movement_speed; // 0x11f8 - int32_t visibility_radius; // 0x11fc -}; - -// Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Veil_Of_Discord_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t debuff_radius; // 0x11ec - float resist_debuff_duration; // 0x11f0 - int32_t m_nHeroesHit; // 0x11f4 - bool m_bHitInvisibleHero; // 0x11f8 - bool m_bFirstPulse; // 0x11f9 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t debuff_radius; // 0x12bc + float resist_debuff_duration; // 0x12c0 + int32_t m_nHeroesHit; // 0x12c4 + bool m_bHitInvisibleHero; // 0x12c8 + bool m_bFirstPulse; // 0x12c9 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Veil_Of_Discord : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x11e8 - int32_t bonus_all_stats; // 0x11ec + int32_t aura_radius; // 0x12b8 + int32_t bonus_all_stats; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Veil_Of_Discord_Mana : public CDOTA_Buff { public: - float aura_mana_regen; // 0x11e8 + float aura_mana_regen; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Veil_Of_Discord_Debuff : public CDOTA_Buff { public: - int32_t spell_amp; // 0x11e8 + int32_t spell_amp; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_HeavensHalberd : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t hp_regen_amp; // 0x11ec - int32_t bonus_evasion; // 0x11f0 - int32_t status_resistance; // 0x11f4 + int32_t bonus_strength; // 0x12b8 + int32_t hp_regen_amp; // 0x12bc + int32_t bonus_evasion; // 0x12c0 + int32_t status_resistance; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_HeavensHalberd_Debuff : public CDOTA_Buff { public: - bool m_bPierceDebuffImmunity; // 0x11e8 + bool m_bPierceDebuffImmunity; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_RingOfAquila_Aura : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x11e8 + bool m_bAppliesToCreeps; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t aura_radius; // 0x11ec + int32_t aura_radius; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_RingOfAquila_Aura_Bonus : public CDOTA_Buff { public: - int32_t aura_bonus_armor; // 0x11e8 - float aura_mana_regen; // 0x11ec + int32_t aura_bonus_armor; // 0x12b8 + float aura_mana_regen; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_RingOfAquila : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_agility; // 0x11ec - int32_t bonus_intellect; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - int32_t bonus_armor; // 0x11f8 + int32_t bonus_strength; // 0x12b8 + int32_t bonus_agility; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_ShadowAmulet_Fade : public CDOTA_Buff { public: - float fade_time; // 0x11e8 - GameTime_t m_flFadeTime; // 0x11ec - bool m_bFaded; // 0x11f0 + float fade_time; // 0x12b8 + GameTime_t m_flFadeTime; // 0x12bc + bool m_bFaded; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Moonshard : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_night_vision; // 0x11ec + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_night_vision; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Moonshard_Consumed : public CDOTA_Buff { public: - int32_t consumed_bonus; // 0x11e8 - int32_t consumed_bonus_night_vision; // 0x11ec + int32_t consumed_bonus; // 0x12b8 + int32_t consumed_bonus_night_vision; // 0x12bc }; // Alignment: 8 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Item_Silver_Edge : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t bonus_attack_speed; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - int32_t crit_chance; // 0x11f8 - int32_t crit_multiplier; // 0x11fc - float backstab_duration; // 0x1200 + int32_t bonus_intellect; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_attack_speed; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + int32_t crit_chance; // 0x12c8 + int32_t crit_multiplier; // 0x12cc + float backstab_duration; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Silver_Edge_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t windwalk_bonus_damage; // 0x11f8 - int32_t windwalk_movement_speed; // 0x11fc + int32_t windwalk_bonus_damage; // 0x12c8 + int32_t windwalk_movement_speed; // 0x12cc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Silver_Edge_Debuff : public CDOTA_Buff { public: @@ -31062,7 +31743,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_GlimmerCape_Building_Limit : public CDOTA_Buff { public: @@ -31070,70 +31751,70 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_GlimmerCape : public CDOTA_Buff_Item { public: - int32_t bonus_magical_armor; // 0x11e8 + int32_t bonus_magical_armor; // 0x12b8 }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_GlimmerCape_Fade : public CDOTA_Buff { public: - int32_t active_movement_speed; // 0x11e8 - int32_t barrier_block; // 0x11ec - int32_t barrier_amount; // 0x11f0 - float initial_fade_delay; // 0x11f4 - float secondary_fade_delay; // 0x11f8 - float m_flFadeTime; // 0x11fc - float m_flCurentFadeDelay; // 0x1200 - GameTime_t m_flLastActionTime; // 0x1204 + int32_t active_movement_speed; // 0x12b8 + int32_t barrier_block; // 0x12bc + int32_t barrier_amount; // 0x12c0 + float initial_fade_delay; // 0x12c4 + float secondary_fade_delay; // 0x12c8 + float m_flFadeTime; // 0x12cc + float m_flCurentFadeDelay; // 0x12d0 + GameTime_t m_flLastActionTime; // 0x12d4 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Solar_Crest : public CDOTA_Buff_Item { public: - float bonus_mana_regen_pct; // 0x11e8 - int32_t bonus_armor; // 0x11ec - int32_t bonus_all_stats; // 0x11f0 - int32_t self_movement_speed; // 0x11f4 - ParticleIndex_t nFXIndex; // 0x11f8 + float bonus_mana_regen_pct; // 0x12b8 + int32_t bonus_armor; // 0x12bc + int32_t bonus_all_stats; // 0x12c0 + int32_t self_movement_speed; // 0x12c4 + ParticleIndex_t nFXIndex; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Solar_Crest_Armor_Addition : public CDOTA_Buff { public: - int32_t target_armor; // 0x11e8 - int32_t target_attack_speed; // 0x11ec - int32_t target_movement_speed; // 0x11f0 + int32_t target_armor; // 0x12b8 + int32_t target_attack_speed; // 0x12bc + int32_t target_movement_speed; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Solar_Crest_Armor_Reduction : public CDOTA_Buff { public: - int32_t target_armor; // 0x11e8 - int32_t target_attack_speed; // 0x11ec - int32_t target_movement_speed; // 0x11f0 + int32_t target_armor; // 0x12b8 + int32_t target_attack_speed; // 0x12bc + int32_t target_movement_speed; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Ward_Dispenser : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 + int32_t bonus_health; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Ward_Delay : public CDOTA_Buff { public: @@ -31141,66 +31822,66 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Ward_Maker : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 + int32_t bonus_health; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Guardian_Greaves : public CDOTA_Buff_Item { public: - int32_t bonus_movement; // 0x11e8 - int32_t bonus_mana; // 0x11ec - int32_t bonus_armor; // 0x11f0 - int32_t aura_radius; // 0x11f4 + int32_t bonus_movement; // 0x12b8 + int32_t bonus_mana; // 0x12bc + int32_t bonus_armor; // 0x12c0 + int32_t aura_radius; // 0x12c4 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Guardian_Greaves_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x11e8 - float aura_armor; // 0x11ec - float aura_health_regen_bonus; // 0x11f0 - float aura_armor_bonus; // 0x11f4 - int32_t aura_bonus_threshold; // 0x11f8 + float aura_health_regen; // 0x12b8 + float aura_armor; // 0x12bc + float aura_health_regen_bonus; // 0x12c0 + float aura_armor_bonus; // 0x12c4 + int32_t aura_bonus_threshold; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Enchanted_Mango : public CDOTA_Buff_Item { public: - float hp_regen; // 0x11e8 + float hp_regen; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Lotus_Orb : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t bonus_armor; // 0x11f0 - int32_t bonus_mana; // 0x11f4 - float block_cooldown; // 0x11f8 + float bonus_health_regen; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_armor; // 0x12c0 + int32_t bonus_mana; // 0x12c4 + float block_cooldown; // 0x12c8 }; // Alignment: 1 -// Size: 0x13c0 +// Size: 0x1490 class CDOTA_Modifier_Item_Lotus_Orb_Active : public CDOTA_Buff { public: - CModifierParams m_LastParams; // 0x11e8 + CModifierParams m_LastParams; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lotus_Orb_Delay : public CDOTA_Buff { public: @@ -31208,150 +31889,180 @@ public: }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Lotus_Orb_ChannelCheck : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hAbility; // 0x11e8 - CHandle< C_BaseEntity > m_hTarget; // 0x11ec - Vector m_vLocation; // 0x11f0 - GameTime_t m_fChannelEnd; // 0x11fc - bool m_bInterrupt; // 0x1200 - bool m_bExpired; // 0x1201 + CHandle< C_BaseEntity > m_hAbility; // 0x12b8 + CHandle< C_BaseEntity > m_hTarget; // 0x12bc + Vector m_vLocation; // 0x12c0 + GameTime_t m_fChannelEnd; // 0x12cc + bool m_bInterrupt; // 0x12d0 + bool m_bExpired; // 0x12d1 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Octarine_Core : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_mana; // 0x11ec - float bonus_cooldown; // 0x11f0 - float bonus_health_regen; // 0x11f4 - float bonus_mana_regen; // 0x11f8 + int32_t bonus_health; // 0x12b8 + int32_t bonus_mana; // 0x12bc + float bonus_cooldown; // 0x12c0 + float bonus_health_regen; // 0x12c4 + float bonus_mana_regen; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Faerie_Fire : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_DragonLance : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 - int32_t bonus_strength; // 0x11ec - int32_t base_attack_range; // 0x11f0 + int32_t bonus_agility; // 0x12b8 + int32_t bonus_strength; // 0x12bc + int32_t base_attack_range; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aether_Lens : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t cast_range_bonus; // 0x11f0 + int32_t bonus_mana; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t cast_range_bonus; // 0x12c0 +}; + +// Alignment: 8 +// Size: 0x12d8 +class CDOTA_Modifier_Halo : public CDOTA_Buff_Item +{ +public: + int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_health; // 0x12bc + int32_t bonus_mana; // 0x12c0 + float bonus_mana_regen; // 0x12c4 + float slow_duration; // 0x12c8 + int32_t cast_range_bonus; // 0x12cc + int32_t aoe_bonus; // 0x12d0 + int32_t bonus_spell_damage; // 0x12d4 +}; + +// Alignment: 8 +// Size: 0x12d8 +class CDOTA_Modifier_Aetherial_Halo : public CDOTA_Buff_Item +{ +public: + int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_health; // 0x12bc + int32_t bonus_mana; // 0x12c0 + float bonus_mana_regen; // 0x12c4 + float slow_duration; // 0x12c8 + int32_t cast_range_bonus; // 0x12cc + int32_t aoe_bonus; // 0x12d0 + int32_t bonus_spell_damage; // 0x12d4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Iron_Talon : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - float bonus_armor; // 0x11ec + int32_t bonus_attack_speed; // 0x12b8 + float bonus_armor; // 0x12bc }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Item_Bloodthorn : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t bonus_damage; // 0x11f0 - int32_t bonus_attack_speed; // 0x11f4 - int32_t spell_amp; // 0x11f8 - int32_t mana_regen_multiplier; // 0x11fc - int32_t bonus_magic_resist; // 0x1200 - float duration; // 0x1204 - float bonus_health_regen; // 0x1208 + int32_t bonus_intellect; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_damage; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c4 + int32_t spell_amp; // 0x12c8 + int32_t mana_regen_multiplier; // 0x12cc + int32_t bonus_magic_resist; // 0x12d0 + float duration; // 0x12d4 + float bonus_health_regen; // 0x12d8 }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Bloodthorn_Debuff : public CDOTA_Buff { public: - float target_crit_multiplier; // 0x11e8 - float silence_damage_percent; // 0x11ec - float m_flDamageTaken; // 0x11f0 + float target_crit_multiplier; // 0x12b8 + float silence_damage_percent; // 0x12bc + float m_flDamageTaken; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< int16 > m_vRecords; // 0x11f8 + CUtlVector< int16 > m_vRecords; // 0x12c8 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_EchoSabre : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t bonus_damage; // 0x11f0 - float bonus_mana_regen; // 0x11f4 - int32_t bonus_strength; // 0x11f8 - float slow_duration; // 0x11fc - bool bonus_speed; // 0x1200 + int32_t bonus_intellect; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t bonus_damage; // 0x12c0 + float bonus_mana_regen; // 0x12c4 + int32_t bonus_strength; // 0x12c8 + float slow_duration; // 0x12cc + bool bonus_speed; // 0x12d0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EchoSabre_Debuff : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 - int32_t attack_speed_slow; // 0x11ec + int32_t movement_slow; // 0x12b8 + int32_t attack_speed_slow; // 0x12bc }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Blight_Stone : public CDOTA_Buff_Item { public: - float corruption_duration; // 0x11e8 + float corruption_duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Blight_Stone_Corruption : public CDOTA_Buff { public: - int32_t corruption_armor; // 0x11e8 + int32_t corruption_armor; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_WindLace : public CDOTA_Buff_Item { public: - int32_t movement_speed; // 0x11e8 + int32_t movement_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tome_Of_Knowledge : public CDOTA_Buff { public: @@ -31359,7 +32070,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tome_Of_Knowledge_Consumed : public CDOTA_Buff { public: @@ -31367,558 +32078,557 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Hurricane_Pike : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_intellect; // 0x11ec - int32_t bonus_agility; // 0x11f0 - int32_t bonus_strength; // 0x11f4 - int32_t base_attack_range; // 0x11f8 + int32_t bonus_health; // 0x12b8 + int32_t bonus_intellect; // 0x12bc + int32_t bonus_agility; // 0x12c0 + int32_t bonus_strength; // 0x12c4 + int32_t base_attack_range; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hurricane_Pike_Active : public CDOTA_Buff { public: - float push_length; // 0x11e8 + float push_length; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hurricane_Pike_Active_Alternate : public CDOTA_Buff { public: - float enemy_length; // 0x11e8 + float enemy_length; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Hurricane_Pike_Range : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - int32_t max_attacks; // 0x11ec - int32_t m_iNumAttacks; // 0x11f0 - bool bActive; // 0x11f4 + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + int32_t max_attacks; // 0x12bc + int32_t m_iNumAttacks; // 0x12c0 + bool bActive; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - int32_t bonus_attack_speed; // 0x11f8 + int32_t bonus_attack_speed; // 0x12c8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Infused_Raindrop : public CDOTA_Buff_Item { public: - float mana_regen; // 0x11e8 - float bonus_armor; // 0x11ec - int32_t bonus_magical_armor; // 0x11f0 - int32_t magic_damage_block; // 0x11f4 - int32_t min_damage; // 0x11f8 + float mana_regen; // 0x12b8 + float bonus_armor; // 0x12bc + int32_t bonus_magical_armor; // 0x12c0 + int32_t magic_damage_block; // 0x12c4 + int32_t min_damage; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_MeteorHammer : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 - float bonus_health_regen; // 0x11ec - float bonus_mana_regen; // 0x11f0 + int32_t bonus_all_stats; // 0x12b8 + float bonus_health_regen; // 0x12bc + float bonus_mana_regen; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_MeteorHammer_Land : public CDOTA_Buff { public: - int32_t impact_radius; // 0x11e8 - float land_time; // 0x11ec - float burn_duration; // 0x11f0 + int32_t impact_radius; // 0x12b8 + float land_time; // 0x12bc + float burn_duration; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_MeteorHammer_Burn : public CDOTA_Buff { public: - int32_t burn_dps_buildings; // 0x11e8 - int32_t burn_dps_units; // 0x11ec - float burn_interval; // 0x11f0 - int32_t burn_slow; // 0x11f4 + int32_t burn_dps_buildings; // 0x12b8 + int32_t burn_dps_units; // 0x12bc + float burn_interval; // 0x12c0 + int32_t burn_slow; // 0x12c4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nullifier : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 - int32_t bonus_regen; // 0x11ec - int32_t bonus_damage; // 0x11f0 + int32_t bonus_armor; // 0x12b8 + int32_t bonus_regen; // 0x12bc + int32_t bonus_damage; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nullifier_Mute : public CDOTA_Buff { public: - float slow_interval_duration; // 0x11e8 + float slow_interval_duration; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Nullifier_Slow : public CDOTA_Buff { public: - int32_t slow_pct; // 0x11e8 + int32_t slow_pct; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Spirit_Vessel : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - float bonus_mana_regen; // 0x11ec - float bonus_armor; // 0x11f0 - int32_t bonus_all_stats; // 0x11f4 + int32_t bonus_health; // 0x12b8 + float bonus_mana_regen; // 0x12bc + float bonus_armor; // 0x12c0 + int32_t bonus_all_stats; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Spirit_Vessel_Heal : public CDOTA_Buff { public: - int32_t soul_heal_amount; // 0x11e8 - float m_fHealingDone; // 0x11ec + int32_t soul_heal_amount; // 0x12b8 + float m_fHealingDone; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Spirit_Vessel_Damage : public CDOTA_Buff { public: - int32_t hp_regen_reduction_enemy; // 0x11e8 - int32_t soul_damage_amount; // 0x11ec - float enemy_hp_drain; // 0x11f0 + int32_t hp_regen_reduction_enemy; // 0x12b8 + int32_t soul_damage_amount; // 0x12bc + float enemy_hp_drain; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_AeonDisk : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_mana; // 0x11ec - int32_t health_threshold_pct; // 0x11f0 - float buff_duration; // 0x11f4 + int32_t bonus_health; // 0x12b8 + int32_t bonus_mana; // 0x12bc + int32_t health_threshold_pct; // 0x12c0 + float buff_duration; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_AeonDisk_Buff : public CDOTA_Buff { public: - int32_t status_resistance; // 0x11e8 + int32_t status_resistance; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Kaya : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - int32_t spell_amp; // 0x11ec - int32_t mana_regen_multiplier; // 0x11f0 - int32_t spell_lifesteal_amp; // 0x11f4 + int32_t bonus_intellect; // 0x12b8 + int32_t spell_amp; // 0x12bc + int32_t mana_regen_multiplier; // 0x12c0 + int32_t spell_lifesteal_amp; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Crown : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 + int32_t bonus_all_stats; // 0x12b8 }; -// Alignment: 8 -// Size: 0x1208 +// Alignment: 7 +// Size: 0x12d8 class CDOTA_Modifier_Item_Holy_Locket : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x11e8 - int32_t bonus_health; // 0x11ec - int32_t bonus_mana; // 0x11f0 - int32_t heal_increase; // 0x11f4 - int32_t charge_radius; // 0x11f8 - int32_t max_charges; // 0x11fc - int32_t bonus_all_stats; // 0x1200 - int32_t charge_gain_timer; // 0x1204 + int32_t aura_radius; // 0x12b8 + int32_t bonus_health; // 0x12bc + int32_t bonus_mana; // 0x12c0 + int32_t heal_increase; // 0x12c4 + int32_t charge_radius; // 0x12c8 + int32_t max_charges; // 0x12cc + int32_t bonus_all_stats; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Holy_Locket_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x11e8 + float aura_health_regen; // 0x12b8 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Kaya_And_Sange : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t hp_regen_amp; // 0x11ec - int32_t bonus_intellect; // 0x11f0 - int32_t spell_amp; // 0x11f4 - int32_t mana_regen_multiplier; // 0x11f8 - int32_t status_resistance; // 0x11fc - int32_t spell_lifesteal_amp; // 0x1200 + int32_t bonus_strength; // 0x12b8 + int32_t hp_regen_amp; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + int32_t spell_amp; // 0x12c4 + int32_t mana_regen_multiplier; // 0x12c8 + int32_t status_resistance; // 0x12cc + int32_t spell_lifesteal_amp; // 0x12d0 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Yasha_And_Kaya : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t movement_speed_percent_bonus; // 0x11f0 - int32_t bonus_intellect; // 0x11f4 - int32_t spell_amp; // 0x11f8 - int32_t mana_regen_multiplier; // 0x11fc - int32_t spell_lifesteal_amp; // 0x1200 + int32_t bonus_agility; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t movement_speed_percent_bonus; // 0x12c0 + int32_t bonus_intellect; // 0x12c4 + int32_t spell_amp; // 0x12c8 + int32_t mana_regen_multiplier; // 0x12cc + int32_t spell_lifesteal_amp; // 0x12d0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Yasha_And_Kaya_Maim : public CDOTA_Buff { public: - int32_t maim_slow_movement; // 0x11e8 - int32_t maim_slow_attack; // 0x11ec - int32_t maim_slow_movement_range; // 0x11f0 - int32_t maim_slow_attack_range; // 0x11f4 + int32_t maim_slow_movement; // 0x12b8 + int32_t maim_slow_attack; // 0x12bc + int32_t maim_slow_movement_range; // 0x12c0 + int32_t maim_slow_attack_range; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_RingOfTarrasque : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x11e8 - int32_t bonus_health; // 0x11ec + float bonus_health_regen; // 0x12b8 + int32_t bonus_health; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Diadem : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 + int32_t bonus_all_stats; // 0x12b8 }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Blood_Grenade_Flight_Thinker : public CDOTA_Buff { public: - int32_t speed; // 0x11e8 - int32_t radius; // 0x11ec - int32_t damage_over_time; // 0x11f0 - int32_t impact_damage; // 0x11f4 - float debuff_duration; // 0x11f8 - int32_t movespeed_slow; // 0x11fc - float tick_rate; // 0x1200 - ParticleIndex_t m_nFXIndex; // 0x1204 + int32_t speed; // 0x12b8 + int32_t radius; // 0x12bc + int32_t damage_over_time; // 0x12c0 + int32_t impact_damage; // 0x12c4 + float debuff_duration; // 0x12c8 + int32_t movespeed_slow; // 0x12cc + float tick_rate; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Blood_Grenade : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 + int32_t bonus_health; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Blood_Grenade_Debuff : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 - float damage_over_time; // 0x11ec + int32_t movespeed_slow; // 0x12b8 + float damage_over_time; // 0x12bc }; // Alignment: 7 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Item_Phylactery : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_mana; // 0x11ec - float bonus_mana_regen; // 0x11f0 - int32_t bonus_spell_damage; // 0x11f4 - float slow_duration; // 0x11f8 - int32_t bonus_all_stats; // 0x11fc - CUtlVector< C_DOTABaseAbility* > vecActivatedAbilities; // 0x1200 + int32_t bonus_health; // 0x12b8 + int32_t bonus_mana; // 0x12bc + float bonus_mana_regen; // 0x12c0 + int32_t bonus_spell_damage; // 0x12c4 + float slow_duration; // 0x12c8 + int32_t bonus_all_stats; // 0x12cc + CUtlVector< C_DOTABaseAbility* > vecActivatedAbilities; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Phylactery_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Item_Disperser : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 - int32_t bonus_intellect; // 0x11ec - int32_t bonus_attack_speed; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - float bonus_mana_regen; // 0x11f8 - float damage_per_burn; // 0x11fc - int32_t feedback_mana_burn; // 0x1200 - int32_t feedback_mana_burn_illusion_melee; // 0x1204 - int32_t feedback_mana_burn_illusion_ranged; // 0x1208 + int32_t bonus_agility; // 0x12b8 + int32_t bonus_intellect; // 0x12bc + int32_t bonus_attack_speed; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + float bonus_mana_regen; // 0x12c8 + float damage_per_burn; // 0x12cc + int32_t feedback_mana_burn; // 0x12d0 + int32_t feedback_mana_burn_illusion_melee; // 0x12d4 + int32_t feedback_mana_burn_illusion_ranged; // 0x12d8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Disperser_Evasion_Buff : public CDOTA_Buff { public: - int32_t purge_bonus_miss_rate; // 0x11e8 + int32_t purge_bonus_miss_rate; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Disperser_Attack_Debuff : public CDOTA_Buff { public: - int32_t attack_speed_slow; // 0x11e8 + int32_t attack_speed_slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Disperser_Movespeed_Buff : public CDOTA_Buff { public: - int32_t movement_speed_buff_rate; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t movement_speed_buff_rate; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Cornucopia : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t bonus_damage; // 0x11f0 + float bonus_health_regen; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_damage; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Pavise : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t bonus_health; // 0x11f0 + int32_t bonus_armor; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_health; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Pavise_Shield : public CDOTA_Buff { public: - int32_t absorb_amount; // 0x11e8 - int32_t m_nAbsorbRemaining; // 0x11ec + int32_t absorb_amount; // 0x12b8 + int32_t m_nAbsorbRemaining; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Keen_Optic : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x11e8 - int32_t cast_range_bonus; // 0x11ec + float bonus_mana_regen; // 0x12b8 + int32_t cast_range_bonus; // 0x12bc }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Grove_Bow : public CDOTA_Buff_Item { public: - int32_t attack_range_bonus; // 0x11e8 - int32_t attack_speed_bonus; // 0x11ec - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + int32_t attack_range_bonus; // 0x12b8 + int32_t attack_speed_bonus; // 0x12bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Grove_Bow_Debuff : public CDOTA_Buff { public: - int32_t magic_resistance_reduction; // 0x11e8 + int32_t magic_resistance_reduction; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Quickening_Charm : public CDOTA_Buff_Item { public: - int32_t bonus_cooldown; // 0x11e8 - int32_t bonus_health_regen; // 0x11ec + int32_t bonus_cooldown; // 0x12b8 + int32_t bonus_health_regen; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Philosophers_Stone : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x11e8 - int32_t bonus_gpm; // 0x11ec - int32_t bonus_damage; // 0x11f0 + int32_t bonus_mana; // 0x12b8 + int32_t bonus_gpm; // 0x12bc + int32_t bonus_damage; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Force_Boots : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t hp_regen; // 0x11ec + int32_t bonus_movement_speed; // 0x12b8 + int32_t hp_regen; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Force_Boots : public CDOTA_Buff { public: - int32_t push_length; // 0x11e8 - float push_duration; // 0x11ec + int32_t push_length; // 0x12b8 + float push_duration; // 0x12bc }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Desolator_2 : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - float corruption_duration; // 0x11ec - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + int32_t bonus_damage; // 0x12b8 + float corruption_duration; // 0x12bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Desolator_2_Corruption : public CDOTA_Buff { public: - int32_t corruption_armor; // 0x11e8 + int32_t corruption_armor; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Phoenix_Ash : public CDOTA_Buff_Item { public: - int32_t health_pct; // 0x11e8 + int32_t health_pct; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Seer_Stone_Truesight : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float duration; // 0x11ec + int32_t radius; // 0x12b8 + float duration; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Seer_Stone : public CDOTA_Buff_Item { public: - int32_t cast_range_bonus; // 0x11e8 - int32_t vision_bonus; // 0x11ec - int32_t mana_regen; // 0x11f0 + int32_t cast_range_bonus; // 0x12b8 + int32_t vision_bonus; // 0x12bc + int32_t mana_regen; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_ElixerHealing : public CDOTA_Buff { public: - int32_t health; // 0x11e8 - int32_t mana; // 0x11ec - float duration; // 0x11f0 + int32_t health; // 0x12b8 + int32_t mana; // 0x12bc + float duration; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Vampire_Fangs : public CDOTA_Buff_Item { public: - int32_t attack_lifesteal; // 0x11e8 - int32_t spell_lifesteal; // 0x11ec - int32_t night_vision; // 0x11f0 - int32_t creep_lifesteal_reduction_pct; // 0x11f4 + int32_t attack_lifesteal; // 0x12b8 + int32_t spell_lifesteal; // 0x12bc + int32_t night_vision; // 0x12c0 + int32_t creep_lifesteal_reduction_pct; // 0x12c4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Craggy_Coat : public CDOTA_Buff_Item { public: - int32_t armor_bonus; // 0x11e8 - int32_t attack_speed; // 0x11ec - int32_t bonus_health; // 0x11f0 + int32_t armor_bonus; // 0x12b8 + int32_t attack_speed; // 0x12bc + int32_t bonus_health; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Greater_Faerie_Fire : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Timeless_Relic : public CDOTA_Buff_Item { public: - int32_t spell_amp; // 0x11e8 - int32_t debuff_amp; // 0x11ec + int32_t spell_amp; // 0x12b8 + int32_t debuff_amp; // 0x12bc }; // Alignment: 4 -// Size: 0x13d0 +// Size: 0x14a0 class CDOTA_Modifier_Item_Mirror_Shield : public CDOTA_Buff_Item { public: - CModifierParams m_LastParams; // 0x11e8 - int32_t all_stats; // 0x13c0 - int32_t reflect_chance; // 0x13c4 - bool m_bProcSuccessful; // 0x13c8 + CModifierParams m_LastParams; // 0x12b8 + int32_t all_stats; // 0x1490 + int32_t reflect_chance; // 0x1494 + bool m_bProcSuccessful; // 0x1498 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mirror_Shield_Delay : public CDOTA_Buff { public: @@ -31926,32 +32636,32 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Ironwood_tree : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 + int32_t bonus_all_stats; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Royal_Jelly : public CDOTA_Buff { public: - float health_regen; // 0x11e8 - float mana_regen; // 0x11ec + float health_regen; // 0x12b8 + float mana_regen; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Pupils_gift : public CDOTA_Buff_Item { public: - int32_t secondary_stats; // 0x11e8 + int32_t secondary_stats; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tome_of_Aghanim : public CDOTA_Buff { public: @@ -31959,55 +32669,55 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Repair_Kit : public CDOTA_Buff_Item { public: - int32_t hp_regen; // 0x11e8 + int32_t hp_regen; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Repair_Kit : public CDOTA_Buff { public: - float health_regen; // 0x11e8 - int32_t armor_bonus; // 0x11ec - int32_t multishot_count; // 0x11f0 + float health_regen; // 0x12b8 + int32_t armor_bonus; // 0x12bc + int32_t multishot_count; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Mind_Breaker : public CDOTA_Buff_Item { public: - int32_t magic_damage; // 0x11e8 - int32_t attack_speed; // 0x11ec - float duration; // 0x11f0 + int32_t magic_damage; // 0x12b8 + int32_t attack_speed; // 0x12bc + float duration; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Third_Eye : public CDOTA_Buff { public: - int32_t truesight_radius; // 0x11e8 - int32_t bonus_vision; // 0x11ec - int32_t bonus_all_stats; // 0x11f0 + int32_t truesight_radius; // 0x12b8 + int32_t bonus_vision; // 0x12bc + int32_t bonus_all_stats; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Spell_Prism : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 - int32_t bonus_cooldown; // 0x11ec - float mana_regen; // 0x11f0 + int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_cooldown; // 0x12bc + float mana_regen; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Spell_Prism_Active : public CDOTA_Buff { public: @@ -32015,137 +32725,137 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Fusion_runeHealing : public CDOTA_Buff { public: - int32_t health_regen; // 0x11e8 - float m_fHealingDone; // 0x11ec + int32_t health_regen; // 0x12b8 + float m_fHealingDone; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Princes_Knife : public CDOTA_Buff_Item { public: - float duration; // 0x11e8 - int32_t projectile_bonus; // 0x11ec + float duration; // 0x12b8 + int32_t projectile_bonus; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Princes_Knife_Hex : public CDOTA_Modifier_Hexed { public: - int32_t movespeed; // 0x11e8 + int32_t movespeed; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spider_Legs : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t turn_rate; // 0x11ec + int32_t bonus_movement_speed; // 0x12b8 + int32_t turn_rate; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Spider_Legs_Active : public CDOTA_Buff { public: - int32_t bonus_movement_speed_active; // 0x11e8 + int32_t bonus_movement_speed_active; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Helm_Of_The_Undying : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 - float duration; // 0x11ec + int32_t bonus_armor; // 0x12b8 + float duration; // 0x12bc }; // Alignment: 3 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Item_Mango_Tree : public CDOTA_Buff_Item { public: - CHandle< C_BaseEntity > m_hTree; // 0x11e8 + CHandle< C_BaseEntity > m_hTree; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CountdownTimer m_Timer; // 0x11f0 - float seconds; // 0x1208 + CountdownTimer m_Timer; // 0x12c0 + float seconds; // 0x12d8 }; // Alignment: 7 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Passive_Mango_Tree : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTree; // 0x11e8 - int32_t m_nMangoSeconds; // 0x11ec - CountdownTimer m_MangoTimer; // 0x11f0 - int32_t m_nRespawnSeconds; // 0x1208 + CHandle< C_BaseEntity > m_hTree; // 0x12b8 + int32_t m_nMangoSeconds; // 0x12bc + CountdownTimer m_MangoTimer; // 0x12c0 + int32_t m_nRespawnSeconds; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CountdownTimer m_RespawnTimer; // 0x1210 - int32_t m_nMangosAvailable; // 0x1228 - int32_t m_nChannelCount; // 0x122c + CountdownTimer m_RespawnTimer; // 0x12e0 + int32_t m_nMangosAvailable; // 0x12f8 + int32_t m_nChannelCount; // 0x12fc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class Modifier_Pluck_Famango_Channel : public CDOTA_Buff { public: - float famango_rate; // 0x11e8 - CHandle< C_BaseEntity > m_hMangoTree; // 0x11ec + float famango_rate; // 0x12b8 + CHandle< C_BaseEntity > m_hMangoTree; // 0x12bc }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Vambrace : public CDOTA_Buff_Item { public: - int32_t bonus_primary_stat; // 0x11e8 - int32_t bonus_secondary_stat; // 0x11ec - int32_t bonus_magic_resistance; // 0x11f0 - int32_t bonus_spell_amp; // 0x11f4 - int32_t bonus_attack_speed; // 0x11f8 - int32_t m_iStat; // 0x11fc + int32_t bonus_primary_stat; // 0x12b8 + int32_t bonus_secondary_stat; // 0x12bc + int32_t bonus_magic_resistance; // 0x12c0 + int32_t bonus_spell_amp; // 0x12c4 + int32_t bonus_attack_speed; // 0x12c8 + int32_t m_iStat; // 0x12cc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Witless_shako : public CDOTA_Buff_Item { public: - int32_t max_health; // 0x11e8 - int32_t max_mana; // 0x11ec + int32_t max_health; // 0x12b8 + int32_t max_mana; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Imp_Claw : public CDOTA_Buff_Item { public: - int32_t crit_multiplier; // 0x11e8 - int32_t bonus_damage; // 0x11ec + int32_t crit_multiplier; // 0x12b8 + int32_t bonus_damage; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Flicker : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 + int32_t bonus_movement_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Flicker_Damaged : public CDOTA_Buff_Item { public: @@ -32153,98 +32863,98 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Spy_Gadget_Aura : public CDOTA_Buff_Item { public: - int32_t scan_cooldown_reduction; // 0x11e8 - int32_t aura_range; // 0x11ec + int32_t scan_cooldown_reduction; // 0x12b8 + int32_t aura_range; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Spy_Gadget : public CDOTA_Buff { public: - int32_t attack_range; // 0x11e8 - int32_t cast_range; // 0x11ec + int32_t attack_range; // 0x12b8 + int32_t cast_range; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Ocean_Heart : public CDOTA_Buff_Item { public: - float water_hp_regen; // 0x11e8 - float water_mp_regen; // 0x11ec - int32_t all_stats; // 0x11f0 - bool m_bInRiver; // 0x11f4 + float water_hp_regen; // 0x12b8 + float water_mp_regen; // 0x12bc + int32_t all_stats; // 0x12c0 + bool m_bInRiver; // 0x12c4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Broom_Handle : public CDOTA_Buff_Item { public: - int32_t melee_attack_range; // 0x11e8 - int32_t bonus_armor; // 0x11ec - int32_t bonus_damage; // 0x11f0 + int32_t melee_attack_range; // 0x12b8 + int32_t bonus_armor; // 0x12bc + int32_t bonus_damage; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Trusty_Shovel : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 + int32_t bonus_health; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Nether_Shawl : public CDOTA_Buff_Item { public: - int32_t bonus_magic_resistance; // 0x11e8 - int32_t bonus_spell_amp; // 0x11ec - int32_t bonus_armor; // 0x11f0 + int32_t bonus_magic_resistance; // 0x12b8 + int32_t bonus_spell_amp; // 0x12bc + int32_t bonus_armor; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Dragon_Scale : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 - int32_t bonus_hp_regen; // 0x11ec + int32_t bonus_armor; // 0x12b8 + int32_t bonus_hp_regen; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dragon_Scale_Burn : public CDOTA_Buff { public: - int32_t damage_per_sec; // 0x11e8 + int32_t damage_per_sec; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Essence_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_int; // 0x11e8 - float mp_regen; // 0x11ec + int32_t bonus_int; // 0x12b8 + float mp_regen; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Essence_Ring_Active : public CDOTA_Buff { public: - int32_t health_gain; // 0x11e8 + int32_t health_gain; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Clumsy_Net_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -32252,39 +32962,39 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Clumsy_Net : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x11e8 - int32_t mana_regen; // 0x11ec + int32_t all_stats; // 0x12b8 + int32_t mana_regen; // 0x12bc }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Item_Enchanted_Quiver : public CDOTA_Buff_Item { public: - int32_t bonus_attack_range; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t active_bonus_attack_range; // 0x11f0 + int32_t bonus_attack_range; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t active_bonus_attack_range; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Ninja_Gear : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 - int32_t passive_movement_bonus; // 0x11ec + int32_t bonus_agility; // 0x12b8 + int32_t passive_movement_bonus; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Illusionsts_Cape_Marker : public CDOTA_Buff { public: @@ -32292,411 +33002,411 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Illusionsts_Cape : public CDOTA_Buff_Item { public: - int32_t bonus_agi; // 0x11e8 - int32_t bonus_str; // 0x11ec + int32_t bonus_agi; // 0x12b8 + int32_t bonus_str; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Illusionists_Cape_Aura : public CDOTA_Buff { public: - int32_t attack_damage_aura; // 0x11e8 + int32_t attack_damage_aura; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Havoc_Hammer : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_strength; // 0x11ec + int32_t bonus_damage; // 0x12b8 + int32_t bonus_strength; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Havoc_Hammer_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Panic_Button : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - float health_threshold; // 0x11ec + int32_t bonus_health; // 0x12b8 + float health_threshold; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Apex : public CDOTA_Buff_Item { public: - int32_t primary_stat; // 0x11e8 - int32_t primary_stat_universal; // 0x11ec + int32_t primary_stat; // 0x12b8 + int32_t primary_stat_universal; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Ballista : public CDOTA_Buff_Item { public: - int32_t attack_range_bonus; // 0x11e8 - float knockback_distance; // 0x11ec - float knockback_duration; // 0x11f0 + int32_t attack_range_bonus; // 0x12b8 + float knockback_distance; // 0x12bc + float knockback_duration; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Woodland_Striders : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_hp_regen; // 0x11ec + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_hp_regen; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Woodland_Striders_Active : public CDOTA_Buff { public: - float tree_duration; // 0x11e8 + float tree_duration; // 0x12b8 }; // Alignment: 10 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Item_Trident : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t movement_speed_percent_bonus; // 0x11f0 - int32_t bonus_strength; // 0x11f4 - int32_t hp_regen_amp; // 0x11f8 - int32_t status_resistance; // 0x11fc - int32_t bonus_intellect; // 0x1200 - int32_t spell_amp; // 0x1204 - int32_t mana_regen_multiplier; // 0x1208 - int32_t magic_damage_attack; // 0x120c + int32_t bonus_agility; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t movement_speed_percent_bonus; // 0x12c0 + int32_t bonus_strength; // 0x12c4 + int32_t hp_regen_amp; // 0x12c8 + int32_t status_resistance; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + int32_t spell_amp; // 0x12d4 + int32_t mana_regen_multiplier; // 0x12d8 + int32_t magic_damage_attack; // 0x12dc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Demonicon : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_intellect; // 0x11ec + int32_t bonus_strength; // 0x12b8 + int32_t bonus_intellect; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Demonicon_Bonus : public CDOTA_Buff { public: - int32_t hp_bonus; // 0x11e8 - int32_t damage_bonus; // 0x11ec + int32_t hp_bonus; // 0x12b8 + int32_t damage_bonus; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Fallen_Sky : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_intellect; // 0x11ec - float bonus_health_regen; // 0x11f0 - float bonus_mana_regen; // 0x11f4 - float blink_damage_cooldown; // 0x11f8 + int32_t bonus_strength; // 0x12b8 + int32_t bonus_intellect; // 0x12bc + float bonus_health_regen; // 0x12c0 + float bonus_mana_regen; // 0x12c4 + float blink_damage_cooldown; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Fallen_Sky_Land : public CDOTA_Buff { public: - int32_t impact_radius; // 0x11e8 - float land_time; // 0x11ec - float burn_duration; // 0x11f0 + int32_t impact_radius; // 0x12b8 + float land_time; // 0x12bc + float burn_duration; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Fallen_Sky_Burn : public CDOTA_Buff { public: - int32_t burn_dps_buildings; // 0x11e8 - int32_t burn_dps_units; // 0x11ec - float burn_interval; // 0x11f0 + int32_t burn_dps_buildings; // 0x12b8 + int32_t burn_dps_units; // 0x12bc + float burn_interval; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Pirate_Hat : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_ms; // 0x11ec + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_ms; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Ex_Machina : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Faded_Broach : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x11e8 - int32_t bonus_movement_speed; // 0x11ec + int32_t bonus_mana; // 0x12b8 + int32_t bonus_movement_speed; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Paladin_Sword : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_lifesteal; // 0x11ec - int32_t bonus_spell_lifesteal; // 0x11f0 - int32_t bonus_amp; // 0x11f4 - int32_t creep_lifesteal_reduction_pct; // 0x11f8 + int32_t bonus_damage; // 0x12b8 + int32_t bonus_lifesteal; // 0x12bc + int32_t bonus_spell_lifesteal; // 0x12c0 + int32_t bonus_amp; // 0x12c4 + int32_t creep_lifesteal_reduction_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Minotaur_Horn_Immune : public CDOTA_Modifier_MagicImmune { public: - int32_t model_scale; // 0x11e8 + int32_t model_scale; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Minotaur_Horn : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 + int32_t bonus_strength; // 0x12b8 }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Orb_Of_Destruction : public CDOTA_Buff_Item { public: - float duration; // 0x11e8 + float duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Orb_Of_Destruction_Debuff : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 - int32_t slow_melee; // 0x11ec - int32_t slow_range; // 0x11f0 - bool bCasterRanged; // 0x11f4 + int32_t armor_reduction; // 0x12b8 + int32_t slow_melee; // 0x12bc + int32_t slow_range; // 0x12c0 + bool bCasterRanged; // 0x12c4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_The_Leveller : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_armor; // 0x11ec - int32_t demolish; // 0x11f0 + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_armor; // 0x12bc + int32_t demolish; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Arcane_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 - int32_t bonus_intelligence; // 0x11ec + int32_t bonus_armor; // 0x12b8 + int32_t bonus_intelligence; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Titan_Sliver : public CDOTA_Buff_Item { public: - int32_t base_attack_damage; // 0x11e8 - int32_t magic_resistance; // 0x11ec - int32_t status_resistance; // 0x11f0 + int32_t base_attack_damage; // 0x12b8 + int32_t magic_resistance; // 0x12bc + int32_t status_resistance; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Voodoo_Mask : public CDOTA_Buff_Item { public: - float spell_lifesteal; // 0x11e8 + float spell_lifesteal; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifer_Item_Blitz_Knuckles : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 + int32_t bonus_attack_speed; // 0x12b8 }; // Alignment: 6 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Item_Witch_Blade : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t bonus_armor; // 0x11f0 - float slow_duration; // 0x11f4 - int32_t projectile_speed; // 0x11f8 + int32_t bonus_intellect; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t bonus_armor; // 0x12c0 + float slow_duration; // 0x12c4 + int32_t projectile_speed; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Witch_Blade_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - float int_damage_multiplier; // 0x11ec + int32_t slow; // 0x12b8 + float int_damage_multiplier; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_MaskOfDispair : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - float bonus_armor; // 0x11ec - int32_t spell_lifesteal; // 0x11f0 + int32_t bonus_strength; // 0x12b8 + float bonus_armor; // 0x12bc + int32_t spell_lifesteal; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_MaskOfDispair_Berserk : public CDOTA_Buff { public: - int32_t berserk_spell_amp; // 0x11e8 - int32_t berserk_manacost_reduction; // 0x11ec - int32_t berserk_magic_resistance; // 0x11f0 + int32_t berserk_spell_amp; // 0x12b8 + int32_t berserk_manacost_reduction; // 0x12bc + int32_t berserk_magic_resistance; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Chipped_Vest : public CDOTA_Buff_Item { public: - float hp_regen; // 0x11e8 - int32_t damage_return_hero; // 0x11ec - int32_t damage_return_creep; // 0x11f0 + float hp_regen; // 0x12b8 + int32_t damage_return_hero; // 0x12bc + int32_t damage_return_creep; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Cloak_Of_Flames : public CDOTA_Buff_Item { public: - int32_t armor; // 0x11e8 - int32_t magic_resistance; // 0x11ec - int32_t radius; // 0x11f0 + int32_t armor; // 0x12b8 + int32_t magic_resistance; // 0x12bc + int32_t radius; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Cloak_Of_Flames_Debuff : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t damage_illusions; // 0x11ec + int32_t damage; // 0x12b8 + int32_t damage_illusions; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Elven_Tunic : public CDOTA_Buff_Item { public: - int32_t attack_speed; // 0x11e8 - int32_t evasion; // 0x11ec - int32_t movment; // 0x11f0 + int32_t attack_speed; // 0x12b8 + int32_t evasion; // 0x12bc + int32_t movment; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Gloves_Of_Travel : public CDOTA_Buff_Item { public: - int32_t attack_speed; // 0x11e8 + int32_t attack_speed; // 0x12b8 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Orb_Of_Corrosion : public CDOTA_Buff_Item { public: - int32_t health_bonus; // 0x11e8 - float duration; // 0x11ec - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + int32_t health_bonus; // 0x12b8 + float duration; // 0x12bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Orb_Of_Corrosion_Debuff : public CDOTA_Buff { public: - int32_t armor; // 0x11e8 - int32_t slow_melee; // 0x11ec - int32_t slow_range; // 0x11f0 - bool bCasterRanged; // 0x11f4 + int32_t armor; // 0x12b8 + int32_t slow_melee; // 0x12bc + int32_t slow_range; // 0x12c0 + bool bCasterRanged; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - int32_t damage; // 0x11f8 + int32_t damage; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Sorcerers_Staff : public CDOTA_Buff_Item { public: - int32_t mana_regen_amp; // 0x11e8 - int32_t spell_amp_creeps; // 0x11ec + int32_t mana_regen_amp; // 0x12b8 + int32_t spell_amp_creeps; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Trickster_Cloak : public CDOTA_Buff_Item { public: - int32_t evasion; // 0x11e8 - int32_t magic_resistance; // 0x11ec - float debuff_limit; // 0x11f0 + int32_t evasion; // 0x12b8 + int32_t magic_resistance; // 0x12bc + float debuff_limit; // 0x12c0 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Trickster_Cloak_Invis : public CDOTA_Modifier_Invisible { public: @@ -32704,39 +33414,39 @@ public: }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Item_Venom_Gland : public CDOTA_Buff_Item { public: - int32_t primary_attribute; // 0x11e8 - int32_t debuff_amp; // 0x11ec - float duration; // 0x11f0 + int32_t primary_attribute; // 0x12b8 + int32_t debuff_amp; // 0x12bc + float duration; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Venom_Gland_Debuff : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t degen; // 0x11ec + int32_t damage; // 0x12b8 + int32_t degen; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Wizard_Glass : public CDOTA_Buff_Item { public: - int32_t debuff_amp; // 0x11e8 - int32_t cooldown_reduction; // 0x11ec + int32_t debuff_amp; // 0x12b8 + int32_t cooldown_reduction; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Gladiator_Helm : public CDOTA_Buff_Item { public: @@ -32744,155 +33454,156 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Gladiator_Helm_Buff : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t armor; // 0x11ec - int32_t movement_speed; // 0x11f0 + int32_t damage; // 0x12b8 + int32_t armor; // 0x12bc + int32_t movement_speed; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Possessed_Mask : public CDOTA_Buff_Item { public: - int32_t primary_attribute; // 0x11e8 - int32_t lifesteal; // 0x11ec + int32_t primary_attribute; // 0x12b8 + int32_t lifesteal; // 0x12bc }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_AssassinsDagger : public CDOTA_Buff_Item { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 - int32_t debuff_duration; // 0x1200 - int32_t bonus_attack_speed; // 0x1204 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + int32_t debuff_duration; // 0x12d0 + int32_t bonus_attack_speed; // 0x12d4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Assassins_Dagger_Debuff : public CDOTA_Buff { public: - int32_t armor_debuff; // 0x11e8 + int32_t armor_debuff; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_AsceticCap : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - float hp_regen; // 0x11ec + int32_t bonus_health; // 0x12b8 + float hp_regen; // 0x12bc }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Item_AsceticCapBuff : public CDOTA_Buff { public: - int32_t status_resistance; // 0x11e8 + int32_t status_resistance; // 0x12b8 + int32_t slow_resistance; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_SamplePicker : public CDOTA_Buff_Item { public: - int32_t base_gold; // 0x11e8 - int32_t gold_per_level; // 0x11ec - int32_t strength_penalty; // 0x11f0 + int32_t base_gold; // 0x12b8 + int32_t gold_per_level; // 0x12bc + int32_t strength_penalty; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_IcarusWings : public CDOTA_Buff_Item { public: - float move_speed; // 0x11e8 + float move_speed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_IcarusWingsBuff : public CDOTA_Buff_Item { public: - int32_t status_resistance; // 0x11e8 + int32_t status_resistance; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_IcarusWingsDebuff : public CDOTA_Buff_Item { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Dynamite_Jacket : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 - int32_t radius; // 0x11ec - int32_t damage; // 0x11f0 - float blind_duration; // 0x11f4 + int32_t bonus_armor; // 0x12b8 + int32_t radius; // 0x12bc + int32_t damage; // 0x12c0 + float blind_duration; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Jacket_Blind : public CDOTA_Buff { public: - float blind_pct; // 0x11e8 + float blind_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Tree_Processor : public CDOTA_Buff_Item { public: - int32_t bonus_int; // 0x11e8 + int32_t bonus_int; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Tree_Processor_Speed : public CDOTA_Buff_Item { public: - int32_t health_per_tree; // 0x11e8 - int32_t hp_bonus; // 0x11ec + int32_t health_per_tree; // 0x12b8 + int32_t hp_bonus; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Heavy_Blade : public CDOTA_Buff_Item { public: - float damage; // 0x11e8 - int32_t attack_speed; // 0x11ec + float damage; // 0x12b8 + int32_t attack_speed; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Mechanical_Arm : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x11e8 + bool m_bAppliesToCreeps; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - float bat; // 0x11ec - float stun_duration; // 0x11f0 - int32_t stun_chance; // 0x11f4 - int32_t m_nAttack; // 0x11f8 + float bat; // 0x12bc + float stun_duration; // 0x12c0 + int32_t stun_chance; // 0x12c4 + int32_t m_nAttack; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mechanical_Arm_Counter : public CDOTA_Buff { public: @@ -32900,71 +33611,71 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Fortitude_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - float hp_regen; // 0x11ec + int32_t bonus_health; // 0x12b8 + float hp_regen; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Fortitude_Ring_Active : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 + int32_t damage_reduction; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_PogoStick : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_mana; // 0x11ec - int32_t bonus_intellect; // 0x11f0 + int32_t bonus_health; // 0x12b8 + int32_t bonus_mana; // 0x12bc + int32_t bonus_intellect; // 0x12c0 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Pogo_Stick_Active : public CDOTA_Buff { public: - 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 + int32_t leap_distance; // 0x12b8 + float leap_speed; // 0x12bc + float leap_acceleration; // 0x12c0 + int32_t leap_radius; // 0x12c4 + float leap_bonus_duration; // 0x12c8 + bool m_bLaunched; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Paintball : public CDOTA_Buff_Item { public: - int32_t movespeed; // 0x11e8 + int32_t movespeed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Paintball_Debuff : public CDOTA_Buff { public: - int32_t dps; // 0x11e8 + int32_t dps; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_UnstableWand : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x11e8 + int32_t all_stats; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_UnstableWand_Critter : public CDOTA_Modifier_Hexed { public: @@ -32972,24 +33683,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_LightRobes : public CDOTA_Buff_Item { public: - int32_t health_penalty; // 0x11e8 - int32_t attack_speed; // 0x11ec + int32_t health_penalty; // 0x12b8 + int32_t attack_speed; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Force_Field_Bonus_Aura : public CDOTA_Buff { public: - int32_t bonus_aoe_radius; // 0x11e8 + int32_t bonus_aoe_radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Force_Field_Bonus : public CDOTA_Buff { public: @@ -32997,215 +33708,217 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Force_Field : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x11e8 + bool m_bAppliesToCreeps; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t bonus_aoe_radius; // 0x11ec - int32_t self_armor; // 0x11f0 - int32_t self_mres; // 0x11f4 + int32_t bonus_aoe_radius; // 0x12bc + int32_t self_armor; // 0x12c0 + int32_t self_mres; // 0x12c4 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Force_Field_Effect : public CDOTA_Buff { public: - float bonus_aoe_armor; // 0x11e8 - float bonus_aoe_ms; // 0x11ec - float bonus_aoe_mres; // 0x11f0 - float self_mres; // 0x11f4 - float self_armor; // 0x11f8 - int32_t active_reflection_pct; // 0x11fc + float bonus_aoe_armor; // 0x12b8 + float bonus_aoe_ms; // 0x12bc + float bonus_aoe_mres; // 0x12c0 + float self_mres; // 0x12c4 + float self_armor; // 0x12c8 + int32_t active_reflection_pct; // 0x12cc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Misericorde : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t missing_hp; // 0x11ec - int32_t damage; // 0x11f0 - int32_t aspd; // 0x11f4 + int32_t bonus_damage; // 0x12b8 + int32_t missing_hp; // 0x12bc + int32_t damage; // 0x12c0 + int32_t aspd; // 0x12c4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Ancient_Perseverance : public CDOTA_Buff_Item { public: - int32_t damage; // 0x11e8 - int32_t hp_regen; // 0x11ec - int32_t mana_regen_amp; // 0x11f0 + int32_t damage; // 0x12b8 + int32_t hp_regen; // 0x12bc + int32_t mana_regen_amp; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Oakheart : public CDOTA_Buff_Item { public: - int32_t strength; // 0x11e8 + int32_t strength; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Oakheart_Healing : public CDOTA_Buff { public: - int32_t heal; // 0x11e8 - float duration; // 0x11ec - float regen; // 0x11f0 + int32_t heal; // 0x12b8 + float duration; // 0x12bc + float regen; // 0x12c0 }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Stormcrafter : public CDOTA_Buff_Item { public: - GameTime_t m_flNextHit; // 0x11e8 - int32_t passive_movement_bonus; // 0x11ec - int32_t range; // 0x11f0 - float interval; // 0x11f4 - int32_t damage; // 0x11f8 - float slow_duration; // 0x11fc - float bonus_mana_regen; // 0x1200 - int32_t max_targets; // 0x1204 + GameTime_t m_flNextHit; // 0x12b8 + int32_t passive_movement_bonus; // 0x12bc + int32_t range; // 0x12c0 + float interval; // 0x12c4 + int32_t damage; // 0x12c8 + float slow_duration; // 0x12cc + float bonus_mana_regen; // 0x12d0 + int32_t max_targets; // 0x12d4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Stormcrafter_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Overflowing_Elixir_Regen : public CDOTA_Buff { public: - int32_t health; // 0x11e8 - int32_t mana; // 0x11ec + int32_t health; // 0x12b8 + int32_t mana; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Mysterious_Hat : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t spell_amp; // 0x11ec - int32_t manacost_reduction; // 0x11f0 + int32_t bonus_health; // 0x12b8 + int32_t spell_amp; // 0x12bc + int32_t manacost_reduction; // 0x12c0 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Orb_of_Pestilence : public CDOTA_Buff_Item { public: - int32_t poison_movement_speed_melee; // 0x11e8 - int32_t poison_movement_speed_range; // 0x11ec - float poison_duration; // 0x11f0 - float poison_damage; // 0x11f4 - int32_t armor; // 0x11f8 - float hp_regen; // 0x11fc + int32_t poison_movement_speed_melee; // 0x12b8 + int32_t poison_movement_speed_range; // 0x12bc + float poison_duration; // 0x12c0 + float poison_damage; // 0x12c4 + int32_t armor; // 0x12c8 + float hp_regen; // 0x12cc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Orb_of_Pestilence_Slow : public CDOTA_Buff { public: - float duration; // 0x11e8 - int32_t slow; // 0x11ec - float damage; // 0x11f0 + float duration; // 0x12b8 + int32_t slow; // 0x12bc + float damage; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Fluffy_Hat : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 + int32_t bonus_health; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Falcon_Blade : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_damage_per_kill; // 0x11ec - int32_t bonus_damage_per_assist; // 0x11f0 - int32_t bonus_health; // 0x11f4 - int32_t max_damage; // 0x11f8 - float bonus_mana_regen; // 0x11fc + int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage_per_kill; // 0x12bc + int32_t bonus_damage_per_assist; // 0x12c0 + int32_t bonus_health; // 0x12c4 + int32_t max_damage; // 0x12c8 + float bonus_mana_regen; // 0x12cc }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Mage_Slayer : public CDOTA_Buff_Item { public: - int32_t bonus_magical_armor; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t bonus_damage; // 0x11f0 - float duration; // 0x11f4 - float bonus_mana_regen; // 0x11f8 - int32_t bonus_intellect; // 0x11fc + int32_t bonus_magical_armor; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t bonus_damage; // 0x12c0 + float duration; // 0x12c4 + float bonus_mana_regen; // 0x12c8 + int32_t bonus_intellect; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Mage_Slayer_Debuff : public CDOTA_Buff { public: - int32_t spell_amp_debuff; // 0x11e8 + int32_t spell_amp_debuff; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Overwhelming_Blink : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - float blink_damage_cooldown; // 0x11ec + int32_t bonus_strength; // 0x12b8 + float blink_damage_cooldown; // 0x12bc }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_SuperOverwhelming_Blink : public CDOTA_Modifier_Item_Overwhelming_Blink { public: // No members available }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 4 +// Size: 0x12c8 class CDOTA_Modifier_Item_Overwhelming_Blink_Debuff : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 - int32_t attack_slow; // 0x11ec + float caster_strength; // 0x12b8 + int32_t movement_slow; // 0x12bc + int32_t attack_slow; // 0x12c0 + float damage_pct_over_time; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Swift_Blink : public CDOTA_Buff_Item { public: - float blink_damage_cooldown; // 0x11e8 - int32_t bonus_agility; // 0x11ec + float blink_damage_cooldown; // 0x12b8 + int32_t bonus_agility; // 0x12bc }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_SuperSwift_Blink : public CDOTA_Modifier_Item_Swift_Blink { public: @@ -33213,64 +33926,65 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Swift_Blink_Buff : public CDOTA_Buff { public: - int32_t bonus_movement; // 0x11e8 - int32_t bonus_agi_active; // 0x11ec + int32_t bonus_movement; // 0x12b8 + int32_t bonus_agi_active; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Arcane_Blink : public CDOTA_Buff_Item { public: - float blink_damage_cooldown; // 0x11e8 - int32_t bonus_intellect; // 0x11ec + float blink_damage_cooldown; // 0x12b8 + int32_t bonus_intellect; // 0x12bc }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_SuperArcane_Blink : public CDOTA_Modifier_Item_Arcane_Blink { public: // No members available }; -// Alignment: 3 -// Size: 0x11f8 +// Alignment: 4 +// Size: 0x12c8 class CDOTA_Modifier_Item_Arcane_Blink_Buff : public CDOTA_Buff { public: - int32_t cast_pct_improvement; // 0x11e8 - int32_t manacost_reduction; // 0x11ec - int32_t debuff_amp; // 0x11f0 + int32_t cast_pct_improvement; // 0x12b8 + int32_t manacost_reduction; // 0x12bc + int32_t debuff_amp; // 0x12c0 + int32_t cast_range_bonus; // 0x12c4 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Wind_Waker : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t bonus_movement_speed; // 0x11f0 - int32_t bonus_mana; // 0x11f4 - int32_t cast_range_bonus; // 0x11f8 + int32_t bonus_intellect; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_movement_speed; // 0x12c0 + int32_t bonus_mana; // 0x12c4 + int32_t cast_range_bonus; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Wind_Waker : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hBlocker; // 0x11e8 - GameTime_t m_flStartTime; // 0x11ec + CHandle< C_BaseEntity > m_hBlocker; // 0x12b8 + GameTime_t m_flStartTime; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Eul_Wind_Waker_Thinker : public CDOTA_Buff { public: @@ -33278,7 +33992,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghanims_Shard : public CDOTA_Buff { public: @@ -33286,96 +34000,94 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Eternal_Shroud_Barrier : public CDOTA_Buff { public: - int32_t barrier_block; // 0x11e8 - int32_t barrier_amount; // 0x11ec + int32_t barrier_block; // 0x12b8 + int32_t barrier_amount; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Eternal_Shroud : public CDOTA_Buff_Item { public: - int32_t bonus_spell_resist; // 0x11e8 - int32_t bonus_strength; // 0x11ec - int32_t bonus_armor; // 0x11f0 - float bonus_health_regen; // 0x11f4 - int32_t mana_restore_pct; // 0x11f8 + int32_t bonus_spell_resist; // 0x12b8 + int32_t bonus_strength; // 0x12bc + int32_t bonus_armor; // 0x12c0 + float bonus_health_regen; // 0x12c4 + int32_t mana_restore_pct; // 0x12c8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Star_Mace : public CDOTA_Buff_Item { public: - int32_t movement_speed_pct; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t cleave_damage_percent; // 0x11f0 - int32_t cleave_starting_width; // 0x11f4 - int32_t cleave_ending_width; // 0x11f8 - int32_t cleave_distance; // 0x11fc + int32_t movement_speed_pct; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t cleave_damage_percent; // 0x12c0 + int32_t cleave_starting_width; // 0x12c4 + int32_t cleave_ending_width; // 0x12c8 + int32_t cleave_distance; // 0x12cc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Penta_Edged_Sword : public CDOTA_Buff_Item { public: - int32_t damage; // 0x11e8 - int32_t maim_chance; // 0x11ec - float maim_duration; // 0x11f0 - int32_t melee_attack_range; // 0x11f4 + int32_t damage; // 0x12b8 + int32_t maim_chance; // 0x12bc + float maim_duration; // 0x12c0 + int32_t melee_attack_range; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Penta_Edged_Sword_Maim : public CDOTA_Buff { public: - int32_t maim_slow_movement; // 0x11e8 - int32_t maim_slow_attack; // 0x11ec + int32_t maim_slow_movement; // 0x12b8 + int32_t maim_slow_attack; // 0x12bc }; // Alignment: 7 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_GungirChain : public CDOTA_Buff { public: - int32_t chain_radius; // 0x11e8 - int32_t chain_strikes; // 0x11ec - int32_t chain_damage; // 0x11f0 - float chain_delay; // 0x11f4 - int32_t m_iCurJumpCount; // 0x11f8 - Vector m_vCurTargetLoc; // 0x11fc - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1208 + int32_t chain_radius; // 0x12b8 + int32_t chain_strikes; // 0x12bc + int32_t chain_damage; // 0x12c0 + float chain_delay; // 0x12c4 + int32_t m_iCurJumpCount; // 0x12c8 + Vector m_vCurTargetLoc; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12d8 }; -// Alignment: 11 -// Size: 0x1240 +// Alignment: 12 +// Size: 0x1310 class CDOTA_Modifier_Item_Gungir : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_strength; // 0x11ec - int32_t bonus_agility; // 0x11f0 - int32_t bonus_intellect; // 0x11f4 - int32_t chain_chance; // 0x11f8 - int32_t chain_strikes; // 0x11fc - int32_t chain_damage; // 0x1200 - int32_t chain_radius; // 0x1204 - float chain_cooldown; // 0x1208 -private: - [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1210 - CountdownTimer m_ChainTimer; // 0x1228 + int32_t bonus_damage; // 0x12b8 + int32_t bonus_strength; // 0x12bc + int32_t bonus_agility; // 0x12c0 + int32_t bonus_intellect; // 0x12c4 + int32_t bonus_hp; // 0x12c8 + int32_t chain_chance; // 0x12cc + int32_t chain_strikes; // 0x12d0 + int32_t chain_damage; // 0x12d4 + int32_t chain_radius; // 0x12d8 + float chain_cooldown; // 0x12dc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 + CountdownTimer m_ChainTimer; // 0x12f8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Gungnir_Debuff : public CDOTA_Modifier_Rooted { public: @@ -33383,177 +34095,178 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Orb_Of_Revelations : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_mana; // 0x11ec - float bonus_mana_regen; // 0x11f0 - int32_t cast_range_bonus; // 0x11f4 - int32_t bonus_magical_armor; // 0x11f8 + int32_t bonus_health; // 0x12b8 + int32_t bonus_mana; // 0x12bc + float bonus_mana_regen; // 0x12c0 + int32_t cast_range_bonus; // 0x12c4 + int32_t bonus_magical_armor; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Orb_Of_Revelations_Reveal : public CDOTA_Buff { public: - int32_t movespeed; // 0x11e8 + int32_t movespeed; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Satchel : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 - int32_t xp_gain; // 0x11ec + int32_t bonus_all_stats; // 0x12b8 + int32_t xp_gain; // 0x12bc }; // Alignment: 19 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_Item_Grandmasters_Glaive : public CDOTA_Buff_Item { public: - int32_t sange_bonus_strength; // 0x11e8 - int32_t sange_status_resistance; // 0x11ec - int32_t sange_hp_regen_amp; // 0x11f0 - int32_t kaya_bonus_intellect; // 0x11f4 - int32_t kaya_spell_amp; // 0x11f8 - int32_t kaya_mana_regen_multiplier; // 0x11fc - int32_t kaya_magic_damage_attack; // 0x1200 - int32_t yasha_bonus_agility; // 0x1204 - int32_t yasha_bonus_attack_speed; // 0x1208 - int32_t yasha_movement_speed_percent_bonus; // 0x120c - int32_t m_iCurrentStance; // 0x1210 - int32_t bonus_strength; // 0x1214 - int32_t bash_chance_melee; // 0x1218 - int32_t bash_chance_ranged; // 0x121c - float bash_duration; // 0x1220 - float bash_cooldown; // 0x1224 - int32_t bonus_chance_damage; // 0x1228 - int32_t bonus_damage; // 0x122c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1230 + int32_t sange_bonus_strength; // 0x12b8 + int32_t sange_status_resistance; // 0x12bc + int32_t sange_hp_regen_amp; // 0x12c0 + int32_t kaya_bonus_intellect; // 0x12c4 + int32_t kaya_spell_amp; // 0x12c8 + int32_t kaya_mana_regen_multiplier; // 0x12cc + int32_t kaya_magic_damage_attack; // 0x12d0 + int32_t yasha_bonus_agility; // 0x12d4 + int32_t yasha_bonus_attack_speed; // 0x12d8 + int32_t yasha_movement_speed_percent_bonus; // 0x12dc + int32_t m_iCurrentStance; // 0x12e0 + int32_t bonus_strength; // 0x12e4 + int32_t bash_chance_melee; // 0x12e8 + int32_t bash_chance_ranged; // 0x12ec + float bash_duration; // 0x12f0 + float bash_cooldown; // 0x12f4 + int32_t bonus_chance_damage; // 0x12f8 + int32_t bonus_damage; // 0x12fc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x1300 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Agi : public CDOTA_Buff { public: - int32_t agi_stance; // 0x11e8 + int32_t agi_stance; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Str : public CDOTA_Buff { public: - int32_t str_stance; // 0x11e8 + int32_t str_stance; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Int : public CDOTA_Buff { public: - int32_t int_stance; // 0x11e8 + int32_t int_stance; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Warhammer : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 + int32_t bonus_strength; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Warhammer_Armor : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 + int32_t armor_reduction; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Psychic_Headband : public CDOTA_Buff_Item { public: - int32_t intelligence_pct; // 0x11e8 - int32_t cast_range; // 0x11ec + int32_t intelligence_pct; // 0x12b8 + int32_t cast_range; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Psychic_Headband : public CDOTA_Buff { public: - int32_t push_length; // 0x11e8 - float push_duration; // 0x11ec + int32_t push_length; // 0x12b8 + float push_duration; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Ceremonial_Robe : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x11e8 - int32_t aura_radius; // 0x11ec + int32_t bonus_mana; // 0x12b8 + int32_t aura_radius; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Ceremonial_Robe_Aura : public CDOTA_Buff { public: - int32_t status_resistance; // 0x11e8 - int32_t magic_resistance; // 0x11ec + int32_t status_resistance; // 0x12b8 + int32_t magic_resistance; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Book_Of_Shadows : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 - int32_t night_vision; // 0x11ec -}; - -// Alignment: 0 -// Size: 0x11e8 -class CDOTA_Modifier_Item_Book_Of_Shadows_Buff : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 6 -// Size: 0x1200 -class CDOTA_Modifier_Item_Giants_Ring : public CDOTA_Buff_Item -{ -public: - int32_t bonus_strength; // 0x11e8 - int32_t movement_speed; // 0x11ec - int32_t model_scale; // 0x11f0 - int32_t damage_radius; // 0x11f4 - int32_t pct_str_damage_per_second; // 0x11f8 - float tick_rate; // 0x11fc + int32_t bonus_all_stats; // 0x12b8 + int32_t night_vision; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 +class CDOTA_Modifier_Item_Book_Of_Shadows_Buff : public CDOTA_Buff +{ +public: + bool m_bUntargetableAllies; // 0x12b8 + bool m_bUntargetableEnemies; // 0x12b9 +}; + +// Alignment: 6 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Giants_Ring : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x12b8 + int32_t movement_speed; // 0x12bc + int32_t model_scale; // 0x12c0 + int32_t damage_radius; // 0x12c4 + int32_t pct_str_damage_per_second; // 0x12c8 + float tick_rate; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Item_Vengeances_Shadow : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t damage_return; // 0x11ec + int32_t bonus_health; // 0x12b8 + int32_t damage_return; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Vengeances_Shadow_Illusions : public CDOTA_Buff { public: @@ -33561,269 +34274,269 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Bullwhip : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x11e8 - float bonus_mana_regen; // 0x11ec + float bonus_health_regen; // 0x12b8 + float bonus_mana_regen; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Bullwhip_Buff_Thinker : public CDOTA_Buff { public: - int32_t speed; // 0x11e8 - CHandle< C_BaseEntity > m_hTarget; // 0x11ec - ParticleIndex_t m_nFXIndex; // 0x11f0 + int32_t speed; // 0x12b8 + CHandle< C_BaseEntity > m_hTarget; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Bullwhip_Buff : public CDOTA_Buff { public: - int32_t speed; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t speed; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Quicksilver_Amulet : public CDOTA_Buff_Item { public: - int32_t base_attack; // 0x11e8 - int32_t bonus_attack; // 0x11ec - int32_t base_movement; // 0x11f0 - int32_t bonus_movement; // 0x11f4 - int32_t projectile_increase; // 0x11f8 - int32_t anim_increase; // 0x11fc + int32_t base_attack; // 0x12b8 + int32_t bonus_attack; // 0x12bc + int32_t base_movement; // 0x12c0 + int32_t bonus_movement; // 0x12c4 + int32_t projectile_increase; // 0x12c8 + int32_t anim_increase; // 0x12cc }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Naginata : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t bonus_damage; // 0x11f0 - int32_t bonus_health; // 0x11f4 - float bonus_mana_regen; // 0x11f8 - int32_t cooldown_reduction_percent; // 0x11fc - int32_t bonus_chance; // 0x1200 + int32_t bonus_intellect; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t bonus_damage; // 0x12c0 + int32_t bonus_health; // 0x12c4 + float bonus_mana_regen; // 0x12c8 + int32_t cooldown_reduction_percent; // 0x12cc + int32_t bonus_chance; // 0x12d0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_SeedsOfSerenity : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - float bonus_health_regen; // 0x11ec + int32_t bonus_health; // 0x12b8 + float bonus_health_regen; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_SeedsOfSerenity_Active_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_SeedsOfSerenity_Active : public CDOTA_Buff { public: - int32_t aura_health_regen; // 0x11e8 + int32_t aura_health_regen; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_LanceOfPursuit : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x11e8 - int32_t bonus_strength; // 0x11ec - int32_t backstab_damage; // 0x11f0 - int32_t backstab_angle; // 0x11f4 - float slow_duration; // 0x11f8 - bool m_bBackstab; // 0x11fc + int32_t bonus_mana; // 0x12b8 + int32_t bonus_strength; // 0x12bc + int32_t backstab_damage; // 0x12c0 + int32_t backstab_angle; // 0x12c4 + float slow_duration; // 0x12c8 + bool m_bBackstab; // 0x12cc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Lance_of_Pursuit_Slow : public CDOTA_Buff { public: - int32_t slow_pct_melee; // 0x11e8 - int32_t slow_pct_ranged; // 0x11ec + int32_t slow_pct_melee; // 0x12b8 + int32_t slow_pct_ranged; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Occult_Bracelet : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 - int32_t stack_limit; // 0x11ec - float stack_duration; // 0x11f0 - GameTime_t m_flStackDieTime; // 0x11f4 - int32_t magic_resistance; // 0x11f8 + int32_t bonus_all_stats; // 0x12b8 + int32_t stack_limit; // 0x12bc + float stack_duration; // 0x12c0 + GameTime_t m_flStackDieTime; // 0x12c4 + int32_t magic_resistance; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Occult_Bracelet_Stack : public CDOTA_Buff { public: - float mana_regen; // 0x11e8 + float mana_regen; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Tome_of_Omniscience : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x11e8 - int32_t bonus_xpm; // 0x11ec - int32_t bonus_armor; // 0x11f0 + int32_t bonus_mana; // 0x12b8 + int32_t bonus_xpm; // 0x12bc + int32_t bonus_armor; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_OgreSealTotem : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 + int32_t bonus_strength; // 0x12b8 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_OgreSealTotem_Active : public CDOTA_Buff { public: - int32_t m_nCurrentBounce; // 0x11e8 - int32_t leap_distance; // 0x11ec - float leap_speed; // 0x11f0 - float leap_acceleration; // 0x11f4 - int32_t leap_radius; // 0x11f8 - float leap_bonus_duration; // 0x11fc - bool m_bLaunched; // 0x1200 + int32_t m_nCurrentBounce; // 0x12b8 + int32_t leap_distance; // 0x12bc + float leap_speed; // 0x12c0 + float leap_acceleration; // 0x12c4 + int32_t leap_radius; // 0x12c8 + float leap_bonus_duration; // 0x12cc + bool m_bLaunched; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_OgreSealTotem_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_WandOfTheBrine : public CDOTA_Buff_Item { public: - int32_t heal_increase; // 0x11e8 + int32_t heal_increase; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_WandOfTheBrine_Active : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - float interval; // 0x11ec - int32_t damage_reduction; // 0x11f0 - int32_t heal; // 0x11f4 - ParticleIndex_t m_nFXIndex; // 0x11f8 + int32_t movement_speed; // 0x12b8 + float interval; // 0x12bc + int32_t damage_reduction; // 0x12c0 + int32_t heal; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Slime_Vial : public CDOTA_Buff_Item { public: - int32_t health_regen; // 0x11e8 + int32_t health_regen; // 0x12b8 }; // Alignment: 8 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Item_Slime_Vial_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x11e8 - GameTime_t m_fLastThink; // 0x11ec - CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11f0 - CountdownTimer m_ViewerTimer; // 0x1208 - int32_t spill_speed; // 0x1220 - int32_t spill_radius; // 0x1224 - int32_t spill_damage; // 0x1228 - float spill_debuff_duration; // 0x122c + float m_fCurRadius; // 0x12b8 + GameTime_t m_fLastThink; // 0x12bc + CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x12c0 + CountdownTimer m_ViewerTimer; // 0x12d8 + int32_t spill_speed; // 0x12f0 + int32_t spill_radius; // 0x12f4 + int32_t spill_damage; // 0x12f8 + float spill_debuff_duration; // 0x12fc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Slime_Vial_Spill_Debuff : public CDOTA_Buff { public: - int32_t spill_movement_speed; // 0x11e8 - int32_t spill_attack_speed; // 0x11ec - int32_t spill_self_bonus_armor; // 0x11f0 + int32_t spill_movement_speed; // 0x12b8 + int32_t spill_attack_speed; // 0x12bc + int32_t spill_self_bonus_armor; // 0x12c0 }; // Alignment: 9 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Item_Harpoon : public CDOTA_Buff_Item { public: - int32_t bonus_chance; // 0x11e8 - int32_t bonus_chance_damage; // 0x11ec - int32_t bonus_strength; // 0x11f0 - int32_t bonus_agility; // 0x11f4 - int32_t bonus_intellect; // 0x11f8 - float bonus_mana_regen; // 0x11fc - int32_t bonus_damage; // 0x1200 - int32_t bonus_speed; // 0x1204 - CUtlVector< int16 > m_InFlightProcAttackRecords; // 0x1208 + int32_t bonus_chance; // 0x12b8 + int32_t bonus_chance_damage; // 0x12bc + int32_t bonus_strength; // 0x12c0 + int32_t bonus_agility; // 0x12c4 + int32_t bonus_intellect; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_damage; // 0x12d0 + int32_t bonus_speed; // 0x12d4 + CUtlVector< int16 > m_InFlightProcAttackRecords; // 0x12d8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Harpoon_EchoSabre_Component : public CDOTA_Buff_Item { public: - float slow_duration; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - bool bonus_speed; // 0x11f0 + float slow_duration; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + bool bonus_speed; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - float passive_cooldown; // 0x11f4 + float passive_cooldown; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Harpoon_Pull : public CDOTA_Buff { public: - float m_flDistance; // 0x11e8 + float m_flDistance; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Harpoon_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Harpoon_InternalCD : public CDOTA_Buff { public: @@ -33831,35 +34544,35 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Guardian_Shell : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x11e8 - int32_t bonus_armor; // 0x11ec - float counter_cooldown; // 0x11f0 - GameTime_t m_flLastCounterTime; // 0x11f4 + int32_t all_stats; // 0x12b8 + int32_t bonus_armor; // 0x12bc + float counter_cooldown; // 0x12c0 + GameTime_t m_flLastCounterTime; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_GuardianShell_Active : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 + ParticleIndex_t m_nFXIndex; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Arcane_Scout : public CDOTA_Buff_Item { public: - int32_t vision_bonus; // 0x11e8 - int32_t magic_resist; // 0x11ec + int32_t vision_bonus; // 0x12b8 + int32_t magic_resist; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Arcane_Scout_Self_Vision : public CDOTA_Buff { public: @@ -33867,27 +34580,27 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Arcane_Scout_Invulnerability : public CDOTA_Modifier_Invulnerable { public: - int32_t scout_movespeed; // 0x11e8 - int32_t sight_range; // 0x11ec + int32_t scout_movespeed; // 0x12b8 + int32_t sight_range; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Barricade_Thinker : public CDOTA_Buff { public: - int32_t length; // 0x11e8 - int32_t width; // 0x11ec - int32_t max_hits; // 0x11f0 - int32_t m_iCurrentHits; // 0x11f4 + int32_t length; // 0x12b8 + int32_t width; // 0x12bc + int32_t max_hits; // 0x12c0 + int32_t m_iCurrentHits; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Barricade_Blocker : public CDOTA_Buff { public: @@ -33895,315 +34608,317 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Barricade : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t bonus_health; // 0x12b8 + int32_t bonus_armor; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_EyeOfTheVizier : public CDOTA_Buff_Item { public: - int32_t cast_range_bonus; // 0x11e8 - int32_t mana_reduction_pct; // 0x11ec - float bonus_mana_regen; // 0x11f0 + int32_t cast_range_bonus; // 0x12b8 + int32_t mana_reduction_pct; // 0x12bc + float bonus_mana_regen; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_ManaclesOfPower : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 + int32_t bonus_strength; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_ManaclesOfPower_Effect : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hPartner; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec - float leash_distance; // 0x11f0 - float leash_limit_multiplier; // 0x11f4 - CHandle< C_BaseEntity > m_hAnchor; // 0x11f8 + CHandle< C_BaseEntity > m_hPartner; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc + float leash_distance; // 0x12c0 + float leash_limit_multiplier; // 0x12c4 + CHandle< C_BaseEntity > m_hAnchor; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Bottomless_Chalice_Regen : public CDOTA_Buff { public: - int32_t health; // 0x11e8 - int32_t mana; // 0x11ec + int32_t health; // 0x12b8 + int32_t mana; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Bottomless_Chalice : public CDOTA_Buff_Item { public: - int32_t max_charges_per_kill; // 0x11e8 - float recharge_time; // 0x11ec - bool m_bFull; // 0x11f0 + int32_t max_charges_per_kill; // 0x12b8 + float recharge_time; // 0x12bc + bool m_bFull; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - int32_t bonus_intellect; // 0x11f4 - int32_t movement_speed; // 0x11f8 + int32_t bonus_intellect; // 0x12c4 + int32_t movement_speed; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_WandOfSanctitude : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x11e8 - int32_t cast_range_bonus; // 0x11ec + int32_t all_stats; // 0x12b8 + int32_t cast_range_bonus; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_WandOfSanctitude_Active_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 5 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Item_SpecialistsArray : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t proc_bonus_damage; // 0x11f0 - int32_t count; // 0x11f4 - int32_t secondary_target_range_bonus; // 0x11f8 + int32_t all_stats; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t proc_bonus_damage; // 0x12c0 + int32_t count; // 0x12c4 + int32_t secondary_target_range_bonus; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_DaggerOfRistul : public CDOTA_Buff_Item { public: - int32_t aspd; // 0x11e8 + int32_t aspd; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DaggerOfRistul_Buff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Lunar_Crest : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t movement_speed; // 0x11ec - int32_t bonus_spell_resist; // 0x11f0 + int32_t bonus_health; // 0x12b8 + int32_t movement_speed; // 0x12bc + int32_t bonus_spell_resist; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Lunar_Crest_Barrier_Addition : public CDOTA_Buff { public: - int32_t barrier_block; // 0x11e8 - int32_t barrier_amount; // 0x11ec + int32_t barrier_block; // 0x12b8 + int32_t barrier_amount; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Lunar_Crest_Barrier_Reduction : public CDOTA_Buff { public: - int32_t barrier_block; // 0x11e8 - float m_flDamageTotal; // 0x11ec + int32_t barrier_block; // 0x12b8 + float m_flDamageTotal; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Magus_Minimus_Inhibit : public CDOTA_Buff { public: - int32_t purge_rate; // 0x11e8 + int32_t purge_rate; // 0x12b8 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Magus_Minimus : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 - int32_t bonus_intellect; // 0x11ec - float damage_per_burn; // 0x11f0 - int32_t feedback_mana_burn; // 0x11f4 - int32_t feedback_mana_burn_illusion_melee; // 0x11f8 - int32_t feedback_mana_burn_illusion_ranged; // 0x11fc - int32_t aura_radius; // 0x1200 + int32_t bonus_agility; // 0x12b8 + int32_t bonus_intellect; // 0x12bc + float damage_per_burn; // 0x12c0 + int32_t feedback_mana_burn; // 0x12c4 + int32_t feedback_mana_burn_illusion_melee; // 0x12c8 + int32_t feedback_mana_burn_illusion_ranged; // 0x12cc + int32_t aura_radius; // 0x12d0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Magus_Minimus_Aura_Slow : public CDOTA_Buff { public: - int32_t max_slow_pct; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t max_slow_pct; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Witches_Switch : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t bonus_armor; // 0x11f0 - int32_t aura_radius; // 0x11f4 + float bonus_health_regen; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_armor; // 0x12c0 + int32_t aura_radius; // 0x12c4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Witches_Switch_Aura_Effect : public CDOTA_Buff { public: - float aura_mana_regen; // 0x11e8 - float aura_health_regen; // 0x11ec - int32_t aura_armor; // 0x11f0 + float aura_mana_regen; // 0x12b8 + float aura_health_regen; // 0x12bc + int32_t aura_armor; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Spark_Of_Courage : public CDOTA_Buff_Item { public: - int32_t damage; // 0x11e8 - int32_t armor; // 0x11ec - int32_t health_pct; // 0x11f0 + int32_t damage; // 0x12b8 + int32_t armor; // 0x12bc + int32_t health_pct; // 0x12c0 }; -// Alignment: 3 -// Size: 0x11f8 +// Alignment: 4 +// Size: 0x12c8 class CDOTA_Modifier_Item_VindicatorsAxe : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t bonus_armor; // 0x11f0 + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t bonus_armor; // 0x12c0 + int32_t bonus_slow_resist; // 0x12c4 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifer_Item_DandelionAmulet : public CDOTA_Buff_Item { public: - int32_t move_speed; // 0x11e8 - int32_t mana; // 0x11ec - int32_t magic_block; // 0x11f0 - int32_t min_damage; // 0x11f4 + int32_t move_speed; // 0x12b8 + int32_t mana; // 0x12bc + int32_t magic_block; // 0x12c0 + int32_t min_damage; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifer_Item_BlightedSpirit : public CDOTA_Buff_Item { public: - int32_t magic_resist; // 0x11e8 - float duration; // 0x11ec + int32_t magic_resist; // 0x12b8 + float duration; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_BlightedSpirit_Blight : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x11e8 - int32_t heal_reduction; // 0x11ec + int32_t damage_per_second; // 0x12b8 + int32_t heal_reduction; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_DuelistGloves : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_damage; // 0x11ec - float radius; // 0x11f0 - int32_t actual_attack_speed; // 0x11f4 + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_damage; // 0x12bc + float radius; // 0x12c0 + int32_t actual_attack_speed; // 0x12c4 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_HorizonsEquilibrium : public CDOTA_Buff_Item { public: - int32_t distance; // 0x11e8 - int32_t damage_reduction; // 0x11ec - int32_t attack_lifesteal; // 0x11f0 - int32_t spell_lifesteal; // 0x11f4 - int32_t creep_lifesteal_reduction_pct; // 0x11f8 + int32_t distance; // 0x12b8 + int32_t damage_reduction; // 0x12bc + int32_t attack_lifesteal; // 0x12c0 + int32_t spell_lifesteal; // 0x12c4 + int32_t creep_lifesteal_reduction_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifer_Item_TurtleShell : public CDOTA_Buff_Item { public: - int32_t armor; // 0x11e8 + int32_t armor; // 0x12b8 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifer_Item_TurtleShell_Shell : public CDOTA_Buff_Item { public: - int32_t damage_reduction; // 0x11e8 - Vector m_vecPosition; // 0x11ec - ParticleIndex_t m_nFXIndex; // 0x11f8 + int32_t damage_reduction; // 0x12b8 + Vector m_vecPosition; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c8 }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Item_MartyrsPlate : public CDOTA_Buff_Item { public: - float duration; // 0x11e8 - int32_t magic_resist; // 0x11ec + float duration; // 0x12b8 + int32_t magic_resist; // 0x12bc + float hp_regen; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_MartyrsPlate_Aura : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_MartyrsPlate_Effect : public CDOTA_Buff_Item { public: - int32_t damage_redirection; // 0x11e8 + int32_t damage_redirection; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Gossamer_Cape : public CDOTA_Buff_Item { public: - float movement_speed; // 0x11e8 + float movement_speed; // 0x12b8 }; // Alignment: 45 @@ -34250,22 +34965,25 @@ public: float m_flCloud1Direction; // 0x98 float m_flCloud2Speed; // 0x9c float m_flCloud2Direction; // 0xa0 - float m_flAmbientScale1; // 0xa4 - float m_flAmbientScale2; // 0xa8 - float m_flGroundScale; // 0xac - float m_flLightScale; // 0xb0 - float m_flFoWDarkness; // 0xb4 - bool m_bEnableSeparateSkyboxFog; // 0xb8 private: - [[maybe_unused]] uint8_t __pad00b9[0x3]; // 0xb9 + [[maybe_unused]] uint8_t __pad00a4[0xc]; // 0xa4 public: - Vector m_vFowColor; // 0xbc - Vector m_ViewOrigin; // 0xc8 - QAngle m_ViewAngles; // 0xd4 - float m_flViewFoV; // 0xe0 - Vector m_WorldPoints[8]; // 0xe4 + float m_flAmbientScale1; // 0xb0 + float m_flAmbientScale2; // 0xb4 + float m_flGroundScale; // 0xb8 + float m_flLightScale; // 0xbc + float m_flFoWDarkness; // 0xc0 + bool m_bEnableSeparateSkyboxFog; // 0xc4 private: - [[maybe_unused]] uint8_t __pad0144[0x364]; // 0x144 + [[maybe_unused]] uint8_t __pad00c5[0x3]; // 0xc5 +public: + Vector m_vFowColor; // 0xc8 + Vector m_ViewOrigin; // 0xd4 + QAngle m_ViewAngles; // 0xe0 + float m_flViewFoV; // 0xec + Vector m_WorldPoints[8]; // 0xf0 +private: + [[maybe_unused]] uint8_t __pad0150[0x358]; // 0x150 public: Vector2D m_vFogOffsetLayer0; // 0x4a8 Vector2D m_vFogOffsetLayer1; // 0x4b0 @@ -34276,13 +34994,13 @@ public: }; // Alignment: 1 -// Size: 0xa80 +// Size: 0xa90 class C_GlobalLight : public C_BaseEntity { private: - [[maybe_unused]] uint8_t __pad0528[0x528]; // 0x528 + [[maybe_unused]] uint8_t __pad0538[0x528]; // 0x538 public: - uint16_t m_WindClothForceHandle; // 0xa50 + uint16_t m_WindClothForceHandle; // 0xa60 // Static fields: static C_GlobalLight* &Get_sm_pGlobalLight(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_GlobalLight")->m_static_fields[0]->m_instance);}; @@ -34291,7 +35009,7 @@ public: }; // Alignment: 9 -// Size: 0x290 +// Size: 0x2a0 class CDeferredLightBase { private: @@ -34318,89 +35036,89 @@ public: }; // Alignment: 2 -// Size: 0x540 +// Size: 0x550 class C_DOTACameraBounds : public C_BaseEntity { public: // MNetworkEnable - Vector m_vecBoundsMin; // 0x528 + Vector m_vecBoundsMin; // 0x538 // MNetworkEnable - Vector m_vecBoundsMax; // 0x534 + Vector m_vecBoundsMax; // 0x544 }; // Alignment: 10 -// Size: 0x540 +// Size: 0x550 class C_DOTAAppCheers : public C_BaseEntity { public: // MNetworkEnable - int16_t m_nRadiantCheers; // 0x528 + int16_t m_nRadiantCheers; // 0x538 // MNetworkEnable - int16_t m_nRadiantBronzeCheers; // 0x52a + int16_t m_nRadiantBronzeCheers; // 0x53a // MNetworkEnable - int16_t m_nRadiantSilverCheers; // 0x52c + int16_t m_nRadiantSilverCheers; // 0x53c // MNetworkEnable - int16_t m_nRadiantGoldCheers; // 0x52e + int16_t m_nRadiantGoldCheers; // 0x53e // MNetworkEnable - ECrowdLevel m_nRadiantCrowdLevel; // 0x530 + ECrowdLevel m_nRadiantCrowdLevel; // 0x540 // MNetworkEnable - int16_t m_nDireCheers; // 0x534 + int16_t m_nDireCheers; // 0x544 // MNetworkEnable - int16_t m_nDireBronzeCheers; // 0x536 + int16_t m_nDireBronzeCheers; // 0x546 // MNetworkEnable - int16_t m_nDireSilverCheers; // 0x538 + int16_t m_nDireSilverCheers; // 0x548 // MNetworkEnable - int16_t m_nDireGoldCheers; // 0x53a + int16_t m_nDireGoldCheers; // 0x54a // MNetworkEnable - ECrowdLevel m_nDireCrowdLevel; // 0x53c + ECrowdLevel m_nDireCrowdLevel; // 0x54c }; // Alignment: 6 -// Size: 0x538 +// Size: 0x548 class C_DOTACheers : public C_BaseEntity { public: // MNetworkEnable - int16_t m_nRadiantCheers; // 0x528 + int16_t m_nRadiantCheers; // 0x538 // MNetworkEnable - int16_t m_nDireCheers; // 0x52a + int16_t m_nDireCheers; // 0x53a // MNetworkEnable - int16_t m_nRadiantPremiumCheers; // 0x52c + int16_t m_nRadiantPremiumCheers; // 0x53c // MNetworkEnable - int16_t m_nDirePremiumCheers; // 0x52e + int16_t m_nDirePremiumCheers; // 0x53e // MNetworkEnable - ECrowdLevel m_nRadiantCrowdLevel; // 0x530 + ECrowdLevel m_nRadiantCrowdLevel; // 0x540 // MNetworkEnable - ECrowdLevel m_nDireCrowdLevel; // 0x534 + ECrowdLevel m_nDireCrowdLevel; // 0x544 }; // Alignment: 13 -// Size: 0x920 +// Size: 0x930 class C_DOTA_Hero_Recorder : public C_BaseEntity { public: // MNetworkEnable - bool m_bStartRecording; // 0x528 + bool m_bStartRecording; // 0x538 private: - [[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529 + [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 public: // MNetworkEnable - CHandle< C_DOTA_BaseNPC > m_hHero; // 0x52c + CHandle< C_DOTA_BaseNPC > m_hHero; // 0x53c // MNetworkEnable - CHandle< C_DOTAPlayerController > m_hPlayer; // 0x530 - bool m_bRecording; // 0x534 - bool m_bLastStartRecording; // 0x535 + CHandle< C_DOTAPlayerController > m_hPlayer; // 0x540 + bool m_bRecording; // 0x544 + bool m_bLastStartRecording; // 0x545 private: - [[maybe_unused]] uint8_t __pad0536[0x2]; // 0x536 + [[maybe_unused]] uint8_t __pad0546[0x2]; // 0x546 public: - float m_flLastCycle; // 0x538 - int32_t m_nCompletedCycles; // 0x53c - int32_t m_nFramesThisCycle; // 0x540 - int32_t m_nRecordedFrames; // 0x544 - float m_flHeroAdvanceTime; // 0x548 - float m_flStartTime; // 0x54c - CUtlVector< float32 > m_flCycles; // 0x550 - CUtlVector< CUtlString* > m_pBatchFiles; // 0x568 + float m_flLastCycle; // 0x548 + int32_t m_nCompletedCycles; // 0x54c + int32_t m_nFramesThisCycle; // 0x550 + int32_t m_nRecordedFrames; // 0x554 + float m_flHeroAdvanceTime; // 0x558 + float m_flStartTime; // 0x55c + CUtlVector< float32 > m_flCycles; // 0x560 + CUtlVector< CUtlString* > m_pBatchFiles; // 0x578 }; // Alignment: 6 @@ -34445,7 +35163,7 @@ public: }; // Alignment: 0 -// Size: 0x210 +// Size: 0x1f8 class CDOTAPlayer_CameraServices : public CPlayer_CameraServices { public: @@ -34453,7 +35171,7 @@ public: }; // Alignment: 0 -// Size: 0x1b8 +// Size: 0x1d0 class CDOTAPlayer_MovementServices : public CPlayer_MovementServices { public: @@ -34461,291 +35179,299 @@ public: }; // Alignment: 17 -// Size: 0xcd0 +// Size: 0xce0 class C_DotaTutorialNetworker : public C_BaseEntity { public: // MNetworkEnable - int32_t m_nTutorialState; // 0x528 + int32_t m_nTutorialState; // 0x538 // MNetworkEnable - int32_t m_nTaskProgress; // 0x52c + int32_t m_nTaskProgress; // 0x53c // MNetworkEnable - int32_t m_nTaskSteps; // 0x530 + int32_t m_nTaskSteps; // 0x540 // MNetworkEnable - int32_t m_nTaskSecondsRemianing; // 0x534 + int32_t m_nTaskSecondsRemianing; // 0x544 // MNetworkEnable - int32_t m_nUIState; // 0x538 + int32_t m_nUIState; // 0x548 // MNetworkEnable - int32_t m_nShopState; // 0x53c + int32_t m_nShopState; // 0x54c // MNetworkEnable - Vector m_TargetLocation; // 0x540 + Vector m_TargetLocation; // 0x550 // MNetworkEnable // MNetworkDisable - CHandle< C_BaseEntity > m_TargetEntity; // 0x54c + CHandle< C_BaseEntity > m_TargetEntity; // 0x55c // MNetworkEnable // MNetworkTypeAlias "m_SpeechBubbles" - C_UtlVectorEmbeddedNetworkVar< C_SpeechBubbleInfo > m_SpeechBubbles; // 0x550 + C_UtlVectorEmbeddedNetworkVar< C_SpeechBubbleInfo > m_SpeechBubbles; // 0x560 // MNetworkEnable - int32_t m_nLocationID; // 0xab0 + int32_t m_nLocationID; // 0xac0 // MNetworkEnable // MNetworkChangeCallback "OnGuideChanged" - char m_GuideStr[256]; // 0xab4 + char m_GuideStr[256]; // 0xac4 // MNetworkEnable // MNetworkChangeCallback "OnQuickBuyChanged" - char m_QuickBuyStr[256]; // 0xbb4 - int32_t m_nPreTutorialState; // 0xcb4 - int32_t m_nPreUIState; // 0xcb8 - int32_t m_nPreShopState; // 0xcbc - Vector m_vecPrevTargetLocation; // 0xcc0 - CHandle< C_BaseEntity > m_hPrevTargetEntity; // 0xccc + char m_QuickBuyStr[256]; // 0xbc4 + int32_t m_nPreTutorialState; // 0xcc4 + int32_t m_nPreUIState; // 0xcc8 + int32_t m_nPreShopState; // 0xccc + Vector m_vecPrevTargetLocation; // 0xcd0 + CHandle< C_BaseEntity > m_hPrevTargetEntity; // 0xcdc }; // Alignment: 0 -// Size: 0x530 +// Size: 0x540 class C_DOTAReflectionSkybox : public C_BaseEntity { public: // No members available }; -// Alignment: 37 -// Size: 0x5a0 +// Alignment: 38 +// Size: 0x5b0 class C_DOTABaseAbility : public C_BaseEntity { private: - [[maybe_unused]] uint8_t __pad0528[0x8]; // 0x528 + [[maybe_unused]] uint8_t __pad0538[0x8]; // 0x538 public: - bool m_bAltCastState; // 0x530 + bool m_bAuxCastState; // 0x540 private: - [[maybe_unused]] uint8_t __pad0531[0x3]; // 0x531 + [[maybe_unused]] uint8_t __pad0541[0x3]; // 0x541 public: - int32_t m_iEnemyLevel; // 0x534 - int32_t m_iMaxLevel; // 0x538 - bool m_bCanLearn; // 0x53c + int32_t m_iEnemyLevel; // 0x544 + int32_t m_iMaxLevel; // 0x548 + bool m_bCanLearn; // 0x54c private: - [[maybe_unused]] uint8_t __pad053d[0x3]; // 0x53d + [[maybe_unused]] uint8_t __pad054d[0x3]; // 0x54d public: - float m_flUpgradeBlend; // 0x540 - bool m_bUpgradedDuringQuickcastPreview; // 0x544 - bool m_bConsiderOvershootInGetCastRange; // 0x545 + float m_flUpgradeBlend; // 0x550 + bool m_bUpgradedDuringQuickcastPreview; // 0x554 + bool m_bConsiderOvershootInGetCastRange; // 0x555 // MNetworkEnable - bool m_bRefCountsModifiers; // 0x546 + bool m_bRefCountsModifiers; // 0x556 // MNetworkEnable - bool m_bHidden; // 0x547 - bool m_bOldHidden; // 0x548 + bool m_bHidden; // 0x557 + bool m_bOldHidden; // 0x558 // MNetworkEnable - bool m_bActivated; // 0x549 - bool m_bOldActivated; // 0x54a + bool m_bActivated; // 0x559 + bool m_bOldActivated; // 0x55a private: - [[maybe_unused]] uint8_t __pad054b[0x1]; // 0x54b + [[maybe_unused]] uint8_t __pad055b[0x1]; // 0x55b public: // MNetworkEnable - AbilityBarType_t m_nAbilityBarType; // 0x54c + AbilityBarType_t m_nAbilityBarType; // 0x55c // MNetworkEnable // MNetworkChangeCallback "OnDirtyButtonsChanged" - int32_t m_iDirtyButtons; // 0x550 - bool m_bPerformDirtyParity; // 0x554 -private: - [[maybe_unused]] uint8_t __pad0555[0x3]; // 0x555 -public: - // MNetworkEnable - // MNetworkChangeCallback "OnLevelChanged" - // MNetworkPriority "32" - int32_t m_iLevel; // 0x558 - bool m_bAbilityLevelDirty; // 0x55c - // MNetworkEnable - bool m_bToggleState; // 0x55d -private: - [[maybe_unused]] uint8_t __pad055e[0x2]; // 0x55e -public: - // MNetworkEnable - float m_flAbilityMuteDuration; // 0x560 - // MNetworkEnable - // MNetworkPriority "32" - bool m_bInAbilityPhase; // 0x564 + int32_t m_iDirtyButtons; // 0x560 + bool m_bPerformDirtyParity; // 0x564 private: [[maybe_unused]] uint8_t __pad0565[0x3]; // 0x565 public: // MNetworkEnable + // MNetworkChangeCallback "OnLevelChanged" // MNetworkPriority "32" - float m_fCooldown; // 0x568 + int32_t m_iLevel; // 0x568 + bool m_bAbilityLevelDirty; // 0x56c // MNetworkEnable - // MNetworkBitCount "15" - // MNetworkMinValue "0.000000" - // MNetworkMaxValue "1024.000000" - float m_flCooldownLength; // 0x56c + bool m_bToggleState; // 0x56d +private: + [[maybe_unused]] uint8_t __pad056e[0x2]; // 0x56e +public: + // MNetworkEnable + float m_flAbilityMuteDuration; // 0x570 // MNetworkEnable // MNetworkPriority "32" - int32_t m_iManaCost; // 0x570 - // MNetworkEnable - // MNetworkPriority "32" - bool m_bAutoCastState; // 0x574 + bool m_bInAbilityPhase; // 0x574 private: [[maybe_unused]] uint8_t __pad0575[0x3]; // 0x575 public: // MNetworkEnable - GameTime_t m_flChannelStartTime; // 0x578 + // MNetworkPriority "32" + float m_fCooldown; // 0x578 // MNetworkEnable - GameTime_t m_flCastStartTime; // 0x57c - // MNetworkEnable - bool m_bInIndefiniteCooldown; // 0x580 - // MNetworkEnable - bool m_bFrozenCooldown; // 0x581 -private: - [[maybe_unused]] uint8_t __pad0582[0x2]; // 0x582 -public: - // MNetworkEnable - float m_flOverrideCastPoint; // 0x584 - // MNetworkEnable - bool m_bStolen; // 0x588 - // MNetworkEnable - bool m_bStealable; // 0x589 - // MNetworkEnable - bool m_bReplicated; // 0x58a -private: - [[maybe_unused]] uint8_t __pad058b[0x1]; // 0x58b -public: - // MNetworkEnable - int32_t m_nAbilityCurrentCharges; // 0x58c + // MNetworkBitCount "15" + // MNetworkMinValue "0.000000" + // MNetworkMaxValue "1024.000000" + float m_flCooldownLength; // 0x57c // MNetworkEnable // MNetworkPriority "32" - float m_fAbilityChargeRestoreTimeRemaining; // 0x590 + int32_t m_iManaCost; // 0x580 // MNetworkEnable - bool m_bUpgradeRecommended; // 0x594 + // MNetworkPriority "32" + bool m_bAutoCastState; // 0x584 + // MNetworkEnable + // MNetworkPriority "32" + bool m_bAltCastState; // 0x585 private: - [[maybe_unused]] uint8_t __pad0595[0x3]; // 0x595 + [[maybe_unused]] uint8_t __pad0586[0x2]; // 0x586 public: // MNetworkEnable - int32_t m_nMaxLevelOverride; // 0x598 - float m_flLastCastClickTime; // 0x59c + GameTime_t m_flChannelStartTime; // 0x588 + // MNetworkEnable + GameTime_t m_flCastStartTime; // 0x58c + // MNetworkEnable + bool m_bInIndefiniteCooldown; // 0x590 + // MNetworkEnable + bool m_bFrozenCooldown; // 0x591 +private: + [[maybe_unused]] uint8_t __pad0592[0x2]; // 0x592 +public: + // MNetworkEnable + float m_flOverrideCastPoint; // 0x594 + // MNetworkEnable + bool m_bStolen; // 0x598 + // MNetworkEnable + bool m_bStealable; // 0x599 + // MNetworkEnable + bool m_bReplicated; // 0x59a +private: + [[maybe_unused]] uint8_t __pad059b[0x1]; // 0x59b +public: + // MNetworkEnable + int32_t m_nAbilityCurrentCharges; // 0x59c + // MNetworkEnable + // MNetworkPriority "32" + float m_fAbilityChargeRestoreTimeRemaining; // 0x5a0 + // MNetworkEnable + bool m_bUpgradeRecommended; // 0x5a4 +private: + [[maybe_unused]] uint8_t __pad05a5[0x3]; // 0x5a5 +public: + // MNetworkEnable + int32_t m_nMaxLevelOverride; // 0x5a8 + float m_flLastCastClickTime; // 0x5ac }; -// Alignment: 46 -// Size: 0x630 +// Alignment: 47 +// Size: 0x648 class C_DOTA_Item : public C_DOTABaseAbility { public: // MNetworkEnable - bool m_bCombinable; // 0x5a0 + bool m_bCombinable; // 0x5b0 // MNetworkEnable // MNetworkPriority "32" - bool m_bPermanent; // 0x5a1 + bool m_bPermanent; // 0x5b1 // MNetworkEnable // MNetworkPriority "32" - bool m_bStackable; // 0x5a2 + bool m_bStackable; // 0x5b2 private: - [[maybe_unused]] uint8_t __pad05a3[0x1]; // 0x5a3 + [[maybe_unused]] uint8_t __pad05b3[0x1]; // 0x5b3 public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_iStackableMax; // 0x5a4 + int32_t m_iStackableMax; // 0x5b4 // MNetworkEnable - bool m_bRecipe; // 0x5a8 + bool m_bRecipe; // 0x5b8 // MNetworkEnable - bool m_bRecipeConsumesCharges; // 0x5a9 + bool m_bRecipeConsumesCharges; // 0x5b9 private: - [[maybe_unused]] uint8_t __pad05aa[0x2]; // 0x5aa + [[maybe_unused]] uint8_t __pad05ba[0x2]; // 0x5ba public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_iSharability; // 0x5ac + int32_t m_iSharability; // 0x5bc // MNetworkEnable - bool m_bDroppable; // 0x5b0 + bool m_bDroppable; // 0x5c0 // MNetworkEnable - bool m_bPurchasable; // 0x5b1 + bool m_bPurchasable; // 0x5c1 // MNetworkEnable - bool m_bSellable; // 0x5b2 + bool m_bSellable; // 0x5c2 // MNetworkEnable - bool m_bInitiallySellable; // 0x5b3 + bool m_bInitiallySellable; // 0x5c3 // MNetworkEnable - bool m_bForceUnsellable; // 0x5b4 + bool m_bForceUnsellable; // 0x5c4 // MNetworkEnable - bool m_bRequiresCharges; // 0x5b5 - bool m_bDisplayCharges; // 0x5b6 - bool m_bHideCharges; // 0x5b7 + bool m_bRequiresCharges; // 0x5c5 + bool m_bDisplayCharges; // 0x5c6 + bool m_bHideCharges; // 0x5c7 // MNetworkEnable - bool m_bKillable; // 0x5b8 + bool m_bKillable; // 0x5c8 // MNetworkEnable - bool m_bGloballyCombinable; // 0x5b9 + bool m_bGloballyCombinable; // 0x5c9 // MNetworkEnable - bool m_bDisassemblable; // 0x5ba + bool m_bDisassemblable; // 0x5ca // MNetworkEnable - bool m_bIsNeutralDrop; // 0x5bb + bool m_bIsNeutralDrop; // 0x5cb // MNetworkEnable - int32_t m_nNeutralDropTeam; // 0x5bc + int32_t m_nNeutralDropTeam; // 0x5cc // MNetworkEnable - bool m_bAlertable; // 0x5c0 + bool m_bAlertable; // 0x5d0 private: - [[maybe_unused]] uint8_t __pad05c1[0x3]; // 0x5c1 + [[maybe_unused]] uint8_t __pad05d1[0x3]; // 0x5d1 public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_iInitialCharges; // 0x5c4 + int32_t m_iInitialCharges; // 0x5d4 // MNetworkEnable - bool m_bCastOnPickup; // 0x5c8 + bool m_bCastOnPickup; // 0x5d8 // MNetworkEnable - bool m_bOnlyPlayerHeroPickup; // 0x5c9 + bool m_bOnlyPlayerHeroPickup; // 0x5d9 // MNetworkEnable - bool m_bCreepHeroPickup; // 0x5ca + bool m_bCreepHeroPickup; // 0x5da private: - [[maybe_unused]] uint8_t __pad05cb[0x1]; // 0x5cb + [[maybe_unused]] uint8_t __pad05db[0x1]; // 0x5db public: // MNetworkEnable - int32_t m_iValuelessCharges; // 0x5cc + int32_t m_iValuelessCharges; // 0x5dc // MNetworkEnable // MNetworkPriority "32" - int32_t m_iCurrentCharges; // 0x5d0 + int32_t m_iCurrentCharges; // 0x5e0 // MNetworkEnable - int32_t m_iSecondaryCharges; // 0x5d4 + int32_t m_iSecondaryCharges; // 0x5e4 // MNetworkEnable - bool m_bCombineLocked; // 0x5d8 + int32_t m_iMaxCharges; // 0x5e8 + // MNetworkEnable + bool m_bCombineLocked; // 0x5ec private: - [[maybe_unused]] uint8_t __pad05d9[0x3]; // 0x5d9 + [[maybe_unused]] uint8_t __pad05ed[0x3]; // 0x5ed public: // MNetworkEnable // MNetworkPriority "32" - GameTime_t m_flPurchaseTime; // 0x5dc + GameTime_t m_flPurchaseTime; // 0x5f0 // MNetworkEnable // MNetworkPriority "32" - GameTime_t m_flAssembledTime; // 0x5e0 + GameTime_t m_flAssembledTime; // 0x5f4 // MNetworkEnable - bool m_bPurchasedWhileDead; // 0x5e4 + bool m_bPurchasedWhileDead; // 0x5f8 // MNetworkEnable - bool m_bCanBeUsedOutOfInventory; // 0x5e5 + bool m_bCanBeUsedOutOfInventory; // 0x5f9 // MNetworkEnable - bool m_bItemEnabled; // 0x5e6 + bool m_bItemEnabled; // 0x5fa private: - [[maybe_unused]] uint8_t __pad05e7[0x1]; // 0x5e7 + [[maybe_unused]] uint8_t __pad05fb[0x1]; // 0x5fb public: // MNetworkEnable // MNetworkPriority "32" - GameTime_t m_flEnableTime; // 0x5e8 + GameTime_t m_flEnableTime; // 0x5fc // MNetworkEnable - GameTime_t m_flReclaimTime; // 0x5ec + GameTime_t m_flReclaimTime; // 0x600 // MNetworkEnable - bool m_bDisplayOwnership; // 0x5f0 + bool m_bDisplayOwnership; // 0x604 // MNetworkEnable - bool m_bShowOnMinimap; // 0x5f1 + bool m_bShowOnMinimap; // 0x605 private: - [[maybe_unused]] uint8_t __pad05f2[0x2]; // 0x5f2 + [[maybe_unused]] uint8_t __pad0606[0x2]; // 0x606 public: // MNetworkEnable - float m_flMinimapIconSize; // 0x5f4 + float m_flMinimapIconSize; // 0x608 // MNetworkEnable - bool m_bIsUpgradeable; // 0x5f8 + bool m_bIsUpgradeable; // 0x60c private: - [[maybe_unused]] uint8_t __pad05f9[0x3]; // 0x5f9 + [[maybe_unused]] uint8_t __pad060d[0x3]; // 0x60d public: // MNetworkEnable - int32_t m_nUpgradeProgress; // 0x5fc + int32_t m_nUpgradeProgress; // 0x610 // MNetworkEnable - int32_t m_nUpgradeGoal; // 0x600 - CHandle< C_BaseEntity > m_hOldOwnerEntity; // 0x604 - int32_t m_iOldCharges; // 0x608 + int32_t m_nUpgradeGoal; // 0x614 + CHandle< C_BaseEntity > m_hOldOwnerEntity; // 0x618 + int32_t m_iOldCharges; // 0x61c // MNetworkEnable - PlayerID_t m_iPlayerOwnerID; // 0x60c + PlayerID_t m_iPlayerOwnerID; // 0x620 +private: + [[maybe_unused]] uint8_t __pad0624[0x4]; // 0x624 +public: // MNetworkEnable - C_NetworkUtlVectorBase< uint8 > m_vecPreGameTransferPlayerIDs; // 0x610 + C_NetworkUtlVectorBase< uint8 > m_vecPreGameTransferPlayerIDs; // 0x628 }; // Alignment: 4 @@ -34760,57 +35486,57 @@ public: }; // Alignment: 25 -// Size: 0x32d8 +// Size: 0x32b8 class C_DOTA_PlayerResource : public C_BaseEntity { private: - [[maybe_unused]] uint8_t __pad0528[0x10]; // 0x528 + [[maybe_unused]] uint8_t __pad0538[0x10]; // 0x538 public: - bool m_bWasDataUpdateCreated; // 0x538 + bool m_bWasDataUpdateCreated; // 0x548 private: - [[maybe_unused]] uint8_t __pad0539[0x7]; // 0x539 + [[maybe_unused]] uint8_t __pad0549[0x7]; // 0x549 public: // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< PlayerResourcePlayerTeamData_t > m_vecPlayerTeamData; // 0x540 + C_UtlVectorEmbeddedNetworkVar< PlayerResourcePlayerTeamData_t > m_vecPlayerTeamData; // 0x550 // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< PlayerResourcePlayerData_t > m_vecPlayerData; // 0x590 + C_UtlVectorEmbeddedNetworkVar< PlayerResourcePlayerData_t > m_vecPlayerData; // 0x5a0 // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< PlayerResourceBroadcasterData_t > m_vecBrodcasterData; // 0x5e0 + C_UtlVectorEmbeddedNetworkVar< PlayerResourceBroadcasterData_t > m_vecBrodcasterData; // 0x5f0 // MNetworkEnable - C_NetworkUtlVectorBase< uint32 > m_vecEventsForDisplay; // 0x630 + C_NetworkUtlVectorBase< uint32 > m_vecEventsForDisplay; // 0x640 // MNetworkEnable - int8_t m_nPrimaryEventIndex; // 0x648 + int8_t m_nPrimaryEventIndex; // 0x658 private: - [[maybe_unused]] uint8_t __pad0649[0x3]; // 0x649 + [[maybe_unused]] uint8_t __pad0659[0x3]; // 0x659 public: // MNetworkEnable // MNetworkChangeCallback "OnObsoletePrimaryEventChanged" // MNetworkAlias "m_nEventIDAssociatedWithEventData" - uint32_t m_nObsoleteEventIDAssociatedWithEventData; // 0x64c - CHandle< C_BaseEntity > m_playerIDToPlayer[64]; // 0x650 - CUtlSymbolLarge m_iszName[64]; // 0x750 - CUtlSymbolLarge m_iszHTMLSafeName[64]; // 0x950 - CUtlSymbolLarge m_iszFilteredHTMLSafeName[64]; // 0xb50 + uint32_t m_nObsoleteEventIDAssociatedWithEventData; // 0x65c + CHandle< C_BaseEntity > m_playerIDToPlayer[64]; // 0x660 + CUtlSymbolLarge m_iszName[64]; // 0x760 + CUtlSymbolLarge m_iszHTMLSafeName[64]; // 0x960 + CUtlSymbolLarge m_iszFilteredHTMLSafeName[64]; // 0xb60 private: - [[maybe_unused]] uint8_t __pad0d50[0x1800]; // 0xd50 + [[maybe_unused]] uint8_t __pad0d60[0x1800]; // 0xd60 public: - bool m_bDirtySuggestedItems; // 0x2550 - bool m_bDirtyEstimatedMatchDuration; // 0x2551 - bool m_bDirtySelection; // 0x2552 - bool m_bHasWorldTreesChanged; // 0x2553 - bool m_bWorldTreeModelsChanged; // 0x2554 - bool m_bSwapWillingness[24]; // 0x2555 + bool m_bDirtySuggestedItems; // 0x2560 + bool m_bDirtyEstimatedMatchDuration; // 0x2561 + bool m_bDirtySelection; // 0x2562 + bool m_bHasWorldTreesChanged; // 0x2563 + bool m_bWorldTreeModelsChanged; // 0x2564 + bool m_bSwapWillingness[24]; // 0x2565 private: - [[maybe_unused]] uint8_t __pad256d[0x43]; // 0x256d + [[maybe_unused]] uint8_t __pad257d[0x43]; // 0x257d public: - 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 + CUtlVector< CHandle< C_DOTA_Unit_Courier > > m_hTeamCouriers[15]; // 0x25c0 + CUtlVector< CHandle< C_DOTA_Unit_Courier > > m_hPlayerCouriers[64]; // 0x2728 + CUtlVector< uint32 > m_vecOnstageHomeTeams; // 0x2d28 + PlayerSeatAssignment_t* m_pPlayerIDToOnstageSlot[24]; // 0x2d40 + CUtlVector< PlayerSeatAssignment_t > m_vecOnstagePlayerSeats; // 0x2e00 + int32_t m_nEventNPCReplaced; // 0x2e18 + int32_t m_nEventPlayerInfo; // 0x2e1c + int32_t m_nInventoryUpdated; // 0x2e20 }; // Alignment: 8 @@ -34955,7 +35681,7 @@ public: int32_t m_nEntIndex; // 0x34 }; -// Alignment: 76 +// Alignment: 75 // Size: 0x1d8 struct PlayerResourcePlayerTeamData_t { @@ -35000,58 +35726,53 @@ public: // MNetworkChangeCallback "OnSelectionDirty" bool m_bBanSuggestedHeroes[4]; // 0xc0 // MNetworkEnable - bool m_bVoiceChatBanned; // 0xc4 + item_definition_index_t m_iTimedRewardDrops; // 0xc4 + // MNetworkEnable + int32_t m_iTimedRewardDropOrigins; // 0xc8 + // MNetworkEnable + item_definition_index_t m_iTimedRewardCrates; // 0xcc + // MNetworkEnable + item_definition_index_t m_iTimedRewardEvents; // 0xd0 + // MNetworkEnable + uint16_t m_unCompendiumLevel; // 0xd4 + // MNetworkEnable + bool m_bCanRepick; // 0xd6 + // MNetworkEnable + bool m_bCanEarnRewards; // 0xd7 + // MNetworkEnable + bool m_bHasRandomed; // 0xd8 private: - [[maybe_unused]] uint8_t __pad00c5[0x3]; // 0xc5 + [[maybe_unused]] uint8_t __pad00d9[0x3]; // 0xd9 public: // MNetworkEnable - item_definition_index_t m_iTimedRewardDrops; // 0xc8 + int32_t m_nRandomedHeroID; // 0xdc // MNetworkEnable - int32_t m_iTimedRewardDropOrigins; // 0xcc - // MNetworkEnable - item_definition_index_t m_iTimedRewardCrates; // 0xd0 - // MNetworkEnable - item_definition_index_t m_iTimedRewardEvents; // 0xd4 - // MNetworkEnable - uint16_t m_unCompendiumLevel; // 0xd8 - // MNetworkEnable - bool m_bCanRepick; // 0xda - // MNetworkEnable - bool m_bCanEarnRewards; // 0xdb - // MNetworkEnable - bool m_bHasRandomed; // 0xdc + bool m_bBattleBonusActive; // 0xe0 private: - [[maybe_unused]] uint8_t __pad00dd[0x3]; // 0xdd + [[maybe_unused]] uint8_t __pad00e1[0x1]; // 0xe1 public: // MNetworkEnable - int32_t m_nRandomedHeroID; // 0xe0 + uint16_t m_iBattleBonusRate; // 0xe2 // MNetworkEnable - bool m_bBattleBonusActive; // 0xe4 + int32_t m_iCustomBuybackCost; // 0xe4 + // MNetworkEnable + Color m_CustomPlayerColor; // 0xe8 + // MNetworkEnable + bool m_bQualifiesForPAContractReward; // 0xec + // MNetworkEnable + bool m_bHasPredictedVictory; // 0xed private: - [[maybe_unused]] uint8_t __pad00e5[0x1]; // 0xe5 + [[maybe_unused]] uint8_t __pad00ee[0x2]; // 0xee public: // MNetworkEnable - uint16_t m_iBattleBonusRate; // 0xe6 - // MNetworkEnable - int32_t m_iCustomBuybackCost; // 0xe8 - // MNetworkEnable - Color m_CustomPlayerColor; // 0xec - // MNetworkEnable - bool m_bQualifiesForPAContractReward; // 0xf0 - // MNetworkEnable - bool m_bHasPredictedVictory; // 0xf1 -private: - [[maybe_unused]] uint8_t __pad00f2[0x2]; // 0xf2 -public: - // MNetworkEnable - int32_t m_UnitShareMasks; // 0xf4 + int32_t m_UnitShareMasks; // 0xf0 // MNetworkEnable // MNetworkChangeCallback "OnTeamChanged" - int32_t m_iTeamSlot; // 0xf8 + int32_t m_iTeamSlot; // 0xf4 // MNetworkEnable - uint8_t m_iBattleCupWinStreak; // 0xfc + uint8_t m_iBattleCupWinStreak; // 0xf8 private: - [[maybe_unused]] uint8_t __pad00fd[0x3]; // 0xfd + [[maybe_unused]] uint8_t __pad00f9[0x7]; // 0xf9 public: // MNetworkEnable uint64_t m_iBattleCupWinDate; // 0x100 @@ -35184,8 +35905,8 @@ public: uint32_t m_iObsoleteSaluteAmounts; // 0x1d4 }; -// Alignment: 28 -// Size: 0xd8 +// Alignment: 31 +// Size: 0xe8 struct PlayerResourcePlayerData_t { private: @@ -35272,6 +35993,15 @@ public: bool m_bHasNeutralTier[5]; // 0xcd // MNetworkEnable bool m_bHasRedeemedNeutralTier[5]; // 0xd2 +private: + [[maybe_unused]] uint8_t __pad00d7[0x1]; // 0xd7 +public: + // MNetworkEnable + int32_t m_nCommLevel; // 0xd8 + // MNetworkEnable + int32_t m_nBehaviorLevel; // 0xdc + // MNetworkEnable + float m_flLastCommsTime; // 0xe0 }; // Alignment: 3 @@ -35502,65 +36232,65 @@ public: }; // Alignment: 22 -// Size: 0x1440 +// Size: 0x1450 class C_DOTA_DataNonSpectator : public C_BaseEntity { public: // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< DataTeamPlayer_t > m_vecDataTeam; // 0x528 + C_UtlVectorEmbeddedNetworkVar< DataTeamPlayer_t > m_vecDataTeam; // 0x538 // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "OnTeamWorldTreeStateChanged" - uint64_t m_bWorldTreeState[256]; // 0x578 + uint64_t m_bWorldTreeState[256]; // 0x588 // MNetworkEnable // MNetworkChangeCallback "OnTeamWorldTreeModelsChanged" - C_UtlVectorEmbeddedNetworkVar< TreeModelReplacement_t > m_vecWorldTreeModelReplacements; // 0xd78 + C_UtlVectorEmbeddedNetworkVar< TreeModelReplacement_t > m_vecWorldTreeModelReplacements; // 0xd88 // MNetworkEnable - Vector2D m_vDesiredWardPlacement[2]; // 0xdc8 + Vector2D m_vDesiredWardPlacement[2]; // 0xdd8 // MNetworkEnable - int32_t m_nEnemyStartingPosition[5]; // 0xdd8 + int32_t m_nEnemyStartingPosition[5]; // 0xde8 // MNetworkEnable - int32_t m_nTotalEventPoints; // 0xdec + int32_t m_nTotalEventPoints; // 0xdfc // MNetworkEnable - int32_t m_nCaptainInspectedHeroID; // 0xdf0 + int32_t m_nCaptainInspectedHeroID; // 0xe00 // MNetworkEnable - int32_t m_nFeaturedPlayerID; // 0xdf4 + int32_t m_nFeaturedPlayerID; // 0xe04 // MNetworkEnable - float m_flSuggestedWardWeights[20]; // 0xdf8 + float m_flSuggestedWardWeights[20]; // 0xe08 // MNetworkEnable - uint8_t m_nSuggestedWardIndexes[20]; // 0xe48 + uint8_t m_nSuggestedWardIndexes[20]; // 0xe58 // MNetworkEnable - int32_t m_iSuggestedLanes[5]; // 0xe5c + int32_t m_iSuggestedLanes[5]; // 0xe6c // MNetworkEnable - float m_iSuggestedLaneWeights[5]; // 0xe70 + float m_iSuggestedLaneWeights[5]; // 0xe80 // MNetworkEnable - bool m_bSuggestedLaneRoam[5]; // 0xe84 + bool m_bSuggestedLaneRoam[5]; // 0xe94 // MNetworkEnable - bool m_bSuggestedLaneJungle[5]; // 0xe89 + bool m_bSuggestedLaneJungle[5]; // 0xe99 private: - [[maybe_unused]] uint8_t __pad0e8e[0x2]; // 0xe8e + [[maybe_unused]] uint8_t __pad0e9e[0x2]; // 0xe9e public: // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< TierNeutralInfo_t > m_vecNeutralItemsTierInfo; // 0xe90 + C_UtlVectorEmbeddedNetworkVar< TierNeutralInfo_t > m_vecNeutralItemsTierInfo; // 0xea0 // MNetworkEnable - C_NetworkUtlVectorBase< AbilityID_t > m_vecNeutralItemsEarned; // 0xee0 + C_NetworkUtlVectorBase< AbilityID_t > m_vecNeutralItemsEarned; // 0xef0 // MNetworkEnable // MNetworkChangeCallback "OnTeamNeutralStashItemsChanged" - C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_vecNeutralStashItems; // 0xef8 + C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_vecNeutralStashItems; // 0xf08 // MNetworkEnable - C_NetworkUtlVectorBase< AbilityID_t > m_vecNeutralItemsConsumed; // 0xf10 + C_NetworkUtlVectorBase< AbilityID_t > m_vecNeutralItemsConsumed; // 0xf20 // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< PingConfirmationState_t > m_PingConfirmationStates; // 0xf28 + C_UtlVectorEmbeddedNetworkVar< PingConfirmationState_t > m_PingConfirmationStates; // 0xf38 // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_vecKnownClearCamps; // 0xf78 + C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_vecKnownClearCamps; // 0xf88 // MNetworkEnable - Vector2D m_vPossibleWardPlacement[100]; // 0xf90 + Vector2D m_vPossibleWardPlacement[100]; // 0xfa0 // MNetworkEnable - float m_vPossibleWardRadii[100]; // 0x12b0 + float m_vPossibleWardRadii[100]; // 0x12c0 }; // Alignment: 0 -// Size: 0x1440 +// Size: 0x1450 class C_DOTA_DataRadiant : public C_DOTA_DataNonSpectator { public: @@ -35568,7 +36298,7 @@ public: }; // Alignment: 0 -// Size: 0x1440 +// Size: 0x1450 class C_DOTA_DataDire : public C_DOTA_DataNonSpectator { public: @@ -35576,7 +36306,7 @@ public: }; // Alignment: 0 -// Size: 0x1440 +// Size: 0x1450 class C_DOTA_DataCustomTeam : public C_DOTA_DataNonSpectator { public: @@ -35584,110 +36314,112 @@ public: }; // Alignment: 18 -// Size: 0x17b8 +// Size: 0x17c8 class C_DOTA_DataSpectator : public C_DOTA_DataNonSpectator { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hPowerupRune_1; // 0x1440 + CHandle< C_BaseEntity > m_hPowerupRune_1; // 0x1450 // MNetworkEnable - CHandle< C_BaseEntity > m_hPowerupRune_2; // 0x1444 + CHandle< C_BaseEntity > m_hPowerupRune_2; // 0x1454 // MNetworkEnable - CHandle< C_BaseEntity > m_hBountyRune_1; // 0x1448 + CHandle< C_BaseEntity > m_hBountyRune_1; // 0x1458 // MNetworkEnable - CHandle< C_BaseEntity > m_hBountyRune_2; // 0x144c + CHandle< C_BaseEntity > m_hBountyRune_2; // 0x145c // MNetworkEnable - CHandle< C_BaseEntity > m_hBountyRune_3; // 0x1450 + CHandle< C_BaseEntity > m_hBountyRune_3; // 0x1460 // MNetworkEnable - CHandle< C_BaseEntity > m_hBountyRune_4; // 0x1454 + CHandle< C_BaseEntity > m_hBountyRune_4; // 0x1464 // MNetworkEnable - CHandle< C_BaseEntity > m_hXPRune_1; // 0x1458 + CHandle< C_BaseEntity > m_hXPRune_1; // 0x1468 // MNetworkEnable - CHandle< C_BaseEntity > m_hXPRune_2; // 0x145c + CHandle< C_BaseEntity > m_hXPRune_2; // 0x146c // MNetworkEnable - int32_t m_iNetWorth[24]; // 0x1460 + int32_t m_iNetWorth[24]; // 0x1470 // MNetworkEnable - float m_fRadiantWinProbability; // 0x14c0 + float m_fRadiantWinProbability; // 0x14d0 // MNetworkEnable - int32_t m_iGoldSpentOnSupport[24]; // 0x14c4 + int32_t m_iGoldSpentOnSupport[24]; // 0x14d4 // MNetworkEnable - int32_t m_iHeroDamage[24]; // 0x1524 + int32_t m_iHeroDamage[24]; // 0x1534 // MNetworkEnable - int32_t m_nWardsPurchased[24]; // 0x1584 + int32_t m_nWardsPurchased[24]; // 0x1594 // MNetworkEnable - int32_t m_nWardsPlaced[24]; // 0x15e4 + int32_t m_nWardsPlaced[24]; // 0x15f4 // MNetworkEnable - int32_t m_nWardsDestroyed[24]; // 0x1644 + int32_t m_nWardsDestroyed[24]; // 0x1654 // MNetworkEnable - int32_t m_nRunesActivated[24]; // 0x16a4 + int32_t m_nRunesActivated[24]; // 0x16b4 // MNetworkEnable - int32_t m_nCampsStacked[24]; // 0x1704 + int32_t m_nCampsStacked[24]; // 0x1714 private: - [[maybe_unused]] uint8_t __pad1764[0x4]; // 0x1764 + [[maybe_unused]] uint8_t __pad1774[0x4]; // 0x1774 public: // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< DOTAThreatLevelInfo_t > m_ThreatLevelInfos; // 0x1768 + C_UtlVectorEmbeddedNetworkVar< DOTAThreatLevelInfo_t > m_ThreatLevelInfos; // 0x1778 }; // Alignment: 4 -// Size: 0xdc0 +// Size: 0xde0 class CBasePortraitData { private: - [[maybe_unused]] uint8_t __pad0000[0x3f0]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x410]; // 0x0 public: - CStrongHandle< InfoForResourceTypeCModel > m_iModelIndex; // 0x3f0 - CUtlStringToken m_skin; // 0x3f8 + CStrongHandle< InfoForResourceTypeCModel > m_iModelIndex; // 0x410 + CUtlStringToken m_skin; // 0x418 private: - [[maybe_unused]] uint8_t __pad03fc[0x9a0]; // 0x3fc + [[maybe_unused]] uint8_t __pad041c[0x9a0]; // 0x41c public: - bool m_bHasSetupView; // 0xd9c + bool m_bHasSetupView; // 0xdbc private: - [[maybe_unused]] uint8_t __pad0d9d[0x1b]; // 0xd9d + [[maybe_unused]] uint8_t __pad0dbd[0x1b]; // 0xdbd public: - float m_flRotation; // 0xdb8 + float m_flRotation; // 0xdd8 }; // Alignment: 2 -// Size: 0xdf0 +// Size: 0xe10 class CPortraitData : public CBasePortraitData { public: - CUtlVector< CHandle< C_BaseEntity > > m_RenderList; // 0xdc0 - CHandle< C_BaseEntity > m_hHero; // 0xdd8 + CUtlVector< CHandle< C_BaseEntity > > m_RenderList; // 0xde0 + CHandle< C_BaseEntity > m_hHero; // 0xdf8 }; // Alignment: 0 -// Size: 0x530 +// Size: 0x540 class C_CaptureCallbackHandler : public C_BaseEntity { public: // No members available }; -// Alignment: 11 -// Size: 0x58 +// Alignment: 13 +// Size: 0x60 class C_DOTA_TrackingProjectileInfo { public: int32_t m_iHandle; // 0x0 - int32_t m_iMoveSpeed; // 0x4 - Vector m_vLocation; // 0x8 - CHandle< C_BaseEntity > m_hSource; // 0x14 - CHandle< C_BaseEntity > m_hTarget; // 0x18 - Vector m_vTargetLocation; // 0x1c - bool m_bDodgeable; // 0x28 - bool m_bIsAttack; // 0x29 - bool m_bIsEvaded; // 0x2a + int32_t m_iOriginalMoveSpeed; // 0x4 + int32_t m_iMoveSpeed; // 0x8 + Vector m_vLocation; // 0xc + CHandle< C_BaseEntity > m_hSource; // 0x18 + CHandle< C_BaseEntity > m_hTarget; // 0x1c + CHandle< C_BaseEntity > m_hAbility; // 0x20 + Vector m_vTargetLocation; // 0x24 + bool m_bDodgeable; // 0x30 + bool m_bIsAttack; // 0x31 + bool m_bIsEvaded; // 0x32 private: - [[maybe_unused]] uint8_t __pad002b[0x1]; // 0x2b + [[maybe_unused]] uint8_t __pad0033[0x1]; // 0x33 public: - GameTime_t m_flExpireTime; // 0x2c - GameTime_t m_flMaxImpactTime; // 0x30 + GameTime_t m_flExpireTime; // 0x34 + GameTime_t m_flMaxImpactTime; // 0x38 }; -// Alignment: 10 -// Size: 0x90 +// Alignment: 12 +// Size: 0xa0 class C_DOTA_LinearProjectileInfo { private: @@ -35697,15 +36429,17 @@ public: int32_t m_iHandle; // 0x40 Vector m_vInitPosition; // 0x44 Vector m_vPosition; // 0x50 - Vector m_vVelocity; // 0x5c - Vector m_vAcceleration; // 0x68 - float m_flMaxSpeed; // 0x74 - float m_flFowRadius; // 0x78 - bool m_bStickyFoWReveal; // 0x7c + Vector m_vOriginalVelocity; // 0x5c + Vector m_vVelocity; // 0x68 + Vector m_vAcceleration; // 0x74 + float m_flMaxSpeed; // 0x80 + float m_flFowRadius; // 0x84 + bool m_bStickyFoWReveal; // 0x88 private: - [[maybe_unused]] uint8_t __pad007d[0x3]; // 0x7d + [[maybe_unused]] uint8_t __pad0089[0x3]; // 0x89 public: - float m_flDistance; // 0x80 + float m_flDistance; // 0x8c + CHandle< C_BaseEntity > m_hSource; // 0x90 }; // Alignment: 100 @@ -35839,7 +36573,7 @@ public: }; // Alignment: 0 -// Size: 0x8f8 +// Size: 0x908 class C_DOTA_LightInfo : public C_BaseEntity { public: @@ -35875,7 +36609,6 @@ public: // MPropertyDescription "How many candy does it cost for one of these rewards" uint32_t m_unCandyPrice; // 0x18 // MPropertyDescription "how should rewards for this option be generated?" - // MPropertyAttributeChoiceEnumName ECandyShopRewardOptionType m_eOptionType; // 0x1c // MPropertyDescription "For k_eCandyShopRewardOptionType_SingleItem, what is the item def." // MPropertySuppressExpr "m_eOptionType != k_eCandyShopRewardOptionType_SingleItem" @@ -35888,7 +36621,6 @@ public: CUtlString m_sLootList; // 0x28 // MPropertyDescription "For k_eCandyShopRewardOptionType_SingleEventAction, what is the event id for the action." // MPropertySuppressExpr "m_eOptionType != k_eCandyShopRewardOptionType_SingleEventAction && m_eOptionType != k_eCandyShopRewardOptionType_EventPoints" - // MPropertyAttributeChoiceEnumName EEvent m_eEvent; // 0x30 // MPropertyDescription "For k_eCandyShopRewardOptionType_SingleEventAction, what is the action id for the action." // MPropertySuppressExpr "m_eOptionType != k_eCandyShopRewardOptionType_SingleEventAction" @@ -35949,7 +36681,6 @@ private: [[maybe_unused]] uint8_t __pad0047[0x1]; // 0x47 public: // MPropertyDescription "After this event expires, you can no longer interact with this candy shop." - // MPropertyAttributeChoiceEnumName EEvent m_eExpireEvent; // 0x48 private: [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c @@ -35959,58 +36690,189 @@ public: CUtlVector< CandyShopRewardOption_t > m_vecDefaultRewardOptions; // 0x80 }; +// Alignment: 1 +// Size: 0x2 +struct FantasyLeagueID_t +{ +public: + uint16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("FantasyLeagueID_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x1 +struct FantasyTabletID_t +{ +public: + uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("FantasyTabletID_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x1 +struct FantasyGemSlot_t +{ +public: + uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("FantasyGemSlot_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x1 +struct FantasyGemShape_t +{ +public: + uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("FantasyGemShape_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x1 +struct FantasyGemQuality_t +{ +public: + uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("FantasyGemQuality_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x1 +struct FantasyTitle_t +{ +public: + uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("FantasyTitle_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x2 +struct FantasyCraftDataID_t +{ +public: + uint16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("FantasyCraftDataID_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x2 +struct FantasyOperationID_t +{ +public: + uint16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("FantasyOperationID_t")->m_static_fields[0]->m_instance);}; +}; + // Alignment: 0 -// Size: 0x530 +// Size: 0x540 class C_PortraitWorldCallbackHandler : public C_BaseEntity { public: // No members available }; +// Alignment: 11 +// Size: 0x30 +struct PortraitWorldLightConfig_t +{ +public: + CUtlString m_strName; // 0x0 + float m_flLatitude; // 0x8 + float m_flLongitude; // 0xc + float m_flIntensity; // 0x10 + float m_flAdditionalRadius; // 0x14 + float m_flSpotFov; // 0x18 + float m_flAnimatedNoiseFrequency; // 0x1c + float m_flAnimatedNoiseMinValue; // 0x20 + Color m_color; // 0x24 + bool m_bShowGizmos; // 0x28 + bool m_bShadows; // 0x29 +}; + // Alignment: 9 -// Size: 0x578 +// Size: 0x588 class CDOTA_DB_Page_StickerEntity : public C_BaseEntity { public: - bool m_bIsPlaced; // 0x528 + bool m_bIsPlaced; // 0x538 private: - [[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529 + [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 public: - item_definition_index_t m_ItemDefinitionIndex; // 0x52c + item_definition_index_t m_ItemDefinitionIndex; // 0x53c private: - [[maybe_unused]] uint8_t __pad0530[0xc]; // 0x530 + [[maybe_unused]] uint8_t __pad0540[0xc]; // 0x540 public: - float m_flStickerScale; // 0x53c - uint16_t m_unDepthBias; // 0x540 + float m_flStickerScale; // 0x54c + uint16_t m_unDepthBias; // 0x550 private: - [[maybe_unused]] uint8_t __pad0542[0x2]; // 0x542 + [[maybe_unused]] uint8_t __pad0552[0x2]; // 0x552 public: - int32_t m_nStickerNumber; // 0x544 - int32_t m_nDbPageNumber; // 0x548 - bool m_bVisible; // 0x54c + int32_t m_nStickerNumber; // 0x554 + int32_t m_nDbPageNumber; // 0x558 + bool m_bVisible; // 0x55c private: - [[maybe_unused]] uint8_t __pad054d[0x23]; // 0x54d + [[maybe_unused]] uint8_t __pad055d[0x23]; // 0x55d public: - uint32_t m_hDecalSpawnGroupHandle; // 0x570 - uint32_t m_hDynamicPropSpawnGroupHandle; // 0x574 + uint32_t m_hDecalSpawnGroupHandle; // 0x580 + uint32_t m_hDynamicPropSpawnGroupHandle; // 0x584 +}; + +// Alignment: 1 +// Size: 0x8 +struct SZooSetAnnotation_t +{ +public: + CUtlString m_strSetTag; // 0x0 }; // Alignment: 2 -// Size: 0x1358 +// Size: 0x20 +struct SZooSetAnnotations_t +{ +public: + CUtlString m_strSetName; // 0x0 + CUtlVector< SZooSetAnnotation_t > m_annotations; // 0x8 +}; + +// Alignment: 1 +// Size: 0x18 +struct SZooSetAnnotationsConfig_t +{ +public: + CUtlVector< SZooSetAnnotations_t > m_allAnnotations; // 0x0 +}; + +// Alignment: 2 +// Size: 0x1368 class C_SpeechBubbleManager : public C_BaseEntity { public: // MNetworkEnable // MNetworkTypeAlias "m_SpeechBubbles" - C_UtlVectorEmbeddedNetworkVar< C_SpeechBubbleInfo > m_SpeechBubbles; // 0x528 + C_UtlVectorEmbeddedNetworkVar< C_SpeechBubbleInfo > m_SpeechBubbles; // 0x538 private: - [[maybe_unused]] uint8_t __pad0a88[0x840]; // 0xa88 + [[maybe_unused]] uint8_t __pad0a98[0x840]; // 0xa98 public: - uint32_t m_nLastCountInQueue[4]; // 0x12c8 + uint32_t m_nLastCountInQueue[4]; // 0x12d8 }; // Alignment: 0 -// Size: 0x528 +// Size: 0x538 class C_FoWBlockerEntity : public C_BaseEntity { public: @@ -36018,12 +36880,12 @@ public: }; // Alignment: 2 -// Size: 0x530 +// Size: 0x540 class C_FoWRevealerEntity : public C_BaseEntity { public: - uint32_t m_unViewerTeam; // 0x528 - int32_t m_nVisionRange; // 0x52c + uint32_t m_unViewerTeam; // 0x538 + int32_t m_nVisionRange; // 0x53c }; // Alignment: 6 @@ -36048,26 +36910,26 @@ public: }; // Alignment: 6 -// Size: 0x590 +// Size: 0x5a0 class CFoWBlockerRegion : public C_BaseEntity { public: // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< FowBlocker_t > m_vecFowBlockers; // 0x528 + C_UtlVectorEmbeddedNetworkVar< FowBlocker_t > m_vecFowBlockers; // 0x538 // MNetworkEnable - float m_flMinX; // 0x578 + float m_flMinX; // 0x588 // MNetworkEnable - float m_flMaxX; // 0x57c + float m_flMaxX; // 0x58c // MNetworkEnable - float m_flMinY; // 0x580 + float m_flMinY; // 0x590 // MNetworkEnable - float m_flMaxY; // 0x584 + float m_flMaxY; // 0x594 // MNetworkEnable - float m_flGridSize; // 0x588 + float m_flGridSize; // 0x598 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AttributeBonus : public C_DOTABaseAbility { public: @@ -36075,7 +36937,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AttributeBonus : public CDOTA_Buff { public: @@ -36083,7 +36945,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Base : public C_DOTABaseAbility { public: @@ -36091,7 +36953,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Undefined : public C_DOTABaseAbility { public: @@ -36099,7 +36961,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Gold_Ability_Draft : public C_DOTABaseAbility { public: @@ -36107,7 +36969,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Gold_lvl15_r : public C_DOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: @@ -36115,7 +36977,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Gold_lvl20_r : public C_DOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: @@ -36123,7 +36985,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Gold_lvl25_r : public C_DOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: @@ -36131,7 +36993,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Gold_lvl10_l : public C_DOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: @@ -36139,7 +37001,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Gold_lvl15_l : public C_DOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: @@ -36147,7 +37009,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Gold_lvl20_l : public C_DOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: @@ -36155,7 +37017,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Gold_lvl25_l : public C_DOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: @@ -36163,7 +37025,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_100 : public C_DOTABaseAbility { public: @@ -36171,7 +37033,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_125 : public C_DOTABaseAbility { public: @@ -36179,7 +37041,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_150 : public C_DOTABaseAbility { public: @@ -36187,7 +37049,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_175 : public C_DOTABaseAbility { public: @@ -36195,7 +37057,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_200 : public C_DOTABaseAbility { public: @@ -36203,7 +37065,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_225 : public C_DOTABaseAbility { public: @@ -36211,7 +37073,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_250 : public C_DOTABaseAbility { public: @@ -36219,7 +37081,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_275 : public C_DOTABaseAbility { public: @@ -36227,7 +37089,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_300 : public C_DOTABaseAbility { public: @@ -36235,7 +37097,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_325 : public C_DOTABaseAbility { public: @@ -36243,7 +37105,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_350 : public C_DOTABaseAbility { public: @@ -36251,7 +37113,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_375 : public C_DOTABaseAbility { public: @@ -36259,7 +37121,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_400 : public C_DOTABaseAbility { public: @@ -36267,7 +37129,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_450 : public C_DOTABaseAbility { public: @@ -36275,7 +37137,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_475 : public C_DOTABaseAbility { public: @@ -36283,7 +37145,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_500 : public C_DOTABaseAbility { public: @@ -36291,7 +37153,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_600 : public C_DOTABaseAbility { public: @@ -36299,7 +37161,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_650 : public C_DOTABaseAbility { public: @@ -36307,7 +37169,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_700 : public C_DOTABaseAbility { public: @@ -36315,7 +37177,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_800 : public C_DOTABaseAbility { public: @@ -36323,7 +37185,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_900 : public C_DOTABaseAbility { public: @@ -36331,7 +37193,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_1000 : public C_DOTABaseAbility { public: @@ -36339,7 +37201,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_100 : public C_DOTABaseAbility { public: @@ -36347,7 +37209,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_125 : public C_DOTABaseAbility { public: @@ -36355,7 +37217,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_150 : public C_DOTABaseAbility { public: @@ -36363,7 +37225,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_175 : public C_DOTABaseAbility { public: @@ -36371,7 +37233,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_200 : public C_DOTABaseAbility { public: @@ -36379,7 +37241,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_225 : public C_DOTABaseAbility { public: @@ -36387,7 +37249,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_250 : public C_DOTABaseAbility { public: @@ -36395,7 +37257,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_275 : public C_DOTABaseAbility { public: @@ -36403,7 +37265,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_300 : public C_DOTABaseAbility { public: @@ -36411,7 +37273,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_350 : public C_DOTABaseAbility { public: @@ -36419,7 +37281,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_400 : public C_DOTABaseAbility { public: @@ -36427,7 +37289,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_500 : public C_DOTABaseAbility { public: @@ -36435,7 +37297,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_600 : public C_DOTABaseAbility { public: @@ -36443,7 +37305,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_700 : public C_DOTABaseAbility { public: @@ -36451,7 +37313,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_800 : public C_DOTABaseAbility { public: @@ -36459,7 +37321,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_1000 : public C_DOTABaseAbility { public: @@ -36467,7 +37329,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Base_Attack_Rate_1 : public C_DOTABaseAbility { public: @@ -36475,7 +37337,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_10 : public C_DOTABaseAbility { public: @@ -36483,7 +37345,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_15 : public C_DOTABaseAbility { public: @@ -36491,7 +37353,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_20 : public C_DOTABaseAbility { public: @@ -36499,7 +37361,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_25 : public C_DOTABaseAbility { public: @@ -36507,7 +37369,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_30 : public C_DOTABaseAbility { public: @@ -36515,7 +37377,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_35 : public C_DOTABaseAbility { public: @@ -36523,7 +37385,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_40 : public C_DOTABaseAbility { public: @@ -36531,7 +37393,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_45 : public C_DOTABaseAbility { public: @@ -36539,7 +37401,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_50 : public C_DOTABaseAbility { public: @@ -36547,7 +37409,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_55 : public C_DOTABaseAbility { public: @@ -36555,7 +37417,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_60 : public C_DOTABaseAbility { public: @@ -36563,7 +37425,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_70 : public C_DOTABaseAbility { public: @@ -36571,7 +37433,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_80 : public C_DOTABaseAbility { public: @@ -36579,7 +37441,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_100 : public C_DOTABaseAbility { public: @@ -36587,7 +37449,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_110 : public C_DOTABaseAbility { public: @@ -36595,7 +37457,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_120 : public C_DOTABaseAbility { public: @@ -36603,7 +37465,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_140 : public C_DOTABaseAbility { public: @@ -36611,7 +37473,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_160 : public C_DOTABaseAbility { public: @@ -36619,7 +37481,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_175 : public C_DOTABaseAbility { public: @@ -36627,7 +37489,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_200 : public C_DOTABaseAbility { public: @@ -36635,7 +37497,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_225 : public C_DOTABaseAbility { public: @@ -36643,7 +37505,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_250 : public C_DOTABaseAbility { public: @@ -36651,7 +37513,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Corruption_25 : public C_DOTABaseAbility { public: @@ -36659,7 +37521,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Corruption_3 : public C_DOTABaseAbility { public: @@ -36667,7 +37529,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Corruption_4 : public C_DOTABaseAbility { public: @@ -36675,7 +37537,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Corruption_5 : public C_DOTABaseAbility { public: @@ -36683,7 +37545,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cleave_15 : public C_DOTABaseAbility { public: @@ -36691,7 +37553,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cleave_20 : public C_DOTABaseAbility { public: @@ -36699,7 +37561,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cleave_25 : public C_DOTABaseAbility { public: @@ -36707,7 +37569,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cleave_30 : public C_DOTABaseAbility { public: @@ -36715,7 +37577,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cleave_35 : public C_DOTABaseAbility { public: @@ -36723,7 +37585,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cleave_40 : public C_DOTABaseAbility { public: @@ -36731,7 +37593,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cleave_60 : public C_DOTABaseAbility { public: @@ -36739,7 +37601,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cleave_100 : public C_DOTABaseAbility { public: @@ -36747,7 +37609,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cleave_130 : public C_DOTABaseAbility { public: @@ -36755,7 +37617,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cleave_140 : public C_DOTABaseAbility { public: @@ -36763,7 +37625,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cleave_150 : public C_DOTABaseAbility { public: @@ -36771,7 +37633,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cleave_175 : public C_DOTABaseAbility { public: @@ -36779,7 +37641,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Haste : public C_DOTABaseAbility { public: @@ -36787,7 +37649,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_TrueStrike : public C_DOTABaseAbility { public: @@ -36795,7 +37657,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Reincarnation_200 : public C_DOTABaseAbility { public: @@ -36803,7 +37665,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Reincarnation_250 : public C_DOTABaseAbility { public: @@ -36811,7 +37673,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Reincarnation_300 : public C_DOTABaseAbility { public: @@ -36819,7 +37681,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Block_15 : public C_DOTABaseAbility { public: @@ -36827,7 +37689,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Block_18 : public C_DOTABaseAbility { public: @@ -36835,7 +37697,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Block_20 : public C_DOTABaseAbility { public: @@ -36843,7 +37705,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Mana_Break_15 : public C_DOTABaseAbility { public: @@ -36851,7 +37713,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Mana_Break_20 : public C_DOTABaseAbility { public: @@ -36859,7 +37721,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Mana_Break_25 : public C_DOTABaseAbility { public: @@ -36867,7 +37729,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Mana_Break_35 : public C_DOTABaseAbility { public: @@ -36875,7 +37737,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Mana_Break_40 : public C_DOTABaseAbility { public: @@ -36883,7 +37745,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Immunity : public C_DOTABaseAbility { public: @@ -36891,7 +37753,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_Regen_4 : public C_DOTABaseAbility { public: @@ -36899,7 +37761,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_Regen_5 : public C_DOTABaseAbility { public: @@ -36907,7 +37769,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_Regen_6 : public C_DOTABaseAbility { public: @@ -36915,7 +37777,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_Regen_7 : public C_DOTABaseAbility { public: @@ -36923,7 +37785,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_Regen_8 : public C_DOTABaseAbility { public: @@ -36931,7 +37793,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_Regen_10 : public C_DOTABaseAbility { public: @@ -36939,7 +37801,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_Regen_12 : public C_DOTABaseAbility { public: @@ -36947,7 +37809,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_Regen_14 : public C_DOTABaseAbility { public: @@ -36955,7 +37817,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_Regen_15 : public C_DOTABaseAbility { public: @@ -36963,7 +37825,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_Regen_16 : public C_DOTABaseAbility { public: @@ -36971,7 +37833,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_Regen_20 : public C_DOTABaseAbility { public: @@ -36979,7 +37841,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_Regen_25 : public C_DOTABaseAbility { public: @@ -36987,7 +37849,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_Regen_30 : public C_DOTABaseAbility { public: @@ -36995,7 +37857,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_Regen_35 : public C_DOTABaseAbility { public: @@ -37003,7 +37865,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_Regen_40 : public C_DOTABaseAbility { public: @@ -37011,7 +37873,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_Regen_50 : public C_DOTABaseAbility { public: @@ -37019,7 +37881,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_HP_Regen_80 : public C_DOTABaseAbility { public: @@ -37027,7 +37889,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_Regen_1 : public C_DOTABaseAbility { public: @@ -37035,7 +37897,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_Regen_125 : public C_DOTABaseAbility { public: @@ -37043,7 +37905,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_Regen_150 : public C_DOTABaseAbility { public: @@ -37051,7 +37913,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_Regen_175 : public C_DOTABaseAbility { public: @@ -37059,7 +37921,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_Regen_2 : public C_DOTABaseAbility { public: @@ -37067,7 +37929,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_Regen_250 : public C_DOTABaseAbility { public: @@ -37075,7 +37937,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_Regen_Amp_10 : public C_DOTABaseAbility { public: @@ -37083,7 +37945,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Mana_Reduction_8 : public C_DOTABaseAbility { public: @@ -37091,7 +37953,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Mana_Reduction_9 : public C_DOTABaseAbility { public: @@ -37099,7 +37961,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Mana_Reduction_11 : public C_DOTABaseAbility { public: @@ -37107,7 +37969,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_Regen_3 : public C_DOTABaseAbility { public: @@ -37115,7 +37977,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_Regen_4 : public C_DOTABaseAbility { public: @@ -37123,7 +37985,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_Regen_5 : public C_DOTABaseAbility { public: @@ -37131,7 +37993,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_Regen_6 : public C_DOTABaseAbility { public: @@ -37139,7 +38001,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_Regen_8 : public C_DOTABaseAbility { public: @@ -37147,7 +38009,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_Regen_10 : public C_DOTABaseAbility { public: @@ -37155,7 +38017,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_MP_Regen_14 : public C_DOTABaseAbility { public: @@ -37163,7 +38025,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_5 : public C_DOTABaseAbility { public: @@ -37171,7 +38033,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_6 : public C_DOTABaseAbility { public: @@ -37179,7 +38041,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_8 : public C_DOTABaseAbility { public: @@ -37187,7 +38049,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_10 : public C_DOTABaseAbility { public: @@ -37195,7 +38057,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_12 : public C_DOTABaseAbility { public: @@ -37203,7 +38065,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_14 : public C_DOTABaseAbility { public: @@ -37211,7 +38073,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_16 : public C_DOTABaseAbility { public: @@ -37219,7 +38081,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cast_Speed_30 : public C_DOTABaseAbility { public: @@ -37227,7 +38089,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_10 : public C_DOTABaseAbility { public: @@ -37235,7 +38097,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_15 : public C_DOTABaseAbility { public: @@ -37243,7 +38105,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_20 : public C_DOTABaseAbility { public: @@ -37251,7 +38113,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_25 : public C_DOTABaseAbility { public: @@ -37259,7 +38121,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_30 : public C_DOTABaseAbility { public: @@ -37267,7 +38129,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_35 : public C_DOTABaseAbility { public: @@ -37275,7 +38137,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_40 : public C_DOTABaseAbility { public: @@ -37283,7 +38145,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_45 : public C_DOTABaseAbility { public: @@ -37291,7 +38153,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_50 : public C_DOTABaseAbility { public: @@ -37299,7 +38161,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_60 : public C_DOTABaseAbility { public: @@ -37307,7 +38169,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_65 : public C_DOTABaseAbility { public: @@ -37315,7 +38177,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_75 : public C_DOTABaseAbility { public: @@ -37323,7 +38185,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_90 : public C_DOTABaseAbility { public: @@ -37331,7 +38193,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_100 : public C_DOTABaseAbility { public: @@ -37339,7 +38201,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_All_Stats_4 : public C_DOTABaseAbility { public: @@ -37347,7 +38209,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_All_Stats_5 : public C_DOTABaseAbility { public: @@ -37355,7 +38217,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_All_Stats_6 : public C_DOTABaseAbility { public: @@ -37363,7 +38225,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_All_Stats_7 : public C_DOTABaseAbility { public: @@ -37371,7 +38233,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_All_Stats_8 : public C_DOTABaseAbility { public: @@ -37379,7 +38241,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_All_Stats_10 : public C_DOTABaseAbility { public: @@ -37387,7 +38249,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_All_Stats_12 : public C_DOTABaseAbility { public: @@ -37395,7 +38257,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_All_Stats_14 : public C_DOTABaseAbility { public: @@ -37403,7 +38265,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_All_Stats_15 : public C_DOTABaseAbility { public: @@ -37411,7 +38273,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_All_Stats_20 : public C_DOTABaseAbility { public: @@ -37419,7 +38281,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attributes : public C_DOTABaseAbility { public: @@ -37427,7 +38289,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Agility_And_Intelligence_6 : public C_DOTABaseAbility { public: @@ -37435,7 +38297,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Intelligence_6 : public C_DOTABaseAbility { public: @@ -37443,7 +38305,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Intelligence_7 : public C_DOTABaseAbility { public: @@ -37451,7 +38313,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Intelligence_8 : public C_DOTABaseAbility { public: @@ -37459,7 +38321,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Intelligence_10 : public C_DOTABaseAbility { public: @@ -37467,7 +38329,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Intelligence_12 : public C_DOTABaseAbility { public: @@ -37475,7 +38337,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Intelligence_13 : public C_DOTABaseAbility { public: @@ -37483,7 +38345,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Intelligence_14 : public C_DOTABaseAbility { public: @@ -37491,7 +38353,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Intelligence_15 : public C_DOTABaseAbility { public: @@ -37499,7 +38361,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Intelligence_16 : public C_DOTABaseAbility { public: @@ -37507,7 +38369,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Intelligence_20 : public C_DOTABaseAbility { public: @@ -37515,7 +38377,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Intelligence_25 : public C_DOTABaseAbility { public: @@ -37523,7 +38385,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Intelligence_30 : public C_DOTABaseAbility { public: @@ -37531,7 +38393,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Intelligence_35 : public C_DOTABaseAbility { public: @@ -37539,7 +38401,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Intelligence_75 : public C_DOTABaseAbility { public: @@ -37547,7 +38409,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Strength_3 : public C_DOTABaseAbility { public: @@ -37555,7 +38417,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Strength_4 : public C_DOTABaseAbility { public: @@ -37563,7 +38425,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Strength_5 : public C_DOTABaseAbility { public: @@ -37571,7 +38433,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Strength_6 : public C_DOTABaseAbility { public: @@ -37579,7 +38441,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Strength_7 : public C_DOTABaseAbility { public: @@ -37587,7 +38449,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Strength_8 : public C_DOTABaseAbility { public: @@ -37595,7 +38457,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Strength_9 : public C_DOTABaseAbility { public: @@ -37603,7 +38465,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Strength_10 : public C_DOTABaseAbility { public: @@ -37611,7 +38473,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Strength_11 : public C_DOTABaseAbility { public: @@ -37619,7 +38481,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Strength_12 : public C_DOTABaseAbility { public: @@ -37627,7 +38489,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Strength_13 : public C_DOTABaseAbility { public: @@ -37635,7 +38497,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Strength_14 : public C_DOTABaseAbility { public: @@ -37643,7 +38505,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Strength_15 : public C_DOTABaseAbility { public: @@ -37651,7 +38513,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Strength_16 : public C_DOTABaseAbility { public: @@ -37659,7 +38521,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Strength_18 : public C_DOTABaseAbility { public: @@ -37667,7 +38529,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Strength_20 : public C_DOTABaseAbility { public: @@ -37675,7 +38537,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Strength_25 : public C_DOTABaseAbility { public: @@ -37683,7 +38545,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Strength_30 : public C_DOTABaseAbility { public: @@ -37691,7 +38553,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Strength_40 : public C_DOTABaseAbility { public: @@ -37699,7 +38561,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Agility_5 : public C_DOTABaseAbility { public: @@ -37707,7 +38569,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Agility_6 : public C_DOTABaseAbility { public: @@ -37715,7 +38577,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Agility_7 : public C_DOTABaseAbility { public: @@ -37723,7 +38585,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Agility_8 : public C_DOTABaseAbility { public: @@ -37731,7 +38593,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Agility_9 : public C_DOTABaseAbility { public: @@ -37739,7 +38601,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Agility_10 : public C_DOTABaseAbility { public: @@ -37747,7 +38609,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Agility_12 : public C_DOTABaseAbility { public: @@ -37755,7 +38617,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Agility_13 : public C_DOTABaseAbility { public: @@ -37763,7 +38625,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Agility_14 : public C_DOTABaseAbility { public: @@ -37771,7 +38633,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Agility_15 : public C_DOTABaseAbility { public: @@ -37779,7 +38641,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Agility_16 : public C_DOTABaseAbility { public: @@ -37787,7 +38649,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Agility_20 : public C_DOTABaseAbility { public: @@ -37795,7 +38657,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Agility_25 : public C_DOTABaseAbility { public: @@ -37803,7 +38665,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Agility_30 : public C_DOTABaseAbility { public: @@ -37811,7 +38673,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Agility_40 : public C_DOTABaseAbility { public: @@ -37819,7 +38681,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Agility_80 : public C_DOTABaseAbility { public: @@ -37827,7 +38689,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Agility_100 : public C_DOTABaseAbility { public: @@ -37835,7 +38697,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Armor_2 : public C_DOTABaseAbility { public: @@ -37843,7 +38705,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Armor_3 : public C_DOTABaseAbility { public: @@ -37851,7 +38713,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Armor_4 : public C_DOTABaseAbility { public: @@ -37859,7 +38721,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Armor_5 : public C_DOTABaseAbility { public: @@ -37867,7 +38729,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Armor_6 : public C_DOTABaseAbility { public: @@ -37875,7 +38737,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Armor_7 : public C_DOTABaseAbility { public: @@ -37883,7 +38745,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Armor_8 : public C_DOTABaseAbility { public: @@ -37891,7 +38753,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Armor_9 : public C_DOTABaseAbility { public: @@ -37899,7 +38761,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Armor_10 : public C_DOTABaseAbility { public: @@ -37907,7 +38769,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Armor_12 : public C_DOTABaseAbility { public: @@ -37915,7 +38777,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Armor_15 : public C_DOTABaseAbility { public: @@ -37923,7 +38785,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Armor_20 : public C_DOTABaseAbility { public: @@ -37931,7 +38793,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Armor_30 : public C_DOTABaseAbility { public: @@ -37939,7 +38801,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Status_Resistance_10 : public C_DOTABaseAbility { public: @@ -37947,7 +38809,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Status_Resistance_15 : public C_DOTABaseAbility { public: @@ -37955,7 +38817,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Status_Resistance_20 : public C_DOTABaseAbility { public: @@ -37963,7 +38825,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Status_Resistance_25 : public C_DOTABaseAbility { public: @@ -37971,7 +38833,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_5 : public C_DOTABaseAbility { public: @@ -37979,7 +38841,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_6 : public C_DOTABaseAbility { public: @@ -37987,7 +38849,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_8 : public C_DOTABaseAbility { public: @@ -37995,7 +38857,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_10 : public C_DOTABaseAbility { public: @@ -38003,7 +38865,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_12 : public C_DOTABaseAbility { public: @@ -38011,7 +38873,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_14 : public C_DOTABaseAbility { public: @@ -38019,7 +38881,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_15 : public C_DOTABaseAbility { public: @@ -38027,7 +38889,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_20 : public C_DOTABaseAbility { public: @@ -38035,7 +38897,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_25 : public C_DOTABaseAbility { public: @@ -38043,7 +38905,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_30 : public C_DOTABaseAbility { public: @@ -38051,7 +38913,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_35 : public C_DOTABaseAbility { public: @@ -38059,7 +38921,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_40 : public C_DOTABaseAbility { public: @@ -38067,7 +38929,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_50 : public C_DOTABaseAbility { public: @@ -38075,7 +38937,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_80 : public C_DOTABaseAbility { public: @@ -38083,7 +38945,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_100 : public C_DOTABaseAbility { public: @@ -38091,7 +38953,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Day_Vision_400 : public C_DOTABaseAbility { public: @@ -38099,7 +38961,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Night_Vision_400 : public C_DOTABaseAbility { public: @@ -38107,7 +38969,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Night_Vision_500 : public C_DOTABaseAbility { public: @@ -38115,7 +38977,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Night_Vision_600 : public C_DOTABaseAbility { public: @@ -38123,7 +38985,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Night_Vision_800 : public C_DOTABaseAbility { public: @@ -38131,7 +38993,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Night_Vision_1000 : public C_DOTABaseAbility { public: @@ -38139,7 +39001,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Vision_200 : public C_DOTABaseAbility { public: @@ -38147,7 +39009,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_15 : public C_DOTABaseAbility { public: @@ -38155,7 +39017,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_20 : public C_DOTABaseAbility { public: @@ -38163,7 +39025,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_25 : public C_DOTABaseAbility { public: @@ -38171,7 +39033,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_30 : public C_DOTABaseAbility { public: @@ -38179,7 +39041,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_40 : public C_DOTABaseAbility { public: @@ -38187,7 +39049,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_45 : public C_DOTABaseAbility { public: @@ -38195,7 +39057,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_50 : public C_DOTABaseAbility { public: @@ -38203,7 +39065,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_100 : public C_DOTABaseAbility { public: @@ -38211,7 +39073,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_10 : public C_DOTABaseAbility { public: @@ -38219,7 +39081,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_12 : public C_DOTABaseAbility { public: @@ -38227,7 +39089,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_15 : public C_DOTABaseAbility { public: @@ -38235,7 +39097,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_16 : public C_DOTABaseAbility { public: @@ -38243,7 +39105,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_18 : public C_DOTABaseAbility { public: @@ -38251,7 +39113,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_20 : public C_DOTABaseAbility { public: @@ -38259,7 +39121,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_25 : public C_DOTABaseAbility { public: @@ -38267,7 +39129,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_30 : public C_DOTABaseAbility { public: @@ -38275,7 +39137,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_35 : public C_DOTABaseAbility { public: @@ -38283,7 +39145,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_40 : public C_DOTABaseAbility { public: @@ -38291,7 +39153,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_45 : public C_DOTABaseAbility { public: @@ -38299,7 +39161,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_50 : public C_DOTABaseAbility { public: @@ -38307,7 +39169,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_55 : public C_DOTABaseAbility { public: @@ -38315,7 +39177,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_60 : public C_DOTABaseAbility { public: @@ -38323,7 +39185,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_65 : public C_DOTABaseAbility { public: @@ -38331,7 +39193,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_70 : public C_DOTABaseAbility { public: @@ -38339,7 +39201,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_75 : public C_DOTABaseAbility { public: @@ -38347,7 +39209,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_80 : public C_DOTABaseAbility { public: @@ -38355,7 +39217,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_90 : public C_DOTABaseAbility { public: @@ -38363,7 +39225,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_100 : public C_DOTABaseAbility { public: @@ -38371,7 +39233,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_120 : public C_DOTABaseAbility { public: @@ -38379,7 +39241,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_150 : public C_DOTABaseAbility { public: @@ -38387,7 +39249,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_160 : public C_DOTABaseAbility { public: @@ -38395,7 +39257,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_200 : public C_DOTABaseAbility { public: @@ -38403,7 +39265,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_250 : public C_DOTABaseAbility { public: @@ -38411,7 +39273,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_251 : public C_DOTABaseAbility { public: @@ -38419,7 +39281,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_252 : public C_DOTABaseAbility { public: @@ -38427,7 +39289,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_400 : public C_DOTABaseAbility { public: @@ -38435,7 +39297,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Range_50 : public C_DOTABaseAbility { public: @@ -38443,7 +39305,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Range_75 : public C_DOTABaseAbility { public: @@ -38451,7 +39313,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Range_100 : public C_DOTABaseAbility { public: @@ -38459,7 +39321,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Range_125 : public C_DOTABaseAbility { public: @@ -38467,7 +39329,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Range_150 : public C_DOTABaseAbility { public: @@ -38475,7 +39337,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Range_175 : public C_DOTABaseAbility { public: @@ -38483,7 +39345,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Range_200 : public C_DOTABaseAbility { public: @@ -38491,7 +39353,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Range_250 : public C_DOTABaseAbility { public: @@ -38499,7 +39361,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Range_275 : public C_DOTABaseAbility { public: @@ -38507,7 +39369,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Range_300 : public C_DOTABaseAbility { public: @@ -38515,7 +39377,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Range_325 : public C_DOTABaseAbility { public: @@ -38523,7 +39385,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Range_400 : public C_DOTABaseAbility { public: @@ -38531,7 +39393,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cast_Range_50 : public C_DOTABaseAbility { public: @@ -38539,7 +39401,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cast_Range_60 : public C_DOTABaseAbility { public: @@ -38547,7 +39409,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cast_Range_75 : public C_DOTABaseAbility { public: @@ -38555,7 +39417,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cast_Range_100 : public C_DOTABaseAbility { public: @@ -38563,7 +39425,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cast_Range_125 : public C_DOTABaseAbility { public: @@ -38571,7 +39433,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cast_Range_150 : public C_DOTABaseAbility { public: @@ -38579,7 +39441,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cast_Range_175 : public C_DOTABaseAbility { public: @@ -38587,7 +39449,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cast_Range_200 : public C_DOTABaseAbility { public: @@ -38595,7 +39457,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cast_Range_225 : public C_DOTABaseAbility { public: @@ -38603,7 +39465,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cast_Range_250 : public C_DOTABaseAbility { public: @@ -38611,7 +39473,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cast_Range_275 : public C_DOTABaseAbility { public: @@ -38619,7 +39481,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cast_Range_300 : public C_DOTABaseAbility { public: @@ -38627,7 +39489,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cast_Range_325 : public C_DOTABaseAbility { public: @@ -38635,7 +39497,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cast_Range_350 : public C_DOTABaseAbility { public: @@ -38643,7 +39505,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cast_Range_400 : public C_DOTABaseAbility { public: @@ -38651,7 +39513,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_3 : public C_DOTABaseAbility { public: @@ -38659,7 +39521,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_4 : public C_DOTABaseAbility { public: @@ -38667,7 +39529,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_5 : public C_DOTABaseAbility { public: @@ -38675,7 +39537,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_6 : public C_DOTABaseAbility { public: @@ -38683,7 +39545,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_7 : public C_DOTABaseAbility { public: @@ -38691,7 +39553,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_8 : public C_DOTABaseAbility { public: @@ -38699,7 +39561,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_9 : public C_DOTABaseAbility { public: @@ -38707,7 +39569,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_10 : public C_DOTABaseAbility { public: @@ -38715,7 +39577,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_11 : public C_DOTABaseAbility { public: @@ -38723,7 +39585,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_12 : public C_DOTABaseAbility { public: @@ -38731,7 +39593,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_14 : public C_DOTABaseAbility { public: @@ -38739,7 +39601,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_15 : public C_DOTABaseAbility { public: @@ -38747,7 +39609,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_16 : public C_DOTABaseAbility { public: @@ -38755,7 +39617,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_18 : public C_DOTABaseAbility { public: @@ -38763,7 +39625,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_20 : public C_DOTABaseAbility { public: @@ -38771,7 +39633,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_25 : public C_DOTABaseAbility { public: @@ -38779,7 +39641,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_6 : public C_DOTABaseAbility { public: @@ -38787,7 +39649,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_8 : public C_DOTABaseAbility { public: @@ -38795,7 +39657,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_10 : public C_DOTABaseAbility { public: @@ -38803,7 +39665,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_12 : public C_DOTABaseAbility { public: @@ -38811,7 +39673,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_14 : public C_DOTABaseAbility { public: @@ -38819,7 +39681,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_15 : public C_DOTABaseAbility { public: @@ -38827,7 +39689,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_20 : public C_DOTABaseAbility { public: @@ -38835,7 +39697,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_25 : public C_DOTABaseAbility { public: @@ -38843,7 +39705,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_30 : public C_DOTABaseAbility { public: @@ -38851,7 +39713,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_40 : public C_DOTABaseAbility { public: @@ -38859,7 +39721,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_50 : public C_DOTABaseAbility { public: @@ -38867,7 +39729,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_65 : public C_DOTABaseAbility { public: @@ -38875,7 +39737,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Respawn_Reduction_15 : public C_DOTABaseAbility { public: @@ -38883,7 +39745,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Respawn_Reduction_20 : public C_DOTABaseAbility { public: @@ -38891,7 +39753,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Respawn_Reduction_25 : public C_DOTABaseAbility { public: @@ -38899,7 +39761,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Respawn_Reduction_30 : public C_DOTABaseAbility { public: @@ -38907,7 +39769,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Respawn_Reduction_35 : public C_DOTABaseAbility { public: @@ -38915,7 +39777,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Respawn_Reduction_40 : public C_DOTABaseAbility { public: @@ -38923,7 +39785,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Respawn_Reduction_45 : public C_DOTABaseAbility { public: @@ -38931,7 +39793,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Respawn_Reduction_50 : public C_DOTABaseAbility { public: @@ -38939,7 +39801,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Respawn_Reduction_60 : public C_DOTABaseAbility { public: @@ -38947,7 +39809,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Gold_Income_30 : public C_DOTABaseAbility { public: @@ -38955,7 +39817,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Gold_Income_60 : public C_DOTABaseAbility { public: @@ -38963,7 +39825,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Gold_Income_90 : public C_DOTABaseAbility { public: @@ -38971,7 +39833,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Gold_Income_120 : public C_DOTABaseAbility { public: @@ -38979,7 +39841,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Gold_Income_150 : public C_DOTABaseAbility { public: @@ -38987,7 +39849,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Gold_Income_180 : public C_DOTABaseAbility { public: @@ -38995,7 +39857,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Gold_Income_210 : public C_DOTABaseAbility { public: @@ -39003,7 +39865,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Gold_Income_240 : public C_DOTABaseAbility { public: @@ -39011,7 +39873,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Gold_Income_300 : public C_DOTABaseAbility { public: @@ -39019,7 +39881,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Gold_Income_420 : public C_DOTABaseAbility { public: @@ -39027,7 +39889,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Evasion_8 : public C_DOTABaseAbility { public: @@ -39035,7 +39897,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Evasion_10 : public C_DOTABaseAbility { public: @@ -39043,7 +39905,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Evasion_12 : public C_DOTABaseAbility { public: @@ -39051,7 +39913,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Evasion_15 : public C_DOTABaseAbility { public: @@ -39059,7 +39921,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Evasion_16 : public C_DOTABaseAbility { public: @@ -39067,7 +39929,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Evasion_20 : public C_DOTABaseAbility { public: @@ -39075,7 +39937,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Evasion_25 : public C_DOTABaseAbility { public: @@ -39083,7 +39945,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Evasion_30 : public C_DOTABaseAbility { public: @@ -39091,7 +39953,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Evasion_40 : public C_DOTABaseAbility { public: @@ -39099,7 +39961,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Evasion_50 : public C_DOTABaseAbility { public: @@ -39107,7 +39969,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Evasion_75 : public C_DOTABaseAbility { public: @@ -39115,7 +39977,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_6 : public C_DOTABaseAbility { public: @@ -39123,7 +39985,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_8 : public C_DOTABaseAbility { public: @@ -39131,7 +39993,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_10 : public C_DOTABaseAbility { public: @@ -39139,7 +40001,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_12 : public C_DOTABaseAbility { public: @@ -39147,7 +40009,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_13 : public C_DOTABaseAbility { public: @@ -39155,7 +40017,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_15 : public C_DOTABaseAbility { public: @@ -39163,7 +40025,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_20 : public C_DOTABaseAbility { public: @@ -39171,7 +40033,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_25 : public C_DOTABaseAbility { public: @@ -39179,7 +40041,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_30 : public C_DOTABaseAbility { public: @@ -39187,7 +40049,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_50 : public C_DOTABaseAbility { public: @@ -39195,7 +40057,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_40 : public C_DOTABaseAbility { public: @@ -39203,7 +40065,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_60 : public C_DOTABaseAbility { public: @@ -39211,7 +40073,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_70 : public C_DOTABaseAbility { public: @@ -39219,7 +40081,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Lifesteal_8 : public C_DOTABaseAbility { public: @@ -39227,7 +40089,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Lifesteal_10 : public C_DOTABaseAbility { public: @@ -39235,7 +40097,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Lifesteal_12 : public C_DOTABaseAbility { public: @@ -39243,7 +40105,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Lifesteal_15 : public C_DOTABaseAbility { public: @@ -39251,7 +40113,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Lifesteal_18 : public C_DOTABaseAbility { public: @@ -39259,7 +40121,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Lifesteal_20 : public C_DOTABaseAbility { public: @@ -39267,7 +40129,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Lifesteal_25 : public C_DOTABaseAbility { public: @@ -39275,7 +40137,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Lifesteal_30 : public C_DOTABaseAbility { public: @@ -39283,7 +40145,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Lifesteal_35 : public C_DOTABaseAbility { public: @@ -39291,7 +40153,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Lifesteal_40 : public C_DOTABaseAbility { public: @@ -39299,7 +40161,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Lifesteal_100 : public C_DOTABaseAbility { public: @@ -39307,7 +40169,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_20_Bash_2 : public C_DOTABaseAbility { public: @@ -39315,7 +40177,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_24_Crit_2 : public C_DOTABaseAbility { public: @@ -39323,7 +40185,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_30_Crit_2 : public C_DOTABaseAbility { public: @@ -39331,7 +40193,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_20_Crit_15 : public C_DOTABaseAbility { public: @@ -39339,7 +40201,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_50_Crit_40 : public C_DOTABaseAbility { public: @@ -39347,7 +40209,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_5 : public C_DOTABaseAbility { public: @@ -39355,7 +40217,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_10 : public C_DOTABaseAbility { public: @@ -39363,7 +40225,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_15 : public C_DOTABaseAbility { public: @@ -39371,7 +40233,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_20 : public C_DOTABaseAbility { public: @@ -39379,7 +40241,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_25 : public C_DOTABaseAbility { public: @@ -39387,7 +40249,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_30 : public C_DOTABaseAbility { public: @@ -39395,7 +40257,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_35 : public C_DOTABaseAbility { public: @@ -39403,7 +40265,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_40 : public C_DOTABaseAbility { public: @@ -39411,7 +40273,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_50 : public C_DOTABaseAbility { public: @@ -39419,7 +40281,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_60 : public C_DOTABaseAbility { public: @@ -39427,7 +40289,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain : public C_DOTABaseAbility { public: @@ -39435,7 +40297,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_2 : public C_DOTABaseAbility { public: @@ -39443,7 +40305,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_3 : public C_DOTABaseAbility { public: @@ -39451,7 +40313,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_4 : public C_DOTABaseAbility { public: @@ -39459,7 +40321,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_5 : public C_DOTABaseAbility { public: @@ -39467,7 +40329,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_6 : public C_DOTABaseAbility { public: @@ -39475,7 +40337,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Broodmother_1 : public C_DOTABaseAbility { public: @@ -39483,7 +40345,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Broodmother_2 : public C_DOTABaseAbility { public: @@ -39491,7 +40353,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Broodmother_3 : public C_DOTABaseAbility { public: @@ -39499,7 +40361,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Broodmother_4 : public C_DOTABaseAbility { public: @@ -39507,7 +40369,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Broodmother_5 : public C_DOTABaseAbility { public: @@ -39515,7 +40377,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_1 : public C_DOTABaseAbility { public: @@ -39523,7 +40385,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_2 : public C_DOTABaseAbility { public: @@ -39531,7 +40393,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_3 : public C_DOTABaseAbility { public: @@ -39539,7 +40401,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_4 : public C_DOTABaseAbility { public: @@ -39547,7 +40409,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_5 : public C_DOTABaseAbility { public: @@ -39555,7 +40417,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_6 : public C_DOTABaseAbility { public: @@ -39563,7 +40425,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_7 : public C_DOTABaseAbility { public: @@ -39571,7 +40433,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_8 : public C_DOTABaseAbility { public: @@ -39579,7 +40441,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_9 : public C_DOTABaseAbility { public: @@ -39587,7 +40449,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_10 : public C_DOTABaseAbility { public: @@ -39595,7 +40457,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_12 : public C_DOTABaseAbility { public: @@ -39603,7 +40465,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_11 : public C_DOTABaseAbility { public: @@ -39611,7 +40473,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp : public C_DOTABaseAbility { public: @@ -39619,7 +40481,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp_2 : public C_DOTABaseAbility { public: @@ -39627,7 +40489,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp_3 : public C_DOTABaseAbility { public: @@ -39635,7 +40497,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp_4 : public C_DOTABaseAbility { public: @@ -39643,7 +40505,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp_5 : public C_DOTABaseAbility { public: @@ -39651,7 +40513,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp_6 : public C_DOTABaseAbility { public: @@ -39659,7 +40521,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp_7 : public C_DOTABaseAbility { public: @@ -39667,7 +40529,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp_8 : public C_DOTABaseAbility { public: @@ -39675,7 +40537,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp_9 : public C_DOTABaseAbility { public: @@ -39683,7 +40545,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp_10 : public C_DOTABaseAbility { public: @@ -39691,7 +40553,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Techies : public C_DOTABaseAbility { public: @@ -39699,7 +40561,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Techies_2 : public C_DOTABaseAbility { public: @@ -39707,7 +40569,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Techies_3 : public C_DOTABaseAbility { public: @@ -39715,7 +40577,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Techies_4 : public C_DOTABaseAbility { public: @@ -39723,7 +40585,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Techies_5 : public C_DOTABaseAbility { public: @@ -39731,7 +40593,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Arc_Warden : public C_DOTABaseAbility { public: @@ -39739,7 +40601,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Arc_Warden_2 : public C_DOTABaseAbility { public: @@ -39747,7 +40609,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Arc_Warden_3 : public C_DOTABaseAbility { public: @@ -39755,7 +40617,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Arc_Warden_4 : public C_DOTABaseAbility { public: @@ -39763,7 +40625,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Arc_Warden_5 : public C_DOTABaseAbility { public: @@ -39771,7 +40633,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Arc_Warden_6 : public C_DOTABaseAbility { public: @@ -39779,7 +40641,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_1 : public C_DOTABaseAbility { public: @@ -39787,7 +40649,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_2 : public C_DOTABaseAbility { public: @@ -39795,7 +40657,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_3 : public C_DOTABaseAbility { public: @@ -39803,7 +40665,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_4 : public C_DOTABaseAbility { public: @@ -39811,7 +40673,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_5 : public C_DOTABaseAbility { public: @@ -39819,7 +40681,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_6 : public C_DOTABaseAbility { public: @@ -39827,7 +40689,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_7 : public C_DOTABaseAbility { public: @@ -39835,7 +40697,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_8 : public C_DOTABaseAbility { public: @@ -39843,7 +40705,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_9 : public C_DOTABaseAbility { public: @@ -39851,7 +40713,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_10 : public C_DOTABaseAbility { public: @@ -39859,7 +40721,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_11 : public C_DOTABaseAbility { public: @@ -39867,7 +40729,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_12 : public C_DOTABaseAbility { public: @@ -39875,7 +40737,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_13 : public C_DOTABaseAbility { public: @@ -39883,7 +40745,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_1 : public C_DOTABaseAbility { public: @@ -39891,7 +40753,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_2 : public C_DOTABaseAbility { public: @@ -39899,7 +40761,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_3 : public C_DOTABaseAbility { public: @@ -39907,7 +40769,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_4 : public C_DOTABaseAbility { public: @@ -39915,7 +40777,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_5 : public C_DOTABaseAbility { public: @@ -39923,7 +40785,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_6 : public C_DOTABaseAbility { public: @@ -39931,7 +40793,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_7 : public C_DOTABaseAbility { public: @@ -39939,7 +40801,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Gyrocopter_1 : public C_DOTABaseAbility { public: @@ -39947,7 +40809,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Gyrocopter_2 : public C_DOTABaseAbility { public: @@ -39955,7 +40817,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Gyrocopter_3 : public C_DOTABaseAbility { public: @@ -39963,7 +40825,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Gyrocopter_4 : public C_DOTABaseAbility { public: @@ -39971,7 +40833,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Gyrocopter_5 : public C_DOTABaseAbility { public: @@ -39979,7 +40841,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Gyrocopter_6 : public C_DOTABaseAbility { public: @@ -39987,7 +40849,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander : public C_DOTABaseAbility { public: @@ -39995,7 +40857,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander_2 : public C_DOTABaseAbility { public: @@ -40003,7 +40865,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander_3 : public C_DOTABaseAbility { public: @@ -40011,7 +40873,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander_4 : public C_DOTABaseAbility { public: @@ -40019,7 +40881,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander_5 : public C_DOTABaseAbility { public: @@ -40027,7 +40889,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander_6 : public C_DOTABaseAbility { public: @@ -40035,7 +40897,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander_7 : public C_DOTABaseAbility { public: @@ -40043,7 +40905,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pugna_1 : public C_DOTABaseAbility { public: @@ -40051,7 +40913,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pugna_2 : public C_DOTABaseAbility { public: @@ -40059,7 +40921,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pugna_3 : public C_DOTABaseAbility { public: @@ -40067,7 +40929,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pugna_4 : public C_DOTABaseAbility { public: @@ -40075,7 +40937,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pugna_5 : public C_DOTABaseAbility { public: @@ -40083,7 +40945,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pugna_6 : public C_DOTABaseAbility { public: @@ -40091,7 +40953,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger : public C_DOTABaseAbility { public: @@ -40099,7 +40961,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger_2 : public C_DOTABaseAbility { public: @@ -40107,7 +40969,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger_3 : public C_DOTABaseAbility { public: @@ -40115,7 +40977,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger_4 : public C_DOTABaseAbility { public: @@ -40123,7 +40985,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger_5 : public C_DOTABaseAbility { public: @@ -40131,7 +40993,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger_6 : public C_DOTABaseAbility { public: @@ -40139,7 +41001,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger_7 : public C_DOTABaseAbility { public: @@ -40147,7 +41009,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger_8 : public C_DOTABaseAbility { public: @@ -40155,7 +41017,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger_9 : public C_DOTABaseAbility { public: @@ -40163,7 +41025,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger_10 : public C_DOTABaseAbility { public: @@ -40171,7 +41033,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Death_Prophet : public C_DOTABaseAbility { public: @@ -40179,7 +41041,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Death_Prophet_2 : public C_DOTABaseAbility { public: @@ -40187,7 +41049,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Death_Prophet_3 : public C_DOTABaseAbility { public: @@ -40195,7 +41057,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Death_Prophet_4 : public C_DOTABaseAbility { public: @@ -40203,7 +41065,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Death_Prophet_5 : public C_DOTABaseAbility { public: @@ -40211,7 +41073,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sniper_1 : public C_DOTABaseAbility { public: @@ -40219,7 +41081,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sniper_2 : public C_DOTABaseAbility { public: @@ -40227,7 +41089,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sniper_3 : public C_DOTABaseAbility { public: @@ -40235,7 +41097,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sniper_4 : public C_DOTABaseAbility { public: @@ -40243,7 +41105,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sniper_5 : public C_DOTABaseAbility { public: @@ -40251,7 +41113,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sniper_6 : public C_DOTABaseAbility { public: @@ -40259,7 +41121,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King : public C_DOTABaseAbility { public: @@ -40267,7 +41129,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_2 : public C_DOTABaseAbility { public: @@ -40275,7 +41137,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_3 : public C_DOTABaseAbility { public: @@ -40283,7 +41145,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_4 : public C_DOTABaseAbility { public: @@ -40291,7 +41153,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_5 : public C_DOTABaseAbility { public: @@ -40299,7 +41161,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_6 : public C_DOTABaseAbility { public: @@ -40307,7 +41169,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_7 : public C_DOTABaseAbility { public: @@ -40315,7 +41177,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_8 : public C_DOTABaseAbility { public: @@ -40323,7 +41185,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_9 : public C_DOTABaseAbility { public: @@ -40331,7 +41193,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_10 : public C_DOTABaseAbility { public: @@ -40339,7 +41201,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_11 : public C_DOTABaseAbility { public: @@ -40347,7 +41209,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Riki_1 : public C_DOTABaseAbility { public: @@ -40355,7 +41217,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Riki_2 : public C_DOTABaseAbility { public: @@ -40363,7 +41225,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Riki_3 : public C_DOTABaseAbility { public: @@ -40371,7 +41233,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Riki_4 : public C_DOTABaseAbility { public: @@ -40379,7 +41241,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Riki_5 : public C_DOTABaseAbility { public: @@ -40387,7 +41249,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Riki_6 : public C_DOTABaseAbility { public: @@ -40395,7 +41257,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Riki_7 : public C_DOTABaseAbility { public: @@ -40403,7 +41265,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Riki_8 : public C_DOTABaseAbility { public: @@ -40411,7 +41273,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Riki_9 : public C_DOTABaseAbility { public: @@ -40419,7 +41281,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tusk : public C_DOTABaseAbility { public: @@ -40427,7 +41289,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tusk_2 : public C_DOTABaseAbility { public: @@ -40435,7 +41297,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tusk_3 : public C_DOTABaseAbility { public: @@ -40443,7 +41305,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tusk_4 : public C_DOTABaseAbility { public: @@ -40451,7 +41313,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tusk_5 : public C_DOTABaseAbility { public: @@ -40459,7 +41321,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tusk_6 : public C_DOTABaseAbility { public: @@ -40467,7 +41329,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tusk_7 : public C_DOTABaseAbility { public: @@ -40475,7 +41337,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Medusa : public C_DOTABaseAbility { public: @@ -40483,7 +41345,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Medusa_2 : public C_DOTABaseAbility { public: @@ -40491,7 +41353,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Medusa_3 : public C_DOTABaseAbility { public: @@ -40499,7 +41361,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Medusa_4 : public C_DOTABaseAbility { public: @@ -40507,7 +41369,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Medusa_5 : public C_DOTABaseAbility { public: @@ -40515,7 +41377,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ogre_Magi : public C_DOTABaseAbility { public: @@ -40523,7 +41385,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ogre_Magi_2 : public C_DOTABaseAbility { public: @@ -40531,7 +41393,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ogre_Magi_3 : public C_DOTABaseAbility { public: @@ -40539,7 +41401,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ogre_Magi_4 : public C_DOTABaseAbility { public: @@ -40547,7 +41409,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ogre_Magi_5 : public C_DOTABaseAbility { public: @@ -40555,7 +41417,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Silencer : public C_DOTABaseAbility { public: @@ -40563,7 +41425,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Silencer_2 : public C_DOTABaseAbility { public: @@ -40571,7 +41433,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Silencer_3 : public C_DOTABaseAbility { public: @@ -40579,7 +41441,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Silencer_4 : public C_DOTABaseAbility { public: @@ -40587,7 +41449,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Silencer_5 : public C_DOTABaseAbility { public: @@ -40595,7 +41457,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Silencer_6 : public C_DOTABaseAbility { public: @@ -40603,7 +41465,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Silencer_7 : public C_DOTABaseAbility { public: @@ -40611,7 +41473,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Elder_Titan : public C_DOTABaseAbility { public: @@ -40619,7 +41481,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Elder_Titan_2 : public C_DOTABaseAbility { public: @@ -40627,7 +41489,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Elder_Titan_3 : public C_DOTABaseAbility { public: @@ -40635,7 +41497,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Elder_Titan_4 : public C_DOTABaseAbility { public: @@ -40643,7 +41505,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_1 : public C_DOTABaseAbility { public: @@ -40651,7 +41513,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_2 : public C_DOTABaseAbility { public: @@ -40659,7 +41521,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_3 : public C_DOTABaseAbility { public: @@ -40667,7 +41529,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_4 : public C_DOTABaseAbility { public: @@ -40675,7 +41537,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_5 : public C_DOTABaseAbility { public: @@ -40683,7 +41545,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_6 : public C_DOTABaseAbility { public: @@ -40691,7 +41553,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_7 : public C_DOTABaseAbility { public: @@ -40699,7 +41561,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lifestealer : public C_DOTABaseAbility { public: @@ -40707,7 +41569,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lifestealer_2 : public C_DOTABaseAbility { public: @@ -40715,7 +41577,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lifestealer_3 : public C_DOTABaseAbility { public: @@ -40723,7 +41585,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lifestealer_4 : public C_DOTABaseAbility { public: @@ -40731,7 +41593,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lifestealer_5 : public C_DOTABaseAbility { public: @@ -40739,7 +41601,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lifestealer_6 : public C_DOTABaseAbility { public: @@ -40747,7 +41609,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lifestealer_7 : public C_DOTABaseAbility { public: @@ -40755,7 +41617,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Slark : public C_DOTABaseAbility { public: @@ -40763,7 +41625,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Slark_2 : public C_DOTABaseAbility { public: @@ -40771,7 +41633,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Slark_3 : public C_DOTABaseAbility { public: @@ -40779,7 +41641,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Slark_4 : public C_DOTABaseAbility { public: @@ -40787,7 +41649,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Slark_5 : public C_DOTABaseAbility { public: @@ -40795,7 +41657,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Slark_6 : public C_DOTABaseAbility { public: @@ -40803,7 +41665,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Slark_7 : public C_DOTABaseAbility { public: @@ -40811,7 +41673,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Spectre : public C_DOTABaseAbility { public: @@ -40819,7 +41681,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Spectre_2 : public C_DOTABaseAbility { public: @@ -40827,7 +41689,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Spectre_3 : public C_DOTABaseAbility { public: @@ -40835,7 +41697,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Spectre_4 : public C_DOTABaseAbility { public: @@ -40843,7 +41705,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Spectre_5 : public C_DOTABaseAbility { public: @@ -40851,7 +41713,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Spectre_6 : public C_DOTABaseAbility { public: @@ -40859,7 +41721,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_1 : public C_DOTABaseAbility { public: @@ -40867,7 +41729,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_2 : public C_DOTABaseAbility { public: @@ -40875,7 +41737,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_3 : public C_DOTABaseAbility { public: @@ -40883,7 +41745,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_4 : public C_DOTABaseAbility { public: @@ -40891,7 +41753,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit : public C_DOTABaseAbility { public: @@ -40899,7 +41761,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_2 : public C_DOTABaseAbility { public: @@ -40907,7 +41769,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_3 : public C_DOTABaseAbility { public: @@ -40915,7 +41777,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_4 : public C_DOTABaseAbility { public: @@ -40923,7 +41785,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_5 : public C_DOTABaseAbility { public: @@ -40931,7 +41793,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_6 : public C_DOTABaseAbility { public: @@ -40939,7 +41801,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_7 : public C_DOTABaseAbility { public: @@ -40947,7 +41809,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_8 : public C_DOTABaseAbility { public: @@ -40955,7 +41817,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tidehunter : public C_DOTABaseAbility { public: @@ -40963,7 +41825,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_2 : public C_DOTABaseAbility { public: @@ -40971,7 +41833,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_3 : public C_DOTABaseAbility { public: @@ -40979,7 +41841,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_4 : public C_DOTABaseAbility { public: @@ -40987,7 +41849,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_5 : public C_DOTABaseAbility { public: @@ -40995,7 +41857,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_6 : public C_DOTABaseAbility { public: @@ -41003,7 +41865,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_7 : public C_DOTABaseAbility { public: @@ -41011,7 +41873,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_8 : public C_DOTABaseAbility { public: @@ -41019,7 +41881,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tinker : public C_DOTABaseAbility { public: @@ -41027,7 +41889,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tinker_2 : public C_DOTABaseAbility { public: @@ -41035,7 +41897,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tinker_3 : public C_DOTABaseAbility { public: @@ -41043,7 +41905,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tinker_4 : public C_DOTABaseAbility { public: @@ -41051,7 +41913,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tinker_5 : public C_DOTABaseAbility { public: @@ -41059,7 +41921,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tinker_6 : public C_DOTABaseAbility { public: @@ -41067,7 +41929,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tinker_7 : public C_DOTABaseAbility { public: @@ -41075,7 +41937,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord : public C_DOTABaseAbility { public: @@ -41083,7 +41945,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord_2 : public C_DOTABaseAbility { public: @@ -41091,7 +41953,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord_3 : public C_DOTABaseAbility { public: @@ -41099,7 +41961,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord_4 : public C_DOTABaseAbility { public: @@ -41107,7 +41969,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord_5 : public C_DOTABaseAbility { public: @@ -41115,7 +41977,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord_6 : public C_DOTABaseAbility { public: @@ -41123,7 +41985,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord_7 : public C_DOTABaseAbility { public: @@ -41131,7 +41993,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Viper_1 : public C_DOTABaseAbility { public: @@ -41139,7 +42001,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Viper_2 : public C_DOTABaseAbility { public: @@ -41147,7 +42009,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Viper_3 : public C_DOTABaseAbility { public: @@ -41155,7 +42017,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Viper_4 : public C_DOTABaseAbility { public: @@ -41163,7 +42025,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Viper_5 : public C_DOTABaseAbility { public: @@ -41171,7 +42033,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Viper_6 : public C_DOTABaseAbility { public: @@ -41179,7 +42041,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Brewmaster : public C_DOTABaseAbility { public: @@ -41187,7 +42049,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Brewmaster_2 : public C_DOTABaseAbility { public: @@ -41195,7 +42057,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Brewmaster_3 : public C_DOTABaseAbility { public: @@ -41203,7 +42065,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Brewmaster_4 : public C_DOTABaseAbility { public: @@ -41211,7 +42073,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Brewmaster_5 : public C_DOTABaseAbility { public: @@ -41219,7 +42081,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Brewmaster_6 : public C_DOTABaseAbility { public: @@ -41227,7 +42089,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Brewmaster_7 : public C_DOTABaseAbility { public: @@ -41235,7 +42097,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Luna_1 : public C_DOTABaseAbility { public: @@ -41243,7 +42105,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Luna_2 : public C_DOTABaseAbility { public: @@ -41251,7 +42113,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Luna_3 : public C_DOTABaseAbility { public: @@ -41259,7 +42121,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Luna_4 : public C_DOTABaseAbility { public: @@ -41267,7 +42129,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Luna_5 : public C_DOTABaseAbility { public: @@ -41275,7 +42137,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Luna_6 : public C_DOTABaseAbility { public: @@ -41283,7 +42145,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Luna_7 : public C_DOTABaseAbility { public: @@ -41291,7 +42153,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Luna_8 : public C_DOTABaseAbility { public: @@ -41299,7 +42161,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void : public C_DOTABaseAbility { public: @@ -41307,7 +42169,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_2 : public C_DOTABaseAbility { public: @@ -41315,7 +42177,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_3 : public C_DOTABaseAbility { public: @@ -41323,7 +42185,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_4 : public C_DOTABaseAbility { public: @@ -41331,7 +42193,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_5 : public C_DOTABaseAbility { public: @@ -41339,7 +42201,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_6 : public C_DOTABaseAbility { public: @@ -41347,7 +42209,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_7 : public C_DOTABaseAbility { public: @@ -41355,7 +42217,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_8 : public C_DOTABaseAbility { public: @@ -41363,7 +42225,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Nyx : public C_DOTABaseAbility { public: @@ -41371,7 +42233,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Nyx_2 : public C_DOTABaseAbility { public: @@ -41379,7 +42241,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Nyx_3 : public C_DOTABaseAbility { public: @@ -41387,7 +42249,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Nyx_4 : public C_DOTABaseAbility { public: @@ -41395,7 +42257,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Nyx_5 : public C_DOTABaseAbility { public: @@ -41403,7 +42265,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Nyx_6 : public C_DOTABaseAbility { public: @@ -41411,7 +42273,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Weaver_1 : public C_DOTABaseAbility { public: @@ -41419,7 +42281,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Weaver_2 : public C_DOTABaseAbility { public: @@ -41427,7 +42289,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Weaver_3 : public C_DOTABaseAbility { public: @@ -41435,7 +42297,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Weaver_4 : public C_DOTABaseAbility { public: @@ -41443,7 +42305,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Weaver_5 : public C_DOTABaseAbility { public: @@ -41451,7 +42313,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Weaver_6 : public C_DOTABaseAbility { public: @@ -41459,7 +42321,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ursa : public C_DOTABaseAbility { public: @@ -41467,7 +42329,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ursa_2 : public C_DOTABaseAbility { public: @@ -41475,7 +42337,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ursa_3 : public C_DOTABaseAbility { public: @@ -41483,7 +42345,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ursa_4 : public C_DOTABaseAbility { public: @@ -41491,7 +42353,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ursa_5 : public C_DOTABaseAbility { public: @@ -41499,7 +42361,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ursa_6 : public C_DOTABaseAbility { public: @@ -41507,7 +42369,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ursa_7 : public C_DOTABaseAbility { public: @@ -41515,7 +42377,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Ursa_8 : public C_DOTABaseAbility { public: @@ -41523,7 +42385,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lycan_1 : public C_DOTABaseAbility { public: @@ -41531,7 +42393,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lycan_2 : public C_DOTABaseAbility { public: @@ -41539,7 +42401,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lycan_3 : public C_DOTABaseAbility { public: @@ -41547,7 +42409,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lycan_4 : public C_DOTABaseAbility { public: @@ -41555,7 +42417,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lycan_5 : public C_DOTABaseAbility { public: @@ -41563,7 +42425,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lycan_6 : public C_DOTABaseAbility { public: @@ -41571,7 +42433,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lycan_7 : public C_DOTABaseAbility { public: @@ -41579,7 +42441,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lycan_8 : public C_DOTABaseAbility { public: @@ -41587,7 +42449,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bristleback : public C_DOTABaseAbility { public: @@ -41595,7 +42457,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bristleback_2 : public C_DOTABaseAbility { public: @@ -41603,7 +42465,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bristleback_3 : public C_DOTABaseAbility { public: @@ -41611,7 +42473,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bristleback_4 : public C_DOTABaseAbility { public: @@ -41619,7 +42481,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Abaddon : public C_DOTABaseAbility { public: @@ -41627,7 +42489,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Abaddon_2 : public C_DOTABaseAbility { public: @@ -41635,7 +42497,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Abaddon_3 : public C_DOTABaseAbility { public: @@ -41643,7 +42505,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Abaddon_4 : public C_DOTABaseAbility { public: @@ -41651,7 +42513,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Abaddon_5 : public C_DOTABaseAbility { public: @@ -41659,7 +42521,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Alchemist : public C_DOTABaseAbility { public: @@ -41667,7 +42529,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Alchemist_2 : public C_DOTABaseAbility { public: @@ -41675,7 +42537,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Alchemist_3 : public C_DOTABaseAbility { public: @@ -41683,7 +42545,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Alchemist_4 : public C_DOTABaseAbility { public: @@ -41691,7 +42553,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Alchemist_5 : public C_DOTABaseAbility { public: @@ -41699,7 +42561,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Alchemist_6 : public C_DOTABaseAbility { public: @@ -41707,7 +42569,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Juggernaut : public C_DOTABaseAbility { public: @@ -41715,7 +42577,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Juggernaut_2 : public C_DOTABaseAbility { public: @@ -41723,7 +42585,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Juggernaut_3 : public C_DOTABaseAbility { public: @@ -41731,7 +42593,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Juggernaut_4 : public C_DOTABaseAbility { public: @@ -41739,7 +42601,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Juggernaut_5 : public C_DOTABaseAbility { public: @@ -41747,7 +42609,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_1 : public C_DOTABaseAbility { public: @@ -41755,7 +42617,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_2 : public C_DOTABaseAbility { public: @@ -41763,7 +42625,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_3 : public C_DOTABaseAbility { public: @@ -41771,7 +42633,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_4 : public C_DOTABaseAbility { public: @@ -41779,7 +42641,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_5 : public C_DOTABaseAbility { public: @@ -41787,7 +42649,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_6 : public C_DOTABaseAbility { public: @@ -41795,7 +42657,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_7 : public C_DOTABaseAbility { public: @@ -41803,7 +42665,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Terrorblade : public C_DOTABaseAbility { public: @@ -41811,7 +42673,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Terrorblade_2 : public C_DOTABaseAbility { public: @@ -41819,7 +42681,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Terrorblade_3 : public C_DOTABaseAbility { public: @@ -41827,7 +42689,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Terrorblade_4 : public C_DOTABaseAbility { public: @@ -41835,7 +42697,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Terrorblade_5 : public C_DOTABaseAbility { public: @@ -41843,7 +42705,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phoenix_1 : public C_DOTABaseAbility { public: @@ -41851,7 +42713,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phoenix_2 : public C_DOTABaseAbility { public: @@ -41859,7 +42721,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phoenix_3 : public C_DOTABaseAbility { public: @@ -41867,7 +42729,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phoenix_4 : public C_DOTABaseAbility { public: @@ -41875,7 +42737,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phoenix_5 : public C_DOTABaseAbility { public: @@ -41883,7 +42745,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phoenix_6 : public C_DOTABaseAbility { public: @@ -41891,7 +42753,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phoenix_7 : public C_DOTABaseAbility { public: @@ -41899,7 +42761,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phoenix_8 : public C_DOTABaseAbility { public: @@ -41907,7 +42769,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Enchantress_1 : public C_DOTABaseAbility { public: @@ -41915,7 +42777,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Enchantress_2 : public C_DOTABaseAbility { public: @@ -41923,7 +42785,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Enchantress_3 : public C_DOTABaseAbility { public: @@ -41931,7 +42793,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Enchantress_4 : public C_DOTABaseAbility { public: @@ -41939,7 +42801,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Enchantress_5 : public C_DOTABaseAbility { public: @@ -41947,7 +42809,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_1 : public C_DOTABaseAbility { public: @@ -41955,7 +42817,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_2 : public C_DOTABaseAbility { public: @@ -41963,7 +42825,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_3 : public C_DOTABaseAbility { public: @@ -41971,7 +42833,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_4 : public C_DOTABaseAbility { public: @@ -41979,7 +42841,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_5 : public C_DOTABaseAbility { public: @@ -41987,7 +42849,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_6 : public C_DOTABaseAbility { public: @@ -41995,7 +42857,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_7 : public C_DOTABaseAbility { public: @@ -42003,7 +42865,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_8 : public C_DOTABaseAbility { public: @@ -42011,7 +42873,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_9 : public C_DOTABaseAbility { public: @@ -42019,7 +42881,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_10 : public C_DOTABaseAbility { public: @@ -42027,7 +42889,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_11 : public C_DOTABaseAbility { public: @@ -42035,7 +42897,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Kunkka : public C_DOTABaseAbility { public: @@ -42043,7 +42905,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Kunkka_2 : public C_DOTABaseAbility { public: @@ -42051,7 +42913,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Kunkka_3 : public C_DOTABaseAbility { public: @@ -42059,7 +42921,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Kunkka_4 : public C_DOTABaseAbility { public: @@ -42067,7 +42929,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Kunkka_5 : public C_DOTABaseAbility { public: @@ -42075,7 +42937,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Kunkka_6 : public C_DOTABaseAbility { public: @@ -42083,7 +42945,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Kunkka_7 : public C_DOTABaseAbility { public: @@ -42091,7 +42953,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker : public C_DOTABaseAbility { public: @@ -42099,7 +42961,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker_2 : public C_DOTABaseAbility { public: @@ -42107,7 +42969,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker_3 : public C_DOTABaseAbility { public: @@ -42115,7 +42977,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker_4 : public C_DOTABaseAbility { public: @@ -42123,7 +42985,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker_5 : public C_DOTABaseAbility { public: @@ -42131,7 +42993,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker_6 : public C_DOTABaseAbility { public: @@ -42139,7 +43001,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker_7 : public C_DOTABaseAbility { public: @@ -42147,7 +43009,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit : public C_DOTABaseAbility { public: @@ -42155,7 +43017,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit_2 : public C_DOTABaseAbility { public: @@ -42163,7 +43025,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit_3 : public C_DOTABaseAbility { public: @@ -42171,7 +43033,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit_4 : public C_DOTABaseAbility { public: @@ -42179,7 +43041,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit_5 : public C_DOTABaseAbility { public: @@ -42187,7 +43049,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit_6 : public C_DOTABaseAbility { public: @@ -42195,7 +43057,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit_7 : public C_DOTABaseAbility { public: @@ -42203,7 +43065,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Timbersaw : public C_DOTABaseAbility { public: @@ -42211,7 +43073,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Timbersaw_2 : public C_DOTABaseAbility { public: @@ -42219,7 +43081,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Timbersaw_3 : public C_DOTABaseAbility { public: @@ -42227,7 +43089,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Timbersaw_4 : public C_DOTABaseAbility { public: @@ -42235,7 +43097,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Huskar : public C_DOTABaseAbility { public: @@ -42243,7 +43105,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Huskar_2 : public C_DOTABaseAbility { public: @@ -42251,7 +43113,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Huskar_3 : public C_DOTABaseAbility { public: @@ -42259,7 +43121,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Huskar_4 : public C_DOTABaseAbility { public: @@ -42267,7 +43129,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Huskar_5 : public C_DOTABaseAbility { public: @@ -42275,7 +43137,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Huskar_6 : public C_DOTABaseAbility { public: @@ -42283,7 +43145,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Huskar_7 : public C_DOTABaseAbility { public: @@ -42291,7 +43153,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren : public C_DOTABaseAbility { public: @@ -42299,7 +43161,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren_2 : public C_DOTABaseAbility { public: @@ -42307,7 +43169,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren_3 : public C_DOTABaseAbility { public: @@ -42315,7 +43177,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren_4 : public C_DOTABaseAbility { public: @@ -42323,7 +43185,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren_5 : public C_DOTABaseAbility { public: @@ -42331,7 +43193,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren_6 : public C_DOTABaseAbility { public: @@ -42339,7 +43201,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren_7 : public C_DOTABaseAbility { public: @@ -42347,7 +43209,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sand_King : public C_DOTABaseAbility { public: @@ -42355,7 +43217,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sand_King_2 : public C_DOTABaseAbility { public: @@ -42363,7 +43225,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sand_King_3 : public C_DOTABaseAbility { public: @@ -42371,7 +43233,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sand_King_4 : public C_DOTABaseAbility { public: @@ -42379,7 +43241,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sand_King_5 : public C_DOTABaseAbility { public: @@ -42387,7 +43249,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sand_King_6 : public C_DOTABaseAbility { public: @@ -42395,7 +43257,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sand_King_7 : public C_DOTABaseAbility { public: @@ -42403,7 +43265,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sand_King_8 : public C_DOTABaseAbility { public: @@ -42411,7 +43273,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_1 : public C_DOTABaseAbility { public: @@ -42419,7 +43281,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_2 : public C_DOTABaseAbility { public: @@ -42427,7 +43289,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_3 : public C_DOTABaseAbility { public: @@ -42435,7 +43297,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_4 : public C_DOTABaseAbility { public: @@ -42443,7 +43305,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_5 : public C_DOTABaseAbility { public: @@ -42451,7 +43313,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_6 : public C_DOTABaseAbility { public: @@ -42459,7 +43321,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_7 : public C_DOTABaseAbility { public: @@ -42467,7 +43329,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_8 : public C_DOTABaseAbility { public: @@ -42475,7 +43337,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_9 : public C_DOTABaseAbility { public: @@ -42483,7 +43345,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight : public C_DOTABaseAbility { public: @@ -42491,7 +43353,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_2 : public C_DOTABaseAbility { public: @@ -42499,7 +43361,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_3 : public C_DOTABaseAbility { public: @@ -42507,7 +43369,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_4 : public C_DOTABaseAbility { public: @@ -42515,7 +43377,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_5 : public C_DOTABaseAbility { public: @@ -42523,7 +43385,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_6 : public C_DOTABaseAbility { public: @@ -42531,7 +43393,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_7 : public C_DOTABaseAbility { public: @@ -42539,7 +43401,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_8 : public C_DOTABaseAbility { public: @@ -42547,7 +43409,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_1 : public C_DOTABaseAbility { public: @@ -42555,7 +43417,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_2 : public C_DOTABaseAbility { public: @@ -42563,7 +43425,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_3 : public C_DOTABaseAbility { public: @@ -42571,7 +43433,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_4 : public C_DOTABaseAbility { public: @@ -42579,7 +43441,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_5 : public C_DOTABaseAbility { public: @@ -42587,7 +43449,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_6 : public C_DOTABaseAbility { public: @@ -42595,7 +43457,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_7 : public C_DOTABaseAbility { public: @@ -42603,7 +43465,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_8 : public C_DOTABaseAbility { public: @@ -42611,7 +43473,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_9 : public C_DOTABaseAbility { public: @@ -42619,7 +43481,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_10 : public C_DOTABaseAbility { public: @@ -42627,7 +43489,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bane_1 : public C_DOTABaseAbility { public: @@ -42635,7 +43497,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bane_2 : public C_DOTABaseAbility { public: @@ -42643,7 +43505,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bane_3 : public C_DOTABaseAbility { public: @@ -42651,7 +43513,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bane_4 : public C_DOTABaseAbility { public: @@ -42659,7 +43521,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bane_5 : public C_DOTABaseAbility { public: @@ -42667,7 +43529,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bane_6 : public C_DOTABaseAbility { public: @@ -42675,7 +43537,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bane_7 : public C_DOTABaseAbility { public: @@ -42683,7 +43545,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bane_8 : public C_DOTABaseAbility { public: @@ -42691,7 +43553,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bane_9 : public C_DOTABaseAbility { public: @@ -42699,7 +43561,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Nevermore_1 : public C_DOTABaseAbility { public: @@ -42707,7 +43569,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Nevermore_2 : public C_DOTABaseAbility { public: @@ -42715,7 +43577,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Nevermore_3 : public C_DOTABaseAbility { public: @@ -42723,7 +43585,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Nevermore_4 : public C_DOTABaseAbility { public: @@ -42731,7 +43593,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Nevermore_5 : public C_DOTABaseAbility { public: @@ -42739,7 +43601,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Nevermore_6 : public C_DOTABaseAbility { public: @@ -42747,7 +43609,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin : public C_DOTABaseAbility { public: @@ -42755,7 +43617,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_2 : public C_DOTABaseAbility { public: @@ -42763,7 +43625,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_3 : public C_DOTABaseAbility { public: @@ -42771,7 +43633,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_4 : public C_DOTABaseAbility { public: @@ -42779,7 +43641,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_5 : public C_DOTABaseAbility { public: @@ -42787,7 +43649,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_6 : public C_DOTABaseAbility { public: @@ -42795,7 +43657,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_7 : public C_DOTABaseAbility { public: @@ -42803,7 +43665,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_8 : public C_DOTABaseAbility { public: @@ -42811,7 +43673,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_1 : public C_DOTABaseAbility { public: @@ -42819,7 +43681,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_2 : public C_DOTABaseAbility { public: @@ -42827,7 +43689,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_3 : public C_DOTABaseAbility { public: @@ -42835,7 +43697,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_4 : public C_DOTABaseAbility { public: @@ -42843,7 +43705,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_5 : public C_DOTABaseAbility { public: @@ -42851,7 +43713,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_6 : public C_DOTABaseAbility { public: @@ -42859,7 +43721,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Doom_1 : public C_DOTABaseAbility { public: @@ -42867,7 +43729,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Doom_2 : public C_DOTABaseAbility { public: @@ -42875,7 +43737,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Doom_3 : public C_DOTABaseAbility { public: @@ -42883,7 +43745,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Doom_4 : public C_DOTABaseAbility { public: @@ -42891,7 +43753,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Doom_5 : public C_DOTABaseAbility { public: @@ -42899,7 +43761,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Doom_6 : public C_DOTABaseAbility { public: @@ -42907,7 +43769,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Doom_7 : public C_DOTABaseAbility { public: @@ -42915,7 +43777,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Doom_8 : public C_DOTABaseAbility { public: @@ -42923,7 +43785,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Doom_9 : public C_DOTABaseAbility { public: @@ -42931,7 +43793,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_1 : public C_DOTABaseAbility { public: @@ -42939,7 +43801,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_2 : public C_DOTABaseAbility { public: @@ -42947,7 +43809,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_3 : public C_DOTABaseAbility { public: @@ -42955,7 +43817,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_4 : public C_DOTABaseAbility { public: @@ -42963,7 +43825,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_5 : public C_DOTABaseAbility { public: @@ -42971,7 +43833,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_6 : public C_DOTABaseAbility { public: @@ -42979,7 +43841,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_7 : public C_DOTABaseAbility { public: @@ -42987,7 +43849,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_8 : public C_DOTABaseAbility { public: @@ -42995,7 +43857,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_9 : public C_DOTABaseAbility { public: @@ -43003,7 +43865,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Venomancer : public C_DOTABaseAbility { public: @@ -43011,7 +43873,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Venomancer_2 : public C_DOTABaseAbility { public: @@ -43019,7 +43881,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Venomancer_3 : public C_DOTABaseAbility { public: @@ -43027,7 +43889,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Venomancer_4 : public C_DOTABaseAbility { public: @@ -43035,7 +43897,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Venomancer_5 : public C_DOTABaseAbility { public: @@ -43043,7 +43905,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Venomancer_6 : public C_DOTABaseAbility { public: @@ -43051,7 +43913,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Venomancer_7 : public C_DOTABaseAbility { public: @@ -43059,7 +43921,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Venomancer_8 : public C_DOTABaseAbility { public: @@ -43067,7 +43929,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Earthshaker : public C_DOTABaseAbility { public: @@ -43075,7 +43937,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Earthshaker_2 : public C_DOTABaseAbility { public: @@ -43083,7 +43945,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Earthshaker_3 : public C_DOTABaseAbility { public: @@ -43091,7 +43953,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Earthshaker_4 : public C_DOTABaseAbility { public: @@ -43099,7 +43961,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Earthshaker_5 : public C_DOTABaseAbility { public: @@ -43107,7 +43969,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Earthshaker_6 : public C_DOTABaseAbility { public: @@ -43115,7 +43977,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_1 : public C_DOTABaseAbility { public: @@ -43123,7 +43985,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_2 : public C_DOTABaseAbility { public: @@ -43131,7 +43993,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_3 : public C_DOTABaseAbility { public: @@ -43139,7 +44001,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_4 : public C_DOTABaseAbility { public: @@ -43147,7 +44009,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_5 : public C_DOTABaseAbility { public: @@ -43155,7 +44017,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_6 : public C_DOTABaseAbility { public: @@ -43163,7 +44025,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_7 : public C_DOTABaseAbility { public: @@ -43171,7 +44033,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_8 : public C_DOTABaseAbility { public: @@ -43179,7 +44041,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_1 : public C_DOTABaseAbility { public: @@ -43187,7 +44049,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_2 : public C_DOTABaseAbility { public: @@ -43195,7 +44057,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_3 : public C_DOTABaseAbility { public: @@ -43203,7 +44065,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_4 : public C_DOTABaseAbility { public: @@ -43211,7 +44073,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_5 : public C_DOTABaseAbility { public: @@ -43219,7 +44081,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_6 : public C_DOTABaseAbility { public: @@ -43227,7 +44089,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_7 : public C_DOTABaseAbility { public: @@ -43235,7 +44097,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_8 : public C_DOTABaseAbility { public: @@ -43243,7 +44105,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_9 : public C_DOTABaseAbility { public: @@ -43251,7 +44113,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_10 : public C_DOTABaseAbility { public: @@ -43259,7 +44121,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dazzle_1 : public C_DOTABaseAbility { public: @@ -43267,7 +44129,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dazzle_2 : public C_DOTABaseAbility { public: @@ -43275,7 +44137,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dazzle_3 : public C_DOTABaseAbility { public: @@ -43283,7 +44145,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dazzle_4 : public C_DOTABaseAbility { public: @@ -43291,7 +44153,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dazzle_5 : public C_DOTABaseAbility { public: @@ -43299,7 +44161,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Visage_1 : public C_DOTABaseAbility { public: @@ -43307,7 +44169,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Visage_2 : public C_DOTABaseAbility { public: @@ -43315,7 +44177,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Visage_3 : public C_DOTABaseAbility { public: @@ -43323,7 +44185,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Visage_4 : public C_DOTABaseAbility { public: @@ -43331,7 +44193,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Visage_5 : public C_DOTABaseAbility { public: @@ -43339,7 +44201,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Visage_6 : public C_DOTABaseAbility { public: @@ -43347,7 +44209,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Visage_7 : public C_DOTABaseAbility { public: @@ -43355,7 +44217,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Visage_8 : public C_DOTABaseAbility { public: @@ -43363,7 +44225,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Omniknight_1 : public C_DOTABaseAbility { public: @@ -43371,7 +44233,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Omniknight_2 : public C_DOTABaseAbility { public: @@ -43379,7 +44241,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Omniknight_3 : public C_DOTABaseAbility { public: @@ -43387,7 +44249,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Omniknight_4 : public C_DOTABaseAbility { public: @@ -43395,7 +44257,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Omniknight_5 : public C_DOTABaseAbility { public: @@ -43403,7 +44265,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Omniknight_6 : public C_DOTABaseAbility { public: @@ -43411,7 +44273,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Omniknight_7 : public C_DOTABaseAbility { public: @@ -43419,7 +44281,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Necrophos : public C_DOTABaseAbility { public: @@ -43427,7 +44289,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Necrophos_2 : public C_DOTABaseAbility { public: @@ -43435,7 +44297,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Necrophos_3 : public C_DOTABaseAbility { public: @@ -43443,7 +44305,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Necrophos_4 : public C_DOTABaseAbility { public: @@ -43451,7 +44313,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Necrophos_5 : public C_DOTABaseAbility { public: @@ -43459,7 +44321,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Necrophos_6 : public C_DOTABaseAbility { public: @@ -43467,7 +44329,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Antimage : public C_DOTABaseAbility { public: @@ -43475,7 +44337,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Antimage_2 : public C_DOTABaseAbility { public: @@ -43483,7 +44345,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Antimage_3 : public C_DOTABaseAbility { public: @@ -43491,7 +44353,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Antimage_4 : public C_DOTABaseAbility { public: @@ -43499,7 +44361,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Antimage_5 : public C_DOTABaseAbility { public: @@ -43507,7 +44369,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Antimage_6 : public C_DOTABaseAbility { public: @@ -43515,7 +44377,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Antimage_7 : public C_DOTABaseAbility { public: @@ -43523,7 +44385,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Antimage_8 : public C_DOTABaseAbility { public: @@ -43531,7 +44393,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Mirana_1 : public C_DOTABaseAbility { public: @@ -43539,7 +44401,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Mirana_2 : public C_DOTABaseAbility { public: @@ -43547,7 +44409,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Mirana_3 : public C_DOTABaseAbility { public: @@ -43555,7 +44417,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Mirana_4 : public C_DOTABaseAbility { public: @@ -43563,7 +44425,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Mirana_5 : public C_DOTABaseAbility { public: @@ -43571,7 +44433,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Mirana_6 : public C_DOTABaseAbility { public: @@ -43579,7 +44441,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Mirana_7 : public C_DOTABaseAbility { public: @@ -43587,7 +44449,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter : public C_DOTABaseAbility { public: @@ -43595,7 +44457,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_2 : public C_DOTABaseAbility { public: @@ -43603,7 +44465,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_3 : public C_DOTABaseAbility { public: @@ -43611,7 +44473,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_4 : public C_DOTABaseAbility { public: @@ -43619,7 +44481,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_5 : public C_DOTABaseAbility { public: @@ -43627,7 +44489,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_6 : public C_DOTABaseAbility { public: @@ -43635,7 +44497,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_7 : public C_DOTABaseAbility { public: @@ -43643,7 +44505,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_8 : public C_DOTABaseAbility { public: @@ -43651,7 +44513,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Treant : public C_DOTABaseAbility { public: @@ -43659,7 +44521,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_2 : public C_DOTABaseAbility { public: @@ -43667,7 +44529,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_3 : public C_DOTABaseAbility { public: @@ -43675,7 +44537,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_4 : public C_DOTABaseAbility { public: @@ -43683,7 +44545,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_5 : public C_DOTABaseAbility { public: @@ -43691,7 +44553,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_6 : public C_DOTABaseAbility { public: @@ -43699,7 +44561,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_7 : public C_DOTABaseAbility { public: @@ -43707,7 +44569,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_8 : public C_DOTABaseAbility { public: @@ -43715,7 +44577,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_9 : public C_DOTABaseAbility { public: @@ -43723,7 +44585,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_10 : public C_DOTABaseAbility { public: @@ -43731,7 +44593,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_11 : public C_DOTABaseAbility { public: @@ -43739,7 +44601,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_12 : public C_DOTABaseAbility { public: @@ -43747,7 +44609,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_13 : public C_DOTABaseAbility { public: @@ -43755,271 +44617,271 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Gold : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_HP : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_MP : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Attack_Speed : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Base_Attack_Rate : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Attributes : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_All_Stats : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Movement_Speed : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Cast_Speed : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Movement_Speed_Percentage : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_HP_Regen : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_MP_Regen : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_MP_Regen_Amp : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Manaloss_Reduction : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Agility_And_Intelligence : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Intelligence : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Strength : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Agility : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Magic_Resistance : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Status_Resistance : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Day_Vision : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Night_Vision : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Vision : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Armor : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Attack_Damage : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Attack_Base_Damage : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Attack_Range : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Cast_Range : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Spell_Amplify : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Cooldown_Reduction : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Respawn_Reduction : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Gold_Income : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Evasion : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Special_Bonus_Unique_Morphling_4 : public CDOTA_Buff { public: @@ -44027,7 +44889,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Special_Bonus_Unique_Treant_3 : public CDOTA_Buff { public: @@ -44035,25 +44897,25 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_20_Bash : public CDOTA_Buff { public: - float value; // 0x11e8 - float value2; // 0x11ec + float value; // 0x12b8 + float value2; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Crit : public CDOTA_Buff { public: - float crit_chance; // 0x11e8 - float crit_multiplier; // 0x11ec + float crit_chance; // 0x12b8 + float crit_multiplier; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Special_Bonus_Tree_Walking : public CDOTA_Buff { public: @@ -44061,62 +44923,62 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Lifesteal : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Cleave : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Corruption : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Corruption_Debuff : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Mana_Break : public CDOTA_Buff { public: - int32_t value; // 0x11e8 - int32_t burn_illusions_ranged; // 0x11ec - int32_t burn_illusions_melee; // 0x11f0 - float damage_per_burn; // 0x11f4 + int32_t value; // 0x12b8 + int32_t burn_illusions_ranged; // 0x12bc + int32_t burn_illusions_melee; // 0x12c0 + float damage_per_burn; // 0x12c4 }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Special_Bonus_Spell_Block : public CDOTA_Buff { public: - float block_cooldown; // 0x11e8 + float block_cooldown; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CountdownTimer m_CooldownTimer; // 0x11f0 + CountdownTimer m_CooldownTimer; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Special_Bonus_Spell_Immunity : public CDOTA_Modifier_MagicImmune { public: @@ -44124,15 +44986,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Haste : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Special_Bonus_TrueStrike : public CDOTA_Buff { public: @@ -44140,33 +45002,33 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Reincarnation : public CDOTA_Buff { public: - float value; // 0x11e8 - float reincarnate_time; // 0x11ec - GameTime_t m_fLastReincarnationTime; // 0x11f0 + float value; // 0x12b8 + float reincarnate_time; // 0x12bc + GameTime_t m_fLastReincarnationTime; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Spell_Lifesteal : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Exp_Boost : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Stacking_Gold_Rate_Boost : public CDOTA_Buff { public: @@ -44174,7 +45036,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Stacking_Exp_Rate_Boost : public CDOTA_Buff { public: @@ -44182,7 +45044,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pangolier : public C_DOTABaseAbility { public: @@ -44190,7 +45052,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pangolier_2 : public C_DOTABaseAbility { public: @@ -44198,7 +45060,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pangolier_3 : public C_DOTABaseAbility { public: @@ -44206,7 +45068,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pangolier_4 : public C_DOTABaseAbility { public: @@ -44214,7 +45076,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pangolier_5 : public C_DOTABaseAbility { public: @@ -44222,7 +45084,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pangolier_6 : public C_DOTABaseAbility { public: @@ -44230,24 +45092,88 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pangolier_7 : public C_DOTABaseAbility { public: // No members available }; +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_1 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_2 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_3 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_4 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_5 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_6 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_7 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_8 : public C_DOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 3 -// Size: 0x730 +// Size: 0x740 class C_DOTASpecGraphPlayerData : public C_BaseEntity { public: // MNetworkEnable - int32_t m_rgGoldPerMinute[64]; // 0x528 + int32_t m_rgGoldPerMinute[64]; // 0x538 // MNetworkEnable - int32_t m_rgXPPerMinute[64]; // 0x628 + int32_t m_rgXPPerMinute[64]; // 0x638 // MNetworkEnable - PlayerID_t m_nCreatedByPlayerID; // 0x728 + PlayerID_t m_nCreatedByPlayerID; // 0x738 }; // Alignment: 21 @@ -44309,13 +45235,13 @@ public: }; // Alignment: 1 -// Size: 0x530 +// Size: 0x540 class C_DOTASpectatorGraphManagerProxy : public C_BaseEntity { public: // MNetworkEnable // MNetworkTypeAlias "CDOTASpectatorGraphManager*" - C_DOTASpectatorGraphManager* m_pGraphManager; // 0x528 + C_DOTASpectatorGraphManager* m_pGraphManager; // 0x538 // Static fields: static C_DOTASpectatorGraphManagerProxy* &Get_s_pDotaSpectatorGraphProxy(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_DOTASpectatorGraphManagerProxy")->m_static_fields[0]->m_instance);}; @@ -44357,22 +45283,22 @@ public: }; // Alignment: 3 -// Size: 0x588 +// Size: 0x598 class C_DOTAFogOfWarTempViewers : public C_BaseEntity { public: // MNetworkEnable - uint32_t m_FoWTempViewerVersion; // 0x528 + uint32_t m_FoWTempViewerVersion; // 0x538 private: - [[maybe_unused]] uint8_t __pad052c[0x4]; // 0x52c + [[maybe_unused]] uint8_t __pad053c[0x4]; // 0x53c public: // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< TempViewerInfo_t > m_TempViewerInfo; // 0x530 - int32_t m_dota_spectator_fog_of_war_last; // 0x580 + C_UtlVectorEmbeddedNetworkVar< TempViewerInfo_t > m_TempViewerInfo; // 0x540 + int32_t m_dota_spectator_fog_of_war_last; // 0x590 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Consumable_Hidden : public C_DOTABaseAbility { public: @@ -44380,17 +45306,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_Summon_Common_Thinker : public CDOTA_Buff { public: - float grace_period; // 0x11e8 - int32_t search_distance; // 0x11ec - float think_interval; // 0x11f0 + float grace_period; // 0x12b8 + int32_t search_distance; // 0x12bc + float think_interval; // 0x12c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Throw_Snowball : public C_DOTABaseAbility { public: @@ -44398,7 +45324,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Throw_Coal : public C_DOTABaseAbility { public: @@ -44406,7 +45332,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Healing_Campfire : public C_DOTABaseAbility { public: @@ -44414,7 +45340,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_ShootFirework : public C_DOTABaseAbility { public: @@ -44422,7 +45348,7 @@ public: }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Healing_Campfire_Aura : public CDOTA_Buff { public: @@ -44430,15 +45356,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Healing_Campfire_Heal : public CDOTA_Buff { public: - int32_t heal_amount; // 0x11e8 + int32_t heal_amount; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Seasonal_Throw_Snowball : public C_DOTABaseAbility { public: @@ -44446,7 +45372,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Seasonal_Summon_Snowman : public C_DOTABaseAbility { public: @@ -44454,69 +45380,69 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_Summon_Snowman_Thinker : public CDOTA_Buff { public: - float grace_period; // 0x11e8 - int32_t search_distance; // 0x11ec - float think_interval; // 0x11f0 + float grace_period; // 0x12b8 + int32_t search_distance; // 0x12bc + float think_interval; // 0x12c0 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Seasonal_Summon_Penguin : public C_DOTABaseAbility { public: - int32_t spawn_offset; // 0x5a0 + int32_t spawn_offset; // 0x5b0 }; // Alignment: 31 -// Size: 0x1290 +// Size: 0x1360 class CDOTA_Modifier_Seasonal_Penguin : public CDOTA_Buff { public: - float m_fLifetimeGained; // 0x11e8 - Vector m_vTargetPos; // 0x11ec - int32_t m_nCurrentSpeed; // 0x11f8 - GameTime_t m_fLastBumpTime; // 0x11fc - Vector m_vLastPos; // 0x1200 - CHandle< C_BaseEntity > m_hLastHit; // 0x120c - Vector m_vDir; // 0x1210 - Vector m_vRunEndPos; // 0x121c - bool m_bIsInInitialRun; // 0x1228 + float m_fLifetimeGained; // 0x12b8 + Vector m_vTargetPos; // 0x12bc + int32_t m_nCurrentSpeed; // 0x12c8 + GameTime_t m_fLastBumpTime; // 0x12cc + Vector m_vLastPos; // 0x12d0 + CHandle< C_BaseEntity > m_hLastHit; // 0x12dc + Vector m_vDir; // 0x12e0 + Vector m_vRunEndPos; // 0x12ec + bool m_bIsInInitialRun; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad1229[0x3]; // 0x1229 + [[maybe_unused]] uint8_t __pad12f9[0x3]; // 0x12f9 public: - Vector m_vJumpEndPos; // 0x122c - bool m_bPlayedVroomSinceLastCrash; // 0x1238 + Vector m_vJumpEndPos; // 0x12fc + bool m_bPlayedVroomSinceLastCrash; // 0x1308 private: - [[maybe_unused]] uint8_t __pad1239[0x3]; // 0x1239 + [[maybe_unused]] uint8_t __pad1309[0x3]; // 0x1309 public: - ParticleIndex_t m_nVroomFX; // 0x123c - GameTime_t m_fLastSpeedStepTime; // 0x1240 - GameTime_t m_fLastSpeechTime; // 0x1244 - ParticleIndex_t m_nFXStackIndex; // 0x1248 - int32_t m_nBumpsSinceLastCrash; // 0x124c - CHandle< C_BaseEntity > m_hLastBumpingHero; // 0x1250 - int32_t initial_speed; // 0x1254 - int32_t max_speed; // 0x1258 - int32_t speed_step; // 0x125c - float speed_step_interval; // 0x1260 - float bump_delay; // 0x1264 - float bump_delay_absolute; // 0x1268 - int32_t bump_collision_radius; // 0x126c - int32_t run_distance; // 0x1270 - int32_t jump_distance; // 0x1274 - int32_t speed_after_crash; // 0x1278 - int32_t speed_gain_per_hero_bump; // 0x127c - float max_gainable_lifetime; // 0x1280 - float lifetime_gain_per_hero_bump; // 0x1284 - float min_speech_repeat_time; // 0x1288 + ParticleIndex_t m_nVroomFX; // 0x130c + GameTime_t m_fLastSpeedStepTime; // 0x1310 + GameTime_t m_fLastSpeechTime; // 0x1314 + ParticleIndex_t m_nFXStackIndex; // 0x1318 + int32_t m_nBumpsSinceLastCrash; // 0x131c + CHandle< C_BaseEntity > m_hLastBumpingHero; // 0x1320 + int32_t initial_speed; // 0x1324 + int32_t max_speed; // 0x1328 + int32_t speed_step; // 0x132c + float speed_step_interval; // 0x1330 + float bump_delay; // 0x1334 + float bump_delay_absolute; // 0x1338 + int32_t bump_collision_radius; // 0x133c + int32_t run_distance; // 0x1340 + int32_t jump_distance; // 0x1344 + int32_t speed_after_crash; // 0x1348 + int32_t speed_gain_per_hero_bump; // 0x134c + float max_gainable_lifetime; // 0x1350 + float lifetime_gain_per_hero_bump; // 0x1354 + float min_speech_repeat_time; // 0x1358 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Seasonal_Decorate_Tree : public C_DOTABaseAbility { public: @@ -44524,7 +45450,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Seasonal_Festive_Firework : public C_DOTABaseAbility { public: @@ -44532,7 +45458,7 @@ public: }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Seasonal_FestiveFirework : public CDOTA_Buff { public: @@ -44540,7 +45466,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Seasonal_Firecrackers : public C_DOTABaseAbility { public: @@ -44548,7 +45474,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Seasonal_Firecrackers : public CDOTA_Buff { public: @@ -44556,7 +45482,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Seasonal_Summon_Dragon : public C_DOTABaseAbility { public: @@ -44564,17 +45490,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Ability_Seasonal_Summon_Dragon_Thinker : public CDOTA_Buff { public: - float grace_period; // 0x11e8 - int32_t search_distance; // 0x11ec - float think_interval; // 0x11f0 + float grace_period; // 0x12b8 + int32_t search_distance; // 0x12bc + float think_interval; // 0x12c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Seasonal_Summon_CNY_Tree : public C_DOTABaseAbility { public: @@ -44582,7 +45508,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Seasonal_Summon_CNY_Balloon : public C_DOTABaseAbility { public: @@ -44590,28 +45516,28 @@ public: }; // Alignment: 14 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Seasonal_Summon_CNY_Balloon_Thinker : public CDOTA_Buff { public: - float speed; // 0x11e8 - int32_t min_distance_before_bounce; // 0x11ec - float drag; // 0x11f0 - float max_height; // 0x11f4 - float max_vertical_move_time; // 0x11f8 - float bounce_turn_angle; // 0x11fc - float bounce_turn_angle_tree; // 0x1200 - float bounce_delay; // 0x1204 - Vector m_vLastPos; // 0x1208 - Vector m_vDir; // 0x1214 - float m_flSpeed; // 0x1220 - float m_flDistRemaining; // 0x1224 - float m_flTreeTimeRemaining; // 0x1228 - CHandle< C_BaseEntity > m_hLastHit; // 0x122c + float speed; // 0x12b8 + int32_t min_distance_before_bounce; // 0x12bc + float drag; // 0x12c0 + float max_height; // 0x12c4 + float max_vertical_move_time; // 0x12c8 + float bounce_turn_angle; // 0x12cc + float bounce_turn_angle_tree; // 0x12d0 + float bounce_delay; // 0x12d4 + Vector m_vLastPos; // 0x12d8 + Vector m_vDir; // 0x12e4 + float m_flSpeed; // 0x12f0 + float m_flDistRemaining; // 0x12f4 + float m_flTreeTimeRemaining; // 0x12f8 + CHandle< C_BaseEntity > m_hLastHit; // 0x12fc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Seasonal_Summon_TI9_Balloon : public C_DOTABaseAbility { public: @@ -44619,28 +45545,28 @@ public: }; // Alignment: 14 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Seasonal_Summon_TI9_Balloon_Thinker : public CDOTA_Buff { public: - float speed; // 0x11e8 - int32_t min_distance_before_bounce; // 0x11ec - float drag; // 0x11f0 - float max_height; // 0x11f4 - float max_vertical_move_time; // 0x11f8 - float bounce_turn_angle; // 0x11fc - float bounce_turn_angle_tree; // 0x1200 - float bounce_delay; // 0x1204 - Vector m_vLastPos; // 0x1208 - Vector m_vDir; // 0x1214 - float m_flSpeed; // 0x1220 - float m_flDistRemaining; // 0x1224 - float m_flTreeTimeRemaining; // 0x1228 - CHandle< C_BaseEntity > m_hLastHit; // 0x122c + float speed; // 0x12b8 + int32_t min_distance_before_bounce; // 0x12bc + float drag; // 0x12c0 + float max_height; // 0x12c4 + float max_vertical_move_time; // 0x12c8 + float bounce_turn_angle; // 0x12cc + float bounce_turn_angle_tree; // 0x12d0 + float bounce_delay; // 0x12d4 + Vector m_vLastPos; // 0x12d8 + Vector m_vDir; // 0x12e4 + float m_flSpeed; // 0x12f0 + float m_flDistRemaining; // 0x12f4 + float m_flTreeTimeRemaining; // 0x12f8 + CHandle< C_BaseEntity > m_hLastHit; // 0x12fc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Seasonal_TI9_Banner : public C_DOTABaseAbility { public: @@ -44648,7 +45574,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Seasonal_TI9_Drums_Thinker : public CDOTA_Buff { public: @@ -44656,7 +45582,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Seasonal_TI9_Instruments : public C_DOTABaseAbility { public: @@ -44664,15 +45590,15 @@ public: }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_TI9_Shovel_Stasis_Trap : public CDOTA_Modifier_Seasonal_Summon_Common_Thinker { public: - CHandle< C_BaseEntity > m_hHero; // 0x11f8 + CHandle< C_BaseEntity > m_hHero; // 0x12c8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Seasonal_TI9_Shovel : public C_DOTABaseAbility { public: @@ -44680,20 +45606,20 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_TI9_Shovel_BabyRoshan : public CDOTA_Buff { public: - bool m_bFirstThink; // 0x11e8 + bool m_bFirstThink; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - GameTime_t m_flStartTime; // 0x11ec - Vector m_vecStartingPos; // 0x11f0 + GameTime_t m_flStartTime; // 0x12bc + Vector m_vecStartingPos; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Seasonal_TI9_Monkey_Thinker : public CDOTA_Buff { public: @@ -44701,7 +45627,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Seasonal_TI9_MonkeyPoop : public CDOTA_Buff { public: @@ -44709,7 +45635,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Seasonal_TI9_Monkey : public C_DOTABaseAbility { public: @@ -44717,7 +45643,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Lesser_NightCrawler_Pounce : public C_DOTABaseAbility { public: @@ -44725,20 +45651,20 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Lesser_NightCrawler_Pounce : public CDOTA_Buff { public: - int32_t pounce_distance; // 0x11e8 - float pounce_speed; // 0x11ec - float pounce_acceleration; // 0x11f0 - int32_t pounce_radius; // 0x11f4 - int32_t pounce_damage; // 0x11f8 - float leash_duration; // 0x11fc + int32_t pounce_distance; // 0x12b8 + float pounce_speed; // 0x12bc + float pounce_acceleration; // 0x12c0 + int32_t pounce_radius; // 0x12c4 + int32_t pounce_damage; // 0x12c8 + float leash_duration; // 0x12cc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Zombie_Berserk : public C_DOTABaseAbility { public: @@ -44746,16 +45672,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Zombie_Berserk : public CDOTA_Buff { public: - int32_t berserk_bonus_attack_speed; // 0x11e8 - int32_t berserk_bonus_movement_speed; // 0x11ec + int32_t berserk_bonus_attack_speed; // 0x12b8 + int32_t berserk_bonus_movement_speed; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Corspselord_Revive : public C_DOTABaseAbility { public: @@ -44763,19 +45689,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Corpselord_Revive : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t ticks_to_revive; // 0x11ec - float tick_interval; // 0x11f0 - CHandle< C_DOTA_BaseNPC > m_pReviveTarget; // 0x11f4 - int32_t m_nCurrentTicks; // 0x11f8 + int32_t radius; // 0x12b8 + int32_t ticks_to_revive; // 0x12bc + float tick_interval; // 0x12c0 + CHandle< C_DOTA_BaseNPC > m_pReviveTarget; // 0x12c4 + int32_t m_nCurrentTicks; // 0x12c8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Slithereen_Riptide : public C_DOTABaseAbility { public: @@ -44783,41 +45709,41 @@ public: }; // Alignment: 8 -// Size: 0x5e8 +// Size: 0x5f8 class C_DOTA_Ability_Creature_Fire_Breath : public C_DOTABaseAbility { public: - int32_t speed; // 0x5a0 - int32_t projectile_count; // 0x5a4 - float rotation_angle; // 0x5a8 - float damage; // 0x5ac - float radius; // 0x5b0 + int32_t speed; // 0x5b0 + int32_t projectile_count; // 0x5b4 + float rotation_angle; // 0x5b8 + float damage; // 0x5bc + float radius; // 0x5c0 private: - [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 + [[maybe_unused]] uint8_t __pad05c4[0x4]; // 0x5c4 public: - CountdownTimer ctTimer; // 0x5b8 - Vector m_vecStartRot; // 0x5d0 - Vector m_vecEndRot; // 0x5dc + CountdownTimer ctTimer; // 0x5c8 + Vector m_vecStartRot; // 0x5e0 + Vector m_vecEndRot; // 0x5ec }; // Alignment: 9 -// Size: 0x5e8 +// Size: 0x5f8 class C_DOTA_Ability_Creature_Ice_Breath : public C_DOTABaseAbility { public: - int32_t speed; // 0x5a0 - int32_t projectile_count; // 0x5a4 - float rotation_angle; // 0x5a8 - float damage; // 0x5ac - float radius; // 0x5b0 - float slow_duration; // 0x5b4 - CountdownTimer ctTimer; // 0x5b8 - Vector m_vecStartRot; // 0x5d0 - Vector m_vecEndRot; // 0x5dc + int32_t speed; // 0x5b0 + int32_t projectile_count; // 0x5b4 + float rotation_angle; // 0x5b8 + float damage; // 0x5bc + float radius; // 0x5c0 + float slow_duration; // 0x5c4 + CountdownTimer ctTimer; // 0x5c8 + Vector m_vecStartRot; // 0x5e0 + Vector m_vecEndRot; // 0x5ec }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Creature_IceSlam : public C_DOTABaseAbility { public: @@ -44825,16 +45751,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Creature_IceSlam_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - ParticleIndex_t m_nPathEffectIndex; // 0x11ec + int32_t radius; // 0x12b8 + ParticleIndex_t m_nPathEffectIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_GreaterClarity : public C_DOTA_Item { public: @@ -44842,15 +45768,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_GreaterClarity : public CDOTA_Buff { public: - int32_t total_mana; // 0x11e8 + int32_t total_mana; // 0x12b8 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_UpgradedMortar : public C_DOTA_Item { public: @@ -44858,15 +45784,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_UpgradedMortar : public CDOTA_Buff { public: - int32_t bonus_per_upgrade; // 0x11e8 + int32_t bonus_per_upgrade; // 0x12b8 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_UpgradedBarricade : public C_DOTA_Item { public: @@ -44874,32 +45800,32 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_UpgradedBarricade : public CDOTA_Buff { public: - int32_t armor_bonus_per_upgrade; // 0x11e8 - int32_t hp_bonus_per_upgrade; // 0x11ec + int32_t armor_bonus_per_upgrade; // 0x12b8 + int32_t hp_bonus_per_upgrade; // 0x12bc }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Creature_HybridFlyer : public CDOTA_Buff { public: - CountdownTimer m_ctTimer; // 0x11e8 + CountdownTimer m_ctTimer; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Creature_Full_Avoidance : public CDOTA_Buff { public: - float m_flOriginalAvoidance; // 0x11e8 + float m_flOriginalAvoidance; // 0x12b8 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_BagOfGold : public C_DOTA_Item { public: @@ -44907,7 +45833,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_LootDrop_Thinker : public CDOTA_Buff { public: @@ -44915,7 +45841,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_ItemWiggle_Thinker : public CDOTA_Buff { public: @@ -44923,7 +45849,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Frostivus2018_Throw_Snowball : public C_DOTABaseAbility { public: @@ -44931,7 +45857,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Frostivus2018_Summon_Snowman : public C_DOTABaseAbility { public: @@ -44939,26 +45865,26 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_Summon_Snowman_Thinker : public CDOTA_Buff { public: - float tick_rate; // 0x11e8 - int32_t taunt_radius; // 0x11ec - float taunt_duration; // 0x11f0 + float tick_rate; // 0x12b8 + int32_t taunt_radius; // 0x12bc + float taunt_duration; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Snowman_Taunt : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hZombieTarget; // 0x11e8 - bool m_bDidSetAttackTarget; // 0x11ec + CHandle< C_BaseEntity > m_hZombieTarget; // 0x12b8 + bool m_bDidSetAttackTarget; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Frostivus2018_Decorate_Tree : public C_DOTABaseAbility { public: @@ -44966,17 +45892,17 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Decorate_Tree_Thinker : public CDOTA_Buff { public: - int32_t num_explosions; // 0x11e8 - int32_t radius; // 0x11ec - float m_fExplosions; // 0x11f0 + int32_t num_explosions; // 0x12b8 + int32_t radius; // 0x12bc + float m_fExplosions; // 0x12c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Frostivus2018_Festive_Firework : public C_DOTABaseAbility { public: @@ -44984,7 +45910,7 @@ public: }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_FestiveFirework : public CDOTA_Buff { public: @@ -44992,35 +45918,35 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_FestiveFirework_Blind : public CDOTA_Buff { public: - int32_t miss_rate; // 0x11e8 + int32_t miss_rate; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_Siege_Fireball_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float duration; // 0x11ec - float tick_interval; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 + int32_t radius; // 0x12b8 + float duration; // 0x12bc + float tick_interval; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Siege_Fireball_Burn : public CDOTA_Buff { public: - int32_t damage_per_tick; // 0x11e8 - float tick_interval; // 0x11ec + int32_t damage_per_tick; // 0x12b8 + float tick_interval; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Frostivus2018_FacelessVoid_TimeLock : public C_DOTABaseAbility { public: @@ -45028,23 +45954,23 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeLock : public CDOTA_Buff { public: - float duration; // 0x11e8 - float duration_creep; // 0x11ec - int32_t chance_pct; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - int32_t radius; // 0x11f8 + float duration; // 0x12b8 + float duration_creep; // 0x12bc + int32_t chance_pct; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker : public CDOTA_Buff { public: - CUtlVector< CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker::sDamageSources > m_vDamageSources; // 0x11e8 + CUtlVector< CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker::sDamageSources > m_vDamageSources; // 0x12b8 }; // Alignment: 2 @@ -45057,26 +45983,26 @@ public: }; // Alignment: 4 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Frostivus2018_FacelessVoid_TimeWalk : public C_DOTABaseAbility { public: - int32_t speed; // 0x5a0 - int32_t range; // 0x5a4 - int32_t radius; // 0x5a8 - int32_t damage; // 0x5ac + int32_t speed; // 0x5b0 + int32_t range; // 0x5b4 + int32_t radius; // 0x5b8 + int32_t damage; // 0x5bc }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Frostivus2018_Luna_LucentBeam : public C_DOTABaseAbility { public: - int32_t radius; // 0x5a0 + int32_t radius; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Frostivus2018_Luna_Eclipse : public C_DOTABaseAbility { public: @@ -45084,35 +46010,35 @@ public: }; // Alignment: 15 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_Frostivus2018_Luna_Eclipse : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - int32_t radius; // 0x11ec - int32_t beams; // 0x11f0 - int32_t hit_count; // 0x11f4 - int32_t m_iBeamDamage; // 0x11f8 - float m_flBeamStun; // 0x11fc - Vector vPosition; // 0x1200 - int32_t lucent_beam_radius; // 0x120c - bool bAreaTarget; // 0x1210 + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + int32_t radius; // 0x12bc + int32_t beams; // 0x12c0 + int32_t hit_count; // 0x12c4 + int32_t m_iBeamDamage; // 0x12c8 + float m_flBeamStun; // 0x12cc + Vector vPosition; // 0x12d0 + int32_t lucent_beam_radius; // 0x12dc + bool bAreaTarget; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t m_iTickCount; // 0x1214 - ParticleIndex_t m_nMoonlightFXIndex; // 0x1218 + int32_t m_iTickCount; // 0x12e4 + ParticleIndex_t m_nMoonlightFXIndex; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x1220 - float beam_interval; // 0x1238 - float beam_interval_scepter; // 0x123c - float m_flInterval; // 0x1240 + CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x12f0 + float beam_interval; // 0x1308 + float beam_interval_scepter; // 0x130c + float m_flInterval; // 0x1310 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Frostivus2018_Clinkz_Strafe : public C_DOTABaseAbility { public: @@ -45120,18 +46046,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_Clinkz_Strafe : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x11e8 - int32_t attack_spill_width; // 0x11ec - int32_t attack_spill_range; // 0x11f0 - float spill_damage_multiplier; // 0x11f4 + int32_t attack_speed_bonus_pct; // 0x12b8 + int32_t attack_spill_width; // 0x12bc + int32_t attack_spill_range; // 0x12c0 + float spill_damage_multiplier; // 0x12c4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Frostivus2018_Clinkz_SearingArrows : public C_DOTABaseAbility { public: @@ -45139,23 +46065,23 @@ public: }; // Alignment: 6 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Frostivus2018_Clinkz_SearingArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 - bool m_bBonusAttack; // 0x1200 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + bool m_bBonusAttack; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t damage_bonus; // 0x1204 - int32_t attack_spill_width; // 0x1208 - int32_t attack_spill_range; // 0x120c - float spill_damage_multiplier; // 0x1210 + int32_t damage_bonus; // 0x12d4 + int32_t attack_spill_width; // 0x12d8 + int32_t attack_spill_range; // 0x12dc + float spill_damage_multiplier; // 0x12e0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Frostivus2018_Clinkz_WindWalk : public C_DOTABaseAbility { public: @@ -45163,66 +46089,66 @@ public: }; // Alignment: 7 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk : public CDOTA_Modifier_Invisible { public: - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x11f8 - bool m_bFreePathing; // 0x1210 + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x12c8 + bool m_bFreePathing; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t move_speed_bonus_pct; // 0x1214 - int32_t radius; // 0x1218 - int32_t attack_steal_amount; // 0x121c - float attack_steal_duration; // 0x1220 - int32_t max_stacks; // 0x1224 + int32_t move_speed_bonus_pct; // 0x12e4 + int32_t radius; // 0x12e8 + int32_t attack_steal_amount; // 0x12ec + float attack_steal_duration; // 0x12f0 + int32_t max_stacks; // 0x12f4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk_BonusDamage : public CDOTA_Buff { public: - int32_t bonus_base_dmg_per_stack; // 0x11e8 + int32_t bonus_base_dmg_per_stack; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk_AttackDebuff : public CDOTA_Buff { public: - int32_t attack_steal_amount; // 0x11e8 + int32_t attack_steal_amount; // 0x12b8 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Frostivus2018_Clinkz_Burning_Army : public C_DOTABaseAbility { public: - int32_t range; // 0x5a0 + int32_t range; // 0x5b0 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_Clinkz_Burning_Army_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x11e8 - Vector m_vFacePosition; // 0x11ec + int32_t m_iCount; // 0x12b8 + Vector m_vFacePosition; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Clinkz_Burning_Army : public CDOTA_Buff { public: - float attack_rate; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + float attack_rate; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Frostivus2018_BroodBaby_Launch : public CDOTA_Buff { public: @@ -45230,21 +46156,21 @@ public: }; // Alignment: 7 -// Size: 0x5c0 +// Size: 0x5d0 class CDOTA_Ability_Tusk_SnowballMeteor : public C_DOTABaseAbility { public: - int32_t area_of_effect; // 0x5a0 - float damage_interval; // 0x5a4 - int32_t vision_distance; // 0x5a8 - float end_vision_duration; // 0x5ac - float main_damage; // 0x5b0 - float burn_duration; // 0x5b4 - float burn_dps; // 0x5b8 + int32_t area_of_effect; // 0x5b0 + float damage_interval; // 0x5b4 + int32_t vision_distance; // 0x5b8 + float end_vision_duration; // 0x5bc + float main_damage; // 0x5c0 + float burn_duration; // 0x5c4 + float burn_dps; // 0x5c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tusk_SnowballMeteor_Land : public CDOTA_Buff { public: @@ -45252,7 +46178,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tusk_SnowballMeteor_Burn : public CDOTA_Buff { public: @@ -45260,45 +46186,45 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Frostivus2018_Tusk_WalrusKick : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXKickIndex; // 0x5a0 + ParticleIndex_t m_nFXKickIndex; // 0x5b0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Tusk_WalrusKick_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Tusk_WalrusKick_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x11e8 + int32_t hp_threshold; // 0x12b8 }; // Alignment: 4 -// Size: 0x5d0 +// Size: 0x5e0 class C_DOTA_Ability_Frostivus2018_Windrunner_Shackleshot : public C_DOTABaseAbility { public: - int32_t shackle_count; // 0x5a0 - Vector m_vArrowStartPos; // 0x5a4 - CHandle< C_BaseEntity > m_hTarget; // 0x5b0 + int32_t shackle_count; // 0x5b0 + Vector m_vArrowStartPos; // 0x5b4 + CHandle< C_BaseEntity > m_hTarget; // 0x5c0 private: - [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 + [[maybe_unused]] uint8_t __pad05c4[0x4]; // 0x5c4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x5b8 + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x5c8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Frostivus2018_DarkWillow_ShadowRealm : public C_DOTABaseAbility { public: @@ -45306,31 +46232,31 @@ public: }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_DarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x11e8 - float damage; // 0x11ec - float max_damage_duration; // 0x11f0 - float slow_radius; // 0x11f4 - float burn_duration; // 0x11f8 - float burn_damage; // 0x11fc - float slow_attack_speed_pct; // 0x1200 + GameTime_t m_flStartTime; // 0x12b8 + float damage; // 0x12bc + float max_damage_duration; // 0x12c0 + float slow_radius; // 0x12c4 + float burn_duration; // 0x12c8 + float burn_damage; // 0x12cc + float slow_attack_speed_pct; // 0x12d0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_DarkWillow_ShadowRealm_Burn_Slow : public CDOTA_Buff { public: - float burn_damage; // 0x11e8 - int32_t move_slow; // 0x11ec - float m_flDamageScale; // 0x11f0 + float burn_damage; // 0x12b8 + int32_t move_slow; // 0x12bc + float m_flDamageScale; // 0x12c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Frostivus2018_DarkWillow_BrambleMaze : public C_DOTABaseAbility { public: @@ -45338,39 +46264,39 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_DarkWillow_BrambleMaze_Creation_Thinker : public CDOTA_Buff { public: - float latch_creation_interval; // 0x11e8 - float initial_creation_delay; // 0x11ec - int32_t placement_count; // 0x11f0 - float placement_duration; // 0x11f4 - int32_t m_iBramblesIndex; // 0x11f8 + float latch_creation_interval; // 0x12b8 + float initial_creation_delay; // 0x12bc + int32_t placement_count; // 0x12c0 + float placement_duration; // 0x12c4 + int32_t m_iBramblesIndex; // 0x12c8 }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Frostivus2018_DarkWillow_BrambleMaze_Thinker : public CDOTA_Buff { public: - int32_t latch_count; // 0x11e8 - int32_t latch_range; // 0x11ec - int32_t latch_vision; // 0x11f0 - float latch_creation_delay; // 0x11f4 - float latch_duration; // 0x11f8 + int32_t latch_count; // 0x12b8 + int32_t latch_range; // 0x12bc + int32_t latch_vision; // 0x12c0 + float latch_creation_delay; // 0x12c4 + float latch_duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x8]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x8]; // 0x12cc public: - bool m_bActive; // 0x1204 + bool m_bActive; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - int32_t m_nLatchedEnemies; // 0x1208 + int32_t m_nLatchedEnemies; // 0x12d8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Frostivus2018_DarkWillow_Bedlam : public C_DOTABaseAbility { public: @@ -45378,50 +46304,50 @@ public: }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_DarkWillow_Bedlam : public CDOTA_Buff { public: - float m_flRotation; // 0x11e8 - CHandle< C_BaseEntity > m_hWisp; // 0x11ec - GameTime_t m_flLastAttack; // 0x11f0 - int32_t roaming_radius; // 0x11f4 - int32_t attack_radius; // 0x11f8 - float roaming_seconds_per_rotation; // 0x11fc - float attack_interval; // 0x1200 - int32_t attack_targets; // 0x1204 + float m_flRotation; // 0x12b8 + CHandle< C_BaseEntity > m_hWisp; // 0x12bc + GameTime_t m_flLastAttack; // 0x12c0 + int32_t roaming_radius; // 0x12c4 + int32_t attack_radius; // 0x12c8 + float roaming_seconds_per_rotation; // 0x12cc + float attack_interval; // 0x12d0 + int32_t attack_targets; // 0x12d4 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Frostivus2018_Puck_DreamCoil : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hThinker; // 0x5a0 + CHandle< C_BaseEntity > m_hThinker; // 0x5b0 }; // Alignment: 10 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Frostivus2018_Puck_DreamCoil_Thinker : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > m_hLinkedEntities; // 0x11e8 - int32_t coil_radius; // 0x1200 - int32_t coil_break_radius; // 0x1204 - float coil_stun_duration; // 0x1208 - float coil_stun_duration_scepter; // 0x120c - float coil_slow; // 0x1210 - int32_t coil_break_damage; // 0x1214 - int32_t coil_break_damage_scepter; // 0x1218 - bool m_bHasScepter; // 0x121c + CUtlVector< CHandle< C_BaseEntity > > m_hLinkedEntities; // 0x12b8 + int32_t coil_radius; // 0x12d0 + int32_t coil_break_radius; // 0x12d4 + float coil_stun_duration; // 0x12d8 + float coil_stun_duration_scepter; // 0x12dc + float coil_slow; // 0x12e0 + int32_t coil_break_damage; // 0x12e4 + int32_t coil_break_damage_scepter; // 0x12e8 + bool m_bHasScepter; // 0x12ec private: - [[maybe_unused]] uint8_t __pad121d[0x3]; // 0x121d + [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed public: - CUtlVector< ParticleIndex_t > m_FXIndex; // 0x1220 + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x12f0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Frostivus2018_Puck_Coiled : public CDOTA_Buff { public: @@ -45429,88 +46355,88 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Frostivus2018_Spectre_ActiveDispersion : public C_DOTABaseAbility { public: - ParticleIndex_t m_nPreviewFX; // 0x5a0 - float duration; // 0x5a4 + ParticleIndex_t m_nPreviewFX; // 0x5b0 + float duration; // 0x5b4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Spectre_ActiveDispersion : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x11e8 + int32_t damage_reflection_pct; // 0x12b8 }; // Alignment: 10 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Frostivus2018_Spectre_ActiveDispersion_Thinker : public CDOTA_Buff { public: - float m_fDamage; // 0x11e8 - float m_fLastRadius; // 0x11ec - float m_fCurRadius; // 0x11f0 - GameTime_t m_fLastThink; // 0x11f4 - bool m_bContracting; // 0x11f8 + float m_fDamage; // 0x12b8 + float m_fLastRadius; // 0x12bc + float m_fCurRadius; // 0x12c0 + GameTime_t m_fLastThink; // 0x12c4 + bool m_bContracting; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x7]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x7]; // 0x12c9 public: - CountdownTimer m_ViewerTimer; // 0x1200 - ParticleIndex_t m_nFXIndex; // 0x1218 + CountdownTimer m_ViewerTimer; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1220 - int32_t speed; // 0x1238 - int32_t radius; // 0x123c + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12f0 + int32_t speed; // 0x1308 + int32_t radius; // 0x130c }; // Alignment: 8 -// Size: 0x5d8 +// Size: 0x5e8 class CDOTA_Ability_Frostivus2018_Centaur_Stampede : public C_DOTABaseAbility { public: - float duration; // 0x5a0 - int32_t base_damage; // 0x5a4 - float strength_damage; // 0x5a8 - float slow_duration; // 0x5ac - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x5b0 - int32_t armor_amount; // 0x5c8 - float armor_duration; // 0x5cc - int32_t max_armor_stacks; // 0x5d0 + float duration; // 0x5b0 + int32_t base_damage; // 0x5b4 + float strength_damage; // 0x5b8 + float slow_duration; // 0x5bc + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x5c0 + int32_t armor_amount; // 0x5d8 + float armor_duration; // 0x5dc + int32_t max_armor_stacks; // 0x5e0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 + int32_t slow_movement_speed; // 0x12b8 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t damage_reduction; // 0x11ec - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x11f0 + int32_t radius; // 0x12b8 + int32_t damage_reduction; // 0x12bc + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede_Bonus_Armor : public CDOTA_Buff { public: - int32_t bonus_base_armor_per_stack; // 0x11e8 + int32_t bonus_base_armor_per_stack; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Frostivus2018_Centaur_Return : public C_DOTABaseAbility { public: @@ -45518,34 +46444,34 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Centaur_Return_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_Centaur_Return : public CDOTA_Buff { public: - int32_t return_damage; // 0x11e8 - float strength_gain_duration; // 0x11ec - int32_t max_stacks; // 0x11f0 - int32_t ally_factor; // 0x11f4 + int32_t return_damage; // 0x12b8 + float strength_gain_duration; // 0x12bc + int32_t max_stacks; // 0x12c0 + int32_t ally_factor; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Centaur_Return_Bonus_Strength : public CDOTA_Buff { public: - int32_t strength_gain; // 0x11e8 + int32_t strength_gain; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Frostivus2018_Centaur_DoubleEdge : public C_DOTABaseAbility { public: @@ -45553,7 +46479,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Frostivus2018_Huskar_Inner_Fire : public C_DOTABaseAbility { public: @@ -45561,7 +46487,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Frostivus2018_Huskar_Inner_Fire_Disarm : public CDOTA_Buff { public: @@ -45569,17 +46495,17 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Self : public CDOTA_Buff { public: - int32_t health_cost; // 0x11e8 - int32_t spear_aoe; // 0x11ec - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + int32_t health_cost; // 0x12b8 + int32_t spear_aoe; // 0x12bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Frostivus2018_Huskar_Burning_Spear : public C_DOTABaseAbility { public: @@ -45587,38 +46513,38 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Counter : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Debuff : public CDOTA_Buff { public: - int32_t burn_damage; // 0x11e8 - float tick_rate; // 0x11ec + int32_t burn_damage; // 0x12b8 + float tick_rate; // 0x12bc }; // Alignment: 4 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Frostivus2018_Huskar_Life_Break : public C_DOTABaseAbility { public: - Vector m_vProjectileLocation; // 0x5a0 - CHandle< C_BaseEntity > m_hTarget; // 0x5ac - bool m_bInterrupted; // 0x5b0 + Vector m_vProjectileLocation; // 0x5b0 + CHandle< C_BaseEntity > m_hTarget; // 0x5bc + bool m_bInterrupted; // 0x5c0 private: - [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 + [[maybe_unused]] uint8_t __pad05c1[0x3]; // 0x5c1 public: - int32_t max_damage; // 0x5b4 + int32_t max_damage; // 0x5c4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Frostivus2018_Omniknight_Purification : public C_DOTABaseAbility { public: @@ -45626,7 +46552,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Frostivus2018_Omniknight_Degen_Aura : public C_DOTABaseAbility { public: @@ -45634,24 +46560,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Omniknight_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x11e8 - int32_t bonus_health_regen; // 0x11ec + int32_t speed_bonus; // 0x12b8 + int32_t bonus_health_regen; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Frostivus2018_Omniknight_Repel : public C_DOTABaseAbility { public: @@ -45659,35 +46585,35 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Omniknight_Repel : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 + int32_t damage_reduction; // 0x12b8 }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Frostivus2018_Magnataur_Skewer : public C_DOTABaseAbility { public: - int32_t skewer_radius; // 0x5a0 - int32_t skewer_speed; // 0x5a4 - int32_t range; // 0x5a8 - int32_t tree_radius; // 0x5ac - int32_t m_nTargetsHit; // 0x5b0 + int32_t skewer_radius; // 0x5b0 + int32_t skewer_speed; // 0x5b4 + int32_t range; // 0x5b8 + int32_t tree_radius; // 0x5bc + int32_t m_nTargetsHit; // 0x5c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Magnataur_Skewer_Bonus_Strength : public CDOTA_Buff { public: - int32_t strength_gain; // 0x11e8 + int32_t strength_gain; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Frostivus2018_Pangolier_ShieldCrash : public C_DOTABaseAbility { public: @@ -45695,7 +46621,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Frostivus2018_Pangolier_ShieldCrash_Jump : public CDOTA_Buff { public: @@ -45703,33 +46629,33 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Frostivus2018_TrollWarlord_BattleTrance : public C_DOTABaseAbility { public: - float trance_duration; // 0x5a0 + float trance_duration; // 0x5b0 }; // Alignment: 11 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Frostivus2018_TrollWarlord_BattleTrance : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - int32_t attack_speed; // 0x11ec - int32_t lifesteal; // 0x11f0 - int32_t bonus_damage_pct; // 0x11f4 - float cleave_damage_pct; // 0x11f8 - int32_t cleave_starting_width; // 0x11fc - int32_t cleave_ending_width; // 0x1200 - int32_t cleave_distance; // 0x1204 - float splash_damage_pct; // 0x1208 - int32_t splash_radius; // 0x120c - CHandle< C_BaseEntity > m_hTarget; // 0x1210 + int32_t movement_speed; // 0x12b8 + int32_t attack_speed; // 0x12bc + int32_t lifesteal; // 0x12c0 + int32_t bonus_damage_pct; // 0x12c4 + float cleave_damage_pct; // 0x12c8 + int32_t cleave_starting_width; // 0x12cc + int32_t cleave_ending_width; // 0x12d0 + int32_t cleave_distance; // 0x12d4 + float splash_damage_pct; // 0x12d8 + int32_t splash_radius; // 0x12dc + CHandle< C_BaseEntity > m_hTarget; // 0x12e0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Frostivus2018_TrollWarlord_Fervor : public C_DOTABaseAbility { public: @@ -45737,41 +46663,41 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_TrollWarlord_Fervor : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 - int32_t max_stacks; // 0x11ec - CHandle< C_BaseEntity > m_hUnit; // 0x11f0 + int32_t attack_speed; // 0x12b8 + int32_t max_stacks; // 0x12bc + CHandle< C_BaseEntity > m_hUnit; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_Earthshaker_Aftershock : public CDOTA_Buff { public: - int32_t aftershock_range; // 0x11e8 - float stun_duration; // 0x11ec - int32_t ability_damage; // 0x11f0 + int32_t aftershock_range; // 0x12b8 + float stun_duration; // 0x12bc + int32_t ability_damage; // 0x12c0 }; // Alignment: 7 -// Size: 0x5d8 +// Size: 0x5e8 class C_DOTA_Ability_Frostivus2018_Rubick_GhostShip : public C_DOTABaseAbility { public: - float buff_duration; // 0x5a0 - float stun_duration; // 0x5a4 - int32_t ghostship_width; // 0x5a8 - int32_t ghostship_speed; // 0x5ac - int32_t ghostship_distance; // 0x5b0 - Vector m_vFinalDestination; // 0x5b4 - Vector m_vStartingPoint; // 0x5c0 + float buff_duration; // 0x5b0 + float stun_duration; // 0x5b4 + int32_t ghostship_width; // 0x5b8 + int32_t ghostship_speed; // 0x5bc + int32_t ghostship_distance; // 0x5c0 + Vector m_vFinalDestination; // 0x5c4 + Vector m_vStartingPoint; // 0x5d0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Frostivus2018_Weaver_GeminateAttack : public C_DOTABaseAbility { public: @@ -45779,35 +46705,35 @@ public: }; // Alignment: 4 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Frostivus2018_Weaver_GeminateAttack : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - int32_t m_iAttacksRemaining; // 0x11ec + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + int32_t m_iAttacksRemaining; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11f0[0x38]; // 0x11f0 + [[maybe_unused]] uint8_t __pad12c0[0x38]; // 0x12c0 public: - int32_t arrow_count; // 0x1228 - int32_t bonus_range; // 0x122c + int32_t arrow_count; // 0x12f8 + int32_t bonus_range; // 0x12fc }; // Alignment: 7 -// Size: 0x658 +// Size: 0x670 class C_DOTA_Item_SpookyTeleportScroll : public C_DOTA_Item { public: - CHandle< C_BaseEntity > m_hTeleportTarget; // 0x630 - ParticleIndex_t m_nFXOrigin; // 0x634 - ParticleIndex_t m_nFXDestination; // 0x638 - Vector m_vDestination; // 0x63c - int32_t m_iMinDistance; // 0x648 - float m_flBaseTeleportTime; // 0x64c - float m_flExtraTeleportTime; // 0x650 + CHandle< C_BaseEntity > m_hTeleportTarget; // 0x648 + ParticleIndex_t m_nFXOrigin; // 0x64c + ParticleIndex_t m_nFXDestination; // 0x650 + Vector m_vDestination; // 0x654 + int32_t m_iMinDistance; // 0x660 + float m_flBaseTeleportTime; // 0x664 + float m_flExtraTeleportTime; // 0x668 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Diretide_Portal : public C_DOTABaseAbility { public: @@ -45815,7 +46741,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Diretide_Portal_Channeling : public CDOTA_Buff { public: @@ -45823,27 +46749,27 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Diretide_Portal_Buff : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hInvader; // 0x11e8 + CHandle< C_BaseEntity > m_hInvader; // 0x12b8 }; // Alignment: 4 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_Diretide_Portal_Channel : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 - CHandle< C_BaseEntity > m_hInitialPortal; // 0x5a4 - Vector m_vDestination; // 0x5a8 + ParticleIndex_t m_nFXIndex; // 0x5b0 + CHandle< C_BaseEntity > m_hInitialPortal; // 0x5b4 + Vector m_vDestination; // 0x5b8 // MNetworkEnable - CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x5b4 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x5c4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Diretide2020_HighFive : public C_DOTABaseAbility { public: @@ -45851,31 +46777,31 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_Diretide2020_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x11e8 - float think_interval; // 0x11ec - float acknowledged_cooldown; // 0x11f0 - bool m_bAcknowledged; // 0x11f4 - bool m_bFirstThink; // 0x11f5 + int32_t acknowledge_range; // 0x12b8 + float think_interval; // 0x12bc + float acknowledged_cooldown; // 0x12c0 + bool m_bAcknowledged; // 0x12c4 + bool m_bFirstThink; // 0x12c5 private: - [[maybe_unused]] uint8_t __pad11f6[0x2]; // 0x11f6 + [[maybe_unused]] uint8_t __pad12c6[0x2]; // 0x12c6 public: - int32_t high_five_level; // 0x11f8 + int32_t high_five_level; // 0x12c8 }; // Alignment: 1 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_Spring2021_DefusalBomb : public C_DOTA_Item { public: - bool m_bInBombSite; // 0x630 + bool m_bInBombSite; // 0x648 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Spring2021_BombHolder : public CDOTA_Buff_Item { public: @@ -45883,7 +46809,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Spring2021_BombPlantable : public CDOTA_Buff { public: @@ -45891,26 +46817,26 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Spring2021_DefusalBomb : public CDOTA_Buff { public: - float BOMB_DURATION; // 0x11e8 - float BOMB_FAST_TICK_START; // 0x11ec - float BOMB_DEFAULT_TICK; // 0x11f0 + float BOMB_DURATION; // 0x12b8 + float BOMB_FAST_TICK_START; // 0x12bc + float BOMB_DEFAULT_TICK; // 0x12c0 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Spring2021_DefusalBomb_Defuse : public C_DOTABaseAbility { public: // MNetworkEnable - CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x5a0 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Spring2021_TowerDeathRing : public C_DOTABaseAbility { public: @@ -45918,31 +46844,31 @@ public: }; // Alignment: 11 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Spring2021_TowerDeathRing_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x11e8 - float m_fCurRadius; // 0x11ec - GameTime_t m_fLastThink; // 0x11f0 - bool m_bWindingUp; // 0x11f4 + float m_fLastRadius; // 0x12b8 + float m_fCurRadius; // 0x12bc + GameTime_t m_fLastThink; // 0x12c0 + bool m_bWindingUp; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - CountdownTimer m_ViewerTimer; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x1210 + CountdownTimer m_ViewerTimer; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1218 - int32_t speed; // 0x1230 - int32_t radius; // 0x1234 - int32_t damage; // 0x1238 - float windup_time; // 0x123c + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12e8 + int32_t speed; // 0x1300 + int32_t radius; // 0x1304 + int32_t damage; // 0x1308 + float windup_time; // 0x130c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Winter2022_EnableFeedableRoshanInteract : public CDOTA_Buff { public: @@ -45950,37 +46876,37 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_AghsFort_Tower_BlastWave : public C_DOTABaseAbility { public: - ParticleIndex_t m_nPreviewFX; // 0x5a0 - float duration; // 0x5a4 + ParticleIndex_t m_nPreviewFX; // 0x5b0 + float duration; // 0x5b4 }; // Alignment: 8 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_AghsFort_Tower_BlastWave_Thinker : public CDOTA_Buff { public: - float damage_pct; // 0x11e8 - float m_fCurRadius; // 0x11ec - GameTime_t m_fLastThink; // 0x11f0 + float damage_pct; // 0x12b8 + float m_fCurRadius; // 0x12bc + GameTime_t m_fLastThink; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CountdownTimer m_ViewerTimer; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x1210 + CountdownTimer m_ViewerTimer; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1218 - int32_t speed; // 0x1230 - int32_t radius; // 0x1234 + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12e8 + int32_t speed; // 0x1300 + int32_t radius; // 0x1304 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_TempBuff_CorpseExplosion : public C_DOTABaseAbility { public: @@ -45988,25 +46914,25 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Debuff : public CDOTA_Buff { public: - int32_t corpse_explosion_radius; // 0x11e8 - int32_t corpse_explosion_damage_pct; // 0x11ec - int32_t corpse_explosion_chance_pct; // 0x11f0 + int32_t corpse_explosion_radius; // 0x12b8 + int32_t corpse_explosion_damage_pct; // 0x12bc + int32_t corpse_explosion_chance_pct; // 0x12c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Reward_HPAura : public C_DOTABaseAbility { public: @@ -46014,23 +46940,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Reward_HPAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Reward_HPAura_Bonus : public CDOTA_Buff { public: - float bonus_hp; // 0x11e8 + float bonus_hp; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Reward_CritAura : public C_DOTABaseAbility { public: @@ -46038,24 +46964,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Reward_CritAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Reward_CritAura_Bonus : public CDOTA_Buff { public: - int32_t crit_chance; // 0x11e8 - int32_t crit_multiplier; // 0x11ec + int32_t crit_chance; // 0x12b8 + int32_t crit_multiplier; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Reward_MagicResistAura : public C_DOTABaseAbility { public: @@ -46063,23 +46989,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Reward_MagicResistAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Reward_MagicResistAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_magical_armor; // 0x11e8 + int32_t bonus_magical_armor; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Reward_ArmorAura : public C_DOTABaseAbility { public: @@ -46087,23 +47013,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Reward_ArmorAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Reward_ArmorAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Ascension_PlasmaField : public C_DOTABaseAbility { public: @@ -46111,43 +47037,43 @@ public: }; // Alignment: 15 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x11e8 - float m_fCurRadius; // 0x11ec - GameTime_t m_fLastThink; // 0x11f0 - bool m_bWindingUp; // 0x11f4 + float m_fLastRadius; // 0x12b8 + float m_fCurRadius; // 0x12bc + GameTime_t m_fLastThink; // 0x12c0 + bool m_bWindingUp; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - CountdownTimer m_ViewerTimer; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x1210 + CountdownTimer m_ViewerTimer; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1218 - int32_t speed; // 0x1230 - int32_t radius; // 0x1234 - int32_t damage_min; // 0x1238 - int32_t damage_max; // 0x123c - int32_t slow_min; // 0x1240 - int32_t slow_max; // 0x1244 - float slow_duration; // 0x1248 - float windup_time; // 0x124c + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12e8 + int32_t speed; // 0x1300 + int32_t radius; // 0x1304 + int32_t damage_min; // 0x1308 + int32_t damage_max; // 0x130c + int32_t slow_min; // 0x1310 + int32_t slow_max; // 0x1314 + float slow_duration; // 0x1318 + float windup_time; // 0x131c }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x11e8 + int32_t slow_amount; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Ascension_Bulwark : public C_DOTABaseAbility { public: @@ -46155,18 +47081,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Ascension_Bulwark : public CDOTA_Buff { public: - float physical_damage_reduction; // 0x11e8 - float physical_damage_reduction_side; // 0x11ec - float forward_angle; // 0x11f0 - float side_angle; // 0x11f4 + float physical_damage_reduction; // 0x12b8 + float physical_damage_reduction_side; // 0x12bc + float forward_angle; // 0x12c0 + float side_angle; // 0x12c4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Ascension_AcidBlood : public C_DOTABaseAbility { public: @@ -46174,25 +47100,25 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Ascension_AcidBlood_Thinker : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t radius; // 0x11ec - ParticleIndex_t m_nFXIndex; // 0x11f0 + int32_t damage; // 0x12b8 + int32_t radius; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Ascension_AcidBlood : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 + int32_t armor_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Ascension_Firefly : public C_DOTABaseAbility { public: @@ -46200,45 +47126,45 @@ public: }; // Alignment: 14 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_AghsFort_Firefly : public CDOTA_Buff { public: - float pool_duration; // 0x11e8 - int32_t radius; // 0x11ec - int32_t m_ifirefly_Active; // 0x11f0 - int32_t tree_radius; // 0x11f4 - int32_t damage_pct_per_second; // 0x11f8 - int32_t movement_speed; // 0x11fc - float trail_placement_duration; // 0x1200 - float burn_linger_duration; // 0x1204 - bool m_bActive; // 0x1208 + float pool_duration; // 0x12b8 + int32_t radius; // 0x12bc + int32_t m_ifirefly_Active; // 0x12c0 + int32_t tree_radius; // 0x12c4 + int32_t damage_pct_per_second; // 0x12c8 + int32_t movement_speed; // 0x12cc + float trail_placement_duration; // 0x12d0 + float burn_linger_duration; // 0x12d4 + bool m_bActive; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - ParticleIndex_t m_nFXIndex; // 0x120c - ParticleIndex_t m_nFXIndexB; // 0x1210 - GameTime_t m_flStartTime; // 0x1214 - Vector m_vLastFirePoolLoc; // 0x1218 + ParticleIndex_t m_nFXIndex; // 0x12dc + ParticleIndex_t m_nFXIndexB; // 0x12e0 + GameTime_t m_flStartTime; // 0x12e4 + Vector m_vLastFirePoolLoc; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1224[0x4]; // 0x1224 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CUtlVector< Vector > m_vFirePoolLocations; // 0x1228 + CUtlVector< Vector > m_vFirePoolLocations; // 0x12f8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Firefly_Burn : public CDOTA_Buff { public: - int32_t damage_pct_per_second; // 0x11e8 - int32_t movement_speed; // 0x11ec - float tick_interval; // 0x11f0 - GameTime_t m_fNextDamageTick; // 0x11f4 + int32_t damage_pct_per_second; // 0x12b8 + int32_t movement_speed; // 0x12bc + float tick_interval; // 0x12c0 + GameTime_t m_fNextDamageTick; // 0x12c4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Ascension_Silence : public C_DOTABaseAbility { public: @@ -46246,7 +47172,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Ascension_Silence_Charge : public CDOTA_Buff { public: @@ -46254,7 +47180,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Ascension_Silence : public CDOTA_Buff { public: @@ -46262,7 +47188,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Ascension_Silence_Display : public CDOTA_Buff { public: @@ -46270,7 +47196,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Ascension_MagneticField : public C_DOTABaseAbility { public: @@ -46278,34 +47204,34 @@ public: }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ascension_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - int32_t radius; // 0x11f0 + int32_t radius; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Ascension_MagneticField_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance; // 0x11e8 - int32_t radius; // 0x11ec + int32_t evasion_chance; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_AghsFort_Ascension_Invis : public C_DOTABaseAbility { public: - float warning_duration; // 0x5a0 + float warning_duration; // 0x5b0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Ascension_Invis_Warning : public CDOTA_Buff { public: @@ -46313,7 +47239,7 @@ public: }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ascension_Invis : public CDOTA_Modifier_PersistentInvisibility { public: @@ -46321,17 +47247,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Ascension_Meteoric_Land : public CDOTA_Buff { public: - int32_t impact_radius; // 0x11e8 - float land_time; // 0x11ec - float burn_duration; // 0x11f0 + int32_t impact_radius; // 0x12b8 + float land_time; // 0x12bc + float burn_duration; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Morty_Hop_Controller : public CDOTA_Buff { public: @@ -46339,17 +47265,17 @@ public: }; // Alignment: 3 -// Size: 0x5d8 +// Size: 0x5e8 class C_DOTA_Ability_Morty_Hop : public C_DOTABaseAbility { public: - float max_distance; // 0x5a0 - Vector m_vTarget; // 0x5a4 - int32_t m_iTrackerProjectile; // 0x5b0 + float max_distance; // 0x5b0 + Vector m_vTarget; // 0x5b4 + int32_t m_iTrackerProjectile; // 0x5c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Morty_Hop_Launch : public C_DOTABaseAbility { public: @@ -46357,18 +47283,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Morty_Hop : public CDOTA_Buff { public: - float duration; // 0x11e8 - int32_t height; // 0x11ec - int32_t damage; // 0x11f0 - int32_t damage_radius; // 0x11f4 + float duration; // 0x12b8 + int32_t height; // 0x12bc + int32_t damage; // 0x12c0 + int32_t damage_radius; // 0x12c4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_ExplosiveBarrel : public C_DOTABaseAbility { public: @@ -46376,59 +47302,59 @@ public: }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_ExplosiveBarrel : public CDOTA_Buff { public: - ParticleIndex_t m_nPreviewFX; // 0x11e8 - int32_t radius; // 0x11ec - int32_t damage; // 0x11f0 - int32_t vision_radius; // 0x11f4 - float vision_duration; // 0x11f8 - int32_t model_scale; // 0x11fc - bool bExploding; // 0x1200 + ParticleIndex_t m_nPreviewFX; // 0x12b8 + int32_t radius; // 0x12bc + int32_t damage; // 0x12c0 + int32_t vision_radius; // 0x12c4 + float vision_duration; // 0x12c8 + int32_t model_scale; // 0x12cc + bool bExploding; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - float stun_duration; // 0x1204 + float stun_duration; // 0x12d4 }; // Alignment: 10 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_PlayerTransform : public CDOTA_Buff { public: - itemid_t m_nCourierItemId; // 0x11e8 - CUtlString m_ModelNameOfDisguise; // 0x11f0 + itemid_t m_nCourierItemId; // 0x12b8 + CUtlString m_ModelNameOfDisguise; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f8[0x8]; // 0x11f8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - int32_t m_nMoveSpeed; // 0x1200 - int32_t m_nDisguisedSpeed; // 0x1204 - ParticleIndex_t m_nDisguiseEffectIndex; // 0x1208 - CHandle< C_BaseEntity > m_hCourier; // 0x120c - bool m_bIsFlyingCourier; // 0x1210 + int32_t m_nMoveSpeed; // 0x12d0 + int32_t m_nDisguisedSpeed; // 0x12d4 + ParticleIndex_t m_nDisguiseEffectIndex; // 0x12d8 + CHandle< C_BaseEntity > m_hCourier; // 0x12dc + bool m_bIsFlyingCourier; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x7]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x7]; // 0x12e1 public: - char* s_pszDonkeyDisguise; // 0x1218 - float invul_duration; // 0x1220 - bool m_bParticlesSpawned; // 0x1224 + char* s_pszDonkeyDisguise; // 0x12e8 + float invul_duration; // 0x12f0 + bool m_bParticlesSpawned; // 0x12f4 }; // Alignment: 4 -// Size: 0x658 +// Size: 0x670 class CDOTA_Ability_AghsFort_Ravage_Potion : public C_DOTA_Item { public: - CUtlVector< CHandle< C_BaseEntity > > m_hEntsHit; // 0x630 - int32_t damage; // 0x648 - float duration; // 0x64c - float spend_charge_delay; // 0x650 + CUtlVector< CHandle< C_BaseEntity > > m_hEntsHit; // 0x648 + int32_t damage; // 0x660 + float duration; // 0x664 + float spend_charge_delay; // 0x668 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Ravage_Potion : public CDOTA_Buff { public: @@ -46436,72 +47362,72 @@ public: }; // Alignment: 7 -// Size: 0x650 +// Size: 0x668 class CDOTA_Ability_AghsFort_Dragon_Potion : public C_DOTA_Item { public: - int32_t bonus_movement_speed; // 0x630 - int32_t bonus_attack_damage; // 0x634 - int32_t bonus_attack_range; // 0x638 - int32_t magic_resistance; // 0x63c - int32_t model_scale; // 0x640 - int32_t skin_number; // 0x644 - bool flying_movement; // 0x648 + int32_t bonus_movement_speed; // 0x648 + int32_t bonus_attack_damage; // 0x64c + int32_t bonus_attack_range; // 0x650 + int32_t magic_resistance; // 0x654 + int32_t model_scale; // 0x658 + int32_t skin_number; // 0x65c + bool flying_movement; // 0x660 }; // Alignment: 10 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_DragonPotion : public CDOTA_Buff_Item { public: - int32_t m_iOriginalAttackCapabilities; // 0x11e8 + int32_t m_iOriginalAttackCapabilities; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11f0 - int32_t bonus_movement_speed; // 0x11f8 - int32_t bonus_attack_damage; // 0x11fc - int32_t bonus_attack_range; // 0x1200 - int32_t attack_projectile_speed; // 0x1204 - int32_t magic_resistance; // 0x1208 - int32_t model_scale; // 0x120c - int32_t skin_number; // 0x1210 - bool flying_movement; // 0x1214 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12c0 + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_attack_damage; // 0x12cc + int32_t bonus_attack_range; // 0x12d0 + int32_t attack_projectile_speed; // 0x12d4 + int32_t magic_resistance; // 0x12d8 + int32_t model_scale; // 0x12dc + int32_t skin_number; // 0x12e0 + bool flying_movement; // 0x12e4 }; // Alignment: 2 -// Size: 0x638 +// Size: 0x650 class CDOTA_Ability_AghsFort_Arcanist_Potion : public C_DOTA_Item { public: - int32_t cooldown_reduction_pct; // 0x630 - int32_t manacost_reduction_pct; // 0x634 + int32_t cooldown_reduction_pct; // 0x648 + int32_t manacost_reduction_pct; // 0x64c }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Arcanist_Potion : public CDOTA_Buff { public: - int32_t m_nCooldownReductionPct; // 0x11e8 - int32_t m_nManaCostReductionPct; // 0x11ec + int32_t m_nCooldownReductionPct; // 0x12b8 + int32_t m_nManaCostReductionPct; // 0x12bc }; // Alignment: 6 -// Size: 0x648 +// Size: 0x660 class CDOTA_Ability_AghsFort_EchoSlamPotion : public C_DOTA_Item { public: - int32_t echo_slam_damage_range; // 0x630 - int32_t echo_slam_echo_search_range; // 0x634 - int32_t echo_slam_echo_range; // 0x638 - int32_t echo_slam_echo_damage; // 0x63c - int32_t echo_slam_initial_damage; // 0x640 - float spend_charge_delay; // 0x644 + int32_t echo_slam_damage_range; // 0x648 + int32_t echo_slam_echo_search_range; // 0x64c + int32_t echo_slam_echo_range; // 0x650 + int32_t echo_slam_echo_damage; // 0x654 + int32_t echo_slam_initial_damage; // 0x658 + float spend_charge_delay; // 0x65c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_EchoSlamPotion_Debuff : public CDOTA_Buff { public: @@ -46509,7 +47435,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Potion_SpendCharge : public CDOTA_Buff_Item { public: @@ -46517,37 +47443,37 @@ public: }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Thinker : public CDOTA_Buff_Item { public: - float m_fProcChance; // 0x11e8 - int32_t m_nRadius; // 0x11ec - int32_t m_nMovespeedBonus; // 0x11f0 - float m_fStunDuration; // 0x11f4 - float m_fSlowDuration; // 0x11f8 - float m_fDelay; // 0x11fc - int32_t m_nTorrentDamage; // 0x1200 + float m_fProcChance; // 0x12b8 + int32_t m_nRadius; // 0x12bc + int32_t m_nMovespeedBonus; // 0x12c0 + float m_fStunDuration; // 0x12c4 + float m_fSlowDuration; // 0x12c8 + float m_fDelay; // 0x12cc + int32_t m_nTorrentDamage; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Torrent : public CDOTA_Buff_Item { public: - int32_t m_nTorrentDamage; // 0x11e8 + int32_t m_nTorrentDamage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Torrent_Slow : public CDOTA_Buff { public: - int32_t m_nMovespeedBonus; // 0x11e8 + int32_t m_nMovespeedBonus; // 0x12b8 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Ability_AghsFort_ShadowWaveEffectPotion : public C_DOTA_Item { public: @@ -46555,23 +47481,23 @@ public: }; // Alignment: 9 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_ShadowWaveEffectPotion : public CDOTA_Buff_Item { public: - int32_t m_iCurJumpCount; // 0x11e8 - Vector m_vCurTargetLoc; // 0x11ec - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11f8 - float m_fProcChance; // 0x1210 - int32_t m_nCastRange; // 0x1214 - int32_t m_nBounceRadius; // 0x1218 - int32_t m_nDamageRadius; // 0x121c - int32_t m_nDamage; // 0x1220 - int32_t m_nMaxTargets; // 0x1224 + int32_t m_iCurJumpCount; // 0x12b8 + Vector m_vCurTargetLoc; // 0x12bc + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12c8 + float m_fProcChance; // 0x12e0 + int32_t m_nCastRange; // 0x12e4 + int32_t m_nBounceRadius; // 0x12e8 + int32_t m_nDamageRadius; // 0x12ec + int32_t m_nDamage; // 0x12f0 + int32_t m_nMaxTargets; // 0x12f4 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_AghsFort_RefresherOrb_Shard : public C_DOTA_Item { public: @@ -46579,7 +47505,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Minor_Stats_Upgrade : public C_DOTABaseAbility { public: @@ -46587,30 +47513,30 @@ public: }; // Alignment: 16 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Minor_Stats_Upgrade : public CDOTA_Buff { public: - int32_t bonus_all_stats; // 0x11e8 - int32_t bonus_primary_stat; // 0x11ec - int32_t bonus_movespeed; // 0x11f0 - int32_t bonus_hp_regen; // 0x11f4 - int32_t bonus_armor; // 0x11f8 - int32_t bonus_attack_damage; // 0x11fc - int32_t bonus_cast_range; // 0x1200 - int32_t bonus_spell_amp; // 0x1204 - int32_t bonus_health; // 0x1208 - int32_t bonus_mana; // 0x120c - int32_t bonus_attack_speed; // 0x1210 - int32_t bonus_heal_amp; // 0x1214 - int32_t bonus_mana_regen; // 0x1218 - int32_t bonus_evasion; // 0x121c - int32_t bonus_magic_resist; // 0x1220 - int32_t bonus_lifesteal; // 0x1224 + int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_primary_stat; // 0x12bc + int32_t bonus_movespeed; // 0x12c0 + int32_t bonus_hp_regen; // 0x12c4 + int32_t bonus_armor; // 0x12c8 + int32_t bonus_attack_damage; // 0x12cc + int32_t bonus_cast_range; // 0x12d0 + int32_t bonus_spell_amp; // 0x12d4 + int32_t bonus_health; // 0x12d8 + int32_t bonus_mana; // 0x12dc + int32_t bonus_attack_speed; // 0x12e0 + int32_t bonus_heal_amp; // 0x12e4 + int32_t bonus_mana_regen; // 0x12e8 + int32_t bonus_evasion; // 0x12ec + int32_t bonus_magic_resist; // 0x12f0 + int32_t bonus_lifesteal; // 0x12f4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_AggroOverride : public CDOTA_Buff { public: @@ -46618,7 +47544,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Aghsfort_BootsOfTravel : public C_DOTA_Item { public: @@ -46626,7 +47552,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Aghsfort_BootsOfTravel_2 : public CDOTA_Item_Aghsfort_BootsOfTravel { public: @@ -46634,16 +47560,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_SwampSickness : public CDOTA_Buff { public: - int32_t slow_percent; // 0x11e8 - bool m_bInRiver; // 0x11ec + int32_t slow_percent; // 0x12b8 + bool m_bInRiver; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_RestorativeFlower : public C_DOTABaseAbility { public: @@ -46651,75 +47577,75 @@ public: }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_RestorativeFlower : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t heal; // 0x11ec - int32_t vision_radius; // 0x11f0 - float vision_duration; // 0x11f4 - int32_t model_scale; // 0x11f8 - bool bExploding; // 0x11fc + int32_t radius; // 0x12b8 + int32_t heal; // 0x12bc + int32_t vision_radius; // 0x12c0 + float vision_duration; // 0x12c4 + int32_t model_scale; // 0x12c8 + bool bExploding; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float stun_duration; // 0x1200 - ParticleIndex_t m_nFXAmbient; // 0x1204 + float stun_duration; // 0x12d0 + ParticleIndex_t m_nFXAmbient; // 0x12d4 }; // Alignment: 6 -// Size: 0x5c8 +// Size: 0x5d8 class C_DOTA_Ability_AghsFort_StonehallGeneral_OverwhelmingOdds : public C_DOTABaseAbility { public: - int32_t max_steps; // 0x5a0 - Vector m_vTarget; // 0x5a4 - Vector m_vDir; // 0x5b0 - int32_t m_nSteps; // 0x5bc - GameTime_t m_flChannelStartTime; // 0x5c0 - ParticleIndex_t m_nFXIndex; // 0x5c4 + int32_t max_steps; // 0x5b0 + Vector m_vTarget; // 0x5b4 + Vector m_vDir; // 0x5c0 + int32_t m_nSteps; // 0x5cc + GameTime_t m_flChannelStartTime; // 0x5d0 + ParticleIndex_t m_nFXIndex; // 0x5d4 }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_StonehallGeneral_OverwhelmingOdds_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t max_steps; // 0x11ec - float damage_interval; // 0x11f0 - int32_t m_nNumSteps; // 0x11f4 - int32_t m_nRadiusStep; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc - Vector m_vDir; // 0x1200 + int32_t radius; // 0x12b8 + int32_t max_steps; // 0x12bc + float damage_interval; // 0x12c0 + int32_t m_nNumSteps; // 0x12c4 + int32_t m_nRadiusStep; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + Vector m_vDir; // 0x12d0 }; // Alignment: 10 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Boss_DarkWillow_Bedlam : public CDOTA_Buff { public: - float m_flRotation; // 0x11e8 - CHandle< C_BaseEntity > m_hWisp; // 0x11ec - GameTime_t m_flLastAttack; // 0x11f0 - bool reversed; // 0x11f4 + float m_flRotation; // 0x12b8 + CHandle< C_BaseEntity > m_hWisp; // 0x12bc + GameTime_t m_flLastAttack; // 0x12c0 + bool reversed; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - int32_t roaming_radius; // 0x11f8 - int32_t attack_radius; // 0x11fc - float roaming_seconds_per_rotation; // 0x1200 - float attack_interval; // 0x1204 - bool m_bSetupWarning; // 0x1208 + int32_t roaming_radius; // 0x12c8 + int32_t attack_radius; // 0x12cc + float roaming_seconds_per_rotation; // 0x12d0 + float attack_interval; // 0x12d4 + bool m_bSetupWarning; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - ParticleIndex_t m_nPreviewFX; // 0x120c + ParticleIndex_t m_nPreviewFX; // 0x12dc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Enrage : public CDOTA_Buff { public: @@ -46727,60 +47653,60 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_AghsFort_Spectre_ActiveDispersion : public C_DOTABaseAbility { public: - ParticleIndex_t m_nPreviewFX; // 0x5a0 - float duration; // 0x5a4 + ParticleIndex_t m_nPreviewFX; // 0x5b0 + float duration; // 0x5b4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Spectre_ActiveDispersion : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x11e8 + int32_t damage_reflection_pct; // 0x12b8 }; // Alignment: 10 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_AghsFort_Spectre_ActiveDispersion_Thinker : public CDOTA_Buff { public: - float m_fDamage; // 0x11e8 - float m_fLastRadius; // 0x11ec - float m_fCurRadius; // 0x11f0 - GameTime_t m_fLastThink; // 0x11f4 - bool m_bContracting; // 0x11f8 + float m_fDamage; // 0x12b8 + float m_fLastRadius; // 0x12bc + float m_fCurRadius; // 0x12c0 + GameTime_t m_fLastThink; // 0x12c4 + bool m_bContracting; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x7]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x7]; // 0x12c9 public: - CountdownTimer m_ViewerTimer; // 0x1200 - ParticleIndex_t m_nFXIndex; // 0x1218 + CountdownTimer m_ViewerTimer; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1220 - int32_t speed; // 0x1238 - int32_t radius; // 0x123c + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12f0 + int32_t speed; // 0x1308 + int32_t radius; // 0x130c }; // Alignment: 3 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_AghsFort_RockGolem_Smash : public C_DOTABaseAbility { public: - ParticleIndex_t m_nPreviewFX; // 0x5a0 - Vector m_vTargetLoc; // 0x5a4 + ParticleIndex_t m_nPreviewFX; // 0x5b0 + Vector m_vTargetLoc; // 0x5b4 private: - [[maybe_unused]] uint8_t __pad05b0[0x8]; // 0x5b0 + [[maybe_unused]] uint8_t __pad05c0[0x8]; // 0x5c0 public: - int32_t radius; // 0x5b8 + int32_t radius; // 0x5c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_RockGolem_Avalanche_Stun : public CDOTA_Modifier_Stunned { public: @@ -46788,73 +47714,73 @@ public: }; // Alignment: 7 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_RockGolem_Avalanche : public CDOTA_Buff { public: - CUtlVector< C_DOTA_BaseNPC* > m_pHeroesHit; // 0x11e8 - int32_t radius; // 0x1200 - float total_duration; // 0x1204 - float stun_duration; // 0x1208 - int32_t tick_count; // 0x120c - int32_t m_damage; // 0x1210 - int32_t m_nTicks; // 0x1214 + CUtlVector< C_DOTA_BaseNPC* > m_pHeroesHit; // 0x12b8 + int32_t radius; // 0x12d0 + float total_duration; // 0x12d4 + float stun_duration; // 0x12d8 + int32_t tick_count; // 0x12dc + int32_t m_damage; // 0x12e0 + int32_t m_nTicks; // 0x12e4 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_AghsFort_Creature_Phoenix_FireSpirits : public C_DOTABaseAbility { public: - int32_t hp_cost_perc; // 0x5a0 + int32_t hp_cost_perc; // 0x5b0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Creature_Phoenix_FireSpiritCount : public CDOTA_Buff { public: - int32_t spirit_count; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t spirit_count; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_AghsFort_Creature_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 + int32_t spirit_speed; // 0x5b0 + float duration; // 0x5b4 + int32_t radius; // 0x5b8 + int32_t hp_cost_perc; // 0x5bc + ParticleIndex_t m_nFXIndex; // 0x5c0 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_AghsFort_Creature_Phoenix_Supernova : public C_DOTABaseAbility { public: - ParticleIndex_t m_nPreviewFX; // 0x5a0 + ParticleIndex_t m_nPreviewFX; // 0x5b0 }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Creature_Phoenix_Sun : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - float stun_duration; // 0x11ec - int32_t max_hero_attacks; // 0x11f0 - int32_t max_hero_attacks_scepter; // 0x11f4 - int32_t max_hero_attacks_required; // 0x11f8 - float caster_life_pct; // 0x11fc - CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x1200 - int32_t m_iAttackCount; // 0x1204 + int32_t aura_radius; // 0x12b8 + float stun_duration; // 0x12bc + int32_t max_hero_attacks; // 0x12c0 + int32_t max_hero_attacks_scepter; // 0x12c4 + int32_t max_hero_attacks_required; // 0x12c8 + float caster_life_pct; // 0x12cc + CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x12d0 + int32_t m_iAttackCount; // 0x12d4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_PudgeMiniboss_HatefulStrike : public C_DOTABaseAbility { public: @@ -46862,18 +47788,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_PudgeMiniboss_HatefulStrike : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t maxhp_percent_damage; // 0x11ec - int32_t every_n_attacks; // 0x11f0 - bool crit_active; // 0x11f4 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t maxhp_percent_damage; // 0x12bc + int32_t every_n_attacks; // 0x12c0 + bool crit_active; // 0x12c4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_PudgeMiniboss_ArmorCorruption : public C_DOTABaseAbility { public: @@ -46881,25 +47807,25 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruption : public CDOTA_Buff { public: - float armor_reduction_per_stack; // 0x11e8 - float stack_duration; // 0x11ec + float armor_reduction_per_stack; // 0x12b8 + float stack_duration; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruptionDebuff : public CDOTA_Buff { public: - float armor_reduction_per_stack; // 0x11e8 - float stack_duration; // 0x11ec + float armor_reduction_per_stack; // 0x12b8 + float stack_duration; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruptionStack : public CDOTA_Buff { public: @@ -46907,25 +47833,25 @@ public: }; // Alignment: 3 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_AghsFort_Wave_Blast : public C_DOTABaseAbility { public: - int32_t damage; // 0x5a0 - float knockback_duration; // 0x5a4 - float disarm_duration; // 0x5a8 + int32_t damage; // 0x5b0 + float knockback_duration; // 0x5b4 + float disarm_duration; // 0x5b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Wave_Blast_Knockback : public CDOTA_Buff { public: - float disarm_duration; // 0x11e8 + float disarm_duration; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Wave_Blast_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -46933,7 +47859,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Waveblaster_Leap : public C_DOTABaseAbility { public: @@ -46941,16 +47867,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Waveblaster_Leap : public CDOTA_Buff { public: - float leap_speed; // 0x11e8 - float leap_acceleration; // 0x11ec + float leap_speed; // 0x12b8 + float leap_acceleration; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Morphling_Waveform : public C_DOTABaseAbility { public: @@ -46958,7 +47884,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Morphling_Waveform : public CDOTA_Buff { public: @@ -46966,19 +47892,19 @@ public: }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_AghsFort_Creature_Impale : public C_DOTABaseAbility { public: - ParticleIndex_t m_nPreviewFX; // 0x5a0 - int32_t width; // 0x5a4 - float duration; // 0x5a8 - int32_t length; // 0x5ac - int32_t speed; // 0x5b0 + ParticleIndex_t m_nPreviewFX; // 0x5b0 + int32_t width; // 0x5b4 + float duration; // 0x5b8 + int32_t length; // 0x5bc + int32_t speed; // 0x5c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Creature_Impale : public CDOTA_Buff { public: @@ -46986,7 +47912,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Creature_SpikedCarapace : public C_DOTABaseAbility { public: @@ -46994,15 +47920,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Creature_SpikedCarapace : public CDOTA_Buff { public: - float stun_duration; // 0x11e8 + float stun_duration; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Walrus_Pudge_Harpoon : public C_DOTABaseAbility { public: @@ -47010,7 +47936,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Walrus_Pudge_Harpoon_PathingFix : public CDOTA_Buff { public: @@ -47018,7 +47944,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Walrus_Pudge_Harpoon : public CDOTA_Buff { public: @@ -47026,7 +47952,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Creature_Flamestrike : public C_DOTABaseAbility { public: @@ -47034,41 +47960,41 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Creature_Flamestrike : public CDOTA_Buff { public: - int32_t impact_radius; // 0x11e8 - float ground_burn_duration; // 0x11ec - float damage; // 0x11f0 - int32_t vision_distance; // 0x11f4 - float vision_duration; // 0x11f8 + int32_t impact_radius; // 0x12b8 + float ground_burn_duration; // 0x12bc + float damage; // 0x12c0 + int32_t vision_distance; // 0x12c4 + float vision_duration; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Creature_Flamestrike_Ground : public CDOTA_Buff { public: - float burn_interval; // 0x11e8 - int32_t burn_radius; // 0x11ec - int32_t burn_dps; // 0x11f0 + float burn_interval; // 0x12b8 + int32_t burn_radius; // 0x12bc + int32_t burn_dps; // 0x12c0 }; // Alignment: 5 -// Size: 0x5c0 +// Size: 0x5d0 class CDOTA_Ability_AghsFort_DragonKnight_BreatheFire : public C_DOTABaseAbility { public: - int32_t start_radius; // 0x5a0 - int32_t end_radius; // 0x5a4 - Vector m_vStartPos; // 0x5a8 - GameTime_t m_fStartTime; // 0x5b4 - float m_fTotalTime; // 0x5b8 + int32_t start_radius; // 0x5b0 + int32_t end_radius; // 0x5b4 + Vector m_vStartPos; // 0x5b8 + GameTime_t m_fStartTime; // 0x5c4 + float m_fTotalTime; // 0x5c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_DragonKnight_BreatheFire_Debuff : public CDOTA_Buff { public: @@ -47076,7 +48002,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Gyrocopter_Multi_Homing_Missile : public C_DOTABaseAbility { public: @@ -47084,7 +48010,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_PineCone_ShieldBash : public C_DOTABaseAbility { public: @@ -47092,37 +48018,37 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PineCone_ShieldBash_Slow : public CDOTA_Buff { public: - int32_t knockback_slow; // 0x11e8 + int32_t knockback_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PineCone_ShieldBash_Crit : public CDOTA_Buff { public: - int32_t crit_mult; // 0x11e8 + int32_t crit_mult; // 0x12b8 }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_PineCone_AcornShot : public C_DOTABaseAbility { public: // MNetworkEnable // MNetworkChangeCallback "OnPineConeAcornTreePlanted" - uint32_t m_nAcornTree; // 0x5a0 - float projectile_speed; // 0x5a4 - float bounce_delay; // 0x5a8 - int32_t bounce_range; // 0x5ac - int32_t bounce_count; // 0x5b0 + uint32_t m_nAcornTree; // 0x5b0 + float projectile_speed; // 0x5b4 + float bounce_delay; // 0x5b8 + int32_t bounce_range; // 0x5bc + int32_t bounce_count; // 0x5c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_PineCone_AcornShot_DelayThinker : public CDOTA_Buff { public: @@ -47130,7 +48056,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_PineCone_AcornShot_TreeThinker : public CDOTA_Buff { public: @@ -47138,24 +48064,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PineCone_AcornShot_BonusDamage : public CDOTA_Buff { public: - int32_t acorn_shot_damage; // 0x11e8 - int32_t base_damage_pct; // 0x11ec + int32_t acorn_shot_damage; // 0x12b8 + int32_t base_damage_pct; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PineCone_AcornShot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Lifestealer_Enraged_Pulse : public C_DOTABaseAbility { public: @@ -47163,44 +48089,44 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Lifestealer_Enraged_Pulse : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 11 -// Size: 0x608 +// Size: 0x618 class C_DOTA_Ability_Aghanim_UrnUpheaval : public C_DOTABaseAbility { public: - Vector m_vPosition; // 0x5a0 - float aoe; // 0x5ac - float slow_rate; // 0x5b0 - float slow_rate_duration; // 0x5b4 - float duration; // 0x5b8 - float max_slow; // 0x5bc - float burn_damage; // 0x5c0 - float m_flCurrentSlow; // 0x5c4 - ParticleIndex_t m_nFXIndex; // 0x5c8 + Vector m_vPosition; // 0x5b0 + float aoe; // 0x5bc + float slow_rate; // 0x5c0 + float slow_rate_duration; // 0x5c4 + float duration; // 0x5c8 + float max_slow; // 0x5cc + float burn_damage; // 0x5d0 + float m_flCurrentSlow; // 0x5d4 + ParticleIndex_t m_nFXIndex; // 0x5d8 private: - [[maybe_unused]] uint8_t __pad05cc[0x4]; // 0x5cc + [[maybe_unused]] uint8_t __pad05dc[0x4]; // 0x5dc public: - CountdownTimer m_SlowTimer; // 0x5d0 - CountdownTimer m_timer; // 0x5e8 + CountdownTimer m_SlowTimer; // 0x5e0 + CountdownTimer m_timer; // 0x5f8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_UrnUpheaval : public CDOTA_Buff { public: - int32_t m_iSlow; // 0x11e8 + int32_t m_iSlow; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_UpheavalUrn_Reincarnation : public C_DOTABaseAbility { public: @@ -47208,15 +48134,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_UpheavalUrn_Reincarnation : public CDOTA_Buff { public: - float reincarnate_time; // 0x11e8 + float reincarnate_time; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_SkeletonKing_VampiricAura : public CDOTA_Buff { public: @@ -47224,7 +48150,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghanimsFortress_SkeletonKing_VampiricAura : public C_DOTABaseAbility { public: @@ -47232,7 +48158,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Shadow_Demon_Shadow_Poison : public C_DOTABaseAbility { public: @@ -47240,19 +48166,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Shadow_Demon_Shadow_Poison : public CDOTA_Buff { public: - float stack_damage; // 0x11e8 - float bonus_stack_damage; // 0x11ec - int32_t max_multiply_stacks; // 0x11f0 - int32_t release_at_max_stacks; // 0x11f4 - ParticleIndex_t m_nFXStackIndex; // 0x11f8 + float stack_damage; // 0x12b8 + float bonus_stack_damage; // 0x12bc + int32_t max_multiply_stacks; // 0x12c0 + int32_t release_at_max_stacks; // 0x12c4 + ParticleIndex_t m_nFXStackIndex; // 0x12c8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Shadow_Demon_Shadow_Poison_Release : public C_DOTABaseAbility { public: @@ -47260,81 +48186,81 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_AghsFort_ShadowShaman_Shackles : public C_DOTABaseAbility { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hShackleTarget; // 0x5a0 - ParticleIndex_t nShackleFXIndex; // 0x5a4 + CHandle< C_BaseEntity > m_hShackleTarget; // 0x5b0 + ParticleIndex_t nShackleFXIndex; // 0x5b4 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_ShadowShaman_Shackles : public CDOTA_Buff { public: - float tick_interval; // 0x11e8 - float total_damage; // 0x11ec - float channel_time; // 0x11f0 + float tick_interval; // 0x12b8 + float total_damage; // 0x12bc + float channel_time; // 0x12c0 }; // Alignment: 5 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_Aghsfort_Elemental_Wisp_Tether : public C_DOTABaseAbility { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hTarget; // 0x5a0 - Vector m_vProjectileLocation; // 0x5a4 - bool m_bProjectileActive; // 0x5b0 + CHandle< C_BaseEntity > m_hTarget; // 0x5b0 + Vector m_vProjectileLocation; // 0x5b4 + bool m_bProjectileActive; // 0x5c0 private: - [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 + [[maybe_unused]] uint8_t __pad05c1[0x3]; // 0x5c1 public: - int32_t latch_distance; // 0x5b4 - int32_t m_iProjectileIndex; // 0x5b8 + int32_t latch_distance; // 0x5c4 + int32_t m_iProjectileIndex; // 0x5c8 }; // Alignment: 14 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether : public CDOTA_Buff { public: - bool m_bInManaGained; // 0x11e8 + bool m_bInManaGained; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - CHandle< C_BaseEntity > m_hTarget; // 0x11ec - CUtlVector< CHandle< C_BaseEntity > > hStunnedEntities; // 0x11f0 - float slow_duration; // 0x1208 - int32_t movespeed; // 0x120c - int32_t self_bonus; // 0x1210 - bool m_bIsInRange; // 0x1214 + CHandle< C_BaseEntity > m_hTarget; // 0x12bc + CUtlVector< CHandle< C_BaseEntity > > hStunnedEntities; // 0x12c0 + float slow_duration; // 0x12d8 + int32_t movespeed; // 0x12dc + int32_t self_bonus; // 0x12e0 + bool m_bIsInRange; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad1215[0x3]; // 0x1215 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - int32_t radius; // 0x1218 - int32_t latch_distance; // 0x121c - float m_flHealthHealed; // 0x1220 - float m_flManaHealed; // 0x1224 - float tether_heal_amp; // 0x1228 - GameTime_t m_flHealMessageTime; // 0x122c - GameTime_t m_flManaMessageTime; // 0x1230 + int32_t radius; // 0x12e8 + int32_t latch_distance; // 0x12ec + float m_flHealthHealed; // 0x12f0 + float m_flManaHealed; // 0x12f4 + float tether_heal_amp; // 0x12f8 + GameTime_t m_flHealMessageTime; // 0x12fc + GameTime_t m_flManaMessageTime; // 0x1300 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether_Haste : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - int32_t attack_speed; // 0x11ec - int32_t health_regen; // 0x11f0 - int32_t status_resist; // 0x11f4 + int32_t movement_speed; // 0x12b8 + int32_t attack_speed; // 0x12bc + int32_t health_regen; // 0x12c0 + int32_t status_resist; // 0x12c4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghanim_Spear : public C_DOTABaseAbility { public: @@ -47342,33 +48268,33 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 3 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Aghsfort_Wildwing_Tornado_Blast : public C_DOTABaseAbility { public: - float disable_duration; // 0x5a0 - float damage; // 0x5a4 - ParticleIndex_t m_nPreviewFX; // 0x5a8 + float disable_duration; // 0x5b0 + float damage; // 0x5b4 + ParticleIndex_t m_nPreviewFX; // 0x5b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Wildwing_Tornado_Blast_Debuff : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x11e8 + GameTime_t m_flStartTime; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_TreantMiniboss_NaturesGuise : public C_DOTABaseAbility { public: @@ -47376,26 +48302,26 @@ public: }; // Alignment: 3 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise : public CDOTA_Buff { public: - CountdownTimer m_RevealTimer; // 0x11e8 - CountdownTimer m_InvisAttackTimer; // 0x1200 - CountdownTimer m_CooldownTimer; // 0x1218 + CountdownTimer m_RevealTimer; // 0x12b8 + CountdownTimer m_InvisAttackTimer; // 0x12d0 + CountdownTimer m_CooldownTimer; // 0x12e8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Tree_Walking : public CDOTA_Buff { public: - int32_t movement_bonus; // 0x11e8 - int32_t regen_amp; // 0x11ec + int32_t movement_bonus; // 0x12b8 + int32_t regen_amp; // 0x12bc }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Invis : public CDOTA_Modifier_Invisible { public: @@ -47403,7 +48329,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_NearTreeDisplay : public CDOTA_Buff { public: @@ -47411,46 +48337,46 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Root : public CDOTA_Buff { public: - float m_iEntangleDamage; // 0x11e8 + float m_iEntangleDamage; // 0x12b8 }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_AghsFort_Creature_Venomancer_PoisonNova : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXPreview; // 0x5a0 - int32_t radius; // 0x5a4 + ParticleIndex_t m_nFXPreview; // 0x5b0 + int32_t radius; // 0x5b4 }; // Alignment: 7 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_PoisonNova_Creature_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x11e8 - GameTime_t m_fLastThink; // 0x11ec - CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11f0 - int32_t speed; // 0x1208 - int32_t radius; // 0x120c - int32_t start_radius; // 0x1210 - float duration; // 0x1214 + float m_fCurRadius; // 0x12b8 + GameTime_t m_fLastThink; // 0x12bc + CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x12c0 + int32_t speed; // 0x12d8 + int32_t radius; // 0x12dc + int32_t start_radius; // 0x12e0 + float duration; // 0x12e4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonNova : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 + int32_t damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_AghsFort_Ability_Creature_Venomancer_PoisonSting : public C_DOTABaseAbility { public: @@ -47458,66 +48384,66 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonSting_Applier : public CDOTA_Buff { public: - float duration; // 0x11e8 - int32_t damage; // 0x11ec + float duration; // 0x12b8 + int32_t damage; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Venomancer_PoisonSting : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x11e8 - int32_t movement_speed; // 0x11ec - int32_t m_nTicksRemaining; // 0x11f0 - float m_flAttackDamage; // 0x11f4 + int32_t m_iDamage; // 0x12b8 + int32_t movement_speed; // 0x12bc + int32_t m_nTicksRemaining; // 0x12c0 + float m_flAttackDamage; // 0x12c4 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Aghsfort_Aziyog_Underlord_Firestorm : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 + ParticleIndex_t m_nFXIndex; // 0x5b0 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Firestorm_Thinker : public CDOTA_Buff { public: - int32_t wave_damage; // 0x11e8 - int32_t wave_count; // 0x11ec - int32_t radius; // 0x11f0 - int32_t summon_count; // 0x11f4 - float wave_interval; // 0x11f8 - float burn_duration; // 0x11fc - float first_wave_delay; // 0x1200 + int32_t wave_damage; // 0x12b8 + int32_t wave_count; // 0x12bc + int32_t radius; // 0x12c0 + int32_t summon_count; // 0x12c4 + float wave_interval; // 0x12c8 + float burn_duration; // 0x12cc + float first_wave_delay; // 0x12d0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Firestorm_Burn : public CDOTA_Buff { public: - float burn_damage; // 0x11e8 - float burn_interval; // 0x11ec + float burn_damage; // 0x12b8 + float burn_interval; // 0x12bc }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Aghsfort_Aziyog_Underlord_Portal_Warp : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hTarget; // 0x5a0 + CHandle< C_BaseEntity > m_hTarget; // 0x5b0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_Warp_Channel_Soundstop : public CDOTA_Buff { public: @@ -47525,46 +48451,46 @@ public: }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_Warp_Channel : public CDOTA_Buff { public: - ParticleIndex_t m_nfxTargetTp; // 0x11e8 - ParticleIndex_t m_nfxTargetTp2; // 0x11ec - ParticleIndex_t m_nfxAmbientFx; // 0x11f0 - ParticleIndex_t m_nfxPortal1; // 0x11f4 - ParticleIndex_t m_nfxPortal2; // 0x11f8 - float animation_rate; // 0x11fc - int32_t stop_distance; // 0x1200 + ParticleIndex_t m_nfxTargetTp; // 0x12b8 + ParticleIndex_t m_nfxTargetTp2; // 0x12bc + ParticleIndex_t m_nfxAmbientFx; // 0x12c0 + ParticleIndex_t m_nfxPortal1; // 0x12c4 + ParticleIndex_t m_nfxPortal2; // 0x12c8 + float animation_rate; // 0x12cc + int32_t stop_distance; // 0x12d0 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Aghsfort_Aziyog_Underlord_Dark_Portal : public C_DOTABaseAbility { public: - float duration; // 0x5a0 + float duration; // 0x5b0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nPortalAmbientFX; // 0x11e8 + ParticleIndex_t m_nPortalAmbientFX; // 0x12b8 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Aghsfort_Bonus_Pudge_MeatHook : public C_DOTABaseAbility { public: // MNetworkEnable - int32_t m_nConsecutiveHits; // 0x5a0 + int32_t m_nConsecutiveHits; // 0x5b0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Bonus_Pudge_Meat_Hook : public CDOTA_Buff { public: @@ -47572,7 +48498,7 @@ public: }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_AmoebaBoss_Summoned_Knockback : public CDOTA_Modifier_Knockback { public: @@ -47580,51 +48506,51 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Aghsfort_Ability_CrystalMaiden_CrystalNova : public C_DOTABaseAbility { public: - int32_t nova_damage; // 0x5a0 + int32_t nova_damage; // 0x5b0 }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Aghsfort_AbilityCrystalMaiden_FreezingField : public C_DOTABaseAbility { public: - ParticleIndex_t m_nWarningFX; // 0x5a0 - ParticleIndex_t m_nRadiusFX; // 0x5a4 + ParticleIndex_t m_nWarningFX; // 0x5b0 + ParticleIndex_t m_nRadiusFX; // 0x5b4 }; // Alignment: 4 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Aghsfort_Ability_Creature_Magnus_Push_Skewer : public C_DOTABaseAbility { public: - int32_t skewer_radius; // 0x5a0 - int32_t skewer_speed; // 0x5a4 - int32_t range; // 0x5a8 - int32_t tree_radius; // 0x5ac + int32_t skewer_radius; // 0x5b0 + int32_t skewer_speed; // 0x5b4 + int32_t range; // 0x5b8 + int32_t tree_radius; // 0x5bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Aghsfort_Modifier_Magnus_Push_Skewer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x11e8 + int32_t m_nProjectileID; // 0x12b8 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Aghsfort_Ability_Hoodwink_HuntersBoomerang : public C_DOTABaseAbility { public: - int32_t min_distance; // 0x5a0 + int32_t min_distance; // 0x5b0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Hoodwink_ArcingBoomerang : public CDOTA_Buff { public: @@ -47632,7 +48558,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Pugna_Grandmaster_NetherWard : public C_DOTABaseAbility { public: @@ -47640,17 +48566,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Pugna_Grandmaster_NetherWard : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float mana_multiplier; // 0x11ec - float mana_drained_per_attack; // 0x11f0 + int32_t radius; // 0x12b8 + float mana_multiplier; // 0x12bc + float mana_drained_per_attack; // 0x12c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_AssaultCaptain_SearingChains : public C_DOTABaseAbility { public: @@ -47658,7 +48584,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_AssaultCaptain_SunRay : public C_DOTABaseAbility { public: @@ -47666,64 +48592,64 @@ public: }; // Alignment: 23 -// Size: 0x1260 +// Size: 0x1330 class CDOTA_Modifier_AghsFort_AssaultCaptain_SunRay : public CDOTA_Buff { public: - int32_t hp_cost_perc_per_second; // 0x11e8 - int32_t beam_range; // 0x11ec - int32_t base_damage; // 0x11f0 - int32_t base_heal; // 0x11f4 - float tick_interval; // 0x11f8 - float forward_move_speed; // 0x11fc - float turn_rate_initial; // 0x1200 - float turn_rate; // 0x1204 - int32_t radius; // 0x1208 - int32_t self_turn_rate_percent; // 0x120c - float m_flCurrentTime; // 0x1210 - GameTime_t m_flLastDamageTime; // 0x1214 - float m_flAccumulatedSelfDamage; // 0x1218 - bool m_bMovingForward; // 0x121c - bool m_bTurningFast; // 0x121d + int32_t hp_cost_perc_per_second; // 0x12b8 + int32_t beam_range; // 0x12bc + int32_t base_damage; // 0x12c0 + int32_t base_heal; // 0x12c4 + float tick_interval; // 0x12c8 + float forward_move_speed; // 0x12cc + float turn_rate_initial; // 0x12d0 + float turn_rate; // 0x12d4 + int32_t radius; // 0x12d8 + int32_t self_turn_rate_percent; // 0x12dc + float m_flCurrentTime; // 0x12e0 + GameTime_t m_flLastDamageTime; // 0x12e4 + float m_flAccumulatedSelfDamage; // 0x12e8 + bool m_bMovingForward; // 0x12ec + bool m_bTurningFast; // 0x12ed private: - [[maybe_unused]] uint8_t __pad121e[0x2]; // 0x121e + [[maybe_unused]] uint8_t __pad12ee[0x2]; // 0x12ee public: - float m_flFacingTarget; // 0x1220 - float hp_perc_damage; // 0x1224 - float hp_perc_heal; // 0x1228 - ParticleIndex_t m_nBeamFXIndex; // 0x122c - CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x1230 - CHandle< C_BaseEntity > m_hBeamEnd; // 0x1250 - bool m_bCreatedVisionThinkers; // 0x1254 + float m_flFacingTarget; // 0x12f0 + float hp_perc_damage; // 0x12f4 + float hp_perc_heal; // 0x12f8 + ParticleIndex_t m_nBeamFXIndex; // 0x12fc + CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x1300 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x1320 + bool m_bCreatedVisionThinkers; // 0x1324 private: - [[maybe_unused]] uint8_t __pad1255[0x3]; // 0x1255 + [[maybe_unused]] uint8_t __pad1325[0x3]; // 0x1325 public: - CHandle< C_BaseEntity > m_hBeamEndSound; // 0x1258 + CHandle< C_BaseEntity > m_hBeamEndSound; // 0x1328 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_BossWinterWyvern_Cold_Embrace_Thinker : public CDOTA_Buff { public: - int32_t freeze_radius; // 0x11e8 - int32_t freeze_damage; // 0x11ec - float freeze_debuff_duration; // 0x11f0 - float freeze_delay; // 0x11f4 - ParticleIndex_t m_nFXIndex; // 0x11f8 + int32_t freeze_radius; // 0x12b8 + int32_t freeze_damage; // 0x12bc + float freeze_debuff_duration; // 0x12c0 + float freeze_delay; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_BossWinterWyvern_Cold_Embrace_Debuff : public CDOTA_Buff { public: - int32_t linger_movement_slow; // 0x11e8 - int32_t linger_damage; // 0x11ec + int32_t linger_movement_slow; // 0x12b8 + int32_t linger_damage; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Blessings_Debuff_Duration_Increase : public CDOTA_Buff { public: @@ -47731,28 +48657,28 @@ public: }; // Alignment: 3 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_AghsFort_TrapRoom_Hookshot : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 - Vector m_vProjectileVelocity; // 0x5a4 - bool m_bRetract; // 0x5b0 + ParticleIndex_t m_nFXIndex; // 0x5b0 + Vector m_vProjectileVelocity; // 0x5b4 + bool m_bRetract; // 0x5c0 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_TrapRoom_Hookshot : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - int32_t speed; // 0x11f0 - float duration; // 0x11f4 + int32_t speed; // 0x12c0 + float duration; // 0x12c4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_TrapRoom_MeatHook : public C_DOTABaseAbility { public: @@ -47760,7 +48686,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_TrapRoom_MeatHook_PathingFix : public CDOTA_Buff { public: @@ -47768,7 +48694,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_TrapRoom_MeatHook : public CDOTA_Buff { public: @@ -47776,7 +48702,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Effigy_AghsFort : public CDOTA_Buff { public: @@ -47784,28 +48710,28 @@ public: }; // Alignment: 5 -// Size: 0x548 +// Size: 0x558 class CDOTA_AghsFort_BossPreview : public C_BaseEntity { public: - CUtlSymbolLarge m_strBossUnit; // 0x528 - CUtlSymbolLarge m_strModelName; // 0x530 - float m_flBossModelScale; // 0x538 - float m_flExtraModelScale; // 0x53c - int32_t m_nEncounterType; // 0x540 + CUtlSymbolLarge m_strBossUnit; // 0x538 + CUtlSymbolLarge m_strModelName; // 0x540 + float m_flBossModelScale; // 0x548 + float m_flExtraModelScale; // 0x54c + int32_t m_nEncounterType; // 0x550 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_AghsFort_Capture : public C_DOTABaseAbility { public: // MNetworkEnable - CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x5a0 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x5b0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Watch_Tower_Capturing : public CDOTA_Buff { public: @@ -47813,32 +48739,32 @@ public: }; // Alignment: 15 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_AghsFort_Watch_Tower : public CDOTA_Buff { public: - TowerState_t m_nState; // 0x11e8 - float m_flYaw; // 0x11ec - int32_t m_nCaptureDuration; // 0x11f0 - GameTime_t m_flEffectiveCaptureStartTime; // 0x11f4 - int32_t m_nCapturingPlayerCount; // 0x11f8 - float m_flCaptureProgress; // 0x11fc - int32_t m_iCapturingTeam; // 0x1200 - ParticleIndex_t m_nFxOutpostAmbient; // 0x1204 - GameTime_t m_flDestroyTime; // 0x1208 - GameTime_t m_flAutoChannelCompleteTime; // 0x120c - bool m_bAscensionLevelPicker; // 0x1210 + TowerState_t m_nState; // 0x12b8 + float m_flYaw; // 0x12bc + int32_t m_nCaptureDuration; // 0x12c0 + GameTime_t m_flEffectiveCaptureStartTime; // 0x12c4 + int32_t m_nCapturingPlayerCount; // 0x12c8 + float m_flCaptureProgress; // 0x12cc + int32_t m_iCapturingTeam; // 0x12d0 + ParticleIndex_t m_nFxOutpostAmbient; // 0x12d4 + GameTime_t m_flDestroyTime; // 0x12d8 + GameTime_t m_flAutoChannelCompleteTime; // 0x12dc + bool m_bAscensionLevelPicker; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t m_nEliteChallengeLevel; // 0x1214 - CUtlString m_strNextRoomName; // 0x1218 - CUtlString m_strNextEncounterName; // 0x1220 - bool m_bStartedBeamFacing; // 0x1228 + int32_t m_nEliteChallengeLevel; // 0x12e4 + CUtlString m_strNextRoomName; // 0x12e8 + CUtlString m_strNextEncounterName; // 0x12f0 + bool m_bStartedBeamFacing; // 0x12f8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_HighFive : public C_DOTABaseAbility { public: @@ -47846,23 +48772,23 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x11e8 - float think_interval; // 0x11ec - float acknowledged_cooldown; // 0x11f0 - bool m_bAcknowledged; // 0x11f4 - bool m_bFirstThink; // 0x11f5 + int32_t acknowledge_range; // 0x12b8 + float think_interval; // 0x12bc + float acknowledged_cooldown; // 0x12c0 + bool m_bAcknowledged; // 0x12c4 + bool m_bFirstThink; // 0x12c5 private: - [[maybe_unused]] uint8_t __pad11f6[0x2]; // 0x11f6 + [[maybe_unused]] uint8_t __pad12c6[0x2]; // 0x12c6 public: - int32_t high_five_level; // 0x11f8 + int32_t high_five_level; // 0x12c8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Seasonal_TI10_Portal : public C_DOTABaseAbility { public: @@ -47870,41 +48796,41 @@ public: }; // Alignment: 15 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_Seasonal_TI10_Portal : public CDOTA_Buff { public: - Vector m_vSpawnPos; // 0x11e8 + Vector m_vSpawnPos; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< Vector > m_vecEmissions; // 0x11f8 - bool m_bChatSent; // 0x1210 + CUtlVector< Vector > m_vecEmissions; // 0x12c8 + bool m_bChatSent; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t m_nPhase; // 0x1214 - int32_t m_nNumEmitted; // 0x1218 - int32_t m_nNumDrops; // 0x121c - GameTime_t m_flStartTime; // 0x1220 - GameTime_t m_flLastEmitTime; // 0x1224 - bool m_bIsOnRadiant; // 0x1228 - bool m_bUseLargeEmit; // 0x1229 + int32_t m_nPhase; // 0x12e4 + int32_t m_nNumEmitted; // 0x12e8 + int32_t m_nNumDrops; // 0x12ec + GameTime_t m_flStartTime; // 0x12f0 + GameTime_t m_flLastEmitTime; // 0x12f4 + bool m_bIsOnRadiant; // 0x12f8 + bool m_bUseLargeEmit; // 0x12f9 private: - [[maybe_unused]] uint8_t __pad122a[0x2]; // 0x122a + [[maybe_unused]] uint8_t __pad12fa[0x2]; // 0x12fa public: - int32_t m_nOutcome; // 0x122c + int32_t m_nOutcome; // 0x12fc private: - [[maybe_unused]] uint8_t __pad1230[0x10]; // 0x1230 + [[maybe_unused]] uint8_t __pad1300[0x10]; // 0x1300 public: - int32_t PHASE_OPEN; // 0x1240 - int32_t PHASE_EMIT; // 0x1244 - int32_t PHASE_EMIT_DONE; // 0x1248 - int32_t PHASE_CLOSE; // 0x124c + int32_t PHASE_OPEN; // 0x1310 + int32_t PHASE_EMIT; // 0x1314 + int32_t PHASE_EMIT_DONE; // 0x1318 + int32_t PHASE_CLOSE; // 0x131c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Seasonal_TI10_DiscoBall : public CDOTA_Buff { public: @@ -47912,7 +48838,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Seasonal_TI10_DiscoBall : public C_DOTABaseAbility { public: @@ -47920,31 +48846,31 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_TI10_DiscoBall_Channel : public C_DOTABaseAbility { public: // MNetworkEnable - CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x5a0 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x5b0 // MNetworkEnable - float m_flChannelTime; // 0x5a4 + float m_flChannelTime; // 0x5b4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Seasonal_TI10_DiscoBall_Channeling : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t m_nGesture; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t m_nGesture; // 0x12bc }; // Alignment: 1 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Seasonal_TI10_SoccerBall : public C_DOTABaseAbility { public: - Vector m_vEndpoint; // 0x5a0 + Vector m_vEndpoint; // 0x5b0 // Static fields: static char* &Get_PARTICLE_SPAWN(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_Ability_Seasonal_TI10_SoccerBall")->m_static_fields[0]->m_instance);}; @@ -47958,56 +48884,56 @@ public: }; // Alignment: 39 -// Size: 0x12b0 +// Size: 0x1380 class CDOTA_Modifier_Seasonal_TI10_SoccerBall : public CDOTA_Buff { public: - Vector m_vPost1; // 0x11e8 - Vector m_vPost2; // 0x11f4 - Vector m_vPostForward; // 0x1200 - ParticleIndex_t m_nPost1FXIndex; // 0x120c - ParticleIndex_t m_nPost2FXIndex; // 0x1210 - ParticleIndex_t m_nPost3FXIndex; // 0x1214 - int32_t PHASE_START; // 0x1218 - int32_t PHASE_GESTURE; // 0x121c - int32_t PHASE_FX; // 0x1220 - int32_t PHASE_MOTION; // 0x1224 - int32_t PHASE_IMPACT; // 0x1228 - int32_t PHASE_FAIL; // 0x122c - int32_t PHASE_CROSSED_GOAL; // 0x1230 - int32_t PHASE_GOAL; // 0x1234 - float tick_interval; // 0x1238 - float forward_move_speed; // 0x123c - float magnus_coefficient; // 0x1240 - float magnus_falloff; // 0x1244 - float drag_coefficient; // 0x1248 - float min_delay; // 0x124c - float max_delay; // 0x1250 - int32_t hit_radius; // 0x1254 - ParticleIndex_t m_nFXIndex; // 0x1258 - Vector m_vVelocity; // 0x125c - Vector m_vSpawnPos; // 0x1268 - Vector m_vTargetPos; // 0x1274 - int32_t m_nPhase; // 0x1280 - int32_t m_nHits; // 0x1284 - float m_flMagnusValue; // 0x1288 - GameTime_t m_flStartTime; // 0x128c - float m_flDelay; // 0x1290 - GameTime_t m_flStateChangeTime; // 0x1294 - bool m_bFirstThink; // 0x1298 - bool m_bGroundHit; // 0x1299 + Vector m_vPost1; // 0x12b8 + Vector m_vPost2; // 0x12c4 + Vector m_vPostForward; // 0x12d0 + ParticleIndex_t m_nPost1FXIndex; // 0x12dc + ParticleIndex_t m_nPost2FXIndex; // 0x12e0 + ParticleIndex_t m_nPost3FXIndex; // 0x12e4 + int32_t PHASE_START; // 0x12e8 + int32_t PHASE_GESTURE; // 0x12ec + int32_t PHASE_FX; // 0x12f0 + int32_t PHASE_MOTION; // 0x12f4 + int32_t PHASE_IMPACT; // 0x12f8 + int32_t PHASE_FAIL; // 0x12fc + int32_t PHASE_CROSSED_GOAL; // 0x1300 + int32_t PHASE_GOAL; // 0x1304 + float tick_interval; // 0x1308 + float forward_move_speed; // 0x130c + float magnus_coefficient; // 0x1310 + float magnus_falloff; // 0x1314 + float drag_coefficient; // 0x1318 + float min_delay; // 0x131c + float max_delay; // 0x1320 + int32_t hit_radius; // 0x1324 + ParticleIndex_t m_nFXIndex; // 0x1328 + Vector m_vVelocity; // 0x132c + Vector m_vSpawnPos; // 0x1338 + Vector m_vTargetPos; // 0x1344 + int32_t m_nPhase; // 0x1350 + int32_t m_nHits; // 0x1354 + float m_flMagnusValue; // 0x1358 + GameTime_t m_flStartTime; // 0x135c + float m_flDelay; // 0x1360 + GameTime_t m_flStateChangeTime; // 0x1364 + bool m_bFirstThink; // 0x1368 + bool m_bGroundHit; // 0x1369 private: - [[maybe_unused]] uint8_t __pad129a[0x2]; // 0x129a + [[maybe_unused]] uint8_t __pad136a[0x2]; // 0x136a public: - PlayerID_t m_nTargetPlayerID; // 0x129c - float m_flCurTime; // 0x12a0 - float m_flStartZ; // 0x12a4 - float m_flAirTime; // 0x12a8 - float m_flHeight; // 0x12ac + PlayerID_t m_nTargetPlayerID; // 0x136c + float m_flCurTime; // 0x1370 + float m_flStartZ; // 0x1374 + float m_flAirTime; // 0x1378 + float m_flHeight; // 0x137c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Seasonal_TI10_HotPotato : public CDOTA_Buff { public: @@ -48015,7 +48941,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Seasonal_TI10_HotPotato_InboundPotato : public CDOTA_Buff { public: @@ -48023,7 +48949,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Seasonal_TI10_HotPotato_Debuff : public CDOTA_Buff { public: @@ -48031,19 +48957,19 @@ public: }; // Alignment: 2 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Seasonal_TI10_HotPotato : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hTarget; // 0x5a0 + CHandle< C_BaseEntity > m_hTarget; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a4[0x8]; // 0x5a4 + [[maybe_unused]] uint8_t __pad05b4[0x8]; // 0x5b4 public: - int32_t projectile_speed; // 0x5ac + int32_t projectile_speed; // 0x5bc }; // Alignment: 0 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Seasonal_TI10_HotPotato_ThrowExistingPotato : public CDOTA_Ability_Seasonal_TI10_HotPotato { public: @@ -48051,7 +48977,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_TI10_HighFive : public C_DOTABaseAbility { public: @@ -48059,23 +48985,23 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_TI10_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x11e8 - float think_interval; // 0x11ec - float acknowledged_cooldown; // 0x11f0 - bool m_bAcknowledged; // 0x11f4 - bool m_bFirstThink; // 0x11f5 + int32_t acknowledge_range; // 0x12b8 + float think_interval; // 0x12bc + float acknowledged_cooldown; // 0x12c0 + bool m_bAcknowledged; // 0x12c4 + bool m_bFirstThink; // 0x12c5 private: - [[maybe_unused]] uint8_t __pad11f6[0x2]; // 0x11f6 + [[maybe_unused]] uint8_t __pad12c6[0x2]; // 0x12c6 public: - int32_t high_five_level; // 0x11f8 + int32_t high_five_level; // 0x12c8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Seasonal_TI10_GuildBanner : public C_DOTABaseAbility { public: @@ -48083,44 +49009,44 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Seasonal_TI11_RockPaperScissors_Playing : public CDOTA_Buff { public: - float input_duration; // 0x11e8 - float think_interval; // 0x11ec + float input_duration; // 0x12b8 + float think_interval; // 0x12bc }; // Alignment: 8 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Seasonal_TI11_RockPaperScissors : public CDOTA_Buff { public: - float challenge_duration; // 0x11e8 - float reveal_duration; // 0x11ec - float reveal_delay; // 0x11f0 - float completed_cooldown; // 0x11f4 - float think_interval; // 0x11f8 - float acknowledge_range; // 0x11fc + float challenge_duration; // 0x12b8 + float reveal_duration; // 0x12bc + float reveal_delay; // 0x12c0 + float completed_cooldown; // 0x12c4 + float think_interval; // 0x12c8 + float acknowledge_range; // 0x12cc private: - [[maybe_unused]] uint8_t __pad1200[0x4]; // 0x1200 + [[maybe_unused]] uint8_t __pad12d0[0x4]; // 0x12d0 public: - GameTime_t m_flRevealTime; // 0x1204 - ParticleIndex_t m_nOverheadFXIndex; // 0x1208 + GameTime_t m_flRevealTime; // 0x12d4 + ParticleIndex_t m_nOverheadFXIndex; // 0x12d8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_TI11_BubbleGun : public CDOTA_Buff { public: - float think_interval; // 0x11e8 - int32_t max_charges; // 0x11ec - int32_t m_nChargesUsed; // 0x11f0 + float think_interval; // 0x12b8 + int32_t max_charges; // 0x12bc + int32_t m_nChargesUsed; // 0x12c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Seasonal_TI11_BubbleGun : public C_DOTABaseAbility { public: @@ -48128,7 +49054,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Seasonal_TI11_RockPaperScissors : public C_DOTABaseAbility { public: @@ -48136,7 +49062,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Seasonal_TI11_RockPaperScissors_Base : public C_DOTABaseAbility { public: @@ -48144,7 +49070,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Seasonal_TI11_Rock : public CDOTA_Ability_Seasonal_TI11_RockPaperScissors_Base { public: @@ -48152,7 +49078,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Seasonal_TI11_Paper : public CDOTA_Ability_Seasonal_TI11_RockPaperScissors_Base { public: @@ -48160,7 +49086,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Seasonal_TI11_Scissors : public CDOTA_Ability_Seasonal_TI11_RockPaperScissors_Base { public: @@ -48168,69 +49094,69 @@ public: }; // Alignment: 4 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_Seasonal_TI11_Balloon : public C_DOTABaseAbility { public: - float charge_use_interval; // 0x5a0 - float max_usable_charges; // 0x5a4 - GameTime_t m_flLastChargeUseTime; // 0x5a8 - CHandle< C_BaseEntity > m_hBalloon; // 0x5ac + float charge_use_interval; // 0x5b0 + float max_usable_charges; // 0x5b4 + GameTime_t m_flLastChargeUseTime; // 0x5b8 + CHandle< C_BaseEntity > m_hBalloon; // 0x5bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Seasonal_Summon_TI11_Balloon_Visuals : public CDOTA_Buff { public: - float model_scale_per_stack; // 0x11e8 - bool m_bIsRadiant; // 0x11ec + float model_scale_per_stack; // 0x12b8 + bool m_bIsRadiant; // 0x12bc }; // Alignment: 19 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_Seasonal_Summon_TI11_Balloon_Thinker : public CDOTA_Buff { public: - float speed; // 0x11e8 - int32_t min_distance_before_bounce; // 0x11ec - float drag; // 0x11f0 - float max_height; // 0x11f4 - float max_vertical_move_time; // 0x11f8 - float bounce_turn_angle; // 0x11fc - float bounce_turn_angle_tree; // 0x1200 - float bounce_delay; // 0x1204 - int32_t max_bounces; // 0x1208 - float max_model_scale; // 0x120c - float power_growth_exponent; // 0x1210 - Vector m_vLastPos; // 0x1214 - Vector m_vDir; // 0x1220 - float m_flSpeed; // 0x122c - float m_flDistRemaining; // 0x1230 - float m_flTreeTimeRemaining; // 0x1234 - int32_t m_nTimesBounced; // 0x1238 - float m_flModelScale; // 0x123c - CHandle< C_BaseEntity > m_hLastHit; // 0x1240 + float speed; // 0x12b8 + int32_t min_distance_before_bounce; // 0x12bc + float drag; // 0x12c0 + float max_height; // 0x12c4 + float max_vertical_move_time; // 0x12c8 + float bounce_turn_angle; // 0x12cc + float bounce_turn_angle_tree; // 0x12d0 + float bounce_delay; // 0x12d4 + int32_t max_bounces; // 0x12d8 + float max_model_scale; // 0x12dc + float power_growth_exponent; // 0x12e0 + Vector m_vLastPos; // 0x12e4 + Vector m_vDir; // 0x12f0 + float m_flSpeed; // 0x12fc + float m_flDistRemaining; // 0x1300 + float m_flTreeTimeRemaining; // 0x1304 + int32_t m_nTimesBounced; // 0x1308 + float m_flModelScale; // 0x130c + CHandle< C_BaseEntity > m_hLastHit; // 0x1310 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Seasonal_TI11_Duel : public C_DOTABaseAbility { public: - float model_scale; // 0x5a0 + float model_scale; // 0x5b0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Seasonal_TI11_DuelAccepted : public CDOTA_Buff { public: - PlayerID_t m_nDuelOpponent; // 0x11e8 + PlayerID_t m_nDuelOpponent; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Seasonal_TI11_CongaLine : public CDOTA_Buff { public: @@ -48238,7 +49164,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Seasonal_TI11_CongaLineDancer : public CDOTA_Buff { public: @@ -48246,23 +49172,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Seasonal_TI11_CongaLineSlow : public CDOTA_Buff { public: - float m_flMaxSpeed; // 0x11e8 + float m_flMaxSpeed; // 0x12b8 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Seasonal_TI11_CongaLine : public C_DOTABaseAbility { public: - float max_duration; // 0x5a0 + float max_duration; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Plus_HighFive : public C_DOTABaseAbility { public: @@ -48270,23 +49196,23 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Plus_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x11e8 - float think_interval; // 0x11ec - float acknowledged_cooldown; // 0x11f0 - bool m_bAcknowledged; // 0x11f4 - bool m_bFirstThink; // 0x11f5 + int32_t acknowledge_range; // 0x12b8 + float think_interval; // 0x12bc + float acknowledged_cooldown; // 0x12c0 + bool m_bAcknowledged; // 0x12c4 + bool m_bFirstThink; // 0x12c5 private: - [[maybe_unused]] uint8_t __pad11f6[0x2]; // 0x11f6 + [[maybe_unused]] uint8_t __pad12c6[0x2]; // 0x12c6 public: - int32_t high_five_level; // 0x11f8 + int32_t high_five_level; // 0x12c8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Plus_GuildBanner : public C_DOTABaseAbility { public: @@ -48294,46 +49220,46 @@ public: }; // Alignment: 5 -// Size: 0x648 +// Size: 0x660 class C_DOTA_Item_Muertas_Gun : public C_DOTA_Item { public: - int32_t radius; // 0x630 - int32_t ricochet_radius_start; // 0x634 - int32_t ricochet_radius_end; // 0x638 - int32_t m_iTempViewerRadiant; // 0x63c - int32_t m_iTempViewerDire; // 0x640 + int32_t radius; // 0x648 + int32_t ricochet_radius_start; // 0x64c + int32_t ricochet_radius_end; // 0x650 + int32_t m_iTempViewerRadiant; // 0x654 + int32_t m_iTempViewerDire; // 0x658 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_MuertasGun : public CDOTA_Buff_Item { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t bonus_cast_pct; // 0x11ec - int32_t bonus_spell_amp; // 0x11f0 - int32_t health_pct_penalty; // 0x11f4 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t bonus_cast_pct; // 0x12bc + int32_t bonus_spell_amp; // 0x12c0 + int32_t health_pct_penalty; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Muertas_Gun_Slow : public CDOTA_Buff { public: - int32_t impact_slow_percent; // 0x11e8 + int32_t impact_slow_percent; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Muertas_Gun_Fear : public CDOTA_Buff { public: - Vector m_vFearDir; // 0x11e8 + Vector m_vFearDir; // 0x12b8 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Ofrenda_Pledge : public C_DOTA_Item { public: @@ -48341,7 +49267,7 @@ public: }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Ofrenda_Pledge : public CDOTA_Buff { public: @@ -48349,7 +49275,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Ofrenda : public C_DOTA_Item { public: @@ -48357,7 +49283,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Ofrenda_Shovel : public C_DOTA_Item { public: @@ -48365,7 +49291,23 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x5b0 +class CDOTA_Ability_Seasonal_10thAnniversary_PartyHat : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12b8 +class CDOTA_Modifier_Seasonal_10thAnniversary_PartyHat : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x648 class C_DOTA_Item_Recipe_AghsFort_Bloodstone : public C_DOTA_Item { public: @@ -48373,7 +49315,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_AghsFort_Bloodstone : public C_DOTA_Item { public: @@ -48381,36 +49323,36 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_AghsFort_Bloodstone_Active : public CDOTA_Buff { public: - int32_t mana_cost_percentage; // 0x11e8 - float restore_duration; // 0x11ec - float m_flDrainAmount; // 0x11f0 + int32_t mana_cost_percentage; // 0x12b8 + float restore_duration; // 0x12bc + float m_flDrainAmount; // 0x12c0 }; // Alignment: 12 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Item_AghsFort_Bloodstone : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_mana; // 0x11ec - int32_t mana_regen_multiplier; // 0x11f0 - float regen_per_charge; // 0x11f4 - float amp_per_charge; // 0x11f8 - int32_t death_charges; // 0x11fc - int32_t kill_charges; // 0x1200 - float hero_lifesteal; // 0x1204 - float creep_lifesteal; // 0x1208 - int32_t bonus_intellect; // 0x120c - int32_t spell_amp; // 0x1210 - int32_t spell_lifesteal_amp; // 0x1214 + int32_t bonus_health; // 0x12b8 + int32_t bonus_mana; // 0x12bc + int32_t mana_regen_multiplier; // 0x12c0 + float regen_per_charge; // 0x12c4 + float amp_per_charge; // 0x12c8 + int32_t death_charges; // 0x12cc + int32_t kill_charges; // 0x12d0 + float hero_lifesteal; // 0x12d4 + float creep_lifesteal; // 0x12d8 + int32_t bonus_intellect; // 0x12dc + int32_t spell_amp; // 0x12e0 + int32_t spell_lifesteal_amp; // 0x12e4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_AghsFort_Bloodstone_GainableCharges : public CDOTA_Buff { public: @@ -48418,72 +49360,72 @@ public: }; // Alignment: 9 -// Size: 0x680 +// Size: 0x690 class C_DotaSubquestBase : public C_BaseEntity { public: // MNetworkEnable - char m_pszSubquestText[256]; // 0x528 + char m_pszSubquestText[256]; // 0x538 // MNetworkEnable - bool m_bHidden; // 0x628 + bool m_bHidden; // 0x638 // MNetworkEnable - bool m_bCompleted; // 0x629 + bool m_bCompleted; // 0x639 // MNetworkEnable - bool m_bShowProgressBar; // 0x62a + bool m_bShowProgressBar; // 0x63a private: - [[maybe_unused]] uint8_t __pad062b[0x1]; // 0x62b + [[maybe_unused]] uint8_t __pad063b[0x1]; // 0x63b public: // MNetworkEnable - int32_t m_nProgressBarHueShift; // 0x62c + int32_t m_nProgressBarHueShift; // 0x63c // MNetworkEnable - int32_t m_pnTextReplaceValuesCDotaSubquestBase[2]; // 0x630 + int32_t m_pnTextReplaceValuesCDotaSubquestBase[2]; // 0x640 // MNetworkEnable - char m_pszTextReplaceString[64]; // 0x638 + char m_pszTextReplaceString[64]; // 0x648 // MNetworkEnable - int32_t m_nTextReplaceValueVersion; // 0x678 - bool m_bWasCompleted; // 0x67c + int32_t m_nTextReplaceValueVersion; // 0x688 + bool m_bWasCompleted; // 0x68c // Static fields: static char* &Get_s_pszTextReplaceStringName(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_DotaSubquestBase")->m_static_fields[0]->m_instance);}; }; // Alignment: 13 -// Size: 0x8a8 +// Size: 0x8b8 class C_DotaQuest : public C_BaseEntity { public: // MNetworkEnable - char m_pszQuestTitle[256]; // 0x528 + char m_pszQuestTitle[256]; // 0x538 // MNetworkEnable - char m_pszQuestText[256]; // 0x628 + char m_pszQuestText[256]; // 0x638 // MNetworkEnable - int32_t m_nQuestType; // 0x728 + int32_t m_nQuestType; // 0x738 // MNetworkEnable - CHandle< C_DotaSubquestBase > m_hSubquests[8]; // 0x72c + CHandle< C_DotaSubquestBase > m_hSubquests[8]; // 0x73c // MNetworkEnable - bool m_bHidden; // 0x74c + bool m_bHidden; // 0x75c // MNetworkEnable - bool m_bCompleted; // 0x74d + bool m_bCompleted; // 0x75d // MNetworkEnable - bool m_bWinIfCompleted; // 0x74e + bool m_bWinIfCompleted; // 0x75e // MNetworkEnable - bool m_bLoseIfCompleted; // 0x74f + bool m_bLoseIfCompleted; // 0x75f // MNetworkEnable - char m_pszGameEndText[256]; // 0x750 + char m_pszGameEndText[256]; // 0x760 // MNetworkEnable - int32_t m_pnTextReplaceValuesCDotaQuest[4]; // 0x850 + int32_t m_pnTextReplaceValuesCDotaQuest[4]; // 0x860 // MNetworkEnable - char m_pszTextReplaceString[64]; // 0x860 + char m_pszTextReplaceString[64]; // 0x870 // MNetworkEnable - int32_t m_nTextReplaceValueVersion; // 0x8a0 - bool m_bWasCompleted; // 0x8a4 + int32_t m_nTextReplaceValueVersion; // 0x8b0 + bool m_bWasCompleted; // 0x8b4 // Static fields: static char* &Get_s_pszTextReplaceStringName(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_DotaQuest")->m_static_fields[0]->m_instance);}; }; // Alignment: 0 -// Size: 0x680 +// Size: 0x690 class C_DotaSubquestBuyItems : public C_DotaSubquestBase { public: @@ -48491,7 +49433,7 @@ public: }; // Alignment: 0 -// Size: 0x680 +// Size: 0x690 class C_DotaSubquestEntityDeath : public C_DotaSubquestBase { public: @@ -48499,7 +49441,7 @@ public: }; // Alignment: 0 -// Size: 0x680 +// Size: 0x690 class C_DotaSubquestTutorialEvent : public C_DotaSubquestBase { public: @@ -48507,7 +49449,7 @@ public: }; // Alignment: 0 -// Size: 0x680 +// Size: 0x690 class C_DotaSubquestPlayerStat : public C_DotaSubquestBase { public: @@ -48515,7 +49457,7 @@ public: }; // Alignment: 0 -// Size: 0x680 +// Size: 0x690 class C_DotaSubquestAbilityCastCount : public C_DotaSubquestBase { public: @@ -48523,7 +49465,7 @@ public: }; // Alignment: 0 -// Size: 0x528 +// Size: 0x538 class C_DotaQuestBase : public C_BaseEntity { public: @@ -48550,26 +49492,26 @@ public: }; // Alignment: 5 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTAInGamePredictionState : public C_BaseEntity { public: // MNetworkEnable - bool m_bVotingClosed; // 0x528 + bool m_bVotingClosed; // 0x538 // MNetworkEnable // MNetworkChangeCallback "OnAllPredictionsFinished" - bool m_bAllPredictionsFinished; // 0x529 + bool m_bAllPredictionsFinished; // 0x539 private: - [[maybe_unused]] uint8_t __pad052a[0x6]; // 0x52a + [[maybe_unused]] uint8_t __pad053a[0x6]; // 0x53a public: // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< InGamePredictionData_t > m_vecPredictions; // 0x530 + C_UtlVectorEmbeddedNetworkVar< InGamePredictionData_t > m_vecPredictions; // 0x540 // MNetworkEnable - LeagueID_t m_nLeagueID; // 0x580 + LeagueID_t m_nLeagueID; // 0x590 private: - [[maybe_unused]] uint8_t __pad0584[0x4]; // 0x584 + [[maybe_unused]] uint8_t __pad0594[0x4]; // 0x594 public: - CUtlVector< InGamePredictionData_t > m_vecPrevPredictions; // 0x588 + CUtlVector< InGamePredictionData_t > m_vecPrevPredictions; // 0x598 }; // Alignment: 3 @@ -48647,28 +49589,28 @@ public: }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Jungle_Spirit : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > hCasterList; // 0x11e8 - bool bAcceptingGems; // 0x1200 + CUtlVector< CHandle< C_BaseEntity > > hCasterList; // 0x12b8 + bool bAcceptingGems; // 0x12d0 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Spirit_Gem : public CDOTA_Buff { public: - float m_flOriginalModelScale; // 0x11e8 - int32_t m_nHealthBarOffsetOverride; // 0x11ec - ParticleIndex_t m_nFXStackIndex; // 0x11f0 - float m_fScaleGainPerGem; // 0x11f4 - int32_t m_nLevel; // 0x11f8 + float m_flOriginalModelScale; // 0x12b8 + int32_t m_nHealthBarOffsetOverride; // 0x12bc + ParticleIndex_t m_nFXStackIndex; // 0x12c0 + float m_fScaleGainPerGem; // 0x12c4 + int32_t m_nLevel; // 0x12c8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Jungle_Spirit_Reductions : public C_DOTABaseAbility { public: @@ -48676,27 +49618,27 @@ public: }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Jungle_Spirit_Reductions : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > m_vecAlliesNearby; // 0x11e8 - int32_t m_nAlliesNearby; // 0x1200 - int32_t stat_reduction_pct; // 0x1204 - int32_t armor_reduction; // 0x1208 - int32_t radius; // 0x120c + CUtlVector< CHandle< C_BaseEntity > > m_vecAlliesNearby; // 0x12b8 + int32_t m_nAlliesNearby; // 0x12d0 + int32_t stat_reduction_pct; // 0x12d4 + int32_t armor_reduction; // 0x12d8 + int32_t radius; // 0x12dc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Jungle_Spirit_Ally_Alert : public CDOTA_Buff { public: - GameTime_t m_flLastHowl; // 0x11e8 + GameTime_t m_flLastHowl; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Jungle_Spirit_RiverRejuvenation : public C_DOTABaseAbility { public: @@ -48704,33 +49646,33 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation_Effect : public CDOTA_Buff { public: - int32_t distance_from_shrine; // 0x11e8 + int32_t distance_from_shrine; // 0x12b8 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation_Regen : public CDOTA_Buff { public: - int32_t health_restore; // 0x11e8 - int32_t mana_restore; // 0x11ec - float regen_interval; // 0x11f0 + int32_t health_restore; // 0x12b8 + int32_t mana_restore; // 0x12bc + float regen_interval; // 0x12c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_TreantLevel : public C_DOTABaseAbility { public: @@ -48738,7 +49680,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_JungleSpirit_BaseAttackRangeIncrease : public CDOTA_Buff { public: @@ -48746,15 +49688,15 @@ public: }; // Alignment: 1 -// Size: 0x638 +// Size: 0x650 class C_DOTA_CDOTA_Item_BagOfGold_Caster_Only : public C_DOTA_Item { public: - CHandle< C_BaseEntity > m_hThinker; // 0x630 + CHandle< C_BaseEntity > m_hThinker; // 0x648 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Morokai_JungleHealBeam : public C_DOTABaseAbility { public: @@ -48762,27 +49704,27 @@ public: }; // Alignment: 10 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Morokai_JungleHealBeam : public CDOTA_Buff { public: - int32_t beam_count; // 0x11e8 - int32_t beam_range; // 0x11ec - int32_t beam_radius; // 0x11f0 - int32_t beam_buffer; // 0x11f4 - int32_t turn_rate; // 0x11f8 - int32_t hp_per_second; // 0x11fc - GameTime_t m_flLastThinkTime; // 0x1200 + int32_t beam_count; // 0x12b8 + int32_t beam_range; // 0x12bc + int32_t beam_radius; // 0x12c0 + int32_t beam_buffer; // 0x12c4 + int32_t turn_rate; // 0x12c8 + int32_t hp_per_second; // 0x12cc + GameTime_t m_flLastThinkTime; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1204[0x1c]; // 0x1204 + [[maybe_unused]] uint8_t __pad12d4[0x1c]; // 0x12d4 public: - CUtlVector< CHandle< C_BaseEntity > > m_vecTargetedEntities; // 0x1220 - float flLastTreeDestroyed; // 0x1238 - float flTreeDestructionCooldown; // 0x123c + CUtlVector< CHandle< C_BaseEntity > > m_vecTargetedEntities; // 0x12f0 + float flLastTreeDestroyed; // 0x1308 + float flTreeDestructionCooldown; // 0x130c }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_SummonCreeps : public C_DOTABaseAbility { public: @@ -48790,7 +49732,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_SecondBeam : public C_DOTABaseAbility { public: @@ -48798,7 +49740,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_ThirdBeam : public C_DOTABaseAbility { public: @@ -48806,7 +49748,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_BeamRange : public C_DOTABaseAbility { public: @@ -48814,7 +49756,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_BeamHeal : public C_DOTABaseAbility { public: @@ -48822,7 +49764,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_SummonCreeps_Interval : public C_DOTABaseAbility { public: @@ -48830,7 +49772,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_Treant_Level : public C_DOTABaseAbility { public: @@ -48838,22 +49780,22 @@ public: }; // Alignment: 6 -// Size: 0x5c8 +// Size: 0x5d8 class C_DOTA_Ability_JungleSpirit_Volcano_Eruption : public C_DOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad05a0[0x8]; // 0x5a0 + [[maybe_unused]] uint8_t __pad05b0[0x8]; // 0x5b0 public: - int32_t m_iProjectile; // 0x5a8 - int32_t primary_explosion_radius; // 0x5ac - int32_t secondary_explosion_radius; // 0x5b0 - int32_t split_radius; // 0x5b4 - char* szProjectileFXName; // 0x5b8 - char* szGroundMarkerFXName; // 0x5c0 + int32_t m_iProjectile; // 0x5b8 + int32_t primary_explosion_radius; // 0x5bc + int32_t secondary_explosion_radius; // 0x5c0 + int32_t split_radius; // 0x5c4 + char* szProjectileFXName; // 0x5c8 + char* szGroundMarkerFXName; // 0x5d0 }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Ability_JungleSpirit_Volcano_Eruption_Knockback : public CDOTA_Modifier_Knockback { public: @@ -48861,7 +49803,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_JungleSpirit_Volcano_Multitarget : public C_DOTABaseAbility { public: @@ -48869,7 +49811,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_JungleSpirit_Volcano_Splinter : public C_DOTABaseAbility { public: @@ -48877,7 +49819,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_JungleSpirit_Volcano_Damage_Bonus : public C_DOTABaseAbility { public: @@ -48885,7 +49827,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_JungleSpirit_Storm_Cyclone : public C_DOTABaseAbility { public: @@ -48893,47 +49835,47 @@ public: }; // Alignment: 12 -// Size: 0x1278 +// Size: 0x1348 class CDOTA_Modifier_JungleSpirit_Storm_Cyclone : public CDOTA_Buff { public: - CUtlVector< ParticleIndex_t > m_FXIndex; // 0x11e8 - CUtlVector< CHandle< C_BaseEntity > > m_hCyclones; // 0x1200 - int32_t projectile_distance; // 0x1218 - int32_t projectile_radius; // 0x121c - int32_t projectile_amount; // 0x1220 - float projectile_duration; // 0x1224 - float delay; // 0x1228 - GameTime_t m_flDieTime; // 0x122c - GameTime_t m_flStartTime; // 0x1230 + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x12b8 + CUtlVector< CHandle< C_BaseEntity > > m_hCyclones; // 0x12d0 + int32_t projectile_distance; // 0x12e8 + int32_t projectile_radius; // 0x12ec + int32_t projectile_amount; // 0x12f0 + float projectile_duration; // 0x12f4 + float delay; // 0x12f8 + GameTime_t m_flDieTime; // 0x12fc + GameTime_t m_flStartTime; // 0x1300 private: - [[maybe_unused]] uint8_t __pad1234[0x4]; // 0x1234 + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 public: - CUtlVector< Vector > m_vLeftControl; // 0x1238 - CUtlVector< Vector > m_vSourceLoc; // 0x1250 - Vector m_vTargetLoc; // 0x1268 + CUtlVector< Vector > m_vLeftControl; // 0x1308 + CUtlVector< Vector > m_vSourceLoc; // 0x1320 + Vector m_vTargetLoc; // 0x1338 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Jungle_Spirit_Storm_Cyclone_Debuff : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x11e8 + GameTime_t m_flStartTime; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Jungle_Spirit_Storm_Cyclone_Invulnerable : public CDOTA_Buff { public: - ParticleIndex_t nFXIndex; // 0x11e8 - int32_t projectile_radius; // 0x11ec - int32_t projectile_destruction_radius; // 0x11f0 + ParticleIndex_t nFXIndex; // 0x12b8 + int32_t projectile_radius; // 0x12bc + int32_t projectile_destruction_radius; // 0x12c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Jungle_Spirit_Storm_Cyclone_Damage : public C_DOTABaseAbility { public: @@ -48941,7 +49883,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Jungle_Spirit_Storm_Cyclone_Projectiles : public C_DOTABaseAbility { public: @@ -48949,7 +49891,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Jungle_Spirit_Storm_Cyclone_Debuff_Duration : public C_DOTABaseAbility { public: @@ -48957,7 +49899,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Jungle_Spirit_Storm_Multicast : public CDOTA_Buff { public: @@ -48965,7 +49907,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Jungle_Spirit_Storm_Multicast_Cooldown : public CDOTA_Buff { public: @@ -48973,7 +49915,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Jungle_Spirit_Jungle_Lumber_Lock : public CDOTA_Buff { public: @@ -48981,7 +49923,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Jungle_Spirit_Jungle_Lumber_Lock_Immunity : public CDOTA_Buff { public: @@ -48989,7 +49931,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Jungle_Spirit_Volcano_Fire_Strike : public CDOTA_Buff { public: @@ -48997,15 +49939,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Jungle_Spirit_Volcano_Fire_Strike_Caster : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x11e8 + int32_t damage_modifier; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Jungle_Spirit_Range_Attack : public C_DOTABaseAbility { public: @@ -49013,18 +49955,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Jungle_Spirit_Range_Attack : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t projectile_speed; // 0x11ec - float turn_rate; // 0x11f0 - CHandle< C_BaseEntity > m_hAttachTarget; // 0x11f4 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t projectile_speed; // 0x12bc + float turn_rate; // 0x12c0 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12c4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_Range_Attack_Projectile_Duration : public C_DOTABaseAbility { public: @@ -49032,7 +49974,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_Range_Attack_Aoe_Damage : public C_DOTABaseAbility { public: @@ -49040,7 +49982,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Movement_Speed : public C_DOTABaseAbility { public: @@ -49048,7 +49990,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Spell_Lifesteal : public C_DOTABaseAbility { public: @@ -49056,7 +49998,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Evasion : public C_DOTABaseAbility { public: @@ -49064,7 +50006,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Bonus_Health : public C_DOTABaseAbility { public: @@ -49072,7 +50014,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Cooldown_Reduction : public C_DOTABaseAbility { public: @@ -49080,7 +50022,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Magic_Resistance : public C_DOTABaseAbility { public: @@ -49088,7 +50030,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Spell_Amplify : public C_DOTABaseAbility { public: @@ -49096,7 +50038,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Attack_Damage : public C_DOTABaseAbility { public: @@ -49104,7 +50046,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Health_Regen : public C_DOTABaseAbility { public: @@ -49112,7 +50054,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Bonus_Armor : public C_DOTABaseAbility { public: @@ -49120,7 +50062,7 @@ public: }; // Alignment: 0 -// Size: 0x528 +// Size: 0x538 class C_PointEntity : public C_BaseEntity { public: @@ -49128,136 +50070,136 @@ public: }; // Alignment: 25 -// Size: 0x16a8 +// Size: 0x16b8 class C_EnvCombinedLightProbeVolume : public C_BaseEntity { private: - [[maybe_unused]] uint8_t __pad0528[0x10d0]; // 0x528 + [[maybe_unused]] uint8_t __pad0538[0x10d0]; // 0x538 public: // MNetworkEnable // MNetworkChangeCallback "StateChanged" - Color m_Color; // 0x15f8 + Color m_Color; // 0x1608 // MNetworkEnable // MNetworkChangeCallback "StateChanged" - float m_flBrightness; // 0x15fc + float m_flBrightness; // 0x160c // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x1600 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x1610 // MNetworkEnable - bool m_bCustomCubemapTexture; // 0x1608 + bool m_bCustomCubemapTexture; // 0x1618 private: - [[maybe_unused]] uint8_t __pad1609[0x7]; // 0x1609 + [[maybe_unused]] uint8_t __pad1619[0x7]; // 0x1619 public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1610 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1620 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1618 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1628 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1620 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1630 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1628 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1638 // MNetworkEnable - Vector m_vBoxMins; // 0x1630 + Vector m_vBoxMins; // 0x1640 // MNetworkEnable - Vector m_vBoxMaxs; // 0x163c + Vector m_vBoxMaxs; // 0x164c // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x1648 + CUtlSymbolLarge m_LightGroups; // 0x1658 // MNetworkEnable - bool m_bMoveable; // 0x1650 -private: - [[maybe_unused]] uint8_t __pad1651[0x3]; // 0x1651 -public: - // MNetworkEnable - int32_t m_nHandshake; // 0x1654 - // MNetworkEnable - int32_t m_nEnvCubeMapArrayIndex; // 0x1658 - // MNetworkEnable - int32_t m_nPriority; // 0x165c - // MNetworkEnable - bool m_bStartDisabled; // 0x1660 + bool m_bMoveable; // 0x1660 private: [[maybe_unused]] uint8_t __pad1661[0x3]; // 0x1661 public: // MNetworkEnable - float m_flEdgeFadeDist; // 0x1664 + int32_t m_nHandshake; // 0x1664 // MNetworkEnable - Vector m_vEdgeFadeDists; // 0x1668 + int32_t m_nEnvCubeMapArrayIndex; // 0x1668 // MNetworkEnable - int32_t m_nLightProbeSizeX; // 0x1674 + int32_t m_nPriority; // 0x166c // MNetworkEnable - int32_t m_nLightProbeSizeY; // 0x1678 - // MNetworkEnable - int32_t m_nLightProbeSizeZ; // 0x167c - // MNetworkEnable - int32_t m_nLightProbeAtlasX; // 0x1680 - // MNetworkEnable - int32_t m_nLightProbeAtlasY; // 0x1684 - // MNetworkEnable - int32_t m_nLightProbeAtlasZ; // 0x1688 + bool m_bStartDisabled; // 0x1670 private: - [[maybe_unused]] uint8_t __pad168c[0x15]; // 0x168c + [[maybe_unused]] uint8_t __pad1671[0x3]; // 0x1671 public: // MNetworkEnable - bool m_bEnabled; // 0x16a1 + float m_flEdgeFadeDist; // 0x1674 + // MNetworkEnable + Vector m_vEdgeFadeDists; // 0x1678 + // MNetworkEnable + int32_t m_nLightProbeSizeX; // 0x1684 + // MNetworkEnable + int32_t m_nLightProbeSizeY; // 0x1688 + // MNetworkEnable + int32_t m_nLightProbeSizeZ; // 0x168c + // MNetworkEnable + int32_t m_nLightProbeAtlasX; // 0x1690 + // MNetworkEnable + int32_t m_nLightProbeAtlasY; // 0x1694 + // MNetworkEnable + int32_t m_nLightProbeAtlasZ; // 0x1698 +private: + [[maybe_unused]] uint8_t __pad169c[0x15]; // 0x169c +public: + // MNetworkEnable + bool m_bEnabled; // 0x16b1 }; // Alignment: 19 -// Size: 0x688 +// Size: 0x698 class C_EnvCubemap : public C_BaseEntity { private: - [[maybe_unused]] uint8_t __pad0528[0xf0]; // 0x528 + [[maybe_unused]] uint8_t __pad0538[0xf0]; // 0x538 public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x618 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x628 // MNetworkEnable - bool m_bCustomCubemapTexture; // 0x620 + bool m_bCustomCubemapTexture; // 0x630 private: - [[maybe_unused]] uint8_t __pad0621[0x3]; // 0x621 + [[maybe_unused]] uint8_t __pad0631[0x3]; // 0x631 public: // MNetworkEnable - float m_flInfluenceRadius; // 0x624 + float m_flInfluenceRadius; // 0x634 // MNetworkEnable - Vector m_vBoxProjectMins; // 0x628 + Vector m_vBoxProjectMins; // 0x638 // MNetworkEnable - Vector m_vBoxProjectMaxs; // 0x634 + Vector m_vBoxProjectMaxs; // 0x644 // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x640 + CUtlSymbolLarge m_LightGroups; // 0x650 // MNetworkEnable - bool m_bMoveable; // 0x648 + bool m_bMoveable; // 0x658 private: - [[maybe_unused]] uint8_t __pad0649[0x3]; // 0x649 + [[maybe_unused]] uint8_t __pad0659[0x3]; // 0x659 public: // MNetworkEnable - int32_t m_nHandshake; // 0x64c + int32_t m_nHandshake; // 0x65c // MNetworkEnable - int32_t m_nEnvCubeMapArrayIndex; // 0x650 + int32_t m_nEnvCubeMapArrayIndex; // 0x660 // MNetworkEnable - int32_t m_nPriority; // 0x654 + int32_t m_nPriority; // 0x664 // MNetworkEnable - float m_flEdgeFadeDist; // 0x658 + float m_flEdgeFadeDist; // 0x668 // MNetworkEnable - Vector m_vEdgeFadeDists; // 0x65c + Vector m_vEdgeFadeDists; // 0x66c // MNetworkEnable - float m_flDiffuseScale; // 0x668 + float m_flDiffuseScale; // 0x678 // MNetworkEnable - bool m_bStartDisabled; // 0x66c + bool m_bStartDisabled; // 0x67c // MNetworkEnable - bool m_bDefaultEnvMap; // 0x66d + bool m_bDefaultEnvMap; // 0x67d // MNetworkEnable - bool m_bDefaultSpecEnvMap; // 0x66e + bool m_bDefaultSpecEnvMap; // 0x67e // MNetworkEnable - bool m_bIndoorCubeMap; // 0x66f + bool m_bIndoorCubeMap; // 0x67f // MNetworkEnable - bool m_bCopyDiffuseFromDefaultCubemap; // 0x670 + bool m_bCopyDiffuseFromDefaultCubemap; // 0x680 private: - [[maybe_unused]] uint8_t __pad0671[0xf]; // 0x671 + [[maybe_unused]] uint8_t __pad0681[0xf]; // 0x681 public: // MNetworkEnable - bool m_bEnabled; // 0x680 + bool m_bEnabled; // 0x690 }; // Alignment: 0 -// Size: 0x688 +// Size: 0x698 class C_EnvCubemapBox : public C_EnvCubemap { public: @@ -49265,241 +50207,264 @@ public: }; // Alignment: 18 -// Size: 0x578 +// Size: 0x588 class C_EnvCubemapFog : public C_BaseEntity { public: // MNetworkEnable - float m_flEndDistance; // 0x528 + float m_flEndDistance; // 0x538 // MNetworkEnable - float m_flStartDistance; // 0x52c + float m_flStartDistance; // 0x53c // MNetworkEnable - float m_flFogFalloffExponent; // 0x530 + float m_flFogFalloffExponent; // 0x540 // MNetworkEnable - bool m_bHeightFogEnabled; // 0x534 -private: - [[maybe_unused]] uint8_t __pad0535[0x3]; // 0x535 -public: - // MNetworkEnable - float m_flFogHeightWidth; // 0x538 - // MNetworkEnable - float m_flFogHeightEnd; // 0x53c - // MNetworkEnable - float m_flFogHeightStart; // 0x540 - // MNetworkEnable - float m_flFogHeightExponent; // 0x544 - // MNetworkEnable - float m_flLODBias; // 0x548 - // MNetworkEnable - bool m_bActive; // 0x54c - // MNetworkEnable - bool m_bStartDisabled; // 0x54d -private: - [[maybe_unused]] uint8_t __pad054e[0x2]; // 0x54e -public: - // MNetworkEnable - float m_flFogMaxOpacity; // 0x550 - // MNetworkEnable - int32_t m_nCubemapSourceType; // 0x554 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x558 - // MNetworkEnable - CUtlSymbolLarge m_iszSkyEntity; // 0x560 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogCubemapTexture; // 0x568 - // MNetworkEnable - bool m_bHasHeightFogEnd; // 0x570 - bool m_bFirstTime; // 0x571 -}; - -// Alignment: 18 -// Size: 0x1580 -class C_EnvLightProbeVolume : public C_BaseEntity -{ -private: - [[maybe_unused]] uint8_t __pad0528[0xfe0]; // 0x528 -public: - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1508 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1510 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1518 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1520 - // MNetworkEnable - Vector m_vBoxMins; // 0x1528 - // MNetworkEnable - Vector m_vBoxMaxs; // 0x1534 - // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x1540 - // MNetworkEnable - bool m_bMoveable; // 0x1548 -private: - [[maybe_unused]] uint8_t __pad1549[0x3]; // 0x1549 -public: - // MNetworkEnable - int32_t m_nHandshake; // 0x154c - // MNetworkEnable - int32_t m_nPriority; // 0x1550 - // MNetworkEnable - bool m_bStartDisabled; // 0x1554 -private: - [[maybe_unused]] uint8_t __pad1555[0x3]; // 0x1555 -public: - // MNetworkEnable - int32_t m_nLightProbeSizeX; // 0x1558 - // MNetworkEnable - int32_t m_nLightProbeSizeY; // 0x155c - // MNetworkEnable - int32_t m_nLightProbeSizeZ; // 0x1560 - // MNetworkEnable - int32_t m_nLightProbeAtlasX; // 0x1564 - // MNetworkEnable - int32_t m_nLightProbeAtlasY; // 0x1568 - // MNetworkEnable - int32_t m_nLightProbeAtlasZ; // 0x156c -private: - [[maybe_unused]] uint8_t __pad1570[0x9]; // 0x1570 -public: - // MNetworkEnable - bool m_bEnabled; // 0x1579 -}; - -// Alignment: 8 -// Size: 0x550 -class C_TonemapController2 : public C_BaseEntity -{ -public: - // MNetworkEnable - float m_flAutoExposureMin; // 0x528 - // MNetworkEnable - float m_flAutoExposureMax; // 0x52c - // MNetworkEnable - float m_flTonemapPercentTarget; // 0x530 - // MNetworkEnable - float m_flTonemapPercentBrightPixels; // 0x534 - // MNetworkEnable - float m_flTonemapMinAvgLum; // 0x538 - // MNetworkEnable - float m_flExposureAdaptationSpeedUp; // 0x53c - // MNetworkEnable - float m_flExposureAdaptationSpeedDown; // 0x540 - // MNetworkEnable - float m_flTonemapEVSmoothingRange; // 0x544 -}; - -// Alignment: 28 -// Size: 0x5a8 -class C_EnvVolumetricFogController : public C_BaseEntity -{ -public: - // MNetworkEnable - float m_flScattering; // 0x528 - // MNetworkEnable - float m_flAnisotropy; // 0x52c - // MNetworkEnable - float m_flFadeSpeed; // 0x530 - // MNetworkEnable - float m_flDrawDistance; // 0x534 - // MNetworkEnable - float m_flFadeInStart; // 0x538 - // MNetworkEnable - float m_flFadeInEnd; // 0x53c - // MNetworkEnable - float m_flIndirectStrength; // 0x540 - // MNetworkEnable - int32_t m_nIndirectTextureDimX; // 0x544 - // MNetworkEnable - int32_t m_nIndirectTextureDimY; // 0x548 - // MNetworkEnable - int32_t m_nIndirectTextureDimZ; // 0x54c - // MNetworkEnable - Vector m_vBoxMins; // 0x550 - // MNetworkEnable - Vector m_vBoxMaxs; // 0x55c - // MNetworkEnable - bool m_bActive; // 0x568 -private: - [[maybe_unused]] uint8_t __pad0569[0x3]; // 0x569 -public: - // MNetworkEnable - GameTime_t m_flStartAnisoTime; // 0x56c - // MNetworkEnable - GameTime_t m_flStartScatterTime; // 0x570 - // MNetworkEnable - GameTime_t m_flStartDrawDistanceTime; // 0x574 - // MNetworkEnable - float m_flStartAnisotropy; // 0x578 - // MNetworkEnable - float m_flStartScattering; // 0x57c - // MNetworkEnable - float m_flStartDrawDistance; // 0x580 - // MNetworkEnable - float m_flDefaultAnisotropy; // 0x584 - // MNetworkEnable - float m_flDefaultScattering; // 0x588 - // MNetworkEnable - float m_flDefaultDrawDistance; // 0x58c - // MNetworkEnable - bool m_bStartDisabled; // 0x590 - // MNetworkEnable - bool m_bEnableIndirect; // 0x591 - // MNetworkEnable - bool m_bIsMaster; // 0x592 -private: - [[maybe_unused]] uint8_t __pad0593[0x5]; // 0x593 -public: - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogIndirectTexture; // 0x598 - // MNetworkEnable - int32_t m_nForceRefreshCount; // 0x5a0 - bool m_bFirstTime; // 0x5a4 -}; - -// Alignment: 7 -// Size: 0x558 -class C_EnvVolumetricFogVolume : public C_BaseEntity -{ -public: - // MNetworkEnable - bool m_bActive; // 0x528 -private: - [[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529 -public: - // MNetworkEnable - Vector m_vBoxMins; // 0x52c - // MNetworkEnable - Vector m_vBoxMaxs; // 0x538 - // MNetworkEnable - bool m_bStartDisabled; // 0x544 + bool m_bHeightFogEnabled; // 0x544 private: [[maybe_unused]] uint8_t __pad0545[0x3]; // 0x545 public: // MNetworkEnable - float m_flStrength; // 0x548 + float m_flFogHeightWidth; // 0x548 // MNetworkEnable - int32_t m_nFalloffShape; // 0x54c + float m_flFogHeightEnd; // 0x54c // MNetworkEnable - float m_flFalloffExponent; // 0x550 + float m_flFogHeightStart; // 0x550 + // MNetworkEnable + float m_flFogHeightExponent; // 0x554 + // MNetworkEnable + float m_flLODBias; // 0x558 + // MNetworkEnable + bool m_bActive; // 0x55c + // MNetworkEnable + bool m_bStartDisabled; // 0x55d +private: + [[maybe_unused]] uint8_t __pad055e[0x2]; // 0x55e +public: + // MNetworkEnable + float m_flFogMaxOpacity; // 0x560 + // MNetworkEnable + int32_t m_nCubemapSourceType; // 0x564 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x568 + // MNetworkEnable + CUtlSymbolLarge m_iszSkyEntity; // 0x570 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogCubemapTexture; // 0x578 + // MNetworkEnable + bool m_bHasHeightFogEnd; // 0x580 + bool m_bFirstTime; // 0x581 +}; + +// Alignment: 18 +// Size: 0x1590 +class C_EnvLightProbeVolume : public C_BaseEntity +{ +private: + [[maybe_unused]] uint8_t __pad0538[0xfe0]; // 0x538 +public: + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1518 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1520 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1528 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1530 + // MNetworkEnable + Vector m_vBoxMins; // 0x1538 + // MNetworkEnable + Vector m_vBoxMaxs; // 0x1544 + // MNetworkEnable + CUtlSymbolLarge m_LightGroups; // 0x1550 + // MNetworkEnable + bool m_bMoveable; // 0x1558 +private: + [[maybe_unused]] uint8_t __pad1559[0x3]; // 0x1559 +public: + // MNetworkEnable + int32_t m_nHandshake; // 0x155c + // MNetworkEnable + int32_t m_nPriority; // 0x1560 + // MNetworkEnable + bool m_bStartDisabled; // 0x1564 +private: + [[maybe_unused]] uint8_t __pad1565[0x3]; // 0x1565 +public: + // MNetworkEnable + int32_t m_nLightProbeSizeX; // 0x1568 + // MNetworkEnable + int32_t m_nLightProbeSizeY; // 0x156c + // MNetworkEnable + int32_t m_nLightProbeSizeZ; // 0x1570 + // MNetworkEnable + int32_t m_nLightProbeAtlasX; // 0x1574 + // MNetworkEnable + int32_t m_nLightProbeAtlasY; // 0x1578 + // MNetworkEnable + int32_t m_nLightProbeAtlasZ; // 0x157c +private: + [[maybe_unused]] uint8_t __pad1580[0x9]; // 0x1580 +public: + // MNetworkEnable + bool m_bEnabled; // 0x1589 +}; + +// Alignment: 6 +// Size: 0x568 +class C_PlayerVisibility : public C_BaseEntity +{ +public: + // MNetworkEnable + // MNetworkChangeCallback "PlayerVisibilityStateChanged" + float m_flVisibilityStrength; // 0x538 + // MNetworkEnable + // MNetworkChangeCallback "PlayerVisibilityStateChanged" + float m_flFogDistanceMultiplier; // 0x53c + // MNetworkEnable + // MNetworkChangeCallback "PlayerVisibilityStateChanged" + float m_flFogMaxDensityMultiplier; // 0x540 + // MNetworkEnable + // MNetworkChangeCallback "PlayerVisibilityStateChanged" + float m_flFadeTime; // 0x544 + // MNetworkEnable + bool m_bStartDisabled; // 0x548 + // MNetworkEnable + bool m_bIsEnabled; // 0x549 +}; + +// Alignment: 8 +// Size: 0x560 +class C_TonemapController2 : public C_BaseEntity +{ +public: + // MNetworkEnable + float m_flAutoExposureMin; // 0x538 + // MNetworkEnable + float m_flAutoExposureMax; // 0x53c + // MNetworkEnable + float m_flTonemapPercentTarget; // 0x540 + // MNetworkEnable + float m_flTonemapPercentBrightPixels; // 0x544 + // MNetworkEnable + float m_flTonemapMinAvgLum; // 0x548 + // MNetworkEnable + float m_flExposureAdaptationSpeedUp; // 0x54c + // MNetworkEnable + float m_flExposureAdaptationSpeedDown; // 0x550 + // MNetworkEnable + float m_flTonemapEVSmoothingRange; // 0x554 +}; + +// Alignment: 28 +// Size: 0x5b8 +class C_EnvVolumetricFogController : public C_BaseEntity +{ +public: + // MNetworkEnable + float m_flScattering; // 0x538 + // MNetworkEnable + float m_flAnisotropy; // 0x53c + // MNetworkEnable + float m_flFadeSpeed; // 0x540 + // MNetworkEnable + float m_flDrawDistance; // 0x544 + // MNetworkEnable + float m_flFadeInStart; // 0x548 + // MNetworkEnable + float m_flFadeInEnd; // 0x54c + // MNetworkEnable + float m_flIndirectStrength; // 0x550 + // MNetworkEnable + int32_t m_nIndirectTextureDimX; // 0x554 + // MNetworkEnable + int32_t m_nIndirectTextureDimY; // 0x558 + // MNetworkEnable + int32_t m_nIndirectTextureDimZ; // 0x55c + // MNetworkEnable + Vector m_vBoxMins; // 0x560 + // MNetworkEnable + Vector m_vBoxMaxs; // 0x56c + // MNetworkEnable + bool m_bActive; // 0x578 +private: + [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 +public: + // MNetworkEnable + GameTime_t m_flStartAnisoTime; // 0x57c + // MNetworkEnable + GameTime_t m_flStartScatterTime; // 0x580 + // MNetworkEnable + GameTime_t m_flStartDrawDistanceTime; // 0x584 + // MNetworkEnable + float m_flStartAnisotropy; // 0x588 + // MNetworkEnable + float m_flStartScattering; // 0x58c + // MNetworkEnable + float m_flStartDrawDistance; // 0x590 + // MNetworkEnable + float m_flDefaultAnisotropy; // 0x594 + // MNetworkEnable + float m_flDefaultScattering; // 0x598 + // MNetworkEnable + float m_flDefaultDrawDistance; // 0x59c + // MNetworkEnable + bool m_bStartDisabled; // 0x5a0 + // MNetworkEnable + bool m_bEnableIndirect; // 0x5a1 + // MNetworkEnable + bool m_bIsMaster; // 0x5a2 +private: + [[maybe_unused]] uint8_t __pad05a3[0x5]; // 0x5a3 +public: + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogIndirectTexture; // 0x5a8 + // MNetworkEnable + int32_t m_nForceRefreshCount; // 0x5b0 + bool m_bFirstTime; // 0x5b4 +}; + +// Alignment: 7 +// Size: 0x568 +class C_EnvVolumetricFogVolume : public C_BaseEntity +{ +public: + // MNetworkEnable + bool m_bActive; // 0x538 +private: + [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 +public: + // MNetworkEnable + Vector m_vBoxMins; // 0x53c + // MNetworkEnable + Vector m_vBoxMaxs; // 0x548 + // MNetworkEnable + bool m_bStartDisabled; // 0x554 +private: + [[maybe_unused]] uint8_t __pad0555[0x3]; // 0x555 +public: + // MNetworkEnable + float m_flStrength; // 0x558 + // MNetworkEnable + int32_t m_nFalloffShape; // 0x55c + // MNetworkEnable + float m_flFalloffExponent; // 0x560 }; // Alignment: 3 -// Size: 0x598 +// Size: 0x5a8 class C_FogController : public C_BaseEntity { public: // MNetworkEnable - fogparams_t m_fog; // 0x528 - bool m_bUseAngles; // 0x590 + fogparams_t m_fog; // 0x538 + bool m_bUseAngles; // 0x5a0 private: - [[maybe_unused]] uint8_t __pad0591[0x3]; // 0x591 + [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 public: - int32_t m_iChangedVariables; // 0x594 + int32_t m_iChangedVariables; // 0x5a4 }; // Alignment: 0 -// Size: 0x528 +// Size: 0x538 class CInfoTarget : public C_PointEntity { public: @@ -49507,7 +50472,7 @@ public: }; // Alignment: 0 -// Size: 0x528 +// Size: 0x538 class CInfoParticleTarget : public C_PointEntity { public: @@ -49515,247 +50480,250 @@ public: }; // Alignment: 3 -// Size: 0x540 +// Size: 0x550 class C_InfoVisibilityBox : public C_BaseEntity { private: - [[maybe_unused]] uint8_t __pad0528[0x4]; // 0x528 + [[maybe_unused]] uint8_t __pad0538[0x4]; // 0x538 public: // MNetworkEnable - int32_t m_nMode; // 0x52c + int32_t m_nMode; // 0x53c // MNetworkEnable - Vector m_vBoxSize; // 0x530 + Vector m_vBoxSize; // 0x540 // MNetworkEnable - bool m_bEnabled; // 0x53c + bool m_bEnabled; // 0x54c }; // Alignment: 8 -// Size: 0x570 +// Size: 0x580 class CInfoWorldLayer : public C_BaseEntity { public: - CEntityIOOutput m_pOutputOnEntitiesSpawned; // 0x528 + CEntityIOOutput m_pOutputOnEntitiesSpawned; // 0x538 // MNetworkEnable - CUtlSymbolLarge m_worldName; // 0x550 + CUtlSymbolLarge m_worldName; // 0x560 // MNetworkEnable - CUtlSymbolLarge m_layerName; // 0x558 + CUtlSymbolLarge m_layerName; // 0x568 // MNetworkEnable - bool m_bWorldLayerVisible; // 0x560 + bool m_bWorldLayerVisible; // 0x570 // MNetworkEnable - bool m_bEntitiesSpawned; // 0x561 - bool m_bCreateAsChildSpawnGroup; // 0x562 + bool m_bEntitiesSpawned; // 0x571 + bool m_bCreateAsChildSpawnGroup; // 0x572 private: - [[maybe_unused]] uint8_t __pad0563[0x1]; // 0x563 + [[maybe_unused]] uint8_t __pad0573[0x1]; // 0x573 public: - uint32_t m_hLayerSpawnGroup; // 0x564 - bool m_bWorldLayerActuallyVisible; // 0x568 + uint32_t m_hLayerSpawnGroup; // 0x574 + bool m_bWorldLayerActuallyVisible; // 0x578 }; // Alignment: 25 -// Size: 0x590 +// Size: 0x5a0 class C_PointCamera : public C_BaseEntity { public: // MNetworkEnable - float m_FOV; // 0x528 + float m_FOV; // 0x538 // MNetworkEnable - float m_Resolution; // 0x52c + float m_Resolution; // 0x53c // MNetworkEnable - bool m_bFogEnable; // 0x530 + bool m_bFogEnable; // 0x540 // MNetworkEnable - Color m_FogColor; // 0x531 -private: - [[maybe_unused]] uint8_t __pad0535[0x3]; // 0x535 -public: - // MNetworkEnable - float m_flFogStart; // 0x538 - // MNetworkEnable - float m_flFogEnd; // 0x53c - // MNetworkEnable - float m_flFogMaxDensity; // 0x540 - // MNetworkEnable - bool m_bActive; // 0x544 - // MNetworkEnable - bool m_bUseScreenAspectRatio; // 0x545 -private: - [[maybe_unused]] uint8_t __pad0546[0x2]; // 0x546 -public: - // MNetworkEnable - float m_flAspectRatio; // 0x548 - // MNetworkEnable - bool m_bNoSky; // 0x54c -private: - [[maybe_unused]] uint8_t __pad054d[0x3]; // 0x54d -public: - // MNetworkEnable - float m_fBrightness; // 0x550 - // MNetworkEnable - float m_flZFar; // 0x554 - // MNetworkEnable - float m_flZNear; // 0x558 - // MNetworkEnable - float m_flOverrideShadowFarZ; // 0x55c - // MNetworkEnable - bool m_bDofEnabled; // 0x560 -private: - [[maybe_unused]] uint8_t __pad0561[0x3]; // 0x561 -public: - // MNetworkEnable - float m_flDofNearBlurry; // 0x564 - // MNetworkEnable - float m_flDofNearCrisp; // 0x568 - // MNetworkEnable - float m_flDofFarCrisp; // 0x56c - // MNetworkEnable - float m_flDofFarBlurry; // 0x570 - // MNetworkEnable - float m_flDofTiltToGround; // 0x574 - float m_TargetFOV; // 0x578 - float m_DegreesPerSecond; // 0x57c - bool m_bIsOn; // 0x580 -private: - [[maybe_unused]] uint8_t __pad0581[0x7]; // 0x581 -public: - C_PointCamera* m_pNext; // 0x588 -}; - -// Alignment: 1 -// Size: 0x598 -class C_PointCameraVFOV : public C_PointCamera -{ -public: - float m_flVerticalFOV; // 0x590 -}; - -// Alignment: 12 -// Size: 0x5b8 -class CPointTemplate : public CLogicalEntity -{ -public: - CUtlSymbolLarge m_iszWorldName; // 0x528 - CUtlSymbolLarge m_iszSource2EntityLumpName; // 0x530 - CUtlSymbolLarge m_iszEntityFilterName; // 0x538 - float m_flTimeoutInterval; // 0x540 - bool m_bAsynchronouslySpawnEntities; // 0x544 + Color m_FogColor; // 0x541 private: [[maybe_unused]] uint8_t __pad0545[0x3]; // 0x545 public: - CEntityIOOutput m_pOutputOnSpawned; // 0x548 - PointTemplateClientOnlyEntityBehavior_t m_clientOnlyEntityBehavior; // 0x570 - PointTemplateOwnerSpawnGroupType_t m_ownerSpawnGroupType; // 0x574 - CUtlVector< uint32 > m_createdSpawnGroupHandles; // 0x578 - CUtlVector< CEntityHandle > m_SpawnedEntityHandles; // 0x590 - HSCRIPT m_ScriptSpawnCallback; // 0x5a8 - HSCRIPT m_ScriptCallbackScope; // 0x5b0 + // MNetworkEnable + float m_flFogStart; // 0x548 + // MNetworkEnable + float m_flFogEnd; // 0x54c + // MNetworkEnable + float m_flFogMaxDensity; // 0x550 + // MNetworkEnable + bool m_bActive; // 0x554 + // MNetworkEnable + bool m_bUseScreenAspectRatio; // 0x555 +private: + [[maybe_unused]] uint8_t __pad0556[0x2]; // 0x556 +public: + // MNetworkEnable + float m_flAspectRatio; // 0x558 + // MNetworkEnable + bool m_bNoSky; // 0x55c +private: + [[maybe_unused]] uint8_t __pad055d[0x3]; // 0x55d +public: + // MNetworkEnable + float m_fBrightness; // 0x560 + // MNetworkEnable + float m_flZFar; // 0x564 + // MNetworkEnable + float m_flZNear; // 0x568 + // MNetworkEnable + float m_flOverrideShadowFarZ; // 0x56c + // MNetworkEnable + bool m_bDofEnabled; // 0x570 +private: + [[maybe_unused]] uint8_t __pad0571[0x3]; // 0x571 +public: + // MNetworkEnable + float m_flDofNearBlurry; // 0x574 + // MNetworkEnable + float m_flDofNearCrisp; // 0x578 + // MNetworkEnable + float m_flDofFarCrisp; // 0x57c + // MNetworkEnable + float m_flDofFarBlurry; // 0x580 + // MNetworkEnable + float m_flDofTiltToGround; // 0x584 + float m_TargetFOV; // 0x588 + float m_DegreesPerSecond; // 0x58c + bool m_bIsOn; // 0x590 +private: + [[maybe_unused]] uint8_t __pad0591[0x7]; // 0x591 +public: + C_PointCamera* m_pNext; // 0x598 +}; + +// Alignment: 1 +// Size: 0x5a8 +class C_PointCameraVFOV : public C_PointCamera +{ +public: + float m_flVerticalFOV; // 0x5a0 +}; + +// Alignment: 12 +// Size: 0x5c8 +class CPointTemplate : public CLogicalEntity +{ +public: + CUtlSymbolLarge m_iszWorldName; // 0x538 + CUtlSymbolLarge m_iszSource2EntityLumpName; // 0x540 + CUtlSymbolLarge m_iszEntityFilterName; // 0x548 + float m_flTimeoutInterval; // 0x550 + bool m_bAsynchronouslySpawnEntities; // 0x554 +private: + [[maybe_unused]] uint8_t __pad0555[0x3]; // 0x555 +public: + CEntityIOOutput m_pOutputOnSpawned; // 0x558 + PointTemplateClientOnlyEntityBehavior_t m_clientOnlyEntityBehavior; // 0x580 + PointTemplateOwnerSpawnGroupType_t m_ownerSpawnGroupType; // 0x584 + CUtlVector< uint32 > m_createdSpawnGroupHandles; // 0x588 + CUtlVector< CEntityHandle > m_SpawnedEntityHandles; // 0x5a0 + HSCRIPT m_ScriptSpawnCallback; // 0x5b8 + HSCRIPT m_ScriptCallbackScope; // 0x5c0 }; // Alignment: 4 -// Size: 0x550 +// Size: 0x560 class C_SoundAreaEntityBase : public C_BaseEntity { public: // MNetworkEnable - bool m_bDisabled; // 0x528 + bool m_bDisabled; // 0x538 private: - [[maybe_unused]] uint8_t __pad0529[0x7]; // 0x529 + [[maybe_unused]] uint8_t __pad0539[0x7]; // 0x539 public: - bool m_bWasEnabled; // 0x530 + bool m_bWasEnabled; // 0x540 private: - [[maybe_unused]] uint8_t __pad0531[0x7]; // 0x531 + [[maybe_unused]] uint8_t __pad0541[0x7]; // 0x541 public: // MNetworkEnable - CUtlSymbolLarge m_iszSoundAreaType; // 0x538 + CUtlSymbolLarge m_iszSoundAreaType; // 0x548 // MNetworkEnable - Vector m_vPos; // 0x540 + Vector m_vPos; // 0x550 }; // Alignment: 1 -// Size: 0x558 +// Size: 0x568 class C_SoundAreaEntitySphere : public C_SoundAreaEntityBase { public: // MNetworkEnable - float m_flRadius; // 0x550 + float m_flRadius; // 0x560 }; // Alignment: 2 -// Size: 0x568 +// Size: 0x578 class C_SoundAreaEntityOrientedBox : public C_SoundAreaEntityBase { public: // MNetworkEnable - Vector m_vMin; // 0x550 + Vector m_vMin; // 0x560 // MNetworkEnable - Vector m_vMax; // 0x55c + Vector m_vMax; // 0x56c }; // Alignment: 4 -// Size: 0x5e0 +// Size: 0x5f0 class C_Team : public C_BaseEntity { public: // MNetworkEnable // MNetworkAlias "m_aPlayers" - C_NetworkUtlVectorBase< CHandle< CBasePlayerController > > m_aPlayerControllers; // 0x528 + C_NetworkUtlVectorBase< CHandle< CBasePlayerController > > m_aPlayerControllers; // 0x538 // MNetworkEnable // MNetworkAlias "m_aPawns" - C_NetworkUtlVectorBase< CHandle< C_BasePlayerPawn > > m_aPlayers; // 0x540 + C_NetworkUtlVectorBase< CHandle< C_BasePlayerPawn > > m_aPlayers; // 0x550 // MNetworkEnable - int32_t m_iScore; // 0x558 + int32_t m_iScore; // 0x568 // MNetworkEnable - char m_szTeamname[129]; // 0x55c + char m_szTeamname[129]; // 0x56c }; // Alignment: 15 -// Size: 0x688 +// Size: 0x6b0 class CBasePlayerController : public C_BaseEntity { private: - [[maybe_unused]] uint8_t __pad0528[0x8]; // 0x528 + [[maybe_unused]] uint8_t __pad0538[0x8]; // 0x538 public: - int32_t m_nFinalPredictedTick; // 0x530 + int32_t m_nFinalPredictedTick; // 0x540 private: - [[maybe_unused]] uint8_t __pad0534[0x4]; // 0x534 + [[maybe_unused]] uint8_t __pad0544[0x4]; // 0x544 public: - C_CommandContext m_CommandContext; // 0x538 - uint64_t m_nInButtonsWhichAreToggles; // 0x5b0 + C_CommandContext m_CommandContext; // 0x548 + uint64_t m_nInButtonsWhichAreToggles; // 0x5c0 // MNetworkEnable // MNetworkPriority "1" // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_nTickBase; // 0x5b8 + uint32_t m_nTickBase; // 0x5c8 // MNetworkEnable // MNetworkChangeCallback "OnPawnChanged" - CHandle< C_BasePlayerPawn > m_hPawn; // 0x5bc - CHandle< C_BasePlayerPawn > m_hPredictedPawn; // 0x5c0 - CSplitScreenSlot m_nSplitScreenSlot; // 0x5c4 - CHandle< CBasePlayerController > m_hSplitOwner; // 0x5c8 + CHandle< C_BasePlayerPawn > m_hPawn; // 0x5cc + CHandle< C_BasePlayerPawn > m_hPredictedPawn; // 0x5d0 + CSplitScreenSlot m_nSplitScreenSlot; // 0x5d4 + CHandle< CBasePlayerController > m_hSplitOwner; // 0x5d8 private: - [[maybe_unused]] uint8_t __pad05cc[0x4]; // 0x5cc + [[maybe_unused]] uint8_t __pad05dc[0x4]; // 0x5dc public: - CUtlVector< CHandle< CBasePlayerController > > m_hSplitScreenPlayers; // 0x5d0 - bool m_bIsHLTV; // 0x5e8 + CUtlVector< CHandle< CBasePlayerController > > m_hSplitScreenPlayers; // 0x5e0 + bool m_bIsHLTV; // 0x5f8 private: - [[maybe_unused]] uint8_t __pad05e9[0x3]; // 0x5e9 + [[maybe_unused]] uint8_t __pad05f9[0x3]; // 0x5f9 public: // MNetworkEnable // MNetworkChangeCallback "OnConnectionStateChanged" - PlayerConnectedState m_iConnected; // 0x5ec + PlayerConnectedState m_iConnected; // 0x5fc // MNetworkEnable // MNetworkChangeCallback "OnPlayerControllerNameChanged" - char m_iszPlayerName[128]; // 0x5f0 + char m_iszPlayerName[128]; // 0x600 private: - [[maybe_unused]] uint8_t __pad0670[0x8]; // 0x670 + [[maybe_unused]] uint8_t __pad0680[0x8]; // 0x680 public: // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "OnSteamIDChanged" - uint64_t m_steamID; // 0x678 - bool m_bIsLocalPlayerController; // 0x680 + uint64_t m_steamID; // 0x688 + bool m_bIsLocalPlayerController; // 0x690 private: - [[maybe_unused]] uint8_t __pad0681[0x3]; // 0x681 + [[maybe_unused]] uint8_t __pad0691[0x3]; // 0x691 public: // MNetworkEnable - uint32_t m_iDesiredFOV; // 0x684 + uint32_t m_iDesiredFOV; // 0x694 + + // Static fields: + static bool &Get_sm_bRunningPredictedClientStringCommands(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBasePlayerController")->m_static_fields[0]->m_instance);}; }; // Alignment: 14 @@ -49808,7 +50776,7 @@ public: }; // Alignment: 35 -// Size: 0x7a8 +// Size: 0x7b8 class C_BaseModelEntity : public C_BaseEntity { public: @@ -49816,98 +50784,98 @@ public: // MNetworkUserGroup "CRenderComponent" // MNetworkAlias "CRenderComponent" // MNetworkTypeAlias "CRenderComponent" - CRenderComponent* m_CRenderComponent; // 0x528 + CRenderComponent* m_CRenderComponent; // 0x538 // MNetworkEnable // MNetworkUserGroup "CHitboxComponent" // MNetworkAlias "CHitboxComponent" // MNetworkTypeAlias "CHitboxComponent" - CHitboxComponent m_CHitboxComponent; // 0x530 + CHitboxComponent m_CHitboxComponent; // 0x540 private: - [[maybe_unused]] uint8_t __pad0558[0x20]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x20]; // 0x568 public: - bool m_bInitModelEffects; // 0x578 - bool m_bIsStaticProp; // 0x579 + bool m_bInitModelEffects; // 0x588 + bool m_bIsStaticProp; // 0x589 private: - [[maybe_unused]] uint8_t __pad057a[0x2]; // 0x57a + [[maybe_unused]] uint8_t __pad058a[0x2]; // 0x58a public: - int32_t m_iViewerID; // 0x57c - int32_t m_iTeamVisibilityBitmask; // 0x580 - int32_t m_nLastAddDecal; // 0x584 - int32_t m_nDecalsAdded; // 0x588 - int32_t m_iOldHealth; // 0x58c + int32_t m_iViewerID; // 0x58c + int32_t m_iTeamVisibilityBitmask; // 0x590 + int32_t m_nLastAddDecal; // 0x594 + int32_t m_nDecalsAdded; // 0x598 + int32_t m_iOldHealth; // 0x59c // MNetworkEnable // MNetworkChangeCallback "OnRenderModeChanged" - RenderMode_t m_nRenderMode; // 0x590 - bool m_bVisibilityDirtyFlag; // 0x591 + RenderMode_t m_nRenderMode; // 0x5a0 + bool m_bVisibilityDirtyFlag; // 0x5a1 // MNetworkEnable - RenderFx_t m_nRenderFX; // 0x592 - bool m_bAllowFadeInView; // 0x593 + RenderFx_t m_nRenderFX; // 0x5a2 + bool m_bAllowFadeInView; // 0x5a3 // MNetworkEnable // MNetworkChangeCallback "OnColorChanged" - Color m_clrRender; // 0x594 + Color m_clrRender; // 0x5a4 // MNetworkEnable // MNetworkChangeCallback "OnRenderAttributesChanged" - C_UtlVectorEmbeddedNetworkVar< EntityRenderAttribute_t > m_vecRenderAttributes; // 0x598 + C_UtlVectorEmbeddedNetworkVar< EntityRenderAttribute_t > m_vecRenderAttributes; // 0x5a8 private: - [[maybe_unused]] uint8_t __pad05e8[0x18]; // 0x5e8 + [[maybe_unused]] uint8_t __pad05f8[0x18]; // 0x5f8 public: // MNetworkEnable // MNetworkChangeCallback "OnLightGroupChanged" - CUtlStringToken m_LightGroup; // 0x600 + CUtlStringToken m_LightGroup; // 0x610 // MNetworkEnable - bool m_bRenderToCubemaps; // 0x604 + bool m_bRenderToCubemaps; // 0x614 private: - [[maybe_unused]] uint8_t __pad0605[0x3]; // 0x605 + [[maybe_unused]] uint8_t __pad0615[0x3]; // 0x615 public: // MNetworkEnable - CCollisionProperty m_Collision; // 0x608 + CCollisionProperty m_Collision; // 0x618 // MNetworkEnable - CGlowProperty m_Glow; // 0x6b8 + CGlowProperty m_Glow; // 0x6c8 // MNetworkEnable - float m_flGlowBackfaceMult; // 0x710 + float m_flGlowBackfaceMult; // 0x720 // MNetworkEnable - float m_fadeMinDist; // 0x714 + float m_fadeMinDist; // 0x724 // MNetworkEnable - float m_fadeMaxDist; // 0x718 + float m_fadeMaxDist; // 0x728 // MNetworkEnable - float m_flFadeScale; // 0x71c + float m_flFadeScale; // 0x72c // MNetworkEnable - float m_flShadowStrength; // 0x720 + float m_flShadowStrength; // 0x730 // MNetworkEnable - uint8_t m_nObjectCulling; // 0x724 + uint8_t m_nObjectCulling; // 0x734 private: - [[maybe_unused]] uint8_t __pad0725[0x3]; // 0x725 + [[maybe_unused]] uint8_t __pad0735[0x3]; // 0x735 public: // MNetworkEnable - int32_t m_nAddDecal; // 0x728 + int32_t m_nAddDecal; // 0x738 // MNetworkEnable - Vector m_vDecalPosition; // 0x72c + Vector m_vDecalPosition; // 0x73c // MNetworkEnable - Vector m_vDecalForwardAxis; // 0x738 + Vector m_vDecalForwardAxis; // 0x748 // MNetworkEnable - float m_flDecalHealBloodRate; // 0x744 + float m_flDecalHealBloodRate; // 0x754 // MNetworkEnable - float m_flDecalHealHeightRate; // 0x748 + float m_flDecalHealHeightRate; // 0x758 private: - [[maybe_unused]] uint8_t __pad074c[0x4]; // 0x74c + [[maybe_unused]] uint8_t __pad075c[0x4]; // 0x75c public: // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_ConfigEntitiesToPropagateMaterialDecalsTo; // 0x750 + C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_ConfigEntitiesToPropagateMaterialDecalsTo; // 0x760 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" // MNetworkChangeCallback "OnViewOffsetChanged" - CNetworkViewOffsetVector m_vecViewOffset; // 0x768 + CNetworkViewOffsetVector m_vecViewOffset; // 0x778 private: - [[maybe_unused]] uint8_t __pad0790[0x8]; // 0x790 + [[maybe_unused]] uint8_t __pad07a0[0x8]; // 0x7a0 public: - CClientAlphaProperty* m_pClientAlphaProperty; // 0x798 - Color m_ClientOverrideTint; // 0x7a0 - bool m_bUseClientOverrideTint; // 0x7a4 + CClientAlphaProperty* m_pClientAlphaProperty; // 0x7a8 + Color m_ClientOverrideTint; // 0x7b0 + bool m_bUseClientOverrideTint; // 0x7b4 }; // Alignment: 0 -// Size: 0x7a8 +// Size: 0x7b8 class CServerOnlyModelEntity : public C_BaseModelEntity { public: @@ -49915,7 +50883,7 @@ public: }; // Alignment: 0 -// Size: 0x7a8 +// Size: 0x7b8 class C_ModelPointEntity : public C_BaseModelEntity { public: @@ -49923,123 +50891,122 @@ public: }; // Alignment: 7 -// Size: 0x580 +// Size: 0x590 class CLogicRelay : public CLogicalEntity { public: - CEntityIOOutput m_OnTrigger; // 0x528 - CEntityIOOutput m_OnSpawn; // 0x550 - bool m_bDisabled; // 0x578 - bool m_bWaitForRefire; // 0x579 - bool m_bTriggerOnce; // 0x57a - bool m_bFastRetrigger; // 0x57b - bool m_bPassthoughCaller; // 0x57c + CEntityIOOutput m_OnTrigger; // 0x538 + CEntityIOOutput m_OnSpawn; // 0x560 + bool m_bDisabled; // 0x588 + bool m_bWaitForRefire; // 0x589 + bool m_bTriggerOnce; // 0x58a + bool m_bFastRetrigger; // 0x58b + bool m_bPassthoughCaller; // 0x58c }; -// Alignment: 23 -// Size: 0xd58 +// Alignment: 24 +// Size: 0xd68 class C_ParticleSystem : public C_BaseModelEntity { public: // MNetworkEnable - char m_szSnapshotFileName[512]; // 0x7a8 + char m_szSnapshotFileName[512]; // 0x7b8 // MNetworkEnable - bool m_bActive; // 0x9a8 + bool m_bActive; // 0x9b8 // MNetworkEnable - bool m_bFrozen; // 0x9a9 + bool m_bFrozen; // 0x9b9 private: - [[maybe_unused]] uint8_t __pad09aa[0x2]; // 0x9aa + [[maybe_unused]] uint8_t __pad09ba[0x2]; // 0x9ba public: // MNetworkEnable - float m_flFreezeTransitionDuration; // 0x9ac + float m_flFreezeTransitionDuration; // 0x9bc // MNetworkEnable - int32_t m_nStopType; // 0x9b0 + int32_t m_nStopType; // 0x9c0 // MNetworkEnable - bool m_bAnimateDuringGameplayPause; // 0x9b4 + bool m_bAnimateDuringGameplayPause; // 0x9c4 private: - [[maybe_unused]] uint8_t __pad09b5[0x3]; // 0x9b5 + [[maybe_unused]] uint8_t __pad09c5[0x3]; // 0x9c5 public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x9b8 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x9c8 // MNetworkEnable - GameTime_t m_flStartTime; // 0x9c0 + GameTime_t m_flStartTime; // 0x9d0 // MNetworkEnable - float m_flPreSimTime; // 0x9c4 + float m_flPreSimTime; // 0x9d4 // MNetworkEnable - Vector m_vServerControlPoints[4]; // 0x9c8 + Vector m_vServerControlPoints[4]; // 0x9d8 // MNetworkEnable - uint8_t m_iServerControlPointAssignments[4]; // 0x9f8 + uint8_t m_iServerControlPointAssignments[4]; // 0xa08 // MNetworkEnable - CHandle< C_BaseEntity > m_hControlPointEnts[64]; // 0x9fc + CHandle< C_BaseEntity > m_hControlPointEnts[64]; // 0xa0c // MNetworkEnable - bool m_bNoSave; // 0xafc + bool m_bNoSave; // 0xb0c // MNetworkEnable - bool m_bNoFreeze; // 0xafd - bool m_bStartActive; // 0xafe + bool m_bNoFreeze; // 0xb0d + // MNetworkEnable + bool m_bNoRamp; // 0xb0e + bool m_bStartActive; // 0xb0f + CUtlSymbolLarge m_iszEffectName; // 0xb10 + CUtlSymbolLarge m_iszControlPointNames[64]; // 0xb18 + int32_t m_nDataCP; // 0xd18 + Vector m_vecDataCPValue; // 0xd1c + int32_t m_nTintCP; // 0xd28 + Color m_clrTint; // 0xd2c private: - [[maybe_unused]] uint8_t __pad0aff[0x1]; // 0xaff + [[maybe_unused]] uint8_t __pad0d30[0x20]; // 0xd30 public: - CUtlSymbolLarge m_iszEffectName; // 0xb00 - CUtlSymbolLarge m_iszControlPointNames[64]; // 0xb08 - int32_t m_nDataCP; // 0xd08 - Vector m_vecDataCPValue; // 0xd0c - int32_t m_nTintCP; // 0xd18 - Color m_clrTint; // 0xd1c -private: - [[maybe_unused]] uint8_t __pad0d20[0x20]; // 0xd20 -public: - bool m_bOldActive; // 0xd40 - bool m_bOldFrozen; // 0xd41 + bool m_bOldActive; // 0xd50 + bool m_bOldFrozen; // 0xd51 }; // Alignment: 16 -// Size: 0x630 +// Size: 0x640 class C_PathParticleRope : public C_BaseEntity { public: - bool m_bStartActive; // 0x528 + bool m_bStartActive; // 0x538 private: - [[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529 + [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 public: - float m_flMaxSimulationTime; // 0x52c - CUtlSymbolLarge m_iszEffectName; // 0x530 - CUtlVector< CUtlSymbolLarge > m_PathNodes_Name; // 0x538 + float m_flMaxSimulationTime; // 0x53c + CUtlSymbolLarge m_iszEffectName; // 0x540 + CUtlVector< CUtlSymbolLarge > m_PathNodes_Name; // 0x548 // MNetworkEnable - float m_flParticleSpacing; // 0x550 + float m_flParticleSpacing; // 0x560 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" - float m_flSlack; // 0x554 + float m_flSlack; // 0x564 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" - float m_flRadius; // 0x558 + float m_flRadius; // 0x568 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" - Color m_ColorTint; // 0x55c + Color m_ColorTint; // 0x56c // MNetworkEnable // MNetworkChangeCallback "effectStateChanged" - int32_t m_nEffectState; // 0x560 + int32_t m_nEffectState; // 0x570 private: - [[maybe_unused]] uint8_t __pad0564[0x4]; // 0x564 + [[maybe_unused]] uint8_t __pad0574[0x4]; // 0x574 public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x568 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x578 // MNetworkEnable - C_NetworkUtlVectorBase< Vector > m_PathNodes_Position; // 0x570 + C_NetworkUtlVectorBase< Vector > m_PathNodes_Position; // 0x580 // MNetworkEnable - C_NetworkUtlVectorBase< Vector > m_PathNodes_TangentIn; // 0x588 + C_NetworkUtlVectorBase< Vector > m_PathNodes_TangentIn; // 0x598 // MNetworkEnable - C_NetworkUtlVectorBase< Vector > m_PathNodes_TangentOut; // 0x5a0 + C_NetworkUtlVectorBase< Vector > m_PathNodes_TangentOut; // 0x5b0 // MNetworkEnable - C_NetworkUtlVectorBase< Vector > m_PathNodes_Color; // 0x5b8 + C_NetworkUtlVectorBase< Vector > m_PathNodes_Color; // 0x5c8 // MNetworkEnable // MNetworkChangeCallback "pinStateChanged" - C_NetworkUtlVectorBase< bool > m_PathNodes_PinEnabled; // 0x5d0 + C_NetworkUtlVectorBase< bool > m_PathNodes_PinEnabled; // 0x5e0 // MNetworkEnable - C_NetworkUtlVectorBase< float32 > m_PathNodes_RadiusScale; // 0x5e8 + C_NetworkUtlVectorBase< float32 > m_PathNodes_RadiusScale; // 0x5f8 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x640 class C_PathParticleRopeAlias_path_particle_rope_clientside : public C_PathParticleRope { public: @@ -50047,216 +51014,191 @@ public: }; // Alignment: 7 -// Size: 0x7d0 +// Size: 0x7e0 class C_DynamicLight : public C_BaseModelEntity { public: // MNetworkEnable - uint8_t m_Flags; // 0x7a8 + uint8_t m_Flags; // 0x7b8 // MNetworkEnable - uint8_t m_LightStyle; // 0x7a9 + uint8_t m_LightStyle; // 0x7b9 private: - [[maybe_unused]] uint8_t __pad07aa[0x2]; // 0x7aa + [[maybe_unused]] uint8_t __pad07ba[0x2]; // 0x7ba public: // MNetworkEnable - float m_Radius; // 0x7ac + float m_Radius; // 0x7bc // MNetworkEnable - int32_t m_Exponent; // 0x7b0 + int32_t m_Exponent; // 0x7c0 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "360.000000" - float m_InnerAngle; // 0x7b4 + float m_InnerAngle; // 0x7c4 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "360.000000" - float m_OuterAngle; // 0x7b8 + float m_OuterAngle; // 0x7c8 // MNetworkEnable - float m_SpotRadius; // 0x7bc + float m_SpotRadius; // 0x7cc }; // Alignment: 9 -// Size: 0x5b8 +// Size: 0x5c8 class C_EnvScreenOverlay : public C_PointEntity { public: // MNetworkEnable - CUtlSymbolLarge m_iszOverlayNames[10]; // 0x528 + CUtlSymbolLarge m_iszOverlayNames[10]; // 0x538 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "-1.000000" // MNetworkMaxValue "63.000000" - float m_flOverlayTimes[10]; // 0x578 + float m_flOverlayTimes[10]; // 0x588 // MNetworkEnable - GameTime_t m_flStartTime; // 0x5a0 + GameTime_t m_flStartTime; // 0x5b0 // MNetworkEnable - int32_t m_iDesiredOverlay; // 0x5a4 + int32_t m_iDesiredOverlay; // 0x5b4 // MNetworkEnable - bool m_bIsActive; // 0x5a8 - bool m_bWasActive; // 0x5a9 + bool m_bIsActive; // 0x5b8 + bool m_bWasActive; // 0x5b9 private: - [[maybe_unused]] uint8_t __pad05aa[0x2]; // 0x5aa + [[maybe_unused]] uint8_t __pad05ba[0x2]; // 0x5ba public: - int32_t m_iCachedDesiredOverlay; // 0x5ac - int32_t m_iCurrentOverlay; // 0x5b0 - GameTime_t m_flCurrentOverlayTime; // 0x5b4 + int32_t m_iCachedDesiredOverlay; // 0x5bc + int32_t m_iCurrentOverlay; // 0x5c0 + GameTime_t m_flCurrentOverlayTime; // 0x5c4 }; // Alignment: 3 -// Size: 0x7b8 +// Size: 0x7c8 class C_FuncTrackTrain : public C_BaseModelEntity { public: - int32_t m_nLongAxis; // 0x7a8 - float m_flRadius; // 0x7ac - float m_flLineLength; // 0x7b0 + int32_t m_nLongAxis; // 0x7b8 + float m_flRadius; // 0x7bc + float m_flLineLength; // 0x7c0 }; // Alignment: 1 -// Size: 0x530 +// Size: 0x540 class C_RagdollManager : public C_BaseEntity { public: // MNetworkEnable - int8_t m_iCurrentMaxRagdollCount; // 0x528 -}; - -// Alignment: 4 -// Size: 0x538 -class C_PointHMDAnchor : public C_BaseEntity -{ -public: - // MNetworkEnable - bool m_bDisabled; // 0x528 -private: - [[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529 -public: - // MNetworkEnable - GameTime_t m_flEnableTime; // 0x52c - // MNetworkEnable - int32_t m_nPlayerIndex; // 0x530 - int32_t m_nLastSimulateFrame; // 0x534 -}; - -// Alignment: 0 -// Size: 0x538 -class C_PointHMDAnchorOverride : public C_PointHMDAnchor -{ -public: - // No members available + int8_t m_iCurrentMaxRagdollCount; // 0x538 }; // Alignment: 25 -// Size: 0x5a0 +// Size: 0x5b0 class C_PointValueRemapper : public C_BaseEntity { public: // MNetworkEnable - bool m_bDisabled; // 0x528 - bool m_bDisabledOld; // 0x529 + bool m_bDisabled; // 0x538 + bool m_bDisabledOld; // 0x539 // MNetworkEnable - bool m_bUpdateOnClient; // 0x52a + bool m_bUpdateOnClient; // 0x53a private: - [[maybe_unused]] uint8_t __pad052b[0x1]; // 0x52b + [[maybe_unused]] uint8_t __pad053b[0x1]; // 0x53b public: // MNetworkEnable - ValueRemapperInputType_t m_nInputType; // 0x52c + ValueRemapperInputType_t m_nInputType; // 0x53c // MNetworkEnable - CHandle< C_BaseEntity > m_hRemapLineStart; // 0x530 + CHandle< C_BaseEntity > m_hRemapLineStart; // 0x540 // MNetworkEnable - CHandle< C_BaseEntity > m_hRemapLineEnd; // 0x534 + CHandle< C_BaseEntity > m_hRemapLineEnd; // 0x544 // MNetworkEnable - float m_flMaximumChangePerSecond; // 0x538 + float m_flMaximumChangePerSecond; // 0x548 // MNetworkEnable - float m_flDisengageDistance; // 0x53c + float m_flDisengageDistance; // 0x54c // MNetworkEnable - float m_flEngageDistance; // 0x540 + float m_flEngageDistance; // 0x550 // MNetworkEnable - bool m_bRequiresUseKey; // 0x544 + bool m_bRequiresUseKey; // 0x554 private: - [[maybe_unused]] uint8_t __pad0545[0x3]; // 0x545 + [[maybe_unused]] uint8_t __pad0555[0x3]; // 0x555 public: // MNetworkEnable - ValueRemapperOutputType_t m_nOutputType; // 0x548 + ValueRemapperOutputType_t m_nOutputType; // 0x558 private: - [[maybe_unused]] uint8_t __pad054c[0x4]; // 0x54c + [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c public: // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_hOutputEntities; // 0x550 + C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_hOutputEntities; // 0x560 // MNetworkEnable - ValueRemapperHapticsType_t m_nHapticsType; // 0x568 + ValueRemapperHapticsType_t m_nHapticsType; // 0x578 // MNetworkEnable - ValueRemapperMomentumType_t m_nMomentumType; // 0x56c + ValueRemapperMomentumType_t m_nMomentumType; // 0x57c // MNetworkEnable - float m_flMomentumModifier; // 0x570 + float m_flMomentumModifier; // 0x580 // MNetworkEnable - float m_flSnapValue; // 0x574 - float m_flCurrentMomentum; // 0x578 + float m_flSnapValue; // 0x584 + float m_flCurrentMomentum; // 0x588 // MNetworkEnable - ValueRemapperRatchetType_t m_nRatchetType; // 0x57c - float m_flRatchetOffset; // 0x580 + ValueRemapperRatchetType_t m_nRatchetType; // 0x58c + float m_flRatchetOffset; // 0x590 // MNetworkEnable - float m_flInputOffset; // 0x584 - bool m_bEngaged; // 0x588 - bool m_bFirstUpdate; // 0x589 + float m_flInputOffset; // 0x594 + bool m_bEngaged; // 0x598 + bool m_bFirstUpdate; // 0x599 private: - [[maybe_unused]] uint8_t __pad058a[0x2]; // 0x58a + [[maybe_unused]] uint8_t __pad059a[0x2]; // 0x59a public: - float m_flPreviousValue; // 0x58c - GameTime_t m_flPreviousUpdateTickTime; // 0x590 - Vector m_vecPreviousTestPoint; // 0x594 + float m_flPreviousValue; // 0x59c + GameTime_t m_flPreviousUpdateTickTime; // 0x5a0 + Vector m_vecPreviousTestPoint; // 0x5a4 }; // Alignment: 12 -// Size: 0xa20 +// Size: 0xa30 class C_PointWorldText : public C_ModelPointEntity { private: - [[maybe_unused]] uint8_t __pad07a8[0x8]; // 0x7a8 + [[maybe_unused]] uint8_t __pad07b8[0x8]; // 0x7b8 public: - bool m_bForceRecreateNextUpdate; // 0x7b0 + bool m_bForceRecreateNextUpdate; // 0x7c0 private: - [[maybe_unused]] uint8_t __pad07b1[0xf]; // 0x7b1 + [[maybe_unused]] uint8_t __pad07c1[0xf]; // 0x7c1 public: // MNetworkEnable - char m_messageText[512]; // 0x7c0 + char m_messageText[512]; // 0x7d0 // MNetworkEnable - char m_FontName[64]; // 0x9c0 + char m_FontName[64]; // 0x9d0 // MNetworkEnable - bool m_bEnabled; // 0xa00 + bool m_bEnabled; // 0xa10 // MNetworkEnable - bool m_bFullbright; // 0xa01 + bool m_bFullbright; // 0xa11 private: - [[maybe_unused]] uint8_t __pad0a02[0x2]; // 0xa02 + [[maybe_unused]] uint8_t __pad0a12[0x2]; // 0xa12 public: // MNetworkEnable - float m_flWorldUnitsPerPx; // 0xa04 + float m_flWorldUnitsPerPx; // 0xa14 // MNetworkEnable - float m_flFontSize; // 0xa08 + float m_flFontSize; // 0xa18 // MNetworkEnable - float m_flDepthOffset; // 0xa0c + float m_flDepthOffset; // 0xa1c // MNetworkEnable - Color m_Color; // 0xa10 + Color m_Color; // 0xa20 // MNetworkEnable - PointWorldTextJustifyHorizontal_t m_nJustifyHorizontal; // 0xa14 + PointWorldTextJustifyHorizontal_t m_nJustifyHorizontal; // 0xa24 // MNetworkEnable - PointWorldTextJustifyVertical_t m_nJustifyVertical; // 0xa18 + PointWorldTextJustifyVertical_t m_nJustifyVertical; // 0xa28 // MNetworkEnable - PointWorldTextReorientMode_t m_nReorientMode; // 0xa1c + PointWorldTextReorientMode_t m_nReorientMode; // 0xa2c }; // Alignment: 1 -// Size: 0x730 +// Size: 0x740 class C_EnvWind : public C_BaseEntity { public: // MNetworkEnable - C_EnvWindShared m_EnvWindShared; // 0x528 + C_EnvWindShared m_EnvWindShared; // 0x538 }; // Alignment: 0 -// Size: 0x7a8 +// Size: 0x7b8 class C_BaseToggle : public C_BaseModelEntity { public: @@ -50264,23 +51206,23 @@ public: }; // Alignment: 3 -// Size: 0x7b8 +// Size: 0x7c8 class C_BaseButton : public C_BaseToggle { public: // MNetworkEnable - CHandle< C_BaseModelEntity > m_glowEntity; // 0x7a8 + CHandle< C_BaseModelEntity > m_glowEntity; // 0x7b8 // MNetworkEnable - bool m_usable; // 0x7ac + bool m_usable; // 0x7bc private: - [[maybe_unused]] uint8_t __pad07ad[0x3]; // 0x7ad + [[maybe_unused]] uint8_t __pad07bd[0x3]; // 0x7bd public: // MNetworkEnable - CUtlSymbolLarge m_szDisplayText; // 0x7b0 + CUtlSymbolLarge m_szDisplayText; // 0x7c0 }; // Alignment: 0 -// Size: 0x7a8 +// Size: 0x7b8 class C_PrecipitationBlocker : public C_BaseModelEntity { public: @@ -50288,39 +51230,39 @@ public: }; // Alignment: 13 -// Size: 0x7f0 +// Size: 0x800 class C_EntityDissolve : public C_BaseModelEntity { private: - [[maybe_unused]] uint8_t __pad07a8[0x8]; // 0x7a8 + [[maybe_unused]] uint8_t __pad07b8[0x8]; // 0x7b8 public: // MNetworkEnable - GameTime_t m_flStartTime; // 0x7b0 + GameTime_t m_flStartTime; // 0x7c0 // MNetworkEnable - float m_flFadeInStart; // 0x7b4 + float m_flFadeInStart; // 0x7c4 // MNetworkEnable - float m_flFadeInLength; // 0x7b8 + float m_flFadeInLength; // 0x7c8 // MNetworkEnable - float m_flFadeOutModelStart; // 0x7bc + float m_flFadeOutModelStart; // 0x7cc // MNetworkEnable - float m_flFadeOutModelLength; // 0x7c0 + float m_flFadeOutModelLength; // 0x7d0 // MNetworkEnable - float m_flFadeOutStart; // 0x7c4 + float m_flFadeOutStart; // 0x7d4 // MNetworkEnable - float m_flFadeOutLength; // 0x7c8 - GameTime_t m_flNextSparkTime; // 0x7cc + float m_flFadeOutLength; // 0x7d8 + GameTime_t m_flNextSparkTime; // 0x7dc // MNetworkEnable - EntityDisolveType_t m_nDissolveType; // 0x7d0 + EntityDisolveType_t m_nDissolveType; // 0x7e0 // MNetworkEnable - Vector m_vDissolverOrigin; // 0x7d4 + Vector m_vDissolverOrigin; // 0x7e4 // MNetworkEnable - uint32_t m_nMagnitude; // 0x7e0 - bool m_bCoreExplode; // 0x7e4 - bool m_bLinkedToServerEnt; // 0x7e5 + uint32_t m_nMagnitude; // 0x7f0 + bool m_bCoreExplode; // 0x7f4 + bool m_bLinkedToServerEnt; // 0x7f5 }; // Alignment: 0 -// Size: 0xa90 +// Size: 0xaa0 class C_EnvProjectedTexture : public C_ModelPointEntity { public: @@ -50328,38 +51270,38 @@ public: }; // Alignment: 9 -// Size: 0x7e0 +// Size: 0x7f0 class C_EnvDecal : public C_BaseModelEntity { public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hDecalMaterial; // 0x7a8 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hDecalMaterial; // 0x7b8 // MNetworkEnable // MNetworkChangeCallback "OnDecalDimensionsChanged" - float m_flWidth; // 0x7b0 + float m_flWidth; // 0x7c0 // MNetworkEnable // MNetworkChangeCallback "OnDecalDimensionsChanged" - float m_flHeight; // 0x7b4 + float m_flHeight; // 0x7c4 // MNetworkEnable // MNetworkChangeCallback "OnDecalDimensionsChanged" - float m_flDepth; // 0x7b8 + float m_flDepth; // 0x7c8 // MNetworkEnable - uint32_t m_nRenderOrder; // 0x7bc + uint32_t m_nRenderOrder; // 0x7cc // MNetworkEnable - bool m_bProjectOnWorld; // 0x7c0 + bool m_bProjectOnWorld; // 0x7d0 // MNetworkEnable - bool m_bProjectOnCharacters; // 0x7c1 + bool m_bProjectOnCharacters; // 0x7d1 // MNetworkEnable - bool m_bProjectOnWater; // 0x7c2 + bool m_bProjectOnWater; // 0x7d2 private: - [[maybe_unused]] uint8_t __pad07c3[0x1]; // 0x7c3 + [[maybe_unused]] uint8_t __pad07d3[0x1]; // 0x7d3 public: // MNetworkEnable - float m_flDepthSortBias; // 0x7c4 + float m_flDepthSortBias; // 0x7d4 }; // Alignment: 0 -// Size: 0x7a8 +// Size: 0x7b8 class C_FuncBrush : public C_BaseModelEntity { public: @@ -50367,22 +51309,22 @@ public: }; // Alignment: 3 -// Size: 0x7c0 +// Size: 0x7d0 class C_FuncElectrifiedVolume : public C_FuncBrush { public: - ParticleIndex_t m_nAmbientEffect; // 0x7a8 + ParticleIndex_t m_nAmbientEffect; // 0x7b8 private: - [[maybe_unused]] uint8_t __pad07ac[0x4]; // 0x7ac + [[maybe_unused]] uint8_t __pad07bc[0x4]; // 0x7bc public: // MNetworkEnable - CUtlSymbolLarge m_EffectName; // 0x7b0 + CUtlSymbolLarge m_EffectName; // 0x7c0 // MNetworkEnable - bool m_bState; // 0x7b8 + bool m_bState; // 0x7c8 }; // Alignment: 0 -// Size: 0x7a8 +// Size: 0x7b8 class C_FuncRotating : public C_BaseModelEntity { public: @@ -50390,7 +51332,7 @@ public: }; // Alignment: 0 -// Size: 0x7a8 +// Size: 0x7b8 class C_Breakable : public C_BaseModelEntity { public: @@ -50398,7 +51340,7 @@ public: }; // Alignment: 0 -// Size: 0x7a8 +// Size: 0x7b8 class C_PhysBox : public C_Breakable { public: @@ -50406,91 +51348,91 @@ public: }; // Alignment: 41 -// Size: 0xb90 +// Size: 0xba0 class C_RopeKeyframe : public C_BaseModelEntity { private: - [[maybe_unused]] uint8_t __pad07a8[0x8]; // 0x7a8 + [[maybe_unused]] uint8_t __pad07b8[0x8]; // 0x7b8 public: - CBitVec< 10 > m_LinksTouchingSomething; // 0x7b0 - int32_t m_nLinksTouchingSomething; // 0x7b4 - bool m_bApplyWind; // 0x7b8 + CBitVec< 10 > m_LinksTouchingSomething; // 0x7c0 + int32_t m_nLinksTouchingSomething; // 0x7c4 + bool m_bApplyWind; // 0x7c8 private: - [[maybe_unused]] uint8_t __pad07b9[0x3]; // 0x7b9 + [[maybe_unused]] uint8_t __pad07c9[0x3]; // 0x7c9 public: - int32_t m_fPrevLockedPoints; // 0x7bc - int32_t m_iForcePointMoveCounter; // 0x7c0 - bool m_bPrevEndPointPos[2]; // 0x7c4 + int32_t m_fPrevLockedPoints; // 0x7cc + int32_t m_iForcePointMoveCounter; // 0x7d0 + bool m_bPrevEndPointPos[2]; // 0x7d4 private: - [[maybe_unused]] uint8_t __pad07c6[0x2]; // 0x7c6 + [[maybe_unused]] uint8_t __pad07d6[0x2]; // 0x7d6 public: - Vector m_vPrevEndPointPos[2]; // 0x7c8 - float m_flCurScroll; // 0x7e0 + Vector m_vPrevEndPointPos[2]; // 0x7d8 + float m_flCurScroll; // 0x7f0 // MNetworkEnable - float m_flScrollSpeed; // 0x7e4 + float m_flScrollSpeed; // 0x7f4 // MNetworkEnable - uint16_t m_RopeFlags; // 0x7e8 + uint16_t m_RopeFlags; // 0x7f8 private: - [[maybe_unused]] uint8_t __pad07ea[0x6]; // 0x7ea + [[maybe_unused]] uint8_t __pad07fa[0x6]; // 0x7fa public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_iRopeMaterialModelIndex; // 0x7f0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_iRopeMaterialModelIndex; // 0x800 private: - [[maybe_unused]] uint8_t __pad07f8[0x270]; // 0x7f8 + [[maybe_unused]] uint8_t __pad0808[0x270]; // 0x808 public: - Vector m_LightValues[10]; // 0xa68 + Vector m_LightValues[10]; // 0xa78 // MNetworkEnable - uint8_t m_nSegments; // 0xae0 + uint8_t m_nSegments; // 0xaf0 private: - [[maybe_unused]] uint8_t __pad0ae1[0x3]; // 0xae1 + [[maybe_unused]] uint8_t __pad0af1[0x3]; // 0xaf1 public: // MNetworkEnable - CHandle< C_BaseEntity > m_hStartPoint; // 0xae4 + CHandle< C_BaseEntity > m_hStartPoint; // 0xaf4 // MNetworkEnable - CHandle< C_BaseEntity > m_hEndPoint; // 0xae8 + CHandle< C_BaseEntity > m_hEndPoint; // 0xaf8 // MNetworkEnable - AttachmentHandle_t m_iStartAttachment; // 0xaec + AttachmentHandle_t m_iStartAttachment; // 0xafc // MNetworkEnable - AttachmentHandle_t m_iEndAttachment; // 0xaed + AttachmentHandle_t m_iEndAttachment; // 0xafd // MNetworkEnable - uint8_t m_Subdiv; // 0xaee + uint8_t m_Subdiv; // 0xafe private: - [[maybe_unused]] uint8_t __pad0aef[0x1]; // 0xaef + [[maybe_unused]] uint8_t __pad0aff[0x1]; // 0xaff public: // MNetworkEnable // MNetworkChangeCallback "RecomputeSprings" - int16_t m_RopeLength; // 0xaf0 + int16_t m_RopeLength; // 0xb00 // MNetworkEnable // MNetworkChangeCallback "RecomputeSprings" - int16_t m_Slack; // 0xaf2 + int16_t m_Slack; // 0xb02 // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.100000" // MNetworkMaxValue "10.000000" - float m_TextureScale; // 0xaf4 + float m_TextureScale; // 0xb04 // MNetworkEnable - uint8_t m_fLockedPoints; // 0xaf8 + uint8_t m_fLockedPoints; // 0xb08 // MNetworkEnable - uint8_t m_nChangeCount; // 0xaf9 + uint8_t m_nChangeCount; // 0xb09 private: - [[maybe_unused]] uint8_t __pad0afa[0x2]; // 0xafa + [[maybe_unused]] uint8_t __pad0b0a[0x2]; // 0xb0a public: // MNetworkEnable - float m_Width; // 0xafc - C_RopeKeyframe::CPhysicsDelegate m_PhysicsDelegate; // 0xb00 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xb10 - int32_t m_TextureHeight; // 0xb18 - Vector m_vecImpulse; // 0xb1c - Vector m_vecPreviousImpulse; // 0xb28 - float m_flCurrentGustTimer; // 0xb34 - float m_flCurrentGustLifetime; // 0xb38 - float m_flTimeToNextGust; // 0xb3c - Vector m_vWindDir; // 0xb40 - Vector m_vColorMod; // 0xb4c - Vector m_vCachedEndPointAttachmentPos[2]; // 0xb58 - QAngle m_vCachedEndPointAttachmentAngle[2]; // 0xb70 + float m_Width; // 0xb0c + C_RopeKeyframe::CPhysicsDelegate m_PhysicsDelegate; // 0xb10 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xb20 + int32_t m_TextureHeight; // 0xb28 + Vector m_vecImpulse; // 0xb2c + Vector m_vecPreviousImpulse; // 0xb38 + float m_flCurrentGustTimer; // 0xb44 + float m_flCurrentGustLifetime; // 0xb48 + float m_flTimeToNextGust; // 0xb4c + Vector m_vWindDir; // 0xb50 + Vector m_vColorMod; // 0xb5c + Vector m_vCachedEndPointAttachmentPos[2]; // 0xb68 + QAngle m_vCachedEndPointAttachmentAngle[2]; // 0xb80 // MNetworkEnable - bool m_bConstrainBetweenEndpoints; // 0xb88 + bool m_bConstrainBetweenEndpoints; // 0xb98 struct { uint8_t m_bEndPointAttachmentPositionsDirty: 1; @@ -50502,55 +51444,55 @@ public: }; // Alignment: 12 -// Size: 0x588 +// Size: 0x598 class C_SceneEntity : public C_PointEntity { private: - [[maybe_unused]] uint8_t __pad0528[0x8]; // 0x528 + [[maybe_unused]] uint8_t __pad0538[0x8]; // 0x538 public: // MNetworkEnable - bool m_bIsPlayingBack; // 0x530 + bool m_bIsPlayingBack; // 0x540 // MNetworkEnable - bool m_bPaused; // 0x531 + bool m_bPaused; // 0x541 // MNetworkEnable - bool m_bMultiplayer; // 0x532 + bool m_bMultiplayer; // 0x542 // MNetworkEnable - bool m_bAutogenerated; // 0x533 + bool m_bAutogenerated; // 0x543 // MNetworkEnable // MNetworkChangeCallback "OnResetClientTime" - float m_flForceClientTime; // 0x534 + float m_flForceClientTime; // 0x544 // MNetworkEnable // MNetworkPriority "32" - uint16_t m_nSceneStringIndex; // 0x538 - bool m_bClientOnly; // 0x53a + uint16_t m_nSceneStringIndex; // 0x548 + bool m_bClientOnly; // 0x54a private: - [[maybe_unused]] uint8_t __pad053b[0x1]; // 0x53b + [[maybe_unused]] uint8_t __pad054b[0x1]; // 0x54b public: - CHandle< C_BaseFlex > m_hOwner; // 0x53c + CHandle< C_BaseFlex > m_hOwner; // 0x54c // MNetworkEnable // MNetworkPriority "32" - C_NetworkUtlVectorBase< CHandle< C_BaseFlex > > m_hActorList; // 0x540 - bool m_bWasPlaying; // 0x558 + C_NetworkUtlVectorBase< CHandle< C_BaseFlex > > m_hActorList; // 0x550 + bool m_bWasPlaying; // 0x568 private: - [[maybe_unused]] uint8_t __pad0559[0xf]; // 0x559 + [[maybe_unused]] uint8_t __pad0569[0xf]; // 0x569 public: - CUtlVector< C_SceneEntity::QueuedEvents_t > m_QueuedEvents; // 0x568 - float m_flCurrentTime; // 0x580 + CUtlVector< C_SceneEntity::QueuedEvents_t > m_QueuedEvents; // 0x578 + float m_flCurrentTime; // 0x590 }; // Alignment: 2 -// Size: 0x7b0 +// Size: 0x7c0 class C_BaseTrigger : public C_BaseToggle { public: // MNetworkEnable - bool m_bDisabled; // 0x7a8 + bool m_bDisabled; // 0x7b8 // MNetworkEnable - bool m_bClientSidePredicted; // 0x7a9 + bool m_bClientSidePredicted; // 0x7b9 }; // Alignment: 0 -// Size: 0x7a8 +// Size: 0x7b8 class C_TriggerVolume : public C_BaseModelEntity { public: @@ -50558,16 +51500,16 @@ public: }; // Alignment: 0 -// Size: 0x7b0 -class C_TriggerLerpObject : public C_BaseTrigger +// Size: 0x7c0 +class C_TriggerMultiple : public C_BaseTrigger { public: // No members available }; // Alignment: 0 -// Size: 0x7b0 -class C_TriggerBuoyancy : public C_BaseTrigger +// Size: 0x7c0 +class C_TriggerLerpObject : public C_BaseTrigger { public: // No members available @@ -50600,7 +51542,7 @@ public: }; // Alignment: 24 -// Size: 0x868 +// Size: 0x878 class C_Beam : public C_BaseModelEntity { public: @@ -50609,86 +51551,86 @@ public: // MNetworkMinValue "-25.000000" // MNetworkMaxValue "25.000000" // MNetworkEncodeFlags - float m_flFrameRate; // 0x7a8 + float m_flFrameRate; // 0x7b8 // MNetworkEnable - float m_flHDRColorScale; // 0x7ac - GameTime_t m_flFireTime; // 0x7b0 - float m_flDamage; // 0x7b4 + float m_flHDRColorScale; // 0x7bc + GameTime_t m_flFireTime; // 0x7c0 + float m_flDamage; // 0x7c4 // MNetworkEnable - uint8_t m_nNumBeamEnts; // 0x7b8 + uint8_t m_nNumBeamEnts; // 0x7c8 private: - [[maybe_unused]] uint8_t __pad07b9[0x3]; // 0x7b9 + [[maybe_unused]] uint8_t __pad07c9[0x3]; // 0x7c9 public: - int32_t m_queryHandleHalo; // 0x7bc + int32_t m_queryHandleHalo; // 0x7cc private: - [[maybe_unused]] uint8_t __pad07c0[0x20]; // 0x7c0 + [[maybe_unused]] uint8_t __pad07d0[0x20]; // 0x7d0 public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hBaseMaterial; // 0x7e0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hBaseMaterial; // 0x7f0 // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_nHaloIndex; // 0x7e8 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_nHaloIndex; // 0x7f8 // MNetworkEnable - BeamType_t m_nBeamType; // 0x7f0 + BeamType_t m_nBeamType; // 0x800 // MNetworkEnable - uint32_t m_nBeamFlags; // 0x7f4 + uint32_t m_nBeamFlags; // 0x804 // MNetworkEnable - CHandle< C_BaseEntity > m_hAttachEntity[10]; // 0x7f8 + CHandle< C_BaseEntity > m_hAttachEntity[10]; // 0x808 // MNetworkEnable - AttachmentHandle_t m_nAttachIndex[10]; // 0x820 + AttachmentHandle_t m_nAttachIndex[10]; // 0x830 private: - [[maybe_unused]] uint8_t __pad082a[0x2]; // 0x82a + [[maybe_unused]] uint8_t __pad083a[0x2]; // 0x83a public: // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.000000" // MNetworkMaxValue "102.300003" // MNetworkEncodeFlags - float m_fWidth; // 0x82c + float m_fWidth; // 0x83c // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.000000" // MNetworkMaxValue "102.300003" // MNetworkEncodeFlags - float m_fEndWidth; // 0x830 + float m_fEndWidth; // 0x840 // MNetworkEnable - float m_fFadeLength; // 0x834 + float m_fFadeLength; // 0x844 // MNetworkEnable - float m_fHaloScale; // 0x838 + float m_fHaloScale; // 0x848 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "64.000000" // MNetworkEncodeFlags - float m_fAmplitude; // 0x83c + float m_fAmplitude; // 0x84c // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "256.000000" // MNetworkEncodeFlags - float m_fStartFrame; // 0x840 + float m_fStartFrame; // 0x850 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "100.000000" - float m_fSpeed; // 0x844 + float m_fSpeed; // 0x854 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0.000000" // MNetworkMaxValue "256.000000" // MNetworkEncodeFlags // MNetworkPriority "32" - float m_flFrame; // 0x848 + float m_flFrame; // 0x858 // MNetworkEnable - BeamClipStyle_t m_nClipStyle; // 0x84c + BeamClipStyle_t m_nClipStyle; // 0x85c // MNetworkEnable - bool m_bTurnedOff; // 0x850 + bool m_bTurnedOff; // 0x860 private: - [[maybe_unused]] uint8_t __pad0851[0x3]; // 0x851 + [[maybe_unused]] uint8_t __pad0861[0x3]; // 0x861 public: // MNetworkEnable // MNetworkEncoder - Vector m_vecEndPos; // 0x854 - CHandle< C_BaseEntity > m_hEndEntity; // 0x860 + Vector m_vecEndPos; // 0x864 + CHandle< C_BaseEntity > m_hEndEntity; // 0x870 }; // Alignment: 7 @@ -50712,80 +51654,80 @@ public: }; // Alignment: 24 -// Size: 0x8d8 +// Size: 0x8e8 class C_Sprite : public C_BaseModelEntity { private: - [[maybe_unused]] uint8_t __pad07a8[0x18]; // 0x7a8 + [[maybe_unused]] uint8_t __pad07b8[0x18]; // 0x7b8 public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSpriteMaterial; // 0x7c0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSpriteMaterial; // 0x7d0 // MNetworkEnable - CHandle< C_BaseEntity > m_hAttachedToEntity; // 0x7c8 + CHandle< C_BaseEntity > m_hAttachedToEntity; // 0x7d8 // MNetworkEnable - AttachmentHandle_t m_nAttachment; // 0x7cc + AttachmentHandle_t m_nAttachment; // 0x7dc private: - [[maybe_unused]] uint8_t __pad07cd[0x3]; // 0x7cd + [[maybe_unused]] uint8_t __pad07dd[0x3]; // 0x7dd public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "60.000000" // MNetworkEncodeFlags - float m_flSpriteFramerate; // 0x7d0 + float m_flSpriteFramerate; // 0x7e0 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0.000000" // MNetworkMaxValue "256.000000" // MNetworkEncodeFlags - float m_flFrame; // 0x7d4 - GameTime_t m_flDieTime; // 0x7d8 + float m_flFrame; // 0x7e4 + GameTime_t m_flDieTime; // 0x7e8 private: - [[maybe_unused]] uint8_t __pad07dc[0xc]; // 0x7dc + [[maybe_unused]] uint8_t __pad07ec[0xc]; // 0x7ec public: // MNetworkEnable - uint32_t m_nBrightness; // 0x7e8 + uint32_t m_nBrightness; // 0x7f8 // MNetworkEnable - float m_flBrightnessDuration; // 0x7ec + float m_flBrightnessDuration; // 0x7fc // MNetworkEnable // MNetworkChangeCallback "OnSpriteScaleChanged" - float m_flSpriteScale; // 0x7f0 + float m_flSpriteScale; // 0x800 // MNetworkEnable - float m_flScaleDuration; // 0x7f4 + float m_flScaleDuration; // 0x804 // MNetworkEnable - bool m_bWorldSpaceScale; // 0x7f8 + bool m_bWorldSpaceScale; // 0x808 private: - [[maybe_unused]] uint8_t __pad07f9[0x3]; // 0x7f9 + [[maybe_unused]] uint8_t __pad0809[0x3]; // 0x809 public: // MNetworkEnable // MNetworkBitCount "6" // MNetworkMinValue "0.000000" // MNetworkMaxValue "64.000000" // MNetworkEncodeFlags - float m_flGlowProxySize; // 0x7fc + float m_flGlowProxySize; // 0x80c // MNetworkEnable - float m_flHDRColorScale; // 0x800 - GameTime_t m_flLastTime; // 0x804 - float m_flMaxFrame; // 0x808 - float m_flStartScale; // 0x80c - float m_flDestScale; // 0x810 - GameTime_t m_flScaleTimeStart; // 0x814 - int32_t m_nStartBrightness; // 0x818 - int32_t m_nDestBrightness; // 0x81c - GameTime_t m_flBrightnessTimeStart; // 0x820 + float m_flHDRColorScale; // 0x810 + GameTime_t m_flLastTime; // 0x814 + float m_flMaxFrame; // 0x818 + float m_flStartScale; // 0x81c + float m_flDestScale; // 0x820 + GameTime_t m_flScaleTimeStart; // 0x824 + int32_t m_nStartBrightness; // 0x828 + int32_t m_nDestBrightness; // 0x82c + GameTime_t m_flBrightnessTimeStart; // 0x830 private: - [[maybe_unused]] uint8_t __pad0824[0x4]; // 0x824 + [[maybe_unused]] uint8_t __pad0834[0x4]; // 0x834 public: - CWeakHandle< InfoForResourceTypeIMaterial2 > m_hOldSpriteMaterial; // 0x828 + CWeakHandle< InfoForResourceTypeIMaterial2 > m_hOldSpriteMaterial; // 0x838 private: - [[maybe_unused]] uint8_t __pad0830[0xa0]; // 0x830 + [[maybe_unused]] uint8_t __pad0840[0xa0]; // 0x840 public: - int32_t m_nSpriteWidth; // 0x8d0 - int32_t m_nSpriteHeight; // 0x8d4 + int32_t m_nSpriteWidth; // 0x8e0 + int32_t m_nSpriteHeight; // 0x8e4 }; // Alignment: 0 -// Size: 0x8d8 +// Size: 0x8e8 class C_SpriteOriented : public C_Sprite { public: @@ -50793,240 +51735,211 @@ public: }; // Alignment: 4 -// Size: 0x7d8 +// Size: 0x7e8 class C_BaseClientUIEntity : public C_BaseModelEntity { private: - [[maybe_unused]] uint8_t __pad07a8[0x8]; // 0x7a8 + [[maybe_unused]] uint8_t __pad07b8[0x8]; // 0x7b8 public: // MNetworkEnable - bool m_bEnabled; // 0x7b0 + bool m_bEnabled; // 0x7c0 private: - [[maybe_unused]] uint8_t __pad07b1[0x7]; // 0x7b1 + [[maybe_unused]] uint8_t __pad07c1[0x7]; // 0x7c1 public: // MNetworkEnable - CUtlSymbolLarge m_DialogXMLName; // 0x7b8 + CUtlSymbolLarge m_DialogXMLName; // 0x7c8 // MNetworkEnable - CUtlSymbolLarge m_PanelClassName; // 0x7c0 + CUtlSymbolLarge m_PanelClassName; // 0x7d0 // MNetworkEnable - CUtlSymbolLarge m_PanelID; // 0x7c8 + CUtlSymbolLarge m_PanelID; // 0x7d8 }; // Alignment: 2 -// Size: 0x7e0 +// Size: 0x7f0 class C_PointClientUIDialog : public C_BaseClientUIEntity { public: // MNetworkEnable // MNetworkChangeCallback "OnDialogActivatorChanged" - CHandle< C_BaseEntity > m_hActivator; // 0x7d8 - bool m_bStartEnabled; // 0x7dc + CHandle< C_BaseEntity > m_hActivator; // 0x7e8 + bool m_bStartEnabled; // 0x7ec }; // Alignment: 13 -// Size: 0x9b0 +// Size: 0x9c0 class C_PointClientUIHUD : public C_BaseClientUIEntity { private: - [[maybe_unused]] uint8_t __pad07d8[0x8]; // 0x7d8 + [[maybe_unused]] uint8_t __pad07e8[0x8]; // 0x7e8 public: - bool m_bCheckCSSClasses; // 0x7e0 + bool m_bCheckCSSClasses; // 0x7f0 private: - [[maybe_unused]] uint8_t __pad07e1[0x187]; // 0x7e1 + [[maybe_unused]] uint8_t __pad07f1[0x187]; // 0x7f1 public: // MNetworkEnable - bool m_bIgnoreInput; // 0x968 + bool m_bIgnoreInput; // 0x978 private: - [[maybe_unused]] uint8_t __pad0969[0x3]; // 0x969 + [[maybe_unused]] uint8_t __pad0979[0x3]; // 0x979 public: // MNetworkEnable - float m_flWidth; // 0x96c + float m_flWidth; // 0x97c // MNetworkEnable - float m_flHeight; // 0x970 + float m_flHeight; // 0x980 // MNetworkEnable - float m_flDPI; // 0x974 + float m_flDPI; // 0x984 // MNetworkEnable - float m_flInteractDistance; // 0x978 + float m_flInteractDistance; // 0x988 // MNetworkEnable - float m_flDepthOffset; // 0x97c + float m_flDepthOffset; // 0x98c // MNetworkEnable - uint32_t m_unOwnerContext; // 0x980 + uint32_t m_unOwnerContext; // 0x990 // MNetworkEnable - uint32_t m_unHorizontalAlign; // 0x984 + uint32_t m_unHorizontalAlign; // 0x994 // MNetworkEnable - uint32_t m_unVerticalAlign; // 0x988 + uint32_t m_unVerticalAlign; // 0x998 // MNetworkEnable - uint32_t m_unOrientation; // 0x98c + uint32_t m_unOrientation; // 0x99c // MNetworkEnable - bool m_bAllowInteractionFromAllSceneWorlds; // 0x990 + bool m_bAllowInteractionFromAllSceneWorlds; // 0x9a0 private: - [[maybe_unused]] uint8_t __pad0991[0x7]; // 0x991 + [[maybe_unused]] uint8_t __pad09a1[0x7]; // 0x9a1 public: // MNetworkEnable - C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x998 + C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x9a8 }; // Alignment: 28 -// Size: 0xa10 +// Size: 0xa20 class C_PointClientUIWorldPanel : public C_BaseClientUIEntity { private: - [[maybe_unused]] uint8_t __pad07d8[0x8]; // 0x7d8 + [[maybe_unused]] uint8_t __pad07e8[0x8]; // 0x7e8 public: - bool m_bForceRecreateNextUpdate; // 0x7e0 - bool m_bMoveViewToPlayerNextThink; // 0x7e1 - bool m_bCheckCSSClasses; // 0x7e2 + bool m_bForceRecreateNextUpdate; // 0x7f0 + bool m_bMoveViewToPlayerNextThink; // 0x7f1 + bool m_bCheckCSSClasses; // 0x7f2 private: - [[maybe_unused]] uint8_t __pad07e3[0xd]; // 0x7e3 + [[maybe_unused]] uint8_t __pad07f3[0xd]; // 0x7f3 public: - CTransform m_anchorDeltaTransform; // 0x7f0 + CTransform m_anchorDeltaTransform; // 0x800 private: - [[maybe_unused]] uint8_t __pad0810[0x180]; // 0x810 + [[maybe_unused]] uint8_t __pad0820[0x180]; // 0x820 public: - CPointOffScreenIndicatorUi* m_pOffScreenIndicator; // 0x990 + CPointOffScreenIndicatorUi* m_pOffScreenIndicator; // 0x9a0 private: - [[maybe_unused]] uint8_t __pad0998[0x20]; // 0x998 + [[maybe_unused]] uint8_t __pad09a8[0x20]; // 0x9a8 public: // MNetworkEnable - bool m_bIgnoreInput; // 0x9b8 + bool m_bIgnoreInput; // 0x9c8 // MNetworkEnable - bool m_bLit; // 0x9b9 + bool m_bLit; // 0x9c9 // MNetworkEnable - bool m_bFollowPlayerAcrossTeleport; // 0x9ba + bool m_bFollowPlayerAcrossTeleport; // 0x9ca private: - [[maybe_unused]] uint8_t __pad09bb[0x1]; // 0x9bb + [[maybe_unused]] uint8_t __pad09cb[0x1]; // 0x9cb public: // MNetworkEnable - float m_flWidth; // 0x9bc + float m_flWidth; // 0x9cc // MNetworkEnable - float m_flHeight; // 0x9c0 + float m_flHeight; // 0x9d0 // MNetworkEnable - float m_flDPI; // 0x9c4 + float m_flDPI; // 0x9d4 // MNetworkEnable - float m_flInteractDistance; // 0x9c8 + float m_flInteractDistance; // 0x9d8 // MNetworkEnable - float m_flDepthOffset; // 0x9cc + float m_flDepthOffset; // 0x9dc // MNetworkEnable - uint32_t m_unOwnerContext; // 0x9d0 + uint32_t m_unOwnerContext; // 0x9e0 // MNetworkEnable - uint32_t m_unHorizontalAlign; // 0x9d4 + uint32_t m_unHorizontalAlign; // 0x9e4 // MNetworkEnable - uint32_t m_unVerticalAlign; // 0x9d8 + uint32_t m_unVerticalAlign; // 0x9e8 // MNetworkEnable - uint32_t m_unOrientation; // 0x9dc + uint32_t m_unOrientation; // 0x9ec // MNetworkEnable - bool m_bAllowInteractionFromAllSceneWorlds; // 0x9e0 + bool m_bAllowInteractionFromAllSceneWorlds; // 0x9f0 private: - [[maybe_unused]] uint8_t __pad09e1[0x7]; // 0x9e1 + [[maybe_unused]] uint8_t __pad09f1[0x7]; // 0x9f1 public: // MNetworkEnable - C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x9e8 + C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x9f8 // MNetworkEnable - bool m_bOpaque; // 0xa00 + bool m_bOpaque; // 0xa10 // MNetworkEnable - bool m_bNoDepth; // 0xa01 + bool m_bNoDepth; // 0xa11 // MNetworkEnable - bool m_bRenderBackface; // 0xa02 + bool m_bRenderBackface; // 0xa12 // MNetworkEnable - bool m_bUseOffScreenIndicator; // 0xa03 + bool m_bUseOffScreenIndicator; // 0xa13 // MNetworkEnable - bool m_bExcludeFromSaveGames; // 0xa04 + bool m_bExcludeFromSaveGames; // 0xa14 // MNetworkEnable - bool m_bGrabbable; // 0xa05 + bool m_bGrabbable; // 0xa15 // MNetworkEnable - bool m_bOnlyRenderToTexture; // 0xa06 + bool m_bOnlyRenderToTexture; // 0xa16 // MNetworkEnable - bool m_bDisableMipGen; // 0xa07 + bool m_bDisableMipGen; // 0xa17 // MNetworkEnable - int32_t m_nExplicitImageLayout; // 0xa08 + int32_t m_nExplicitImageLayout; // 0xa18 }; // Alignment: 4 -// Size: 0xa20 +// Size: 0xa30 class CPointOffScreenIndicatorUi : public C_PointClientUIWorldPanel { public: - bool m_bBeenEnabled; // 0xa10 - bool m_bHide; // 0xa11 + bool m_bBeenEnabled; // 0xa20 + bool m_bHide; // 0xa21 private: - [[maybe_unused]] uint8_t __pad0a12[0x2]; // 0xa12 + [[maybe_unused]] uint8_t __pad0a22[0x2]; // 0xa22 public: - float m_flSeenTargetTime; // 0xa14 - C_PointClientUIWorldPanel* m_pTargetPanel; // 0xa18 + float m_flSeenTargetTime; // 0xa24 + C_PointClientUIWorldPanel* m_pTargetPanel; // 0xa28 }; // Alignment: 1 -// Size: 0xc10 +// Size: 0xc20 class C_PointClientUIWorldTextPanel : public C_PointClientUIWorldPanel { public: // MNetworkEnable - char m_messageText[512]; // 0xa10 -}; - -// Alignment: 14 -// Size: 0xab0 -class C_PointHintUi : public C_PointClientUIWorldPanel -{ -private: - [[maybe_unused]] uint8_t __pad0a10[0x30]; // 0xa10 -public: - CUtlSymbolLarge m_pszLessonName; // 0xa40 - CUtlSymbolLarge m_pszCaption; // 0xa48 - Vector m_vOffset; // 0xa50 - WorldTextAttachmentType_t m_attachType; // 0xa5c - CHandle< C_BaseEntity > m_hIconTarget; // 0xa60 -private: - [[maybe_unused]] uint8_t __pad0a64[0x4]; // 0xa64 -public: - CUtlSymbolLarge m_szTargetAttachmentName; // 0xa68 - CUtlSymbolLarge m_pszCustomLayoutFile; // 0xa70 - int32_t m_nTrackedDeviceIndex; // 0xa78 - CHandle< C_PropVRHand > m_hHighlightHand; // 0xa7c - CUtlSymbolLarge m_pszHighlightControllerComponent; // 0xa80 - CUtlSymbolLarge m_pszHighlightControllerAction; // 0xa88 - Vector m_vecLocalHighlightPoint; // 0xa90 -private: - [[maybe_unused]] uint8_t __pad0a9c[0x4]; // 0xa9c -public: - CUtlSymbolLarge m_pszHighlightOtherEntityName; // 0xaa0 - bool m_bUseOffScreenIndicator; // 0xaa8 + char m_messageText[512]; // 0xa20 }; // Alignment: 9 -// Size: 0x710 +// Size: 0x720 class CInfoOffscreenPanoramaTexture : public C_PointEntity { public: // MNetworkEnable - bool m_bDisabled; // 0x528 + bool m_bDisabled; // 0x538 private: - [[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529 + [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 public: // MNetworkEnable - int32_t m_nResolutionX; // 0x52c + int32_t m_nResolutionX; // 0x53c // MNetworkEnable - int32_t m_nResolutionY; // 0x530 + int32_t m_nResolutionY; // 0x540 private: - [[maybe_unused]] uint8_t __pad0534[0x4]; // 0x534 + [[maybe_unused]] uint8_t __pad0544[0x4]; // 0x544 public: // MNetworkEnable - CUtlSymbolLarge m_szLayoutFileName; // 0x538 + CUtlSymbolLarge m_szLayoutFileName; // 0x548 // MNetworkEnable - CUtlSymbolLarge m_RenderAttrName; // 0x540 + CUtlSymbolLarge m_RenderAttrName; // 0x550 // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_TargetEntities; // 0x548 + C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_TargetEntities; // 0x558 // MNetworkEnable - int32_t m_nTargetChangeCount; // 0x560 + int32_t m_nTargetChangeCount; // 0x570 private: - [[maybe_unused]] uint8_t __pad0564[0x4]; // 0x564 + [[maybe_unused]] uint8_t __pad0574[0x4]; // 0x574 public: // MNetworkEnable - C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x568 + C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x578 private: - [[maybe_unused]] uint8_t __pad0580[0x160]; // 0x580 + [[maybe_unused]] uint8_t __pad0590[0x160]; // 0x590 public: - bool m_bCheckCSSClasses; // 0x6e0 + bool m_bCheckCSSClasses; // 0x6f0 }; // Alignment: 1 @@ -51039,27 +51952,27 @@ public: }; // Alignment: 5 -// Size: 0x7d0 +// Size: 0x7e0 class CBaseAnimatingActivity : public C_BaseModelEntity { public: // MNetworkEnable - bool m_bShouldAnimateDuringGameplayPause; // 0x7a8 + bool m_bShouldAnimateDuringGameplayPause; // 0x7b8 // MNetworkEnable - bool m_bInitiallyPopulateInterpHistory; // 0x7a9 + bool m_bInitiallyPopulateInterpHistory; // 0x7b9 private: - [[maybe_unused]] uint8_t __pad07aa[0x6]; // 0x7aa + [[maybe_unused]] uint8_t __pad07ba[0x6]; // 0x7ba public: - CUtlVector< CUtlString >* m_pSuppressedAnimEventTags; // 0x7b0 - bool m_bHasAnimatedMaterialAttributes; // 0x7b8 + CUtlVector< CUtlString >* m_pSuppressedAnimEventTags; // 0x7c0 + bool m_bHasAnimatedMaterialAttributes; // 0x7c8 private: - [[maybe_unused]] uint8_t __pad07b9[0xf]; // 0x7b9 + [[maybe_unused]] uint8_t __pad07c9[0xf]; // 0x7c9 public: - bool m_bSuppressAnimEventSounds; // 0x7c8 + bool m_bSuppressAnimEventSounds; // 0x7d8 }; // Alignment: 0 -// Size: 0x7d0 +// Size: 0x7e0 class C_BaseAnimatingOverlay : public CBaseAnimatingActivity { public: @@ -51067,7 +51980,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Fountain_Glyph : public CDOTA_Buff { public: @@ -51075,17 +51988,17 @@ public: }; // Alignment: 3 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Radar_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - bool m_bEverFound; // 0x11ec - bool m_bBonus; // 0x11ed + int32_t radius; // 0x12b8 + bool m_bEverFound; // 0x12bc + bool m_bBonus; // 0x12bd }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Courier_AutoDeliver : public CDOTA_Buff { public: @@ -51093,7 +52006,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Turbo_Courier_Haste : public CDOTA_Buff { public: @@ -51101,7 +52014,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Turbo_Courier_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -51109,7 +52022,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Courier_AutoDeliver : public C_DOTABaseAbility { public: @@ -51117,66 +52030,66 @@ public: }; // Alignment: 9 -// Size: 0x5c8 +// Size: 0x5d8 class C_DOTA_Ability_Brewmaster_PrimalSplit : public C_DOTABaseAbility { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hPrimary; // 0x5a0 + CHandle< C_BaseEntity > m_hPrimary; // 0x5b0 // MNetworkEnable - CHandle< C_BaseEntity > m_hSecondary; // 0x5a4 + CHandle< C_BaseEntity > m_hSecondary; // 0x5b4 // MNetworkEnable - CHandle< C_BaseEntity > m_hTertiary; // 0x5a8 + CHandle< C_BaseEntity > m_hTertiary; // 0x5b8 // MNetworkEnable - CHandle< C_BaseEntity > m_hFourth; // 0x5ac - GameTime_t m_fHurlBoulder_CooldownTime; // 0x5b0 - GameTime_t m_fHDispelMagic_CooldownTime; // 0x5b4 - GameTime_t m_fCyclone_CooldownTime; // 0x5b8 - GameTime_t m_fWindWalk_CooldownTime; // 0x5bc - GameTime_t m_fAstralPulse_CooldownTime; // 0x5c0 + CHandle< C_BaseEntity > m_hFourth; // 0x5bc + GameTime_t m_fHurlBoulder_CooldownTime; // 0x5c0 + GameTime_t m_fHDispelMagic_CooldownTime; // 0x5c4 + GameTime_t m_fCyclone_CooldownTime; // 0x5c8 + GameTime_t m_fWindWalk_CooldownTime; // 0x5cc + GameTime_t m_fAstralPulse_CooldownTime; // 0x5d0 }; // Alignment: 1 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_DeathProphet_Exorcism : public C_DOTABaseAbility { public: - CUtlVector< sSpiritInfo* > m_SpiritInfos; // 0x5a0 + CUtlVector< sSpiritInfo* > m_SpiritInfos; // 0x5b0 }; // Alignment: 3 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_Wisp_Spirits : public C_DOTABaseAbility { public: - CUtlVector< sSpiritDef > m_SpiritDefs; // 0x5a0 - int32_t m_nWispDirection; // 0x5b8 - int32_t spirit_amount; // 0x5bc + CUtlVector< sSpiritDef > m_SpiritDefs; // 0x5b0 + int32_t m_nWispDirection; // 0x5c8 + int32_t spirit_amount; // 0x5cc }; // Alignment: 8 -// Size: 0x5d8 +// Size: 0x5e8 class C_DOTA_Ability_MonkeyKing_FurArmy : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hThinker; // 0x5a0 - ParticleIndex_t m_nFXIndex; // 0x5a4 - int32_t num_first_soldiers; // 0x5a8 - int32_t num_second_soldiers; // 0x5ac - bool m_bCreateMonkeys; // 0x5b0 + CHandle< C_BaseEntity > m_hThinker; // 0x5b0 + ParticleIndex_t m_nFXIndex; // 0x5b4 + int32_t num_first_soldiers; // 0x5b8 + int32_t num_second_soldiers; // 0x5bc + bool m_bCreateMonkeys; // 0x5c0 private: - [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 + [[maybe_unused]] uint8_t __pad05c1[0x3]; // 0x5c1 public: - GameTime_t m_flNextCreationTime; // 0x5b4 - GameTime_t m_flScepterTime; // 0x5b8 + GameTime_t m_flNextCreationTime; // 0x5c4 + GameTime_t m_flScepterTime; // 0x5c8 private: - [[maybe_unused]] uint8_t __pad05bc[0x4]; // 0x5bc + [[maybe_unused]] uint8_t __pad05cc[0x4]; // 0x5cc public: - CUtlVector< CHandle< C_BaseEntity > > m_vecSoldiers; // 0x5c0 + CUtlVector< CHandle< C_BaseEntity > > m_vecSoldiers; // 0x5d0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Generic_Hidden : public C_DOTABaseAbility { public: @@ -51184,7 +52097,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Jungle_Varmint : public CDOTA_Buff { public: @@ -51192,7 +52105,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Jungle_Varmint_Dive : public C_DOTABaseAbility { public: @@ -51200,119 +52113,119 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_JungleVarmint_Dive : public CDOTA_Buff { public: - int32_t distance; // 0x11e8 - float speed; // 0x11ec - float acceleration; // 0x11f0 - int32_t radius; // 0x11f4 + int32_t distance; // 0x12b8 + float speed; // 0x12bc + float acceleration; // 0x12c0 + int32_t radius; // 0x12c4 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Pudge_FleshHeap : public C_DOTABaseAbility { public: - int32_t m_iKills; // 0x5a0 + int32_t m_iKills; // 0x5b0 }; // Alignment: 5 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter_Active : public CDOTA_Buff { public: - int32_t scepter_move_speed_pct; // 0x11e8 - int32_t scepter_attack_speed; // 0x11ec - CHandle< C_BaseEntity > m_hTarget; // 0x11f0 - bool m_bPassive; // 0x11f4 - bool m_bKillAtEnd; // 0x11f5 + int32_t scepter_move_speed_pct; // 0x12b8 + int32_t scepter_attack_speed; // 0x12bc + CHandle< C_BaseEntity > m_hTarget; // 0x12c0 + bool m_bPassive; // 0x12c4 + bool m_bKillAtEnd; // 0x12c5 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Helm_Of_The_Undying_Active : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 - bool m_bPassive; // 0x11ec + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + bool m_bPassive; // 0x12bc }; // Alignment: 8 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Legion_Commander_Duel : public CDOTA_Buff { public: - int32_t reward_damage; // 0x11e8 - int32_t scepter_damage_reduction_pct; // 0x11ec - bool m_bAttacked; // 0x11f0 - bool m_bHadAVictor; // 0x11f1 + int32_t reward_damage; // 0x12b8 + int32_t scepter_damage_reduction_pct; // 0x12bc + bool m_bAttacked; // 0x12c0 + bool m_bHadAVictor; // 0x12c1 private: - [[maybe_unused]] uint8_t __pad11f2[0x2]; // 0x11f2 + [[maybe_unused]] uint8_t __pad12c2[0x2]; // 0x12c2 public: - GameTime_t m_flTimeDuelStart; // 0x11f4 - CHandle< C_BaseEntity > m_hPartner; // 0x11f8 - float m_flNextTime; // 0x11fc - CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x1200 + GameTime_t m_flTimeDuelStart; // 0x12c4 + CHandle< C_BaseEntity > m_hPartner; // 0x12c8 + float m_flNextTime; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x12d0 }; // Alignment: 3 -// Size: 0x640 +// Size: 0x658 class C_DOTA_Item_Tombstone : public C_DOTA_Item { public: - float m_flTimer; // 0x630 - ParticleIndex_t m_nFXIndex; // 0x634 - ParticleIndex_t m_nFXIndex2; // 0x638 + float m_flTimer; // 0x648 + ParticleIndex_t m_nFXIndex; // 0x64c + ParticleIndex_t m_nFXIndex2; // 0x650 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_JungleVarmint_Creator : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hVarmint; // 0x11e8 - CEntityIndex m_nClientVarmintEntIndex; // 0x11ec + CHandle< C_BaseEntity > m_hVarmint; // 0x12b8 + CEntityIndex m_nClientVarmintEntIndex; // 0x12bc }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_VengefulSpirit_Command_Aura : public C_DOTABaseAbility { public: // MNetworkEnable // MNetworkChangeCallback "OnScepterIllusionChanged" - CHandle< C_BaseEntity > m_hScepterIllusion; // 0x5a0 + CHandle< C_BaseEntity > m_hScepterIllusion; // 0x5b0 }; // Alignment: 2 -// Size: 0x7d8 +// Size: 0x7e8 class C_DOTA_BinaryObject : public CBaseAnimatingActivity { public: - bool m_bActive; // 0x7d0 + bool m_bActive; // 0x7e0 private: - [[maybe_unused]] uint8_t __pad07d1[0x3]; // 0x7d1 + [[maybe_unused]] uint8_t __pad07e1[0x3]; // 0x7e1 public: - int32_t m_nBinaryID; // 0x7d4 + int32_t m_nBinaryID; // 0x7e4 }; // Alignment: 2 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Capture : public C_DOTABaseAbility { public: // MNetworkEnable - CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x5a0 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 + [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: - CDOTA_Buff* m_pMyBuff; // 0x5a8 + CDOTA_Buff* m_pMyBuff; // 0x5b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Outpost_Summoning : public CDOTA_Buff { public: @@ -51320,7 +52233,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Watch_Tower_Capturing : public CDOTA_Buff { public: @@ -51328,28 +52241,28 @@ public: }; // Alignment: 11 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Watch_Tower : public CDOTA_Buff { public: - int32_t m_iCapturingTeam; // 0x11e8 - float m_flCaptureProgress; // 0x11ec - float m_flBonusTime; // 0x11f0 - bool m_bInitialSetupDone; // 0x11f4 + int32_t m_iCapturingTeam; // 0x12b8 + float m_flCaptureProgress; // 0x12bc + float m_flBonusTime; // 0x12c0 + bool m_bInitialSetupDone; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - int32_t m_iOriginalTeam; // 0x11f8 - CHandle< C_BaseEntity > m_hPreviousHero; // 0x11fc - CUtlVector< PlayerID_t > m_vecLastCreditedPlayerIDs; // 0x1200 - float m_flAccumulatedCaptureTime; // 0x1218 - int32_t m_iBonusCount; // 0x121c - ParticleIndex_t m_nFxOutpostAmbient; // 0x1220 - ParticleIndex_t m_nFxOutpostInitialAmbient; // 0x1224 + int32_t m_iOriginalTeam; // 0x12c8 + CHandle< C_BaseEntity > m_hPreviousHero; // 0x12cc + CUtlVector< PlayerID_t > m_vecLastCreditedPlayerIDs; // 0x12d0 + float m_flAccumulatedCaptureTime; // 0x12e8 + int32_t m_iBonusCount; // 0x12ec + ParticleIndex_t m_nFxOutpostAmbient; // 0x12f0 + ParticleIndex_t m_nFxOutpostInitialAmbient; // 0x12f4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Watch_Tower_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -51357,7 +52270,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Watch_Tower_Invulnerable_Temporary : public CDOTA_Modifier_Invulnerable { public: @@ -51365,7 +52278,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Watch_Tower_Marker : public CDOTA_Buff { public: @@ -51373,16 +52286,16 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Lamp_Use : public C_DOTABaseAbility { public: - GameTime_t m_flLastCaptureTime; // 0x5a0 - ParticleIndex_t m_nChannelFXIndex; // 0x5a4 + GameTime_t m_flLastCaptureTime; // 0x5b0 + ParticleIndex_t m_nChannelFXIndex; // 0x5b4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lamp_Ready : public CDOTA_Buff { public: @@ -51390,7 +52303,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lamp_On : public CDOTA_Buff { public: @@ -51398,46 +52311,46 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lamp_Off : public CDOTA_Buff { public: - int32_t m_iTempViewer; // 0x11e8 + int32_t m_iTempViewer; // 0x12b8 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Twin_Gate_Portal_Warp : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hTarget; // 0x5a0 + CHandle< C_BaseEntity > m_hTarget; // 0x5b0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Twin_Gate_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nPortalAmbientFX; // 0x11e8 - float m_fPortalRadius; // 0x11ec + ParticleIndex_t m_nPortalAmbientFX; // 0x12b8 + float m_fPortalRadius; // 0x12bc }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Twin_Gate_Warp_Channel : public CDOTA_Buff { public: - ParticleIndex_t m_nfxTargetTp; // 0x11e8 - ParticleIndex_t m_nfxTargetTp2; // 0x11ec - ParticleIndex_t m_nfxAmbientFx; // 0x11f0 - ParticleIndex_t m_nfxPortal1; // 0x11f4 - ParticleIndex_t m_nfxPortal2; // 0x11f8 - float animation_rate; // 0x11fc - int32_t stop_distance; // 0x1200 + ParticleIndex_t m_nfxTargetTp; // 0x12b8 + ParticleIndex_t m_nfxTargetTp2; // 0x12bc + ParticleIndex_t m_nfxAmbientFx; // 0x12c0 + ParticleIndex_t m_nfxPortal1; // 0x12c4 + ParticleIndex_t m_nfxPortal2; // 0x12c8 + float animation_rate; // 0x12cc + int32_t stop_distance; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_Vampire_Aura : public CDOTA_Buff { public: @@ -51445,16 +52358,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mutation_Vampire : public CDOTA_Buff { public: - int32_t m_iLifeStealPct; // 0x11e8 - int32_t m_iHealthDrain; // 0x11ec + int32_t m_iLifeStealPct; // 0x12b8 + int32_t m_iHealthDrain; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_Spellcast : public CDOTA_Buff { public: @@ -51462,7 +52375,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_DeathExplosion_Aura : public CDOTA_Buff { public: @@ -51470,7 +52383,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_DeathExplosion_TeamAura : public CDOTA_Modifier_Mutation_DeathExplosion_Aura { public: @@ -51478,7 +52391,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_DeathExplosion : public CDOTA_Buff { public: @@ -51486,17 +52399,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_DeathExplosionDelayed : public CDOTA_Buff { public: - int32_t m_iDamageBase; // 0x11e8 - int32_t m_iDamagePerLevel; // 0x11ec - int32_t m_iRadius; // 0x11f0 + int32_t m_iDamageBase; // 0x12b8 + int32_t m_iDamagePerLevel; // 0x12bc + int32_t m_iRadius; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_NoHealthBars_Aura : public CDOTA_Buff { public: @@ -51504,7 +52417,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_StationaryDamageReduction_Aura : public CDOTA_Buff { public: @@ -51512,15 +52425,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mutation_StationaryDamageReduction : public CDOTA_Buff { public: - int32_t m_iReductionPct; // 0x11e8 + int32_t m_iReductionPct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_CreateTombstone_Aura : public CDOTA_Buff { public: @@ -51528,7 +52441,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_CreateTombstone_Team_Aura : public CDOTA_Modifier_Mutation_CreateTombstone_Aura { public: @@ -51536,7 +52449,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_CreateTombstone : public CDOTA_Buff { public: @@ -51544,7 +52457,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_KillstreakPower_Aura : public CDOTA_Buff { public: @@ -51552,17 +52465,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_KillstreakPower : public CDOTA_Buff { public: - int32_t m_iDamageDonePct; // 0x11e8 - int32_t m_iDamageTakenPct; // 0x11ec - int32_t m_iModelScale; // 0x11f0 + int32_t m_iDamageDonePct; // 0x12b8 + int32_t m_iDamageTakenPct; // 0x12bc + int32_t m_iModelScale; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_Treecutter_Aura : public CDOTA_Buff { public: @@ -51570,15 +52483,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mutation_Treecutter : public CDOTA_Buff { public: - int32_t m_iRadius; // 0x11e8 + int32_t m_iRadius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_Cooldown_Reduction_Team_Aura : public CDOTA_Buff { public: @@ -51586,15 +52499,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mutation_Cooldown_Reduction : public CDOTA_Buff { public: - int32_t m_iCooldownReduction; // 0x11e8 + int32_t m_iCooldownReduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_CritChance_Team_Aura : public CDOTA_Buff { public: @@ -51602,16 +52515,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mutation_Crit_Chance : public CDOTA_Buff { public: - int32_t m_iChance; // 0x11e8 - int32_t m_iDamageMultiplier; // 0x11ec + int32_t m_iChance; // 0x12b8 + int32_t m_iDamageMultiplier; // 0x12bc }; // Alignment: 0 -// Size: 0x870 +// Size: 0x880 class C_DOTA_Item_DeathGoldDropped : public CBaseAnimatingActivity { public: @@ -51619,7 +52532,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_ContextualTips : public CDOTA_Buff { public: @@ -51629,7 +52542,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_731_Teaser_Stun : public CDOTA_Buff { public: @@ -51637,45 +52550,47 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_731_Teaser_Thinker : public CDOTA_Buff { public: // No members available }; -// Alignment: 6 -// Size: 0x8d8 +// Alignment: 7 +// Size: 0x8e8 class C_DOTA_TempTree : public CBaseAnimatingActivity { private: - [[maybe_unused]] uint8_t __pad07d0[0x30]; // 0x7d0 + [[maybe_unused]] uint8_t __pad07e0[0x30]; // 0x7e0 public: - GameTime_t m_fExpireTime; // 0x800 + GameTime_t m_fExpireTime; // 0x810 // MNetworkEnable - Vector m_vecTreeCircleCenter; // 0x804 + Vector m_vecTreeCircleCenter; // 0x814 // MNetworkEnable - bool m_bCanApplyTreeCostume; // 0x810 + bool m_bCanApplyTreeCostume; // 0x820 // MNetworkEnable - bool m_bIsMangoTree; // 0x811 + bool m_bIsMangoTree; // 0x821 private: - [[maybe_unused]] uint8_t __pad0812[0x6]; // 0x812 + [[maybe_unused]] uint8_t __pad0822[0x6]; // 0x822 public: - CUtlVector< ParticleIndex_t > m_Particles; // 0x818 + CUtlVector< ParticleIndex_t > m_Particles; // 0x828 // MNetworkEnable - bool m_bIsPartOfFowSystem; // 0x830 + bool m_bIsPartOfFowSystem; // 0x840 + // MNetworkEnable + bool m_bHasClientSideAnimation; // 0x841 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Neutral_Sleep_AI : public CDOTA_Buff { public: - ParticleIndex_t m_iFXIndex; // 0x11e8 + ParticleIndex_t m_iFXIndex; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Neutral_Creep_Lost : public CDOTA_Buff { public: @@ -51683,7 +52598,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_KoboldTaskmaster_SpeedAura : public C_DOTABaseAbility { public: @@ -51691,23 +52606,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_KoboldTaskmaster_SpeedAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_KoboldTaskmaster_SpeedAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 + int32_t bonus_movement_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_CentaurKhan_EnduranceAura : public C_DOTABaseAbility { public: @@ -51715,23 +52630,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_CentaurKhan_EnduranceAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_CentaurKhan_EnduranceAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 + int32_t bonus_attack_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_CentaurKhan_WarStomp : public C_DOTABaseAbility { public: @@ -51739,7 +52654,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Spawnlord_Master_Stomp : public C_DOTABaseAbility { public: @@ -51747,16 +52662,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spawnlord_Master_Stomp : public CDOTA_Buff { public: - int32_t armor_reduction_pct; // 0x11e8 - float m_flArmorReduction; // 0x11ec + int32_t armor_reduction_pct; // 0x12b8 + float m_flArmorReduction; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Spawnlord_Master_Freeze : public C_DOTABaseAbility { public: @@ -51764,28 +52679,28 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spawnlord_Master_Freeze : public CDOTA_Buff { public: - bool m_bFreezeAttack; // 0x11e8 + bool m_bFreezeAttack; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - ParticleIndex_t m_nFXIndex; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spawnlord_Master_Freeze_Root : public CDOTA_Buff { public: - int32_t max_ticks; // 0x11e8 - float damage; // 0x11ec + int32_t max_ticks; // 0x12b8 + float damage; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_GnollAssassin_EnvenomedWeapon : public C_DOTABaseAbility { public: @@ -51793,26 +52708,26 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_GnollAssassin_EnvenomedWeapon : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x11e8 - float non_hero_duration; // 0x11ec - float hero_duration; // 0x11f0 + int32_t damage_per_second; // 0x12b8 + float non_hero_duration; // 0x12bc + float hero_duration; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_GnollAssassin_EnvenomedWeapon_Poison : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x11e8 - int32_t regen_reduction; // 0x11ec + int32_t damage_per_second; // 0x12b8 + int32_t regen_reduction; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Ghost_FrostAttack : public C_DOTABaseAbility { public: @@ -51820,26 +52735,26 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Ghost_FrostAttack : public CDOTA_Buff { public: - float duration; // 0x11e8 - int32_t movespeed_slow; // 0x11ec - int32_t attackspeed_slow; // 0x11f0 + float duration; // 0x12b8 + int32_t movespeed_slow; // 0x12bc + int32_t attackspeed_slow; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Ghost_FrostAttack_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 - int32_t attackspeed_slow; // 0x11ec + int32_t movespeed_slow; // 0x12b8 + int32_t attackspeed_slow; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_PolarFurbolgUrsaWarrior_ThunderClap : public C_DOTABaseAbility { public: @@ -51847,41 +52762,41 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PolarFurbolgUrsaWarrior_ThunderClap : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 - int32_t attackspeed_slow; // 0x11ec + int32_t movespeed_slow; // 0x12b8 + int32_t attackspeed_slow; // 0x12bc }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_WarpineRaider_SeedShot : public C_DOTABaseAbility { public: - int32_t m_iBounces; // 0x5a0 - int32_t bounces; // 0x5a4 + int32_t m_iBounces; // 0x5b0 + int32_t bounces; // 0x5b4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_WarpineRaider_SeedShot : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x11e8 + CHandle< C_BaseEntity > m_hTarget; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_WarpineRaider_SeedShot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Neutral_SpellImmunity : public C_DOTABaseAbility { public: @@ -51889,7 +52804,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Neutral_SpellImmunity : public CDOTA_Modifier_MagicImmune { public: @@ -51897,7 +52812,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Neutral_SpellImmunity_Visible : public CDOTA_Modifier_MagicImmune { public: @@ -51905,7 +52820,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_OgreMagi_FrostArmor : public C_DOTABaseAbility { public: @@ -51913,25 +52828,25 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_OgreMagi_FrostArmor : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x11e8 - float slow_duration; // 0x11ec + int32_t armor_bonus; // 0x12b8 + float slow_duration; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_OgreMagi_FrostArmor_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 - int32_t attackspeed_slow; // 0x11ec + int32_t movespeed_slow; // 0x12b8 + int32_t attackspeed_slow; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DarkTrollWarlord_Ensnare : public C_DOTABaseAbility { public: @@ -51939,7 +52854,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DarkTrollWarlord_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -51947,7 +52862,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DarkTrollWarlord_RaiseDead : public C_DOTABaseAbility { public: @@ -51955,7 +52870,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_GiantWolf_CriticalStrike : public C_DOTABaseAbility { public: @@ -51963,16 +52878,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_GiantWolf_CriticalStrike : public CDOTA_Buff { public: - int32_t crit_mult; // 0x11e8 - int32_t crit_chance; // 0x11ec + int32_t crit_mult; // 0x12b8 + int32_t crit_chance; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AncientGolem_Rockslide : public C_DOTABaseAbility { public: @@ -51980,7 +52895,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_MudGolem_RockDestroy : public C_DOTABaseAbility { public: @@ -51988,19 +52903,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_MudGolem_RockDestroy : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float duration; // 0x11ec - int32_t shard_health; // 0x11f0 - int32_t shard_damage; // 0x11f4 - int32_t shard_duration; // 0x11f8 + int32_t radius; // 0x12b8 + float duration; // 0x12bc + int32_t shard_health; // 0x12c0 + int32_t shard_damage; // 0x12c4 + int32_t shard_duration; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MudGolem_Rock_Shard : public CDOTA_Buff { public: @@ -52008,7 +52923,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_MudGolem_HurlBoulder : public C_DOTABaseAbility { public: @@ -52016,7 +52931,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DoNotCastEnsnare : public CDOTA_Buff { public: @@ -52024,7 +52939,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DoNotCastRock : public CDOTA_Buff { public: @@ -52032,7 +52947,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DoNotCastSmash : public CDOTA_Buff { public: @@ -52040,7 +52955,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AlphaWolf_CriticalStrike : public C_DOTABaseAbility { public: @@ -52048,16 +52963,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AlphaWolf_CriticalStrike : public CDOTA_Buff { public: - int32_t crit_mult; // 0x11e8 - int32_t crit_chance; // 0x11ec + int32_t crit_mult; // 0x12b8 + int32_t crit_chance; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AncientRockGolem_Weakening_Aura : public C_DOTABaseAbility { public: @@ -52065,23 +52980,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AncientRockGolem_Weakening_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AncientRockGolem_Weakening : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 + int32_t armor_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_BlackDrake_MagicAmplification_Aura : public C_DOTABaseAbility { public: @@ -52089,23 +53004,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BlackDrake_MagicAmplification_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BlackDrake_MagicAmplification : public CDOTA_Buff { public: - int32_t spell_amp; // 0x11e8 + int32_t spell_amp; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AlphaWolf_CommandAura : public C_DOTABaseAbility { public: @@ -52113,23 +53028,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AlphaWolf_CommandAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AlphaWolf_CommandAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x11e8 + int32_t bonus_damage_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_FrostbittenGolem_TimeWarpAura : public C_DOTABaseAbility { public: @@ -52137,40 +53052,40 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FrostbittenGolem_TimeWarpAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FrostbittenGolem_TimeWarpAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_cdr; // 0x11e8 + int32_t bonus_cdr; // 0x12b8 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_IceShaman_IncendiaryBomb : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 + ParticleIndex_t m_nFXIndex; // 0x5b0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_IceShaman_IncendiaryBomb : public CDOTA_Buff { public: - int32_t burn_damage; // 0x11e8 - int32_t building_damage_pct; // 0x11ec + int32_t burn_damage; // 0x12b8 + int32_t building_damage_pct; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Tornado_Tempest : public C_DOTABaseAbility { public: @@ -52178,46 +53093,46 @@ public: }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Tornado_Tempest : public CDOTA_Buff { public: - int32_t near_radius; // 0x11e8 - int32_t near_damage; // 0x11ec - int32_t far_radius; // 0x11f0 - int32_t far_damage; // 0x11f4 - float tick_rate; // 0x11f8 + int32_t near_radius; // 0x12b8 + int32_t near_damage; // 0x12bc + int32_t far_radius; // 0x12c0 + int32_t far_damage; // 0x12c4 + float tick_rate; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tornado_Tempest_Debuff : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 - int32_t attackspeed_slow; // 0x11ec + int32_t movespeed_slow; // 0x12b8 + int32_t attackspeed_slow; // 0x12bc }; // Alignment: 3 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_EnragedWildkin_Tornado : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hTornado; // 0x5a0 - CHandle< C_BaseEntity > m_hNeutralTarget; // 0x5a4 - ParticleIndex_t m_nFXIndex; // 0x5a8 + CHandle< C_BaseEntity > m_hTornado; // 0x5b0 + CHandle< C_BaseEntity > m_hNeutralTarget; // 0x5b4 + ParticleIndex_t m_nFXIndex; // 0x5b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Wildkin_Tornado : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tornado_ExpirationTime : public CDOTA_Buff { public: @@ -52225,25 +53140,25 @@ public: }; // Alignment: 2 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_EnragedWildkin_Hurricane : public C_DOTABaseAbility { public: - float distance; // 0x5a0 - Vector m_vEndpoint; // 0x5a4 + float distance; // 0x5b0 + Vector m_vEndpoint; // 0x5b4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EnragedWildkin_Hurricane : public CDOTA_Buff { public: - ParticleIndex_t m_FX; // 0x11e8 - int32_t distance; // 0x11ec + ParticleIndex_t m_FX; // 0x12b8 + int32_t distance; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_BerserkerTroll_Break : public C_DOTABaseAbility { public: @@ -52251,15 +53166,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BerserkerTroll_Break : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Kobold_Disarm : public C_DOTABaseAbility { public: @@ -52267,15 +53182,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Kobold_Disarm : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_EnragedWildkin_ToughnessAura : public C_DOTABaseAbility { public: @@ -52283,23 +53198,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EnragedWildkin_ToughnessAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EnragedWildkin_ToughnessAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_GraniteGolem_HPAura : public C_DOTABaseAbility { public: @@ -52307,23 +53222,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_GraniteGolem_HPAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_GraniteGolem_HPAura_Bonus : public CDOTA_Buff { public: - float bonus_hp; // 0x11e8 + float bonus_hp; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_GraniteGolem_Bash : public C_DOTABaseAbility { public: @@ -52331,7 +53246,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Spawnlord_Master_Bash : public C_DOTABaseAbility { public: @@ -52339,40 +53254,40 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_SatyrTrickster_Purge : public C_DOTABaseAbility { public: - GameTime_t m_flTargetTime; // 0x5a0 + GameTime_t m_flTargetTime; // 0x5b0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SatyrTrickster_Purge : public CDOTA_Buff { public: - int32_t purge_rate; // 0x11e8 + int32_t purge_rate; // 0x12b8 }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_SatyrSoulstealer_ManaBurn : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > hNeutralTarget; // 0x5a0 - GameTime_t m_flTimeBuffer; // 0x5a4 + CHandle< C_BaseEntity > hNeutralTarget; // 0x5b0 + GameTime_t m_flTimeBuffer; // 0x5b4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SatyrSoulstealer_ManaBurn : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_SatyrHellcaller_Shockwave : public C_DOTABaseAbility { public: @@ -52380,7 +53295,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_SatyrHellcaller_UnholyAura : public C_DOTABaseAbility { public: @@ -52388,23 +53303,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SatyrHellcaller_UnholyAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SatyrHellcaller_UnholyAura_Bonus : public CDOTA_Buff { public: - float health_regen; // 0x11e8 + float health_regen; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Spawnlord_Aura : public C_DOTABaseAbility { public: @@ -52412,24 +53327,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spawnlord_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spawnlord_Aura_Bonus : public CDOTA_Buff { public: - int32_t lifesteal; // 0x11e8 - int32_t hp_regen; // 0x11ec + int32_t lifesteal; // 0x12b8 + int32_t hp_regen; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_ForestTrollHighPriest_Heal : public C_DOTABaseAbility { public: @@ -52437,16 +53352,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ForestTrollHighPriest_HealAutocast : public CDOTA_Buff { public: - int32_t health; // 0x11e8 - CHandle< C_BaseEntity > m_hHealTarget; // 0x11ec + int32_t health; // 0x12b8 + CHandle< C_BaseEntity > m_hHealTarget; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_ForestTrollHighPriest_ManaAura : public C_DOTABaseAbility { public: @@ -52454,25 +53369,25 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ForestTrollHighPriest_ManaAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_ForestTrollHighPriest_ManaAura_Bonus : public CDOTA_Buff { public: - float mana_regen; // 0x11e8 - int32_t allow_multiple; // 0x11ec - int32_t m_nAttributes; // 0x11f0 + float mana_regen; // 0x12b8 + int32_t allow_multiple; // 0x12bc + int32_t m_nAttributes; // 0x12c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_ForestTrollHighPriest_HealAmp_Aura : public C_DOTABaseAbility { public: @@ -52480,23 +53395,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ForestTrollHighPriest_HealAmp : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ForestTrollHighPriest_HealAmp_Bonus : public CDOTA_Buff { public: - float heal_amp; // 0x11e8 + float heal_amp; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Furbolg_Enrage_AttackSpeed : public C_DOTABaseAbility { public: @@ -52504,24 +53419,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Furbolg_Enrage_AttackSpeed_OnDeath : public CDOTA_Buff { public: - float duration; // 0x11e8 - int32_t radius; // 0x11ec + float duration; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifer_Furbolg_Enrage_AttackSpeed : public CDOTA_Buff { public: - int32_t bonus_aspd; // 0x11e8 + int32_t bonus_aspd; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Furbolg_Enrage_Damage : public C_DOTABaseAbility { public: @@ -52529,49 +53444,49 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Furbolg_Enrage_Damage_OnDeath : public CDOTA_Buff { public: - float duration; // 0x11e8 - int32_t radius; // 0x11ec + float duration; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_FelBeast_Haunt : public C_DOTABaseAbility { public: - int32_t radius; // 0x5a0 - float duration; // 0x5a4 + int32_t radius; // 0x5b0 + float duration; // 0x5b4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FelBeast_Haunt_OnDeath : public CDOTA_Buff { public: - int32_t projectile_speed; // 0x11e8 + int32_t projectile_speed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FelBeast_Haunt : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x11e8 + int32_t damage_per_second; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifer_Furbolg_Enrage_Damage : public CDOTA_Buff { public: - int32_t bonus_dmg_pct; // 0x11e8 + int32_t bonus_dmg_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_KoboldTunneler_Prospecting : public C_DOTABaseAbility { public: @@ -52579,23 +53494,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_KoboldTunneler_ProspectingAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_KoboldTunneler_ProspectingAura_Money : public CDOTA_Buff { public: - int32_t gpm_aura; // 0x11e8 + int32_t gpm_aura; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_HillTroll_Rally : public C_DOTABaseAbility { public: @@ -52603,23 +53518,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_HillTroll_RallyAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_HillTroll_Rally : public CDOTA_Buff { public: - int32_t damage_bonus; // 0x11e8 + int32_t damage_bonus; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_HillTroll_Rally_Stack : public CDOTA_Buff { public: @@ -52627,7 +53542,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_HarpyScout_TakeOff : public C_DOTABaseAbility { public: @@ -52635,28 +53550,28 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_HarpyScout_TakeOff : public CDOTA_Buff { public: - int32_t move_speed_penalty; // 0x11e8 - float cost_per_second; // 0x11ec + int32_t move_speed_penalty; // 0x12b8 + float cost_per_second; // 0x12bc }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_OgreBruiser_OgreSmash : public C_DOTABaseAbility { public: - int32_t radius; // 0x5a0 - float hero_stun_duration; // 0x5a4 - int32_t damage; // 0x5a8 - float damage_pct; // 0x5ac - GameTime_t flCooldown; // 0x5b0 + int32_t radius; // 0x5b0 + float hero_stun_duration; // 0x5b4 + int32_t damage; // 0x5b8 + float damage_pct; // 0x5bc + GameTime_t flCooldown; // 0x5c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_OgreSmash_Swing : public CDOTA_Buff { public: @@ -52664,24 +53579,24 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_GiantWolf_Intimidate : public C_DOTABaseAbility { public: - int32_t radius; // 0x5a0 - float duration; // 0x5a4 + int32_t radius; // 0x5b0 + float duration; // 0x5b4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_GiantWolf_Intimidate : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 + int32_t damage_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_HarpyStorm_ChainLightning : public C_DOTABaseAbility { public: @@ -52689,17 +53604,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_HarpyStorm_ChainLightning : public CDOTA_Buff { public: - int32_t jump_range; // 0x11e8 - int32_t max_targets; // 0x11ec - float damage_percent_loss; // 0x11f0 + int32_t jump_range; // 0x12b8 + int32_t max_targets; // 0x12bc + float damage_percent_loss; // 0x12c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_BlackDragon_Fireball : public C_DOTABaseAbility { public: @@ -52707,17 +53622,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_BlackDragon_Fireball_Thinker : public CDOTA_Buff { public: - float burn_interval; // 0x11e8 - int32_t radius; // 0x11ec - int32_t damage; // 0x11f0 + float burn_interval; // 0x12b8 + int32_t radius; // 0x12bc + int32_t damage; // 0x12c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_BlackDragon_SplashAttack : public C_DOTABaseAbility { public: @@ -52725,16 +53640,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BlackDragon_SplashAttack : public CDOTA_Buff { public: - int32_t range; // 0x11e8 - float damage_percent; // 0x11ec + int32_t range; // 0x12b8 + float damage_percent; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_BlackDragon_DragonhideAura : public C_DOTABaseAbility { public: @@ -52742,23 +53657,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BlackDragon_DragonhideAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BlackDragon_DragonhideAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_MudGolem_CloakAura : public C_DOTABaseAbility { public: @@ -52766,24 +53681,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MudGolem_CloakAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MudGolem_CloakAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_magical_armor; // 0x11e8 - int32_t bonus_magical_armor_creeps; // 0x11ec + int32_t bonus_magical_armor; // 0x12b8 + int32_t bonus_magical_armor_creeps; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_BlueDragonspawnSorcerer_Evasion : public C_DOTABaseAbility { public: @@ -52791,15 +53706,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BlueDragonspawnSorcerer_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance_pct; // 0x11e8 + int32_t evasion_chance_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_BlueDragonspawnOverseer_Evasion : public C_DOTABaseAbility { public: @@ -52807,15 +53722,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BlueDragonspawnOverseer_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance_pct; // 0x11e8 + int32_t evasion_chance_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_BlueDragonspawnOverseer_DevotionAura : public C_DOTABaseAbility { public: @@ -52823,23 +53738,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BlueDragonspawnOverseer_DevotionAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BlueDragonspawnOverseer_DevotionAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_BigThunderLizard_Wardrums : public C_DOTABaseAbility { public: @@ -52847,24 +53762,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BigThunderLizard_Wardrums : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BigThunderLizard_Wardrums_Aura : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x11e8 - int32_t accuracy; // 0x11ec + int32_t speed_bonus; // 0x12b8 + int32_t accuracy; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_BigThunderLizard_Slam : public C_DOTABaseAbility { public: @@ -52872,15 +53787,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BigThunderLizard_Slam : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 + int32_t movespeed_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_BigThunderLizard_Frenzy : public C_DOTABaseAbility { public: @@ -52888,23 +53803,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BigThunderLizard_Frenzy : public CDOTA_Buff { public: - int32_t attackspeed_bonus; // 0x11e8 + int32_t attackspeed_bonus; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Greevil_Miniboss_Casting : public CDOTA_Buff { public: - int32_t cast_animation; // 0x11e8 + int32_t cast_animation; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Greevil_Miniboss_Black_Nightmare : public C_DOTABaseAbility { public: @@ -52912,15 +53827,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Greevil_Miniboss_Black_Nightmare : public CDOTA_Buff { public: - float animation_rate; // 0x11e8 + float animation_rate; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Greevil_Miniboss_Black_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -52928,7 +53843,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Greevil_Miniboss_Black_BrainSap : public C_DOTABaseAbility { public: @@ -52936,7 +53851,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Greevil_Miniboss_Blue_ColdFeet : public C_DOTABaseAbility { public: @@ -52944,19 +53859,19 @@ public: }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Greevil_Miniboss_Blue_ColdFeet : public CDOTA_Buff { public: - Vector m_vecStartPosition; // 0x11e8 - int32_t m_nCurrentTick; // 0x11f4 - float damage; // 0x11f8 - int32_t break_distance; // 0x11fc - float stun_duration; // 0x1200 + Vector m_vecStartPosition; // 0x12b8 + int32_t m_nCurrentTick; // 0x12c4 + float damage; // 0x12c8 + int32_t break_distance; // 0x12cc + float stun_duration; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Greevil_Miniboss_Blue_ColdFeet_Freeze : public CDOTA_Modifier_Stunned { public: @@ -52964,36 +53879,36 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Greevil_Miniboss_Blue_IceVortex : public C_DOTABaseAbility { public: - int32_t vision_aoe; // 0x5a0 + int32_t vision_aoe; // 0x5b0 }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Greevil_Miniboss_Blue_IceVortexThinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t movement_speed_pct; // 0x11ec - int32_t spell_resist_pct; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - CUtlVector< CHandle< C_BaseEntity > > m_hChilledEntities; // 0x11f8 + int32_t radius; // 0x12b8 + int32_t movement_speed_pct; // 0x12bc + int32_t spell_resist_pct; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + CUtlVector< CHandle< C_BaseEntity > > m_hChilledEntities; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Greevil_Miniboss_Blue_IceVortex : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x11e8 - int32_t spell_resist_pct; // 0x11ec + int32_t movement_speed_pct; // 0x12b8 + int32_t spell_resist_pct; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Greevil_Miniboss_Red_Earthshock : public C_DOTABaseAbility { public: @@ -53001,15 +53916,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Greevil_Miniboss_Red_Earthshock : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Greevil_Miniboss_Red_Overpower : public C_DOTABaseAbility { public: @@ -53017,15 +53932,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Greevil_Miniboss_Red_Overpower : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x11e8 + int32_t attack_speed_bonus_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Greevil_Miniboss_Yellow_IonShell : public C_DOTABaseAbility { public: @@ -53033,16 +53948,16 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Greevil_Miniboss_Yellow_IonShell : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t damage_per_second; // 0x11ec + int32_t radius; // 0x12b8 + int32_t damage_per_second; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Greevil_Miniboss_Yellow_Surge : public C_DOTABaseAbility { public: @@ -53050,7 +53965,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Greevil_Miniboss_Yellow_Surge : public CDOTA_Buff { public: @@ -53058,7 +53973,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Greevil_Miniboss_White_Purification : public C_DOTABaseAbility { public: @@ -53066,7 +53981,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Greevil_Miniboss_White_Degen_Aura : public C_DOTABaseAbility { public: @@ -53074,23 +53989,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Greevil_Miniboss_White_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Greevil_Miniboss_White_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x11e8 + int32_t speed_bonus; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Greevil_Miniboss_Green_LivingArmor : public C_DOTABaseAbility { public: @@ -53098,16 +54013,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Greevil_Miniboss_Green_LivingArmor : public CDOTA_Buff { public: - int32_t health_regen; // 0x11e8 - int32_t damage_block; // 0x11ec + int32_t health_regen; // 0x12b8 + int32_t damage_block; // 0x12bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Greevil_Miniboss_Green_Overgrowth : public C_DOTABaseAbility { public: @@ -53115,7 +54030,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Greevil_Miniboss_Green_Overgrowth : public CDOTA_Buff { public: @@ -53123,7 +54038,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Greevil_Miniboss_Orange_DragonSlave : public C_DOTABaseAbility { public: @@ -53131,7 +54046,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Greevil_Miniboss_Orange_LightStrikeArray : public C_DOTABaseAbility { public: @@ -53139,36 +54054,36 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Greevil_Miniboss_Orange_LightStrikeArray_Thinker : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x11e8 - float m_flStunDuration; // 0x11ec - int32_t light_strike_array_aoe; // 0x11f0 + int32_t m_iDamage; // 0x12b8 + float m_flStunDuration; // 0x12bc + int32_t light_strike_array_aoe; // 0x12c0 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Greevil_Miniboss_Purple_VenomousGale : public C_DOTABaseAbility { public: - float duration; // 0x5a0 + float duration; // 0x5b0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Greevil_Miniboss_Purple_VenomousGale : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 - int32_t tick_damage; // 0x11ec - float tick_interval; // 0x11f0 - float duration; // 0x11f4 + int32_t movement_slow; // 0x12b8 + int32_t tick_damage; // 0x12bc + float tick_interval; // 0x12c0 + float duration; // 0x12c4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Greevil_Miniboss_Purple_PlagueWard : public C_DOTABaseAbility { public: @@ -53176,7 +54091,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Greevil_Miniboss_Sight : public C_DOTABaseAbility { public: @@ -53184,15 +54099,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Greevil_Miniboss_Sight : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Neutral_Upgrade : public C_DOTABaseAbility { public: @@ -53200,23 +54115,23 @@ public: }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Neutral_Upgrade : public CDOTA_Buff { public: - float increase_time; // 0x11e8 - int32_t increase_damage; // 0x11ec - int32_t increase_health; // 0x11f0 - float increase_armor; // 0x11f4 - int32_t increase_aspd; // 0x11f8 - int32_t increase_gold; // 0x11fc - int32_t increase_xp; // 0x1200 - int32_t current_level; // 0x1204 - int32_t max_level; // 0x1208 + float increase_time; // 0x12b8 + int32_t increase_damage; // 0x12bc + int32_t increase_health; // 0x12c0 + float increase_armor; // 0x12c4 + int32_t increase_aspd; // 0x12c8 + int32_t increase_gold; // 0x12cc + int32_t increase_xp; // 0x12d0 + int32_t current_level; // 0x12d4 + int32_t max_level; // 0x12d8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Creep_Siege : public C_DOTABaseAbility { public: @@ -53224,18 +54139,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Creep_Siege : public CDOTA_Buff { public: - int32_t bonus_building_damage; // 0x11e8 - int32_t incoming_hero_damage_penalty; // 0x11ec - int32_t incoming_basic_damage_penalty; // 0x11f0 - int32_t incoming_controlled_unit_penalty; // 0x11f4 + int32_t bonus_building_damage; // 0x12b8 + int32_t incoming_hero_damage_penalty; // 0x12bc + int32_t incoming_basic_damage_penalty; // 0x12c0 + int32_t incoming_controlled_unit_penalty; // 0x12c4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Creep_Piercing : public C_DOTABaseAbility { public: @@ -53243,17 +54158,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Creep_Piercing : public CDOTA_Buff { public: - int32_t creep_damage_bonus; // 0x11e8 - int32_t hero_damage_penalty; // 0x11ec - int32_t heavy_damage_penalty; // 0x11f0 + int32_t creep_damage_bonus; // 0x12b8 + int32_t hero_damage_penalty; // 0x12bc + int32_t heavy_damage_penalty; // 0x12c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Creep_Irresolute : public C_DOTABaseAbility { public: @@ -53261,15 +54176,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Creep_Irresolute : public CDOTA_Buff { public: - int32_t hero_damage_penalty; // 0x11e8 + int32_t hero_damage_penalty; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_FlagBearer_Creep_Aura_Effect : public C_DOTABaseAbility { public: @@ -53277,28 +54192,28 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Creep_Bonus_XP : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t hero_damage_penalty; // 0x11ec - int32_t bonus_gold; // 0x11f0 - int32_t m_iGoldBounty; // 0x11f4 - ParticleIndex_t iBannerEffect; // 0x11f8 - ParticleIndex_t iRingEffect; // 0x11fc + int32_t radius; // 0x12b8 + int32_t hero_damage_penalty; // 0x12bc + int32_t bonus_gold; // 0x12c0 + int32_t m_iGoldBounty; // 0x12c4 + ParticleIndex_t iBannerEffect; // 0x12c8 + ParticleIndex_t iRingEffect; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Flagbearer_Creep_Aura_Effect : public CDOTA_Buff { public: - int32_t bonus_health_regen; // 0x11e8 + int32_t bonus_health_regen; // 0x12b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Filler_Tooltip : public C_DOTABaseAbility { public: @@ -53306,7 +54221,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Filler_Tooltip : public CDOTA_Buff { public: @@ -53314,7 +54229,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Scout_Bonuses : public C_DOTABaseAbility { public: @@ -53322,7 +54237,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_BackdoorProtection : public C_DOTABaseAbility { public: @@ -53330,7 +54245,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_BackdoorProtectionInBase : public C_DOTABaseAbility { public: @@ -53338,7 +54253,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_FillerAbility : public C_DOTABaseAbility { public: @@ -53346,7 +54261,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tutorial_Sleep : public CDOTA_Modifier_Stunned { public: @@ -53354,87 +54269,87 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ARDM_NewHero : public CDOTA_Modifier_Tutorial_Sleep { public: - CHandle< C_BaseEntity > m_hOldHero; // 0x11e8 + CHandle< C_BaseEntity > m_hOldHero; // 0x12b8 }; // Alignment: 1 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Gold_Bag_Launch : public CDOTA_Modifier_Knockback { public: - int32_t gold_amount; // 0x1218 + int32_t gold_amount; // 0x12e8 }; // Alignment: 20 -// Size: 0x638 +// Size: 0x648 class C_DOTA_Ability_DataDriven : public C_DOTABaseAbility { public: - bool m_bProcsMagicStick; // 0x5a0 - bool m_bIsSharedWithTeammates; // 0x5a1 - bool m_bCastFilterRejectCaster; // 0x5a2 + bool m_bProcsMagicStick; // 0x5b0 + bool m_bIsSharedWithTeammates; // 0x5b1 + bool m_bCastFilterRejectCaster; // 0x5b2 private: - [[maybe_unused]] uint8_t __pad05a3[0x1]; // 0x5a3 + [[maybe_unused]] uint8_t __pad05b3[0x1]; // 0x5b3 public: - float m_fAOERadius; // 0x5a4 - int32_t m_CastAnimation; // 0x5a8 + float m_fAOERadius; // 0x5b4 + int32_t m_CastAnimation; // 0x5b8 private: - [[maybe_unused]] uint8_t __pad05ac[0x4]; // 0x5ac + [[maybe_unused]] uint8_t __pad05bc[0x4]; // 0x5bc public: - CUtlVector< KeyValues* > m_ModifierKVDescriptions; // 0x5b0 - KeyValues* m_pOnChannelFinishKV; // 0x5c8 - KeyValues* m_pOnChannelSucceededKV; // 0x5d0 - KeyValues* m_pOnChannelInterruptedKV; // 0x5d8 - KeyValues* m_pOnOwnerSpawnedKV; // 0x5e0 - KeyValues* m_pOnOwnerDiedKV; // 0x5e8 - KeyValues* m_pOnUpgradeKV; // 0x5f0 - KeyValues* m_pOnProjectileHitUnitKV; // 0x5f8 - KeyValues* m_pOnProjectileFinishKV; // 0x600 - KeyValues* m_pOnSpellStartKV; // 0x608 - KeyValues* m_pOnAbilityPhaseStartKV; // 0x610 - KeyValues* m_pOnAbilityPhaseInterruptedKV; // 0x618 - KeyValues* m_pOnToggleOnKV; // 0x620 - KeyValues* m_pOnToggleOffKV; // 0x628 - KeyValues* m_pOnCreatedKV; // 0x630 + CUtlVector< KeyValues* > m_ModifierKVDescriptions; // 0x5c0 + KeyValues* m_pOnChannelFinishKV; // 0x5d8 + KeyValues* m_pOnChannelSucceededKV; // 0x5e0 + KeyValues* m_pOnChannelInterruptedKV; // 0x5e8 + KeyValues* m_pOnOwnerSpawnedKV; // 0x5f0 + KeyValues* m_pOnOwnerDiedKV; // 0x5f8 + KeyValues* m_pOnUpgradeKV; // 0x600 + KeyValues* m_pOnProjectileHitUnitKV; // 0x608 + KeyValues* m_pOnProjectileFinishKV; // 0x610 + KeyValues* m_pOnSpellStartKV; // 0x618 + KeyValues* m_pOnAbilityPhaseStartKV; // 0x620 + KeyValues* m_pOnAbilityPhaseInterruptedKV; // 0x628 + KeyValues* m_pOnToggleOnKV; // 0x630 + KeyValues* m_pOnToggleOffKV; // 0x638 + KeyValues* m_pOnCreatedKV; // 0x640 }; // Alignment: 21 -// Size: 0x6c8 +// Size: 0x6e0 class C_DOTA_Item_DataDriven : public C_DOTA_Item { public: - bool m_bProcsMagicStick; // 0x630 - bool m_bIsSharedWithTeammates; // 0x631 - bool m_bCastFilterRejectCaster; // 0x632 + bool m_bProcsMagicStick; // 0x648 + bool m_bIsSharedWithTeammates; // 0x649 + bool m_bCastFilterRejectCaster; // 0x64a private: - [[maybe_unused]] uint8_t __pad0633[0x1]; // 0x633 + [[maybe_unused]] uint8_t __pad064b[0x1]; // 0x64b public: - float m_fAnimationPlaybackRate; // 0x634 - float m_fAOERadius; // 0x638 - int32_t m_CastAnimation; // 0x63c - CUtlVector< KeyValues* > m_ModifierKVDescriptions; // 0x640 - KeyValues* m_pOnChannelFinishKV; // 0x658 - KeyValues* m_pOnChannelSucceededKV; // 0x660 - KeyValues* m_pOnChannelInterruptedKV; // 0x668 - KeyValues* m_pOnOwnerSpawnedKV; // 0x670 - KeyValues* m_pOnOwnerDiedKV; // 0x678 - KeyValues* m_pOnProjectileHitUnitKV; // 0x680 - KeyValues* m_pOnProjectileFinishKV; // 0x688 - KeyValues* m_pOnSpellStartKV; // 0x690 - KeyValues* m_pOnAbilityPhaseStartKV; // 0x698 - KeyValues* m_pOnToggleOnKV; // 0x6a0 - KeyValues* m_pOnToggleOffKV; // 0x6a8 - KeyValues* m_pOnEquipKV; // 0x6b0 - KeyValues* m_pOnUnequipKV; // 0x6b8 - KeyValues* m_pOnCreatedKV; // 0x6c0 + float m_fAnimationPlaybackRate; // 0x64c + float m_fAOERadius; // 0x650 + int32_t m_CastAnimation; // 0x654 + CUtlVector< KeyValues* > m_ModifierKVDescriptions; // 0x658 + KeyValues* m_pOnChannelFinishKV; // 0x670 + KeyValues* m_pOnChannelSucceededKV; // 0x678 + KeyValues* m_pOnChannelInterruptedKV; // 0x680 + KeyValues* m_pOnOwnerSpawnedKV; // 0x688 + KeyValues* m_pOnOwnerDiedKV; // 0x690 + KeyValues* m_pOnProjectileHitUnitKV; // 0x698 + KeyValues* m_pOnProjectileFinishKV; // 0x6a0 + KeyValues* m_pOnSpellStartKV; // 0x6a8 + KeyValues* m_pOnAbilityPhaseStartKV; // 0x6b0 + KeyValues* m_pOnToggleOnKV; // 0x6b8 + KeyValues* m_pOnToggleOffKV; // 0x6c0 + KeyValues* m_pOnEquipKV; // 0x6c8 + KeyValues* m_pOnUnequipKV; // 0x6d0 + KeyValues* m_pOnCreatedKV; // 0x6d8 }; // Alignment: 0 -// Size: 0x5e8 +// Size: 0x5f8 class C_DOTA_Ability_Lua : public C_DOTABaseAbility { public: @@ -53442,7 +54357,7 @@ public: }; // Alignment: 0 -// Size: 0x678 +// Size: 0x690 class C_DOTA_Item_Lua : public C_DOTA_Item { public: @@ -53450,7 +54365,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Disruptor_Thunder_Strike_Interval_Upgrade : public C_DOTABaseAbility { public: @@ -53458,7 +54373,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Disruptor_Thunder_Strike_Mana_Restore : public C_DOTABaseAbility { public: @@ -53466,7 +54381,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Disruptor_Thunder_Strike_Crit_Chance : public C_DOTABaseAbility { public: @@ -53474,7 +54389,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Disruptor_Thunder_Strike_On_Attack : public C_DOTABaseAbility { public: @@ -53482,7 +54397,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Disruptor_Thunder_Strike : public C_DOTABaseAbility { public: @@ -53490,7 +54405,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Disruptor_Glimpse_Cast_AoE : public C_DOTABaseAbility { public: @@ -53498,7 +54413,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Disruptor_Glimpse_Hit_On_Arrival : public C_DOTABaseAbility { public: @@ -53506,7 +54421,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Disruptor_Glimpse_Travel_Damage : public C_DOTABaseAbility { public: @@ -53514,7 +54429,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Disruptor_Glimpse : public C_DOTABaseAbility { public: @@ -53522,7 +54437,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_Instant_Setup : public C_DOTABaseAbility { public: @@ -53530,7 +54445,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_Damage : public C_DOTABaseAbility { public: @@ -53538,7 +54453,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_DoubleRing : public C_DOTABaseAbility { public: @@ -53546,7 +54461,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_Allied_Heal : public C_DOTABaseAbility { public: @@ -53554,7 +54469,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_Allied_AttackBuff : public C_DOTABaseAbility { public: @@ -53562,7 +54477,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Disruptor_KineticField : public C_DOTABaseAbility { public: @@ -53570,7 +54485,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Disruptor_StaticStorm_Kinetic_Field_On_Cast : public C_DOTABaseAbility { public: @@ -53578,7 +54493,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Disruptor_StaticStorm_Crits_On_Attack : public C_DOTABaseAbility { public: @@ -53586,7 +54501,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Disruptor_StaticStorm_Damage_Reduction : public C_DOTABaseAbility { public: @@ -53594,7 +54509,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Disruptor_StaticStorm : public C_DOTABaseAbility { public: @@ -53602,7 +54517,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Magnataur_Horn_Toss : public C_DOTABaseAbility { public: @@ -53610,15 +54525,15 @@ public: }; // Alignment: 1 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Aghsfort_Magnataur_Shockwave : public C_DOTABaseAbility { public: - CUtlVector< ParticleIndex_t > m_nFXIndices; // 0x5a0 + CUtlVector< ParticleIndex_t > m_nFXIndices; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Magnataur_Shockwave_Multishot : public C_DOTABaseAbility { public: @@ -53626,7 +54541,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Magnataur_Shockwave_Damage_Reduction : public C_DOTABaseAbility { public: @@ -53634,7 +54549,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Magnataur_Shockwave_Damage_Increase : public C_DOTABaseAbility { public: @@ -53642,7 +54557,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Magnataur_Shockwave_Boomerang : public C_DOTABaseAbility { public: @@ -53650,24 +54565,24 @@ public: }; // Alignment: 2 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Aghsfort_Magnataur_ReversePolarity : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 - Vector m_vPullLocation; // 0x5a4 + ParticleIndex_t m_nFXIndex; // 0x5b0 + Vector m_vPullLocation; // 0x5b4 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Aghsfort_Magnataur_Empower : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 + ParticleIndex_t m_nFXIndex; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Magnataur_Empower_All_Allies : public C_DOTABaseAbility { public: @@ -53675,7 +54590,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Magnataur_Empower_Charges : public C_DOTABaseAbility { public: @@ -53683,7 +54598,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Magnataur_Empower_Lifesteal : public C_DOTABaseAbility { public: @@ -53691,7 +54606,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Magnataur_Empower_ShockwaveOnAttack : public C_DOTABaseAbility { public: @@ -53699,34 +54614,34 @@ public: }; // Alignment: 6 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_Aghsfort_Magnataur_Skewer : public C_DOTABaseAbility { public: - int32_t skewer_radius; // 0x5a0 - int32_t skewer_speed; // 0x5a4 - int32_t range; // 0x5a8 - int32_t tree_radius; // 0x5ac - Vector m_vSkewerDirection; // 0x5b0 - int32_t m_nTargetsHit; // 0x5bc + int32_t skewer_radius; // 0x5b0 + int32_t skewer_speed; // 0x5b4 + int32_t range; // 0x5b8 + int32_t tree_radius; // 0x5bc + Vector m_vSkewerDirection; // 0x5c0 + int32_t m_nTargetsHit; // 0x5cc }; // Alignment: 7 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_Aghsfort_Magnataur_FriendlySkewer : public C_DOTABaseAbility { public: - int32_t skewer_radius; // 0x5a0 - int32_t skewer_speed; // 0x5a4 - int32_t max_targets; // 0x5a8 - int32_t range; // 0x5ac - int32_t tree_radius; // 0x5b0 - int32_t affects_creeps; // 0x5b4 - int32_t m_nTargetsHit; // 0x5b8 + int32_t skewer_radius; // 0x5b0 + int32_t skewer_speed; // 0x5b4 + int32_t max_targets; // 0x5b8 + int32_t range; // 0x5bc + int32_t tree_radius; // 0x5c0 + int32_t affects_creeps; // 0x5c4 + int32_t m_nTargetsHit; // 0x5c8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_OriginalScepter : public C_DOTABaseAbility { public: @@ -53734,7 +54649,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_BonusStrength : public C_DOTABaseAbility { public: @@ -53742,7 +54657,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_Heal : public C_DOTABaseAbility { public: @@ -53750,7 +54665,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_Shockwave : public C_DOTABaseAbility { public: @@ -53758,7 +54673,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_HornToss : public C_DOTABaseAbility { public: @@ -53766,7 +54681,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Magnataur_Reverse_Polarity_Radius : public C_DOTABaseAbility { public: @@ -53774,7 +54689,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Magnataur_Reverse_Polarity_Allies_Crit : public C_DOTABaseAbility { public: @@ -53782,7 +54697,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Magnataur_Reverse_Polarity_Steroid : public C_DOTABaseAbility { public: @@ -53790,7 +54705,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Magnataur_Reverse_Polarity_Polarity_Dummy : public C_DOTABaseAbility { public: @@ -53798,17 +54713,17 @@ public: }; // Alignment: 3 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Aghsfort_Special_Magnataur_ReversePolarity_Polarity : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 - Vector m_vPullLocation; // 0x5a4 - C_DOTABaseAbility* pAbilityPrimaryPolarity; // 0x5b0 + ParticleIndex_t m_nFXIndex; // 0x5b0 + Vector m_vPullLocation; // 0x5b4 + C_DOTABaseAbility* pAbilityPrimaryPolarity; // 0x5c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_No_Secondary_Dagger_Restriction : public C_DOTABaseAbility { public: @@ -53816,7 +54731,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_On_Attack : public C_DOTABaseAbility { public: @@ -53824,7 +54739,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_AutoDagger : public C_DOTABaseAbility { public: @@ -53832,7 +54747,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_PhantomAssassin_Stifling_Dagger : public C_DOTABaseAbility { public: @@ -53840,7 +54755,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_PhantomStrike_Buff_Allies : public C_DOTABaseAbility { public: @@ -53848,7 +54763,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_PhantomStrike_Mastery : public C_DOTABaseAbility { public: @@ -53856,7 +54771,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_PhantomStrike_Damage_Reduction : public C_DOTABaseAbility { public: @@ -53864,7 +54779,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_PhantomAssassin_PhantomStrike : public C_DOTABaseAbility { public: @@ -53872,7 +54787,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Blur_Regen_When_Active : public C_DOTABaseAbility { public: @@ -53880,7 +54795,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Blur_Dagger_On_End : public C_DOTABaseAbility { public: @@ -53888,7 +54803,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Blur_Immediate : public C_DOTABaseAbility { public: @@ -53896,7 +54811,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_PhantomAssassin_Blur : public C_DOTABaseAbility { public: @@ -53904,7 +54819,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_PhantomAssassin_CoupdeGrace : public C_DOTABaseAbility { public: @@ -53912,7 +54827,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_PhantomAssassin_CoupDeGrace_MarksTarget : public C_DOTABaseAbility { public: @@ -53920,7 +54835,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_PhantomAssassin_CoupDeGrace_Execute : public C_DOTABaseAbility { public: @@ -53928,7 +54843,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_PhantomAssassin_CoupDeGrace_KillsRefresh : public C_DOTABaseAbility { public: @@ -53936,7 +54851,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_PhantomAssassin_CoupDeGrace_BloodyDebuff : public C_DOTABaseAbility { public: @@ -53944,7 +54859,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_Splitshot : public C_DOTABaseAbility { public: @@ -53952,7 +54867,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_DoubleAttack : public C_DOTABaseAbility { public: @@ -53960,7 +54875,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_NoMana : public C_DOTABaseAbility { public: @@ -53968,7 +54883,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_Splash_Damage : public C_DOTABaseAbility { public: @@ -53976,15 +54891,15 @@ public: }; // Alignment: 1 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_Aghsfort_Winter_Wyvern_Arctic_Burn : public C_DOTABaseAbility { public: - CUtlVector< CEntityIndex > m_BurnedTargets; // 0x5a0 + CUtlVector< CEntityIndex > m_BurnedTargets; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Main_Target_Hit : public C_DOTABaseAbility { public: @@ -53992,7 +54907,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Heal : public C_DOTABaseAbility { public: @@ -54000,7 +54915,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Vacuum : public C_DOTABaseAbility { public: @@ -54008,18 +54923,18 @@ public: }; // Alignment: 2 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Aghsfort_Winter_Wyvern_Splinter_Blast : public C_DOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad05a0[0x8]; // 0x5a0 + [[maybe_unused]] uint8_t __pad05b0[0x8]; // 0x5b0 public: - int32_t splinter_damage; // 0x5a8 - CHandle< C_BaseEntity > m_hMainTarget; // 0x5ac + int32_t splinter_damage; // 0x5b8 + CHandle< C_BaseEntity > m_hMainTarget; // 0x5bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Blast_On_End : public C_DOTABaseAbility { public: @@ -54027,7 +54942,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Charges : public C_DOTABaseAbility { public: @@ -54035,7 +54950,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Magic_Damage_Block : public C_DOTABaseAbility { public: @@ -54043,7 +54958,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Winter_Wyvern_Cold_Embrace : public C_DOTABaseAbility { public: @@ -54051,7 +54966,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Winters_Curse_Transfer : public C_DOTABaseAbility { public: @@ -54059,7 +54974,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Winters_Curse_Damage_Amp : public C_DOTABaseAbility { public: @@ -54067,7 +54982,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Winters_Curse_Heal_On_Death : public C_DOTABaseAbility { public: @@ -54075,7 +54990,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Winter_Wyvern_Winters_Curse : public C_DOTABaseAbility { public: @@ -54083,80 +54998,80 @@ public: }; // Alignment: 11 -// Size: 0x5e8 +// Size: 0x5f8 class CDOTA_Ability_Aghsfort_Snapfire_MortimerKisses : public C_DOTABaseAbility { public: - int32_t m_nDamagePerProjectile; // 0x5a0 - int32_t damage_per_impact; // 0x5a4 - int32_t impact_radius; // 0x5a8 - int32_t projectile_vision; // 0x5ac - int32_t m_nFragmentationImpactRadius; // 0x5b0 - int32_t firetrail_radius; // 0x5b4 - int32_t firetrail_damage; // 0x5b8 - int32_t firetrail_tick_interval; // 0x5bc - CUtlVector< Vector > m_vFirePoolLocations; // 0x5c0 - float m_fNextDamageTick; // 0x5d8 - Vector m_vLastFirePoolLoc; // 0x5dc + int32_t m_nDamagePerProjectile; // 0x5b0 + int32_t damage_per_impact; // 0x5b4 + int32_t impact_radius; // 0x5b8 + int32_t projectile_vision; // 0x5bc + int32_t m_nFragmentationImpactRadius; // 0x5c0 + int32_t firetrail_radius; // 0x5c4 + int32_t firetrail_damage; // 0x5c8 + int32_t firetrail_tick_interval; // 0x5cc + CUtlVector< Vector > m_vFirePoolLocations; // 0x5d0 + float m_fNextDamageTick; // 0x5e8 + Vector m_vLastFirePoolLoc; // 0x5ec }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_Aghsfort_Snapfire_Scatterblast : public C_DOTABaseAbility { public: - int32_t damage; // 0x5a0 - float debuff_duration; // 0x5a4 - int32_t point_blank_range; // 0x5a8 - float point_blank_dmg_bonus_pct; // 0x5ac - int32_t blast_width_end; // 0x5b0 + int32_t damage; // 0x5b0 + float debuff_duration; // 0x5b4 + int32_t point_blank_range; // 0x5b8 + float point_blank_dmg_bonus_pct; // 0x5bc + int32_t blast_width_end; // 0x5c0 }; // Alignment: 4 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_Aghsfort_Snapfire_FiresnapCookie : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hTarget; // 0x5a0 + CHandle< C_BaseEntity > m_hTarget; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a4[0x8]; // 0x5a4 + [[maybe_unused]] uint8_t __pad05b4[0x8]; // 0x5b4 public: - int32_t projectile_speed; // 0x5ac - float pre_hop_duration; // 0x5b0 - float cast_on_ally_gesture_time; // 0x5b4 + int32_t projectile_speed; // 0x5bc + float pre_hop_duration; // 0x5c0 + float cast_on_ally_gesture_time; // 0x5c4 }; // Alignment: 2 -// Size: 0x5c0 +// Size: 0x5d0 class CDOTA_Ability_Aghsfort_Snapfire_LilShredder : public C_DOTABaseAbility { public: - int32_t m_iAttackIndex; // 0x5a0 + int32_t m_iAttackIndex; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 + [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: - CUtlVector< sLilShredderBounceInfo > m_BounceInfo; // 0x5a8 + CUtlVector< sLilShredderBounceInfo > m_BounceInfo; // 0x5b8 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Aghsfort_Snapfire_GobbleUp : public C_DOTABaseAbility { public: - float max_time_in_belly; // 0x5a0 + float max_time_in_belly; // 0x5b0 }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Aghsfort_Snapfire_SpitCreep : public C_DOTABaseAbility { public: - int32_t m_nDamagePerProjectile; // 0x5a0 - CHandle< C_BaseEntity > m_hGobbledUnit; // 0x5a4 + int32_t m_nDamagePerProjectile; // 0x5b0 + CHandle< C_BaseEntity > m_hGobbledUnit; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Snapfire_Scatterblast_Double_Barrel : public C_DOTABaseAbility { public: @@ -54164,7 +55079,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Snapfire_Scatterblast_Knockback : public C_DOTABaseAbility { public: @@ -54172,7 +55087,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Snapfire_Scatterblast_FullRange_PointBlank : public C_DOTABaseAbility { public: @@ -54180,7 +55095,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Snapfire_Scatterblast_Barrage : public C_DOTABaseAbility { public: @@ -54188,7 +55103,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Snapfire_FiresnapCookie_MultiCookie : public C_DOTABaseAbility { public: @@ -54196,7 +55111,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Snapfire_FiresnapCookie_EnemyTarget : public C_DOTABaseAbility { public: @@ -54204,7 +55119,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Snapfire_FiresnapCookie_Allied_Buff : public C_DOTABaseAbility { public: @@ -54212,7 +55127,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Snapfire_LilShredder_Explosives : public C_DOTABaseAbility { public: @@ -54220,7 +55135,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Snapfire_LilShredder_AllyCast : public C_DOTABaseAbility { public: @@ -54228,7 +55143,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Snapfire_LilShredder_Bouncing_Bullets : public C_DOTABaseAbility { public: @@ -54236,7 +55151,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Snapfire_MortimerKisses_Fragmentation : public C_DOTABaseAbility { public: @@ -54244,7 +55159,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Snapfire_MortimerKisses_Incoming_Damage_Reduction : public C_DOTABaseAbility { public: @@ -54252,7 +55167,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Snapfire_MortimerKisses_Fire_Trail : public C_DOTABaseAbility { public: @@ -54260,7 +55175,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Snapfire_MortimerKisses_Autoattack : public C_DOTABaseAbility { public: @@ -54268,35 +55183,35 @@ public: }; // Alignment: 15 -// Size: 0x610 +// Size: 0x620 class C_DOTA_Ability_Aghsfort_Tusk_Snowball_Dummy : public C_DOTABaseAbility { public: - int32_t snowball_radius; // 0x5a0 - int32_t snowball_grow_rate; // 0x5a4 - int32_t snowball_damage; // 0x5a8 - int32_t snowball_damage_bonus; // 0x5ac - float stun_duration; // 0x5b0 - int32_t bonus_damage; // 0x5b4 - float bonus_stun; // 0x5b8 - int32_t snowball_speed; // 0x5bc - float snowball_duration; // 0x5c0 - bool m_bIsExpired; // 0x5c4 + int32_t snowball_radius; // 0x5b0 + int32_t snowball_grow_rate; // 0x5b4 + int32_t snowball_damage; // 0x5b8 + int32_t snowball_damage_bonus; // 0x5bc + float stun_duration; // 0x5c0 + int32_t bonus_damage; // 0x5c4 + float bonus_stun; // 0x5c8 + int32_t snowball_speed; // 0x5cc + float snowball_duration; // 0x5d0 + bool m_bIsExpired; // 0x5d4 private: - [[maybe_unused]] uint8_t __pad05c5[0x3]; // 0x5c5 + [[maybe_unused]] uint8_t __pad05d5[0x3]; // 0x5d5 public: - Vector m_vProjectileLocation; // 0x5c8 + Vector m_vProjectileLocation; // 0x5d8 private: - [[maybe_unused]] uint8_t __pad05d4[0x4]; // 0x5d4 + [[maybe_unused]] uint8_t __pad05e4[0x4]; // 0x5e4 public: - CountdownTimer ctSnowball; // 0x5d8 - CUtlVector< CHandle< C_BaseEntity > > m_hSnowballedUnits; // 0x5f0 - ParticleIndex_t m_nFXIndex; // 0x608 - CHandle< C_BaseEntity > m_hPrimaryTarget; // 0x60c + CountdownTimer ctSnowball; // 0x5e8 + CUtlVector< CHandle< C_BaseEntity > > m_hSnowballedUnits; // 0x600 + ParticleIndex_t m_nFXIndex; // 0x618 + CHandle< C_BaseEntity > m_hPrimaryTarget; // 0x61c }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Tusk_IceShards_Stop : public C_DOTABaseAbility { public: @@ -54304,61 +55219,61 @@ public: }; // Alignment: 11 -// Size: 0x5e0 +// Size: 0x5f0 class C_DOTA_Ability_Aghsfort_Tusk_IceShards : public C_DOTABaseAbility { public: - int32_t m_iProjectile; // 0x5a0 - int32_t shard_width; // 0x5a4 - int32_t shard_damage; // 0x5a8 - int32_t shard_count; // 0x5ac - float shard_speed; // 0x5b0 - float shard_duration; // 0x5b4 - float shard_angle_step; // 0x5b8 - int32_t shard_distance; // 0x5bc - int32_t secondary_damage_pct; // 0x5c0 - Vector m_vSpawnOrigin; // 0x5c4 - Vector m_vDirection; // 0x5d0 + int32_t m_iProjectile; // 0x5b0 + int32_t shard_width; // 0x5b4 + int32_t shard_damage; // 0x5b8 + int32_t shard_count; // 0x5bc + float shard_speed; // 0x5c0 + float shard_duration; // 0x5c4 + float shard_angle_step; // 0x5c8 + int32_t shard_distance; // 0x5cc + int32_t secondary_damage_pct; // 0x5d0 + Vector m_vSpawnOrigin; // 0x5d4 + Vector m_vDirection; // 0x5e0 }; // Alignment: 20 -// Size: 0x620 +// Size: 0x630 class C_DOTA_Ability_Aghsfort_Tusk_Snowball : public C_DOTABaseAbility { public: - int32_t snowball_windup_radius; // 0x5a0 - int32_t snowball_radius; // 0x5a4 - int32_t snowball_grow_rate; // 0x5a8 - int32_t snowball_damage; // 0x5ac - int32_t snowball_damage_bonus; // 0x5b0 - float stun_duration; // 0x5b4 - int32_t bonus_damage; // 0x5b8 - float bonus_stun; // 0x5bc - int32_t snowball_speed; // 0x5c0 - float snowball_duration; // 0x5c4 - Vector m_vProjectileLocation; // 0x5c8 + int32_t snowball_windup_radius; // 0x5b0 + int32_t snowball_radius; // 0x5b4 + int32_t snowball_grow_rate; // 0x5b8 + int32_t snowball_damage; // 0x5bc + int32_t snowball_damage_bonus; // 0x5c0 + float stun_duration; // 0x5c4 + int32_t bonus_damage; // 0x5c8 + float bonus_stun; // 0x5cc + int32_t snowball_speed; // 0x5d0 + float snowball_duration; // 0x5d4 + Vector m_vProjectileLocation; // 0x5d8 private: - [[maybe_unused]] uint8_t __pad05d4[0x4]; // 0x5d4 + [[maybe_unused]] uint8_t __pad05e4[0x4]; // 0x5e4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hSnowballedUnits; // 0x5d8 - ParticleIndex_t m_nFXIndex; // 0x5f0 + CUtlVector< CHandle< C_BaseEntity > > m_hSnowballedUnits; // 0x5e8 + ParticleIndex_t m_nFXIndex; // 0x600 private: - [[maybe_unused]] uint8_t __pad05f4[0x4]; // 0x5f4 + [[maybe_unused]] uint8_t __pad0604[0x4]; // 0x604 public: - CountdownTimer ctSnowball; // 0x5f8 - bool m_bSpeakAlly; // 0x610 - bool m_bIsExpired; // 0x611 - bool m_bInWindup; // 0x612 + CountdownTimer ctSnowball; // 0x608 + bool m_bSpeakAlly; // 0x620 + bool m_bIsExpired; // 0x621 + bool m_bInWindup; // 0x622 private: - [[maybe_unused]] uint8_t __pad0613[0x1]; // 0x613 + [[maybe_unused]] uint8_t __pad0623[0x1]; // 0x623 public: - CHandle< C_BaseEntity > m_hPrimaryTarget; // 0x614 - int32_t m_nContainedValidUnits; // 0x618 - bool m_bEndingSnowball; // 0x61c + CHandle< C_BaseEntity > m_hPrimaryTarget; // 0x624 + int32_t m_nContainedValidUnits; // 0x628 + bool m_bEndingSnowball; // 0x62c }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Tusk_Launch_Snowball : public C_DOTABaseAbility { public: @@ -54366,7 +55281,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Tusk_WalrusPunch : public C_DOTABaseAbility { public: @@ -54374,7 +55289,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Tusk_Tag_Team : public C_DOTABaseAbility { public: @@ -54382,7 +55297,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Circle : public C_DOTABaseAbility { public: @@ -54390,7 +55305,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Explode : public C_DOTABaseAbility { public: @@ -54398,7 +55313,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Stun : public C_DOTABaseAbility { public: @@ -54406,7 +55321,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Snowball : public C_DOTABaseAbility { public: @@ -54414,7 +55329,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Secondary : public C_DOTABaseAbility { public: @@ -54422,7 +55337,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Tusk_Snowball_Heal : public C_DOTABaseAbility { public: @@ -54430,7 +55345,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Tusk_Snowball_End_Damage : public C_DOTABaseAbility { public: @@ -54438,7 +55353,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Tusk_Snowball_Global : public C_DOTABaseAbility { public: @@ -54446,7 +55361,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Tusk_TagTeam_Lifesteal : public C_DOTABaseAbility { public: @@ -54454,7 +55369,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Tusk_TagTeam_Toggle : public C_DOTABaseAbility { public: @@ -54462,7 +55377,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Tusk_TagTeam_DeathCooldown : public C_DOTABaseAbility { public: @@ -54470,7 +55385,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Tusk_TagTeam_Global : public C_DOTABaseAbility { public: @@ -54478,7 +55393,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Tusk_Walrus_Punch_Reset : public C_DOTABaseAbility { public: @@ -54486,7 +55401,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Tusk_Walrus_Punch_Land_Damage : public C_DOTABaseAbility { public: @@ -54494,7 +55409,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Tusk_Walrus_Punch_Wallop : public C_DOTABaseAbility { public: @@ -54502,7 +55417,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Ursa_Overpower : public C_DOTABaseAbility { public: @@ -54510,7 +55425,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Ursa_Fury_Swipes : public C_DOTABaseAbility { public: @@ -54518,7 +55433,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Ursa_Earthshock : public C_DOTABaseAbility { public: @@ -54526,7 +55441,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Ursa_Enrage : public C_DOTABaseAbility { public: @@ -54534,7 +55449,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_Invis : public C_DOTABaseAbility { public: @@ -54542,7 +55457,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_ApplyFurySwipes : public C_DOTABaseAbility { public: @@ -54550,7 +55465,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_OverpowerStack : public C_DOTABaseAbility { public: @@ -54558,7 +55473,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_Knockback : public C_DOTABaseAbility { public: @@ -54566,7 +55481,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_MissChance : public C_DOTABaseAbility { public: @@ -54574,7 +55489,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Ursa_Overpower_Crit : public C_DOTABaseAbility { public: @@ -54582,7 +55497,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Ursa_Overpower_Evasion : public C_DOTABaseAbility { public: @@ -54590,7 +55505,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Ursa_Overpower_Taunt : public C_DOTABaseAbility { public: @@ -54598,7 +55513,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Ursa_Overpower_Cleave : public C_DOTABaseAbility { public: @@ -54606,7 +55521,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Ursa_FurySwipes_ArmorReduction : public C_DOTABaseAbility { public: @@ -54614,7 +55529,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Ursa_FurySwipes_Lifesteal : public C_DOTABaseAbility { public: @@ -54622,7 +55537,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Ursa_FurySwipes_UrsaMinor : public C_DOTABaseAbility { public: @@ -54630,7 +55545,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Magic_Immunity : public C_DOTABaseAbility { public: @@ -54638,7 +55553,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Allies : public C_DOTABaseAbility { public: @@ -54646,7 +55561,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Fear : public C_DOTABaseAbility { public: @@ -54654,7 +55569,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Armor : public C_DOTABaseAbility { public: @@ -54662,7 +55577,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Ursa_Enrage_AttackSpeed : public C_DOTABaseAbility { public: @@ -54670,7 +55585,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Earthshock : public C_DOTABaseAbility { public: @@ -54678,7 +55593,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Mars_Spear : public C_DOTABaseAbility { public: @@ -54686,7 +55601,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Mars_ArenaOfBlood : public C_DOTABaseAbility { public: @@ -54694,7 +55609,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Mars_GodsRebuke : public C_DOTABaseAbility { public: @@ -54702,15 +55617,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Aghsfort_Mars_Bulwark : public C_DOTABaseAbility { public: - float active_duration; // 0x5a0 + float active_duration; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Mars_Bulwark_Stop : public C_DOTABaseAbility { public: @@ -54718,7 +55633,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Mars_Spear_MultiSkewer : public C_DOTABaseAbility { public: @@ -54726,7 +55641,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Mars_Spear_ImpaleExplosion : public C_DOTABaseAbility { public: @@ -54734,7 +55649,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Mars_Spear_BurningTrail : public C_DOTABaseAbility { public: @@ -54742,7 +55657,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Mars_GodsRebuke_FullCircle : public C_DOTABaseAbility { public: @@ -54750,7 +55665,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Mars_GodsRebuke_Stun : public C_DOTABaseAbility { public: @@ -54758,7 +55673,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Mars_GodsRebuke_Strength_Buff : public C_DOTABaseAbility { public: @@ -54766,7 +55681,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Counter_Rebuke : public C_DOTABaseAbility { public: @@ -54774,7 +55689,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Healing : public C_DOTABaseAbility { public: @@ -54782,7 +55697,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Return : public C_DOTABaseAbility { public: @@ -54790,7 +55705,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Spears : public C_DOTABaseAbility { public: @@ -54798,7 +55713,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Soldiers : public C_DOTABaseAbility { public: @@ -54806,7 +55721,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Mars_Arena_Of_Blood_Fear : public C_DOTABaseAbility { public: @@ -54814,7 +55729,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Mars_Arena_Of_Blood_Global : public C_DOTABaseAbility { public: @@ -54822,7 +55737,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Mars_Arena_Of_Blood_Attack_Buff : public C_DOTABaseAbility { public: @@ -54830,7 +55745,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Mars_Arena_Of_Blood_Outside_Perimeter : public C_DOTABaseAbility { public: @@ -54838,7 +55753,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Weaver_TheSwarm : public C_DOTABaseAbility { public: @@ -54846,18 +55761,18 @@ public: }; // Alignment: 4 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Aghsfort_Weaver_Shukuchi : public C_DOTABaseAbility { public: - float duration; // 0x5a0 - int32_t radius; // 0x5a4 - int32_t damage; // 0x5a8 - float fade_time; // 0x5ac + float duration; // 0x5b0 + int32_t radius; // 0x5b4 + int32_t damage; // 0x5b8 + float fade_time; // 0x5bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Weaver_GeminateAttack : public C_DOTABaseAbility { public: @@ -54865,15 +55780,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Aghsfort_Weaver_TimeLapse : public C_DOTABaseAbility { public: - int32_t m_nNPCSpawnedID; // 0x5a0 + int32_t m_nNPCSpawnedID; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Weaver_Swarm_Allies : public C_DOTABaseAbility { public: @@ -54881,7 +55796,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Weaver_Swarm_Explosion : public C_DOTABaseAbility { public: @@ -54889,7 +55804,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Weaver_Swarm_Damage_Transfer : public C_DOTABaseAbility { public: @@ -54897,7 +55812,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Weaver_Geminate_Attack_Splitshot : public C_DOTABaseAbility { public: @@ -54905,7 +55820,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Weaver_Geminate_Attack_Applies_Swarm : public C_DOTABaseAbility { public: @@ -54913,7 +55828,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Weaver_Geminate_Attack_Knockback : public C_DOTABaseAbility { public: @@ -54921,7 +55836,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Weaver_Geminate_Attack_Lifesteal : public C_DOTABaseAbility { public: @@ -54929,7 +55844,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Pull : public C_DOTABaseAbility { public: @@ -54937,7 +55852,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Trail : public C_DOTABaseAbility { public: @@ -54945,7 +55860,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Heal : public C_DOTABaseAbility { public: @@ -54953,7 +55868,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Attack_On_Completion : public C_DOTABaseAbility { public: @@ -54961,7 +55876,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Swarm : public C_DOTABaseAbility { public: @@ -54969,7 +55884,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Greater_Invisibility : public C_DOTABaseAbility { public: @@ -54977,7 +55892,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Weaver_Time_Lapse_Allies : public C_DOTABaseAbility { public: @@ -54985,7 +55900,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Weaver_Time_Lapse_Restoration : public C_DOTABaseAbility { public: @@ -54993,7 +55908,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Weaver_Time_Lapse_Explosion : public C_DOTABaseAbility { public: @@ -55001,7 +55916,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Viper_PoisonAttackExplode : public C_DOTABaseAbility { public: @@ -55009,7 +55924,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Viper_PoisonAttackSpread : public C_DOTABaseAbility { public: @@ -55017,7 +55932,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Viper_PoisonSnap : public C_DOTABaseAbility { public: @@ -55025,7 +55940,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Viper_PoisonAttack : public C_DOTABaseAbility { public: @@ -55033,7 +55948,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Viper_NethertoxinCharges : public C_DOTABaseAbility { public: @@ -55041,7 +55956,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Viper_NethertoxinLifesteal : public C_DOTABaseAbility { public: @@ -55049,7 +55964,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Viper_Nethertoxin_Persist : public C_DOTABaseAbility { public: @@ -55057,7 +55972,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Viper_Nethertoxin : public C_DOTABaseAbility { public: @@ -55065,7 +55980,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Viper_CorrosiveSkinFlying : public C_DOTABaseAbility { public: @@ -55073,7 +55988,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Viper_CorrosiveSkinSpeedSteal : public C_DOTABaseAbility { public: @@ -55081,7 +55996,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Viper_CorrosiveSkin_Aura : public C_DOTABaseAbility { public: @@ -55089,7 +56004,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Viper_CorrosiveSkin : public C_DOTABaseAbility { public: @@ -55097,7 +56012,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Viper_ViperStrikeAllies : public C_DOTABaseAbility { public: @@ -55105,7 +56020,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Viper_ChainViperStrike : public C_DOTABaseAbility { public: @@ -55113,7 +56028,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Viper_ChanneledViperStrike : public C_DOTABaseAbility { public: @@ -55121,7 +56036,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Viper_PeriodicViperStrike : public C_DOTABaseAbility { public: @@ -55129,17 +56044,17 @@ public: }; // Alignment: 3 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Aghsfort_Viper_Aghsfort_ViperStrike : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 - int32_t m_nTargetTeam; // 0x5a4 - float m_flNextViperStrikeTime; // 0x5a8 + ParticleIndex_t m_nFXIndex; // 0x5b0 + int32_t m_nTargetTeam; // 0x5b4 + float m_flNextViperStrikeTime; // 0x5b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_VoidSpiritBoss_Passive : public C_DOTABaseAbility { public: @@ -55147,60 +56062,60 @@ public: }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_AghsFort_VoidSpiritBoss_AetherRemnant : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXPreview; // 0x5a0 - int32_t start_radius; // 0x5a4 - int32_t end_radius; // 0x5a8 - int32_t remnant_watch_distance; // 0x5ac - int32_t projectile_speed; // 0x5b0 + ParticleIndex_t m_nFXPreview; // 0x5b0 + int32_t start_radius; // 0x5b4 + int32_t end_radius; // 0x5b8 + int32_t remnant_watch_distance; // 0x5bc + int32_t projectile_speed; // 0x5c0 }; // Alignment: 10 -// Size: 0x5e0 +// Size: 0x5f0 class CDOTA_Ability_AghsFort_VoidSpiritBoss_AstralStep : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXPreview; // 0x5a0 - ParticleIndex_t m_nFXDestinationPreview; // 0x5a4 - Vector m_vStartPos; // 0x5a8 - Vector m_vDestination; // 0x5b4 - Vector m_vDirection; // 0x5c0 - int32_t radius; // 0x5cc - int32_t min_travel_distance; // 0x5d0 - int32_t max_travel_distance; // 0x5d4 - float debuff_duration; // 0x5d8 - float pop_damage_delay; // 0x5dc + ParticleIndex_t m_nFXPreview; // 0x5b0 + ParticleIndex_t m_nFXDestinationPreview; // 0x5b4 + Vector m_vStartPos; // 0x5b8 + Vector m_vDestination; // 0x5c4 + Vector m_vDirection; // 0x5d0 + int32_t radius; // 0x5dc + int32_t min_travel_distance; // 0x5e0 + int32_t max_travel_distance; // 0x5e4 + float debuff_duration; // 0x5e8 + float pop_damage_delay; // 0x5ec }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_AghsFort_VoidSpiritBoss_Dissimilate : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXPreview; // 0x5a0 - float phase_duration; // 0x5a4 + ParticleIndex_t m_nFXPreview; // 0x5b0 + float phase_duration; // 0x5b4 }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_AghsFort_VoidSpiritBoss_ResonantPulse : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXPreview; // 0x5a0 - bool m_bGrantedScepterCharges; // 0x5a4 + ParticleIndex_t m_nFXPreview; // 0x5b0 + bool m_bGrantedScepterCharges; // 0x5b4 private: - [[maybe_unused]] uint8_t __pad05a5[0x3]; // 0x5a5 + [[maybe_unused]] uint8_t __pad05b5[0x3]; // 0x5b5 public: - float buff_duration; // 0x5a8 - int32_t base_absorb_amount; // 0x5ac - int32_t absorb_per_hero_hit; // 0x5b0 + float buff_duration; // 0x5b8 + int32_t base_absorb_amount; // 0x5bc + int32_t absorb_per_hero_hit; // 0x5c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Sniper_Shrapnel : public C_DOTABaseAbility { public: @@ -55208,7 +56123,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Sniper_Headshot : public C_DOTABaseAbility { public: @@ -55216,7 +56131,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_AghsFort_Ability_Sniper_TakeAim : public C_DOTABaseAbility { public: @@ -55224,26 +56139,26 @@ public: }; // Alignment: 9 -// Size: 0x5c0 +// Size: 0x5d0 class CDOTA_Ability_AghsFort_Sniper_Assassinate : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hTarget; // 0x5a0 - ParticleIndex_t m_iIndex; // 0x5a4 - bool m_bHasBuckshotAbility; // 0x5a8 - bool m_bInBuckshot; // 0x5a9 + CHandle< C_BaseEntity > m_hTarget; // 0x5b0 + ParticleIndex_t m_iIndex; // 0x5b4 + bool m_bHasBuckshotAbility; // 0x5b8 + bool m_bInBuckshot; // 0x5b9 private: - [[maybe_unused]] uint8_t __pad05aa[0x2]; // 0x5aa + [[maybe_unused]] uint8_t __pad05ba[0x2]; // 0x5ba public: - int32_t m_nScatterRange; // 0x5ac - int32_t m_nScatterWidth; // 0x5b0 - int32_t m_nBuckshotDamagePct; // 0x5b4 - int32_t m_nDamageType; // 0x5b8 - int32_t damage; // 0x5bc + int32_t m_nScatterRange; // 0x5bc + int32_t m_nScatterWidth; // 0x5c0 + int32_t m_nBuckshotDamagePct; // 0x5c4 + int32_t m_nDamageType; // 0x5c8 + int32_t damage; // 0x5cc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Sniper_Shrapnel_Bombs : public C_DOTABaseAbility { public: @@ -55251,7 +56166,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Sniper_Shrapnel_AttackSpeed : public C_DOTABaseAbility { public: @@ -55259,7 +56174,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Sniper_Shrapnel_MissChance : public C_DOTABaseAbility { public: @@ -55267,7 +56182,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Sniper_Shrapnel_MoveSpeed : public C_DOTABaseAbility { public: @@ -55275,7 +56190,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Sniper_Headshot_Crits : public C_DOTABaseAbility { public: @@ -55283,7 +56198,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Sniper_Headshot_Stuns : public C_DOTABaseAbility { public: @@ -55291,7 +56206,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_SelfPurge : public C_DOTABaseAbility { public: @@ -55299,7 +56214,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_Shrapnel : public C_DOTABaseAbility { public: @@ -55307,7 +56222,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_AOE : public C_DOTABaseAbility { public: @@ -55315,7 +56230,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_HopBackwards : public C_DOTABaseAbility { public: @@ -55323,7 +56238,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_ArmorReduction : public C_DOTABaseAbility { public: @@ -55331,7 +56246,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_RapidFire : public C_DOTABaseAbility { public: @@ -55339,7 +56254,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Sniper_Assassinate_Buckshot : public C_DOTABaseAbility { public: @@ -55347,7 +56262,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Sniper_Assassinate_OriginalScepter : public C_DOTABaseAbility { public: @@ -55355,7 +56270,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Sniper_Assassinate_Killshot : public C_DOTABaseAbility { public: @@ -55363,7 +56278,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Sniper_Assassinate_ConcussiveDummy : public C_DOTABaseAbility { public: @@ -55371,7 +56286,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Sniper_Headshot_Shotgun : public C_DOTABaseAbility { public: @@ -55379,15 +56294,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_AghsFort_Sniper_Concussive_Grenade : public C_DOTABaseAbility { public: - int32_t m_iProjectile; // 0x5a0 + int32_t m_iProjectile; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Sniper_Headshot_Assassinate : public C_DOTABaseAbility { public: @@ -55395,7 +56310,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Sniper_Headshot_ArmorReduction : public C_DOTABaseAbility { public: @@ -55403,7 +56318,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_EarthSpiritBoss_StoneCaller : public C_DOTABaseAbility { public: @@ -55411,75 +56326,75 @@ public: }; // Alignment: 12 -// Size: 0x5e8 +// Size: 0x5f8 class CDOTA_Ability_AghsFort_EarthSpiritBoss_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 + int32_t speed; // 0x5b0 + int32_t rock_damage; // 0x5b4 + int32_t radius; // 0x5b8 + int32_t rock_search_aoe; // 0x5bc + float unit_distance; // 0x5c0 + float rock_distance; // 0x5c4 + int32_t m_nProjectileID; // 0x5c8 + CHandle< C_BaseEntity > m_hCursorTarget; // 0x5cc + bool m_bUsedStone; // 0x5d0 private: - [[maybe_unused]] uint8_t __pad05c1[0x3]; // 0x5c1 + [[maybe_unused]] uint8_t __pad05d1[0x3]; // 0x5d1 public: - CHandle< C_BaseEntity > m_hTarget; // 0x5c4 - bool m_bTargetStone; // 0x5c8 + CHandle< C_BaseEntity > m_hTarget; // 0x5d4 + bool m_bTargetStone; // 0x5d8 private: - [[maybe_unused]] uint8_t __pad05c9[0x7]; // 0x5c9 + [[maybe_unused]] uint8_t __pad05d9[0x7]; // 0x5d9 public: - CUtlVector< CHandle< C_BaseEntity > > m_vecBoulderSmashedEnts; // 0x5d0 + CUtlVector< CHandle< C_BaseEntity > > m_vecBoulderSmashedEnts; // 0x5e0 }; // Alignment: 15 -// Size: 0x600 +// Size: 0x610 class CDOTA_Ability_AghsFort_EarthSpiritBoss_RollingBoulder : public C_DOTABaseAbility { public: - int32_t radius; // 0x5a0 - int32_t speed; // 0x5a4 - int32_t rock_speed; // 0x5a8 - int32_t damage; // 0x5ac - float distance; // 0x5b0 - float rock_distance; // 0x5b4 - float slow_duration; // 0x5b8 - ParticleIndex_t m_nFXIndex; // 0x5bc - bool m_boulderSetposBool; // 0x5c0 + int32_t radius; // 0x5b0 + int32_t speed; // 0x5b4 + int32_t rock_speed; // 0x5b8 + int32_t damage; // 0x5bc + float distance; // 0x5c0 + float rock_distance; // 0x5c4 + float slow_duration; // 0x5c8 + ParticleIndex_t m_nFXIndex; // 0x5cc + bool m_boulderSetposBool; // 0x5d0 private: - [[maybe_unused]] uint8_t __pad05c1[0x3]; // 0x5c1 + [[maybe_unused]] uint8_t __pad05d1[0x3]; // 0x5d1 public: - int32_t m_nProjectileID; // 0x5c4 - Vector m_vStartingLocation; // 0x5c8 - Vector m_vProjectileLocation; // 0x5d4 - Vector m_vDir; // 0x5e0 - Vector m_vVel; // 0x5ec - bool m_bUsedStone; // 0x5f8 + int32_t m_nProjectileID; // 0x5d4 + Vector m_vStartingLocation; // 0x5d8 + Vector m_vProjectileLocation; // 0x5e4 + Vector m_vDir; // 0x5f0 + Vector m_vVel; // 0x5fc + bool m_bUsedStone; // 0x608 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_AghsFort_EarthSpiritBoss_GeomagneticGrip : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hTarget; // 0x5a0 + CHandle< C_BaseEntity > m_hTarget; // 0x5b0 }; // Alignment: 3 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_AghsFort_EarthSpiritBoss_Magnetize : public C_DOTABaseAbility { public: - int32_t cast_radius; // 0x5a0 - int32_t rock_explosion_radius; // 0x5a4 - float damage_duration; // 0x5a8 + int32_t cast_radius; // 0x5b0 + int32_t rock_explosion_radius; // 0x5b4 + float damage_duration; // 0x5b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_EarthSpiritBoss_Petrify : public C_DOTABaseAbility { public: @@ -55487,7 +56402,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Omniknight_Purification_Cast_Radius : public C_DOTABaseAbility { public: @@ -55495,7 +56410,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Omniknight_Purification_Charges : public C_DOTABaseAbility { public: @@ -55503,7 +56418,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Omniknight_Purification_Cooldown_Reduction : public C_DOTABaseAbility { public: @@ -55511,7 +56426,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Omniknight_Purification_Multicast : public C_DOTABaseAbility { public: @@ -55519,7 +56434,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Omniknight_Purification : public C_DOTABaseAbility { public: @@ -55527,7 +56442,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Omniknight_Degen_Aura : public C_DOTABaseAbility { public: @@ -55535,7 +56450,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Omniknight_Repel : public C_DOTABaseAbility { public: @@ -55543,7 +56458,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Omniknight_GuardianAngel : public C_DOTABaseAbility { public: @@ -55551,7 +56466,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Procs_Purification : public C_DOTABaseAbility { public: @@ -55559,7 +56474,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Outgoing_Damage : public C_DOTABaseAbility { public: @@ -55567,7 +56482,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Applies_Degen_Aura : public C_DOTABaseAbility { public: @@ -55575,7 +56490,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Damage_Instance_Refraction : public C_DOTABaseAbility { public: @@ -55583,7 +56498,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Knockback_On_Cast : public C_DOTABaseAbility { public: @@ -55591,7 +56506,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Omniknight_Degen_Aura_Toggle : public C_DOTABaseAbility { public: @@ -55599,7 +56514,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Omniknight_Degen_Aura_Damage : public C_DOTABaseAbility { public: @@ -55607,7 +56522,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Omniknight_Degen_Aura_Restoration : public C_DOTABaseAbility { public: @@ -55615,7 +56530,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Omniknight_Guardian_Angel_Purification : public C_DOTABaseAbility { public: @@ -55623,7 +56538,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Omniknight_Guardian_Angel_Immune_Flight : public C_DOTABaseAbility { public: @@ -55631,7 +56546,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Omniknight_Guardian_Angel_Single_Target : public C_DOTABaseAbility { public: @@ -55639,7 +56554,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Omniknight_Guardian_Angel_Single_Target_Dummy : public C_DOTABaseAbility { public: @@ -55647,17 +56562,17 @@ public: }; // Alignment: 3 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Aghsfort_WitchDoctor_ParalyzingCask : public C_DOTABaseAbility { public: - int32_t bounces; // 0x5a0 - int32_t bounce_bonus_damage; // 0x5a4 - int32_t damage; // 0x5a8 + int32_t bounces; // 0x5b0 + int32_t bounce_bonus_damage; // 0x5b4 + int32_t damage; // 0x5b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_WitchDoctor_VoodooRestoration : public C_DOTABaseAbility { public: @@ -55665,7 +56580,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_WitchDoctor_Maledict : public C_DOTABaseAbility { public: @@ -55673,23 +56588,23 @@ public: }; // Alignment: 9 -// Size: 0x5d8 +// Size: 0x5e8 class C_DOTA_Ability_Aghsfort_WitchDoctor_DeathWard : public C_DOTABaseAbility { public: - int32_t m_iDamage; // 0x5a0 - int32_t m_iBounceRadius; // 0x5a4 - int32_t m_iProjectileSpeed; // 0x5a8 - int32_t m_iBounces; // 0x5ac - CHandle< C_BaseEntity > m_hWard; // 0x5b0 - GameTime_t m_fWardExpireTime; // 0x5b4 - ParticleIndex_t m_nFXIndex; // 0x5b8 - int32_t m_iAttackIndex; // 0x5bc - CUtlVector< sAghsfortWardBounceInfo > m_BounceInfo; // 0x5c0 + int32_t m_iDamage; // 0x5b0 + int32_t m_iBounceRadius; // 0x5b4 + int32_t m_iProjectileSpeed; // 0x5b8 + int32_t m_iBounces; // 0x5bc + CHandle< C_BaseEntity > m_hWard; // 0x5c0 + GameTime_t m_fWardExpireTime; // 0x5c4 + ParticleIndex_t m_nFXIndex; // 0x5c8 + int32_t m_iAttackIndex; // 0x5cc + CUtlVector< sAghsfortWardBounceInfo > m_BounceInfo; // 0x5d0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_ParalyzingCask_Multicask : public C_DOTABaseAbility { public: @@ -55697,7 +56612,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_ParalyzingCask_Applies_Maledict : public C_DOTABaseAbility { public: @@ -55705,7 +56620,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_ParalyzingCask_AoE_Damage : public C_DOTABaseAbility { public: @@ -55713,7 +56628,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_ParalyzingCask_Attack_Procs : public C_DOTABaseAbility { public: @@ -55721,7 +56636,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_Ground_Curse : public C_DOTABaseAbility { public: @@ -55729,7 +56644,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_AoE_Procs : public C_DOTABaseAbility { public: @@ -55737,7 +56652,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_Death_Restoration : public C_DOTABaseAbility { public: @@ -55745,7 +56660,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_Affects_Allies : public C_DOTABaseAbility { public: @@ -55753,7 +56668,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_Infectious : public C_DOTABaseAbility { public: @@ -55761,7 +56676,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Voodoo_Restoration_Enemy_Damage : public C_DOTABaseAbility { public: @@ -55769,7 +56684,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Voodoo_Restoration_Lifesteal : public C_DOTABaseAbility { public: @@ -55777,7 +56692,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Voodoo_Restoration_Damage_Amp : public C_DOTABaseAbility { public: @@ -55785,7 +56700,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Voodoo_Restoration_Mana_Restore : public C_DOTABaseAbility { public: @@ -55793,7 +56708,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Death_Ward_No_Channel : public C_DOTABaseAbility { public: @@ -55801,7 +56716,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Death_Ward_Splitshot : public C_DOTABaseAbility { public: @@ -55809,7 +56724,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Death_Ward_Damage_Resist : public C_DOTABaseAbility { public: @@ -55817,7 +56732,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Death_Ward_Bounce : public C_DOTABaseAbility { public: @@ -55825,23 +56740,23 @@ public: }; // Alignment: 9 -// Size: 0x5d8 +// Size: 0x5e8 class C_DOTA_Ability_Aghsfort_WitchDoctor_DeathWard_No_Channel : public C_DOTABaseAbility { public: - int32_t m_iDamage; // 0x5a0 - int32_t m_iBounceRadius; // 0x5a4 - int32_t m_iProjectileSpeed; // 0x5a8 - int32_t m_iBounces; // 0x5ac - CHandle< C_BaseEntity > m_hWard; // 0x5b0 - float m_fWardExpireTime; // 0x5b4 - ParticleIndex_t m_nFXIndex; // 0x5b8 - int32_t m_iAttackIndex; // 0x5bc - CUtlVector< sAghsfortWardBounceInfo > m_BounceInfo; // 0x5c0 + int32_t m_iDamage; // 0x5b0 + int32_t m_iBounceRadius; // 0x5b4 + int32_t m_iProjectileSpeed; // 0x5b8 + int32_t m_iBounces; // 0x5bc + CHandle< C_BaseEntity > m_hWard; // 0x5c0 + float m_fWardExpireTime; // 0x5c4 + ParticleIndex_t m_nFXIndex; // 0x5c8 + int32_t m_iAttackIndex; // 0x5cc + CUtlVector< sAghsfortWardBounceInfo > m_BounceInfo; // 0x5d0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_TemplarAssassin_PsionicTrap : public C_DOTABaseAbility { public: @@ -55849,7 +56764,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_TemplarAssassin_Refraction : public C_DOTABaseAbility { public: @@ -55857,7 +56772,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_TemplarAssassin_Meld : public C_DOTABaseAbility { public: @@ -55865,7 +56780,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_TemplarAssassin_PsiBlades : public C_DOTABaseAbility { public: @@ -55873,7 +56788,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_TemplarAssassin_Refraction_Holdout : public C_DOTABaseAbility { public: @@ -55881,7 +56796,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Refraction_Allies : public C_DOTABaseAbility { public: @@ -55889,7 +56804,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Refraction_KillRefresh : public C_DOTABaseAbility { public: @@ -55897,7 +56812,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Refraction_Counter_Attack : public C_DOTABaseAbility { public: @@ -55905,7 +56820,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Refraction_Detonate_Trap : public C_DOTABaseAbility { public: @@ -55913,7 +56828,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Psionic_Trap_Area_Attack : public C_DOTABaseAbility { public: @@ -55921,7 +56836,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Meld_Attack_On_Activation : public C_DOTABaseAbility { public: @@ -55929,7 +56844,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Meld_Teleport : public C_DOTABaseAbility { public: @@ -55937,7 +56852,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Meld_Refraction_On_Kill : public C_DOTABaseAbility { public: @@ -55945,7 +56860,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_PsiBlades_Trap : public C_DOTABaseAbility { public: @@ -55953,7 +56868,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_PsiBlades_Splash : public C_DOTABaseAbility { public: @@ -55961,7 +56876,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Psionic_Trap_Damage_Heals : public C_DOTABaseAbility { public: @@ -55969,7 +56884,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Psionic_Trap_MultiPulse : public C_DOTABaseAbility { public: @@ -55977,7 +56892,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_PsiBlades_AutoAttack : public C_DOTABaseAbility { public: @@ -55985,7 +56900,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Slark_DarkPact : public C_DOTABaseAbility { public: @@ -55993,7 +56908,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Slark_Pounce : public C_DOTABaseAbility { public: @@ -56001,7 +56916,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Slark_EssenceShift : public C_DOTABaseAbility { public: @@ -56009,7 +56924,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Slark_ShadowDance : public C_DOTABaseAbility { public: @@ -56017,7 +56932,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Slark_Dark_Pact_Essence_Shift : public C_DOTABaseAbility { public: @@ -56025,7 +56940,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Slark_Dark_Pact_Push_Stun : public C_DOTABaseAbility { public: @@ -56033,7 +56948,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Slark_Dark_Pact_Dispells_Allies : public C_DOTABaseAbility { public: @@ -56041,7 +56956,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Slark_Dark_Pact_Unit_Target : public C_DOTABaseAbility { public: @@ -56049,7 +56964,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Slark_Pounce_Attack_All : public C_DOTABaseAbility { public: @@ -56057,7 +56972,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Slark_Pounce_Pounce_Projectiles : public C_DOTABaseAbility { public: @@ -56065,7 +56980,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Slark_Pounce_Leashed_Bonus : public C_DOTABaseAbility { public: @@ -56073,7 +56988,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Slark_Essence_Shift_AoE_Attack : public C_DOTABaseAbility { public: @@ -56081,7 +56996,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Slark_Essence_Shift_Leash_Chance : public C_DOTABaseAbility { public: @@ -56089,7 +57004,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Slark_Essence_Shift_Allied_Buff : public C_DOTABaseAbility { public: @@ -56097,7 +57012,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Slark_Shadow_Dance_Essence_Shift_Bonus : public C_DOTABaseAbility { public: @@ -56105,7 +57020,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Slark_Shadow_Dance_Dark_Pact_Pulses : public C_DOTABaseAbility { public: @@ -56113,7 +57028,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Slark_Shadow_Dance_Leash : public C_DOTABaseAbility { public: @@ -56121,23 +57036,23 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_AghsFort_QueenOfPain_ScreamOfPain : public C_DOTABaseAbility { public: - int32_t damage; // 0x5a0 + int32_t damage; // 0x5b0 }; // Alignment: 1 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_AghsFort_QueenOfPain_ShadowStrike : public C_DOTABaseAbility { public: - Vector projectile_speed; // 0x5a0 + Vector projectile_speed; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_QueenOfPain_Blink : public C_DOTABaseAbility { public: @@ -56145,26 +57060,26 @@ public: }; // Alignment: 9 -// Size: 0x5d8 +// Size: 0x5e8 class C_DOTA_Ability_AghsFort_QueenOfPain_SonicWave : public C_DOTABaseAbility { public: - GameTime_t m_fStartTime; // 0x5a0 - float m_fTotalTime; // 0x5a4 - ParticleIndex_t m_nFXIndex; // 0x5a8 - int32_t m_nSonicTrailRadius; // 0x5ac - Vector m_vLastTrailThinkerLocation; // 0x5b0 - bool bTrailStartedBurning; // 0x5bc + GameTime_t m_fStartTime; // 0x5b0 + float m_fTotalTime; // 0x5b4 + ParticleIndex_t m_nFXIndex; // 0x5b8 + int32_t m_nSonicTrailRadius; // 0x5bc + Vector m_vLastTrailThinkerLocation; // 0x5c0 + bool bTrailStartedBurning; // 0x5cc private: - [[maybe_unused]] uint8_t __pad05bd[0x3]; // 0x5bd + [[maybe_unused]] uint8_t __pad05cd[0x3]; // 0x5cd public: - int32_t damage; // 0x5c0 - int32_t starting_aoe; // 0x5c4 - int32_t final_aoe; // 0x5c8 + int32_t damage; // 0x5d0 + int32_t starting_aoe; // 0x5d4 + int32_t final_aoe; // 0x5d8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ShadowStrike_On_Attack : public C_DOTABaseAbility { public: @@ -56172,7 +57087,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_Blink_Generates_Scream : public C_DOTABaseAbility { public: @@ -56180,7 +57095,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_Blink_Attack_Speed : public C_DOTABaseAbility { public: @@ -56188,7 +57103,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_Sonic_Wave_Trail : public C_DOTABaseAbility { public: @@ -56196,7 +57111,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ShadowStrike_Chain : public C_DOTABaseAbility { public: @@ -56204,7 +57119,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ShadowStrike_Scream : public C_DOTABaseAbility { public: @@ -56212,7 +57127,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ScreamOfPain_Resets_Blink : public C_DOTABaseAbility { public: @@ -56220,7 +57135,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ScreamOfPain_Restores_Caster : public C_DOTABaseAbility { public: @@ -56228,7 +57143,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ScreamOfPain_Knockback : public C_DOTABaseAbility { public: @@ -56236,7 +57151,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ScreamOfPain_Stun : public C_DOTABaseAbility { public: @@ -56244,7 +57159,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_Sonic_Wave_Circle : public C_DOTABaseAbility { public: @@ -56252,7 +57167,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_Sonic_Wave_Attack_Buff : public C_DOTABaseAbility { public: @@ -56260,7 +57175,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_Blink_Shadow_Strike : public C_DOTABaseAbility { public: @@ -56268,7 +57183,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_TuskBoss_IceShards_Stop : public C_DOTABaseAbility { public: @@ -56276,60 +57191,60 @@ public: }; // Alignment: 10 -// Size: 0x5d8 +// Size: 0x5e8 class C_DOTA_Ability_Aghsfort_TuskBoss_IceShards : public C_DOTABaseAbility { public: - int32_t m_iProjectile; // 0x5a0 - int32_t shard_width; // 0x5a4 - int32_t shard_damage; // 0x5a8 - int32_t shard_count; // 0x5ac - float shard_speed; // 0x5b0 - float shard_duration; // 0x5b4 - float shard_angle_step; // 0x5b8 - int32_t shard_distance; // 0x5bc - Vector m_vSpawnOrigin; // 0x5c0 - Vector m_vDirection; // 0x5cc + int32_t m_iProjectile; // 0x5b0 + int32_t shard_width; // 0x5b4 + int32_t shard_damage; // 0x5b8 + int32_t shard_count; // 0x5bc + float shard_speed; // 0x5c0 + float shard_duration; // 0x5c4 + float shard_angle_step; // 0x5c8 + int32_t shard_distance; // 0x5cc + Vector m_vSpawnOrigin; // 0x5d0 + Vector m_vDirection; // 0x5dc }; // Alignment: 20 -// Size: 0x620 +// Size: 0x630 class C_DOTA_Ability_Aghsfort_TuskBoss_Snowball : public C_DOTABaseAbility { public: - int32_t snowball_windup_radius; // 0x5a0 - int32_t snowball_radius; // 0x5a4 - int32_t snowball_grow_rate; // 0x5a8 - int32_t snowball_damage; // 0x5ac - int32_t snowball_damage_bonus; // 0x5b0 - float stun_duration; // 0x5b4 - int32_t bonus_damage; // 0x5b8 - float bonus_stun; // 0x5bc - int32_t snowball_speed; // 0x5c0 - float snowball_duration; // 0x5c4 - Vector m_vProjectileLocation; // 0x5c8 + int32_t snowball_windup_radius; // 0x5b0 + int32_t snowball_radius; // 0x5b4 + int32_t snowball_grow_rate; // 0x5b8 + int32_t snowball_damage; // 0x5bc + int32_t snowball_damage_bonus; // 0x5c0 + float stun_duration; // 0x5c4 + int32_t bonus_damage; // 0x5c8 + float bonus_stun; // 0x5cc + int32_t snowball_speed; // 0x5d0 + float snowball_duration; // 0x5d4 + Vector m_vProjectileLocation; // 0x5d8 private: - [[maybe_unused]] uint8_t __pad05d4[0x4]; // 0x5d4 + [[maybe_unused]] uint8_t __pad05e4[0x4]; // 0x5e4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hSnowballedUnits; // 0x5d8 - ParticleIndex_t m_nFXIndex; // 0x5f0 + CUtlVector< CHandle< C_BaseEntity > > m_hSnowballedUnits; // 0x5e8 + ParticleIndex_t m_nFXIndex; // 0x600 private: - [[maybe_unused]] uint8_t __pad05f4[0x4]; // 0x5f4 + [[maybe_unused]] uint8_t __pad0604[0x4]; // 0x604 public: - CountdownTimer ctSnowball; // 0x5f8 - bool m_bSpeakAlly; // 0x610 - bool m_bIsExpired; // 0x611 - bool m_bInWindup; // 0x612 + CountdownTimer ctSnowball; // 0x608 + bool m_bSpeakAlly; // 0x620 + bool m_bIsExpired; // 0x621 + bool m_bInWindup; // 0x622 private: - [[maybe_unused]] uint8_t __pad0613[0x1]; // 0x613 + [[maybe_unused]] uint8_t __pad0623[0x1]; // 0x623 public: - CHandle< C_BaseEntity > m_hPrimaryTarget; // 0x614 - int32_t m_nContainedValidUnits; // 0x618 - bool m_bEndingSnowball; // 0x61c + CHandle< C_BaseEntity > m_hPrimaryTarget; // 0x624 + int32_t m_nContainedValidUnits; // 0x628 + bool m_bEndingSnowball; // 0x62c }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_aghsfort_tusk_boss_Launch_Snowball : public C_DOTABaseAbility { public: @@ -56337,7 +57252,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_TuskBoss_WalrusPunch : public C_DOTABaseAbility { public: @@ -56345,7 +57260,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_TuskBoss_Tag_Team : public C_DOTABaseAbility { public: @@ -56353,7 +57268,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_TuskBoss_IceShards_Circle : public C_DOTABaseAbility { public: @@ -56361,7 +57276,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_TuskBoss_IceShards_Explode : public C_DOTABaseAbility { public: @@ -56369,7 +57284,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_TuskBoss_IceShards_Stun : public C_DOTABaseAbility { public: @@ -56377,7 +57292,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_TuskBoss_IceShards_Secondary : public C_DOTABaseAbility { public: @@ -56385,7 +57300,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_TuskBoss_Snowball_Heal : public C_DOTABaseAbility { public: @@ -56393,7 +57308,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_TuskBoss_Snowball_End_Damage : public C_DOTABaseAbility { public: @@ -56401,7 +57316,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_TuskBoss_Snowball_Global : public C_DOTABaseAbility { public: @@ -56409,7 +57324,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_TuskBoss_TagTeam_Lifesteal : public C_DOTABaseAbility { public: @@ -56417,7 +57332,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_TuskBoss_TagTeam_Toggle : public C_DOTABaseAbility { public: @@ -56425,7 +57340,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_TuskBoss_TagTeam_Global : public C_DOTABaseAbility { public: @@ -56433,7 +57348,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_TuskBoss_Walrus_Punch_Reset : public C_DOTABaseAbility { public: @@ -56441,7 +57356,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_TuskBoss_Walrus_Punch_Land_Damage : public C_DOTABaseAbility { public: @@ -56449,7 +57364,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_TuskBoss_Walrus_Punch_Wallop : public C_DOTABaseAbility { public: @@ -56457,42 +57372,42 @@ public: }; // Alignment: 3 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_AghsFort_Ability_Undying_Tombstone : public C_DOTABaseAbility { public: - CUtlVector< CHandle< C_BaseEntity > > m_vZombies; // 0x5a0 - CHandle< C_BaseEntity > hTombstone; // 0x5b8 - float duration; // 0x5bc + CUtlVector< CHandle< C_BaseEntity > > m_vZombies; // 0x5b0 + CHandle< C_BaseEntity > hTombstone; // 0x5c8 + float duration; // 0x5cc }; // Alignment: 6 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_AghsFort_Ability_Undying_Decay : public C_DOTABaseAbility { public: - int32_t decay_damage; // 0x5a0 - int32_t radius; // 0x5a4 - float decay_duration; // 0x5a8 - float str_steal; // 0x5ac - float str_steal_captain_mult; // 0x5b0 - float str_steal_boss_mult; // 0x5b4 + int32_t decay_damage; // 0x5b0 + int32_t radius; // 0x5b4 + float decay_duration; // 0x5b8 + float str_steal; // 0x5bc + float str_steal_captain_mult; // 0x5c0 + float str_steal_boss_mult; // 0x5c4 }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_AghsFort_Ability_Undying_SoulRip : public C_DOTABaseAbility { public: - int32_t damage_per_unit; // 0x5a0 - int32_t radius; // 0x5a4 - int32_t max_units; // 0x5a8 - int32_t tombstone_heal; // 0x5ac - int32_t damage_bonus_percent; // 0x5b0 + int32_t damage_per_unit; // 0x5b0 + int32_t radius; // 0x5b4 + int32_t max_units; // 0x5b8 + int32_t tombstone_heal; // 0x5bc + int32_t damage_bonus_percent; // 0x5c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_AghsFort_Ability_Undying_Tombstone_Zombie_DeathStrike : public C_DOTABaseAbility { public: @@ -56500,7 +57415,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Special_Undying_ConsumeZombies : public C_DOTABaseAbility { public: @@ -56508,7 +57423,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_AghsFort_Ability_Undying_FleshGolem : public C_DOTABaseAbility { public: @@ -56516,7 +57431,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Aghsfort_Ability_Special_Bonus_Unique_Undying_TombstoneOnDeath : public C_DOTABaseAbility { public: @@ -56524,7 +57439,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Undying_Decay_Spawn_Zombies : public C_DOTABaseAbility { public: @@ -56532,7 +57447,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Undying_Decay_On_Attack : public C_DOTABaseAbility { public: @@ -56540,7 +57455,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Undying_Decay_Reverberation : public C_DOTABaseAbility { public: @@ -56548,7 +57463,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Aghsfort_Ability_Special_Bonus_Unique_Undying_SoulRip_Charges : public C_DOTABaseAbility { public: @@ -56556,7 +57471,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Undying_SoulRip_Spawn_Zombies : public C_DOTABaseAbility { public: @@ -56564,7 +57479,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Undying_SoulRip_Share_Strength : public C_DOTABaseAbility { public: @@ -56572,7 +57487,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Undying_SoulRip_Ward : public C_DOTABaseAbility { public: @@ -56580,7 +57495,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Undying_Tombstone_Exploding_Zombies : public C_DOTABaseAbility { public: @@ -56588,7 +57503,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Undying_Tombstone_Bunker : public C_DOTABaseAbility { public: @@ -56596,7 +57511,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Undying_FleshGolem_SpawnZombies : public C_DOTABaseAbility { public: @@ -56604,7 +57519,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Undying_FleshGolem_HealOnEnemyDeath : public C_DOTABaseAbility { public: @@ -56612,7 +57527,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Undying_FleshGolem_Smash : public C_DOTABaseAbility { public: @@ -56620,7 +57535,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Undying_ConsumeZombies_Dummy : public C_DOTABaseAbility { public: @@ -56628,7 +57543,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Lina_LightStrikeArray : public C_DOTABaseAbility { public: @@ -56636,37 +57551,37 @@ public: }; // Alignment: 6 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_Aghsfort_Lina_DragonSlave : public C_DOTABaseAbility { public: - int32_t dragon_slave_distance; // 0x5a0 - Vector m_vLastTrailThinkerLocation; // 0x5a4 - int32_t dragon_slave_damage; // 0x5b0 - float m_flLSADistance; // 0x5b4 - int32_t m_nLSAPower; // 0x5b8 - float m_flLSADelay; // 0x5bc + int32_t dragon_slave_distance; // 0x5b0 + Vector m_vLastTrailThinkerLocation; // 0x5b4 + int32_t dragon_slave_damage; // 0x5c0 + float m_flLSADistance; // 0x5c4 + int32_t m_nLSAPower; // 0x5c8 + float m_flLSADelay; // 0x5cc }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Aghsfort_Lina_FierySoul : public C_DOTABaseAbility { public: - float active_duration; // 0x5a0 + float active_duration; // 0x5b0 }; // Alignment: 2 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_Aghsfort_Lina_LagunaBlade : public C_DOTABaseAbility { public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x5a0 - int32_t m_nMaxBounces; // 0x5b8 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x5b0 + int32_t m_nMaxBounces; // 0x5c8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lina_DragonSlave_LSA_Trail : public C_DOTABaseAbility { public: @@ -56674,7 +57589,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lina_DragonSlave_Triwave : public C_DOTABaseAbility { public: @@ -56682,7 +57597,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lina_DragonSlave_Ignite : public C_DOTABaseAbility { public: @@ -56690,7 +57605,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lina_LightStrikeArray_Pulsate : public C_DOTABaseAbility { public: @@ -56698,7 +57613,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lina_LightStrikeArray_Attacks : public C_DOTABaseAbility { public: @@ -56706,7 +57621,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lina_LightStrikeArray_Vacuum : public C_DOTABaseAbility { public: @@ -56714,7 +57629,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_Multishot : public C_DOTABaseAbility { public: @@ -56722,7 +57637,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_DragonSlave_On_Cast : public C_DOTABaseAbility { public: @@ -56730,7 +57645,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_Mini_Lagunas : public C_DOTABaseAbility { public: @@ -56738,7 +57653,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_LSA_Attacks : public C_DOTABaseAbility { public: @@ -56746,7 +57661,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_Ally_Cast : public C_DOTABaseAbility { public: @@ -56754,7 +57669,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lina_Laguna_Blade_Bounce : public C_DOTABaseAbility { public: @@ -56762,7 +57677,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lina_Laguna_Blade_LSA : public C_DOTABaseAbility { public: @@ -56770,7 +57685,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lina_Laguna_Blade_Channel : public C_DOTABaseAbility { public: @@ -56778,7 +57693,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lina_Laguna_Blade_Line : public C_DOTABaseAbility { public: @@ -56786,7 +57701,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lina_Dragon_Slave_Booster : public C_DOTABaseAbility { public: @@ -56794,7 +57709,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_AghsFort_Ability_Juggernaut_BladeFury : public C_DOTABaseAbility { public: @@ -56802,7 +57717,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Juggernaut_HealingWard : public C_DOTABaseAbility { public: @@ -56810,7 +57725,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Juggernaut_ZenWard : public C_DOTABaseAbility { public: @@ -56818,15 +57733,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_AghsFort_Juggernaut_BladeDance : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hBladeFuryThinker; // 0x5a0 + CHandle< C_BaseEntity > m_hBladeFuryThinker; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Juggernaut_Omnislash : public C_DOTABaseAbility { public: @@ -56834,7 +57749,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Fury_Sparks : public C_DOTABaseAbility { public: @@ -56842,7 +57757,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Fury_Force : public C_DOTABaseAbility { public: @@ -56850,7 +57765,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Fury_Shared : public C_DOTABaseAbility { public: @@ -56858,7 +57773,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Fury_Lifesteal_Hit : public C_DOTABaseAbility { public: @@ -56866,7 +57781,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Healing_Ward_Blade_Fury : public C_DOTABaseAbility { public: @@ -56874,7 +57789,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Healing_Ward_Crit : public C_DOTABaseAbility { public: @@ -56882,7 +57797,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Healing_Ward_Detonate : public C_DOTABaseAbility { public: @@ -56890,7 +57805,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Cooldown : public C_DOTABaseAbility { public: @@ -56898,7 +57813,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Buff : public C_DOTABaseAbility { public: @@ -56906,7 +57821,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Launches_Blade_Fury : public C_DOTABaseAbility { public: @@ -56914,7 +57829,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Shared : public C_DOTABaseAbility { public: @@ -56922,7 +57837,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Teleport : public C_DOTABaseAbility { public: @@ -56930,7 +57845,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Range : public C_DOTABaseAbility { public: @@ -56938,7 +57853,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Illusion : public C_DOTABaseAbility { public: @@ -56946,7 +57861,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Crit_Extend : public C_DOTABaseAbility { public: @@ -56954,7 +57869,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Shared : public C_DOTABaseAbility { public: @@ -56962,7 +57877,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Spin : public C_DOTABaseAbility { public: @@ -56970,7 +57885,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Ignite : public C_DOTABaseAbility { public: @@ -56978,7 +57893,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Zen_Ward : public C_DOTABaseAbility { public: @@ -56986,7 +57901,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort2_DrowRanger_FrostArrows : public C_DOTABaseAbility { public: @@ -56994,28 +57909,28 @@ public: }; // Alignment: 6 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Aghsfort2_DrowRanger_WaveOfSilence : public C_DOTABaseAbility { public: - int32_t wave_length; // 0x5a0 - int32_t wave_width; // 0x5a4 - float wave_speed; // 0x5a8 - float silence_duration; // 0x5ac - float knockback_distance_max; // 0x5b0 - float knockback_duration; // 0x5b4 + int32_t wave_length; // 0x5b0 + int32_t wave_width; // 0x5b4 + float wave_speed; // 0x5b8 + float silence_duration; // 0x5bc + float knockback_distance_max; // 0x5c0 + float knockback_duration; // 0x5c4 }; // Alignment: 1 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Aghsfort2_DrowRanger_Multishot : public C_DOTABaseAbility { public: - CUtlVector< CUtlVector< CHandle< C_BaseEntity > > > m_vHitTargets; // 0x5a0 + CUtlVector< CUtlVector< CHandle< C_BaseEntity > > > m_vHitTargets; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort2_DrowRanger_Marksmanship : public C_DOTABaseAbility { public: @@ -57023,7 +57938,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort2_Talent_DrowRanger_WaveOfSilence_Blind : public C_DOTABaseAbility { public: @@ -57031,7 +57946,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort2_Talent_DrowRanger_Multishot_Range : public C_DOTABaseAbility { public: @@ -57039,7 +57954,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort2_Talent_DrowRanger_Marksmanship_Attack_Count : public C_DOTABaseAbility { public: @@ -57047,7 +57962,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_FrostArrows_Split : public C_DOTABaseAbility { public: @@ -57055,7 +57970,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_FrostArrows_MoveDamage : public C_DOTABaseAbility { public: @@ -57063,7 +57978,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_FrostArrows_Wave : public C_DOTABaseAbility { public: @@ -57071,7 +57986,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_WaveOfSilence_Echo : public C_DOTABaseAbility { public: @@ -57079,7 +57994,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_WaveOfSilence_Movement : public C_DOTABaseAbility { public: @@ -57087,7 +58002,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_WaveOfSilence_Cooldown : public C_DOTABaseAbility { public: @@ -57095,7 +58010,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_WaveOfSilence_Frost : public C_DOTABaseAbility { public: @@ -57103,7 +58018,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_Multishot_Move : public C_DOTABaseAbility { public: @@ -57111,7 +58026,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_Multishot_SideLine : public C_DOTABaseAbility { public: @@ -57119,7 +58034,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_Multishot_Refire : public C_DOTABaseAbility { public: @@ -57127,7 +58042,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_Multishot_Buff : public C_DOTABaseAbility { public: @@ -57135,7 +58050,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_Marksmanship_WaveOfSilence : public C_DOTABaseAbility { public: @@ -57143,7 +58058,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_Marksmanship_AoE : public C_DOTABaseAbility { public: @@ -57151,7 +58066,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Luna_LucentBeam : public C_DOTABaseAbility { public: @@ -57159,7 +58074,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Luna_MoonGlaive : public C_DOTABaseAbility { public: @@ -57167,7 +58082,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Luna_LunarBlessing : public C_DOTABaseAbility { public: @@ -57175,7 +58090,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Luna_Lunar_Grace : public C_DOTABaseAbility { public: @@ -57183,7 +58098,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Luna_Eclipse : public C_DOTABaseAbility { public: @@ -57191,7 +58106,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Luna_LucentBeam_Bloodmoon : public C_DOTABaseAbility { public: @@ -57199,7 +58114,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Luna_LucentBeam_Diffusion : public C_DOTABaseAbility { public: @@ -57207,7 +58122,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Luna_LucentBeam_Moonglow : public C_DOTABaseAbility { public: @@ -57215,7 +58130,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Luna_LunarBlessing_MoonMark : public C_DOTABaseAbility { public: @@ -57223,7 +58138,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Luna_LunarBlessing_LunarRemnant : public C_DOTABaseAbility { public: @@ -57231,7 +58146,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Luna_MoonGlaive_AllyBounce : public C_DOTABaseAbility { public: @@ -57239,7 +58154,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Luna_MoonGlaive_DoubleMoon : public C_DOTABaseAbility { public: @@ -57247,7 +58162,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Luna_MoonGlaive_Knockback : public C_DOTABaseAbility { public: @@ -57255,7 +58170,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Luna_LunarBlessing_MoonShield : public C_DOTABaseAbility { public: @@ -57263,7 +58178,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Luna_LunarBlessing_Moonfright : public C_DOTABaseAbility { public: @@ -57271,7 +58186,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Luna_LunarBlessing_LunarPower : public C_DOTABaseAbility { public: @@ -57279,7 +58194,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Luna_Eclipse_Moonstruck : public C_DOTABaseAbility { public: @@ -57287,7 +58202,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Luna_Eclipse_LunarCycle : public C_DOTABaseAbility { public: @@ -57295,7 +58210,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Luna_Eclipse_LunarFavor : public C_DOTABaseAbility { public: @@ -57303,7 +58218,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Luna_Eclipse_LunarFocus : public C_DOTABaseAbility { public: @@ -57311,7 +58226,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Luna_LucentBeam_Glaives : public C_DOTABaseAbility { public: @@ -57319,7 +58234,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Luna_Glaives_MoonWell : public C_DOTABaseAbility { public: @@ -57327,7 +58242,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Eclispe_Hide : public C_DOTABaseAbility { public: @@ -57335,7 +58250,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Luna_LunarBlessing_Leap : public C_DOTABaseAbility { public: @@ -57343,15 +58258,15 @@ public: }; // Alignment: 1 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_AghsFort_Luna_GlaiveShield : public C_DOTABaseAbility { public: - CUtlVector< sGlaiveDef > m_GlaiveDefs; // 0x5a0 + CUtlVector< sGlaiveDef > m_GlaiveDefs; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Lich_FrostNova : public C_DOTABaseAbility { public: @@ -57359,27 +58274,27 @@ public: }; // Alignment: 3 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_AghsFort_Lich_Sinister_Gaze : public C_DOTABaseAbility { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hShackleTarget; // 0x5a0 - Vector m_vPullLocation; // 0x5a4 - float m_flIntervalRate; // 0x5b0 + CHandle< C_BaseEntity > m_hShackleTarget; // 0x5b0 + Vector m_vPullLocation; // 0x5b4 + float m_flIntervalRate; // 0x5c0 }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_AghsFort_Lich_Ice_Spire : public C_DOTABaseAbility { public: - int32_t aura_radius; // 0x5a0 - float duration; // 0x5a4 + int32_t aura_radius; // 0x5b0 + float duration; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Lich_FrostShield : public C_DOTABaseAbility { public: @@ -57387,19 +58302,19 @@ public: }; // Alignment: 5 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_AghsFort_Lich_ChainFrost : public C_DOTABaseAbility { public: - int32_t jump_range; // 0x5a0 - int32_t jumps; // 0x5a4 - float slow_duration; // 0x5a8 - int32_t vision_radius; // 0x5ac - int32_t projectile_speed; // 0x5b0 + int32_t jump_range; // 0x5b0 + int32_t jumps; // 0x5b4 + float slow_duration; // 0x5b8 + int32_t vision_radius; // 0x5bc + int32_t projectile_speed; // 0x5c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Nova_Root_Disarm : public C_DOTABaseAbility { public: @@ -57407,7 +58322,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Nova_Applies_Frost_Shield : public C_DOTABaseAbility { public: @@ -57415,7 +58330,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Nova_Execute_Refund : public C_DOTABaseAbility { public: @@ -57423,7 +58338,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Nova_AOE_Attacks : public C_DOTABaseAbility { public: @@ -57431,7 +58346,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Shield_Magic_Resist_Debuff_And_Stun : public C_DOTABaseAbility { public: @@ -57439,7 +58354,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Shield_Heal : public C_DOTABaseAbility { public: @@ -57447,7 +58362,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Shield_Frost_Giant : public C_DOTABaseAbility { public: @@ -57455,7 +58370,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Shield_Dispels : public C_DOTABaseAbility { public: @@ -57463,7 +58378,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lich_Sinister_Gaze_Spawns_Ice_Spire : public C_DOTABaseAbility { public: @@ -57471,7 +58386,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lich_Sinister_Gaze_Drains_Life : public C_DOTABaseAbility { public: @@ -57479,7 +58394,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lich_Sinister_Gaze_Raises_Skeletons : public C_DOTABaseAbility { public: @@ -57487,7 +58402,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lich_Chain_Frost_Split : public C_DOTABaseAbility { public: @@ -57495,7 +58410,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lich_Chain_Frost_Applies_Frost_Shield : public C_DOTABaseAbility { public: @@ -57503,7 +58418,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Lich_Chain_Frost_Applies_Frost_Nova : public C_DOTABaseAbility { public: @@ -57511,7 +58426,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Aghsfort_Lich_Extra_Chain_Frost_Jumps : public C_DOTABaseAbility { public: @@ -57519,15 +58434,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_AghsFort_Kunkka_Torrent : public C_DOTABaseAbility { public: - int32_t torrent_storm_chance; // 0x5a0 + int32_t torrent_storm_chance; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Kunkka_Torrent_Storm : public C_DOTABaseAbility { public: @@ -57535,7 +58450,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Kunkka_Tidebringer : public C_DOTABaseAbility { public: @@ -57543,15 +58458,15 @@ public: }; // Alignment: 1 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_AghsFort_Kunkka_XMarksTheSpot : public C_DOTABaseAbility { public: - CUtlVector< CHandle< C_BaseEntity > > m_hThinkerEntities; // 0x5a0 + CUtlVector< CHandle< C_BaseEntity > > m_hThinkerEntities; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Kunkka_Return : public C_DOTABaseAbility { public: @@ -57559,20 +58474,20 @@ public: }; // Alignment: 6 -// Size: 0x5d0 +// Size: 0x5e0 class C_DOTA_Ability_AghsFort_Kunkka_GhostShip : public C_DOTABaseAbility { public: - float buff_duration; // 0x5a0 - float stun_duration; // 0x5a4 - int32_t ghostship_width; // 0x5a8 - int32_t ghostship_width_scepter; // 0x5ac - Vector m_vFinalDestination; // 0x5b0 - Vector m_vStartingPoint; // 0x5bc + float buff_duration; // 0x5b0 + float stun_duration; // 0x5b4 + int32_t ghostship_width; // 0x5b8 + int32_t ghostship_width_scepter; // 0x5bc + Vector m_vFinalDestination; // 0x5c0 + Vector m_vStartingPoint; // 0x5cc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Kunkka_Ghost_Ship_Fire_Cannons : public C_DOTABaseAbility { public: @@ -57580,15 +58495,15 @@ public: }; // Alignment: 1 -// Size: 0x608 +// Size: 0x618 class C_DOTA_Ability_AghsFort_Kunkka_Tidal_Wave : public C_DOTABaseAbility { public: - WaveData_t m_WaveData[2]; // 0x5a0 + WaveData_t m_WaveData[2]; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Kunkka_Squall : public C_DOTABaseAbility { public: @@ -57596,7 +58511,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Kunkka_Grog_Blossom : public C_DOTABaseAbility { public: @@ -57604,7 +58519,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Kunkka_Marked : public C_DOTABaseAbility { public: @@ -57612,7 +58527,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Kunkka_Green_Around_the_Gills : public C_DOTABaseAbility { public: @@ -57620,7 +58535,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Kunkka_Angry_Recall : public C_DOTABaseAbility { public: @@ -57628,7 +58543,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Kunkka_Keelhaul : public C_DOTABaseAbility { public: @@ -57636,7 +58551,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Kunkka_Sealegs : public C_DOTABaseAbility { public: @@ -57644,7 +58559,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Kunkka_Rumboldened : public C_DOTABaseAbility { public: @@ -57652,7 +58567,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Kunkka_Man_the_Helm : public C_DOTABaseAbility { public: @@ -57660,7 +58575,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Kunkka_Davy_Jones_Locker : public C_DOTABaseAbility { public: @@ -57668,7 +58583,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Kunkka_Dread_Pirate : public C_DOTABaseAbility { public: @@ -57676,7 +58591,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Kunkka_No_Quarter : public C_DOTABaseAbility { public: @@ -57684,7 +58599,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Kunkka_Skull_and_Bones : public C_DOTABaseAbility { public: @@ -57692,7 +58607,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Kunkka_Tidebringer_Charges : public C_DOTABaseAbility { public: @@ -57700,55 +58615,55 @@ public: }; // Alignment: 4 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_AghsFort_VoidSpirit_AetherRemnant : public C_DOTABaseAbility { public: - int32_t start_radius; // 0x5a0 - int32_t end_radius; // 0x5a4 - int32_t remnant_watch_distance; // 0x5a8 - int32_t projectile_speed; // 0x5ac + int32_t start_radius; // 0x5b0 + int32_t end_radius; // 0x5b4 + int32_t remnant_watch_distance; // 0x5b8 + int32_t projectile_speed; // 0x5bc }; // Alignment: 9 -// Size: 0x5e0 +// Size: 0x5f0 class CDOTA_Ability_AghsFort_VoidSpirit_AstralStep : public C_DOTABaseAbility { public: - Vector m_vStartPos; // 0x5a0 - Vector m_vDestination; // 0x5ac - Vector m_vDirection; // 0x5b8 - int32_t radius; // 0x5c4 - int32_t min_travel_distance; // 0x5c8 - int32_t max_travel_distance; // 0x5cc - float debuff_duration; // 0x5d0 - float pop_damage_delay; // 0x5d4 - int32_t pop_damage; // 0x5d8 + Vector m_vStartPos; // 0x5b0 + Vector m_vDestination; // 0x5bc + Vector m_vDirection; // 0x5c8 + int32_t radius; // 0x5d4 + int32_t min_travel_distance; // 0x5d8 + int32_t max_travel_distance; // 0x5dc + float debuff_duration; // 0x5e0 + float pop_damage_delay; // 0x5e4 + int32_t pop_damage; // 0x5e8 }; // Alignment: 2 -// Size: 0x5c0 +// Size: 0x5d0 class CDOTA_Ability_AghsFort_VoidSpirit_Dissimilate : public C_DOTABaseAbility { public: - CUtlVector< CHandle< C_BaseEntity > > m_vecTranslocatingAllies; // 0x5a0 - float phase_duration; // 0x5b8 + CUtlVector< CHandle< C_BaseEntity > > m_vecTranslocatingAllies; // 0x5b0 + float phase_duration; // 0x5c8 }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_AghsFort_VoidSpirit_ResonantPulse : public C_DOTABaseAbility { public: - float buff_duration; // 0x5a0 - int32_t base_absorb_amount; // 0x5a4 - int32_t absorb_per_unit_hit; // 0x5a8 - float hero_absorb_multiplier; // 0x5ac - float boss_absorb_multiplier; // 0x5b0 + float buff_duration; // 0x5b0 + int32_t base_absorb_amount; // 0x5b4 + int32_t absorb_per_unit_hit; // 0x5b8 + float hero_absorb_multiplier; // 0x5bc + float boss_absorb_multiplier; // 0x5c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AetherRemnant_Push : public C_DOTABaseAbility { public: @@ -57756,7 +58671,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AetherRemnant_PhantomAttack : public C_DOTABaseAbility { public: @@ -57764,7 +58679,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling : public C_DOTABaseAbility { public: @@ -57772,7 +58687,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_Dissimilate_Translocate : public C_DOTABaseAbility { public: @@ -57780,7 +58695,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_Dissimilate_Expanse : public C_DOTABaseAbility { public: @@ -57788,7 +58703,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_Dissimilate_Remnants : public C_DOTABaseAbility { public: @@ -57796,7 +58711,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_Dissimilate_Lure : public C_DOTABaseAbility { public: @@ -57804,7 +58719,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_ResonantPulse_Knockback : public C_DOTABaseAbility { public: @@ -57812,7 +58727,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_ResonantPulse_Cadence : public C_DOTABaseAbility { public: @@ -57820,15 +58735,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_AghsFort_Special_VoidSpirit_ResonantPulse_Suppression : public C_DOTABaseAbility { public: - int32_t m_nBonusCharges; // 0x5a0 + int32_t m_nBonusCharges; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AstralStep_Vacuum : public C_DOTABaseAbility { public: @@ -57836,7 +58751,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AstralStep_Attacks : public C_DOTABaseAbility { public: @@ -57844,7 +58759,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AstralStep_Trail : public C_DOTABaseAbility { public: @@ -57852,7 +58767,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AstralStep_Breach : public C_DOTABaseAbility { public: @@ -57860,7 +58775,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_VoidSpirit_AstralStep_RestoreTime : public C_DOTABaseAbility { public: @@ -57868,7 +58783,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_VoidSpirit_AetherRemnant_Damage : public C_DOTABaseAbility { public: @@ -57876,7 +58791,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_VoidSpirit_Dissimilate_Stun : public C_DOTABaseAbility { public: @@ -57884,7 +58799,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_VoidSpirit_ResonantPulse_Damage : public C_DOTABaseAbility { public: @@ -57892,7 +58807,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_VoidSpirit_AstralStep_Crit : public C_DOTABaseAbility { public: @@ -57900,7 +58815,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_VoidSpirit_Dissimilate_Invis : public C_DOTABaseAbility { public: @@ -57908,24 +58823,24 @@ public: }; // Alignment: 2 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Aghsfort_Gyrocopter_Call_Down : public C_DOTABaseAbility { public: - Vector m_vEndpoint; // 0x5a0 - int32_t range_scepter; // 0x5ac + Vector m_vEndpoint; // 0x5b0 + int32_t range_scepter; // 0x5bc }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Aghsfort_Gyrocopter_Rocket_Barrage : public C_DOTABaseAbility { public: - float duration; // 0x5a0 + float duration; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Gyrocopter_Homing_Missile : public C_DOTABaseAbility { public: @@ -57933,7 +58848,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Gyrocopter_Flak_Cannon : public C_DOTABaseAbility { public: @@ -57941,7 +58856,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_RocketBarrage_OnAttack : public C_DOTABaseAbility { public: @@ -57949,7 +58864,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_RocketBarrage_DoubleTarget : public C_DOTABaseAbility { public: @@ -57957,7 +58872,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_RocketBarrage_Flare : public C_DOTABaseAbility { public: @@ -57965,7 +58880,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_RocketBarrage_Ground : public C_DOTABaseAbility { public: @@ -57973,7 +58888,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_Barrage : public C_DOTABaseAbility { public: @@ -57981,7 +58896,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_Ride : public C_DOTABaseAbility { public: @@ -57989,7 +58904,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_Minimissile : public C_DOTABaseAbility { public: @@ -57997,7 +58912,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_CallDown : public C_DOTABaseAbility { public: @@ -58005,7 +58920,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_Flak_Cannon_First_Strike : public C_DOTABaseAbility { public: @@ -58013,7 +58928,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_Flak_Cannon_Side_Gunner : public C_DOTABaseAbility { public: @@ -58021,7 +58936,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_Flak_Cannon_Missiles : public C_DOTABaseAbility { public: @@ -58029,7 +58944,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_Flak_Cannon_FireTrail : public C_DOTABaseAbility { public: @@ -58037,7 +58952,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_CallDown_AttackBuff : public C_DOTABaseAbility { public: @@ -58045,7 +58960,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_CallDown_MineField : public C_DOTABaseAbility { public: @@ -58053,7 +58968,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_CallDown_Strafe : public C_DOTABaseAbility { public: @@ -58061,7 +58976,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_Charges : public C_DOTABaseAbility { public: @@ -58069,7 +58984,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_CallDown_Precision_Strike : public C_DOTABaseAbility { public: @@ -58077,7 +58992,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Dawnbreaker_Fire_Wreath : public C_DOTABaseAbility { public: @@ -58085,23 +59000,23 @@ public: }; // Alignment: 6 -// Size: 0x5d0 +// Size: 0x5e0 class C_DOTA_Ability_Aghsfort_Dawnbreaker_Solar_Guardian : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hThinker; // 0x5a0 - bool m_bJumping; // 0x5a4 + CHandle< C_BaseEntity > m_hThinker; // 0x5b0 + bool m_bJumping; // 0x5b4 private: - [[maybe_unused]] uint8_t __pad05a5[0x3]; // 0x5a5 + [[maybe_unused]] uint8_t __pad05b5[0x3]; // 0x5b5 public: - CUtlVector< CHandle< C_BaseEntity > > m_vecDeathThinkers; // 0x5a8 - CHandle< C_BaseEntity > m_hTeleportTarget; // 0x5c0 - ParticleIndex_t m_nTPFXIndex; // 0x5c4 - ParticleIndex_t m_nAoEFXIndex; // 0x5c8 + CUtlVector< CHandle< C_BaseEntity > > m_vecDeathThinkers; // 0x5b8 + CHandle< C_BaseEntity > m_hTeleportTarget; // 0x5d0 + ParticleIndex_t m_nTPFXIndex; // 0x5d4 + ParticleIndex_t m_nAoEFXIndex; // 0x5d8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Dawnbreaker_Luminosity : public C_DOTABaseAbility { public: @@ -58109,26 +59024,26 @@ public: }; // Alignment: 9 -// Size: 0x5e0 +// Size: 0x5f0 class CDOTA_Ability_Aghsfort_Dawnbreaker_Celestial_Hammer : public C_DOTABaseAbility { public: - int32_t projectile_speed; // 0x5a0 - int32_t projectile_radius; // 0x5a4 - int32_t hammer_damage; // 0x5a8 - int32_t hammer_aoe_radius; // 0x5ac - int32_t flare_radius; // 0x5b0 - bool bHasStartedBurning; // 0x5b4 + int32_t projectile_speed; // 0x5b0 + int32_t projectile_radius; // 0x5b4 + int32_t hammer_damage; // 0x5b8 + int32_t hammer_aoe_radius; // 0x5bc + int32_t flare_radius; // 0x5c0 + bool bHasStartedBurning; // 0x5c4 private: - [[maybe_unused]] uint8_t __pad05b5[0x3]; // 0x5b5 + [[maybe_unused]] uint8_t __pad05c5[0x3]; // 0x5c5 public: - float flare_debuff_duration; // 0x5b8 - int32_t return_anim_distance_threshold; // 0x5bc - int32_t range; // 0x5c0 + float flare_debuff_duration; // 0x5c8 + int32_t return_anim_distance_threshold; // 0x5cc + int32_t range; // 0x5d0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Dawnbreaker_Converge : public C_DOTABaseAbility { public: @@ -58136,7 +59051,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Dawnbreaker_Land : public C_DOTABaseAbility { public: @@ -58144,7 +59059,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_StarbreakerCelestialFire : public C_DOTABaseAbility { public: @@ -58152,7 +59067,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Starbreaker_Suncrusher : public C_DOTABaseAbility { public: @@ -58160,7 +59075,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_CelestialHammer_SunForge : public C_DOTABaseAbility { public: @@ -58168,7 +59083,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Luminosity_BrightFoundry : public C_DOTABaseAbility { public: @@ -58176,7 +59091,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_CelestialHammer_Haven : public C_DOTABaseAbility { public: @@ -58184,7 +59099,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_CelestialHammer_HammerTime : public C_DOTABaseAbility { public: @@ -58192,7 +59107,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Luminosity_SolarBattery : public C_DOTABaseAbility { public: @@ -58200,7 +59115,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Luminosity_Lightbringer : public C_DOTABaseAbility { public: @@ -58208,7 +59123,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Solar_Guardian_SunSentinel : public C_DOTABaseAbility { public: @@ -58216,7 +59131,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar : public C_DOTABaseAbility { public: @@ -58224,7 +59139,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Solar_Guardian_SolarFlare : public C_DOTABaseAbility { public: @@ -58232,7 +59147,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Starbreaker_CounterOrbital : public C_DOTABaseAbility { public: @@ -58240,7 +59155,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Bane_BrainSap_Invis : public C_DOTABaseAbility { public: @@ -58248,7 +59163,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Bane_Nightmare_Confusion : public C_DOTABaseAbility { public: @@ -58256,7 +59171,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_Allies : public C_DOTABaseAbility { public: @@ -58264,7 +59179,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Bane_Nightmare_Burst : public C_DOTABaseAbility { public: @@ -58272,7 +59187,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Bane_Enfeeble : public C_DOTABaseAbility { public: @@ -58280,16 +59195,16 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Aghsfort_Bane_BrainSap : public C_DOTABaseAbility { public: - int32_t cast_range; // 0x5a0 - int32_t brain_sap_damage; // 0x5a4 + int32_t cast_range; // 0x5b0 + int32_t brain_sap_damage; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Bane_Nightmare : public C_DOTABaseAbility { public: @@ -58297,7 +59212,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Bane_NightmareEnd : public C_DOTABaseAbility { public: @@ -58305,21 +59220,21 @@ public: }; // Alignment: 6 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Aghsfort_Bane_FiendsGrip : public C_DOTABaseAbility { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hGripTarget; // 0x5a0 - int32_t fiend_grip_damage; // 0x5a4 - int32_t fiend_grip_spread_radius; // 0x5a8 - float channel_time; // 0x5ac - float fiend_grip_tick_interval; // 0x5b0 - GameTime_t m_flLastSpreadTime; // 0x5b4 + CHandle< C_BaseEntity > m_hGripTarget; // 0x5b0 + int32_t fiend_grip_damage; // 0x5b4 + int32_t fiend_grip_spread_radius; // 0x5b8 + float channel_time; // 0x5bc + float fiend_grip_tick_interval; // 0x5c0 + GameTime_t m_flLastSpreadTime; // 0x5c4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_DeathSpread : public C_DOTABaseAbility { public: @@ -58327,7 +59242,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_DamageSteal : public C_DOTABaseAbility { public: @@ -58335,7 +59250,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_EndFiendGrip : public C_DOTABaseAbility { public: @@ -58343,7 +59258,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Bane_FiendsGrip_Spread : public C_DOTABaseAbility { public: @@ -58351,7 +59266,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Bane_FiendsGrip_AutoNightmare : public C_DOTABaseAbility { public: @@ -58359,7 +59274,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Bane_BrainSap_NightmareMirror : public C_DOTABaseAbility { public: @@ -58367,7 +59282,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_Spill : public C_DOTABaseAbility { public: @@ -58375,7 +59290,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Bane_FiendsGrip_BoostAlly : public C_DOTABaseAbility { public: @@ -58383,7 +59298,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Bane_BrainSap_Knockback_Slow : public C_DOTABaseAbility { public: @@ -58391,7 +59306,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Bane_Nightmare_SweetDreams : public C_DOTABaseAbility { public: @@ -58399,7 +59314,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Phoenix_SunRay : public C_DOTABaseAbility { public: @@ -58407,7 +59322,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Phoenix_SunRayStop : public C_DOTABaseAbility { public: @@ -58415,7 +59330,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Phoenix_SunRayToggleMove : public C_DOTABaseAbility { public: @@ -58423,15 +59338,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_AghsFort_Phoenix_IcarusDive : public C_DOTABaseAbility { public: - int32_t hp_cost_perc; // 0x5a0 + int32_t hp_cost_perc; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Phoenix_IcarusDiveStop : public C_DOTABaseAbility { public: @@ -58439,32 +59354,32 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_AghsFort_Phoenix_FireSpirits : public C_DOTABaseAbility { public: - int32_t hp_cost_perc; // 0x5a0 - int32_t spirit_count; // 0x5a4 + int32_t hp_cost_perc; // 0x5b0 + int32_t spirit_count; // 0x5b4 }; // Alignment: 6 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_AghsFort_Phoenix_LaunchFireSpirit : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 - bool m_bUnitCarriedByArtillery; // 0x5a4 + ParticleIndex_t m_nFXIndex; // 0x5b0 + bool m_bUnitCarriedByArtillery; // 0x5b4 private: - [[maybe_unused]] uint8_t __pad05a5[0x3]; // 0x5a5 + [[maybe_unused]] uint8_t __pad05b5[0x3]; // 0x5b5 public: - int32_t m_nSpiritSpeed; // 0x5a8 - float m_fDuration; // 0x5ac - int32_t m_nRadius; // 0x5b0 - int32_t m_nSpiritCount; // 0x5b4 + int32_t m_nSpiritSpeed; // 0x5b8 + float m_fDuration; // 0x5bc + int32_t m_nRadius; // 0x5c0 + int32_t m_nSpiritCount; // 0x5c4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Phoenix_Supernova : public C_DOTABaseAbility { public: @@ -58472,7 +59387,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Phoenix_IcarusDive_Savior : public C_DOTABaseAbility { public: @@ -58480,7 +59395,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Phoenix_IcarusDive_BlastWave : public C_DOTABaseAbility { public: @@ -58488,7 +59403,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Phoenix_IcarusDive_SecondSun : public C_DOTABaseAbility { public: @@ -58496,7 +59411,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Phoenix_FireSpirits_Vitality : public C_DOTABaseAbility { public: @@ -58504,7 +59419,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Phoenix_FireSpirits_Artillery : public C_DOTABaseAbility { public: @@ -58512,7 +59427,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Phoenix_FireSpirits_FlameRevenant : public C_DOTABaseAbility { public: @@ -58520,15 +59435,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Aghsfort_Phoenix_Flame_Revenant_Attack : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hTarget; // 0x5a0 + CHandle< C_BaseEntity > m_hTarget; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Phoenix_SunRay_Luminance : public C_DOTABaseAbility { public: @@ -58536,7 +59451,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Phoenix_SunRay_FocusPoint : public C_DOTABaseAbility { public: @@ -58544,7 +59459,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Phoenix_SunRay_GammaRay : public C_DOTABaseAbility { public: @@ -58552,7 +59467,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Phoenix_Supernova_Capture : public C_DOTABaseAbility { public: @@ -58560,7 +59475,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Phoenix_Supernova_Horizon : public C_DOTABaseAbility { public: @@ -58568,7 +59483,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Phoenix_Supernova_ExpelCore : public C_DOTABaseAbility { public: @@ -58576,7 +59491,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_Phoenix_Supernova_BonusDps : public C_DOTABaseAbility { public: @@ -58584,7 +59499,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_Phoenix_SunRay_Damage : public C_DOTABaseAbility { public: @@ -58592,7 +59507,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_Phoenix_Supernova_AttacksToKill : public C_DOTABaseAbility { public: @@ -58600,7 +59515,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_ArcWardenBoss_Flux : public C_DOTABaseAbility { public: @@ -58608,7 +59523,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_AghsFort_Ability_ArcWardenBoss_MagneticField : public C_DOTABaseAbility { public: @@ -58616,27 +59531,27 @@ public: }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_AghsFort_Ability_ArcWardenBoss_SparkWraith : public C_DOTABaseAbility { public: - float duration; // 0x5a0 - float activation_delay; // 0x5a4 - float wraith_vision_duration; // 0x5a8 - int32_t wraith_vision_radius; // 0x5ac - int32_t spark_damage; // 0x5b0 + float duration; // 0x5b0 + float activation_delay; // 0x5b4 + float wraith_vision_duration; // 0x5b8 + int32_t wraith_vision_radius; // 0x5bc + int32_t spark_damage; // 0x5c0 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_AghsFort_Ability_ArcWardenBoss_TempestDouble : public C_DOTABaseAbility { public: - int32_t m_nNumDoubles; // 0x5a0 + int32_t m_nNumDoubles; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Aghsfort_Ability_ArcWardenBoss_Gleipnir : public C_DOTABaseAbility { public: @@ -58644,7 +59559,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_ArcWardenBoss_SparkWraith_Missile : public C_DOTABaseAbility { public: @@ -58652,7 +59567,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_BossEarthshaker_Fissure : public C_DOTABaseAbility { public: @@ -58660,7 +59575,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_BossEarthshaker_EnchantTotem : public C_DOTABaseAbility { public: @@ -58668,7 +59583,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_CreateRock : public C_DOTABaseAbility { public: @@ -58676,7 +59591,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_HeavySteps : public C_DOTABaseAbility { public: @@ -58684,23 +59599,23 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_Pummel : public C_DOTABaseAbility { public: - C_DOTA_BaseNPC* m_hTarget; // 0x5a0 + C_DOTA_BaseNPC* m_hTarget; // 0x5b0 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_Onslaught : public C_DOTABaseAbility { public: - float max_charge_time; // 0x5a0 + float max_charge_time; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_Inhibition : public C_DOTABaseAbility { public: @@ -58708,7 +59623,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_Vault : public C_DOTABaseAbility { public: @@ -58716,65 +59631,65 @@ public: }; // Alignment: 6 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_Aghsfort_PrimalBeast_Boss_ThrowAttack : public C_DOTABaseAbility { public: - int32_t base_damage; // 0x5a0 - int32_t hp_damage_pct; // 0x5a4 - int32_t impact_radius; // 0x5a8 - int32_t fragment_impact_distance; // 0x5ac - int32_t min_range; // 0x5b0 - ParticleIndex_t m_nFXPreview; // 0x5b4 + int32_t base_damage; // 0x5b0 + int32_t hp_damage_pct; // 0x5b4 + int32_t impact_radius; // 0x5b8 + int32_t fragment_impact_distance; // 0x5bc + int32_t min_range; // 0x5c0 + ParticleIndex_t m_nFXPreview; // 0x5c4 }; // Alignment: 8 -// Size: 0x5e8 +// Size: 0x5f8 class C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_RoarAttack : public C_DOTABaseAbility { public: - int32_t speed; // 0x5a0 - int32_t projectile_count; // 0x5a4 - float rotation_angle; // 0x5a8 - float damage; // 0x5ac - float radius; // 0x5b0 + int32_t speed; // 0x5b0 + int32_t projectile_count; // 0x5b4 + float rotation_angle; // 0x5b8 + float damage; // 0x5bc + float radius; // 0x5c0 private: - [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 + [[maybe_unused]] uint8_t __pad05c4[0x4]; // 0x5c4 public: - CountdownTimer ctTimer; // 0x5b8 - Vector m_vecStartRot; // 0x5d0 - Vector m_vecEndRot; // 0x5dc + CountdownTimer ctTimer; // 0x5c8 + Vector m_vecStartRot; // 0x5e0 + Vector m_vecEndRot; // 0x5ec }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_TectonicShift : public C_DOTABaseAbility { public: - int32_t damage; // 0x5a0 + int32_t damage; // 0x5b0 }; // Alignment: 4 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Aghsfort_PrimalBeast_Boss_PrimalRoar : public C_DOTABaseAbility { public: - int32_t path_width; // 0x5a0 - float push_duration; // 0x5a4 - int32_t push_distance; // 0x5a8 - int32_t min_distance; // 0x5ac + int32_t path_width; // 0x5b0 + float push_duration; // 0x5b4 + int32_t push_distance; // 0x5b8 + int32_t min_distance; // 0x5bc }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Aghsfort_Sand_King_SandStorm : public C_DOTABaseAbility { public: - int32_t m_iRadius; // 0x5a0 + int32_t m_iRadius; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Sand_King_CausticFinale : public C_DOTABaseAbility { public: @@ -58782,26 +59697,26 @@ public: }; // Alignment: 4 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Aghsfort_Sand_King_BurrowStrike : public C_DOTABaseAbility { public: - int32_t burrow_width; // 0x5a0 - int32_t burrow_speed; // 0x5a4 - float burrow_anim_time; // 0x5a8 - Vector m_vStartLocation; // 0x5ac + int32_t burrow_width; // 0x5b0 + int32_t burrow_speed; // 0x5b4 + float burrow_anim_time; // 0x5b8 + Vector m_vStartLocation; // 0x5bc }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Aghsfort_Sand_King_Epicenter : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXEpicenterIndex; // 0x5a0 + ParticleIndex_t m_nFXEpicenterIndex; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Special_Sand_King_BurrowStrike_Reverse : public C_DOTABaseAbility { public: @@ -58809,7 +59724,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Sand_King_BurrowStrike_Channel : public C_DOTABaseAbility { public: @@ -58817,7 +59732,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Sand_King_BurrowStrike_Transport : public C_DOTABaseAbility { public: @@ -58825,7 +59740,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Sand_King_SandStorm_Independant : public C_DOTABaseAbility { public: @@ -58833,7 +59748,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Sand_King_SandStorm_Burrowstrike_Field : public C_DOTABaseAbility { public: @@ -58841,7 +59756,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Sand_King_SandStorm_Vacuum : public C_DOTABaseAbility { public: @@ -58849,7 +59764,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Sand_King_Caustic_Finale_Sandstorm : public C_DOTABaseAbility { public: @@ -58857,7 +59772,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Sand_King_Caustic_Finale_Active : public C_DOTABaseAbility { public: @@ -58865,7 +59780,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Sand_King_Caustic_Finale_StrengthBuff : public C_DOTABaseAbility { public: @@ -58873,7 +59788,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Sand_King_Caustic_Finale_Epicenter : public C_DOTABaseAbility { public: @@ -58881,7 +59796,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Sand_King_Epicenter_Movement : public C_DOTABaseAbility { public: @@ -58889,7 +59804,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Sand_King_Epicenter_Allies : public C_DOTABaseAbility { public: @@ -58897,7 +59812,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Special_Sand_King_Epicenter_DamageResist : public C_DOTABaseAbility { public: @@ -58905,7 +59820,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_Sand_King_BurrowStrike_Channel_Stop : public C_DOTABaseAbility { public: @@ -58913,23 +59828,23 @@ public: }; // Alignment: 6 -// Size: 0x5e0 +// Size: 0x5f0 class CDOTA_Ability_AghsFort_Clinkz_BurningBarrage : public C_DOTABaseAbility { public: - Vector m_vStartPos; // 0x5a0 - int32_t m_iArrowProjectile; // 0x5ac - int32_t m_nFXIndex; // 0x5b0 + Vector m_vStartPos; // 0x5b0 + int32_t m_iArrowProjectile; // 0x5bc + int32_t m_nFXIndex; // 0x5c0 private: - [[maybe_unused]] uint8_t __pad05b4[0x1c]; // 0x5b4 + [[maybe_unused]] uint8_t __pad05c4[0x1c]; // 0x5c4 public: - int32_t m_nTriSplitCount; // 0x5d0 - int32_t projectile_speed; // 0x5d4 - int32_t projectile_width; // 0x5d8 + int32_t m_nTriSplitCount; // 0x5e0 + int32_t projectile_speed; // 0x5e4 + int32_t projectile_width; // 0x5e8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Clinkz_SearingArrows : public C_DOTABaseAbility { public: @@ -58937,15 +59852,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_AghsFort_Clinkz_BurningArmy : public C_DOTABaseAbility { public: - int32_t range; // 0x5a0 + int32_t range; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Clinkz_SkeletonWalk : public C_DOTABaseAbility { public: @@ -58953,7 +59868,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Clinkz_BurningBarrage_TriSplit : public C_DOTABaseAbility { public: @@ -58961,7 +59876,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Clinkz_BurningBarrage_SkeletonShot : public C_DOTABaseAbility { public: @@ -58969,7 +59884,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Clinkz_BurningBarrage_Singe : public C_DOTABaseAbility { public: @@ -58977,7 +59892,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Clinkz_SearingArrows_Ignite : public C_DOTABaseAbility { public: @@ -58985,7 +59900,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Clinkz_SearingArrows_SkeletalColossus : public C_DOTABaseAbility { public: @@ -58993,7 +59908,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Clinkz_SkeletalColossus : public C_DOTABaseAbility { public: @@ -59001,7 +59916,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Clinkz_SearingArrows_Melter : public C_DOTABaseAbility { public: @@ -59009,7 +59924,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Clinkz_SkeletonWalk_BeckonUndead : public C_DOTABaseAbility { public: @@ -59017,7 +59932,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Clinkz_SkeletonWalk_WraithTouch : public C_DOTABaseAbility { public: @@ -59025,7 +59940,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Clinkz_SkeletonWalk_Strafe : public C_DOTABaseAbility { public: @@ -59033,7 +59948,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Clinkz_BurningArmy_Entrenchment : public C_DOTABaseAbility { public: @@ -59041,7 +59956,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Clinkz_BurningArmy_BigSkeletons : public C_DOTABaseAbility { public: @@ -59049,7 +59964,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Special_Clinkz_BurningArmy_StunningSkeletons : public C_DOTABaseAbility { public: @@ -59057,7 +59972,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_Clinkz_1 : public C_DOTABaseAbility { public: @@ -59065,7 +59980,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_Clinkz_2 : public C_DOTABaseAbility { public: @@ -59073,7 +59988,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_Clinkz_3 : public C_DOTABaseAbility { public: @@ -59081,7 +59996,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_Clinkz_4 : public C_DOTABaseAbility { public: @@ -59089,7 +60004,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_Clinkz_5 : public C_DOTABaseAbility { public: @@ -59097,7 +60012,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_Clinkz_6 : public C_DOTABaseAbility { public: @@ -59105,7 +60020,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_Clinkz_7 : public C_DOTABaseAbility { public: @@ -59113,7 +60028,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_Clinkz_8 : public C_DOTABaseAbility { public: @@ -59121,7 +60036,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_Clinkz_9 : public C_DOTABaseAbility { public: @@ -59129,7 +60044,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_Clinkz_10 : public C_DOTABaseAbility { public: @@ -59137,7 +60052,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_Clinkz_11 : public C_DOTABaseAbility { public: @@ -59145,7 +60060,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_Talent_Clinkz_12 : public C_DOTABaseAbility { public: @@ -59153,15 +60068,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_AghsFort_BossDarkWillow_ShadowRealm : public C_DOTABaseAbility { public: - int32_t projectile_damage; // 0x5a0 + int32_t projectile_damage; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AghsFort_BossDarkWillow_CursedCrown : public C_DOTABaseAbility { public: @@ -59169,23 +60084,24 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AncientApparition_ColdFeet : public C_DOTABaseAbility { public: // No members available }; -// Alignment: 1 -// Size: 0x5a8 +// Alignment: 2 +// Size: 0x5b8 class CDOTA_Ability_AncientApparition_IceVortex : public C_DOTABaseAbility { public: - int32_t vision_aoe; // 0x5a0 + int32_t vision_aoe; // 0x5b0 + float vortex_duration; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AncientApparition_ChillingTouch : public C_DOTABaseAbility { public: @@ -59193,26 +60109,26 @@ public: }; // Alignment: 12 -// Size: 0x610 +// Size: 0x620 class CDOTA_Ability_AncientApparition_IceBlast : public C_DOTABaseAbility { public: - CountdownTimer m_PathTimer; // 0x5a0 - Vector m_vTarget; // 0x5b8 - Vector m_vStartPos; // 0x5c4 - Vector m_vLastTempViewer; // 0x5d0 - int32_t m_iTrackerProjectile; // 0x5dc - int32_t path_radius; // 0x5e0 - int32_t radius_min; // 0x5e4 - int32_t radius_max; // 0x5e8 - float radius_grow; // 0x5ec - float frostbite_duration; // 0x5f0 - int32_t target_sight_radius; // 0x5f4 - CUtlVector< CHandle< C_BaseEntity > > m_hFrostbittenEntities; // 0x5f8 + CountdownTimer m_PathTimer; // 0x5b0 + Vector m_vTarget; // 0x5c8 + Vector m_vStartPos; // 0x5d4 + Vector m_vLastTempViewer; // 0x5e0 + int32_t m_iTrackerProjectile; // 0x5ec + int32_t path_radius; // 0x5f0 + int32_t radius_min; // 0x5f4 + int32_t radius_max; // 0x5f8 + float radius_grow; // 0x5fc + float frostbite_duration; // 0x600 + int32_t target_sight_radius; // 0x604 + CUtlVector< CHandle< C_BaseEntity > > m_hFrostbittenEntities; // 0x608 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AncientApparition_IceBlast_Release : public C_DOTABaseAbility { public: @@ -59220,18 +60136,18 @@ public: }; // Alignment: 4 -// Size: 0x5b0 +// Size: 0x5c0 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 + int32_t radius; // 0x5b0 + int32_t health_degen; // 0x5b4 + float duration; // 0x5b8 + int32_t damage; // 0x5bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AntiMage_ManaBreak : public C_DOTABaseAbility { public: @@ -59239,7 +60155,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AntiMage_Blink : public C_DOTABaseAbility { public: @@ -59247,7 +60163,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AntiMage_Blink_Fake : public C_DOTABaseAbility { public: @@ -59255,7 +60171,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AntiMage_SpellShield : public C_DOTABaseAbility { public: @@ -59263,7 +60179,15 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 +class C_DOTA_Ability_AntiMage_Counterspell_Ally : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 class C_DOTA_Ability_AntiMage_Counterspell : public C_DOTABaseAbility { public: @@ -59271,7 +60195,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AntiMage_ManaVoid : public C_DOTABaseAbility { public: @@ -59279,7 +60203,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AntiMage_Scepter : public C_DOTABaseAbility { public: @@ -59287,7 +60211,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_AntiMage_Mana_Overload : public C_DOTABaseAbility { public: @@ -59295,7 +60219,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Bane_Enfeeble : public C_DOTABaseAbility { public: @@ -59303,15 +60227,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Bane_BrainSap : public C_DOTABaseAbility { public: - int32_t brain_sap_damage; // 0x5a0 + int32_t brain_sap_damage; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Bane_Nightmare : public C_DOTABaseAbility { public: @@ -59319,7 +60243,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Bane_NightmareEnd : public C_DOTABaseAbility { public: @@ -59327,17 +60251,17 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Bane_FiendsGrip : public C_DOTABaseAbility { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hGripTarget; // 0x5a0 - int32_t fiend_grip_damage; // 0x5a4 + CHandle< C_BaseEntity > m_hGripTarget; // 0x5b0 + int32_t fiend_grip_damage; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Pudge_Eject : public C_DOTABaseAbility { public: @@ -59345,48 +60269,48 @@ public: }; // Alignment: 8 -// Size: 0x5e0 +// Size: 0x5f0 class CDOTA_Ability_Pudge_MeatHook : public C_DOTABaseAbility { public: - Vector m_vEndpoint; // 0x5a0 + Vector m_vEndpoint; // 0x5b0 // MNetworkEnable - int32_t m_nConsecutiveHits; // 0x5ac - bool m_bIsVectorTargeted; // 0x5b0 + int32_t m_nConsecutiveHits; // 0x5bc + bool m_bIsVectorTargeted; // 0x5c0 private: - [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 + [[maybe_unused]] uint8_t __pad05c1[0x3]; // 0x5c1 public: - Vector m_vTurnLocation; // 0x5b4 - Vector m_vDirectionAfterTurn; // 0x5c0 - bool m_bHasTurned; // 0x5cc + Vector m_vTurnLocation; // 0x5c4 + Vector m_vDirectionAfterTurn; // 0x5d0 + bool m_bHasTurned; // 0x5dc private: - [[maybe_unused]] uint8_t __pad05cd[0x3]; // 0x5cd + [[maybe_unused]] uint8_t __pad05dd[0x3]; // 0x5dd public: - float m_flDistanceAfterTurn; // 0x5d0 - Vector m_vFinalPosition; // 0x5d4 + float m_flDistanceAfterTurn; // 0x5e0 + Vector m_vFinalPosition; // 0x5e4 }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Pudge_Rot : public C_DOTABaseAbility { public: - int32_t rot_damage; // 0x5a0 - GameTime_t m_flLastRotTime; // 0x5a4 + int32_t rot_damage; // 0x5b0 + GameTime_t m_flLastRotTime; // 0x5b4 }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Pudge_Dismember : public C_DOTABaseAbility { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hVictim; // 0x5a0 - int32_t shard_cast_range; // 0x5a4 + CHandle< C_BaseEntity > m_hVictim; // 0x5b0 + int32_t shard_cast_range; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pudge_1 : public C_DOTABaseAbility { public: @@ -59394,7 +60318,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pudge_2 : public C_DOTABaseAbility { public: @@ -59402,7 +60326,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pudge_3 : public C_DOTABaseAbility { public: @@ -59410,7 +60334,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pudge_4 : public C_DOTABaseAbility { public: @@ -59418,7 +60342,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pudge_5 : public C_DOTABaseAbility { public: @@ -59426,7 +60350,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pudge_6 : public C_DOTABaseAbility { public: @@ -59434,7 +60358,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Pudge_7 : public C_DOTABaseAbility { public: @@ -59442,15 +60366,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Juggernaut_BladeFury : public C_DOTABaseAbility { public: - int32_t blade_fury_damage; // 0x5a0 + int32_t blade_fury_damage; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Juggernaut_HealingWard : public C_DOTABaseAbility { public: @@ -59458,7 +60382,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Juggernaut_BladeDance : public C_DOTABaseAbility { public: @@ -59466,7 +60390,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Juggernaut_Omnislash : public C_DOTABaseAbility { public: @@ -59474,7 +60398,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Juggernaut_Swift_Slash : public C_DOTABaseAbility { public: @@ -59482,7 +60406,7 @@ public: }; // Alignment: 0 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Holdout_BladeFury : public C_DOTA_Ability_Juggernaut_BladeFury { public: @@ -59490,37 +60414,37 @@ public: }; // Alignment: 11 -// Size: 0x5f8 +// Size: 0x608 class C_DOTA_Ability_Holdout_Omnislash : public C_DOTABaseAbility { public: - int32_t image_travel_speed; // 0x5a0 - int32_t image_radius; // 0x5a4 - int32_t jugg_travel_speed; // 0x5a8 - int32_t juggcounter; // 0x5ac - int32_t range; // 0x5b0 - bool m_bFirstProjectileFinished; // 0x5b4 + int32_t image_travel_speed; // 0x5b0 + int32_t image_radius; // 0x5b4 + int32_t jugg_travel_speed; // 0x5b8 + int32_t juggcounter; // 0x5bc + int32_t range; // 0x5c0 + bool m_bFirstProjectileFinished; // 0x5c4 private: - [[maybe_unused]] uint8_t __pad05b5[0x3]; // 0x5b5 + [[maybe_unused]] uint8_t __pad05c5[0x3]; // 0x5c5 public: - Vector m_vCastDir; // 0x5b8 - Vector m_vPos; // 0x5c4 - Vector m_vJuggStartLocation; // 0x5d0 - float m_flRange; // 0x5dc - CUtlVector< CHandle< C_BaseEntity > > m_hEntities; // 0x5e0 + Vector m_vCastDir; // 0x5c8 + Vector m_vPos; // 0x5d4 + Vector m_vJuggStartLocation; // 0x5e0 + float m_flRange; // 0x5ec + CUtlVector< CHandle< C_BaseEntity > > m_hEntities; // 0x5f0 }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Nevermore_Shadowraze : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 - ParticleIndex_t m_nFXIndexB; // 0x5a4 + ParticleIndex_t m_nFXIndex; // 0x5b0 + ParticleIndex_t m_nFXIndexB; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Nevermore_Shadowraze1 : public C_DOTA_Ability_Nevermore_Shadowraze { public: @@ -59528,7 +60452,7 @@ public: }; // Alignment: 0 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Nevermore_Shadowraze2 : public C_DOTA_Ability_Nevermore_Shadowraze { public: @@ -59536,7 +60460,7 @@ public: }; // Alignment: 0 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Nevermore_Shadowraze3 : public C_DOTA_Ability_Nevermore_Shadowraze { public: @@ -59544,7 +60468,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Nevermore_Presence : public C_DOTABaseAbility { public: @@ -59552,31 +60476,31 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Nevermore_Necromastery : public C_DOTABaseAbility { public: - int32_t attack_range_bonus; // 0x5a0 + int32_t attack_range_bonus; // 0x5b0 }; // Alignment: 6 -// Size: 0x5d0 +// Size: 0x5e0 class C_DOTA_Ability_Nevermore_Requiem : public C_DOTABaseAbility { public: - int32_t requiem_line_width_start; // 0x5a0 - int32_t requiem_line_width_end; // 0x5a4 - int32_t m_nCachedSouls; // 0x5a8 - ParticleIndex_t m_nFXIndex; // 0x5ac - int32_t m_nKilleater_nLines; // 0x5b0 + int32_t requiem_line_width_start; // 0x5b0 + int32_t requiem_line_width_end; // 0x5b4 + int32_t m_nCachedSouls; // 0x5b8 + ParticleIndex_t m_nFXIndex; // 0x5bc + int32_t m_nKilleater_nLines; // 0x5c0 private: - [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 + [[maybe_unused]] uint8_t __pad05c4[0x4]; // 0x5c4 public: - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesReqd; // 0x5b8 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesReqd; // 0x5c8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_SandKing_CausticFinale : public C_DOTABaseAbility { public: @@ -59584,18 +60508,18 @@ public: }; // Alignment: 4 -// Size: 0x5b0 +// Size: 0x5c0 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_anim_time; // 0x5ac + int32_t burrow_width; // 0x5b0 + int32_t burrow_speed; // 0x5b4 + int32_t burrow_speed_scepter; // 0x5b8 + float burrow_anim_time; // 0x5bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_SandKing_SandStorm : public C_DOTABaseAbility { public: @@ -59603,69 +60527,70 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_SandKing_Epicenter : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXEpicenterIndex; // 0x5a0 - ParticleIndex_t m_nFXIndex; // 0x5a4 + ParticleIndex_t m_nFXEpicenterIndex; // 0x5b0 + ParticleIndex_t m_nFXIndex; // 0x5b4 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Mirana_Starfall : public C_DOTABaseAbility { public: - int32_t damage; // 0x5a0 + int32_t damage; // 0x5b0 }; // Alignment: 6 -// Size: 0x620 +// Size: 0x630 class C_DOTA_Ability_Mirana_Arrow : public C_DOTABaseAbility { public: - int32_t scepter_radius; // 0x5a0 - Vector m_vStartPos; // 0x5a4 - ParticleIndex_t m_nFXIndex; // 0x5b0 + int32_t scepter_radius; // 0x5b0 + Vector m_vStartPos; // 0x5b4 + ParticleIndex_t m_nFXIndex; // 0x5c0 private: - [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 + [[maybe_unused]] uint8_t __pad05c4[0x4]; // 0x5c4 public: - CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList[2]; // 0x5b8 - CUtlVector< CHandle< C_BaseEntity > > hStarfallList[2]; // 0x5e8 - int32_t m_nActiveArrow; // 0x618 + CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList[2]; // 0x5c8 + CUtlVector< CHandle< C_BaseEntity > > hStarfallList[2]; // 0x5f8 + int32_t m_nActiveArrow; // 0x628 }; // Alignment: 3 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_Mirana_Leap : public C_DOTABaseAbility { public: - bool m_bIsVectorTargeted; // 0x5a0 + bool m_bIsVectorTargeted; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 + [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 public: - Vector m_vEndpoint; // 0x5a4 - Vector m_vLandPosition; // 0x5b0 + Vector m_vEndpoint; // 0x5b4 + Vector m_vLandPosition; // 0x5c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Mirana_MoonlightShadow : public C_DOTABaseAbility { public: // No members available }; -// Alignment: 1 -// Size: 0x5a8 +// Alignment: 2 +// Size: 0x5b8 class C_DOTA_Ability_Sven_StormBolt : public C_DOTABaseAbility { public: - int32_t vision_radius; // 0x5a0 + int32_t vision_radius; // 0x5b0 + bool m_bIsAltCastState; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Sven_GreatCleave : public C_DOTABaseAbility { public: @@ -59673,7 +60598,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Sven_Warcry : public C_DOTABaseAbility { public: @@ -59681,7 +60606,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Sven_GodsStrength : public C_DOTABaseAbility { public: @@ -59689,7 +60614,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sven : public C_DOTABaseAbility { public: @@ -59697,7 +60622,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sven_2 : public C_DOTABaseAbility { public: @@ -59705,7 +60630,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sven_3 : public C_DOTABaseAbility { public: @@ -59713,7 +60638,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sven_4 : public C_DOTABaseAbility { public: @@ -59721,7 +60646,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sven_5 : public C_DOTABaseAbility { public: @@ -59729,7 +60654,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sven_6 : public C_DOTABaseAbility { public: @@ -59737,7 +60662,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sven_7 : public C_DOTABaseAbility { public: @@ -59745,7 +60670,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Sven_8 : public C_DOTABaseAbility { public: @@ -59753,15 +60678,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_SkeletonKing_HellfireBlast : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_SkeletonKing_VampiricAura : public C_DOTABaseAbility { public: @@ -59769,7 +60686,15 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 +class C_DOTA_Ability_SkeletonKing_HellfireBlast : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 class C_DOTA_Ability_SkeletonKing_MortalStrike : public C_DOTABaseAbility { public: @@ -59777,15 +60702,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_SkeletonKing_Reincarnation : public C_DOTABaseAbility { public: - bool m_bShouldUseResources; // 0x5a0 + bool m_bShouldUseResources; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Storm_Spirit_Electric_Rave : public C_DOTABaseAbility { public: @@ -59793,15 +60718,15 @@ public: }; // Alignment: 1 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_StormSpirit_StaticRemnant : public C_DOTABaseAbility { public: - Vector m_vecCastPos; // 0x5a0 + Vector m_vecCastPos; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_StormSpirit_ElectricVortex : public C_DOTABaseAbility { public: @@ -59809,41 +60734,41 @@ public: }; // Alignment: 2 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_StormSpirit_Overload : public C_DOTABaseAbility { public: - int32_t m_iAttackIndex; // 0x5a0 + int32_t m_iAttackIndex; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 + [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: - CUtlVector< sGlaiveInfoStorm > m_GlaiveInfo; // 0x5a8 + CUtlVector< sGlaiveInfoStorm > m_GlaiveInfo; // 0x5b8 }; // Alignment: 12 -// Size: 0x5e0 +// Size: 0x5f0 class C_DOTA_Ability_StormSpirit_BallLightning : public C_DOTABaseAbility { public: - bool m_bHasAutoRemnantTalent; // 0x5a0 + bool m_bHasAutoRemnantTalent; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 + [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 public: - float m_fAutoRemnantInterval; // 0x5a4 - int32_t ball_lightning_initial_mana_base; // 0x5a8 - float ball_lightning_initial_mana_percentage; // 0x5ac - int32_t ball_lightning_travel_cost_base; // 0x5b0 - float ball_lightning_travel_cost_percent; // 0x5b4 - int32_t m_iProjectileID; // 0x5b8 - Vector m_vStartLocation; // 0x5bc - Vector m_vProjectileLocation; // 0x5c8 - float m_fDistanceAccumulator; // 0x5d4 - float m_fTalentDistanceAccumulator; // 0x5d8 - int32_t scepter_remnant_interval; // 0x5dc + float m_fAutoRemnantInterval; // 0x5b4 + int32_t ball_lightning_initial_mana_base; // 0x5b8 + float ball_lightning_initial_mana_percentage; // 0x5bc + int32_t ball_lightning_travel_cost_base; // 0x5c0 + float ball_lightning_travel_cost_percent; // 0x5c4 + int32_t m_iProjectileID; // 0x5c8 + Vector m_vStartLocation; // 0x5cc + Vector m_vProjectileLocation; // 0x5d8 + float m_fDistanceAccumulator; // 0x5e4 + float m_fTalentDistanceAccumulator; // 0x5e8 + int32_t scepter_remnant_interval; // 0x5ec }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DrowRanger_Silence : public C_DOTABaseAbility { public: @@ -59851,19 +60776,19 @@ public: }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_DrowRanger_WaveOfSilence : public C_DOTABaseAbility { public: - int32_t wave_width; // 0x5a0 - float wave_speed; // 0x5a4 - float silence_duration; // 0x5a8 - float knockback_distance_max; // 0x5ac - int32_t m_nHeroesHit; // 0x5b0 + int32_t wave_width; // 0x5b0 + float wave_speed; // 0x5b4 + float silence_duration; // 0x5b8 + float knockback_distance_max; // 0x5bc + int32_t m_nHeroesHit; // 0x5c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DrowRanger_Trueshot : public C_DOTABaseAbility { public: @@ -59871,7 +60796,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DrowRanger_Marksmanship : public C_DOTABaseAbility { public: @@ -59879,120 +60804,56 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_DrowRanger_FrostArrows : public C_DOTABaseAbility { public: - int32_t shard_burst_damage_per_stack; // 0x5a0 - float shard_burst_slow_duration; // 0x5a4 + int32_t shard_burst_damage_per_stack; // 0x5b0 + float shard_burst_slow_duration; // 0x5b4 }; // Alignment: 12 -// Size: 0x668 +// Size: 0x678 class C_DOTA_Ability_DrowRanger_Multishot : public C_DOTABaseAbility { public: - Vector m_vStartPos; // 0x5a0 - int32_t m_iArrowProjectile; // 0x5ac - int32_t m_nFXIndex; // 0x5b0 - float arrow_speed; // 0x5b4 - int32_t arrow_spread; // 0x5b8 -private: - [[maybe_unused]] uint8_t __pad05bc[0x4]; // 0x5bc -public: - CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets0; // 0x5c0 - CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets1; // 0x5d8 - CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets2; // 0x5f0 - CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets3; // 0x608 - CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets4; // 0x620 - CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets5; // 0x638 - CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets6; // 0x650 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_1 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_2 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_3 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_4 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_5 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_6 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_7 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_8 : public C_DOTABaseAbility -{ -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 + Vector m_vStartPos; // 0x5b0 + int32_t m_iArrowProjectile; // 0x5bc + int32_t m_nFXIndex; // 0x5c0 + float arrow_speed; // 0x5c4 + int32_t arrow_spread; // 0x5c8 private: [[maybe_unused]] uint8_t __pad05cc[0x4]; // 0x5cc public: - CUtlVector< CHandle< C_BaseEntity > > m_vecShards; // 0x5d0 + CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets0; // 0x5d0 + CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets1; // 0x5e8 + CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets2; // 0x600 + CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets3; // 0x618 + CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets4; // 0x630 + CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets5; // 0x648 + CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets6; // 0x660 +}; + +// Alignment: 8 +// Size: 0x5f8 +class C_DOTA_Ability_Drow_Ranger_Glacier : public C_DOTABaseAbility +{ +public: + int32_t shard_width; // 0x5b0 + int32_t shard_count; // 0x5b4 + float shard_duration; // 0x5b8 + float shard_angle_step; // 0x5bc + int32_t shard_distance; // 0x5c0 + Vector m_vSpawnOrigin; // 0x5c4 + Vector m_vDirection; // 0x5d0 +private: + [[maybe_unused]] uint8_t __pad05dc[0x4]; // 0x5dc +public: + CUtlVector< CHandle< C_BaseEntity > > m_vecShards; // 0x5e0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Earthshaker_Fissure : public C_DOTABaseAbility { public: @@ -60000,7 +60861,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Earthshaker_EnchantTotem : public C_DOTABaseAbility { public: @@ -60008,7 +60869,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Earthshaker_Aftershock : public C_DOTABaseAbility { public: @@ -60016,52 +60877,52 @@ public: }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Earthshaker_EchoSlam : public C_DOTABaseAbility { public: - int32_t echo_slam_damage_range; // 0x5a0 - int32_t echo_slam_echo_search_range; // 0x5a4 - int32_t echo_slam_echo_range; // 0x5a8 - int32_t echo_slam_echo_damage; // 0x5ac - int32_t echo_slam_initial_damage; // 0x5b0 + int32_t echo_slam_damage_range; // 0x5b0 + int32_t echo_slam_echo_search_range; // 0x5b4 + int32_t echo_slam_echo_range; // 0x5b8 + int32_t echo_slam_echo_damage; // 0x5bc + int32_t echo_slam_initial_damage; // 0x5c0 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_VengefulSpirit_Magic_Missile : public C_DOTABaseAbility { public: - bool m_bShouldBounce; // 0x5a0 + bool m_bShouldBounce; // 0x5b0 }; // Alignment: 7 -// Size: 0x5d8 +// Size: 0x5e8 class C_DOTA_Ability_VengefulSpirit_WaveOfTerror : public C_DOTABaseAbility { public: - int32_t wave_width; // 0x5a0 - float wave_speed; // 0x5a4 - int32_t m_iProjectile; // 0x5a8 - float vision_aoe; // 0x5ac - float vision_duration; // 0x5b0 - int32_t m_nNumHeroesHit; // 0x5b4 - CountdownTimer m_ViewerTimer; // 0x5b8 + int32_t wave_width; // 0x5b0 + float wave_speed; // 0x5b4 + int32_t m_iProjectile; // 0x5b8 + float vision_aoe; // 0x5bc + float vision_duration; // 0x5c0 + int32_t m_nNumHeroesHit; // 0x5c4 + CountdownTimer m_ViewerTimer; // 0x5c8 }; // Alignment: 4 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_VengefulSpirit_Nether_Swap : public C_DOTABaseAbility { public: - int32_t m_nFXIndex; // 0x5a0 - int32_t damage; // 0x5a4 - float damage_reduction; // 0x5a8 - float damage_reduction_duration; // 0x5ac + int32_t m_nFXIndex; // 0x5b0 + int32_t damage; // 0x5b4 + float damage_reduction; // 0x5b8 + float damage_reduction_duration; // 0x5bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_CrystalMaiden_Let_It_Go : public C_DOTABaseAbility { public: @@ -60069,15 +60930,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_CrystalMaiden_CrystalNova : public C_DOTABaseAbility { public: - int32_t nova_damage; // 0x5a0 + int32_t nova_damage; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_CrystalMaiden_Frostbite : public C_DOTABaseAbility { public: @@ -60085,7 +60946,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_CrystalMaiden_BrillianceAura : public C_DOTABaseAbility { public: @@ -60093,7 +60954,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_CrystalMaiden_FreezingField : public C_DOTABaseAbility { public: @@ -60101,7 +60962,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_CrystalMaiden_FreezingFieldStop : public C_DOTABaseAbility { public: @@ -60109,23 +60970,31 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_CrystalMaiden_IceRink : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 -}; - -// Alignment: 1 -// Size: 0x5a8 -class C_DOTA_Ability_Axe_BattleHunger : public C_DOTABaseAbility -{ -public: - int32_t damage_per_second; // 0x5a0 + ParticleIndex_t m_nFXIndex; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 +class C_DOTA_Ability_Crystal_Maiden_Crystal_Clone : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x5b8 +class C_DOTA_Ability_Axe_BattleHunger : public C_DOTABaseAbility +{ +public: + int32_t damage_per_second; // 0x5b0 +}; + +// Alignment: 0 +// Size: 0x5b0 class C_DOTA_Ability_Axe_BerserkersCall : public C_DOTABaseAbility { public: @@ -60133,7 +61002,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Axe_CounterHelix : public C_DOTABaseAbility { public: @@ -60141,20 +61010,20 @@ public: }; // Alignment: 3 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Axe_CullingBlade : public C_DOTABaseAbility { public: - bool m_bInterrupted; // 0x5a0 + bool m_bInterrupted; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 + [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 public: - Vector m_vProjectileLocation; // 0x5a4 - CHandle< C_BaseEntity > m_hTarget; // 0x5b0 + Vector m_vProjectileLocation; // 0x5b4 + CHandle< C_BaseEntity > m_hTarget; // 0x5c0 }; // Alignment: 0 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Holdout_CullingBlade : public C_DOTA_Ability_Axe_CullingBlade { public: @@ -60162,7 +61031,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Axe : public C_DOTABaseAbility { public: @@ -60170,7 +61039,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Axe_2 : public C_DOTABaseAbility { public: @@ -60178,7 +61047,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Axe_3 : public C_DOTABaseAbility { public: @@ -60186,7 +61055,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Axe_4 : public C_DOTABaseAbility { public: @@ -60194,7 +61063,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Axe_5 : public C_DOTABaseAbility { public: @@ -60202,7 +61071,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Axe_6 : public C_DOTABaseAbility { public: @@ -60210,7 +61079,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Bloodseeker_Bloodrage : public C_DOTABaseAbility { public: @@ -60218,7 +61087,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Bloodseeker_Bloodbath : public C_DOTABaseAbility { public: @@ -60226,7 +61095,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Bloodseeker_Thirst : public C_DOTABaseAbility { public: @@ -60234,7 +61103,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Bloodseeker_Rupture : public C_DOTABaseAbility { public: @@ -60242,7 +61111,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Bloodseeker_BloodMist : public C_DOTABaseAbility { public: @@ -60250,7 +61119,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_PhantomLancer_SpiritLance : public C_DOTABaseAbility { public: @@ -60258,7 +61127,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_PhantomLancer_Doppelwalk : public C_DOTABaseAbility { public: @@ -60266,7 +61135,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_PhantomLancer_Juxtapose : public C_DOTABaseAbility { public: @@ -60274,7 +61143,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_PhantomLancer_PhantomEdge : public C_DOTABaseAbility { public: @@ -60282,7 +61151,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer : public C_DOTABaseAbility { public: @@ -60290,7 +61159,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_2 : public C_DOTABaseAbility { public: @@ -60298,7 +61167,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_3 : public C_DOTABaseAbility { public: @@ -60306,7 +61175,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_4 : public C_DOTABaseAbility { public: @@ -60314,7 +61183,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_5 : public C_DOTABaseAbility { public: @@ -60322,7 +61191,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_6 : public C_DOTABaseAbility { public: @@ -60330,7 +61199,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_7 : public C_DOTABaseAbility { public: @@ -60338,29 +61207,30 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Razor_PlasmaField : public C_DOTABaseAbility { public: // No members available }; -// Alignment: 4 -// Size: 0x5c8 +// Alignment: 5 +// Size: 0x5e0 class C_DOTA_Ability_Razor_StaticLink : public C_DOTABaseAbility { public: - int32_t m_iLinkIndex; // 0x5a0 + int32_t m_iLinkIndex; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 + [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: - CountdownTimer m_ViewerTimer; // 0x5a8 - int32_t vision_radius; // 0x5c0 - float vision_duration; // 0x5c4 + CountdownTimer m_ViewerTimer; // 0x5b8 + int32_t vision_radius; // 0x5d0 + float vision_duration; // 0x5d4 + bool m_bIsAltCastState; // 0x5d8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Razor_UnstableCurrent : public C_DOTABaseAbility { public: @@ -60368,7 +61238,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Razor_EyeOfTheStorm : public C_DOTABaseAbility { public: @@ -60376,7 +61246,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Razor : public C_DOTABaseAbility { public: @@ -60384,7 +61254,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Razor_2 : public C_DOTABaseAbility { public: @@ -60392,7 +61262,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Razor_3 : public C_DOTABaseAbility { public: @@ -60400,7 +61270,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Razor_4 : public C_DOTABaseAbility { public: @@ -60408,7 +61278,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Razor_5 : public C_DOTABaseAbility { public: @@ -60416,24 +61286,25 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Razor_6 : public C_DOTABaseAbility { public: // No members available }; -// Alignment: 2 -// Size: 0x5a8 +// Alignment: 3 +// Size: 0x5c0 class C_DOTA_Ability_Lina_DragonSlave : public C_DOTABaseAbility { public: - int32_t dragon_slave_distance; // 0x5a0 - float m_flDamage; // 0x5a4 + int32_t dragon_slave_distance; // 0x5b0 + float dragon_slave_burn_duration; // 0x5b4 + float m_flDamage; // 0x5b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Lina_LightStrikeArray : public C_DOTABaseAbility { public: @@ -60441,7 +61312,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Lina_FierySoul : public C_DOTABaseAbility { public: @@ -60449,15 +61320,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Lina_LagunaBlade : public C_DOTABaseAbility { public: - int32_t m_iDamage; // 0x5a0 + int32_t m_iDamage; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Lina_Flame_Cloak : public C_DOTABaseAbility { public: @@ -60465,7 +61336,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lina_1 : public C_DOTABaseAbility { public: @@ -60473,7 +61344,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lina_2 : public C_DOTABaseAbility { public: @@ -60481,7 +61352,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lina_3 : public C_DOTABaseAbility { public: @@ -60489,7 +61360,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lina_4 : public C_DOTABaseAbility { public: @@ -60497,7 +61368,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lina_5 : public C_DOTABaseAbility { public: @@ -60505,7 +61376,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lina_6 : public C_DOTABaseAbility { public: @@ -60513,7 +61384,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Morphling_Hybrid : public C_DOTABaseAbility { public: @@ -60521,7 +61392,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Morphling_Waveform : public C_DOTABaseAbility { public: @@ -60529,7 +61400,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Morphling_AdaptiveStrike_Agi : public C_DOTABaseAbility { public: @@ -60537,7 +61408,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Morphling_AdaptiveStrike_Str : public C_DOTABaseAbility { public: @@ -60545,7 +61416,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Morphling_Morph : public C_DOTABaseAbility { public: @@ -60553,7 +61424,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Morphling_Morph_Agi : public C_DOTABaseAbility { public: @@ -60561,32 +61432,34 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Morphling_Morph_Str : public C_DOTABaseAbility { public: // No members available }; -// Alignment: 1 -// Size: 0x5a8 +// Alignment: 3 +// Size: 0x5c0 class C_DOTA_Ability_Morphling_Replicate : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hTarget; // 0x5a0 + CHandle< C_BaseEntity > m_hTarget; // 0x5b0 + CHandle< C_BaseEntity > m_hScepterIllusion; // 0x5b4 + bool m_bIsAltCastState; // 0x5b8 }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Morphling_MorphReplicate : public C_DOTABaseAbility { public: - float m_flOldHealthPct; // 0x5a0 - float m_flOldManaPct; // 0x5a4 + float m_flOldHealthPct; // 0x5b0 + float m_flOldManaPct; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Zuus_StaticField : public C_DOTABaseAbility { public: @@ -60594,7 +61467,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Zuus_ArcLightning : public C_DOTABaseAbility { public: @@ -60602,7 +61475,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Zuus_Cloud : public C_DOTABaseAbility { public: @@ -60610,7 +61483,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Zuus_LightningBolt : public C_DOTABaseAbility { public: @@ -60618,16 +61491,16 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Zuus_ThundergodsWrath : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 - bool m_bZeusHasArcana; // 0x5a4 + ParticleIndex_t m_nFXIndex; // 0x5b0 + bool m_bZeusHasArcana; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Zuus_Heavenly_Jump : public C_DOTABaseAbility { public: @@ -60635,7 +61508,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Zeus : public C_DOTABaseAbility { public: @@ -60643,7 +61516,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Zeus_2 : public C_DOTABaseAbility { public: @@ -60651,7 +61524,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Zeus_3 : public C_DOTABaseAbility { public: @@ -60659,7 +61532,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Zeus_4 : public C_DOTABaseAbility { public: @@ -60667,7 +61540,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Zeus_5 : public C_DOTABaseAbility { public: @@ -60675,7 +61548,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Zuus_Thunder_Trail : public C_DOTABaseAbility { public: @@ -60683,7 +61556,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Zuus_Lightning_Hands : public C_DOTABaseAbility { public: @@ -60691,7 +61564,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Kunkka_Torrent : public C_DOTABaseAbility { public: @@ -60699,7 +61572,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Kunkka_Torrent_Storm : public C_DOTABaseAbility { public: @@ -60707,7 +61580,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Kunkka_Tidebringer : public C_DOTABaseAbility { public: @@ -60715,15 +61588,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Kunkka_XMarksTheSpot : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hThinker; // 0x5a0 + CHandle< C_BaseEntity > m_hThinker; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Kunkka_Return : public C_DOTABaseAbility { public: @@ -60731,29 +61604,29 @@ public: }; // Alignment: 6 -// Size: 0x5d0 +// Size: 0x5e0 class C_DOTA_Ability_Kunkka_GhostShip : public C_DOTABaseAbility { public: - float buff_duration; // 0x5a0 - float stun_duration; // 0x5a4 - int32_t ghostship_width; // 0x5a8 - int32_t ghostship_width_scepter; // 0x5ac - Vector m_vFinalDestination; // 0x5b0 - Vector m_vStartingPoint; // 0x5bc + float buff_duration; // 0x5b0 + float stun_duration; // 0x5b4 + int32_t ghostship_width; // 0x5b8 + int32_t ghostship_width_scepter; // 0x5bc + Vector m_vFinalDestination; // 0x5c0 + Vector m_vStartingPoint; // 0x5cc }; // Alignment: 2 -// Size: 0x5d0 +// Size: 0x5e0 class C_DOTA_Ability_Kunkka_Tidal_Wave : public C_DOTABaseAbility { public: - CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x5a0 - Vector m_vStart; // 0x5b8 + CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x5b0 + Vector m_vStart; // 0x5c8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Tiny_CraggyExterior : public C_DOTABaseAbility { public: @@ -60761,15 +61634,15 @@ public: }; // Alignment: 1 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Tiny_Avalanche : public C_DOTABaseAbility { public: - Vector m_vTargetLoc; // 0x5a0 + Vector m_vTargetLoc; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Tiny_Toss : public C_DOTABaseAbility { public: @@ -60777,15 +61650,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Tiny_Tree_Grab : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hStolenTree; // 0x5a0 + CHandle< C_BaseEntity > m_hStolenTree; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Tiny_Tree_Channel : public C_DOTABaseAbility { public: @@ -60793,7 +61666,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Tiny_TossTree : public C_DOTABaseAbility { public: @@ -60801,7 +61674,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Tiny_Grow : public C_DOTABaseAbility { public: @@ -60809,7 +61682,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tiny : public C_DOTABaseAbility { public: @@ -60817,7 +61690,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tiny_2 : public C_DOTABaseAbility { public: @@ -60825,7 +61698,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tiny_3 : public C_DOTABaseAbility { public: @@ -60833,7 +61706,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tiny_4 : public C_DOTABaseAbility { public: @@ -60841,7 +61714,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tiny_5 : public C_DOTABaseAbility { public: @@ -60849,7 +61722,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tiny_6 : public C_DOTABaseAbility { public: @@ -60857,7 +61730,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Tiny_7 : public C_DOTABaseAbility { public: @@ -60865,7 +61738,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Puck_EtherealJaunt : public C_DOTABaseAbility { public: @@ -60873,30 +61746,30 @@ public: }; // Alignment: 5 -// Size: 0x5d0 +// Size: 0x5e0 class C_DOTA_Ability_Puck_IllusoryOrb : public C_DOTABaseAbility { public: - int32_t m_iProjectile; // 0x5a0 + int32_t m_iProjectile; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 + [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: - CountdownTimer m_ViewerTimer; // 0x5a8 - int32_t orb_vision; // 0x5c0 - float vision_duration; // 0x5c4 - int32_t damage; // 0x5c8 + CountdownTimer m_ViewerTimer; // 0x5b8 + int32_t orb_vision; // 0x5d0 + float vision_duration; // 0x5d4 + int32_t damage; // 0x5d8 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Puck_WaningRift : public C_DOTABaseAbility { public: - int32_t max_distance; // 0x5a0 + int32_t max_distance; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Puck_PhaseShift : public C_DOTABaseAbility { public: @@ -60904,15 +61777,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Puck_DreamCoil : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hThinker; // 0x5a0 + CHandle< C_BaseEntity > m_hThinker; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Puck : public C_DOTABaseAbility { public: @@ -60920,7 +61793,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Puck_2 : public C_DOTABaseAbility { public: @@ -60928,7 +61801,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Puck_3 : public C_DOTABaseAbility { public: @@ -60936,7 +61809,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Puck_4 : public C_DOTABaseAbility { public: @@ -60944,7 +61817,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Puck_5 : public C_DOTABaseAbility { public: @@ -60952,7 +61825,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Puck_6 : public C_DOTABaseAbility { public: @@ -60960,7 +61833,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Puck_7 : public C_DOTABaseAbility { public: @@ -60968,7 +61841,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Puck_8 : public C_DOTABaseAbility { public: @@ -60976,42 +61849,42 @@ public: }; // Alignment: 6 -// Size: 0x5d8 +// Size: 0x5e8 class C_DOTA_Ability_Windrunner_Shackleshot : public C_DOTABaseAbility { public: - int32_t shackle_count; // 0x5a0 - Vector m_vArrowAvgPos; // 0x5a4 - Vector m_vArrowStartPos; // 0x5b0 - Vector m_vArrowStartPos2; // 0x5bc - Vector m_vArrowStartPos3; // 0x5c8 - CHandle< C_BaseEntity > m_hTarget; // 0x5d4 + int32_t shackle_count; // 0x5b0 + Vector m_vArrowAvgPos; // 0x5b4 + Vector m_vArrowStartPos; // 0x5c0 + Vector m_vArrowStartPos2; // 0x5cc + Vector m_vArrowStartPos3; // 0x5d8 + CHandle< C_BaseEntity > m_hTarget; // 0x5e4 }; // Alignment: 10 -// Size: 0x5d0 +// Size: 0x5e0 class C_DOTA_Ability_Windrunner_Powershot : public C_DOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad05a0[0x8]; // 0x5a0 + [[maybe_unused]] uint8_t __pad05b0[0x8]; // 0x5b0 public: - GameTime_t m_fStartTime; // 0x5a8 - float m_fPower; // 0x5ac - int32_t m_iProjectile; // 0x5b0 - float damage_reduction; // 0x5b4 - int32_t arrow_width; // 0x5b8 - int32_t powershot_damage; // 0x5bc - float tree_width; // 0x5c0 - bool m_bAwardedKillEater; // 0x5c4 + GameTime_t m_fStartTime; // 0x5b8 + float m_fPower; // 0x5bc + int32_t m_iProjectile; // 0x5c0 + float damage_reduction; // 0x5c4 + int32_t arrow_width; // 0x5c8 + int32_t powershot_damage; // 0x5cc + float tree_width; // 0x5d0 + bool m_bAwardedKillEater; // 0x5d4 private: - [[maybe_unused]] uint8_t __pad05c5[0x3]; // 0x5c5 + [[maybe_unused]] uint8_t __pad05d5[0x3]; // 0x5d5 public: - int32_t m_nHeroesHit; // 0x5c8 - ParticleIndex_t m_nFXIndex; // 0x5cc + int32_t m_nHeroesHit; // 0x5d8 + ParticleIndex_t m_nFXIndex; // 0x5dc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Windrunner_Windrun : public C_DOTABaseAbility { public: @@ -61019,7 +61892,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Windrunner_FocusFire : public C_DOTABaseAbility { public: @@ -61027,7 +61900,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Windrunner_FocusFire_End : public C_DOTABaseAbility { public: @@ -61035,17 +61908,17 @@ public: }; // Alignment: 3 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_Windrunner_GaleForce : public C_DOTABaseAbility { public: - Vector m_vEndpoint; // 0x5a0 - Vector m_vFlowPosition; // 0x5ac - float duration; // 0x5b8 + Vector m_vEndpoint; // 0x5b0 + Vector m_vFlowPosition; // 0x5bc + float duration; // 0x5c8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Lich_FrostNova : public C_DOTABaseAbility { public: @@ -61053,20 +61926,20 @@ public: }; // Alignment: 2 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_Lich_Sinister_Gaze : public C_DOTABaseAbility { public: // MNetworkEnable - float m_flLongestGazeDuration; // 0x5a0 + float m_flLongestGazeDuration; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 + [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hAffectedEntities; // 0x5a8 + CUtlVector< CHandle< C_BaseEntity > > m_hAffectedEntities; // 0x5b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Lich_DarkSorcery : public C_DOTABaseAbility { public: @@ -61074,7 +61947,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Lich_FrostAura : public C_DOTABaseAbility { public: @@ -61082,7 +61955,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Lich_FrostArmor : public C_DOTABaseAbility { public: @@ -61090,7 +61963,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Lich_FrostShield : public C_DOTABaseAbility { public: @@ -61098,29 +61971,29 @@ public: }; // Alignment: 6 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_Lich_ChainFrost : public C_DOTABaseAbility { public: - int32_t jump_range; // 0x5a0 - int32_t jumps; // 0x5a4 - float slow_duration; // 0x5a8 - int32_t vision_radius; // 0x5ac - int32_t projectile_speed; // 0x5b0 - int32_t initial_projectile_speed; // 0x5b4 + int32_t jump_range; // 0x5b0 + int32_t jumps; // 0x5b4 + float slow_duration; // 0x5b8 + int32_t vision_radius; // 0x5bc + int32_t projectile_speed; // 0x5c0 + int32_t initial_projectile_speed; // 0x5c4 }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Lich_Ice_Spire : public C_DOTABaseAbility { public: - int32_t aura_radius; // 0x5a0 - float duration; // 0x5a4 + int32_t aura_radius; // 0x5b0 + float duration; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lich_1 : public C_DOTABaseAbility { public: @@ -61128,7 +62001,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lich_2 : public C_DOTABaseAbility { public: @@ -61136,7 +62009,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lich_3 : public C_DOTABaseAbility { public: @@ -61144,7 +62017,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lich_4 : public C_DOTABaseAbility { public: @@ -61152,7 +62025,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lich_5 : public C_DOTABaseAbility { public: @@ -61160,7 +62033,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lich_6 : public C_DOTABaseAbility { public: @@ -61168,7 +62041,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lich_7 : public C_DOTABaseAbility { public: @@ -61176,7 +62049,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lich_8 : public C_DOTABaseAbility { public: @@ -61184,15 +62057,15 @@ public: }; // Alignment: 1 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Tidehunter_Gush : public C_DOTABaseAbility { public: - int32_t gush_damage; // 0x5a0 + int32_t gush_damage; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Tidehunter_KrakenShell : public C_DOTABaseAbility { public: @@ -61200,7 +62073,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Tidehunter_AnchorSmash : public C_DOTABaseAbility { public: @@ -61208,32 +62081,42 @@ public: }; // Alignment: 3 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_Tidehunter_Ravage : public C_DOTABaseAbility { public: - CUtlVector< CHandle< C_BaseEntity > > m_hEntsHit; // 0x5a0 - bool m_bAwardedKillEater; // 0x5b8 + CUtlVector< CHandle< C_BaseEntity > > m_hEntsHit; // 0x5b0 + bool m_bAwardedKillEater; // 0x5c8 private: - [[maybe_unused]] uint8_t __pad05b9[0x3]; // 0x5b9 + [[maybe_unused]] uint8_t __pad05c9[0x3]; // 0x5c9 public: - float duration; // 0x5bc + float duration; // 0x5cc }; // Alignment: 5 -// Size: 0x5d0 +// Size: 0x5e0 class C_DOTA_Ability_Tidehunter_ArmOfTheDeep : public C_DOTABaseAbility { public: - CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x5a0 - float duration; // 0x5b8 - int32_t speed; // 0x5bc - float damage; // 0x5c0 - float range; // 0x5c4 + CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x5b0 + float duration; // 0x5c8 + int32_t speed; // 0x5cc + float damage; // 0x5d0 + float range; // 0x5d4 +}; + +// Alignment: 3 +// Size: 0x5c0 +class C_DOTA_Ability_Tidehunter_DeadInTheWater : public C_DOTABaseAbility +{ +public: + int32_t radius; // 0x5b0 + float duration; // 0x5b4 + int32_t chain_length; // 0x5b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_ShadowShaman_EtherShock : public C_DOTABaseAbility { public: @@ -61241,7 +62124,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_ShadowShamanVoodoo : public C_DOTABaseAbility { public: @@ -61249,7 +62132,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_ShadowShaman_MassSerpentWard : public C_DOTABaseAbility { public: @@ -61257,27 +62140,27 @@ public: }; // Alignment: 3 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_ShadowShaman_Shackles : public C_DOTABaseAbility { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hShackleTarget; // 0x5a0 - ParticleIndex_t nShackleFXIndex; // 0x5a4 - CUtlVector< CHandle< C_BaseEntity > > hWardList; // 0x5a8 + CHandle< C_BaseEntity > m_hShackleTarget; // 0x5b0 + ParticleIndex_t nShackleFXIndex; // 0x5b4 + CUtlVector< CHandle< C_BaseEntity > > hWardList; // 0x5b8 }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_ShadowShaman_Serpentine : public C_DOTABaseAbility { public: - int32_t length; // 0x5a0 - int32_t count; // 0x5a4 + int32_t length; // 0x5b0 + int32_t count; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Riki_SmokeScreen : public C_DOTABaseAbility { public: @@ -61285,7 +62168,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Riki_BlinkStrike : public C_DOTABaseAbility { public: @@ -61293,7 +62176,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Riki_Permanent_Invisibility : public C_DOTABaseAbility { public: @@ -61301,7 +62184,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Riki_Backstab : public C_DOTABaseAbility { public: @@ -61309,7 +62192,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Riki_TricksOfTheTrade : public C_DOTABaseAbility { public: @@ -61317,7 +62200,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Riki_Poison_Dart : public C_DOTABaseAbility { public: @@ -61325,7 +62208,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Enigma_DemonicConversion : public C_DOTABaseAbility { public: @@ -61333,17 +62216,17 @@ public: }; // Alignment: 3 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Enigma_Malefice : public C_DOTABaseAbility { public: - float tick_rate; // 0x5a0 - int32_t stun_instances; // 0x5a4 - float m_flDuration; // 0x5a8 + float tick_rate; // 0x5b0 + int32_t stun_instances; // 0x5b4 + float m_flDuration; // 0x5b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Enigma_MidnightPulse : public C_DOTABaseAbility { public: @@ -61351,7 +62234,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Enigma_BlackHole : public C_DOTABaseAbility { public: @@ -61359,7 +62242,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Enigma : public C_DOTABaseAbility { public: @@ -61367,7 +62250,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Enigma_2 : public C_DOTABaseAbility { public: @@ -61375,7 +62258,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Enigma_3 : public C_DOTABaseAbility { public: @@ -61383,7 +62266,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Enigma_4 : public C_DOTABaseAbility { public: @@ -61391,7 +62274,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Enigma_5 : public C_DOTABaseAbility { public: @@ -61399,7 +62282,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Enigma_6 : public C_DOTABaseAbility { public: @@ -61407,7 +62290,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Enigma_7 : public C_DOTABaseAbility { public: @@ -61415,7 +62298,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Enigma_8 : public C_DOTABaseAbility { public: @@ -61423,7 +62306,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Enigma_9 : public C_DOTABaseAbility { public: @@ -61431,7 +62314,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Tinker_Defensive_Matrix : public C_DOTABaseAbility { public: @@ -61439,55 +62322,55 @@ public: }; // Alignment: 3 -// Size: 0x5c8 +// Size: 0x5d8 class C_DOTA_Ability_Tinker_Laser : public C_DOTABaseAbility { public: - Vector m_vProjectileLocation; // 0x5a0 - bool bBlocked; // 0x5ac + Vector m_vProjectileLocation; // 0x5b0 + bool bBlocked; // 0x5bc private: - [[maybe_unused]] uint8_t __pad05ad[0x3]; // 0x5ad + [[maybe_unused]] uint8_t __pad05bd[0x3]; // 0x5bd public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x5b0 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x5c0 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Tinker_HeatSeekingMissile : public C_DOTABaseAbility { public: - int32_t m_nTargetsKilled; // 0x5a0 + int32_t m_nTargetsKilled; // 0x5b0 }; // Alignment: 3 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Tinker_WarpGrenade : public C_DOTABaseAbility { public: - float debuff_duration; // 0x5a0 - float knockback_distance; // 0x5a4 - float damage; // 0x5a8 + float debuff_duration; // 0x5b0 + float knockback_distance; // 0x5b4 + float damage; // 0x5b8 }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Tinker_MarchOfTheMachines : public C_DOTABaseAbility { public: - int32_t splash_radius; // 0x5a0 - int32_t damage; // 0x5a4 + int32_t splash_radius; // 0x5b0 + int32_t damage; // 0x5b4 }; // Alignment: 1 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Tinker_Rearm : public C_DOTABaseAbility { public: - Vector m_vProjectileLocation; // 0x5a0 + Vector m_vProjectileLocation; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Tinker_Shrink_Ray : public C_DOTABaseAbility { public: @@ -61495,31 +62378,31 @@ public: }; // Alignment: 7 -// Size: 0x5c8 +// Size: 0x5d8 class C_DOTA_Ability_Tinker_Keen_Teleport : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hTeleportTarget; // 0x5a0 - ParticleIndex_t m_nFXOrigin; // 0x5a4 - ParticleIndex_t m_nFXDestination; // 0x5a8 - Vector m_vDestination; // 0x5ac - int32_t m_iMinDistance; // 0x5b8 - float m_flBaseTeleportTime; // 0x5bc - float m_flExtraTeleportTime; // 0x5c0 + CHandle< C_BaseEntity > m_hTeleportTarget; // 0x5b0 + ParticleIndex_t m_nFXOrigin; // 0x5b4 + ParticleIndex_t m_nFXDestination; // 0x5b8 + Vector m_vDestination; // 0x5bc + int32_t m_iMinDistance; // 0x5c8 + float m_flBaseTeleportTime; // 0x5cc + float m_flExtraTeleportTime; // 0x5d0 }; // Alignment: 3 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_WitchDoctor_ParalyzingCask : public C_DOTABaseAbility { public: - int32_t m_iBounces; // 0x5a0 - int32_t bounces; // 0x5a4 - int32_t bounce_bonus_damage; // 0x5a8 + int32_t m_iBounces; // 0x5b0 + int32_t bounces; // 0x5b4 + int32_t bounce_bonus_damage; // 0x5b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_WitchDoctor_VoodooRestoration : public C_DOTABaseAbility { public: @@ -61527,7 +62410,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_WitchDoctor_Maledict : public C_DOTABaseAbility { public: @@ -61535,26 +62418,26 @@ public: }; // Alignment: 8 -// Size: 0x5d8 +// Size: 0x5e8 class C_DOTA_Ability_WitchDoctor_DeathWard : public C_DOTABaseAbility { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hWard; // 0x5a0 - int32_t m_iDamage; // 0x5a4 - int32_t m_iBounceRadius; // 0x5a8 - int32_t m_iProjectileSpeed; // 0x5ac - GameTime_t m_fWardExpireTime; // 0x5b0 - ParticleIndex_t m_nFXIndex; // 0x5b4 - int32_t m_iAttackIndex; // 0x5b8 + CHandle< C_BaseEntity > m_hWard; // 0x5b0 + int32_t m_iDamage; // 0x5b4 + int32_t m_iBounceRadius; // 0x5b8 + int32_t m_iProjectileSpeed; // 0x5bc + GameTime_t m_fWardExpireTime; // 0x5c0 + ParticleIndex_t m_nFXIndex; // 0x5c4 + int32_t m_iAttackIndex; // 0x5c8 private: - [[maybe_unused]] uint8_t __pad05bc[0x4]; // 0x5bc + [[maybe_unused]] uint8_t __pad05cc[0x4]; // 0x5cc public: - CUtlVector< sBounceInfo > m_BounceInfo; // 0x5c0 + CUtlVector< sBounceInfo > m_BounceInfo; // 0x5d0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_WitchDoctor_Voodoo_Switcheroo : public C_DOTABaseAbility { public: @@ -61562,7 +62445,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_1 : public C_DOTABaseAbility { public: @@ -61570,7 +62453,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_2 : public C_DOTABaseAbility { public: @@ -61578,7 +62461,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_3 : public C_DOTABaseAbility { public: @@ -61586,7 +62469,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_4 : public C_DOTABaseAbility { public: @@ -61594,7 +62477,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_5 : public C_DOTABaseAbility { public: @@ -61602,7 +62485,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_6 : public C_DOTABaseAbility { public: @@ -61610,7 +62493,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_7 : public C_DOTABaseAbility { public: @@ -61618,7 +62501,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Sniper_Shrapnel : public C_DOTABaseAbility { public: @@ -61626,7 +62509,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Sniper_Headshot : public C_DOTABaseAbility { public: @@ -61634,32 +62517,33 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Sniper_TakeAim : public C_DOTABaseAbility { public: // No members available }; -// Alignment: 2 -// Size: 0x5a8 +// Alignment: 3 +// Size: 0x5c0 class C_DOTA_Ability_Sniper_Assassinate : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hTarget; // 0x5a0 - ParticleIndex_t m_iIndex; // 0x5a4 + CHandle< C_BaseEntity > m_hTarget; // 0x5b0 + ParticleIndex_t m_iIndex; // 0x5b4 + float cooldown_reduction_on_kill; // 0x5b8 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Sniper_Concussive_Grenade : public C_DOTABaseAbility { public: - int32_t m_iProjectile; // 0x5a0 + int32_t m_iProjectile; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Necrolyte_Sadist_Stop : public C_DOTABaseAbility { public: @@ -61667,7 +62551,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Necrolyte_Sadist : public C_DOTABaseAbility { public: @@ -61675,17 +62559,17 @@ public: }; // Alignment: 1 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Necrolyte_Death_Pulse : public C_DOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad05a0[0x8]; // 0x5a0 + [[maybe_unused]] uint8_t __pad05b0[0x8]; // 0x5b0 public: - bool m_bIsDeathSeekerCast; // 0x5a8 + bool m_bIsDeathSeekerCast; // 0x5b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Necrolyte_Heartstopper_Aura : public C_DOTABaseAbility { public: @@ -61693,7 +62577,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Necrolyte_ReapersScythe : public C_DOTABaseAbility { public: @@ -61701,7 +62585,7 @@ public: }; // Alignment: 0 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Necrolyte_Death_Seeker : public C_DOTABaseAbility { public: @@ -61709,7 +62593,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Slardar_Sprint : public C_DOTABaseAbility { public: @@ -61717,7 +62601,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Slardar_Slithereen_Crush : public C_DOTABaseAbility { public: @@ -61725,7 +62609,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Slardar_Bash : public C_DOTABaseAbility { public: @@ -61733,7 +62617,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Slardar_Amplify_Damage : public C_DOTABaseAbility { public: @@ -61741,7 +62625,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Slardar : public C_DOTABaseAbility { public: @@ -61749,7 +62633,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Slardar_2 : public C_DOTABaseAbility { public: @@ -61757,7 +62641,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Slardar_3 : public C_DOTABaseAbility { public: @@ -61765,7 +62649,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Slardar_4 : public C_DOTABaseAbility { public: @@ -61773,7 +62657,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Slardar_5 : public C_DOTABaseAbility { public: @@ -61781,7 +62665,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Slardar_6 : public C_DOTABaseAbility { public: @@ -61789,7 +62673,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Slardar_7 : public C_DOTABaseAbility { public: @@ -61797,7 +62681,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Slardar_8 : public C_DOTABaseAbility { public: @@ -61805,7 +62689,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Ursa_Overpower : public C_DOTABaseAbility { public: @@ -61813,7 +62697,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Ursa_Fury_Swipes : public C_DOTABaseAbility { public: @@ -61821,7 +62705,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Ursa_Enrage : public C_DOTABaseAbility { public: @@ -61829,29 +62713,33 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Ursa_Earthshock : public C_DOTABaseAbility { public: // No members available }; -// Alignment: 7 -// Size: 0x5c0 +// Alignment: 8 +// Size: 0x5e8 class C_DOTA_Ability_Lion_Impale : public C_DOTABaseAbility { public: - int32_t width; // 0x5a0 - float duration; // 0x5a4 - int32_t speed; // 0x5a8 - float length_buffer; // 0x5ac - float range; // 0x5b0 - int32_t m_iDefaultCastRange; // 0x5b4 - int32_t pierces_immunity; // 0x5b8 + int32_t width; // 0x5b0 + float duration; // 0x5b4 + int32_t speed; // 0x5b8 + float length_buffer; // 0x5bc + float range; // 0x5c0 + int32_t m_iDefaultCastRange; // 0x5c4 + int32_t pierces_immunity; // 0x5c8 +private: + [[maybe_unused]] uint8_t __pad05cc[0x4]; // 0x5cc +public: + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x5d0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Lion_Voodoo : public C_DOTABaseAbility { public: @@ -61859,23 +62747,23 @@ public: }; // Alignment: 1 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Lion_ManaDrain : public C_DOTABaseAbility { public: - CUtlVector< CHandle< C_BaseEntity > > m_Victims; // 0x5a0 + CUtlVector< CHandle< C_BaseEntity > > m_Victims; // 0x5b0 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Lion_FingerOfDeath : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 + ParticleIndex_t m_nFXIndex; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lion : public C_DOTABaseAbility { public: @@ -61883,7 +62771,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_2 : public C_DOTABaseAbility { public: @@ -61891,7 +62779,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_3 : public C_DOTABaseAbility { public: @@ -61899,7 +62787,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_4 : public C_DOTABaseAbility { public: @@ -61907,7 +62795,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_5 : public C_DOTABaseAbility { public: @@ -61915,7 +62803,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_6 : public C_DOTABaseAbility { public: @@ -61923,7 +62811,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_7 : public C_DOTABaseAbility { public: @@ -61931,7 +62819,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_8 : public C_DOTABaseAbility { public: @@ -61939,7 +62827,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_9 : public C_DOTABaseAbility { public: @@ -61947,7 +62835,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_10 : public C_DOTABaseAbility { public: @@ -61955,7 +62843,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_11 : public C_DOTABaseAbility { public: @@ -61963,7 +62851,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Courier_ReturnToBase : public C_DOTABaseAbility { public: @@ -61971,7 +62859,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Courier_TakeStashItems : public C_DOTABaseAbility { public: @@ -61979,7 +62867,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Courier_ReturnStashItems : public C_DOTABaseAbility { public: @@ -61987,7 +62875,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Courier_GoToSecretShop : public C_DOTABaseAbility { public: @@ -61995,7 +62883,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Courier_GoToEnemySecretShop : public C_DOTABaseAbility { public: @@ -62003,7 +62891,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Courier_GoToSideShop : public C_DOTABaseAbility { public: @@ -62011,7 +62899,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Courier_GoToSideShop2 : public C_DOTABaseAbility { public: @@ -62019,7 +62907,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Courier_TransferItems : public C_DOTABaseAbility { public: @@ -62027,7 +62915,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Courier_TransferItems_ToOtherPlayer : public C_DOTABaseAbility { public: @@ -62035,7 +62923,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Courier_TakeStashAndTransferItems : public C_DOTABaseAbility { public: @@ -62043,7 +62931,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Courier_Burst : public C_DOTABaseAbility { public: @@ -62051,7 +62939,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Courier_Morph : public C_DOTABaseAbility { public: @@ -62059,7 +62947,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Courier_Shield : public C_DOTABaseAbility { public: @@ -62067,7 +62955,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Courier_QueuePickupFromStash : public C_DOTABaseAbility { public: @@ -62075,7 +62963,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Courier_DequeuePickupFromStash : public C_DOTABaseAbility { public: @@ -62083,7 +62971,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Roshan_SpellBlock : public C_DOTABaseAbility { public: @@ -62091,17 +62979,17 @@ public: }; // Alignment: 3 -// Size: 0x5b0 +// Size: 0x5c0 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 + ParticleIndex_t m_nFXIndexStart; // 0x5b0 + ParticleIndex_t m_nFXIndexEnd; // 0x5b4 + ParticleIndex_t m_nFXIndexEndTeam; // 0x5b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Roshan_Bash : public C_DOTABaseAbility { public: @@ -62109,7 +62997,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Roshan_Slam : public C_DOTABaseAbility { public: @@ -62117,7 +63005,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Roshan_InherentBuffs : public C_DOTABaseAbility { public: @@ -62125,7 +63013,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Roshan_Devotion : public C_DOTABaseAbility { public: @@ -62133,7 +63021,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Miniboss_Unyielding_Shield : public C_DOTABaseAbility { public: @@ -62141,7 +63029,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Miniboss_Reflect : public C_DOTABaseAbility { public: @@ -62149,15 +63037,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Animation_Attack : public C_DOTABaseAbility { public: - float animation_time; // 0x5a0 + float animation_time; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Animation_RightClawSwipe : public C_DOTA_Ability_Animation_Attack { public: @@ -62165,7 +63053,7 @@ public: }; // Alignment: 0 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Animation_LeftClawSwipe : public C_DOTA_Ability_Animation_Attack { public: @@ -62173,7 +63061,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Nian_Dive : public C_DOTABaseAbility { public: @@ -62181,7 +63069,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_NianCharge : public C_DOTABaseAbility { public: @@ -62189,7 +63077,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Nian_Frenzy : public C_DOTABaseAbility { public: @@ -62197,58 +63085,58 @@ public: }; // Alignment: 16 -// Size: 0x5f8 +// Size: 0x608 class C_DOTA_Ability_Nian_Roar : public C_DOTABaseAbility { public: - int32_t base_projectiles; // 0x5a0 - int32_t max_projectiles; // 0x5a4 - int32_t projectile_step; // 0x5a8 - int32_t base_speed; // 0x5ac - int32_t speed_step; // 0x5b0 - int32_t initial_radius; // 0x5b4 - int32_t end_radius; // 0x5b8 - int32_t damage; // 0x5bc - float base_interval; // 0x5c0 - float interval_step; // 0x5c4 - int32_t m_nCastCount; // 0x5c8 - int32_t m_nProjectiles; // 0x5cc - int32_t m_nWaveCount; // 0x5d0 + int32_t base_projectiles; // 0x5b0 + int32_t max_projectiles; // 0x5b4 + int32_t projectile_step; // 0x5b8 + int32_t base_speed; // 0x5bc + int32_t speed_step; // 0x5c0 + int32_t initial_radius; // 0x5c4 + int32_t end_radius; // 0x5c8 + int32_t damage; // 0x5cc + float base_interval; // 0x5d0 + float interval_step; // 0x5d4 + int32_t m_nCastCount; // 0x5d8 + int32_t m_nProjectiles; // 0x5dc + int32_t m_nWaveCount; // 0x5e0 private: - [[maybe_unused]] uint8_t __pad05d4[0x4]; // 0x5d4 + [[maybe_unused]] uint8_t __pad05e4[0x4]; // 0x5e4 public: - CountdownTimer m_ctTimer; // 0x5d8 - float m_flTiming; // 0x5f0 - bool m_bScriptRoar; // 0x5f4 + CountdownTimer m_ctTimer; // 0x5e8 + float m_flTiming; // 0x600 + bool m_bScriptRoar; // 0x604 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Animation_TailSpin : public C_DOTABaseAbility { public: - float animation_time; // 0x5a0 + float animation_time; // 0x5b0 }; // Alignment: 7 -// Size: 0x5d8 +// Size: 0x5e8 class C_DOTA_Ability_Nian_Apocalypse : public C_DOTABaseAbility { public: - int32_t area_of_effect; // 0x5a0 - ParticleIndex_t m_nfxIndex_roar; // 0x5a4 - float fire_interval; // 0x5a8 - float delay; // 0x5ac - float target_range; // 0x5b0 + int32_t area_of_effect; // 0x5b0 + ParticleIndex_t m_nfxIndex_roar; // 0x5b4 + float fire_interval; // 0x5b8 + float delay; // 0x5bc + float target_range; // 0x5c0 private: - [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 + [[maybe_unused]] uint8_t __pad05c4[0x4]; // 0x5c4 public: - CountdownTimer m_ctTimer; // 0x5b8 - float m_flTiming; // 0x5d0 + CountdownTimer m_ctTimer; // 0x5c8 + float m_flTiming; // 0x5e0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Nian_GreaterBash : public C_DOTABaseAbility { public: @@ -62256,7 +63144,7 @@ public: }; // Alignment: 0 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Nian_Tail_Swipe : public C_DOTA_Ability_Animation_Attack { public: @@ -62264,47 +63152,47 @@ public: }; // Alignment: 13 -// Size: 0x5f8 +// Size: 0x608 class C_DOTA_Ability_Nian_Hurricane : public C_DOTABaseAbility { public: - int32_t min_distance; // 0x5a0 - int32_t max_distance; // 0x5a4 - int32_t torrent_count; // 0x5a8 - float fire_interval; // 0x5ac - float pull_switch_interval; // 0x5b0 - float game_time_wind_activation; // 0x5b4 - CountdownTimer m_ctPullTimer; // 0x5b8 - CountdownTimer m_ctTimer; // 0x5d0 - float m_flTiming; // 0x5e8 - bool m_bForward; // 0x5ec - bool m_bUseWind; // 0x5ed + int32_t min_distance; // 0x5b0 + int32_t max_distance; // 0x5b4 + int32_t torrent_count; // 0x5b8 + float fire_interval; // 0x5bc + float pull_switch_interval; // 0x5c0 + float game_time_wind_activation; // 0x5c4 + CountdownTimer m_ctPullTimer; // 0x5c8 + CountdownTimer m_ctTimer; // 0x5e0 + float m_flTiming; // 0x5f8 + bool m_bForward; // 0x5fc + bool m_bUseWind; // 0x5fd private: - [[maybe_unused]] uint8_t __pad05ee[0x2]; // 0x5ee + [[maybe_unused]] uint8_t __pad05fe[0x2]; // 0x5fe public: - ParticleIndex_t m_nFXIndex; // 0x5f0 - ParticleIndex_t m_nfxIndex_roar; // 0x5f4 + ParticleIndex_t m_nFXIndex; // 0x600 + ParticleIndex_t m_nfxIndex_roar; // 0x604 }; // Alignment: 7 -// Size: 0x5d8 +// Size: 0x5e8 class C_DOTA_Ability_Nian_Whirlpool : public C_DOTABaseAbility { public: - int32_t pool_count; // 0x5a0 - int32_t min_distance; // 0x5a4 - int32_t max_distance; // 0x5a8 - int32_t pull_radius; // 0x5ac - float fire_interval; // 0x5b0 + int32_t pool_count; // 0x5b0 + int32_t min_distance; // 0x5b4 + int32_t max_distance; // 0x5b8 + int32_t pull_radius; // 0x5bc + float fire_interval; // 0x5c0 private: - [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 + [[maybe_unused]] uint8_t __pad05c4[0x4]; // 0x5c4 public: - CountdownTimer m_ctTimer; // 0x5b8 - float m_flTiming; // 0x5d0 + CountdownTimer m_ctTimer; // 0x5c8 + float m_flTiming; // 0x5e0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Nian_Eruption : public C_DOTABaseAbility { public: @@ -62312,7 +63200,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Nian_Sigils : public C_DOTABaseAbility { public: @@ -62320,16 +63208,16 @@ public: }; // Alignment: 2 -// Size: 0x5d0 +// Size: 0x5e0 class C_DOTA_Ability_Nian_Waterball : public C_DOTABaseAbility { public: - CountdownTimer m_ctTimer; // 0x5a0 - CUtlVector< CHandle< C_BaseEntity > > m_hEntities; // 0x5b8 + CountdownTimer m_ctTimer; // 0x5b0 + CUtlVector< CHandle< C_BaseEntity > > m_hEntities; // 0x5c8 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Nian_Flag_Trap : public C_DOTA_Item { public: @@ -62337,7 +63225,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Ability_Firework_Mine : public C_DOTA_Item { public: @@ -62345,7 +63233,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_JumpBoots : public C_DOTA_Item { public: @@ -62353,7 +63241,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Nian_Leap : public C_DOTABaseAbility { public: @@ -62361,7 +63249,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Vermillion_Robe : public C_DOTA_Item { public: @@ -62369,7 +63257,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Vermillion_Robe : public C_DOTA_Item { public: @@ -62377,7 +63265,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Warlock_Fatal_Bonds : public C_DOTABaseAbility { public: @@ -62385,7 +63273,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Warlock_Shadow_Word : public C_DOTABaseAbility { public: @@ -62393,44 +63281,44 @@ public: }; // Alignment: 16 -// Size: 0x618 +// Size: 0x628 class C_DOTA_Ability_Warlock_Upheaval : public C_DOTABaseAbility { public: - Vector m_vPosition; // 0x5a0 - float aoe; // 0x5ac - int32_t slow_per_second; // 0x5b0 - int32_t aspd_per_second; // 0x5b4 - int32_t max_slow; // 0x5b8 - int32_t damage_per_second; // 0x5bc - int32_t max_damage; // 0x5c0 - float damage_tick_interval; // 0x5c4 - CountdownTimer m_timer; // 0x5c8 - CountdownTimer m_shardTimer; // 0x5e0 - float duration; // 0x5f8 - GameTime_t m_flElapsedTime; // 0x5fc - float m_flCurrentSlow; // 0x600 - ParticleIndex_t m_nFXIndex; // 0x604 + Vector m_vPosition; // 0x5b0 + float aoe; // 0x5bc + int32_t slow_per_second; // 0x5c0 + int32_t aspd_per_second; // 0x5c4 + int32_t max_slow; // 0x5c8 + int32_t damage_per_second; // 0x5cc + int32_t max_damage; // 0x5d0 + float damage_tick_interval; // 0x5d4 + CountdownTimer m_timer; // 0x5d8 + CountdownTimer m_shardTimer; // 0x5f0 + float duration; // 0x608 + GameTime_t m_flElapsedTime; // 0x60c + float m_flCurrentSlow; // 0x610 + ParticleIndex_t m_nFXIndex; // 0x614 private: - [[maybe_unused]] uint8_t __pad0608[0x8]; // 0x608 + [[maybe_unused]] uint8_t __pad0618[0x8]; // 0x618 public: - bool m_bTargetCast; // 0x610 + bool m_bTargetCast; // 0x620 private: - [[maybe_unused]] uint8_t __pad0611[0x3]; // 0x611 + [[maybe_unused]] uint8_t __pad0621[0x3]; // 0x621 public: - CHandle< C_BaseEntity > m_hTarget; // 0x614 + CHandle< C_BaseEntity > m_hTarget; // 0x624 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Warlock_RainOfChaos : public C_DOTABaseAbility { public: - int32_t aoe; // 0x5a0 + int32_t aoe; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Warlock_Golem_Flaming_Fists : public C_DOTABaseAbility { public: @@ -62438,7 +63326,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Warlock_Golem_Permanent_Immolation : public C_DOTABaseAbility { public: @@ -62446,7 +63334,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Warlock_Imp_Explode : public C_DOTABaseAbility { public: @@ -62454,7 +63342,7 @@ public: }; // Alignment: 0 -// Size: 0x7d0 +// Size: 0x7e0 class C_DOTA_Beastmaster_Axe : public CBaseAnimatingActivity { public: @@ -62462,31 +63350,32 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Beastmaster_WildAxes : public C_DOTABaseAbility { public: - int32_t axe_damage; // 0x5a0 + int32_t axe_damage; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Beastmaster_CallOfTheWild_Boar : public C_DOTABaseAbility { public: // No members available }; -// Alignment: 0 -// Size: 0x5a0 +// Alignment: 2 +// Size: 0x5d0 class C_DOTA_Ability_Beastmaster_CallOfTheWild_Hawk : public C_DOTABaseAbility { public: - // No members available + CUtlVector< CHandle< C_BaseEntity > > m_HawkList; // 0x5b0 + float m_flRotation; // 0x5c8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_CallOfTheWild_Boar_Poison : public C_DOTABaseAbility { public: @@ -62494,7 +63383,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Beastmaster_InnerBeast : public C_DOTABaseAbility { public: @@ -62502,23 +63391,23 @@ public: }; // Alignment: 9 -// Size: 0x5c8 +// Size: 0x5d8 class CDOTA_Ability_Beastmaster_PrimalRoar : public C_DOTABaseAbility { public: - float duration; // 0x5a0 - float slow_duration; // 0x5a4 - int32_t side_damage; // 0x5a8 - int32_t damage_radius; // 0x5ac - int32_t path_width; // 0x5b0 - float push_duration; // 0x5b4 - int32_t push_distance; // 0x5b8 - int32_t damage; // 0x5bc - float movement_speed_duration; // 0x5c0 + float duration; // 0x5b0 + float slow_duration; // 0x5b4 + int32_t side_damage; // 0x5b8 + int32_t damage_radius; // 0x5bc + int32_t path_width; // 0x5c0 + float push_duration; // 0x5c4 + int32_t push_distance; // 0x5c8 + int32_t damage; // 0x5cc + float movement_speed_duration; // 0x5d0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Beastmaster_Mark_Of_The_Beast : public C_DOTABaseAbility { public: @@ -62526,7 +63415,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Beastmaster_Hawk_Dive : public C_DOTABaseAbility { public: @@ -62534,7 +63423,15 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 +class C_DOTA_Ability_Beastmaster_Hawk_Perch : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 class C_DOTA_Ability_Beastmaster_DrumsOfSlom : public C_DOTABaseAbility { public: @@ -62542,7 +63439,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Beastmaster_DrumsOfSlom_Stop : public C_DOTABaseAbility { public: @@ -62550,7 +63447,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Beastmaster : public C_DOTABaseAbility { public: @@ -62558,7 +63455,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_2 : public C_DOTABaseAbility { public: @@ -62566,7 +63463,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_3 : public C_DOTABaseAbility { public: @@ -62574,7 +63471,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_4 : public C_DOTABaseAbility { public: @@ -62582,7 +63479,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_5 : public C_DOTABaseAbility { public: @@ -62590,7 +63487,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_6 : public C_DOTABaseAbility { public: @@ -62598,7 +63495,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_7 : public C_DOTABaseAbility { public: @@ -62606,7 +63503,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_8 : public C_DOTABaseAbility { public: @@ -62614,7 +63511,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_9 : public C_DOTABaseAbility { public: @@ -62622,23 +63519,23 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_QueenOfPain_ScreamOfPain : public C_DOTABaseAbility { public: - int32_t damage; // 0x5a0 + int32_t damage; // 0x5b0 }; // Alignment: 1 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_QueenOfPain_ShadowStrike : public C_DOTABaseAbility { public: - Vector projectile_speed; // 0x5a0 + Vector projectile_speed; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_QueenOfPain_Blink : public C_DOTABaseAbility { public: @@ -62646,19 +63543,19 @@ public: }; // Alignment: 5 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_QueenOfPain_SonicWave : public C_DOTABaseAbility { public: - GameTime_t m_fStartTime; // 0x5a0 - float m_fTotalTime; // 0x5a4 - ParticleIndex_t m_nFXIndex; // 0x5a8 - int32_t starting_aoe; // 0x5ac - int32_t final_aoe; // 0x5b0 + GameTime_t m_fStartTime; // 0x5b0 + float m_fTotalTime; // 0x5b4 + ParticleIndex_t m_nFXIndex; // 0x5b8 + int32_t starting_aoe; // 0x5bc + int32_t final_aoe; // 0x5c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Venomancer_PoisonNova : public C_DOTABaseAbility { public: @@ -62666,7 +63563,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Venomancer_PlagueWard : public C_DOTABaseAbility { public: @@ -62674,23 +63571,23 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Venomancer_VenomousGale : public C_DOTABaseAbility { public: - float duration; // 0x5a0 + float duration; // 0x5b0 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Venomancer_PoisonSting : public C_DOTABaseAbility { public: - int32_t radius; // 0x5a0 + int32_t radius; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Holdout_ScourgeWard : public C_DOTABaseAbility { public: @@ -62698,7 +63595,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Venomancer_NoxiousPlague : public C_DOTABaseAbility { public: @@ -62706,15 +63603,15 @@ public: }; // Alignment: 1 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Venomancer_Latent_Poison : public C_DOTABaseAbility { public: - Vector projectile_speed; // 0x5a0 + Vector projectile_speed; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_FacelessVoid_Backtrack : public C_DOTABaseAbility { public: @@ -62722,7 +63619,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_FacelessVoid_TimeLock : public C_DOTABaseAbility { public: @@ -62730,7 +63627,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_FacelessVoid_TimeDilation : public C_DOTABaseAbility { public: @@ -62738,25 +63635,25 @@ public: }; // Alignment: 3 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_FacelessVoid_TimeWalk : public C_DOTABaseAbility { public: - int32_t speed; // 0x5a0 - int32_t range; // 0x5a4 - int32_t radius; // 0x5a8 + int32_t speed; // 0x5b0 + int32_t range; // 0x5b4 + int32_t radius; // 0x5b8 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_FacelessVoid_TimeWalk_Reverse : public C_DOTABaseAbility { public: - int32_t speed; // 0x5a0 + int32_t speed; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_FacelessVoid_Chronosphere : public C_DOTABaseAbility { public: @@ -62764,28 +63661,28 @@ public: }; // Alignment: 6 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_DeathProphet_CarrionSwarm : public C_DOTABaseAbility { public: - int32_t start_radius; // 0x5a0 - int32_t end_radius; // 0x5a4 - GameTime_t m_fStartTime; // 0x5a8 - float m_fTotalTime; // 0x5ac - int32_t m_nProjectileHandle; // 0x5b0 - ParticleIndex_t m_nFXIndex; // 0x5b4 + int32_t start_radius; // 0x5b0 + int32_t end_radius; // 0x5b4 + GameTime_t m_fStartTime; // 0x5b8 + float m_fTotalTime; // 0x5bc + int32_t m_nProjectileHandle; // 0x5c0 + ParticleIndex_t m_nFXIndex; // 0x5c4 }; // Alignment: 1 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_DeathProphet_Silence : public C_DOTABaseAbility { public: - Vector m_vPos; // 0x5a0 + Vector m_vPos; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DeathProphet_Witchcraft : public C_DOTABaseAbility { public: @@ -62793,17 +63690,17 @@ public: }; // Alignment: 3 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_DeathProphet_SpiritSiphon : public C_DOTABaseAbility { public: - Vector m_vStartPos; // 0x5a0 - int32_t m_iArrowProjectile; // 0x5ac - int32_t m_nFXIndex; // 0x5b0 + Vector m_vStartPos; // 0x5b0 + int32_t m_iArrowProjectile; // 0x5bc + int32_t m_nFXIndex; // 0x5c0 }; // Alignment: 0 -// Size: 0x7d0 +// Size: 0x7e0 class C_DOTA_DeathProphet_Exorcism_Spirit : public CBaseAnimatingActivity { public: @@ -62811,7 +63708,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Pugna_NetherBlast : public C_DOTABaseAbility { public: @@ -62819,7 +63716,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Pugna_Decrepify : public C_DOTABaseAbility { public: @@ -62827,24 +63724,24 @@ public: }; // Alignment: 1 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Pugna_NetherWard : public C_DOTABaseAbility { public: - CUtlVector< sAbilityHistory > vecAbilitiesUsed; // 0x5a0 + CUtlVector< sAbilityHistory > vecAbilitiesUsed; // 0x5b0 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Pugna_LifeDrain : public C_DOTABaseAbility { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hTarget; // 0x5a0 + CHandle< C_BaseEntity > m_hTarget; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_PhantomAssassin_Stifling_Dagger : public C_DOTABaseAbility { public: @@ -62852,7 +63749,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_PhantomAssassin_Fan_Of_Knives : public C_DOTABaseAbility { public: @@ -62860,7 +63757,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_PhantomAssassin_PhantomStrike : public C_DOTABaseAbility { public: @@ -62868,7 +63765,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_PhantomAssassin_Blur : public C_DOTABaseAbility { public: @@ -62876,7 +63773,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_PhantomAssassin_CoupdeGrace : public C_DOTABaseAbility { public: @@ -62884,7 +63781,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin : public C_DOTABaseAbility { public: @@ -62892,7 +63789,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_2 : public C_DOTABaseAbility { public: @@ -62900,7 +63797,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_3 : public C_DOTABaseAbility { public: @@ -62908,7 +63805,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_4 : public C_DOTABaseAbility { public: @@ -62916,7 +63813,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_5 : public C_DOTABaseAbility { public: @@ -62924,7 +63821,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_6 : public C_DOTABaseAbility { public: @@ -62932,7 +63829,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_7 : public C_DOTABaseAbility { public: @@ -62940,7 +63837,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_8 : public C_DOTABaseAbility { public: @@ -62948,7 +63845,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_9 : public C_DOTABaseAbility { public: @@ -62956,7 +63853,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_TemplarAssassin_Refraction : public C_DOTABaseAbility { public: @@ -62964,7 +63861,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_TemplarAssassin_Meld : public C_DOTABaseAbility { public: @@ -62972,7 +63869,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_TemplarAssassin_PsiBlades : public C_DOTABaseAbility { public: @@ -62980,7 +63877,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_TemplarAssassin_PsionicTrap : public C_DOTABaseAbility { public: @@ -62988,7 +63885,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_TemplarAssassin_Trap : public C_DOTABaseAbility { public: @@ -62996,15 +63893,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_TemplarAssassin_Trap_Teleport : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hTrap; // 0x5a0 + CHandle< C_BaseEntity > m_hTrap; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_TemplarAssassin_SelfTrap : public C_DOTABaseAbility { public: @@ -63012,7 +63909,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_TemplarAssassin_Refraction_Holdout : public C_DOTABaseAbility { public: @@ -63020,7 +63917,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Viper_PoisonAttack : public C_DOTABaseAbility { public: @@ -63028,7 +63925,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Viper_Nethertoxin : public C_DOTABaseAbility { public: @@ -63036,7 +63933,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Viper_CorrosiveSkin : public C_DOTABaseAbility { public: @@ -63044,15 +63941,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Viper_ViperStrike : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 + ParticleIndex_t m_nFXIndex; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Viper_Nose_Dive : public C_DOTABaseAbility { public: @@ -63060,7 +63957,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Luna_LucentBeam : public C_DOTABaseAbility { public: @@ -63068,19 +63965,19 @@ public: }; // Alignment: 2 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_Luna_MoonGlaive : public C_DOTABaseAbility { public: - int32_t m_iAttackIndex; // 0x5a0 + int32_t m_iAttackIndex; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 + [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: - CUtlVector< sGlaiveInfo > m_GlaiveInfo; // 0x5a8 + CUtlVector< sGlaiveInfo > m_GlaiveInfo; // 0x5b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Luna_LunarBlessing : public C_DOTABaseAbility { public: @@ -63088,7 +63985,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Luna_Lunar_Grace : public C_DOTABaseAbility { public: @@ -63096,7 +63993,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Luna_Eclipse : public C_DOTABaseAbility { public: @@ -63104,20 +64001,20 @@ public: }; // Alignment: 6 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_DragonKnight_BreatheFire : public C_DOTABaseAbility { public: - int32_t start_radius; // 0x5a0 - int32_t end_radius; // 0x5a4 - float damage; // 0x5a8 - Vector m_vStartPos; // 0x5ac - GameTime_t m_fStartTime; // 0x5b8 - float m_fTotalTime; // 0x5bc + int32_t start_radius; // 0x5b0 + int32_t end_radius; // 0x5b4 + float damage; // 0x5b8 + Vector m_vStartPos; // 0x5bc + GameTime_t m_fStartTime; // 0x5c8 + float m_fTotalTime; // 0x5cc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DragonKnight_DragonTail : public C_DOTABaseAbility { public: @@ -63125,7 +64022,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DragonKnight_DragonBlood : public C_DOTABaseAbility { public: @@ -63133,7 +64030,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DragonKnight_ElderDragonForm : public C_DOTABaseAbility { public: @@ -63141,7 +64038,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DragonKnight_Fireball : public C_DOTABaseAbility { public: @@ -63149,7 +64046,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Dazzle_Good_Juju : public C_DOTABaseAbility { public: @@ -63157,7 +64054,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Dazzle_Bad_Juju : public C_DOTABaseAbility { public: @@ -63165,7 +64062,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Dazzle_Rain_Of_Vermin : public C_DOTABaseAbility { public: @@ -63173,7 +64070,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Dazzle_Poison_Touch : public C_DOTABaseAbility { public: @@ -63181,7 +64078,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Dazzle_Shallow_Grave : public C_DOTABaseAbility { public: @@ -63189,20 +64086,20 @@ public: }; // Alignment: 6 -// Size: 0x5d0 +// Size: 0x5e0 class C_DOTA_Ability_Dazzle_ShadowWave : public C_DOTABaseAbility { public: - 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 + 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 + float scepter_heal_pct; // 0x5d8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Dazzle_Weave : public C_DOTABaseAbility { public: @@ -63210,7 +64107,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Leshrac_Split_Earth : public C_DOTABaseAbility { public: @@ -63218,7 +64115,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Leshrac_Diabolic_Edict : public C_DOTABaseAbility { public: @@ -63226,7 +64123,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Leshrac_Lightning_Storm : public C_DOTABaseAbility { public: @@ -63234,7 +64131,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Leshrac_Greater_Lightning_Storm : public C_DOTABaseAbility { public: @@ -63242,7 +64139,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Leshrac_Pulse_Nova : public C_DOTABaseAbility { public: @@ -63250,7 +64147,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Leshrac_1 : public C_DOTABaseAbility { public: @@ -63258,7 +64155,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Leshrac_2 : public C_DOTABaseAbility { public: @@ -63266,7 +64163,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Leshrac_3 : public C_DOTABaseAbility { public: @@ -63274,7 +64171,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Leshrac_4 : public C_DOTABaseAbility { public: @@ -63282,7 +64179,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Leshrac_5 : public C_DOTABaseAbility { public: @@ -63290,7 +64187,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Leshrac_6 : public C_DOTABaseAbility { public: @@ -63298,7 +64195,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Rattletrap_Overclocking : public C_DOTABaseAbility { public: @@ -63306,7 +64203,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Rattletrap_BatteryAssault : public C_DOTABaseAbility { public: @@ -63314,7 +64211,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Rattletrap_PowerCogs : public C_DOTABaseAbility { public: @@ -63322,15 +64219,15 @@ public: }; // Alignment: 1 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Rattletrap_RocketFlare : public C_DOTABaseAbility { public: - CUtlVector< CHandle< C_BaseEntity > > m_vecEnemyHeroesInFog; // 0x5a0 + CUtlVector< CHandle< C_BaseEntity > > m_vecEnemyHeroesInFog; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Rattletrap_JetPack : public C_DOTABaseAbility { public: @@ -63338,17 +64235,17 @@ public: }; // Alignment: 3 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_Rattletrap_Hookshot : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 - Vector m_vProjectileVelocity; // 0x5a4 - bool m_bRetract; // 0x5b0 + ParticleIndex_t m_nFXIndex; // 0x5b0 + Vector m_vProjectileVelocity; // 0x5b4 + bool m_bRetract; // 0x5c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clockwerk : public C_DOTABaseAbility { public: @@ -63356,7 +64253,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_2 : public C_DOTABaseAbility { public: @@ -63364,7 +64261,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_3 : public C_DOTABaseAbility { public: @@ -63372,7 +64269,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_4 : public C_DOTABaseAbility { public: @@ -63380,7 +64277,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_5 : public C_DOTABaseAbility { public: @@ -63388,7 +64285,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_6 : public C_DOTABaseAbility { public: @@ -63396,7 +64293,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_7 : public C_DOTABaseAbility { public: @@ -63404,7 +64301,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_8 : public C_DOTABaseAbility { public: @@ -63412,7 +64309,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Furion_Greater_Sprout : public C_DOTABaseAbility { public: @@ -63420,25 +64317,25 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Furion_Sprout : public C_DOTABaseAbility { public: - int32_t m_iShardCount; // 0x5a0 + int32_t m_iShardCount; // 0x5b0 }; // Alignment: 3 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Furion_Teleportation : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndexStart; // 0x5a0 - ParticleIndex_t m_nFXIndexEnd; // 0x5a4 - ParticleIndex_t m_nFXIndexEndTeam; // 0x5a8 + ParticleIndex_t m_nFXIndexStart; // 0x5b0 + ParticleIndex_t m_nFXIndexEnd; // 0x5b4 + ParticleIndex_t m_nFXIndexEndTeam; // 0x5b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Furion_ForceOfNature : public C_DOTABaseAbility { public: @@ -63446,7 +64343,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Furion_WrathOfNature : public C_DOTABaseAbility { public: @@ -63454,7 +64351,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Furion_CurseOfTheForest : public C_DOTABaseAbility { public: @@ -63462,7 +64359,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Furion : public C_DOTABaseAbility { public: @@ -63470,7 +64367,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Furion_2 : public C_DOTABaseAbility { public: @@ -63478,7 +64375,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Furion_3 : public C_DOTABaseAbility { public: @@ -63486,7 +64383,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Furion_4 : public C_DOTABaseAbility { public: @@ -63494,7 +64391,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Furion_5 : public C_DOTABaseAbility { public: @@ -63502,7 +64399,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Life_Stealer_Feast : public C_DOTABaseAbility { public: @@ -63510,7 +64407,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Life_Stealer_Ghoul_Frenzy : public C_DOTABaseAbility { public: @@ -63518,7 +64415,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Life_Stealer_Open_Wounds : public C_DOTABaseAbility { public: @@ -63526,7 +64423,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Life_Stealer_Empty1 : public C_DOTABaseAbility { public: @@ -63534,7 +64431,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Life_Stealer_Empty2 : public C_DOTABaseAbility { public: @@ -63542,7 +64439,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Life_Stealer_Empty3 : public C_DOTABaseAbility { public: @@ -63550,7 +64447,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Life_Stealer_Infest : public C_DOTABaseAbility { public: @@ -63558,7 +64455,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Life_Stealer_Consume : public C_DOTABaseAbility { public: @@ -63566,7 +64463,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Life_Stealer_Control : public C_DOTABaseAbility { public: @@ -63574,15 +64471,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Life_Stealer_Assimilate : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hLastAssimilation; // 0x5a0 + CHandle< C_BaseEntity > m_hLastAssimilation; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Life_Stealer_AssimilateEject : public C_DOTABaseAbility { public: @@ -63590,7 +64487,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Life_Stealer_Rage : public C_DOTABaseAbility { public: @@ -63598,7 +64495,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DarkSeer_Normal_Punch : public C_DOTABaseAbility { public: @@ -63606,39 +64503,39 @@ public: }; // Alignment: 1 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_DarkSeer_Vacuum : public C_DOTABaseAbility { public: - Vector m_vPullLocation; // 0x5a0 + Vector m_vPullLocation; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DarkSeer_IonShell : public C_DOTABaseAbility { public: // No members available }; -// Alignment: 0 -// Size: 0x5a0 +// Alignment: 1 +// Size: 0x5b8 class C_DOTA_Ability_DarkSeer_Surge : public C_DOTABaseAbility { public: - // No members available + bool m_bIsAltCastState; // 0x5b0 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_DarkSeer_WallOfReplica : public C_DOTABaseAbility { public: - int32_t width; // 0x5a0 + int32_t width; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer : public C_DOTABaseAbility { public: @@ -63646,7 +64543,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_2 : public C_DOTABaseAbility { public: @@ -63654,7 +64551,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_3 : public C_DOTABaseAbility { public: @@ -63662,7 +64559,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_4 : public C_DOTABaseAbility { public: @@ -63670,7 +64567,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_5 : public C_DOTABaseAbility { public: @@ -63678,7 +64575,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_6 : public C_DOTABaseAbility { public: @@ -63686,7 +64583,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_7 : public C_DOTABaseAbility { public: @@ -63694,7 +64591,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_8 : public C_DOTABaseAbility { public: @@ -63702,7 +64599,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_9 : public C_DOTABaseAbility { public: @@ -63710,7 +64607,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_10 : public C_DOTABaseAbility { public: @@ -63718,7 +64615,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_11 : public C_DOTABaseAbility { public: @@ -63726,7 +64623,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_12 : public C_DOTABaseAbility { public: @@ -63734,7 +64631,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_13 : public C_DOTABaseAbility { public: @@ -63742,7 +64639,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Clinkz_SearingArrows : public C_DOTABaseAbility { public: @@ -63750,23 +64647,23 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Clinkz_DeathPact : public C_DOTABaseAbility { public: - int32_t m_nDevourFirstSlot; // 0x5a0 + int32_t m_nDevourFirstSlot; // 0x5b0 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Clinkz_Burning_Army : public C_DOTABaseAbility { public: - int32_t range; // 0x5a0 + int32_t range; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Clinkz_WindWalk : public C_DOTABaseAbility { public: @@ -63774,7 +64671,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Clinkz_Strafe : public C_DOTABaseAbility { public: @@ -63782,18 +64679,18 @@ public: }; // Alignment: 4 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Clinkz_BurningBarrage : public C_DOTABaseAbility { public: - Vector m_vStartPos; // 0x5a0 - int32_t m_iArrowProjectile; // 0x5ac - int32_t m_nFXIndex; // 0x5b0 - float arrow_speed; // 0x5b4 + Vector m_vStartPos; // 0x5b0 + int32_t m_iArrowProjectile; // 0x5bc + int32_t m_nFXIndex; // 0x5c0 + float arrow_speed; // 0x5c4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_1 : public C_DOTABaseAbility { public: @@ -63801,7 +64698,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_2 : public C_DOTABaseAbility { public: @@ -63809,7 +64706,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_3 : public C_DOTABaseAbility { public: @@ -63817,7 +64714,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_4 : public C_DOTABaseAbility { public: @@ -63825,7 +64722,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_5 : public C_DOTABaseAbility { public: @@ -63833,7 +64730,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_6 : public C_DOTABaseAbility { public: @@ -63841,7 +64738,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_7 : public C_DOTABaseAbility { public: @@ -63849,7 +64746,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_8 : public C_DOTABaseAbility { public: @@ -63857,7 +64754,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_9 : public C_DOTABaseAbility { public: @@ -63865,7 +64762,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_10 : public C_DOTABaseAbility { public: @@ -63873,7 +64770,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_11 : public C_DOTABaseAbility { public: @@ -63881,7 +64778,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_12 : public C_DOTABaseAbility { public: @@ -63889,7 +64786,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Clinkz_Empty1 : public C_DOTABaseAbility { public: @@ -63897,7 +64794,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Clinkz_Tar_Bomb : public C_DOTABaseAbility { public: @@ -63905,7 +64802,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Omniknight_Hammer_Of_Purity : public C_DOTABaseAbility { public: @@ -63913,7 +64810,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Omniknight_Angelic_Flight : public C_DOTABaseAbility { public: @@ -63921,7 +64818,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Omniknight_Purification : public C_DOTABaseAbility { public: @@ -63929,7 +64826,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Omniknight_Pacify : public C_DOTABaseAbility { public: @@ -63937,7 +64834,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Omniknight_Repel : public C_DOTABaseAbility { public: @@ -63945,7 +64842,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Omniknight_Degen_Aura : public C_DOTABaseAbility { public: @@ -63953,7 +64850,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Omniknight_Martyr : public C_DOTABaseAbility { public: @@ -63961,7 +64858,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Omniknight_GuardianAngel : public C_DOTABaseAbility { public: @@ -63969,16 +64866,16 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Enchantress_Little_Friends : public C_DOTABaseAbility { public: - float duration; // 0x5a0 - int32_t radius; // 0x5a4 + float duration; // 0x5b0 + int32_t radius; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Enchantress_Bunny_Hop : public C_DOTABaseAbility { public: @@ -63986,7 +64883,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Enchantress_Untouchable : public C_DOTABaseAbility { public: @@ -63994,7 +64891,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Enchantress_Enchant : public C_DOTABaseAbility { public: @@ -64002,7 +64899,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Enchantress_NaturesAttendants : public C_DOTABaseAbility { public: @@ -64010,7 +64907,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Enchantress_Impetus : public C_DOTABaseAbility { public: @@ -64018,7 +64915,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Huskar_Inner_Fire : public C_DOTABaseAbility { public: @@ -64026,7 +64923,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Huskar_Inner_Vitality : public C_DOTABaseAbility { public: @@ -64034,7 +64931,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Huskar_Burning_Spear : public C_DOTABaseAbility { public: @@ -64042,7 +64939,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Huskar_Berserkers_Blood : public C_DOTABaseAbility { public: @@ -64050,17 +64947,17 @@ public: }; // Alignment: 3 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Huskar_Life_Break : public C_DOTABaseAbility { public: - Vector m_vProjectileLocation; // 0x5a0 - CHandle< C_BaseEntity > m_hTarget; // 0x5ac - bool m_bInterrupted; // 0x5b0 + Vector m_vProjectileLocation; // 0x5b0 + CHandle< C_BaseEntity > m_hTarget; // 0x5bc + bool m_bInterrupted; // 0x5c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_NightStalker_Void : public C_DOTABaseAbility { public: @@ -64068,7 +64965,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_NightStalker_CripplingFear : public C_DOTABaseAbility { public: @@ -64076,7 +64973,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_NightStalker_HunterInTheNight : public C_DOTABaseAbility { public: @@ -64084,7 +64981,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_NightStalker_Darkness : public C_DOTABaseAbility { public: @@ -64092,7 +64989,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker : public C_DOTABaseAbility { public: @@ -64100,7 +64997,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker_2 : public C_DOTABaseAbility { public: @@ -64108,7 +65005,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker_3 : public C_DOTABaseAbility { public: @@ -64116,7 +65013,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker_4 : public C_DOTABaseAbility { public: @@ -64124,7 +65021,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker_5 : public C_DOTABaseAbility { public: @@ -64132,7 +65029,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker_6 : public C_DOTABaseAbility { public: @@ -64140,7 +65037,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker_7 : public C_DOTABaseAbility { public: @@ -64148,7 +65045,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Broodmother_SpawnSpiderlings : public C_DOTABaseAbility { public: @@ -64156,7 +65053,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Broodmother_SpawnSpiderite : public C_DOTABaseAbility { public: @@ -64164,7 +65061,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Broodmother_PoisonSting : public C_DOTABaseAbility { public: @@ -64172,15 +65069,15 @@ public: }; // Alignment: 1 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Broodmother_SpinWeb : public C_DOTABaseAbility { public: - CUtlVector< CHandle< C_BaseEntity > > m_hWebs; // 0x5a0 + CUtlVector< CHandle< C_BaseEntity > > m_hWebs; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Broodmother_SpinWeb_Destroy : public C_DOTABaseAbility { public: @@ -64188,7 +65085,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Broodmother_IncapacitatingBite : public C_DOTABaseAbility { public: @@ -64196,7 +65093,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Broodmother_InsatiableHunger : public C_DOTABaseAbility { public: @@ -64204,7 +65101,7 @@ public: }; // Alignment: 0 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Broodmother_Silken_Bola : public C_DOTABaseAbility { public: @@ -64212,22 +65109,22 @@ public: }; // Alignment: 5 -// Size: 0x5e8 +// Size: 0x5f8 class C_DOTA_Ability_Broodmother_StickySnare : public C_DOTABaseAbility { public: - Vector m_vEndpoint; // 0x5a0 - float duration; // 0x5ac - int32_t width; // 0x5b0 - bool m_bStolenSnareCheck; // 0x5b4 + Vector m_vEndpoint; // 0x5b0 + float duration; // 0x5bc + int32_t width; // 0x5c0 + bool m_bStolenSnareCheck; // 0x5c4 private: - [[maybe_unused]] uint8_t __pad05b5[0x1b]; // 0x5b5 + [[maybe_unused]] uint8_t __pad05c5[0x1b]; // 0x5c5 public: - CUtlVector< CHandle< C_BaseEntity > > m_vecSnares; // 0x5d0 + CUtlVector< CHandle< C_BaseEntity > > m_vecSnares; // 0x5e0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_BountyHunter_ShurikenToss : public C_DOTABaseAbility { public: @@ -64235,7 +65132,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_BountyHunter_Jinada : public C_DOTABaseAbility { public: @@ -64243,23 +65140,31 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_BountyHunter_WindWalk : public C_DOTABaseAbility { public: // No members available }; +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_BountyHunter_WindWalk_Ally : public C_DOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_BountyHunter_Track : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hTrap; // 0x5a0 + CHandle< C_BaseEntity > m_hTrap; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_BountyHunter_Lookout : public C_DOTABaseAbility { public: @@ -64267,7 +65172,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Weaver_TheSwarm : public C_DOTABaseAbility { public: @@ -64275,18 +65180,18 @@ public: }; // Alignment: 4 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Weaver_Shukuchi : public C_DOTABaseAbility { public: - float duration; // 0x5a0 - int32_t radius; // 0x5a4 - int32_t damage; // 0x5a8 - float fade_time; // 0x5ac + float duration; // 0x5b0 + int32_t radius; // 0x5b4 + int32_t damage; // 0x5b8 + float fade_time; // 0x5bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Weaver_GeminateAttack : public C_DOTABaseAbility { public: @@ -64294,15 +65199,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Weaver_TimeLapse : public C_DOTABaseAbility { public: - int32_t m_nNPCSpawnedID; // 0x5a0 + int32_t m_nNPCSpawnedID; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Jakiro_DualBreath : public C_DOTABaseAbility { public: @@ -64310,7 +65215,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Jakiro_IcePath : public C_DOTABaseAbility { public: @@ -64318,7 +65223,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Jakiro_Liquid_Ice : public C_DOTABaseAbility { public: @@ -64326,7 +65231,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Jakiro_Liquid_Fire : public C_DOTABaseAbility { public: @@ -64334,7 +65239,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Jakiro_Macropyre : public C_DOTABaseAbility { public: @@ -64342,7 +65247,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Jakiro : public C_DOTABaseAbility { public: @@ -64350,7 +65255,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Jakiro_2 : public C_DOTABaseAbility { public: @@ -64358,7 +65263,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Jakiro_3 : public C_DOTABaseAbility { public: @@ -64366,7 +65271,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Jakiro_4 : public C_DOTABaseAbility { public: @@ -64374,7 +65279,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Jakiro_5 : public C_DOTABaseAbility { public: @@ -64382,7 +65287,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Jakiro_6 : public C_DOTABaseAbility { public: @@ -64390,7 +65295,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Jakiro_7 : public C_DOTABaseAbility { public: @@ -64398,7 +65303,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Jakiro_8 : public C_DOTABaseAbility { public: @@ -64406,7 +65311,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Batrider_StickyNapalm_Application_Damage : public C_DOTABaseAbility { public: @@ -64414,7 +65319,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Batrider_StickyNapalm : public C_DOTABaseAbility { public: @@ -64422,7 +65327,7 @@ public: }; // Alignment: 0 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Batrider_Flamebreak : public C_DOTABaseAbility { public: @@ -64430,7 +65335,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Batrider_Firefly : public C_DOTABaseAbility { public: @@ -64438,7 +65343,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Batrider_FlamingLasso : public C_DOTABaseAbility { public: @@ -64446,7 +65351,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Batrider_1 : public C_DOTABaseAbility { public: @@ -64454,7 +65359,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Batrider_2 : public C_DOTABaseAbility { public: @@ -64462,7 +65367,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Batrider_3 : public C_DOTABaseAbility { public: @@ -64470,7 +65375,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Batrider_4 : public C_DOTABaseAbility { public: @@ -64478,7 +65383,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Batrider_5 : public C_DOTABaseAbility { public: @@ -64486,7 +65391,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Batrider_6 : public C_DOTABaseAbility { public: @@ -64494,7 +65399,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Batrider_7 : public C_DOTABaseAbility { public: @@ -64502,7 +65407,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Chen_Penitence : public C_DOTABaseAbility { public: @@ -64510,7 +65415,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Chen_TestOfFaith : public C_DOTABaseAbility { public: @@ -64518,7 +65423,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Chen_DivineFavor : public C_DOTABaseAbility { public: @@ -64526,7 +65431,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Chen_TestOfFaithTeleport : public C_DOTABaseAbility { public: @@ -64534,15 +65439,15 @@ public: }; // Alignment: 1 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Chen_HolyPersuasion : public C_DOTABaseAbility { public: - CUtlVector< CHandle< C_BaseEntity > > m_hDominatedUnits; // 0x5a0 + CUtlVector< CHandle< C_BaseEntity > > m_hDominatedUnits; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Chen_HandOfGod : public C_DOTABaseAbility { public: @@ -64550,7 +65455,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Chen_Martyrdom : public C_DOTABaseAbility { public: @@ -64558,7 +65463,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_1 : public C_DOTABaseAbility { public: @@ -64566,7 +65471,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_2 : public C_DOTABaseAbility { public: @@ -64574,7 +65479,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_3 : public C_DOTABaseAbility { public: @@ -64582,7 +65487,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_4 : public C_DOTABaseAbility { public: @@ -64590,7 +65495,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_5 : public C_DOTABaseAbility { public: @@ -64598,7 +65503,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_6 : public C_DOTABaseAbility { public: @@ -64606,7 +65511,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_7 : public C_DOTABaseAbility { public: @@ -64614,7 +65519,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_8 : public C_DOTABaseAbility { public: @@ -64622,7 +65527,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_9 : public C_DOTABaseAbility { public: @@ -64630,7 +65535,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_10 : public C_DOTABaseAbility { public: @@ -64638,7 +65543,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_11 : public C_DOTABaseAbility { public: @@ -64646,7 +65551,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Spectre_Desolate : public C_DOTABaseAbility { public: @@ -64654,26 +65559,26 @@ public: }; // Alignment: 9 -// Size: 0x5f8 +// Size: 0x608 class C_DOTA_Ability_Spectre_SpectralDagger : public C_DOTABaseAbility { public: - float dagger_path_duration; // 0x5a0 - float hero_path_duration; // 0x5a4 - float m_fCreateInterval; // 0x5a8 - GameTime_t m_fLastCreate; // 0x5ac - Vector m_vecLastPosition; // 0x5b0 - bool m_bIsTrackingProjectile; // 0x5bc + float dagger_path_duration; // 0x5b0 + float hero_path_duration; // 0x5b4 + float m_fCreateInterval; // 0x5b8 + GameTime_t m_fLastCreate; // 0x5bc + Vector m_vecLastPosition; // 0x5c0 + bool m_bIsTrackingProjectile; // 0x5cc private: - [[maybe_unused]] uint8_t __pad05bd[0x3]; // 0x5bd + [[maybe_unused]] uint8_t __pad05cd[0x3]; // 0x5cd public: - CUtlVector< CHandle< C_BaseEntity > > m_hTrackingProjectileHits; // 0x5c0 - CUtlVector< CHandle< C_BaseEntity > > m_hUnitsHit; // 0x5d8 - CHandle< C_BaseEntity > m_hTrackingTarget; // 0x5f0 + CUtlVector< CHandle< C_BaseEntity > > m_hTrackingProjectileHits; // 0x5d0 + CUtlVector< CHandle< C_BaseEntity > > m_hUnitsHit; // 0x5e8 + CHandle< C_BaseEntity > m_hTrackingTarget; // 0x600 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Spectre_Dispersion : public C_DOTABaseAbility { public: @@ -64681,7 +65586,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Spectre_Haunt : public C_DOTABaseAbility { public: @@ -64689,7 +65594,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Spectre_Haunt_Single : public C_DOTABaseAbility { public: @@ -64697,23 +65602,24 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Spectre_Reality : public C_DOTABaseAbility { public: // No members available }; -// Alignment: 1 -// Size: 0x5a8 +// Alignment: 2 +// Size: 0x5b8 class C_DOTA_Ability_DoomBringer_Devour : public C_DOTABaseAbility { public: - int32_t m_nDevourFirstSlot; // 0x5a0 + int32_t m_nDevourFirstSlot; // 0x5b0 + bool m_bIsAltCastState; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DoomBringer_ScorchedEarth : public C_DOTABaseAbility { public: @@ -64721,7 +65627,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DoomBringer_InfernalBlade : public C_DOTABaseAbility { public: @@ -64729,7 +65635,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DoomBringer_Doom : public C_DOTABaseAbility { public: @@ -64737,7 +65643,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DoomBringer_Empty1 : public C_DOTABaseAbility { public: @@ -64745,7 +65651,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DoomBringer_Empty2 : public C_DOTABaseAbility { public: @@ -64753,15 +65659,15 @@ public: }; // Alignment: 1 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_SpiritBreaker_ChargeOfDarkness : public C_DOTABaseAbility { public: - Vector m_vChargeStartPos; // 0x5a0 + Vector m_vChargeStartPos; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_SpiritBreaker_GreaterBash : public C_DOTABaseAbility { public: @@ -64769,7 +65675,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_SpiritBreaker_Bulldoze : public C_DOTABaseAbility { public: @@ -64777,7 +65683,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_SpiritBreaker_EmpoweringHaste : public C_DOTABaseAbility { public: @@ -64785,7 +65691,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_SpiritBreaker_NetherStrike : public C_DOTABaseAbility { public: @@ -64793,7 +65699,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_SpiritBreaker_PlanarPocket : public C_DOTABaseAbility { public: @@ -64801,7 +65707,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Gyrocopter_Rocket_Barrage : public C_DOTABaseAbility { public: @@ -64809,7 +65715,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Gyrocopter_Homing_Missile : public C_DOTABaseAbility { public: @@ -64817,7 +65723,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Gyrocopter_Flak_Cannon : public C_DOTABaseAbility { public: @@ -64825,16 +65731,16 @@ public: }; // Alignment: 2 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Gyrocopter_Call_Down : public C_DOTABaseAbility { public: - Vector m_vEndpoint; // 0x5a0 - int32_t range_scepter; // 0x5ac + Vector m_vEndpoint; // 0x5b0 + int32_t range_scepter; // 0x5bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Alchemist_AcidSpray : public C_DOTABaseAbility { public: @@ -64842,7 +65748,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Alchemist_UnstableConcoction : public C_DOTABaseAbility { public: @@ -64850,16 +65756,16 @@ public: }; // Alignment: 2 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Alchemist_UnstableConcoctionThrow : public C_DOTABaseAbility { public: - float m_fCookTime; // 0x5a0 - Vector m_vProjectileLoc; // 0x5a4 + float m_fCookTime; // 0x5b0 + Vector m_vProjectileLoc; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Alchemist_GoblinsGreed : public C_DOTABaseAbility { public: @@ -64867,7 +65773,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Alchemist_ChemicalRage : public C_DOTABaseAbility { public: @@ -64875,7 +65781,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Alchemist_Berserk_Potion : public C_DOTABaseAbility { public: @@ -64883,7 +65789,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Alchemist_Corrosive_Weaponry : public C_DOTABaseAbility { public: @@ -64891,15 +65797,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Invoker_Invoke : public C_DOTABaseAbility { public: - int32_t max_invoked_spells; // 0x5a0 + int32_t max_invoked_spells; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Invoker_AttributeBonus : public C_DOTABaseAbility { public: @@ -64907,20 +65813,20 @@ public: }; // Alignment: 3 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Invoker_InvokedBase : public C_DOTABaseAbility { public: // MNetworkEnable - int32_t m_nQuasLevel; // 0x5a0 + int32_t m_nQuasLevel; // 0x5b0 // MNetworkEnable - int32_t m_nWexLevel; // 0x5a4 + int32_t m_nWexLevel; // 0x5b4 // MNetworkEnable - int32_t m_nExortLevel; // 0x5a8 + int32_t m_nExortLevel; // 0x5b8 }; // Alignment: 0 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Invoker_ColdSnap : public CDOTA_Ability_Invoker_InvokedBase { public: @@ -64928,7 +65834,7 @@ public: }; // Alignment: 0 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Invoker_GhostWalk : public CDOTA_Ability_Invoker_InvokedBase { public: @@ -64936,20 +65842,20 @@ public: }; // Alignment: 6 -// Size: 0x5d0 +// Size: 0x5e0 class C_DOTA_Ability_Invoker_Tornado : public CDOTA_Ability_Invoker_InvokedBase { public: - int32_t vision_distance; // 0x5b0 - float end_vision_duration; // 0x5b4 - float lift_duration; // 0x5b8 - float base_damage; // 0x5bc - float quas_damage; // 0x5c0 - float wex_damage; // 0x5c4 + int32_t vision_distance; // 0x5c0 + float end_vision_duration; // 0x5c4 + float lift_duration; // 0x5c8 + float base_damage; // 0x5cc + float quas_damage; // 0x5d0 + float wex_damage; // 0x5d4 }; // Alignment: 0 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Invoker_EMP : public CDOTA_Ability_Invoker_InvokedBase { public: @@ -64957,7 +65863,7 @@ public: }; // Alignment: 0 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Invoker_Alacrity : public CDOTA_Ability_Invoker_InvokedBase { public: @@ -64965,21 +65871,21 @@ public: }; // Alignment: 7 -// Size: 0x5d8 +// Size: 0x5e8 class C_DOTA_Ability_Invoker_ChaosMeteor : public CDOTA_Ability_Invoker_InvokedBase { public: - int32_t area_of_effect; // 0x5b0 - float damage_interval; // 0x5b4 - int32_t vision_distance; // 0x5b8 - float end_vision_duration; // 0x5bc - float main_damage; // 0x5c0 - float burn_duration; // 0x5c4 - float burn_dps; // 0x5c8 + int32_t area_of_effect; // 0x5c0 + float damage_interval; // 0x5c4 + int32_t vision_distance; // 0x5c8 + float end_vision_duration; // 0x5cc + float main_damage; // 0x5d0 + float burn_duration; // 0x5d4 + float burn_dps; // 0x5d8 }; // Alignment: 0 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Invoker_SunStrike : public CDOTA_Ability_Invoker_InvokedBase { public: @@ -64987,7 +65893,7 @@ public: }; // Alignment: 0 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Invoker_ForgeSpirit : public CDOTA_Ability_Invoker_InvokedBase { public: @@ -64995,7 +65901,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_ForgedSpirit_MeltingStrike : public C_DOTABaseAbility { public: @@ -65003,7 +65909,7 @@ public: }; // Alignment: 0 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Invoker_IceWall : public CDOTA_Ability_Invoker_InvokedBase { public: @@ -65011,18 +65917,18 @@ public: }; // Alignment: 4 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_Invoker_DeafeningBlast : public CDOTA_Ability_Invoker_InvokedBase { public: - float end_vision_duration; // 0x5b0 - float damage; // 0x5b4 - float knockback_duration; // 0x5b8 - float disarm_duration; // 0x5bc + float end_vision_duration; // 0x5c0 + float damage; // 0x5c4 + float knockback_duration; // 0x5c8 + float disarm_duration; // 0x5cc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Invoker_Quas : public C_DOTABaseAbility { public: @@ -65030,7 +65936,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Invoker_Wex : public C_DOTABaseAbility { public: @@ -65038,7 +65944,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Invoker_Exort : public C_DOTABaseAbility { public: @@ -65046,7 +65952,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Invoker_Empty1 : public C_DOTABaseAbility { public: @@ -65054,7 +65960,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Invoker_Empty2 : public C_DOTABaseAbility { public: @@ -65062,7 +65968,7 @@ public: }; // Alignment: 0 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Invoker_ColdSnap_AD : public C_DOTA_Ability_Invoker_ColdSnap { public: @@ -65070,7 +65976,7 @@ public: }; // Alignment: 0 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Invoker_GhostWalk_AD : public C_DOTA_Ability_Invoker_GhostWalk { public: @@ -65078,7 +65984,7 @@ public: }; // Alignment: 0 -// Size: 0x5d0 +// Size: 0x5e0 class C_DOTA_Ability_Invoker_Tornado_AD : public C_DOTA_Ability_Invoker_Tornado { public: @@ -65086,7 +65992,7 @@ public: }; // Alignment: 0 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Invoker_EMP_AD : public C_DOTA_Ability_Invoker_EMP { public: @@ -65094,7 +66000,7 @@ public: }; // Alignment: 0 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Invoker_Alacrity_AD : public C_DOTA_Ability_Invoker_Alacrity { public: @@ -65102,7 +66008,7 @@ public: }; // Alignment: 0 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Invoker_SunStrike_AD : public C_DOTA_Ability_Invoker_SunStrike { public: @@ -65110,7 +66016,7 @@ public: }; // Alignment: 0 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Invoker_ForgeSpirit_AD : public C_DOTA_Ability_Invoker_ForgeSpirit { public: @@ -65118,7 +66024,7 @@ public: }; // Alignment: 0 -// Size: 0x5d8 +// Size: 0x5e8 class C_DOTA_Ability_Invoker_ChaosMeteor_AD : public C_DOTA_Ability_Invoker_ChaosMeteor { public: @@ -65126,7 +66032,7 @@ public: }; // Alignment: 0 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Invoker_IceWall_AD : public C_DOTA_Ability_Invoker_IceWall { public: @@ -65134,7 +66040,7 @@ public: }; // Alignment: 0 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_Invoker_DeafeningBlast_AD : public C_DOTA_Ability_Invoker_DeafeningBlast { public: @@ -65142,7 +66048,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Silencer_CurseOfTheSilent : public C_DOTABaseAbility { public: @@ -65150,19 +66056,19 @@ public: }; // Alignment: 2 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_Silencer_GlaivesOfWisdom : public C_DOTABaseAbility { public: - int32_t m_iAttackIndex; // 0x5a0 + int32_t m_iAttackIndex; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 + [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: - CUtlVector< sGlaiveInfoSilencer > m_GlaiveInfo; // 0x5a8 + CUtlVector< sGlaiveInfoSilencer > m_GlaiveInfo; // 0x5b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Silencer_LastWord : public C_DOTABaseAbility { public: @@ -65170,7 +66076,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Silencer_GlobalSilence : public C_DOTABaseAbility { public: @@ -65178,7 +66084,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Obsidian_Destroyer_ArcaneOrb : public C_DOTABaseAbility { public: @@ -65186,15 +66092,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Obsidian_Destroyer_AstralImprisonment : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hImprisonedUnit; // 0x5a0 + CHandle< C_BaseEntity > m_hImprisonedUnit; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Obsidian_Destroyer_EssenceAura : public C_DOTABaseAbility { public: @@ -65202,7 +66108,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Obsidian_Destroyer_SanityEclipse : public C_DOTABaseAbility { public: @@ -65210,7 +66116,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Obsidian_Destroyer_Equilibrium : public C_DOTABaseAbility { public: @@ -65218,7 +66124,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Outworld_Devourer : public C_DOTABaseAbility { public: @@ -65226,7 +66132,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_2 : public C_DOTABaseAbility { public: @@ -65234,7 +66140,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_3 : public C_DOTABaseAbility { public: @@ -65242,7 +66148,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_4 : public C_DOTABaseAbility { public: @@ -65250,7 +66156,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_5 : public C_DOTABaseAbility { public: @@ -65258,7 +66164,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Brewmaster_ThunderClap : public C_DOTABaseAbility { public: @@ -65266,7 +66172,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Brewmaster_DrunkenHaze : public C_DOTABaseAbility { public: @@ -65274,7 +66180,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Brewmaster_CinderBrew : public C_DOTABaseAbility { public: @@ -65282,22 +66188,22 @@ public: }; // Alignment: 3 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Brewmaster_DrunkenBrawler : public C_DOTABaseAbility { public: // MNetworkEnable // MNetworkChangeCallback "OnBrawlActiveChanged" - int32_t m_iBrawlActive; // 0x5a0 - bool m_bUpdateIcons; // 0x5a4 + int32_t m_iBrawlActive; // 0x5b0 + bool m_bUpdateIcons; // 0x5b4 private: - [[maybe_unused]] uint8_t __pad05a5[0x3]; // 0x5a5 + [[maybe_unused]] uint8_t __pad05b5[0x3]; // 0x5b5 public: - ParticleIndex_t m_nDrunkenBrawlerFX; // 0x5a8 + ParticleIndex_t m_nDrunkenBrawlerFX; // 0x5b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Brewmaster_Primal_Split_Fire_Phase : public C_DOTABaseAbility { public: @@ -65305,1764 +66211,11 @@ public: }; // Alignment: 2 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_Brewmaster_HurlBoulder : public C_DOTABaseAbility { public: - int32_t m_iBounces; // 0x5a0 -private: - [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 -public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x5a8 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Brewmaster_AstralPulse : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Brewmaster_SpellImmunity : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Brewmaster_Pulverize : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Brewmaster_DispelMagic : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Brewmaster_Cyclone : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Brewmaster_WindWalk : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Brewmaster_PermanentImmolation : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Brewmaster_Primal_Split_Cancel : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x5a8 -class C_DOTA_Ability_Primal_Companion : public C_DOTABaseAbility -{ -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 -{ -public: - // No members available -}; - -// Alignment: 4 -// Size: 0x6c8 -class C_DOTA_Ability_Lycan_SummonWolves : public C_DOTABaseAbility -{ -public: - char szUnitName[260]; // 0x5a0 - int32_t wolf_index; // 0x6a4 - float wolf_duration; // 0x6a8 -private: - [[maybe_unused]] uint8_t __pad06ac[0x4]; // 0x6ac -public: - CUtlVector< CHandle< C_BaseEntity > > m_hExistingUnits; // 0x6b0 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Lycan_SummonWolves_CriticalStrike : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Lycan_SummonWolves_PermanentInvisibility : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Lycan_Howl : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Lycan_FeralImpulse : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Lycan_Shapeshift : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x5a8 -class C_DOTA_Ability_Shadow_Demon_Disruption : public C_DOTABaseAbility -{ -public: - CHandle< C_BaseEntity > m_hDisruptedUnit; // 0x5a0 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Shadow_Demon_Soul_Catcher : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Shadow_Demon_Shadow_Poison_Release : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Shadow_Demon_Shadow_Poison : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x5a8 -class C_DOTA_Ability_Shadow_Demon_Demonic_Purge : public C_DOTABaseAbility -{ -public: - bool m_bGrantedScepterCharges; // 0x5a0 -}; - -// Alignment: 1 -// Size: 0x5a8 -class C_DOTA_Ability_Shadow_Demon_Demonic_Cleanse : public C_DOTABaseAbility -{ -public: - bool m_bGrantedScepterCharges; // 0x5a0 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Shadow_Demon_Disseminate : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 3 -// Size: 0x5b0 -class C_DOTA_Ability_LoneDruid_SpiritBear : public C_DOTABaseAbility -{ -public: - bool m_bLevelChanged; // 0x5a0 -private: - [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 -public: - // MNetworkEnable - CHandle< C_BaseEntity > m_hBear; // 0x5a4 - CHandle< C_BaseEntity > m_hPreBear; // 0x5a8 -}; - -// Alignment: 1 -// Size: 0x5a8 -class C_DOTA_Ability_LoneDruid_SpiritBear_Return : public C_DOTABaseAbility -{ -public: - ParticleIndex_t m_nFXOrigin; // 0x5a0 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_LoneDruid_SpiritBear_Defender : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_LoneDruid_Entangling_Claws : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_LoneDruid_SpiritBear_Entangle : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_LoneDruid_SpiritBear_Demolish : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x5a8 -class C_DOTA_Ability_LoneDruid_Rabid : public C_DOTABaseAbility -{ -public: - float rabid_duration; // 0x5a0 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_LoneDruid_SpiritLink : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_LoneDruid_TrueForm : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_LoneDruid_TrueForm_Druid : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x5a8 -class C_DOTA_Ability_LoneDruid_TrueForm_BattleCry : public C_DOTABaseAbility -{ -public: - float cry_duration; // 0x5a0 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_LoneDruid_SavageRoar : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_LoneDruid_SavageRoar_Bear : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Bear_Empty1 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Bear_Empty2 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x5b8 -class C_DOTA_Ability_ChaosKnight_Chaos_Bolt : public C_DOTABaseAbility -{ -public: - CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x5a0 -}; - -// Alignment: 3 -// Size: 0x5c8 -class C_DOTA_Ability_ChaosKnight_Reality_Rift : public C_DOTABaseAbility -{ -public: - float m_flPercentage; // 0x5a0 -private: - [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 -public: - CUtlVector< ParticleIndex_t > m_FXIndex; // 0x5a8 - CHandle< C_BaseEntity > m_hRiftIllusion; // 0x5c0 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_ChaosKnight_Chaos_Strike : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_ChaosKnight_Phantasm : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_2 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_3 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_4 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_5 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_6 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_7 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_8 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Meepo_Earthbind : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Meepo_Geostrike : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 4 -// Size: 0x5b0 -class C_DOTA_Ability_Meepo_DividedWeStand : public C_DOTABaseAbility -{ -public: - // MNetworkEnable - int32_t m_nWhichDividedWeStand; // 0x5a0 - // MNetworkEnable - int32_t m_nNumDividedWeStand; // 0x5a4 - // MNetworkEnable - CHandle< C_DOTA_Ability_Meepo_DividedWeStand > m_entPrimeDividedWeStand; // 0x5a8 - // MNetworkEnable - CHandle< C_DOTA_Ability_Meepo_DividedWeStand > m_entNextDividedWeStand; // 0x5ac -}; - -// 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 -// Size: 0x5a0 -class C_DOTA_Ability_Meepo_Ransack : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Meepo : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Meepo_2 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Meepo_3 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Meepo_4 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Meepo_5 : public C_DOTABaseAbility -{ -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 -{ -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 -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Treant_NaturesGrasp : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x5a8 -class CDOTA_Ability_Treant_LifeBomb : public C_DOTABaseAbility -{ -public: - ParticleIndex_t m_nFXIndex; // 0x5a0 - CHandle< C_BaseEntity > m_hRMine; // 0x5a4 -}; - -// Alignment: 0 -// Size: 0x5a0 -class CDOTA_Ability_Treant_LifeBomb_Explode : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Treant_NaturesGuise : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_CDOTA_Ability_Treant_LeechSeed : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Treant_LivingArmor : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Treant_Overgrowth : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Ogre_Magi_Multicast : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x5a8 -class C_DOTA_Ability_Ogre_Magi_Fireblast : public C_DOTABaseAbility -{ -public: - int32_t m_nMostRecentMulticastCount; // 0x5a0 -}; - -// Alignment: 1 -// Size: 0x5b0 -class C_DOTA_Ability_Ogre_Magi_Unrefined_Fireblast : public C_DOTA_Ability_Ogre_Magi_Fireblast -{ -public: - int32_t m_nMostRecentMulticastCount; // 0x5a8 -}; - -// Alignment: 2 -// Size: 0x5a8 -class C_DOTA_Ability_Ogre_Magi_Ignite : public C_DOTABaseAbility -{ -public: - ParticleIndex_t m_nFXIndex; // 0x5a0 - int32_t m_nMostRecentMulticastCount; // 0x5a4 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Ogre_Magi_Bloodlust : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Ogre_Magi_Smash : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// 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 -{ -public: - int32_t decay_damage; // 0x5a0 - int32_t radius; // 0x5a4 - float decay_duration; // 0x5a8 - int32_t str_steal; // 0x5ac - float creep_damage_multiplier; // 0x5b0 -}; - -// Alignment: 4 -// Size: 0x5b0 -class C_DOTA_Ability_Undying_SoulRip : public C_DOTABaseAbility -{ -public: - int32_t damage_per_unit; // 0x5a0 - int32_t radius; // 0x5a4 - int32_t max_units; // 0x5a8 - int32_t tombstone_heal; // 0x5ac -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Undying_Tombstone_Zombie_DeathStrike : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 4 -// Size: 0x5c8 -class C_DOTA_Ability_Undying_Tombstone : public C_DOTABaseAbility -{ -public: - CUtlVector< CHandle< C_BaseEntity > > m_vZombies; // 0x5a0 - CHandle< C_BaseEntity > hTombstone; // 0x5b8 - int32_t radius; // 0x5bc - 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 -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Undying : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Undying_2 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Undying_3 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Undying_4 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Undying_5 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Undying_6 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Undying_7 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Undying_8 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 4 -// Size: 0x5c8 -class C_DOTA_Ability_Rubick_Telekinesis : public C_DOTABaseAbility -{ -public: - // MNetworkEnable - Vector m_vStartLocation; // 0x5a0 - Vector m_vLandLocation; // 0x5ac - GameTime_t m_flStartTime; // 0x5b8 -private: - [[maybe_unused]] uint8_t __pad05bc[0x4]; // 0x5bc -public: - C_DOTA_BaseNPC* m_pTarget; // 0x5c0 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Rubick_TelekinesisLand : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Rubick_TelekinesisLand_Self : public C_DOTA_Ability_Rubick_TelekinesisLand -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Rubick_FadeBolt : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Rubick_NullField : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 4 -// Size: 0x6b0 -class C_DOTA_Ability_Rubick_SpellSteal : public C_DOTABaseAbility -{ -public: - // MNetworkEnable - char m_ActivityModifier[256]; // 0x5a0 - // MNetworkEnable - float m_fStolenCastPoint; // 0x6a0 - CHandle< C_BaseEntity > m_hStealTarget; // 0x6a4 - CHandle< C_DOTABaseAbility > m_hStealAbility; // 0x6a8 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Rubick_Empty1 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Rubick_Empty2 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Rubick_Hidden1 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Rubick_Hidden2 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Rubick_Hidden3 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Rubick_Arcane_Supremacy : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Rubick : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Rubick_2 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Rubick_3 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Rubick_4 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Rubick_5 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Rubick_6 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Rubick_7 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Rubick_8 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Disruptor_Thunder_Strike : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Disruptor_Glimpse : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Disruptor_KineticField : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Disruptor_StaticStorm : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Disruptor : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_2 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_3 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_4 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_5 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_6 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_7 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_8 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_9 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 6 -// Size: 0x5d8 -class C_DOTA_Ability_Nyx_Assassin_Impale : public C_DOTABaseAbility -{ -public: - CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x5a0 - int32_t width; // 0x5b8 - float duration; // 0x5bc - int32_t length; // 0x5c0 - int32_t speed; // 0x5c4 - Vector vOriginalCast; // 0x5c8 -}; - -// Alignment: 1 -// Size: 0x5a8 -class CDOTA_Ability_Nyx_Assassin_ManaBurn : public C_DOTABaseAbility -{ -public: - int32_t aoe; // 0x5a0 -}; - -// Alignment: 2 -// Size: 0x5a8 -class CDOTA_Ability_Nyx_Assassin_Burrow : public C_DOTABaseAbility -{ -public: - ParticleIndex_t m_nSpellStartFXIndex; // 0x5a0 - ParticleIndex_t m_nPhaseStartFXIndex; // 0x5a4 -}; - -// Alignment: 0 -// Size: 0x5a0 -class CDOTA_Ability_Nyx_Assassin_Unburrow : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Nyx_Assassin_SpikedCarapace : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Nyx_Assassin_Vendetta : public C_DOTABaseAbility -{ -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 -{ -public: - CUtlVector< CHandle< C_BaseEntity > > m_hIllusions; // 0x5a0 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_NagaSiren_Ensnare : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_NagaSiren_RipTide : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_NagaSiren_Crit : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_NagaSiren_SongOfTheSiren : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_NagaSiren_SongOfTheSiren_Cancel : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x5b8 -class C_DOTA_Ability_Naga_Siren_Reel_In : public C_DOTABaseAbility -{ -public: - CUtlVector< CHandle< C_BaseEntity > > affectedEntities; // 0x5a0 -}; - -// Alignment: 8 -// Size: 0x5c8 -class C_DOTA_Ability_KeeperOfTheLight_Illuminate : public C_DOTABaseAbility -{ -public: - GameTime_t m_fStartTime; // 0x5a0 - float m_fPower; // 0x5a4 - int32_t m_iProjectile; // 0x5a8 - ParticleIndex_t m_nFXIndex; // 0x5ac - ParticleIndex_t m_nFXIndexB; // 0x5b0 - Vector m_vPos; // 0x5b4 - int32_t total_damage; // 0x5c0 - bool m_bStarted; // 0x5c4 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_KeeperOfTheLight_IlluminateEnd : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 6 -// Size: 0x5b8 -class C_DOTA_Ability_KeeperOfTheLight_SpiritFormIlluminate : public C_DOTABaseAbility -{ -public: - CHandle< C_BaseEntity > m_hThinker; // 0x5a0 - float max_channel_time; // 0x5a4 - int32_t total_damage; // 0x5a8 - float m_fPower; // 0x5ac - GameTime_t m_fStartTime; // 0x5b0 - ParticleIndex_t m_nFXIndex; // 0x5b4 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_KeeperOfTheLight_SpiritFormIlluminateEnd : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_KeeperOfTheLight_ManaLeak : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_KeeperOfTheLight_Radiant_Bind : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_KeeperOfTheLight_Will_O_Wisp : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_KeeperOfTheLight_ChakraMagic : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class CDOTA_Ability_KeeperOfTheLight_SpiritForm : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_KeeperOfTheLight_Recall : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_KeeperOfTheLight_BlindingLight : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_2 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_3 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_4 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_5 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_6 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_7 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_8 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_9 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_10 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_11 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_12 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_13 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_14 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 5 -// Size: 0x5c0 -class C_DOTA_Ability_Wisp_Tether : public C_DOTABaseAbility -{ -public: - // MNetworkEnable - CHandle< C_BaseEntity > m_hTarget; // 0x5a0 - Vector m_vProjectileLocation; // 0x5a4 - bool m_bProjectileActive; // 0x5b0 -private: - [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 -public: - int32_t latch_distance; // 0x5b4 - int32_t m_iProjectileIndex; // 0x5b8 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Wisp_Tether_Break : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Wisp_Empty1 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Wisp_Empty2 : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Wisp_Spirits_In : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Wisp_Spirits_Out : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Wisp_Overcharge : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 4 -// Size: 0x5b0 -class C_DOTA_Ability_Wisp_Relocate : public C_DOTABaseAbility -{ -public: - ParticleIndex_t m_nFXIndexEndTeam; // 0x5a0 - ParticleIndex_t m_nFXIndexChannel; // 0x5a4 - float cast_delay; // 0x5a8 - float return_time; // 0x5ac -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Visage_GraveChill : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 3 -// Size: 0x5b0 -class C_DOTA_Ability_Visage_SoulAssumption : public C_DOTABaseAbility -{ -public: - float m_fDamage; // 0x5a0 - ParticleIndex_t m_nFXIndex; // 0x5a4 - int32_t m_iForcedStacks; // 0x5a8 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Visage_GravekeepersCloak : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x6c0 -class C_DOTA_Ability_Visage_SummonFamiliars : public C_DOTABaseAbility -{ -public: - char szUnitName[260]; // 0x5a0 -private: - [[maybe_unused]] uint8_t __pad06a4[0x4]; // 0x6a4 -public: - CUtlVector< CHandle< C_BaseEntity > > m_hExistingUnits; // 0x6a8 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Visage_SummonFamiliars_StoneForm : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Visage_Stone_Form_Self_Cast : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x5a8 -class C_DOTA_Ability_Visage_Silent_As_The_Grave : public C_DOTABaseAbility -{ -public: - float invis_duration; // 0x5a0 -}; - -// Alignment: 0 -// Size: 0x5a0 -class CDOTA_Ability_Slark_DarkPact : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Slark_Pounce : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Slark_EssenceShift : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Slark_ShadowDance : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Slark_Depth_Shroud : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a8 -class C_DOTA_Ability_Slark_Fish_Bait : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Medusa_SplitShot : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 11 -// Size: 0x5d0 -class C_DOTA_Ability_Medusa_MysticSnake : public C_DOTABaseAbility -{ -public: - int32_t radius; // 0x5a0 - int32_t snake_jumps; // 0x5a4 - int32_t snake_damage; // 0x5a8 - int32_t snake_damage_pct; // 0x5ac - int32_t snake_mana_steal; // 0x5b0 - int32_t snake_scale; // 0x5b4 - int32_t snake_speed_scale; // 0x5b8 - int32_t initial_speed; // 0x5bc - int32_t return_speed; // 0x5c0 - float jump_delay; // 0x5c4 - float slow_duration; // 0x5c8 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Medusa_ManaShield : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Medusa_StoneGaze : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Medusa_Cold_Blooded : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Troll_Warlord_Rampage : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x5a8 -class C_DOTA_Ability_TrollWarlord_BerserkersRage : public C_DOTABaseAbility -{ -public: - int32_t m_iOriginalAttackCapabilities; // 0x5a0 -}; - -// Alignment: 8 -// Size: 0x5e0 -class C_DOTA_Ability_TrollWarlord_WhirlingAxes_Ranged : public C_DOTABaseAbility -{ -public: - Vector m_vStartPos; // 0x5a0 - int32_t m_iArrowProjectile; // 0x5ac - int32_t axe_width; // 0x5b0 - float axe_speed; // 0x5b4 - float axe_range; // 0x5b8 - int32_t axe_spread; // 0x5bc - int32_t axe_count; // 0x5c0 -private: - [[maybe_unused]] uint8_t __pad05c4[0x4]; // 0x5c4 -public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitUnits; // 0x5c8 -}; - -// Alignment: 2 -// Size: 0x5c0 -class C_DOTA_Ability_TrollWarlord_Whirling_Axes_Melee : public C_DOTABaseAbility -{ -public: - CUtlVector< CHandle< C_BaseEntity > > m_hAxes; // 0x5a0 - int32_t m_nAxeIdx; // 0x5b8 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_TrollWarlord_Fervor : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x5a8 -class C_DOTA_Ability_TrollWarlord_BattleTrance : public C_DOTABaseAbility -{ -public: - float trance_duration; // 0x5a0 -}; - -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Centaur_HoofStomp : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x5a8 -class CDOTA_Ability_Centaur_DoubleEdge : public C_DOTABaseAbility -{ -public: - ParticleIndex_t m_nFXIndex; // 0x5a0 -}; - -// Alignment: 0 -// Size: 0x5a0 -class CDOTA_Ability_Centaur_Return : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 6 -// Size: 0x5d0 -class CDOTA_Ability_Centaur_Stampede : public C_DOTABaseAbility -{ -public: - float duration; // 0x5a0 - int32_t base_damage; // 0x5a4 - float strength_damage; // 0x5a8 - float slow_duration; // 0x5ac - float scepter_bonus_duration; // 0x5b0 + int32_t m_iBounces; // 0x5b0 private: [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: @@ -67070,7 +66223,1775 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 +class C_DOTA_Ability_Brewmaster_AstralPulse : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Brewmaster_SpellImmunity : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Brewmaster_Pulverize : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Brewmaster_DispelMagic : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Brewmaster_Cyclone : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Brewmaster_WindWalk : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Brewmaster_PermanentImmolation : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Brewmaster_Primal_Split_Cancel : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x5b8 +class C_DOTA_Ability_Primal_Companion : public C_DOTABaseAbility +{ +public: + CHandle< C_DOTA_BaseNPC > m_hCurrentBrewling; // 0x5b0 +}; + +// Alignment: 2 +// Size: 0x5b8 +class CDOTA_Ability_Brewmaster_Void_Astral_Pull : public C_DOTABaseAbility +{ +public: + int32_t pull_speed; // 0x5b0 + int32_t pull_distance; // 0x5b4 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Lycan_Wolf_Bite : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x6d8 +class C_DOTA_Ability_Lycan_SummonWolves : public C_DOTABaseAbility +{ +public: + char szUnitName[260]; // 0x5b0 + int32_t wolf_index; // 0x6b4 + float wolf_duration; // 0x6b8 +private: + [[maybe_unused]] uint8_t __pad06bc[0x4]; // 0x6bc +public: + CUtlVector< CHandle< C_BaseEntity > > m_hExistingUnits; // 0x6c0 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Lycan_SummonWolves_CriticalStrike : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Lycan_SummonWolves_PermanentInvisibility : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Lycan_Howl : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Lycan_FeralImpulse : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Lycan_Shapeshift : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x5b8 +class C_DOTA_Ability_Shadow_Demon_Disruption : public C_DOTABaseAbility +{ +public: + CHandle< C_BaseEntity > m_hDisruptedUnit; // 0x5b0 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Shadow_Demon_Soul_Catcher : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Shadow_Demon_Shadow_Poison_Release : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Shadow_Demon_Shadow_Poison : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x5b8 +class C_DOTA_Ability_Shadow_Demon_Demonic_Purge : public C_DOTABaseAbility +{ +public: + bool m_bGrantedScepterCharges; // 0x5b0 +}; + +// Alignment: 1 +// Size: 0x5b8 +class C_DOTA_Ability_Shadow_Demon_Demonic_Cleanse : public C_DOTABaseAbility +{ +public: + bool m_bGrantedScepterCharges; // 0x5b0 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Shadow_Demon_Disseminate : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x5c0 +class C_DOTA_Ability_LoneDruid_SpiritBear : public C_DOTABaseAbility +{ +public: + bool m_bLevelChanged; // 0x5b0 +private: + [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 +public: + // MNetworkEnable + CHandle< C_BaseEntity > m_hBear; // 0x5b4 + CHandle< C_BaseEntity > m_hPreBear; // 0x5b8 +}; + +// Alignment: 1 +// Size: 0x5b8 +class C_DOTA_Ability_LoneDruid_SpiritBear_Return : public C_DOTABaseAbility +{ +public: + ParticleIndex_t m_nFXOrigin; // 0x5b0 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_LoneDruid_SpiritBear_Defender : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_LoneDruid_Entangling_Claws : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_LoneDruid_SpiritBear_Entangle : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_LoneDruid_SpiritBear_Demolish : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x5b8 +class C_DOTA_Ability_LoneDruid_Rabid : public C_DOTABaseAbility +{ +public: + float rabid_duration; // 0x5b0 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_LoneDruid_SpiritLink : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_LoneDruid_TrueForm : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_LoneDruid_TrueForm_Druid : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x5b8 +class C_DOTA_Ability_LoneDruid_TrueForm_BattleCry : public C_DOTABaseAbility +{ +public: + float cry_duration; // 0x5b0 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_LoneDruid_SavageRoar : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_LoneDruid_SavageRoar_Bear : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Bear_Empty1 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Bear_Empty2 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_LoneDruid_SpiritBear_Fetch : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x5c8 +class C_DOTA_Ability_ChaosKnight_Chaos_Bolt : public C_DOTABaseAbility +{ +public: + CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x5b0 +}; + +// Alignment: 3 +// Size: 0x5d8 +class C_DOTA_Ability_ChaosKnight_Reality_Rift : public C_DOTABaseAbility +{ +public: + float m_flPercentage; // 0x5b0 +private: + [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 +public: + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x5b8 + CHandle< C_BaseEntity > m_hRiftIllusion; // 0x5d0 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_ChaosKnight_Chaos_Strike : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_ChaosKnight_Phantasm : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_2 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_3 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_4 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_5 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_6 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_7 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_8 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Meepo_Earthbind : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Meepo_Geostrike : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x5c0 +class C_DOTA_Ability_Meepo_DividedWeStand : public C_DOTABaseAbility +{ +public: + // MNetworkEnable + int32_t m_nWhichDividedWeStand; // 0x5b0 + // MNetworkEnable + int32_t m_nNumDividedWeStand; // 0x5b4 + // MNetworkEnable + CHandle< C_DOTA_Ability_Meepo_DividedWeStand > m_entPrimeDividedWeStand; // 0x5b8 + // MNetworkEnable + CHandle< C_DOTA_Ability_Meepo_DividedWeStand > m_entNextDividedWeStand; // 0x5bc +}; + +// Alignment: 2 +// Size: 0x5c0 +class CDOTA_Ability_Meepo_Poof : public C_DOTABaseAbility +{ +public: + ParticleIndex_t m_nFXIndex; // 0x5b0 +private: + [[maybe_unused]] uint8_t __pad05b4[0x8]; // 0x5b4 +public: + int32_t radius; // 0x5bc +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Meepo_Ransack : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Meepo : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Meepo_2 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Meepo_3 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Meepo_4 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Meepo_5 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Meepo_FairShare : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Meepo_6 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x5d8 +class C_DOTA_Ability_Meepo_MegaMeepo : public C_DOTABaseAbility +{ +public: + CHandle< C_BaseEntity > hPreviousMeepo; // 0x5b0 + CHandle< C_BaseEntity > hMegameepoFrame; // 0x5b4 + CUtlVector< CHandle< C_BaseEntity > > hListOfMeepos; // 0x5b8 + bool m_bHasSwappedAbilities; // 0x5d0 +}; + +// Alignment: 1 +// Size: 0x5b8 +class C_DOTA_Ability_Meepo_Megameepo_Fling : public C_DOTABaseAbility +{ +public: + int32_t vision_radius; // 0x5b0 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Meepo_Petrify : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class CDOTA_Ability_Treant_EyesInTheForest : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Treant_NaturesGrasp : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x5b8 +class CDOTA_Ability_Treant_LifeBomb : public C_DOTABaseAbility +{ +public: + ParticleIndex_t m_nFXIndex; // 0x5b0 + CHandle< C_BaseEntity > m_hRMine; // 0x5b4 +}; + +// Alignment: 0 +// Size: 0x5b0 +class CDOTA_Ability_Treant_LifeBomb_Explode : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Treant_NaturesGuise : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_CDOTA_Ability_Treant_LeechSeed : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Treant_LivingArmor : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Treant_Overgrowth : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Ogre_Magi_Multicast : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x5b8 +class C_DOTA_Ability_Ogre_Magi_Fireblast : public C_DOTABaseAbility +{ +public: + int32_t m_nMostRecentMulticastCount; // 0x5b0 +}; + +// Alignment: 1 +// Size: 0x5c0 +class C_DOTA_Ability_Ogre_Magi_Unrefined_Fireblast : public C_DOTA_Ability_Ogre_Magi_Fireblast +{ +public: + int32_t m_nMostRecentMulticastCount; // 0x5b8 +}; + +// Alignment: 2 +// Size: 0x5b8 +class C_DOTA_Ability_Ogre_Magi_Ignite : public C_DOTABaseAbility +{ +public: + ParticleIndex_t m_nFXIndex; // 0x5b0 + int32_t m_nMostRecentMulticastCount; // 0x5b4 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Ogre_Magi_Bloodlust : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Ogre_Magi_Smash : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Ogre_Magi_DumbLuck : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 5 +// Size: 0x5c8 +class C_DOTA_Ability_Undying_Decay : public C_DOTABaseAbility +{ +public: + int32_t decay_damage; // 0x5b0 + int32_t radius; // 0x5b4 + float decay_duration; // 0x5b8 + int32_t str_steal; // 0x5bc + float creep_damage_multiplier; // 0x5c0 +}; + +// Alignment: 4 +// Size: 0x5c0 +class C_DOTA_Ability_Undying_SoulRip : public C_DOTABaseAbility +{ +public: + int32_t damage_per_unit; // 0x5b0 + int32_t radius; // 0x5b4 + int32_t max_units; // 0x5b8 + int32_t tombstone_heal; // 0x5bc +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Undying_Tombstone_Zombie_DeathStrike : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x5d8 +class C_DOTA_Ability_Undying_Tombstone : public C_DOTABaseAbility +{ +public: + CUtlVector< CHandle< C_BaseEntity > > m_vZombies; // 0x5b0 + CHandle< C_BaseEntity > hTombstone; // 0x5c8 + int32_t radius; // 0x5cc + float duration; // 0x5d0 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Undying_TombstoneUnitGrab : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Undying_TombstoneGrab : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Undying_FleshGolem : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Undying : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Undying_2 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Undying_3 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Undying_4 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Undying_5 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Undying_6 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Undying_7 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Undying_8 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x5d8 +class C_DOTA_Ability_Rubick_Telekinesis : public C_DOTABaseAbility +{ +public: + // MNetworkEnable + Vector m_vStartLocation; // 0x5b0 + Vector m_vLandLocation; // 0x5bc + GameTime_t m_flStartTime; // 0x5c8 +private: + [[maybe_unused]] uint8_t __pad05cc[0x4]; // 0x5cc +public: + C_DOTA_BaseNPC* m_pTarget; // 0x5d0 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Rubick_TelekinesisLand : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Rubick_TelekinesisLand_Self : public C_DOTA_Ability_Rubick_TelekinesisLand +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Rubick_FadeBolt : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Rubick_NullField : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x6c0 +class C_DOTA_Ability_Rubick_SpellSteal : public C_DOTABaseAbility +{ +public: + // MNetworkEnable + char m_ActivityModifier[256]; // 0x5b0 + // MNetworkEnable + float m_fStolenCastPoint; // 0x6b0 + CHandle< C_BaseEntity > m_hStealTarget; // 0x6b4 + CHandle< C_DOTABaseAbility > m_hStealAbility; // 0x6b8 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Rubick_Empty1 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Rubick_Empty2 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Rubick_Hidden1 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Rubick_Hidden2 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Rubick_Hidden3 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Rubick_Arcane_Supremacy : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Rubick : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Rubick_2 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Rubick_3 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Rubick_4 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Rubick_5 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Rubick_6 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Rubick_7 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Rubick_8 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Disruptor_Thunder_Strike : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Disruptor_Glimpse : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Disruptor_KineticField : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Disruptor_StaticStorm : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Disruptor : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_2 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_3 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_4 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_5 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_6 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_7 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_8 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_9 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 6 +// Size: 0x5e8 +class C_DOTA_Ability_Nyx_Assassin_Impale : public C_DOTABaseAbility +{ +public: + CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x5b0 + int32_t width; // 0x5c8 + float duration; // 0x5cc + int32_t length; // 0x5d0 + int32_t speed; // 0x5d4 + Vector vOriginalCast; // 0x5d8 +}; + +// Alignment: 1 +// Size: 0x5b8 +class CDOTA_Ability_Nyx_Assassin_ManaBurn : public C_DOTABaseAbility +{ +public: + int32_t aoe; // 0x5b0 +}; + +// Alignment: 2 +// Size: 0x5b8 +class CDOTA_Ability_Nyx_Assassin_Burrow : public C_DOTABaseAbility +{ +public: + ParticleIndex_t m_nSpellStartFXIndex; // 0x5b0 + ParticleIndex_t m_nPhaseStartFXIndex; // 0x5b4 +}; + +// Alignment: 0 +// Size: 0x5b0 +class CDOTA_Ability_Nyx_Assassin_Unburrow : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Nyx_Assassin_SpikedCarapace : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Nyx_Assassin_Vendetta : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x5b8 +class CDOTA_Ability_Nyx_Assassin_Jolt : public C_DOTABaseAbility +{ +public: + int32_t aoe; // 0x5b0 + int32_t damage; // 0x5b4 +}; + +// Alignment: 1 +// Size: 0x5c8 +class C_DOTA_Ability_NagaSiren_MirrorImage : public C_DOTABaseAbility +{ +public: + CUtlVector< CHandle< C_BaseEntity > > m_hIllusions; // 0x5b0 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_NagaSiren_Ensnare : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_NagaSiren_RipTide : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_NagaSiren_Crit : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_NagaSiren_SongOfTheSiren : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_NagaSiren_SongOfTheSiren_Cancel : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x5c8 +class C_DOTA_Ability_Naga_Siren_Reel_In : public C_DOTABaseAbility +{ +public: + CUtlVector< CHandle< C_BaseEntity > > affectedEntities; // 0x5b0 +}; + +// Alignment: 7 +// Size: 0x5d8 +class C_DOTA_Ability_KeeperOfTheLight_Illuminate : public C_DOTABaseAbility +{ +public: + GameTime_t m_fStartTime; // 0x5b0 + int32_t m_iProjectile; // 0x5b4 + ParticleIndex_t m_nFXIndex; // 0x5b8 + ParticleIndex_t m_nFXIndexB; // 0x5bc + Vector m_vPos; // 0x5c0 + int32_t total_damage; // 0x5cc + bool m_bStarted; // 0x5d0 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_KeeperOfTheLight_IlluminateEnd : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 6 +// Size: 0x5c8 +class C_DOTA_Ability_KeeperOfTheLight_SpiritFormIlluminate : public C_DOTABaseAbility +{ +public: + CHandle< C_BaseEntity > m_hThinker; // 0x5b0 + float max_channel_time; // 0x5b4 + int32_t total_damage; // 0x5b8 + float m_fPower; // 0x5bc + GameTime_t m_fStartTime; // 0x5c0 + ParticleIndex_t m_nFXIndex; // 0x5c4 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_KeeperOfTheLight_SpiritFormIlluminateEnd : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_KeeperOfTheLight_ManaLeak : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_KeeperOfTheLight_Radiant_Bind : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_KeeperOfTheLight_Will_O_Wisp : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_KeeperOfTheLight_ChakraMagic : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class CDOTA_Ability_KeeperOfTheLight_SpiritForm : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_KeeperOfTheLight_Recall : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_KeeperOfTheLight_BlindingLight : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_2 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_3 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_4 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_5 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_6 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_7 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_8 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_9 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_10 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_11 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_12 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_13 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_14 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 5 +// Size: 0x5d0 +class C_DOTA_Ability_Wisp_Tether : public C_DOTABaseAbility +{ +public: + // MNetworkEnable + CHandle< C_BaseEntity > m_hTarget; // 0x5b0 + Vector m_vProjectileLocation; // 0x5b4 + bool m_bProjectileActive; // 0x5c0 +private: + [[maybe_unused]] uint8_t __pad05c1[0x3]; // 0x5c1 +public: + int32_t latch_distance; // 0x5c4 + int32_t m_iProjectileIndex; // 0x5c8 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Wisp_Tether_Break : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Wisp_Empty1 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Wisp_Empty2 : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Wisp_Spirits_In : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Wisp_Spirits_Out : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Wisp_Overcharge : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x5c0 +class C_DOTA_Ability_Wisp_Relocate : public C_DOTABaseAbility +{ +public: + ParticleIndex_t m_nFXIndexEndTeam; // 0x5b0 + ParticleIndex_t m_nFXIndexChannel; // 0x5b4 + float cast_delay; // 0x5b8 + float return_time; // 0x5bc +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Visage_GraveChill : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x5c0 +class C_DOTA_Ability_Visage_SoulAssumption : public C_DOTABaseAbility +{ +public: + float m_fDamage; // 0x5b0 + ParticleIndex_t m_nFXIndex; // 0x5b4 + int32_t m_iForcedStacks; // 0x5b8 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Visage_GravekeepersCloak : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x6d0 +class C_DOTA_Ability_Visage_SummonFamiliars : public C_DOTABaseAbility +{ +public: + char szUnitName[260]; // 0x5b0 +private: + [[maybe_unused]] uint8_t __pad06b4[0x4]; // 0x6b4 +public: + CUtlVector< CHandle< C_BaseEntity > > m_hExistingUnits; // 0x6b8 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Visage_SummonFamiliars_StoneForm : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Visage_Stone_Form_Self_Cast : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x5b8 +class C_DOTA_Ability_Visage_Silent_As_The_Grave : public C_DOTABaseAbility +{ +public: + float invis_duration; // 0x5b0 +}; + +// Alignment: 0 +// Size: 0x5b0 +class CDOTA_Ability_Slark_DarkPact : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Slark_Pounce : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Slark_EssenceShift : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Slark_ShadowDance : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Slark_Depth_Shroud : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b8 +class C_DOTA_Ability_Slark_Fish_Bait : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Medusa_SplitShot : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 11 +// Size: 0x5e0 +class C_DOTA_Ability_Medusa_MysticSnake : public C_DOTABaseAbility +{ +public: + int32_t radius; // 0x5b0 + int32_t snake_jumps; // 0x5b4 + int32_t snake_damage; // 0x5b8 + int32_t snake_damage_pct; // 0x5bc + int32_t snake_mana_steal; // 0x5c0 + int32_t snake_scale; // 0x5c4 + int32_t snake_speed_scale; // 0x5c8 + int32_t initial_speed; // 0x5cc + int32_t return_speed; // 0x5d0 + float jump_delay; // 0x5d4 + float slow_duration; // 0x5d8 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Medusa_ManaShield : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Medusa_StoneGaze : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Medusa_Cold_Blooded : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Troll_Warlord_Rampage : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x5b8 +class C_DOTA_Ability_TrollWarlord_BerserkersRage : public C_DOTABaseAbility +{ +public: + int32_t m_iOriginalAttackCapabilities; // 0x5b0 +}; + +// Alignment: 8 +// Size: 0x5f0 +class C_DOTA_Ability_TrollWarlord_WhirlingAxes_Ranged : public C_DOTABaseAbility +{ +public: + Vector m_vStartPos; // 0x5b0 + int32_t m_iArrowProjectile; // 0x5bc + int32_t axe_width; // 0x5c0 + float axe_speed; // 0x5c4 + float axe_range; // 0x5c8 + int32_t axe_spread; // 0x5cc + int32_t axe_count; // 0x5d0 +private: + [[maybe_unused]] uint8_t __pad05d4[0x4]; // 0x5d4 +public: + CUtlVector< CHandle< C_BaseEntity > > m_hHitUnits; // 0x5d8 +}; + +// Alignment: 2 +// Size: 0x5d0 +class C_DOTA_Ability_TrollWarlord_Whirling_Axes_Melee : public C_DOTABaseAbility +{ +public: + CUtlVector< CHandle< C_BaseEntity > > m_hAxes; // 0x5b0 + int32_t m_nAxeIdx; // 0x5c8 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_TrollWarlord_Fervor : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x5b8 +class C_DOTA_Ability_TrollWarlord_BattleTrance : public C_DOTABaseAbility +{ +public: + float trance_duration; // 0x5b0 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Centaur_HoofStomp : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x5b8 +class CDOTA_Ability_Centaur_DoubleEdge : public C_DOTABaseAbility +{ +public: + ParticleIndex_t m_nFXIndex; // 0x5b0 +}; + +// Alignment: 0 +// Size: 0x5b0 +class CDOTA_Ability_Centaur_Return : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 6 +// Size: 0x5e0 +class CDOTA_Ability_Centaur_Stampede : public C_DOTABaseAbility +{ +public: + float duration; // 0x5b0 + int32_t base_damage; // 0x5b4 + float strength_damage; // 0x5b8 + float slow_duration; // 0x5bc + float scepter_bonus_duration; // 0x5c0 +private: + [[maybe_unused]] uint8_t __pad05c4[0x4]; // 0x5c4 +public: + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x5c8 +}; + +// Alignment: 1 +// Size: 0x5b8 +class CDOTA_Ability_Centaur_Work_Horse : public C_DOTABaseAbility +{ +public: + CHandle< C_BaseEntity > m_hCart; // 0x5b0 +}; + +// Alignment: 0 +// Size: 0x5b0 class CDOTA_Ability_Centaur_Mount : public C_DOTABaseAbility { public: @@ -67078,7 +67999,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Centaur_1 : public C_DOTABaseAbility { public: @@ -67086,7 +68007,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Centaur_2 : public C_DOTABaseAbility { public: @@ -67094,7 +68015,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Centaur_3 : public C_DOTABaseAbility { public: @@ -67102,7 +68023,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Centaur_4 : public C_DOTABaseAbility { public: @@ -67110,7 +68031,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Centaur_5 : public C_DOTABaseAbility { public: @@ -67118,7 +68039,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Centaur_6 : public C_DOTABaseAbility { public: @@ -67126,7 +68047,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Centaur_7 : public C_DOTABaseAbility { public: @@ -67134,7 +68055,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Magnataur_Horn_Toss : public C_DOTABaseAbility { public: @@ -67142,20 +68063,20 @@ public: }; // Alignment: 3 -// Size: 0x5d8 +// Size: 0x5e8 class C_DOTA_Ability_Magnataur_Shockwave : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 + ParticleIndex_t m_nFXIndex; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 + [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: - CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x5a8 - CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitListReturning; // 0x5c0 + CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x5b8 + CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitListReturning; // 0x5d0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Magnataur_Empower : public C_DOTABaseAbility { public: @@ -67163,28 +68084,28 @@ public: }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Magnataur_Skewer : public C_DOTABaseAbility { public: - int32_t skewer_radius; // 0x5a0 - int32_t skewer_speed; // 0x5a4 - int32_t range; // 0x5a8 - int32_t tree_radius; // 0x5ac - int32_t m_nTargetsHit; // 0x5b0 + int32_t skewer_radius; // 0x5b0 + int32_t skewer_speed; // 0x5b4 + int32_t range; // 0x5b8 + int32_t tree_radius; // 0x5bc + int32_t m_nTargetsHit; // 0x5c0 }; // Alignment: 2 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Magnataur_ReversePolarity : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 - Vector m_vPullLocation; // 0x5a4 + ParticleIndex_t m_nFXIndex; // 0x5b0 + Vector m_vPullLocation; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Magnus : public C_DOTABaseAbility { public: @@ -67192,7 +68113,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Magnus_Strength_Of_Joelrak : public C_DOTABaseAbility { public: @@ -67200,7 +68121,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Magnus_2 : public C_DOTABaseAbility { public: @@ -67208,7 +68129,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Magnus_3 : public C_DOTABaseAbility { public: @@ -67216,7 +68137,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Magnus_4 : public C_DOTABaseAbility { public: @@ -67224,7 +68145,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Magnus_5 : public C_DOTABaseAbility { public: @@ -67232,7 +68153,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Magnus_6 : public C_DOTABaseAbility { public: @@ -67240,7 +68161,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Magnus_7 : public C_DOTABaseAbility { public: @@ -67248,30 +68169,30 @@ public: }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Shredder_WhirlingDeath : public C_DOTABaseAbility { public: - int32_t whirling_radius; // 0x5a0 - int32_t whirling_damage; // 0x5a4 - float whirling_tick; // 0x5a8 - float duration; // 0x5ac - int32_t tree_damage_scale; // 0x5b0 + int32_t whirling_radius; // 0x5b0 + int32_t whirling_damage; // 0x5b4 + float whirling_tick; // 0x5b8 + float duration; // 0x5bc + int32_t tree_damage_scale; // 0x5c0 }; // Alignment: 4 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Shredder_TimberChain : public C_DOTABaseAbility { public: - int32_t chain_radius; // 0x5a0 - ParticleIndex_t m_nFXIndex; // 0x5a4 - Vector m_vProjectileVelocity; // 0x5a8 - bool m_bRetract; // 0x5b4 + int32_t chain_radius; // 0x5b0 + ParticleIndex_t m_nFXIndex; // 0x5b4 + Vector m_vProjectileVelocity; // 0x5b8 + bool m_bRetract; // 0x5c4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Shredder_Reactive_Armor : public C_DOTABaseAbility { public: @@ -67279,30 +68200,30 @@ public: }; // Alignment: 13 -// Size: 0x5f0 +// Size: 0x600 class C_DOTA_Ability_Shredder_Chakram : public C_DOTABaseAbility { public: - float radius; // 0x5a0 - float speed; // 0x5a4 - float pass_slow_duration; // 0x5a8 - int32_t pass_damage; // 0x5ac - Vector m_vEndLocation; // 0x5b0 - float m_fZCoord; // 0x5bc - bool m_bIsReturning; // 0x5c0 + float radius; // 0x5b0 + float speed; // 0x5b4 + float pass_slow_duration; // 0x5b8 + int32_t pass_damage; // 0x5bc + Vector m_vEndLocation; // 0x5c0 + float m_fZCoord; // 0x5cc + bool m_bIsReturning; // 0x5d0 private: - [[maybe_unused]] uint8_t __pad05c1[0x3]; // 0x5c1 + [[maybe_unused]] uint8_t __pad05d1[0x3]; // 0x5d1 public: - ParticleIndex_t m_nFXIndex; // 0x5c4 - ParticleIndex_t m_nFXIndexB; // 0x5c8 - ParticleIndex_t m_nFXIndexC; // 0x5cc - int32_t m_nProjectileIndex; // 0x5d0 - CHandle< C_BaseEntity > m_hThinker; // 0x5d4 - CUtlVector< CHandle< C_BaseEntity > > m_hReturnHits; // 0x5d8 + ParticleIndex_t m_nFXIndex; // 0x5d4 + ParticleIndex_t m_nFXIndexB; // 0x5d8 + ParticleIndex_t m_nFXIndexC; // 0x5dc + int32_t m_nProjectileIndex; // 0x5e0 + CHandle< C_BaseEntity > m_hThinker; // 0x5e4 + CUtlVector< CHandle< C_BaseEntity > > m_hReturnHits; // 0x5e8 }; // Alignment: 0 -// Size: 0x5f0 +// Size: 0x600 class C_DOTA_Ability_Shredder_ChakramAlias_shredder_chakram_2 : public C_DOTA_Ability_Shredder_Chakram { public: @@ -67310,7 +68231,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Shredder_ReturnChakram : public C_DOTABaseAbility { public: @@ -67318,7 +68239,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Shredder_ReturnChakramAlias_shredder_return_chakram_2 : public C_DOTA_Ability_Shredder_ReturnChakram { public: @@ -67326,7 +68247,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Shredder_Flamethrower : public C_DOTABaseAbility { public: @@ -67334,7 +68255,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Bristleback_Warpath : public C_DOTABaseAbility { public: @@ -67342,7 +68263,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Bristleback_ViscousNasalGoo : public C_DOTABaseAbility { public: @@ -67350,7 +68271,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Bristleback_QuillSpray : public C_DOTABaseAbility { public: @@ -67358,7 +68279,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Bristleback_Bristleback : public C_DOTABaseAbility { public: @@ -67366,7 +68287,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Bristleback_Hairball : public C_DOTABaseAbility { public: @@ -67374,7 +68295,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Tusk_IceShards_Stop : public C_DOTABaseAbility { public: @@ -67382,59 +68303,59 @@ public: }; // Alignment: 11 -// Size: 0x5f0 +// Size: 0x600 class C_DOTA_Ability_Tusk_IceShards : public C_DOTABaseAbility { public: - int32_t m_iProjectile; // 0x5a0 - int32_t shard_width; // 0x5a4 - int32_t shard_damage; // 0x5a8 - int32_t shard_count; // 0x5ac - float shard_speed; // 0x5b0 - float shard_duration; // 0x5b4 - float shard_angle_step; // 0x5b8 - int32_t shard_distance; // 0x5bc - Vector m_vSpawnOrigin; // 0x5c0 - Vector m_vDirection; // 0x5cc - CUtlVector< CHandle< C_BaseEntity > > m_vecShards; // 0x5d8 + int32_t m_iProjectile; // 0x5b0 + int32_t shard_width; // 0x5b4 + int32_t shard_damage; // 0x5b8 + int32_t shard_count; // 0x5bc + float shard_speed; // 0x5c0 + float shard_duration; // 0x5c4 + float shard_angle_step; // 0x5c8 + int32_t shard_distance; // 0x5cc + Vector m_vSpawnOrigin; // 0x5d0 + Vector m_vDirection; // 0x5dc + CUtlVector< CHandle< C_BaseEntity > > m_vecShards; // 0x5e8 }; // Alignment: 21 -// Size: 0x620 +// Size: 0x630 class C_DOTA_Ability_Tusk_Snowball : public C_DOTABaseAbility { public: - int32_t snowball_windup_radius; // 0x5a0 - int32_t snowball_radius; // 0x5a4 - int32_t snowball_grow_rate; // 0x5a8 - int32_t snowball_damage; // 0x5ac - int32_t snowball_damage_bonus; // 0x5b0 - float stun_duration; // 0x5b4 - int32_t bonus_damage; // 0x5b8 - float bonus_stun; // 0x5bc - int32_t snowball_speed; // 0x5c0 - int32_t snowball_speed_bonus; // 0x5c4 - float snowball_duration; // 0x5c8 - Vector m_vProjectileLocation; // 0x5cc - CUtlVector< CHandle< C_BaseEntity > > m_hSnowballedUnits; // 0x5d8 - ParticleIndex_t m_nFXIndex; // 0x5f0 + int32_t snowball_windup_radius; // 0x5b0 + int32_t snowball_radius; // 0x5b4 + int32_t snowball_grow_rate; // 0x5b8 + int32_t snowball_damage; // 0x5bc + int32_t snowball_damage_bonus; // 0x5c0 + float stun_duration; // 0x5c4 + int32_t bonus_damage; // 0x5c8 + float bonus_stun; // 0x5cc + int32_t snowball_speed; // 0x5d0 + int32_t snowball_speed_bonus; // 0x5d4 + float snowball_duration; // 0x5d8 + Vector m_vProjectileLocation; // 0x5dc + CUtlVector< CHandle< C_BaseEntity > > m_hSnowballedUnits; // 0x5e8 + ParticleIndex_t m_nFXIndex; // 0x600 private: - [[maybe_unused]] uint8_t __pad05f4[0x4]; // 0x5f4 + [[maybe_unused]] uint8_t __pad0604[0x4]; // 0x604 public: - CountdownTimer ctSnowball; // 0x5f8 - bool m_bSpeakAlly; // 0x610 - bool m_bIsExpired; // 0x611 - bool m_bInWindup; // 0x612 + CountdownTimer ctSnowball; // 0x608 + bool m_bSpeakAlly; // 0x620 + bool m_bIsExpired; // 0x621 + bool m_bInWindup; // 0x622 private: - [[maybe_unused]] uint8_t __pad0613[0x1]; // 0x613 + [[maybe_unused]] uint8_t __pad0623[0x1]; // 0x623 public: - CHandle< C_BaseEntity > m_hPrimaryTarget; // 0x614 - int32_t m_nContainedValidUnits; // 0x618 - bool m_bEndingSnowball; // 0x61c + CHandle< C_BaseEntity > m_hPrimaryTarget; // 0x624 + int32_t m_nContainedValidUnits; // 0x628 + bool m_bEndingSnowball; // 0x62c }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Tusk_Launch_Snowball : public C_DOTABaseAbility { public: @@ -67442,7 +68363,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Tusk_FrozenSigil : public C_DOTABaseAbility { public: @@ -67450,7 +68371,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Tusk_WalrusPunch : public C_DOTABaseAbility { public: @@ -67458,18 +68379,18 @@ public: }; // Alignment: 4 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_Tusk_WalrusKick : public C_DOTABaseAbility { public: - ParticleIndex_t m_nTargetFXIndex; // 0x5a0 - Vector m_vEndpoint; // 0x5a4 - int32_t landing_radius; // 0x5b0 - int32_t push_length; // 0x5b4 + ParticleIndex_t m_nTargetFXIndex; // 0x5b0 + Vector m_vEndpoint; // 0x5b4 + int32_t landing_radius; // 0x5c0 + int32_t push_length; // 0x5c4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Tusk_Tag_Team : public C_DOTABaseAbility { public: @@ -67477,7 +68398,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Skywrath_Mage_Shield_Of_The_Scion : public C_DOTABaseAbility { public: @@ -67485,31 +68406,31 @@ public: }; // Alignment: 4 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Skywrath_Mage_Arcane_Bolt : public C_DOTABaseAbility { public: - int32_t bolt_vision; // 0x5a0 - float vision_duration; // 0x5a4 - float m_flDamage; // 0x5a8 - int32_t m_nFXIndex; // 0x5ac + int32_t bolt_vision; // 0x5b0 + float vision_duration; // 0x5b4 + float m_flDamage; // 0x5b8 + int32_t m_nFXIndex; // 0x5bc }; // Alignment: 6 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Skywrath_Mage_Concussive_Shot : public C_DOTABaseAbility { public: - int32_t speed; // 0x5a0 - int32_t slow_radius; // 0x5a4 - int32_t damage; // 0x5a8 - int32_t shot_vision; // 0x5ac - float slow_duration; // 0x5b0 - float vision_duration; // 0x5b4 + int32_t speed; // 0x5b0 + int32_t slow_radius; // 0x5b4 + int32_t damage; // 0x5b8 + int32_t shot_vision; // 0x5bc + float slow_duration; // 0x5c0 + float vision_duration; // 0x5c4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Skywrath_Mage_Ancient_Seal : public C_DOTABaseAbility { public: @@ -67517,7 +68438,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Skywrath_Mage_Mystic_Flare : public C_DOTABaseAbility { public: @@ -67525,7 +68446,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Skywrath : public C_DOTABaseAbility { public: @@ -67533,7 +68454,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Skywrath_2 : public C_DOTABaseAbility { public: @@ -67541,7 +68462,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Skywrath_3 : public C_DOTABaseAbility { public: @@ -67549,7 +68470,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Skywrath_4 : public C_DOTABaseAbility { public: @@ -67557,7 +68478,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Skywrath_5 : public C_DOTABaseAbility { public: @@ -67565,7 +68486,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Skywrath_6 : public C_DOTABaseAbility { public: @@ -67573,7 +68494,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Skywrath_7 : public C_DOTABaseAbility { public: @@ -67581,7 +68502,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Abaddon_DeathCoil : public C_DOTABaseAbility { public: @@ -67589,7 +68510,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Abaddon_AphoticShield : public C_DOTABaseAbility { public: @@ -67597,7 +68518,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Abaddon_Frostmourne : public C_DOTABaseAbility { public: @@ -67605,7 +68526,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Abaddon_BorrowedTime : public C_DOTABaseAbility { public: @@ -67613,30 +68534,30 @@ public: }; // Alignment: 10 -// Size: 0x5d0 +// Size: 0x5e0 class C_DOTA_Ability_Elder_Titan_AncestralSpirit : public C_DOTABaseAbility { public: - int32_t speed; // 0x5a0 - int32_t radius; // 0x5a4 - float buff_duration; // 0x5a8 - float spirit_duration; // 0x5ac - int32_t m_nCreepsHit; // 0x5b0 - int32_t m_nHeroesHit; // 0x5b4 - bool m_bIsReturning; // 0x5b8 + int32_t speed; // 0x5b0 + int32_t radius; // 0x5b4 + float buff_duration; // 0x5b8 + float spirit_duration; // 0x5bc + int32_t m_nCreepsHit; // 0x5c0 + int32_t m_nHeroesHit; // 0x5c4 + bool m_bIsReturning; // 0x5c8 private: - [[maybe_unused]] uint8_t __pad05b9[0x3]; // 0x5b9 + [[maybe_unused]] uint8_t __pad05c9[0x3]; // 0x5c9 public: - CHandle< C_BaseEntity > m_hAncestralSpirit; // 0x5bc - ParticleIndex_t m_nReturnFXIndex; // 0x5c0 + CHandle< C_BaseEntity > m_hAncestralSpirit; // 0x5cc + ParticleIndex_t m_nReturnFXIndex; // 0x5d0 private: - [[maybe_unused]] uint8_t __pad05c4[0x4]; // 0x5c4 + [[maybe_unused]] uint8_t __pad05d4[0x4]; // 0x5d4 public: - CUtlString m_strMoveSpiritSwapAbility; // 0x5c8 + CUtlString m_strMoveSpiritSwapAbility; // 0x5d8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Elder_Titan_MoveSpirit : public C_DOTABaseAbility { public: @@ -67644,7 +68565,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Elder_Titan_ReturnSpirit : public C_DOTABaseAbility { public: @@ -67652,25 +68573,25 @@ public: }; // Alignment: 11 -// Size: 0x5f8 +// Size: 0x608 class C_DOTA_Ability_Elder_Titan_EchoStomp : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndexTitan; // 0x5a0 - ParticleIndex_t m_nFXIndexSpirit; // 0x5a4 - ParticleIndex_t m_nFXIndexTitanB; // 0x5a8 - ParticleIndex_t m_nFXIndexSpiritB; // 0x5ac - int32_t radius; // 0x5b0 - int32_t stomp_damage; // 0x5b4 - float sleep_duration; // 0x5b8 - float cast_time; // 0x5bc - CUtlVector< CHandle< C_BaseEntity > > m_vecStompedHeroes; // 0x5c0 - CUtlVector< CHandle< C_BaseEntity > > m_vecStompedHeroes_BuffCounted; // 0x5d8 - bool m_bStompedInvisibleHero; // 0x5f0 + ParticleIndex_t m_nFXIndexTitan; // 0x5b0 + ParticleIndex_t m_nFXIndexSpirit; // 0x5b4 + ParticleIndex_t m_nFXIndexTitanB; // 0x5b8 + ParticleIndex_t m_nFXIndexSpiritB; // 0x5bc + int32_t radius; // 0x5c0 + int32_t stomp_damage; // 0x5c4 + float sleep_duration; // 0x5c8 + float cast_time; // 0x5cc + CUtlVector< CHandle< C_BaseEntity > > m_vecStompedHeroes; // 0x5d0 + CUtlVector< CHandle< C_BaseEntity > > m_vecStompedHeroes_BuffCounted; // 0x5e8 + bool m_bStompedInvisibleHero; // 0x600 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Elder_Titan_EchoStomp_Spirit : public C_DOTABaseAbility { public: @@ -67678,7 +68599,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Elder_Titan_NaturalOrder : public C_DOTABaseAbility { public: @@ -67686,7 +68607,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Elder_Titan_NaturalOrder_Spirit : public C_DOTABaseAbility { public: @@ -67694,19 +68615,19 @@ public: }; // Alignment: 5 -// Size: 0x5c0 +// Size: 0x5d0 class CDOTA_Ability_Elder_Titan_EarthSplitter : public C_DOTABaseAbility { public: - int32_t crack_width; // 0x5a0 - int32_t crack_distance; // 0x5a4 - int32_t speed; // 0x5a8 - int32_t vision_width; // 0x5ac - float crack_time; // 0x5b0 + int32_t crack_width; // 0x5b0 + int32_t crack_distance; // 0x5b4 + int32_t speed; // 0x5b8 + int32_t vision_width; // 0x5bc + float crack_time; // 0x5c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Legion_Commander_OverwhelmingOdds : public C_DOTABaseAbility { public: @@ -67714,7 +68635,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Legion_Commander_PressTheAttack : public C_DOTABaseAbility { public: @@ -67722,7 +68643,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Legion_Commander_MomentOfCourage : public C_DOTABaseAbility { public: @@ -67730,7 +68651,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Legion_Commander_Duel : public C_DOTABaseAbility { public: @@ -67738,23 +68659,31 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Holdout_GladiatorsUnite : public C_DOTABaseAbility { public: // No members available }; -// Alignment: 0 -// Size: 0x5a0 +// Alignment: 1 +// Size: 0x5b8 class CDOTA_Ability_Techies_ReactiveTazer : public C_DOTABaseAbility { +public: + CHandle< C_BaseEntity > m_hTarget; // 0x5b0 +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Techies_ReactiveTazer_Stop : public C_DOTABaseAbility +{ public: // No members available }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Techies_StickyBomb : public C_DOTABaseAbility { public: @@ -67762,7 +68691,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Techies_LandMines : public C_DOTABaseAbility { public: @@ -67770,33 +68699,33 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Techies_StasisTrap : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 - CHandle< C_BaseEntity > m_hTrap; // 0x5a4 + ParticleIndex_t m_nFXIndex; // 0x5b0 + CHandle< C_BaseEntity > m_hTrap; // 0x5b4 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Techies_Suicide : public C_DOTABaseAbility { public: - uint32_t m_unSuicideKills; // 0x5a0 + uint32_t m_unSuicideKills; // 0x5b0 }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Techies_RemoteMines : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 - CHandle< C_BaseEntity > m_hRMine; // 0x5a4 + ParticleIndex_t m_nFXIndex; // 0x5b0 + CHandle< C_BaseEntity > m_hRMine; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Techies_FocusedDetonate : public C_DOTABaseAbility { public: @@ -67804,7 +68733,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Techies_RemoteMines_SelfDetonate : public C_DOTABaseAbility { public: @@ -67812,18 +68741,18 @@ public: }; // Alignment: 4 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Techies_Minefield_Sign : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 - ParticleIndex_t m_nFXHammerIndex; // 0x5a4 - int32_t aura_radius; // 0x5a8 - CHandle< C_BaseEntity > m_hSign; // 0x5ac + ParticleIndex_t m_nFXIndex; // 0x5b0 + ParticleIndex_t m_nFXHammerIndex; // 0x5b4 + int32_t aura_radius; // 0x5b8 + CHandle< C_BaseEntity > m_hSign; // 0x5bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_EmberSpirit_SearingChains : public C_DOTABaseAbility { public: @@ -67831,18 +68760,18 @@ public: }; // Alignment: 4 -// Size: 0x5d0 +// Size: 0x5e0 class C_DOTA_Ability_EmberSpirit_SleightOfFist : public C_DOTABaseAbility { public: - Vector m_vCastLoc; // 0x5a0 - int32_t m_nHeroesKilled; // 0x5ac - CUtlVector< CHandle< C_BaseEntity > > m_hAttackEntities; // 0x5b0 - ParticleIndex_t m_nFXMarkerIndex; // 0x5c8 + Vector m_vCastLoc; // 0x5b0 + int32_t m_nHeroesKilled; // 0x5bc + CUtlVector< CHandle< C_BaseEntity > > m_hAttackEntities; // 0x5c0 + ParticleIndex_t m_nFXMarkerIndex; // 0x5d8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_EmberSpirit_FlameGuard : public C_DOTABaseAbility { public: @@ -67850,63 +68779,63 @@ public: }; // Alignment: 1 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_EmberSpirit_FireRemnant : public C_DOTABaseAbility { public: - CUtlVector< RemnantData_t > m_vRemnantData; // 0x5a0 + CUtlVector< RemnantData_t > m_vRemnantData; // 0x5b0 }; // Alignment: 7 -// Size: 0x5e8 +// Size: 0x5f8 class C_DOTA_Ability_EmberSpirit_Activate_FireRemnant : public C_DOTABaseAbility { public: - int32_t m_nProjectileID; // 0x5a0 - Vector m_vStartLocation; // 0x5a4 - Vector m_vProjectileLocation; // 0x5b0 - QAngle m_ProjectileAngles; // 0x5bc - CHandle< C_BaseEntity > m_hRemnantToKill; // 0x5c8 - bool m_bProjectileStarted; // 0x5cc + int32_t m_nProjectileID; // 0x5b0 + Vector m_vStartLocation; // 0x5b4 + Vector m_vProjectileLocation; // 0x5c0 + QAngle m_ProjectileAngles; // 0x5cc + CHandle< C_BaseEntity > m_hRemnantToKill; // 0x5d8 + bool m_bProjectileStarted; // 0x5dc private: - [[maybe_unused]] uint8_t __pad05cd[0x3]; // 0x5cd + [[maybe_unused]] uint8_t __pad05dd[0x3]; // 0x5dd public: - CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x5d0 + CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x5e0 }; // Alignment: 18 -// Size: 0x610 +// Size: 0x620 class C_DOTA_Ability_EarthSpirit_RollingBoulder : public C_DOTABaseAbility { public: - int32_t radius; // 0x5a0 - int32_t speed; // 0x5a4 - int32_t rock_speed; // 0x5a8 - int32_t damage; // 0x5ac - int32_t damage_str; // 0x5b0 - float distance; // 0x5b4 - float rock_distance; // 0x5b8 - float rock_distance_multiplier; // 0x5bc - float slow_duration; // 0x5c0 - ParticleIndex_t m_nFXIndex; // 0x5c4 - bool m_boulderSetposBool; // 0x5c8 + int32_t radius; // 0x5b0 + int32_t speed; // 0x5b4 + int32_t rock_speed; // 0x5b8 + int32_t damage; // 0x5bc + int32_t damage_str; // 0x5c0 + float distance; // 0x5c4 + float rock_distance; // 0x5c8 + float rock_distance_multiplier; // 0x5cc + float slow_duration; // 0x5d0 + ParticleIndex_t m_nFXIndex; // 0x5d4 + bool m_boulderSetposBool; // 0x5d8 private: - [[maybe_unused]] uint8_t __pad05c9[0x3]; // 0x5c9 + [[maybe_unused]] uint8_t __pad05d9[0x3]; // 0x5d9 public: - int32_t m_nProjectileID; // 0x5cc - Vector m_vStartingLocation; // 0x5d0 - Vector m_vProjectileLocation; // 0x5dc - Vector m_vDir; // 0x5e8 - Vector m_vVel; // 0x5f4 - bool m_bUsedStone; // 0x600 + int32_t m_nProjectileID; // 0x5dc + Vector m_vStartingLocation; // 0x5e0 + Vector m_vProjectileLocation; // 0x5ec + Vector m_vDir; // 0x5f8 + Vector m_vVel; // 0x604 + bool m_bUsedStone; // 0x610 private: - [[maybe_unused]] uint8_t __pad0601[0x3]; // 0x601 + [[maybe_unused]] uint8_t __pad0611[0x3]; // 0x611 public: - Vector m_vRollDirection; // 0x604 + Vector m_vRollDirection; // 0x614 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_EarthSpirit_StoneCaller : public C_DOTABaseAbility { public: @@ -67914,71 +68843,71 @@ public: }; // Alignment: 12 -// Size: 0x5d0 +// Size: 0x5e0 class C_DOTA_Ability_EarthSpirit_BoulderSmash : public C_DOTABaseAbility { public: - int32_t speed; // 0x5a0 - int32_t rock_damage; // 0x5a4 - 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 + int32_t speed; // 0x5b0 + int32_t rock_damage; // 0x5b4 + float creep_multiplier; // 0x5b8 + int32_t radius; // 0x5bc + int32_t rock_search_aoe; // 0x5c0 + float unit_distance; // 0x5c4 + float rock_distance; // 0x5c8 + int32_t m_nProjectileID; // 0x5cc + CHandle< C_BaseEntity > m_hCursorTarget; // 0x5d0 + bool m_bUsedStone; // 0x5d4 private: - [[maybe_unused]] uint8_t __pad05c5[0x3]; // 0x5c5 + [[maybe_unused]] uint8_t __pad05d5[0x3]; // 0x5d5 public: - CHandle< C_BaseEntity > m_hTarget; // 0x5c8 - bool m_bTargetStone; // 0x5cc + CHandle< C_BaseEntity > m_hTarget; // 0x5d8 + bool m_bTargetStone; // 0x5dc }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_EarthSpirit_GeomagneticGrip : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hTarget; // 0x5a0 + CHandle< C_BaseEntity > m_hTarget; // 0x5b0 }; // Alignment: 3 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_EarthSpirit_Magnetize : public C_DOTABaseAbility { public: - int32_t cast_radius; // 0x5a0 - int32_t rock_explosion_radius; // 0x5a4 - float damage_duration; // 0x5a8 + int32_t cast_radius; // 0x5b0 + int32_t rock_explosion_radius; // 0x5b4 + float damage_duration; // 0x5b8 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_EarthSpirit_Petrify : public C_DOTABaseAbility { public: - int32_t ally_cast_range; // 0x5a0 + int32_t ally_cast_range; // 0x5b0 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_AbyssalUnderlord_Firestorm : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 + ParticleIndex_t m_nFXIndex; // 0x5b0 }; // Alignment: 1 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_AbyssalUnderlord_PitOfMalice : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 + ParticleIndex_t m_nFXIndex; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AbyssalUnderlord_AtrophyAura : public C_DOTABaseAbility { public: @@ -67986,16 +68915,16 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_AbyssalUnderlord_DarkRift : public C_DOTABaseAbility { public: - float teleport_delay; // 0x5a0 - CHandle< C_BaseEntity > m_hTeleportTarget; // 0x5a4 + float teleport_delay; // 0x5b0 + CHandle< C_BaseEntity > m_hTeleportTarget; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AbyssalUnderlord_Cancel_DarkRift : public C_DOTABaseAbility { public: @@ -68003,26 +68932,26 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_AbyssalUnderlord_Portal_Warp : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hTarget; // 0x5a0 + CHandle< C_BaseEntity > m_hTarget; // 0x5b0 // MNetworkEnable - float m_flChannelTime; // 0x5a4 + float m_flChannelTime; // 0x5b4 }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_AbyssalUnderlord_Dark_Portal : public C_DOTABaseAbility { public: - float duration; // 0x5a0 - float distance_from_fountain; // 0x5a4 + float duration; // 0x5b0 + float distance_from_fountain; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Underlord : public C_DOTABaseAbility { public: @@ -68030,7 +68959,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Underlord_2 : public C_DOTABaseAbility { public: @@ -68038,7 +68967,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Underlord_3 : public C_DOTABaseAbility { public: @@ -68046,7 +68975,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Underlord_4 : public C_DOTABaseAbility { public: @@ -68054,7 +68983,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Underlord_5 : public C_DOTABaseAbility { public: @@ -68062,7 +68991,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Underlord_6 : public C_DOTABaseAbility { public: @@ -68070,7 +68999,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Underlord_7 : public C_DOTABaseAbility { public: @@ -68078,7 +69007,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Underlord_8 : public C_DOTABaseAbility { public: @@ -68086,7 +69015,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Underlord_9 : public C_DOTABaseAbility { public: @@ -68094,15 +69023,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Terrorblade_Reflection : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 + ParticleIndex_t m_nFXIndex; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Terrorblade_ConjureImage : public C_DOTABaseAbility { public: @@ -68110,7 +69039,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Terrorblade_Metamorphosis : public C_DOTABaseAbility { public: @@ -68118,7 +69047,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Terrorblade_Demon_Zeal : public C_DOTABaseAbility { public: @@ -68126,7 +69055,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Terrorblade_Terror_Wave : public C_DOTABaseAbility { public: @@ -68134,7 +69063,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Terrorblade_Sunder : public C_DOTABaseAbility { public: @@ -68142,7 +69071,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Phoenix_SunRay : public C_DOTABaseAbility { public: @@ -68150,7 +69079,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Phoenix_SunRayStop : public C_DOTABaseAbility { public: @@ -68158,7 +69087,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Phoenix_SunRayToggleMove : public C_DOTABaseAbility { public: @@ -68166,7 +69095,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Phoenix_SunRayToggleMoveEmpty : public C_DOTABaseAbility { public: @@ -68174,15 +69103,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Phoenix_IcarusDive : public C_DOTABaseAbility { public: - int32_t hp_cost_perc; // 0x5a0 + int32_t hp_cost_perc; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Phoenix_IcarusDiveStop : public C_DOTABaseAbility { public: @@ -68190,7 +69119,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Phoenix_FireSpirits : public C_DOTABaseAbility { public: @@ -68198,18 +69127,18 @@ public: }; // Alignment: 4 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Phoenix_LaunchFireSpirit : public C_DOTABaseAbility { public: - int32_t spirit_speed; // 0x5a0 - float duration; // 0x5a4 - int32_t radius; // 0x5a8 - ParticleIndex_t m_nFXIndex; // 0x5ac + int32_t spirit_speed; // 0x5b0 + float duration; // 0x5b4 + int32_t radius; // 0x5b8 + ParticleIndex_t m_nFXIndex; // 0x5bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Phoenix_Supernova : public C_DOTABaseAbility { public: @@ -68217,48 +69146,48 @@ public: }; // Alignment: 11 -// Size: 0x5d0 +// Size: 0x5e0 class C_DOTA_Ability_Oracle_FortunesEnd : public C_DOTABaseAbility { public: - int32_t damage; // 0x5a0 - int32_t radius; // 0x5a4 - int32_t bolt_speed; // 0x5a8 - float maximum_purge_duration; // 0x5ac - float minimum_purge_duration; // 0x5b0 - GameTime_t m_flStartTime; // 0x5b4 - float m_flDuration; // 0x5b8 - float m_flDamage; // 0x5bc - bool m_bAbsorbed; // 0x5c0 + int32_t damage; // 0x5b0 + int32_t radius; // 0x5b4 + int32_t bolt_speed; // 0x5b8 + float maximum_purge_duration; // 0x5bc + float minimum_purge_duration; // 0x5c0 + GameTime_t m_flStartTime; // 0x5c4 + float m_flDuration; // 0x5c8 + float m_flDamage; // 0x5cc + bool m_bAbsorbed; // 0x5d0 private: - [[maybe_unused]] uint8_t __pad05c1[0x3]; // 0x5c1 + [[maybe_unused]] uint8_t __pad05d1[0x3]; // 0x5d1 public: - CHandle< C_BaseEntity > m_hTarget; // 0x5c4 - ParticleIndex_t m_nFXIndex; // 0x5c8 + CHandle< C_BaseEntity > m_hTarget; // 0x5d4 + ParticleIndex_t m_nFXIndex; // 0x5d8 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Oracle_FatesEdict : public C_DOTABaseAbility { public: - bool m_bTargetIsAlly; // 0x5a0 + bool m_bTargetIsAlly; // 0x5b0 }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Oracle_PurifyingFlames : public C_DOTABaseAbility { public: - bool m_bTargetIsAlly; // 0x5a0 + bool m_bTargetIsAlly; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 + [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 public: - CHandle< C_BaseEntity > m_hRecentTarget; // 0x5a4 + CHandle< C_BaseEntity > m_hRecentTarget; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Oracle_FalsePromise : public C_DOTABaseAbility { public: @@ -68266,7 +69195,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Oracle : public C_DOTABaseAbility { public: @@ -68274,7 +69203,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Oracle_2 : public C_DOTABaseAbility { public: @@ -68282,7 +69211,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Oracle_3 : public C_DOTABaseAbility { public: @@ -68290,7 +69219,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Oracle_4 : public C_DOTABaseAbility { public: @@ -68298,7 +69227,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Oracle_5 : public C_DOTABaseAbility { public: @@ -68306,7 +69235,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Oracle_6 : public C_DOTABaseAbility { public: @@ -68314,7 +69243,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Oracle_7 : public C_DOTABaseAbility { public: @@ -68322,7 +69251,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Oracle_8 : public C_DOTABaseAbility { public: @@ -68330,7 +69259,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Oracle_9 : public C_DOTABaseAbility { public: @@ -68338,7 +69267,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Oracle_RainOfDestiny : public C_DOTABaseAbility { public: @@ -68346,15 +69275,15 @@ public: }; // Alignment: 1 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_Winter_Wyvern_Arctic_Burn : public C_DOTABaseAbility { public: - CUtlVector< CEntityIndex > m_BurnedTargets; // 0x5a0 + CUtlVector< CEntityIndex > m_BurnedTargets; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Winter_Wyvern_Splinter_Blast : public C_DOTABaseAbility { public: @@ -68362,7 +69291,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Winter_Wyvern_Cold_Embrace : public C_DOTABaseAbility { public: @@ -68370,7 +69299,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Winter_Wyvern_Winters_Curse : public C_DOTABaseAbility { public: @@ -68378,7 +69307,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_ArcWarden_Flux : public C_DOTABaseAbility { public: @@ -68386,7 +69315,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_ArcWarden_MagneticField : public C_DOTABaseAbility { public: @@ -68394,67 +69323,76 @@ public: }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_ArcWarden_SparkWraith : public C_DOTABaseAbility { public: - float duration; // 0x5a0 - float activation_delay; // 0x5a4 - float wraith_vision_duration; // 0x5a8 - int32_t wraith_vision_radius; // 0x5ac - int32_t spark_damage; // 0x5b0 + float duration; // 0x5b0 + float activation_delay; // 0x5b4 + float wraith_vision_duration; // 0x5b8 + int32_t wraith_vision_radius; // 0x5bc + int32_t spark_damage; // 0x5c0 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_ArcWarden_TempestDouble : public C_DOTABaseAbility { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hDoubles; // 0x5a0 + CHandle< C_BaseEntity > m_hDoubles; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_ArcWarden_Scepter : public C_DOTABaseAbility { public: // No members available }; +// Alignment: 0 +// Size: 0x5b0 +class CDOTA_Ability_ArcWarden_TempestRecall : public C_DOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 2 -// Size: 0xda8 +// Size: 0xdb8 class C_DOTA_Ability_MonkeyKing_TreeDance : public C_DOTABaseAbility { public: - int32_t perched_jump_distance; // 0x5a0 - int32_t ground_jump_distance; // 0x5a4 + int32_t perched_jump_distance; // 0x5b0 + int32_t ground_jump_distance; // 0x5b4 }; // Alignment: 5 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_MonkeyKing_Spring : public C_DOTABaseAbility { public: - Vector m_vPos; // 0x5a0 - GameTime_t m_fStartChannelTime; // 0x5ac - CHandle< C_BaseEntity > m_hThinker; // 0x5b0 - ParticleIndex_t m_nFxIndex; // 0x5b4 - int32_t m_nRefCount; // 0x5b8 + Vector m_vPos; // 0x5b0 + GameTime_t m_fStartChannelTime; // 0x5bc + CHandle< C_BaseEntity > m_hThinker; // 0x5c0 + ParticleIndex_t m_nFxIndex; // 0x5c4 + int32_t m_nRefCount; // 0x5c8 }; -// Alignment: 3 -// Size: 0x5b0 +// Alignment: 4 +// Size: 0x5c0 class C_DOTA_Ability_MonkeyKing_Boundless_Strike : public C_DOTABaseAbility { public: - int32_t strike_cast_range; // 0x5a0 - int32_t strike_radius; // 0x5a4 - ParticleIndex_t m_nFXIndex; // 0x5a8 + int32_t strike_cast_range; // 0x5b0 + int32_t strike_radius; // 0x5b4 + ParticleIndex_t m_nFXIndex; // 0x5b8 + bool m_bIsAltCastState; // 0x5bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_MonkeyKing_Spring_Early : public C_DOTABaseAbility { public: @@ -68462,7 +69400,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_MonkeyKing_Transform : public C_DOTABaseAbility { public: @@ -68470,7 +69408,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_MonkeyKing_UnTransform : public C_DOTABaseAbility { public: @@ -68478,7 +69416,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_MonkeyKing_QuadrupleTap : public C_DOTABaseAbility { public: @@ -68486,7 +69424,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Pangolier_HeartPiercer : public C_DOTABaseAbility { public: @@ -68494,7 +69432,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Pangolier_LuckyShot : public C_DOTABaseAbility { public: @@ -68502,7 +69440,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Pangolier_ShieldCrash : public C_DOTABaseAbility { public: @@ -68510,27 +69448,27 @@ public: }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Pangolier_Swashbuckle : public C_DOTABaseAbility { public: - int32_t dash_speed; // 0x5a0 - int32_t start_radius; // 0x5a4 - int32_t end_radius; // 0x5a8 - int32_t range; // 0x5ac - int32_t damage; // 0x5b0 + int32_t dash_speed; // 0x5b0 + int32_t start_radius; // 0x5b4 + int32_t end_radius; // 0x5b8 + int32_t range; // 0x5bc + int32_t damage; // 0x5c0 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Pangolier_Gyroshell : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFxIndex; // 0x5a0 + ParticleIndex_t m_nFxIndex; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Pangolier_GyroshellStop : public C_DOTABaseAbility { public: @@ -68538,15 +69476,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Pangolier_Rollup : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFxIndex; // 0x5a0 + ParticleIndex_t m_nFxIndex; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Pangolier_RollupStop : public C_DOTABaseAbility { public: @@ -68554,7 +69492,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DarkWillow_BrambleMaze : public C_DOTABaseAbility { public: @@ -68562,7 +69500,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DarkWillow_ShadowRealm : public C_DOTABaseAbility { public: @@ -68570,7 +69508,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DarkWillow_CursedCrown : public C_DOTABaseAbility { public: @@ -68578,7 +69516,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_DarkWillow_Bedlam : public C_DOTABaseAbility { public: @@ -68586,15 +69524,15 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_DarkWillow_Terrorize : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 + ParticleIndex_t m_nFXIndex; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_1 : public C_DOTABaseAbility { public: @@ -68602,7 +69540,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_2 : public C_DOTABaseAbility { public: @@ -68610,7 +69548,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_3 : public C_DOTABaseAbility { public: @@ -68618,7 +69556,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_4 : public C_DOTABaseAbility { public: @@ -68626,7 +69564,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_5 : public C_DOTABaseAbility { public: @@ -68634,7 +69572,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_6 : public C_DOTABaseAbility { public: @@ -68642,7 +69580,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_7 : public C_DOTABaseAbility { public: @@ -68650,65 +69588,74 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Grimstroke_InkCreature : public C_DOTABaseAbility { public: - float spawn_time; // 0x5a0 + float spawn_time; // 0x5b0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Grimstroke_Scepter : public C_DOTABaseAbility { public: // No members available }; -// Alignment: 1 -// Size: 0x5a8 +// Alignment: 2 +// Size: 0x5b8 class CDOTA_Ability_Grimstroke_SpiritWalk : public C_DOTABaseAbility { public: - float buff_duration; // 0x5a0 -}; - -// Alignment: 17 -// Size: 0x5f8 -class CDOTA_Ability_Grimstroke_DarkArtistry : public C_DOTABaseAbility -{ -public: - Vector m_vCastDir; // 0x5a0 - GameTime_t m_fStartTime; // 0x5ac - float m_fTotalTime; // 0x5b0 - int32_t m_nProjectileID; // 0x5b4 - Vector m_vProjectileDir; // 0x5b8 - ParticleIndex_t m_nFXIndex; // 0x5c4 - ParticleIndex_t m_nFXIndexB; // 0x5c8 - int32_t m_nTargetsHit; // 0x5cc - int32_t m_nHeroesHit; // 0x5d0 - int32_t m_nVisibleHeroesHit; // 0x5d4 - float m_fDmgMultiplierTalent; // 0x5d8 - float slow_duration; // 0x5dc - int32_t start_radius; // 0x5e0 - int32_t end_radius; // 0x5e4 - int32_t damage; // 0x5e8 - int32_t bonus_damage_per_target; // 0x5ec - float vision_duration; // 0x5f0 -}; - -// Alignment: 3 -// Size: 0x5b0 -class CDOTA_Ability_Grimstroke_SoulChain : public C_DOTABaseAbility -{ -public: - float chain_duration; // 0x5a0 - int32_t chain_latch_radius; // 0x5a4 - float creep_duration_pct; // 0x5a8 + float buff_duration; // 0x5b0 + CHandle< C_BaseEntity > m_hTarget; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 +class C_DOTA_Ability_Grimstroke_Return : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 17 +// Size: 0x608 +class CDOTA_Ability_Grimstroke_DarkArtistry : public C_DOTABaseAbility +{ +public: + Vector m_vCastDir; // 0x5b0 + GameTime_t m_fStartTime; // 0x5bc + float m_fTotalTime; // 0x5c0 + int32_t m_nProjectileID; // 0x5c4 + Vector m_vProjectileDir; // 0x5c8 + ParticleIndex_t m_nFXIndex; // 0x5d4 + ParticleIndex_t m_nFXIndexB; // 0x5d8 + int32_t m_nTargetsHit; // 0x5dc + int32_t m_nHeroesHit; // 0x5e0 + int32_t m_nVisibleHeroesHit; // 0x5e4 + float m_fDmgMultiplierTalent; // 0x5e8 + float slow_duration; // 0x5ec + int32_t start_radius; // 0x5f0 + int32_t end_radius; // 0x5f4 + int32_t damage; // 0x5f8 + int32_t bonus_damage_per_target; // 0x5fc + float vision_duration; // 0x600 +}; + +// Alignment: 3 +// Size: 0x5c0 +class CDOTA_Ability_Grimstroke_SoulChain : public C_DOTABaseAbility +{ +public: + float chain_duration; // 0x5b0 + int32_t chain_latch_radius; // 0x5b4 + float creep_duration_pct; // 0x5b8 +}; + +// Alignment: 0 +// Size: 0x5b0 class C_DOTA_Ability_Grimstroke_Dark_Portrait : public C_DOTABaseAbility { public: @@ -68716,7 +69663,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Grimstroke_Ink_Over : public C_DOTABaseAbility { public: @@ -68724,7 +69671,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_1 : public C_DOTABaseAbility { public: @@ -68732,7 +69679,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_2 : public C_DOTABaseAbility { public: @@ -68740,7 +69687,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_3 : public C_DOTABaseAbility { public: @@ -68748,7 +69695,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_4 : public C_DOTABaseAbility { public: @@ -68756,7 +69703,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_5 : public C_DOTABaseAbility { public: @@ -68764,7 +69711,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_6 : public C_DOTABaseAbility { public: @@ -68772,7 +69719,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_7 : public C_DOTABaseAbility { public: @@ -68780,7 +69727,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_8 : public C_DOTABaseAbility { public: @@ -68788,7 +69735,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Mars_Spear : public C_DOTABaseAbility { public: @@ -68796,7 +69743,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Mars_ArenaOfBlood : public C_DOTABaseAbility { public: @@ -68804,16 +69751,16 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Mars_Bulwark : public C_DOTABaseAbility { public: - GameTime_t m_flNextAttack; // 0x5a0 - GameTime_t m_flLastActive; // 0x5a4 + GameTime_t m_flNextAttack; // 0x5b0 + GameTime_t m_flLastActive; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Mars_GodsRebuke : public C_DOTABaseAbility { public: @@ -68821,7 +69768,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_MarsSpearStunDuration : public C_DOTABaseAbility { public: @@ -68829,7 +69776,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_ArenaOfBloodHPRegen : public C_DOTABaseAbility { public: @@ -68837,7 +69784,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_SpearBonusDamage : public C_DOTABaseAbility { public: @@ -68845,7 +69792,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_GodsRebuke_ExtraCrit : public C_DOTABaseAbility { public: @@ -68853,7 +69800,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_SpearCooldown : public C_DOTABaseAbility { public: @@ -68861,7 +69808,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_RebukeCooldown : public C_DOTABaseAbility { public: @@ -68869,7 +69816,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_GodsRebuke_Slow : public C_DOTABaseAbility { public: @@ -68877,7 +69824,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Bulwark_Speed : public C_DOTABaseAbility { public: @@ -68885,7 +69832,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Bulwark_DamageReduction : public C_DOTABaseAbility { public: @@ -68893,44 +69840,44 @@ public: }; // Alignment: 4 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Snapfire_MortimerKisses : public C_DOTABaseAbility { public: - int32_t m_nDamagePerProjectile; // 0x5a0 - int32_t damage_per_impact; // 0x5a4 - int32_t impact_radius; // 0x5a8 - int32_t projectile_vision; // 0x5ac + int32_t m_nDamagePerProjectile; // 0x5b0 + int32_t damage_per_impact; // 0x5b4 + int32_t impact_radius; // 0x5b8 + int32_t projectile_vision; // 0x5bc }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_Snapfire_Scatterblast : public C_DOTABaseAbility { public: - int32_t damage; // 0x5a0 - float debuff_duration; // 0x5a4 - int32_t point_blank_range; // 0x5a8 - float point_blank_dmg_bonus_pct; // 0x5ac - int32_t blast_width_end; // 0x5b0 + int32_t damage; // 0x5b0 + float debuff_duration; // 0x5b4 + int32_t point_blank_range; // 0x5b8 + float point_blank_dmg_bonus_pct; // 0x5bc + int32_t blast_width_end; // 0x5c0 }; // Alignment: 4 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_Snapfire_FiresnapCookie : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hTarget; // 0x5a0 + CHandle< C_BaseEntity > m_hTarget; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a4[0x8]; // 0x5a4 + [[maybe_unused]] uint8_t __pad05b4[0x8]; // 0x5b4 public: - int32_t projectile_speed; // 0x5ac - float pre_hop_duration; // 0x5b0 - float cast_on_ally_gesture_time; // 0x5b4 + int32_t projectile_speed; // 0x5bc + float pre_hop_duration; // 0x5c0 + float cast_on_ally_gesture_time; // 0x5c4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Snapfire_LilShredder : public C_DOTABaseAbility { public: @@ -68938,24 +69885,24 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Snapfire_GobbleUp : public C_DOTABaseAbility { public: - float max_time_in_belly; // 0x5a0 + float max_time_in_belly; // 0x5b0 }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Snapfire_SpitCreep : public C_DOTABaseAbility { public: - int32_t m_nDamagePerProjectile; // 0x5a0 - CHandle< C_BaseEntity > m_hGobbledUnit; // 0x5a4 + int32_t m_nDamagePerProjectile; // 0x5b0 + CHandle< C_BaseEntity > m_hGobbledUnit; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_1 : public C_DOTABaseAbility { public: @@ -68963,7 +69910,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_2 : public C_DOTABaseAbility { public: @@ -68971,7 +69918,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_3 : public C_DOTABaseAbility { public: @@ -68979,7 +69926,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_4 : public C_DOTABaseAbility { public: @@ -68987,7 +69934,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_5 : public C_DOTABaseAbility { public: @@ -68995,7 +69942,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_6 : public C_DOTABaseAbility { public: @@ -69003,7 +69950,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_7 : public C_DOTABaseAbility { public: @@ -69011,7 +69958,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_8 : public C_DOTABaseAbility { public: @@ -69019,55 +69966,55 @@ public: }; // Alignment: 4 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_VoidSpirit_AetherRemnant : public C_DOTABaseAbility { public: - int32_t start_radius; // 0x5a0 - int32_t end_radius; // 0x5a4 - int32_t remnant_watch_distance; // 0x5a8 - int32_t projectile_speed; // 0x5ac + int32_t start_radius; // 0x5b0 + int32_t end_radius; // 0x5b4 + int32_t remnant_watch_distance; // 0x5b8 + int32_t projectile_speed; // 0x5bc }; // Alignment: 8 -// Size: 0x5d8 +// Size: 0x5e8 class CDOTA_Ability_VoidSpirit_AstralStep : public C_DOTABaseAbility { public: - Vector m_vStartPos; // 0x5a0 - Vector m_vDestination; // 0x5ac - Vector m_vDirection; // 0x5b8 - int32_t radius; // 0x5c4 - int32_t min_travel_distance; // 0x5c8 - int32_t max_travel_distance; // 0x5cc - float debuff_duration; // 0x5d0 - float pop_damage_delay; // 0x5d4 + Vector m_vStartPos; // 0x5b0 + Vector m_vDestination; // 0x5bc + Vector m_vDirection; // 0x5c8 + int32_t radius; // 0x5d4 + int32_t min_travel_distance; // 0x5d8 + int32_t max_travel_distance; // 0x5dc + float debuff_duration; // 0x5e0 + float pop_damage_delay; // 0x5e4 }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_VoidSpirit_Dissimilate : public C_DOTABaseAbility { public: - float phase_duration; // 0x5a0 + float phase_duration; // 0x5b0 }; // Alignment: 4 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_VoidSpirit_ResonantPulse : public C_DOTABaseAbility { public: - bool m_bGrantedScepterCharges; // 0x5a0 + bool m_bGrantedScepterCharges; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 + [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 public: - float buff_duration; // 0x5a4 - int32_t base_absorb_amount; // 0x5a8 - int32_t absorb_per_hero_hit; // 0x5ac + float buff_duration; // 0x5b4 + int32_t base_absorb_amount; // 0x5b8 + int32_t absorb_per_hero_hit; // 0x5bc }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_1 : public C_DOTABaseAbility { public: @@ -69075,7 +70022,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_2 : public C_DOTABaseAbility { public: @@ -69083,7 +70030,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_3 : public C_DOTABaseAbility { public: @@ -69091,7 +70038,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_4 : public C_DOTABaseAbility { public: @@ -69099,7 +70046,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_5 : public C_DOTABaseAbility { public: @@ -69107,7 +70054,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_6 : public C_DOTABaseAbility { public: @@ -69115,7 +70062,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_7 : public C_DOTABaseAbility { public: @@ -69123,7 +70070,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_8 : public C_DOTABaseAbility { public: @@ -69131,39 +70078,40 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_9 : public C_DOTABaseAbility { public: // No members available }; -// Alignment: 5 -// Size: 0x5b8 +// Alignment: 6 +// Size: 0x5c8 class C_DOTA_Ability_Hoodwink_AcornShot : public C_DOTABaseAbility { public: // MNetworkEnable // MNetworkChangeCallback "OnAcornTreePlanted" - uint32_t m_nAcornTree; // 0x5a0 - float projectile_speed; // 0x5a4 - float bounce_delay; // 0x5a8 - int32_t bounce_range; // 0x5ac - int32_t bounce_count; // 0x5b0 + uint32_t m_nAcornTree; // 0x5b0 + float projectile_speed; // 0x5b4 + float bounce_delay; // 0x5b8 + int32_t bounce_range; // 0x5bc + int32_t bounce_count; // 0x5c0 + bool m_bIsAltCastState; // 0x5c4 }; // Alignment: 3 -// Size: 0x7b8 +// Size: 0x7c8 class C_DOTA_Ability_Hoodwink_Bushwhack : public C_DOTABaseAbility { public: - int32_t trap_radius; // 0x5a0 - int32_t m_nProjectileHandle; // 0x5a4 - ParticleIndex_t m_nFXIndex; // 0x5a8 + int32_t trap_radius; // 0x5b0 + int32_t m_nProjectileHandle; // 0x5b4 + ParticleIndex_t m_nFXIndex; // 0x5b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Hoodwink_Scurry : public C_DOTABaseAbility { public: @@ -69171,17 +70119,17 @@ public: }; // Alignment: 3 -// Size: 0x5c0 +// Size: 0x5d0 class C_DOTA_Ability_Hoodwink_Sharpshooter : public C_DOTABaseAbility { public: - float max_charge_time; // 0x5a0 - Vector m_vStartPos; // 0x5a4 - ParticleIndex_t m_nFXIndex; // 0x5b0 + float max_charge_time; // 0x5b0 + Vector m_vStartPos; // 0x5b4 + ParticleIndex_t m_nFXIndex; // 0x5c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Hoodwink_Sharpshooter_Release : public C_DOTABaseAbility { public: @@ -69189,7 +70137,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShotBounces : public C_DOTABaseAbility { public: @@ -69197,7 +70145,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShotDamage : public C_DOTABaseAbility { public: @@ -69205,7 +70153,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShotCharges : public C_DOTABaseAbility { public: @@ -69213,7 +70161,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Hoodwink_Camouflague : public C_DOTABaseAbility { public: @@ -69221,7 +70169,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Hoodwink_SharpshooterPierceHeroes : public C_DOTABaseAbility { public: @@ -69229,7 +70177,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_SharpshooterPureDamage : public C_DOTABaseAbility { public: @@ -69237,7 +70185,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_Bushwhack_Duration : public C_DOTABaseAbility { public: @@ -69245,7 +70193,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_Bushwhack_Damage : public C_DOTABaseAbility { public: @@ -69253,7 +70201,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_Sharpshooter_Speed : public C_DOTABaseAbility { public: @@ -69261,7 +70209,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShot_ArmorCorruption : public C_DOTABaseAbility { public: @@ -69269,7 +70217,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_BushwhackCooldown : public C_DOTABaseAbility { public: @@ -69277,7 +70225,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_ScurryDuration : public C_DOTABaseAbility { public: @@ -69285,7 +70233,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Hoodwink_Caltrops : public C_DOTABaseAbility { public: @@ -69293,19 +70241,19 @@ public: }; // Alignment: 5 -// Size: 0x5d0 +// Size: 0x5e0 class CDOTA_Ability_Hoodwink_Decoy : public C_DOTABaseAbility { public: - CUtlVector< CHandle< C_BaseEntity > > hIllusion; // 0x5a0 - float decoy_stun_duration; // 0x5b8 - int32_t decoy_detonate_radius; // 0x5bc - int32_t projectile_speed; // 0x5c0 - ParticleIndex_t m_nFXIndex; // 0x5c4 + CUtlVector< CHandle< C_BaseEntity > > hIllusion; // 0x5b0 + float decoy_stun_duration; // 0x5c8 + int32_t decoy_detonate_radius; // 0x5cc + int32_t projectile_speed; // 0x5d0 + ParticleIndex_t m_nFXIndex; // 0x5d4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Hoodwink_HeavyQuiver : public C_DOTABaseAbility { public: @@ -69313,23 +70261,23 @@ public: }; // Alignment: 6 -// Size: 0x5d8 +// Size: 0x5e8 class C_DOTA_Ability_Hoodwink_HuntersBoomerang : public C_DOTABaseAbility { public: - int32_t radius; // 0x5a0 - int32_t speed; // 0x5a4 - int32_t damage; // 0x5a8 - float mark_duration; // 0x5ac - CHandle< C_BaseEntity > m_hTarget; // 0x5b0 + int32_t radius; // 0x5b0 + int32_t speed; // 0x5b4 + int32_t damage; // 0x5b8 + float mark_duration; // 0x5bc + CHandle< C_BaseEntity > m_hTarget; // 0x5c0 private: - [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 + [[maybe_unused]] uint8_t __pad05c4[0x4]; // 0x5c4 public: - CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x5b8 + CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x5c8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Hoodwink_HuntersQuiver : public C_DOTABaseAbility { public: @@ -69337,22 +70285,22 @@ public: }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class C_DOTA_Ability_Dawnbreaker_Solar_Guardian : public C_DOTABaseAbility { public: - CHandle< C_BaseEntity > m_hThinker; // 0x5a0 - bool m_bJumping; // 0x5a4 + CHandle< C_BaseEntity > m_hThinker; // 0x5b0 + bool m_bJumping; // 0x5b4 private: - [[maybe_unused]] uint8_t __pad05a5[0x3]; // 0x5a5 + [[maybe_unused]] uint8_t __pad05b5[0x3]; // 0x5b5 public: - CHandle< C_BaseEntity > m_hTeleportTarget; // 0x5a8 - ParticleIndex_t m_nTPFXIndex; // 0x5ac - ParticleIndex_t m_nAoEFXIndex; // 0x5b0 + CHandle< C_BaseEntity > m_hTeleportTarget; // 0x5b8 + ParticleIndex_t m_nTPFXIndex; // 0x5bc + ParticleIndex_t m_nAoEFXIndex; // 0x5c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Dawnbreaker_Luminosity : public C_DOTABaseAbility { public: @@ -69360,45 +70308,45 @@ public: }; // Alignment: 25 -// Size: 0x648 +// Size: 0x658 class CDOTA_Ability_Dawnbreaker_Celestial_Hammer : public C_DOTABaseAbility { public: - int32_t m_nProjectileIndex; // 0x5a0 - int32_t m_nReturnProjectileID; // 0x5a4 - Vector m_vEndLocation; // 0x5a8 - float m_fZCoord; // 0x5b4 - Vector m_vLastTrailThinkerLocation; // 0x5b8 - bool m_bFlareDone; // 0x5c4 - bool m_bStartedCatchAnimation; // 0x5c5 - bool m_bIsReturning; // 0x5c6 + int32_t m_nProjectileIndex; // 0x5b0 + int32_t m_nReturnProjectileID; // 0x5b4 + Vector m_vEndLocation; // 0x5b8 + float m_fZCoord; // 0x5c4 + Vector m_vLastTrailThinkerLocation; // 0x5c8 + bool m_bFlareDone; // 0x5d4 + bool m_bStartedCatchAnimation; // 0x5d5 + bool m_bIsReturning; // 0x5d6 private: - [[maybe_unused]] uint8_t __pad05c7[0x1]; // 0x5c7 + [[maybe_unused]] uint8_t __pad05d7[0x1]; // 0x5d7 public: - CUtlVector< CHandle< C_BaseEntity > > m_hReturnHits; // 0x5c8 - CUtlVector< CHandle< C_BaseEntity > > m_hAoEHits; // 0x5e0 - ParticleIndex_t m_nFXIndex; // 0x5f8 - ParticleIndex_t m_nFXIndexC; // 0x5fc - ParticleIndex_t m_nFXHammerReturnIndex; // 0x600 - ParticleIndex_t m_nFXHammerProjectileIndex; // 0x604 - ParticleIndex_t m_nFXHeroSolarGuardianTrailIndex; // 0x608 - CHandle< C_BaseEntity > m_hThinker; // 0x60c - int32_t projectile_speed; // 0x610 - int32_t projectile_radius; // 0x614 - int32_t hammer_damage; // 0x618 - int32_t hammer_aoe_radius; // 0x61c - int32_t flare_radius; // 0x620 - bool bHasStartedBurning; // 0x624 + CUtlVector< CHandle< C_BaseEntity > > m_hReturnHits; // 0x5d8 + CUtlVector< CHandle< C_BaseEntity > > m_hAoEHits; // 0x5f0 + ParticleIndex_t m_nFXIndex; // 0x608 + ParticleIndex_t m_nFXIndexC; // 0x60c + ParticleIndex_t m_nFXHammerReturnIndex; // 0x610 + ParticleIndex_t m_nFXHammerProjectileIndex; // 0x614 + ParticleIndex_t m_nFXHeroSolarGuardianTrailIndex; // 0x618 + CHandle< C_BaseEntity > m_hThinker; // 0x61c + int32_t projectile_speed; // 0x620 + int32_t projectile_radius; // 0x624 + int32_t hammer_damage; // 0x628 + int32_t hammer_aoe_radius; // 0x62c + int32_t flare_radius; // 0x630 + bool bHasStartedBurning; // 0x634 private: - [[maybe_unused]] uint8_t __pad0625[0x3]; // 0x625 + [[maybe_unused]] uint8_t __pad0635[0x3]; // 0x635 public: - float flare_debuff_duration; // 0x628 - int32_t return_anim_distance_threshold; // 0x62c - int32_t range; // 0x630 + float flare_debuff_duration; // 0x638 + int32_t return_anim_distance_threshold; // 0x63c + int32_t range; // 0x640 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Dawnbreaker_Fire_Wreath : public C_DOTABaseAbility { public: @@ -69406,7 +70354,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Dawnbreaker_Converge : public C_DOTABaseAbility { public: @@ -69414,7 +70362,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Dawnbreaker_Land : public C_DOTABaseAbility { public: @@ -69422,7 +70370,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Celestial_Hammer_Damage : public C_DOTABaseAbility { public: @@ -69430,7 +70378,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Fire_Wreath_Magic_Immunity : public C_DOTABaseAbility { public: @@ -69438,7 +70386,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Solar_Guardian_Radius : public C_DOTABaseAbility { public: @@ -69446,7 +70394,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Converge_Slow : public C_DOTABaseAbility { public: @@ -69454,7 +70402,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Celestial_Hammer_Cast_Range : public C_DOTABaseAbility { public: @@ -69462,7 +70410,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Fire_Wreath_Ministun : public C_DOTABaseAbility { public: @@ -69470,7 +70418,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Luminosity_Attack_Count : public C_DOTABaseAbility { public: @@ -69478,7 +70426,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Fire_wreath_Charges : public C_DOTABaseAbility { public: @@ -69486,7 +70434,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Solar_Guardian_Cooldown : public C_DOTABaseAbility { public: @@ -69494,7 +70442,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Luminosity_Crit : public C_DOTABaseAbility { public: @@ -69502,7 +70450,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_FireWreath_Swipe : public C_DOTABaseAbility { public: @@ -69510,7 +70458,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_CelestialHammer_Slow : public C_DOTABaseAbility { public: @@ -69518,7 +70466,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_FireWreath_AoE : public C_DOTABaseAbility { public: @@ -69526,7 +70474,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Marci_Grapple : public C_DOTABaseAbility { public: @@ -69534,48 +70482,49 @@ public: }; // Alignment: 13 -// Size: 0x5e0 +// Size: 0x5f0 class CDOTA_Ability_Marci_Companion_Run : public C_DOTABaseAbility { public: - int32_t m_nTrackingProjectileID; // 0x5a0 - ParticleIndex_t m_nFXIndex; // 0x5a4 - int32_t m_nMaxJumpDistance; // 0x5a8 - int32_t landing_radius; // 0x5ac - int32_t move_speed; // 0x5b0 - float ally_buff_duration; // 0x5b4 - int32_t min_jump_distance; // 0x5b8 - int32_t max_jump_distance; // 0x5bc - int32_t impact_position_offset; // 0x5c0 - int32_t vector_preview_radius; // 0x5c4 - Vector m_vEndpoint; // 0x5c8 - ParticleIndex_t m_nToBounceFXIndex; // 0x5d4 - ParticleIndex_t m_nToTargetFXIndex; // 0x5d8 + int32_t m_nTrackingProjectileID; // 0x5b0 + ParticleIndex_t m_nFXIndex; // 0x5b4 + int32_t m_nMaxJumpDistance; // 0x5b8 + int32_t landing_radius; // 0x5bc + int32_t move_speed; // 0x5c0 + float ally_buff_duration; // 0x5c4 + int32_t min_jump_distance; // 0x5c8 + int32_t max_jump_distance; // 0x5cc + int32_t impact_position_offset; // 0x5d0 + int32_t vector_preview_radius; // 0x5d4 + Vector m_vEndpoint; // 0x5d8 + ParticleIndex_t m_nToBounceFXIndex; // 0x5e4 + ParticleIndex_t m_nToTargetFXIndex; // 0x5e8 }; -// Alignment: 2 -// Size: 0x5a8 +// Alignment: 3 +// Size: 0x5c0 class CDOTA_Ability_Marci_Guardian : public C_DOTABaseAbility { public: - float buff_duration; // 0x5a0 - int32_t nearest_ally_search_range; // 0x5a4 + float buff_duration; // 0x5b0 + int32_t nearest_ally_search_range; // 0x5b4 + CHandle< C_BaseEntity > m_hPartner; // 0x5b8 }; // Alignment: 5 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_Marci_Unleash : public C_DOTABaseAbility { public: - float duration; // 0x5a0 - int32_t pulse_radius; // 0x5a4 - float pulse_debuff_duration; // 0x5a8 - int32_t pulse_damage; // 0x5ac - float pulse_silence_duration; // 0x5b0 + float duration; // 0x5b0 + int32_t pulse_radius; // 0x5b4 + float pulse_debuff_duration; // 0x5b8 + int32_t pulse_damage; // 0x5bc + float pulse_silence_duration; // 0x5c0 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Marci_Lunge_AllyAbsorb : public C_DOTABaseAbility { public: @@ -69583,7 +70532,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Marci_Lunge_Damage : public C_DOTABaseAbility { public: @@ -69591,7 +70540,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Marci_Lunge_Range : public C_DOTABaseAbility { public: @@ -69599,7 +70548,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Marci_Grapple_StunDuration : public C_DOTABaseAbility { public: @@ -69607,7 +70556,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Marci_Guardian_MagicImmunity : public C_DOTABaseAbility { public: @@ -69615,7 +70564,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Marci_Unleash_LungeRefresh : public C_DOTABaseAbility { public: @@ -69623,7 +70572,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Marci_Unleash_Silence : public C_DOTABaseAbility { public: @@ -69631,7 +70580,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Special_Bonus_Unique_Marci_Guardian_Lifesteal : public C_DOTABaseAbility { public: @@ -69639,7 +70588,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_PrimalBeast_Trample : public C_DOTABaseAbility { public: @@ -69647,30 +70596,30 @@ public: }; // Alignment: 1 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_PrimalBeast_Pulverize : public C_DOTABaseAbility { public: - C_DOTA_BaseNPC* m_hTarget; // 0x5a0 + C_DOTA_BaseNPC* m_hTarget; // 0x5b0 }; // Alignment: 8 -// Size: 0x5d0 +// Size: 0x5e0 class C_DOTA_Ability_PrimalBeast_Onslaught : public C_DOTABaseAbility { public: - float max_charge_time; // 0x5a0 - float knockback_distance; // 0x5a4 - int32_t knockback_damage; // 0x5a8 - int32_t collision_radius; // 0x5ac - int32_t max_distance; // 0x5b0 - Vector m_vStartPos; // 0x5b4 - ParticleIndex_t m_nFXIndex; // 0x5c0 - int32_t m_nProjectileID; // 0x5c4 + float max_charge_time; // 0x5b0 + float knockback_distance; // 0x5b4 + int32_t knockback_damage; // 0x5b8 + int32_t collision_radius; // 0x5bc + int32_t max_distance; // 0x5c0 + Vector m_vStartPos; // 0x5c4 + ParticleIndex_t m_nFXIndex; // 0x5d0 + int32_t m_nProjectileID; // 0x5d4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_PrimalBeast_Onslaught_Release : public C_DOTABaseAbility { public: @@ -69678,42 +70627,42 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_PrimalBeast_Uproar : public C_DOTABaseAbility { public: // MNetworkEnable // MNetworkChangeCallback "OnUproarActiveChanged" - int32_t m_iUproarStatus; // 0x5a0 - bool m_bUpdateIcons; // 0x5a4 + int32_t m_iUproarStatus; // 0x5b0 + bool m_bUpdateIcons; // 0x5b4 }; // Alignment: 7 -// Size: 0x5c0 +// Size: 0x5d0 class CDOTA_Ability_PrimalBeast_Rock_Throw : public C_DOTABaseAbility { public: - int32_t base_damage; // 0x5a0 - int32_t impact_radius; // 0x5a4 - int32_t fragment_impact_radius; // 0x5a8 - int32_t fragment_impact_distance; // 0x5ac - int32_t min_range; // 0x5b0 - float stun_duration; // 0x5b4 - ParticleIndex_t m_nFXPreview; // 0x5b8 + int32_t base_damage; // 0x5b0 + int32_t impact_radius; // 0x5b4 + int32_t fragment_impact_radius; // 0x5b8 + int32_t fragment_impact_distance; // 0x5bc + int32_t min_range; // 0x5c0 + float stun_duration; // 0x5c4 + ParticleIndex_t m_nFXPreview; // 0x5c8 }; // Alignment: 3 -// Size: 0x5b0 +// Size: 0x5c0 class C_DOTA_Ability_Muerta_DeadShot : public C_DOTABaseAbility { public: - int32_t radius; // 0x5a0 - int32_t ricochet_radius_start; // 0x5a4 - int32_t ricochet_radius_end; // 0x5a8 + int32_t radius; // 0x5b0 + int32_t ricochet_radius_start; // 0x5b4 + int32_t ricochet_radius_end; // 0x5b8 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Muerta_PierceTheVeil : public C_DOTABaseAbility { public: @@ -69721,7 +70670,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Muerta_TheCalling : public C_DOTABaseAbility { public: @@ -69729,7 +70678,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Muerta_Gunslinger : public C_DOTABaseAbility { public: @@ -69737,17 +70686,17 @@ public: }; // Alignment: 2 -// Size: 0x5a8 +// Size: 0x5b8 class C_DOTA_Ability_Muerta_PartingShot : public C_DOTABaseAbility { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hAbilitySoulEntity; // 0x5a0 - CHandle< C_BaseEntity > m_hTarget; // 0x5a4 + CHandle< C_BaseEntity > m_hAbilitySoulEntity; // 0x5b0 + CHandle< C_BaseEntity > m_hTarget; // 0x5b4 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Unique_Muerta_TrickShotCharges : public C_DOTABaseAbility { public: @@ -69755,7 +70704,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Bracer : public C_DOTA_Item { public: @@ -69763,15 +70712,15 @@ public: }; // Alignment: 1 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_Bracer : public C_DOTA_Item { public: - int32_t counter; // 0x630 + int32_t counter; // 0x648 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Gauntlets : public C_DOTA_Item { public: @@ -69779,7 +70728,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Circlet : public C_DOTA_Item { public: @@ -69787,7 +70736,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Slippers : public C_DOTA_Item { public: @@ -69795,7 +70744,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_WraithBand : public C_DOTA_Item { public: @@ -69803,15 +70752,15 @@ public: }; // Alignment: 1 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_WraithBand : public C_DOTA_Item { public: - int32_t counter; // 0x630 + int32_t counter; // 0x648 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Mantle : public C_DOTA_Item { public: @@ -69819,7 +70768,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_NullTalisman : public C_DOTA_Item { public: @@ -69827,15 +70776,15 @@ public: }; // Alignment: 1 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_NullTalisman : public C_DOTA_Item { public: - int32_t counter; // 0x630 + int32_t counter; // 0x648 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Tango : public C_DOTA_Item { public: @@ -69843,7 +70792,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Tango_Single : public C_DOTA_Item { public: @@ -69851,7 +70800,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Clarity : public C_DOTA_Item { public: @@ -69859,7 +70808,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Flask : public C_DOTA_Item { public: @@ -69867,7 +70816,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_BootsOfSpeed : public C_DOTA_Item { public: @@ -69875,7 +70824,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_BootsOfTravel : public C_DOTA_Item { public: @@ -69883,7 +70832,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_BootsOfTravel_2 : public C_DOTA_Item_Recipe_BootsOfTravel { public: @@ -69891,17 +70840,17 @@ public: }; // Alignment: 3 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_BootsOfTravel : public C_DOTA_Item { public: - float m_flTeleportTimeOverride; // 0x630 - bool m_bPendingSellExcessScrolls; // 0x634 - bool m_bQueueSellScrolls; // 0x635 + float m_flTeleportTimeOverride; // 0x648 + bool m_bPendingSellExcessScrolls; // 0x64c + bool m_bQueueSellScrolls; // 0x64d }; // Alignment: 0 -// Size: 0x638 +// Size: 0x650 class CDOTA_Item_BootsOfTravel_2 : public C_DOTA_Item_BootsOfTravel { public: @@ -69909,7 +70858,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_PowerTreads : public C_DOTA_Item { public: @@ -69917,17 +70866,17 @@ public: }; // Alignment: 1 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_PowerTreads : public C_DOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnPowerTreadsStatChanged" - int32_t m_iStat; // 0x630 + int32_t m_iStat; // 0x648 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_PhaseBoots : public C_DOTA_Item { public: @@ -69935,7 +70884,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_PhaseBoots : public C_DOTA_Item { public: @@ -69943,7 +70892,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_TranquilBoots : public C_DOTA_Item { public: @@ -69951,19 +70900,19 @@ public: }; // Alignment: 2 -// Size: 0x650 +// Size: 0x668 class C_DOTA_Item_TranquilBoots : public C_DOTA_Item { public: - int32_t break_count; // 0x630 + int32_t break_count; // 0x648 private: - [[maybe_unused]] uint8_t __pad0634[0x4]; // 0x634 + [[maybe_unused]] uint8_t __pad064c[0x4]; // 0x64c public: - CUtlVector< GameTime_t > m_DamageList; // 0x638 + CUtlVector< GameTime_t > m_DamageList; // 0x650 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_TranquilBoots2 : public C_DOTA_Item { public: @@ -69971,19 +70920,19 @@ public: }; // Alignment: 2 -// Size: 0x650 +// Size: 0x668 class C_DOTA_Item_TranquilBoots2 : public C_DOTA_Item { public: - int32_t break_count; // 0x630 + int32_t break_count; // 0x648 private: - [[maybe_unused]] uint8_t __pad0634[0x4]; // 0x634 + [[maybe_unused]] uint8_t __pad064c[0x4]; // 0x64c public: - CUtlVector< GameTime_t > m_DamageList; // 0x638 + CUtlVector< GameTime_t > m_DamageList; // 0x650 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Hermes_Sandals : public C_DOTA_Item { public: @@ -69991,7 +70940,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Hermes_Sandals : public C_DOTA_Item { public: @@ -69999,7 +70948,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Samurai_Tabi : public C_DOTA_Item { public: @@ -70007,17 +70956,17 @@ public: }; // Alignment: 1 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Samurai_Tabi : public C_DOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnSamurai_TabiStatChanged" - int32_t m_iStat; // 0x630 + int32_t m_iStat; // 0x648 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_GlovesOfHaste : public C_DOTA_Item { public: @@ -70025,7 +70974,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_BeltOfStrength : public C_DOTA_Item { public: @@ -70033,7 +70982,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_RobeOfMagi : public C_DOTA_Item { public: @@ -70041,7 +70990,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_BootsOfElven : public C_DOTA_Item { public: @@ -70049,7 +70998,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_BladesOfAttack : public C_DOTA_Item { public: @@ -70057,19 +71006,19 @@ public: }; // Alignment: 3 -// Size: 0x640 +// Size: 0x658 class C_DOTA_Item_EmptyBottle : public C_DOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnStoredRuneChanged" - int32_t m_iStoredRuneType; // 0x630 - GameTime_t m_fStoredRuneTime; // 0x634 - float rune_expire_time; // 0x638 + int32_t m_iStoredRuneType; // 0x648 + GameTime_t m_fStoredRuneTime; // 0x64c + float rune_expire_time; // 0x650 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_DemonEdge : public C_DOTA_Item { public: @@ -70077,7 +71026,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Eaglehorn : public C_DOTA_Item { public: @@ -70085,7 +71034,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Reaver : public C_DOTA_Item { public: @@ -70093,7 +71042,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_SacredRelic : public C_DOTA_Item { public: @@ -70101,7 +71050,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Hyperstone : public C_DOTA_Item { public: @@ -70109,7 +71058,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_RingOfHealth : public C_DOTA_Item { public: @@ -70117,7 +71066,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_VoidStone : public C_DOTA_Item { public: @@ -70125,7 +71074,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_MysticStaff : public C_DOTA_Item { public: @@ -70133,7 +71082,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_EnergyBooster : public C_DOTA_Item { public: @@ -70141,7 +71090,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_PointBooster : public C_DOTA_Item { public: @@ -70149,7 +71098,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_VitalityBooster : public C_DOTA_Item { public: @@ -70157,7 +71106,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Broadsword : public C_DOTA_Item { public: @@ -70165,7 +71114,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Quarterstaff : public C_DOTA_Item { public: @@ -70173,7 +71122,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Claymore : public C_DOTA_Item { public: @@ -70181,7 +71130,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_RingOfProtection : public C_DOTA_Item { public: @@ -70189,7 +71138,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_StoutShield : public C_DOTA_Item { public: @@ -70197,7 +71146,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Javelin : public C_DOTA_Item { public: @@ -70205,7 +71154,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_MithrilHammer : public C_DOTA_Item { public: @@ -70213,7 +71162,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_ChainMail : public C_DOTA_Item { public: @@ -70221,7 +71170,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_HelmOfIronWill : public C_DOTA_Item { public: @@ -70229,7 +71178,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_PlateMail : public C_DOTA_Item { public: @@ -70237,7 +71186,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_QuellingBlade : public C_DOTA_Item { public: @@ -70245,7 +71194,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_IronwoodBranch : public C_DOTA_Item { public: @@ -70253,7 +71202,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_OgreAxe : public C_DOTA_Item { public: @@ -70261,7 +71210,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_BladeOfAlacrity : public C_DOTA_Item { public: @@ -70269,7 +71218,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_StaffOfWizardry : public C_DOTA_Item { public: @@ -70277,7 +71226,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_UltimateOrb : public C_DOTA_Item { public: @@ -70285,7 +71234,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_MaskOfDeath : public C_DOTA_Item { public: @@ -70293,7 +71242,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_RingOfRegeneration : public C_DOTA_Item { public: @@ -70301,7 +71250,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_BlinkDagger : public C_DOTA_Item { public: @@ -70309,7 +71258,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_SuperBlinkDagger : public C_DOTA_Item_BlinkDagger { public: @@ -70317,7 +71266,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_SobiMask : public C_DOTA_Item { public: @@ -70325,17 +71274,17 @@ public: }; // Alignment: 3 -// Size: 0x640 +// Size: 0x658 class C_DOTA_Item_GemOfTrueSight : public C_DOTA_Item { public: - int32_t m_iTempViewer; // 0x630 - int32_t m_iTeam; // 0x634 - int32_t m_nFXIndex; // 0x638 + int32_t m_iTempViewer; // 0x648 + int32_t m_iTeam; // 0x64c + int32_t m_nFXIndex; // 0x650 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_PlaneswalkersCloak : public C_DOTA_Item { public: @@ -70343,7 +71292,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_MagicStick : public C_DOTA_Item { public: @@ -70351,7 +71300,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_MagicWand : public C_DOTA_Item { public: @@ -70359,7 +71308,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_MagicWand : public C_DOTA_Item { public: @@ -70367,7 +71316,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_TalismanOfEvasion : public C_DOTA_Item { public: @@ -70375,7 +71324,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_GhostScepter : public C_DOTA_Item { public: @@ -70383,7 +71332,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_HandOfMidas : public C_DOTA_Item { public: @@ -70391,7 +71340,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_HandOfMidas : public C_DOTA_Item { public: @@ -70399,7 +71348,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_OblivionStaff : public C_DOTA_Item { public: @@ -70407,7 +71356,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_OblivionStaff : public C_DOTA_Item { public: @@ -70415,7 +71364,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Perseverance : public C_DOTA_Item { public: @@ -70423,7 +71372,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Perseverance : public C_DOTA_Item { public: @@ -70431,7 +71380,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_PoorMansShield : public C_DOTA_Item { public: @@ -70439,7 +71388,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_PoorMansShield : public C_DOTA_Item { public: @@ -70447,7 +71396,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_DustofAppearance : public C_DOTA_Item { public: @@ -70455,7 +71404,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_ObserverWard : public C_DOTA_Item { public: @@ -70463,7 +71412,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_SentryWard : public C_DOTA_Item { public: @@ -70471,21 +71420,21 @@ public: }; // Alignment: 7 -// Size: 0x658 +// Size: 0x670 class C_DOTA_Item_TeleportScroll : public C_DOTA_Item { public: - CHandle< C_BaseEntity > m_hTeleportTarget; // 0x630 - ParticleIndex_t m_nFXOrigin; // 0x634 - ParticleIndex_t m_nFXDestination; // 0x638 - Vector m_vDestination; // 0x63c - int32_t m_iMinDistance; // 0x648 - float m_flBaseTeleportTime; // 0x64c - float m_flExtraTeleportTime; // 0x650 + CHandle< C_BaseEntity > m_hTeleportTarget; // 0x648 + ParticleIndex_t m_nFXOrigin; // 0x64c + ParticleIndex_t m_nFXDestination; // 0x650 + Vector m_vDestination; // 0x654 + int32_t m_iMinDistance; // 0x660 + float m_flBaseTeleportTime; // 0x664 + float m_flExtraTeleportTime; // 0x668 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_DivineRapier : public C_DOTA_Item { public: @@ -70493,7 +71442,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_DivineRapier : public C_DOTA_Item { public: @@ -70501,7 +71450,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_MonkeyKingBar : public C_DOTA_Item { public: @@ -70509,7 +71458,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_MonkeyKingBar : public C_DOTA_Item { public: @@ -70517,7 +71466,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Radiance : public C_DOTA_Item { public: @@ -70525,7 +71474,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Radiance : public C_DOTA_Item { public: @@ -70533,7 +71482,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Butterfly : public C_DOTA_Item { public: @@ -70541,7 +71490,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Butterfly : public C_DOTA_Item { public: @@ -70549,7 +71498,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_GreaterCritical : public C_DOTA_Item { public: @@ -70557,7 +71506,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_GreaterCritical : public C_DOTA_Item { public: @@ -70565,7 +71514,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_CraniumBasher : public C_DOTA_Item { public: @@ -70573,7 +71522,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_CraniumBasher : public C_DOTA_Item { public: @@ -70581,7 +71530,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_AbyssalBlade : public C_DOTA_Item { public: @@ -70589,7 +71538,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_AbyssalBlade : public C_DOTA_Item { public: @@ -70597,7 +71546,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Battlefury : public C_DOTA_Item { public: @@ -70605,7 +71554,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Battlefury : public C_DOTA_Item { public: @@ -70613,7 +71562,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_MantaStyle : public C_DOTA_Item { public: @@ -70621,7 +71570,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_MantaStyle : public C_DOTA_Item { public: @@ -70629,7 +71578,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_LesserCritical : public C_DOTA_Item { public: @@ -70637,7 +71586,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_LesserCritical : public C_DOTA_Item { public: @@ -70645,7 +71594,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Armlet : public C_DOTA_Item { public: @@ -70653,15 +71602,15 @@ public: }; // Alignment: 1 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_Armlet : public C_DOTA_Item { public: - float toggle_cooldown; // 0x630 + float toggle_cooldown; // 0x648 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_InvisibilityEdge : public C_DOTA_Item { public: @@ -70669,7 +71618,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_InvisibilityEdge : public C_DOTA_Item { public: @@ -70677,7 +71626,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_SheepStick : public C_DOTA_Item { public: @@ -70685,15 +71634,15 @@ public: }; // Alignment: 1 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_SheepStick : public C_DOTA_Item { public: - int32_t upgrade_radius; // 0x630 + int32_t upgrade_radius; // 0x648 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_OrchidMalevolence : public C_DOTA_Item { public: @@ -70701,7 +71650,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_OrchidMalevolence : public C_DOTA_Item { public: @@ -70709,7 +71658,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_RodOfAtos : public C_DOTA_Item { public: @@ -70717,7 +71666,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_RodOfAtos : public C_DOTA_Item { public: @@ -70725,7 +71674,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Cyclone : public C_DOTA_Item { public: @@ -70733,7 +71682,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Cyclone : public C_DOTA_Item { public: @@ -70741,7 +71690,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_ForceStaff : public C_DOTA_Item { public: @@ -70749,7 +71698,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_ForceStaff : public C_DOTA_Item { public: @@ -70757,7 +71706,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Dagon : public C_DOTA_Item { public: @@ -70765,7 +71714,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Dagon2 : public C_DOTA_Item_Recipe_Dagon { public: @@ -70773,7 +71722,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Dagon3 : public C_DOTA_Item_Recipe_Dagon { public: @@ -70781,7 +71730,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Dagon4 : public C_DOTA_Item_Recipe_Dagon { public: @@ -70789,7 +71738,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Dagon5 : public C_DOTA_Item_Recipe_Dagon { public: @@ -70797,7 +71746,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Dagon : public C_DOTA_Item { public: @@ -70805,7 +71754,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Dagon_Upgraded : public C_DOTA_Item_Dagon { public: @@ -70813,7 +71762,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Dagon_Upgraded2 : public C_DOTA_Item_Dagon_Upgraded { public: @@ -70821,7 +71770,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Dagon_Upgraded3 : public C_DOTA_Item_Dagon_Upgraded { public: @@ -70829,7 +71778,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Dagon_Upgraded4 : public C_DOTA_Item_Dagon_Upgraded { public: @@ -70837,7 +71786,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Dagon_Upgraded5 : public C_DOTA_Item_Dagon_Upgraded { public: @@ -70845,7 +71794,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_RefresherOrb : public C_DOTA_Item { public: @@ -70853,7 +71802,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_RefresherOrb : public C_DOTA_Item { public: @@ -70861,7 +71810,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_RefresherOrb_Shard : public C_DOTA_Item { public: @@ -70869,7 +71818,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_UltimateScepter : public C_DOTA_Item { public: @@ -70877,7 +71826,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_UltimateScepter_2 : public C_DOTA_Item { public: @@ -70885,7 +71834,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_UltimateScepter_2 : public C_DOTA_Item { public: @@ -70893,7 +71842,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_UltimateScepter : public C_DOTA_Item { public: @@ -70901,7 +71850,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_UltimateScepter_Roshan : public C_DOTA_Item { public: @@ -70909,7 +71858,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Assault_Cuirass : public C_DOTA_Item { public: @@ -70917,7 +71866,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Assault_Cuirass : public C_DOTA_Item { public: @@ -70925,7 +71874,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Heart : public C_DOTA_Item { public: @@ -70933,7 +71882,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Heart : public C_DOTA_Item { public: @@ -70941,7 +71890,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Black_King_Bar : public C_DOTA_Item { public: @@ -70949,15 +71898,15 @@ public: }; // Alignment: 1 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_Black_King_Bar : public C_DOTA_Item { public: - bool m_bActive; // 0x630 + bool m_bActive; // 0x648 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Aegis : public C_DOTA_Item { public: @@ -70965,16 +71914,16 @@ public: }; // Alignment: 1 -// Size: 0x648 +// Size: 0x660 class C_DOTA_Item_TierToken : public C_DOTA_Item { public: // MNetworkEnable - AbilityID_t m_vecChoices[5]; // 0x630 + AbilityID_t m_vecChoices[5]; // 0x648 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Shivas_Guard : public C_DOTA_Item { public: @@ -70982,7 +71931,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Shivas_Guard : public C_DOTA_Item { public: @@ -70990,7 +71939,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Bloodstone : public C_DOTA_Item { public: @@ -70998,7 +71947,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Bloodstone : public C_DOTA_Item { public: @@ -71006,7 +71955,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Sange : public C_DOTA_Item { public: @@ -71014,7 +71963,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Sange : public C_DOTA_Item { public: @@ -71022,7 +71971,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Yasha : public C_DOTA_Item { public: @@ -71030,7 +71979,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Yasha : public C_DOTA_Item { public: @@ -71038,7 +71987,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_SangeAndYasha : public C_DOTA_Item { public: @@ -71046,7 +71995,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_SangeAndYasha : public C_DOTA_Item { public: @@ -71054,7 +72003,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_MaskOfMadness : public C_DOTA_Item { public: @@ -71062,7 +72011,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_MaskOfMadness : public C_DOTA_Item { public: @@ -71070,7 +72019,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Sphere : public C_DOTA_Item { public: @@ -71078,7 +72027,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Sphere : public C_DOTA_Item { public: @@ -71086,7 +72035,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Vanguard : public C_DOTA_Item { public: @@ -71094,7 +72043,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Vanguard : public C_DOTA_Item { public: @@ -71102,7 +72051,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Crimson_Guard : public C_DOTA_Item { public: @@ -71110,7 +72059,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Crimson_Guard : public C_DOTA_Item { public: @@ -71118,7 +72067,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Blade_Mail : public C_DOTA_Item { public: @@ -71126,7 +72075,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Blade_Mail : public C_DOTA_Item { public: @@ -71134,7 +72083,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Soul_Booster : public C_DOTA_Item { public: @@ -71142,7 +72091,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Soul_Booster : public C_DOTA_Item { public: @@ -71150,7 +72099,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Hood_Of_Defiance : public C_DOTA_Item { public: @@ -71158,7 +72107,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Hood_Of_Defiance : public C_DOTA_Item { public: @@ -71166,7 +72115,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Mekansm : public C_DOTA_Item { public: @@ -71174,7 +72123,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Mekansm : public C_DOTA_Item { public: @@ -71182,7 +72131,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Vladmir : public C_DOTA_Item { public: @@ -71190,7 +72139,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Vladmir : public C_DOTA_Item { public: @@ -71198,7 +72147,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Buckler : public C_DOTA_Item { public: @@ -71206,7 +72155,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Buckler : public C_DOTA_Item { public: @@ -71214,7 +72163,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Ring_Of_Basilius : public C_DOTA_Item { public: @@ -71222,7 +72171,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Ring_Of_Basilius : public C_DOTA_Item { public: @@ -71230,7 +72179,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Pipe : public C_DOTA_Item { public: @@ -71238,7 +72187,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Pipe : public C_DOTA_Item { public: @@ -71246,7 +72195,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Urn_Of_Shadows : public C_DOTA_Item { public: @@ -71254,7 +72203,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Urn_Of_Shadows : public C_DOTA_Item { public: @@ -71262,7 +72211,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Headdress : public C_DOTA_Item { public: @@ -71270,7 +72219,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Headdress : public C_DOTA_Item { public: @@ -71278,7 +72227,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Satanic : public C_DOTA_Item { public: @@ -71286,7 +72235,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Satanic : public C_DOTA_Item { public: @@ -71294,7 +72243,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_HelmOfTheDominator : public C_DOTA_Item { public: @@ -71302,7 +72251,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_HelmOfTheDominator_2 : public C_DOTA_Item { public: @@ -71310,7 +72259,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_HelmOfTheOverlord : public C_DOTA_Item { public: @@ -71318,7 +72267,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_HelmOfTheDominator : public C_DOTA_Item { public: @@ -71326,7 +72275,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_HelmOfTheDominator_2 : public C_DOTA_Item_HelmOfTheDominator { public: @@ -71334,7 +72283,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_HelmOfTheOverlord : public C_DOTA_Item_HelmOfTheDominator { public: @@ -71342,7 +72291,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Desolator : public C_DOTA_Item { public: @@ -71350,7 +72299,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Desolator : public C_DOTA_Item { public: @@ -71358,7 +72307,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Revenants_Brooch : public C_DOTA_Item { public: @@ -71366,7 +72315,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Revenants_Brooch : public C_DOTA_Item { public: @@ -71374,7 +72323,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Eagle_Eye : public C_DOTA_Item { public: @@ -71382,17 +72331,17 @@ public: }; // Alignment: 3 -// Size: 0x640 +// Size: 0x658 class C_DOTA_Item_EagleEye : public C_DOTA_Item { public: - int32_t m_iTempViewer; // 0x630 - int32_t m_iTeam; // 0x634 - int32_t m_nFXIndex; // 0x638 + int32_t m_iTempViewer; // 0x648 + int32_t m_iTeam; // 0x64c + int32_t m_nFXIndex; // 0x650 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Tenderizer : public C_DOTA_Item { public: @@ -71400,7 +72349,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Tenderizer : public C_DOTA_Item { public: @@ -71408,7 +72357,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Boots_Of_Bearing : public C_DOTA_Item { public: @@ -71416,15 +72365,15 @@ public: }; // Alignment: 1 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_Boots_Of_Bearing : public C_DOTA_Item { public: - int32_t radius; // 0x630 + int32_t radius; // 0x648 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_VoidwalkerScythe : public C_DOTA_Item { public: @@ -71432,7 +72381,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_VoidwalkerScythe : public C_DOTA_Item { public: @@ -71440,7 +72389,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_WraithPact : public C_DOTA_Item { public: @@ -71448,15 +72397,15 @@ public: }; // Alignment: 1 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_WraithPact : public C_DOTA_Item { public: - CHandle< C_BaseEntity > m_hWard; // 0x630 + CHandle< C_BaseEntity > m_hWard; // 0x648 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Skadi : public C_DOTA_Item { public: @@ -71464,7 +72413,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Skadi : public C_DOTA_Item { public: @@ -71472,7 +72421,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Mjollnir : public C_DOTA_Item { public: @@ -71480,7 +72429,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Mjollnir : public C_DOTA_Item { public: @@ -71488,7 +72437,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Maelstrom : public C_DOTA_Item { public: @@ -71496,7 +72445,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Maelstrom : public C_DOTA_Item { public: @@ -71504,7 +72453,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Diffusal_Blade : public C_DOTA_Item { public: @@ -71512,7 +72461,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Diffusal_Blade2 : public C_DOTA_Item_Recipe_Diffusal_Blade { public: @@ -71520,7 +72469,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Diffusal_Blade : public C_DOTA_Item { public: @@ -71528,7 +72477,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Diffusal_Blade_Level2 : public C_DOTA_Item_Diffusal_Blade { public: @@ -71536,7 +72485,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Ethereal_Blade : public C_DOTA_Item { public: @@ -71544,7 +72493,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Ethereal_Blade : public C_DOTA_Item { public: @@ -71552,7 +72501,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Soul_Ring : public C_DOTA_Item { public: @@ -71560,7 +72509,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Soul_Ring : public C_DOTA_Item { public: @@ -71568,7 +72517,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Necronomicon : public C_DOTA_Item { public: @@ -71576,7 +72525,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Necronomicon_2 : public C_DOTA_Item_Recipe_Necronomicon { public: @@ -71584,7 +72533,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Necronomicon_3 : public C_DOTA_Item_Recipe_Necronomicon { public: @@ -71592,16 +72541,16 @@ public: }; // Alignment: 2 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_Necronomicon : public C_DOTA_Item { public: - CHandle< C_BaseEntity > m_hWarrior; // 0x630 - CHandle< C_BaseEntity > m_hArcher; // 0x634 + CHandle< C_BaseEntity > m_hWarrior; // 0x648 + CHandle< C_BaseEntity > m_hArcher; // 0x64c }; // Alignment: 0 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_Necronomicon_Level2 : public C_DOTA_Item_Necronomicon { public: @@ -71609,7 +72558,7 @@ public: }; // Alignment: 0 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_Necronomicon_Level3 : public C_DOTA_Item_Necronomicon { public: @@ -71617,7 +72566,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Necronomicon_Warrior_ManaBurn : public C_DOTABaseAbility { public: @@ -71625,7 +72574,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Necronomicon_Warrior_LastWill : public C_DOTABaseAbility { public: @@ -71633,7 +72582,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Necronomicon_Warrior_Sight : public C_DOTABaseAbility { public: @@ -71641,7 +72590,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Necronomicon_Archer_ManaBurn : public C_DOTABaseAbility { public: @@ -71649,7 +72598,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Necronomicon_Archer_Purge : public C_DOTABaseAbility { public: @@ -71657,7 +72606,7 @@ public: }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class C_DOTA_Ability_Necronomicon_Archer_AoE : public C_DOTABaseAbility { public: @@ -71665,7 +72614,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Courier : public C_DOTA_Item { public: @@ -71673,7 +72622,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Flying_Courier : public C_DOTA_Item { public: @@ -71681,7 +72630,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Cheese : public C_DOTA_Item { public: @@ -71689,7 +72638,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Royale_With_Cheese : public C_DOTA_Item { public: @@ -71697,7 +72646,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Arcane_Boots : public C_DOTA_Item { public: @@ -71705,7 +72654,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Arcane_Boots : public C_DOTA_Item { public: @@ -71713,7 +72662,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Orb_of_Venom : public C_DOTA_Item { public: @@ -71721,7 +72670,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Ancient_Janggo : public C_DOTA_Item { public: @@ -71729,15 +72678,15 @@ public: }; // Alignment: 1 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_Ancient_Janggo : public C_DOTA_Item { public: - int32_t radius; // 0x630 + int32_t radius; // 0x648 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Medallion_Of_Courage : public C_DOTA_Item { public: @@ -71745,7 +72694,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Medallion_Of_Courage : public C_DOTA_Item { public: @@ -71753,7 +72702,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Smoke_Of_Deceit : public C_DOTA_Item { public: @@ -71761,7 +72710,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Veil_Of_Discord : public C_DOTA_Item { public: @@ -71769,7 +72718,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Veil_Of_Discord : public C_DOTA_Item { public: @@ -71777,7 +72726,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_HeavensHalberd : public C_DOTA_Item { public: @@ -71785,7 +72734,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_HeavensHalberd : public C_DOTA_Item { public: @@ -71793,7 +72742,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_RingOfAquila : public C_DOTA_Item { public: @@ -71801,7 +72750,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_RingOfAquila : public C_DOTA_Item { public: @@ -71809,7 +72758,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_ShadowAmulet : public C_DOTA_Item { public: @@ -71817,7 +72766,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Moonshard : public C_DOTA_Item { public: @@ -71825,7 +72774,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Moonshard : public C_DOTA_Item { public: @@ -71833,7 +72782,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Silver_Edge : public C_DOTA_Item { public: @@ -71841,7 +72790,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Silver_Edge : public C_DOTA_Item { public: @@ -71849,7 +72798,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_GlimmerCape : public C_DOTA_Item { public: @@ -71857,7 +72806,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_GlimmerCape : public C_DOTA_Item { public: @@ -71865,7 +72814,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Solar_Crest : public C_DOTA_Item { public: @@ -71873,7 +72822,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Solar_Crest : public C_DOTA_Item { public: @@ -71881,7 +72830,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Ward_Dispenser : public C_DOTA_Item { public: @@ -71889,7 +72838,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Ward_Dispenser : public C_DOTA_Item { public: @@ -71897,18 +72846,18 @@ public: }; // Alignment: 4 -// Size: 0x640 +// Size: 0x658 class CDOTA_Item_Ward_Maker : public C_DOTA_Item { public: - float sentry_refresh; // 0x630 - int32_t max_sentry_charges; // 0x634 - GameTime_t m_flLastThinkTime; // 0x638 - float m_flTimeAccumulator; // 0x63c + float sentry_refresh; // 0x648 + int32_t max_sentry_charges; // 0x64c + GameTime_t m_flLastThinkTime; // 0x650 + float m_flTimeAccumulator; // 0x654 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Guardian_Greaves : public C_DOTA_Item { public: @@ -71916,7 +72865,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Guardian_Greaves : public C_DOTA_Item { public: @@ -71924,7 +72873,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Enchanted_Mango : public C_DOTA_Item { public: @@ -71932,7 +72881,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Famango : public C_DOTA_Item { public: @@ -71940,7 +72889,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_GreatFamango : public CDOTA_Item_Famango { public: @@ -71948,7 +72897,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_GreaterFamango : public CDOTA_Item_Famango { public: @@ -71956,7 +72905,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_GreatFamango : public C_DOTA_Item { public: @@ -71964,7 +72913,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_GreaterFamango : public C_DOTA_Item { public: @@ -71972,7 +72921,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Lotus_Orb : public C_DOTA_Item { public: @@ -71980,7 +72929,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Lotus_Orb : public C_DOTA_Item { public: @@ -71988,7 +72937,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Octarine_Core : public C_DOTA_Item { public: @@ -71996,7 +72945,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Octarine_Core : public C_DOTA_Item { public: @@ -72004,7 +72953,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Faerie_Fire : public C_DOTA_Item { public: @@ -72012,7 +72961,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_DragonLance : public C_DOTA_Item { public: @@ -72020,7 +72969,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_DragonLance : public C_DOTA_Item { public: @@ -72028,7 +72977,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Aether_Lens : public C_DOTA_Item { public: @@ -72036,7 +72985,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Aether_Lens : public C_DOTA_Item { public: @@ -72044,7 +72993,31 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 +class CDOTA_Item_Recipe_Aetherial_Halo : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x648 +class CDOTA_Item_Halo : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x648 +class C_DOTA_Item_Aetherial_Halo : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x648 class CDOTA_Item_Recipe_Iron_Talon : public C_DOTA_Item { public: @@ -72052,7 +73025,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Iron_Talon : public C_DOTA_Item { public: @@ -72060,7 +73033,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Bloodthorn : public C_DOTA_Item { public: @@ -72068,7 +73041,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Bloodthorn : public C_DOTA_Item { public: @@ -72076,7 +73049,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_EchoSabre : public C_DOTA_Item { public: @@ -72084,7 +73057,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_EchoSabre : public C_DOTA_Item { public: @@ -72092,7 +73065,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Blight_Stone : public C_DOTA_Item { public: @@ -72100,7 +73073,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_WindLace : public C_DOTA_Item { public: @@ -72108,7 +73081,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Tome_Of_Knowledge : public C_DOTA_Item { public: @@ -72116,7 +73089,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Hurricane_Pike : public C_DOTA_Item { public: @@ -72124,7 +73097,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Hurricane_Pike : public C_DOTA_Item { public: @@ -72132,7 +73105,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Infused_Raindrop : public C_DOTA_Item { public: @@ -72140,17 +73113,17 @@ public: }; // Alignment: 1 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_RiverPainter : public C_DOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnRiverColorChanged" - int32_t m_iRiverPaintColor; // 0x630 + int32_t m_iRiverPaintColor; // 0x648 }; // Alignment: 0 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_RiverPainter2 : public C_DOTA_Item_RiverPainter { public: @@ -72158,7 +73131,7 @@ public: }; // Alignment: 0 -// Size: 0x638 +// Size: 0x650 class CDOTA_Item_RiverPainter3 : public C_DOTA_Item_RiverPainter { public: @@ -72166,7 +73139,7 @@ public: }; // Alignment: 0 -// Size: 0x638 +// Size: 0x650 class CDOTA_Item_RiverPainter4 : public C_DOTA_Item_RiverPainter { public: @@ -72174,7 +73147,7 @@ public: }; // Alignment: 0 -// Size: 0x638 +// Size: 0x650 class CDOTA_Item_RiverPainter5 : public C_DOTA_Item_RiverPainter { public: @@ -72182,7 +73155,7 @@ public: }; // Alignment: 0 -// Size: 0x638 +// Size: 0x650 class CDOTA_Item_RiverPainter6 : public C_DOTA_Item_RiverPainter { public: @@ -72190,7 +73163,7 @@ public: }; // Alignment: 0 -// Size: 0x638 +// Size: 0x650 class CDOTA_Item_RiverPainter7 : public C_DOTA_Item_RiverPainter { public: @@ -72198,7 +73171,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_MeteorHammer : public C_DOTA_Item { public: @@ -72206,16 +73179,16 @@ public: }; // Alignment: 2 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_MeteorHammer : public C_DOTA_Item { public: - ParticleIndex_t m_nFXIndex; // 0x630 - ParticleIndex_t m_nFXIndexB; // 0x634 + ParticleIndex_t m_nFXIndex; // 0x648 + ParticleIndex_t m_nFXIndexB; // 0x64c }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Nullifier : public C_DOTA_Item { public: @@ -72223,7 +73196,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Nullifier : public C_DOTA_Item { public: @@ -72231,7 +73204,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Spirit_Vessel : public C_DOTA_Item { public: @@ -72239,7 +73212,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Spirit_Vessel : public C_DOTA_Item { public: @@ -72247,7 +73220,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_AeonDisk : public C_DOTA_Item { public: @@ -72255,16 +73228,16 @@ public: }; // Alignment: 2 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_AeonDisk : public C_DOTA_Item { public: - int32_t m_nUses; // 0x630 - int32_t max_level; // 0x634 + int32_t m_nUses; // 0x648 + int32_t max_level; // 0x64c }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Kaya : public C_DOTA_Item { public: @@ -72272,7 +73245,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Kaya : public C_DOTA_Item { public: @@ -72280,7 +73253,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_PocketTower : public C_DOTA_Item { public: @@ -72288,7 +73261,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_PocketRoshan : public C_DOTA_Item { public: @@ -72296,7 +73269,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Crown : public C_DOTA_Item { public: @@ -72304,7 +73277,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Holy_Locket : public C_DOTA_Item { public: @@ -72312,7 +73285,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Holy_Locket : public C_DOTA_Item { public: @@ -72320,7 +73293,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Kaya_And_Sange : public C_DOTA_Item { public: @@ -72328,7 +73301,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Kaya_And_Sange : public C_DOTA_Item { public: @@ -72336,7 +73309,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Yasha_And_Kaya : public C_DOTA_Item { public: @@ -72344,7 +73317,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Yasha_And_Kaya : public C_DOTA_Item { public: @@ -72352,7 +73325,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_RingOfTarrasque : public C_DOTA_Item { public: @@ -72360,7 +73333,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Diadem : public C_DOTA_Item { public: @@ -72368,7 +73341,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Blood_Grenade : public C_DOTA_Item { public: @@ -72376,7 +73349,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Blood_Grenade : public C_DOTA_Item { public: @@ -72384,7 +73357,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Phylactery : public C_DOTA_Item { public: @@ -72392,7 +73365,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Phylactery : public C_DOTA_Item { public: @@ -72400,7 +73373,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Disperser : public C_DOTA_Item { public: @@ -72408,7 +73381,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Disperser : public C_DOTA_Item { public: @@ -72416,7 +73389,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Cornucopia : public C_DOTA_Item { public: @@ -72424,7 +73397,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Cornucopia : public C_DOTA_Item { public: @@ -72432,7 +73405,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Pavise : public C_DOTA_Item { public: @@ -72440,7 +73413,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Pavise : public C_DOTA_Item { public: @@ -72448,7 +73421,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Keen_Optic : public C_DOTA_Item { public: @@ -72456,7 +73429,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Keen_Optic : public C_DOTA_Item { public: @@ -72464,7 +73437,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Grove_Bow : public C_DOTA_Item { public: @@ -72472,7 +73445,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Grove_Bow : public C_DOTA_Item { public: @@ -72480,7 +73453,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Quickening_Charm : public C_DOTA_Item { public: @@ -72488,7 +73461,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Quickening_Charm : public C_DOTA_Item { public: @@ -72496,7 +73469,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Philosophers_Stone : public C_DOTA_Item { public: @@ -72504,7 +73477,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Force_Boots : public C_DOTA_Item { public: @@ -72512,7 +73485,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Force_Boots : public C_DOTA_Item { public: @@ -72520,7 +73493,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Desolator_2 : public C_DOTA_Item { public: @@ -72528,7 +73501,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Desolator_2 : public C_DOTA_Item { public: @@ -72536,7 +73509,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Phoenix_Ash : public C_DOTA_Item { public: @@ -72544,7 +73517,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Phoenix_Ash : public C_DOTA_Item { public: @@ -72552,7 +73525,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Seer_Stone : public C_DOTA_Item { public: @@ -72560,7 +73533,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Seer_Stone : public C_DOTA_Item { public: @@ -72568,7 +73541,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Greater_Mango : public C_DOTA_Item { public: @@ -72576,7 +73549,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Elixer : public C_DOTA_Item { public: @@ -72584,7 +73557,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Vampire_Fangs : public C_DOTA_Item { public: @@ -72592,7 +73565,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Craggy_Coat : public C_DOTA_Item { public: @@ -72600,7 +73573,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Greater_Faerie_Fire : public C_DOTA_Item { public: @@ -72608,7 +73581,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Timeless_Relic : public C_DOTA_Item { public: @@ -72616,7 +73589,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Timeless_Relic : public C_DOTA_Item { public: @@ -72624,7 +73597,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Mirror_Shield : public C_DOTA_Item { public: @@ -72632,7 +73605,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Ironwood_tree : public C_DOTA_Item { public: @@ -72640,7 +73613,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Ironwood_tree : public C_DOTA_Item { public: @@ -72648,7 +73621,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Royal_jelly : public C_DOTA_Item { public: @@ -72656,7 +73629,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Pupils_gift : public C_DOTA_Item { public: @@ -72664,7 +73637,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Pupils_gift : public C_DOTA_Item { public: @@ -72672,7 +73645,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Tome_of_aghanim : public C_DOTA_Item { public: @@ -72680,7 +73653,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Repair_kit : public C_DOTA_Item { public: @@ -72688,7 +73661,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Mind_Breaker : public C_DOTA_Item { public: @@ -72696,7 +73669,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Mind_Breaker2 : public C_DOTA_Item_Recipe_Mind_Breaker { public: @@ -72704,7 +73677,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Mind_Breaker : public C_DOTA_Item { public: @@ -72712,7 +73685,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Third_eye : public C_DOTA_Item { public: @@ -72720,7 +73693,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Spell_Prism : public C_DOTA_Item { public: @@ -72728,7 +73701,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Horizon : public C_DOTA_Item { public: @@ -72736,7 +73709,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Fusion_rune : public C_DOTA_Item { public: @@ -72744,7 +73717,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Princes_Knife : public C_DOTA_Item { public: @@ -72752,7 +73725,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Spider_Legs : public C_DOTA_Item { public: @@ -72760,7 +73733,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Helm_Of_The_Undying : public C_DOTA_Item { public: @@ -72768,7 +73741,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Mango_Tree : public C_DOTA_Item { public: @@ -72776,21 +73749,21 @@ public: }; // Alignment: 3 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_PluckFamango : public C_DOTABaseAbility { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hTarget; // 0x5a0 + CHandle< C_BaseEntity > m_hTarget; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 + [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: - CDOTA_Buff* m_pMyBuff; // 0x5a8 - float famango_rate; // 0x5b0 + CDOTA_Buff* m_pMyBuff; // 0x5b8 + float famango_rate; // 0x5c0 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Vambrace : public C_DOTA_Item { public: @@ -72798,17 +73771,17 @@ public: }; // Alignment: 1 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_Vambrace : public C_DOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnVambraceStatChanged" - int32_t m_iStat; // 0x630 + int32_t m_iStat; // 0x648 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Witless_shako : public C_DOTA_Item { public: @@ -72816,7 +73789,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Imp_Claw : public C_DOTA_Item { public: @@ -72824,7 +73797,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Flicker : public C_DOTA_Item { public: @@ -72832,7 +73805,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Spy_Gadget : public C_DOTA_Item { public: @@ -72840,7 +73813,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Ocean_Heart : public C_DOTA_Item { public: @@ -72848,7 +73821,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Ocean_Heart : public C_DOTA_Item { public: @@ -72856,7 +73829,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Broom_Handle : public C_DOTA_Item { public: @@ -72864,7 +73837,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Broom_Handle : public C_DOTA_Item { public: @@ -72872,7 +73845,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Trusty_Shovel : public C_DOTA_Item { public: @@ -72880,20 +73853,20 @@ public: }; // Alignment: 3 -// Size: 0x648 +// Size: 0x660 class CDOTA_Item_Trusty_Shovel : public C_DOTA_Item { public: - Vector m_vChannelPos; // 0x630 - bool m_bIsUnderwater; // 0x63c + Vector m_vChannelPos; // 0x648 + bool m_bIsUnderwater; // 0x654 private: - [[maybe_unused]] uint8_t __pad063d[0x3]; // 0x63d + [[maybe_unused]] uint8_t __pad0655[0x3]; // 0x655 public: - ParticleIndex_t m_nPhaseStartFXIndex; // 0x640 + ParticleIndex_t m_nPhaseStartFXIndex; // 0x658 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Nether_Shawl : public C_DOTA_Item { public: @@ -72901,7 +73874,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Nether_Shawl : public C_DOTA_Item { public: @@ -72909,7 +73882,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Dragon_Scale : public C_DOTA_Item { public: @@ -72917,7 +73890,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Dragon_Scale : public C_DOTA_Item { public: @@ -72925,7 +73898,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Essence_Ring : public C_DOTA_Item { public: @@ -72933,7 +73906,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Essence_Ring : public C_DOTA_Item { public: @@ -72941,7 +73914,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Clumsy_Net : public C_DOTA_Item { public: @@ -72949,7 +73922,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Clumsy_Net : public C_DOTA_Item { public: @@ -72957,7 +73930,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Enchanted_Quiver : public C_DOTA_Item { public: @@ -72965,7 +73938,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Enchanted_Quiver : public C_DOTA_Item { public: @@ -72973,7 +73946,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Ninja_Gear : public C_DOTA_Item { public: @@ -72981,7 +73954,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Ninja_Gear : public C_DOTA_Item { public: @@ -72989,7 +73962,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Illusionsts_Cape : public C_DOTA_Item { public: @@ -72997,7 +73970,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Illusionsts_Cape : public C_DOTA_Item { public: @@ -73005,7 +73978,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Havoc_Hammer : public C_DOTA_Item { public: @@ -73013,7 +73986,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Havoc_Hammer : public C_DOTA_Item { public: @@ -73021,7 +73994,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Panic_Button : public C_DOTA_Item { public: @@ -73029,7 +74002,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Panic_Button : public C_DOTA_Item { public: @@ -73037,7 +74010,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Apex : public C_DOTA_Item { public: @@ -73045,7 +74018,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Apex : public C_DOTA_Item { public: @@ -73053,7 +74026,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Ballista : public C_DOTA_Item { public: @@ -73061,7 +74034,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Ballista : public C_DOTA_Item { public: @@ -73069,7 +74042,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Woodland_Striders : public C_DOTA_Item { public: @@ -73077,7 +74050,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Woodland_Striders : public C_DOTA_Item { public: @@ -73085,7 +74058,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Trident : public C_DOTA_Item { public: @@ -73093,7 +74066,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Trident : public C_DOTA_Item { public: @@ -73101,7 +74074,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Demonicon : public C_DOTA_Item { public: @@ -73109,15 +74082,15 @@ public: }; // Alignment: 1 -// Size: 0x648 +// Size: 0x660 class CDOTA_Item_Demonicon : public C_DOTA_Item { public: - CUtlVector< CHandle< C_BaseEntity > > m_hDemonSummons; // 0x630 + CUtlVector< CHandle< C_BaseEntity > > m_hDemonSummons; // 0x648 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Fallen_Sky : public C_DOTA_Item { public: @@ -73125,7 +74098,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Fallen_Sky : public C_DOTA_Item { public: @@ -73133,7 +74106,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Pirate_Hat : public C_DOTA_Item { public: @@ -73141,20 +74114,20 @@ public: }; // Alignment: 3 -// Size: 0x648 +// Size: 0x660 class CDOTA_Item_Pirate_Hat : public C_DOTA_Item { public: - Vector m_vChannelPos; // 0x630 - bool m_bIsUnderwater; // 0x63c + Vector m_vChannelPos; // 0x648 + bool m_bIsUnderwater; // 0x654 private: - [[maybe_unused]] uint8_t __pad063d[0x3]; // 0x63d + [[maybe_unused]] uint8_t __pad0655[0x3]; // 0x655 public: - ParticleIndex_t m_nPhaseStartFXIndex; // 0x640 + ParticleIndex_t m_nPhaseStartFXIndex; // 0x658 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Dimensional_Doorway : public C_DOTA_Item { public: @@ -73162,7 +74135,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Dimensional_Doorway : public C_DOTA_Item { public: @@ -73170,7 +74143,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Ex_Machina : public C_DOTA_Item { public: @@ -73178,7 +74151,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Ex_Machina : public C_DOTA_Item { public: @@ -73186,7 +74159,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Faded_Broach : public C_DOTA_Item { public: @@ -73194,7 +74167,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Faded_Broach : public C_DOTA_Item { public: @@ -73202,7 +74175,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Paladin_Sword : public C_DOTA_Item { public: @@ -73210,7 +74183,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Paladin_Sword : public C_DOTA_Item { public: @@ -73218,7 +74191,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Minotaur_Horn : public C_DOTA_Item { public: @@ -73226,7 +74199,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Minotaur_Horn : public C_DOTA_Item { public: @@ -73234,7 +74207,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Orb_Of_Destruction : public C_DOTA_Item { public: @@ -73242,7 +74215,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Orb_Of_Destruction : public C_DOTA_Item { public: @@ -73250,7 +74223,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_The_Leveller : public C_DOTA_Item { public: @@ -73258,7 +74231,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_The_Leveller : public C_DOTA_Item { public: @@ -73266,7 +74239,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Arcane_Ring : public C_DOTA_Item { public: @@ -73274,7 +74247,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Arcane_Ring : public C_DOTA_Item { public: @@ -73282,7 +74255,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Titan_Sliver : public C_DOTA_Item { public: @@ -73290,7 +74263,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Titan_Sliver : public C_DOTA_Item { public: @@ -73298,7 +74271,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Voodoo_Mask : public C_DOTA_Item { public: @@ -73306,7 +74279,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Blitz_Knuckles : public C_DOTA_Item { public: @@ -73314,7 +74287,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Witch_Blade : public C_DOTA_Item { public: @@ -73322,7 +74295,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Witch_Blade : public C_DOTA_Item { public: @@ -73330,7 +74303,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_MaskOfDispair : public C_DOTA_Item { public: @@ -73338,7 +74311,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_MaskOfDispair : public C_DOTA_Item { public: @@ -73346,7 +74319,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Chipped_Vest : public C_DOTA_Item { public: @@ -73354,7 +74327,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Chipped_Vest : public C_DOTA_Item { public: @@ -73362,7 +74335,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Cloak_Of_Flames : public C_DOTA_Item { public: @@ -73370,7 +74343,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Cloak_Of_Flames : public C_DOTA_Item { public: @@ -73378,7 +74351,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Elven_Tunic : public C_DOTA_Item { public: @@ -73386,7 +74359,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Elven_Tunic : public C_DOTA_Item { public: @@ -73394,7 +74367,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Gloves_Of_Travel : public C_DOTA_Item { public: @@ -73402,7 +74375,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Gloves_Of_Travel : public C_DOTA_Item { public: @@ -73410,7 +74383,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Orb_Of_Corrosion : public C_DOTA_Item { public: @@ -73418,7 +74391,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Orb_Of_Corrosion : public C_DOTA_Item { public: @@ -73426,7 +74399,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Sorcerers_Staff : public C_DOTA_Item { public: @@ -73434,7 +74407,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Sorcerers_Staff : public C_DOTA_Item { public: @@ -73442,7 +74415,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Trickster_Cloak : public C_DOTA_Item { public: @@ -73450,7 +74423,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Trickster_Cloak : public C_DOTA_Item { public: @@ -73458,7 +74431,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Venom_Gland : public C_DOTA_Item { public: @@ -73466,7 +74439,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Venom_Gland : public C_DOTA_Item { public: @@ -73474,7 +74447,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Wizard_Glass : public C_DOTA_Item { public: @@ -73482,7 +74455,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Wizard_Glass : public C_DOTA_Item { public: @@ -73490,7 +74463,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Gladiator_Helm : public C_DOTA_Item { public: @@ -73498,7 +74471,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Gladiator_Helm : public C_DOTA_Item { public: @@ -73506,7 +74479,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Possessed_Mask : public C_DOTA_Item { public: @@ -73514,7 +74487,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Possessed_Mask : public C_DOTA_Item { public: @@ -73522,7 +74495,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_AssassinsDagger : public C_DOTA_Item { public: @@ -73530,7 +74503,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_AsceticCap : public C_DOTA_Item { public: @@ -73538,7 +74511,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_SamplePicker : public C_DOTA_Item { public: @@ -73546,7 +74519,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_IcarusWings : public C_DOTA_Item { public: @@ -73554,7 +74527,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Dynamite_Jacket : public C_DOTA_Item { public: @@ -73562,7 +74535,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Tree_Processor : public C_DOTA_Item { public: @@ -73570,7 +74543,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Heavy_Blade : public C_DOTA_Item { public: @@ -73578,7 +74551,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Mechanical_Arm : public C_DOTA_Item { public: @@ -73586,7 +74559,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Fortitude_Ring : public C_DOTA_Item { public: @@ -73594,7 +74567,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Fortitude_Ring : public C_DOTA_Item { public: @@ -73602,7 +74575,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_PogoStick : public C_DOTA_Item { public: @@ -73610,7 +74583,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Paintball : public C_DOTA_Item { public: @@ -73618,7 +74591,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_UnstableWand : public C_DOTA_Item { public: @@ -73626,7 +74599,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_LightRobes : public C_DOTA_Item { public: @@ -73634,7 +74607,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Force_Field : public C_DOTA_Item { public: @@ -73642,7 +74615,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Misericorde : public C_DOTA_Item { public: @@ -73650,7 +74623,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Ancient_Perseverance : public C_DOTA_Item { public: @@ -73658,7 +74631,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Ancient_Perseverance : public C_DOTA_Item { public: @@ -73666,7 +74639,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Oakheart : public C_DOTA_Item { public: @@ -73674,7 +74647,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Oakheart : public C_DOTA_Item { public: @@ -73682,7 +74655,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Stormcrafter : public C_DOTA_Item { public: @@ -73690,7 +74663,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Stormcrafter : public C_DOTA_Item { public: @@ -73698,7 +74671,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Overflowing_Elixir : public C_DOTA_Item { public: @@ -73706,16 +74679,16 @@ public: }; // Alignment: 2 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_Overflowing_Elixir : public C_DOTA_Item { public: - int32_t m_iStoredRuneType; // 0x630 - GameTime_t m_fStoredRuneTime; // 0x634 + int32_t m_iStoredRuneType; // 0x648 + GameTime_t m_fStoredRuneTime; // 0x64c }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Mysterious_Hat : public C_DOTA_Item { public: @@ -73723,7 +74696,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Mysterious_Hat : public C_DOTA_Item { public: @@ -73731,7 +74704,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Orb_of_Pestilence : public C_DOTA_Item { public: @@ -73739,7 +74712,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Orb_of_Pestilence : public C_DOTA_Item { public: @@ -73747,7 +74720,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Fluffy_Hat : public C_DOTA_Item { public: @@ -73755,7 +74728,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Fluffy_Hat : public C_DOTA_Item { public: @@ -73763,7 +74736,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Falcon_Blade : public C_DOTA_Item { public: @@ -73771,7 +74744,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Falcon_Blade : public C_DOTA_Item { public: @@ -73779,7 +74752,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Mage_Slayer : public C_DOTA_Item { public: @@ -73787,7 +74760,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Mage_Slayer : public C_DOTA_Item { public: @@ -73795,7 +74768,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Overwhelming_Blink : public C_DOTA_Item { public: @@ -73803,7 +74776,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Overwhelming_Blink : public C_DOTA_Item { public: @@ -73811,7 +74784,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_SuperOverwhelming_Blink : public C_DOTA_Item_Overwhelming_Blink { public: @@ -73819,7 +74792,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Swift_Blink : public C_DOTA_Item { public: @@ -73827,7 +74800,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Swift_Blink : public C_DOTA_Item { public: @@ -73835,7 +74808,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_SuperSwift_Blink : public C_DOTA_Item_Swift_Blink { public: @@ -73843,7 +74816,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Arcane_Blink : public C_DOTA_Item { public: @@ -73851,7 +74824,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Arcane_Blink : public C_DOTA_Item { public: @@ -73859,7 +74832,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_SuperArcane_Blink : public C_DOTA_Item_Arcane_Blink { public: @@ -73867,7 +74840,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Wind_Waker : public C_DOTA_Item { public: @@ -73875,7 +74848,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Wind_Waker : public C_DOTA_Item { public: @@ -73883,7 +74856,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Aghanims_Shard : public C_DOTA_Item { public: @@ -73891,7 +74864,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Aghanims_Shard_Roshan : public C_DOTA_Item { public: @@ -73899,7 +74872,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Eternal_Shroud : public C_DOTA_Item { public: @@ -73907,7 +74880,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Eternal_Shroud : public C_DOTA_Item { public: @@ -73915,7 +74888,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Star_Mace : public C_DOTA_Item { public: @@ -73923,7 +74896,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Star_Mace : public C_DOTA_Item { public: @@ -73931,7 +74904,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Penta_Edged_Sword : public C_DOTA_Item { public: @@ -73939,7 +74912,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Penta_Edged_Sword : public C_DOTA_Item { public: @@ -73947,7 +74920,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Gungir : public C_DOTA_Item { public: @@ -73955,7 +74928,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Gungir : public C_DOTA_Item { public: @@ -73963,7 +74936,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Orb_Of_Revelations : public C_DOTA_Item { public: @@ -73971,16 +74944,16 @@ public: }; // Alignment: 2 -// Size: 0x650 +// Size: 0x668 class C_DOTA_Item_Orb_Of_Revelations : public C_DOTA_Item { public: - CountdownTimer m_ViewerTimer; // 0x630 - int32_t m_iProjectile; // 0x648 + CountdownTimer m_ViewerTimer; // 0x648 + int32_t m_iProjectile; // 0x660 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Satchel : public C_DOTA_Item { public: @@ -73988,7 +74961,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Grandmasters_Glaive : public C_DOTA_Item { public: @@ -73996,17 +74969,17 @@ public: }; // Alignment: 1 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_Grandmasters_Glaive : public C_DOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnGrandmastersStatChanged" - int32_t m_iStat; // 0x630 + int32_t m_iStat; // 0x648 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Warhammer : public C_DOTA_Item { public: @@ -74014,7 +74987,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Warhammer : public C_DOTA_Item { public: @@ -74022,7 +74995,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Psychic_Headband : public C_DOTA_Item { public: @@ -74030,7 +75003,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Psychic_Headband : public C_DOTA_Item { public: @@ -74038,7 +75011,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Ceremonial_Robe : public C_DOTA_Item { public: @@ -74046,7 +75019,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Ceremonial_Robe : public C_DOTA_Item { public: @@ -74054,7 +75027,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Book_Of_Shadows : public C_DOTA_Item { public: @@ -74062,7 +75035,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Book_Of_Shadows : public C_DOTA_Item { public: @@ -74070,7 +75043,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Giants_Ring : public C_DOTA_Item { public: @@ -74078,7 +75051,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Giants_Ring : public C_DOTA_Item { public: @@ -74086,7 +75059,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Vengeances_Shadow : public C_DOTA_Item { public: @@ -74094,7 +75067,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Vengeances_Shadow : public C_DOTA_Item { public: @@ -74102,7 +75075,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Bullwhip : public C_DOTA_Item { public: @@ -74110,7 +75083,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Bullwhip : public C_DOTA_Item { public: @@ -74118,7 +75091,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Quicksilver_Amulet : public C_DOTA_Item { public: @@ -74126,7 +75099,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Quicksilver_Amulet : public C_DOTA_Item { public: @@ -74134,7 +75107,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Naginata : public C_DOTA_Item { public: @@ -74142,7 +75115,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Naginata : public C_DOTA_Item { public: @@ -74150,7 +75123,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_SeedsOfSerenity : public C_DOTA_Item { public: @@ -74158,7 +75131,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_LanceOfPursuit : public C_DOTA_Item { public: @@ -74166,7 +75139,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Occult_Bracelet : public C_DOTA_Item { public: @@ -74174,7 +75147,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Tome_of_Omniscience : public C_DOTA_Item { public: @@ -74182,7 +75155,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_OgreSealTotem : public C_DOTA_Item { public: @@ -74190,7 +75163,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_WandOfTheBrine : public C_DOTA_Item { public: @@ -74198,7 +75171,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Slime_Vial : public C_DOTA_Item { public: @@ -74206,7 +75179,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Harpoon : public C_DOTA_Item { public: @@ -74214,7 +75187,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Harpoon : public C_DOTA_Item { public: @@ -74222,7 +75195,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Guardian_Shell : public C_DOTA_Item { public: @@ -74230,23 +75203,23 @@ public: }; // Alignment: 1 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_Arcane_Scout : public C_DOTA_Item { public: - CHandle< C_BaseEntity > m_hScout; // 0x630 + CHandle< C_BaseEntity > m_hScout; // 0x648 }; // Alignment: 1 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_Barricade : public C_DOTA_Item { public: - CHandle< C_BaseEntity > m_hScout; // 0x630 + CHandle< C_BaseEntity > m_hScout; // 0x648 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_EyeOfTheVizier : public C_DOTA_Item { public: @@ -74254,7 +75227,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_ManaclesOfPower : public C_DOTA_Item { public: @@ -74262,19 +75235,19 @@ public: }; // Alignment: 3 -// Size: 0x640 +// Size: 0x658 class C_DOTA_Item_Bottomless_Chalice : public C_DOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnChaliceStoredRuneChanged" - int32_t m_iStoredRuneType; // 0x630 - GameTime_t m_fStoredRuneTime; // 0x634 - float stored_rune_duration; // 0x638 + int32_t m_iStoredRuneType; // 0x648 + GameTime_t m_fStoredRuneTime; // 0x64c + float stored_rune_duration; // 0x650 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_WandOfSanctitude : public C_DOTA_Item { public: @@ -74282,7 +75255,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_SpecialistsArray : public C_DOTA_Item { public: @@ -74290,7 +75263,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_DaggerOfRistul : public C_DOTA_Item { public: @@ -74298,7 +75271,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Recipe_Lunar_Crest : public C_DOTA_Item { public: @@ -74306,7 +75279,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Lunar_Crest : public C_DOTA_Item { public: @@ -74314,7 +75287,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Magus_Minimus : public C_DOTA_Item { public: @@ -74322,7 +75295,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Magus_Minimus : public C_DOTA_Item { public: @@ -74330,7 +75303,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Recipe_Witches_Switch : public C_DOTA_Item { public: @@ -74338,7 +75311,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_Witches_Switch : public C_DOTA_Item { public: @@ -74346,7 +75319,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Spark_Of_Courage : public C_DOTA_Item { public: @@ -74354,7 +75327,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_VindicatorsAxe : public C_DOTA_Item { public: @@ -74362,7 +75335,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_DandelionAmulet : public C_DOTA_Item { public: @@ -74370,7 +75343,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_BlightedSpirit : public C_DOTA_Item { public: @@ -74378,7 +75351,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_DuelistGloves : public C_DOTA_Item { public: @@ -74386,7 +75359,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_HorizonsEquilibrium : public C_DOTA_Item { public: @@ -74394,15 +75367,15 @@ public: }; // Alignment: 1 -// Size: 0x638 +// Size: 0x650 class C_DOTA_Item_TurtleShell : public C_DOTA_Item { public: - float duration; // 0x630 + float duration; // 0x648 }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class C_DOTA_Item_MartyrsPlate : public C_DOTA_Item { public: @@ -74410,7 +75383,7 @@ public: }; // Alignment: 0 -// Size: 0x630 +// Size: 0x648 class CDOTA_Item_Gossamer_Cape : public C_DOTA_Item { public: @@ -74418,7 +75391,7 @@ public: }; // Alignment: 0 -// Size: 0xa60 +// Size: 0xa80 class C_EnvDeferredLight : public C_ModelPointEntity { public: @@ -74426,7 +75399,7 @@ public: }; // Alignment: 0 -// Size: 0xa60 +// Size: 0xa80 class C_EnvDeferredLightClientOnly : public C_EnvDeferredLight { public: @@ -74434,254 +75407,258 @@ public: }; // Alignment: 0 -// Size: 0xa60 +// Size: 0xa80 class C_EnvDeferredSpotLightClientOnly : public C_EnvDeferredLight { public: // No members available }; -// Alignment: 95 -// Size: 0xd58 +// Alignment: 96 +// Size: 0xd88 class C_DOTAPlayerController : public CBasePlayerController { private: - [[maybe_unused]] uint8_t __pad0688[0xa0]; // 0x688 + [[maybe_unused]] uint8_t __pad06b0[0xa0]; // 0x6b0 public: - int32_t m_iMinimapMove; // 0x728 + int32_t m_iMinimapMove; // 0x750 private: - [[maybe_unused]] uint8_t __pad072c[0x4]; // 0x72c + [[maybe_unused]] uint8_t __pad0754[0x4]; // 0x754 public: - KeyValues* m_pClickBehaviorKeys; // 0x730 - GameTime_t m_flCenterTime; // 0x738 - int32_t m_iConfirmationIndex; // 0x73c - bool m_bCenterOnHero; // 0x740 - bool m_bHeroAssigned; // 0x741 + KeyValues* m_pClickBehaviorKeys; // 0x758 + GameTime_t m_flCenterTime; // 0x760 + int32_t m_iConfirmationIndex; // 0x764 + bool m_bCenterOnHero; // 0x768 + bool m_bHeroAssigned; // 0x769 private: - [[maybe_unused]] uint8_t __pad0742[0x2]; // 0x742 + [[maybe_unused]] uint8_t __pad076a[0x2]; // 0x76a public: - int32_t m_nKeyBindHeroID; // 0x744 + int32_t m_nKeyBindHeroID; // 0x76c // MNetworkEnable - bool m_bUsingCameraMan; // 0x748 + bool m_bUsingCameraMan; // 0x770 // MNetworkEnable - bool m_bUsingAssistedCameraOperator; // 0x749 + bool m_bUsingAssistedCameraOperator; // 0x771 private: - [[maybe_unused]] uint8_t __pad074a[0x2]; // 0x74a + [[maybe_unused]] uint8_t __pad0772[0x2]; // 0x772 public: // MNetworkEnable - int32_t m_nPlayerAssistFlags; // 0x74c - Vector m_vLatestEvent; // 0x750 + int32_t m_nPlayerAssistFlags; // 0x774 + Vector m_vLatestEvent; // 0x778 private: - [[maybe_unused]] uint8_t __pad075c[0x24]; // 0x75c + [[maybe_unused]] uint8_t __pad0784[0x24]; // 0x784 public: - CHandle< C_DOTABaseAbility > m_hFreeDrawAbility; // 0x780 - Vector m_vLastFreeDrawPosition; // 0x784 + CHandle< C_DOTABaseAbility > m_hFreeDrawAbility; // 0x7a8 + Vector m_vLastFreeDrawPosition; // 0x7ac // MNetworkEnable // MNetworkChangeCallback "OnPlayerIDChanged" - PlayerID_t m_nPlayerID; // 0x790 + PlayerID_t m_nPlayerID; // 0x7b8 // MNetworkEnable - CHandle< C_BaseEntity > m_hAssignedHero; // 0x794 - CHandle< C_BaseEntity > m_hLastAssignedHero; // 0x798 + CHandle< C_BaseEntity > m_hAssignedHero; // 0x7bc + CHandle< C_BaseEntity > m_hLastAssignedHero; // 0x7c0 // MNetworkEnable - CHandle< C_BaseEntity > m_hKillCamUnit; // 0x79c - CHandle< C_BaseEntity > m_hPreviousKillCamUnit; // 0x7a0 - float m_flKillCamUnitReceivedTime; // 0x7a4 + CHandle< C_BaseEntity > m_hKillCamUnit; // 0x7c4 + CHandle< C_BaseEntity > m_hPreviousKillCamUnit; // 0x7c8 + float m_flKillCamUnitReceivedTime; // 0x7cc private: - [[maybe_unused]] uint8_t __pad07a8[0x8]; // 0x7a8 + [[maybe_unused]] uint8_t __pad07d0[0x8]; // 0x7d0 public: - int32_t m_nRareLineClickCount; // 0x7b0 - int32_t m_nRareLinesPlayed; // 0x7b4 - int32_t m_nRareLineGroup; // 0x7b8 - float m_flLastRareLinePlayTime; // 0x7bc - float m_flNextUnitOrdersTime; // 0x7c0 - bool m_bTeleportRequiresHalt; // 0x7c4 - bool m_bChannelRequiresHalt; // 0x7c5 - bool m_bAutoPurchaseItems; // 0x7c6 - bool m_bDisableHUDErrorMessages; // 0x7c7 - int32_t m_iMouseDragStartX; // 0x7c8 - int32_t m_iMouseDragStartY; // 0x7cc - int32_t m_nWeatherType; // 0x7d0 - bool m_bDynamicWeatherSystemActive; // 0x7d4 - bool m_bDynamicSoundHandled; // 0x7d5 + int32_t m_nRareLineClickCount; // 0x7d8 + int32_t m_nRareLinesPlayed; // 0x7dc + int32_t m_nRareLineGroup; // 0x7e0 + float m_flLastRareLinePlayTime; // 0x7e4 + float m_flLastUnitOrdersSendTime; // 0x7e8 + bool m_bTeleportRequiresHalt; // 0x7ec + bool m_bChannelRequiresHalt; // 0x7ed + bool m_bAutoPurchaseItems; // 0x7ee + bool m_bDisableHUDErrorMessages; // 0x7ef + int32_t m_iMouseDragStartX; // 0x7f0 + int32_t m_iMouseDragStartY; // 0x7f4 + int32_t m_nWeatherType; // 0x7f8 + bool m_bDynamicWeatherSystemActive; // 0x7fc + bool m_bDynamicSoundHandled; // 0x7fd private: - [[maybe_unused]] uint8_t __pad07d6[0x2]; // 0x7d6 + [[maybe_unused]] uint8_t __pad07fe[0x2]; // 0x7fe public: - GameTime_t m_flDynamicWeatherNextSwitchTime; // 0x7d8 - GameTime_t m_flDynamicWeatherScaleFinishedTime; // 0x7dc - float m_flDynamicWeatherIntensity; // 0x7e0 - ParticleIndex_t m_nXPRangeFXIndex; // 0x7e4 - ParticleIndex_t m_nVisionRangeFXIndex; // 0x7e8 - int32_t m_nSelectedControlGroup; // 0x7ec + GameTime_t m_flDynamicWeatherNextSwitchTime; // 0x800 + GameTime_t m_flDynamicWeatherScaleFinishedTime; // 0x804 + float m_flDynamicWeatherIntensity; // 0x808 + ParticleIndex_t m_nXPRangeFXIndex; // 0x80c + ParticleIndex_t m_nVisionRangeFXIndex; // 0x810 + int32_t m_nSelectedControlGroup; // 0x814 // MNetworkEnable - int32_t m_nCachedCoachedTeam; // 0x7f0 - CHandle< C_DOTABaseAbility > m_hActiveAbility; // 0x7f4 - CUtlVector< CUnitOrders > m_unitorders; // 0x7f8 - int32_t m_nOutgoingOrderSequenceNumber; // 0x810 + int32_t m_nCachedCoachedTeam; // 0x818 + CHandle< C_DOTABaseAbility > m_hActiveAbility; // 0x81c + CUtlVector< CUnitOrders > m_unitorders; // 0x820 + int32_t m_nOutgoingOrderSequenceNumber; // 0x838 // MNetworkEnable - int32_t m_nServerOrderSequenceNumber; // 0x814 - CUtlVector< CEntityIndex > m_nSelectedUnits; // 0x818 - CUtlVector< ParticleIndex_t > m_nWaypoints; // 0x830 - int32_t m_iActions; // 0x848 - CHandle< C_DOTA_BaseNPC > m_hQueryUnit; // 0x84c - bool m_bInQuery; // 0x850 - bool m_bSelectionChangedInDataUpdate; // 0x851 + int32_t m_nServerOrderSequenceNumber; // 0x83c + int32_t m_nLastSentOutgoingOrderSequenceNumber; // 0x840 private: - [[maybe_unused]] uint8_t __pad0852[0x66]; // 0x852 + [[maybe_unused]] uint8_t __pad0844[0x4]; // 0x844 public: - GameTime_t m_flQueryInhibitingActionTime; // 0x8b8 - float m_flQueryInhibitDuration; // 0x8bc - CUtlVector< CHandle< C_BaseEntity > > m_RingedEntities; // 0x8c0 - CUtlVector< CHandle< C_BaseEntity > > m_ActiveRingOwners; // 0x8d8 - bool m_bOverridingQuery; // 0x8f0 + CUtlVector< CEntityIndex > m_nSelectedUnits; // 0x848 + CUtlVector< ParticleIndex_t > m_nWaypoints; // 0x860 + int32_t m_iActions; // 0x878 + CHandle< C_DOTA_BaseNPC > m_hQueryUnit; // 0x87c + bool m_bInQuery; // 0x880 + bool m_bSelectionChangedInDataUpdate; // 0x881 private: - [[maybe_unused]] uint8_t __pad08f1[0x7]; // 0x8f1 + [[maybe_unused]] uint8_t __pad0882[0x66]; // 0x882 public: - float m_flLastAutoRepeatTime; // 0x8f8 - float m_flConsumeDoubleclickTime; // 0x8fc - CUtlString m_LightInfoWeatherEffect; // 0x900 - bool m_bPreviousWasLightInfoWeather; // 0x908 + GameTime_t m_flQueryInhibitingActionTime; // 0x8e8 + float m_flQueryInhibitDuration; // 0x8ec + CUtlVector< CHandle< C_BaseEntity > > m_RingedEntities; // 0x8f0 + CUtlVector< CHandle< C_BaseEntity > > m_ActiveRingOwners; // 0x908 + bool m_bOverridingQuery; // 0x920 private: - [[maybe_unused]] uint8_t __pad0909[0x7]; // 0x909 + [[maybe_unused]] uint8_t __pad0921[0x7]; // 0x921 public: - CUtlString m_MapDefaultWeatherEffect; // 0x910 - bool m_bMapUsesDynamicWeather; // 0x918 + float m_flLastAutoRepeatTime; // 0x928 + float m_flConsumeDoubleclickTime; // 0x92c + CUtlString m_LightInfoWeatherEffect; // 0x930 + bool m_bPreviousWasLightInfoWeather; // 0x938 private: - [[maybe_unused]] uint8_t __pad0919[0x3f]; // 0x919 + [[maybe_unused]] uint8_t __pad0939[0x7]; // 0x939 public: - CUtlVector< ParticleIndex_t > m_vecSuggestedWardLocationEffects; // 0x958 - C_DOTA_BaseNPC* m_pSmartCastNPC; // 0x970 - ParticleIndex_t m_nTeamSprayParticleIndex; // 0x978 - bool m_bIsNextCastOrderFromMouseClick; // 0x97c + CUtlString m_MapDefaultWeatherEffect; // 0x940 + bool m_bMapUsesDynamicWeather; // 0x948 private: - [[maybe_unused]] uint8_t __pad097d[0x33]; // 0x97d + [[maybe_unused]] uint8_t __pad0949[0x3f]; // 0x949 +public: + CUtlVector< ParticleIndex_t > m_vecSuggestedWardLocationEffects; // 0x988 + C_DOTA_BaseNPC* m_pSmartCastNPC; // 0x9a0 + ParticleIndex_t m_nTeamSprayParticleIndex; // 0x9a8 + bool m_bIsNextCastOrderFromMouseClick; // 0x9ac +private: + [[maybe_unused]] uint8_t __pad09ad[0x33]; // 0x9ad public: // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" // MNetworkPriority "32" - int32_t m_iCursor[2]; // 0x9b0 + int32_t m_iCursor[2]; // 0x9e0 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - int32_t m_iSpectatorClickBehavior; // 0x9b8 + int32_t m_iSpectatorClickBehavior; // 0x9e8 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - float m_flAspectRatio; // 0x9bc + float m_flAspectRatio; // 0x9ec // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - CHandle< C_BaseEntity > m_hSpectatorQueryUnit; // 0x9c0 + CHandle< C_BaseEntity > m_hSpectatorQueryUnit; // 0x9f0 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - int32_t m_iStatsPanel; // 0x9c4 + int32_t m_iStatsPanel; // 0x9f4 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - int32_t m_iShopPanel; // 0x9c8 + int32_t m_iShopPanel; // 0x9f8 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - ShopItemViewMode_t m_iShopViewMode; // 0x9cc + ShopItemViewMode_t m_iShopViewMode; // 0x9fc // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - int32_t m_iStatsDropdownCategory; // 0x9d0 + int32_t m_iStatsDropdownCategory; // 0xa00 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - int32_t m_iStatsDropdownSort; // 0x9d4 + int32_t m_iStatsDropdownSort; // 0xa04 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - char m_szShopString[64]; // 0x9d8 + char m_szShopString[64]; // 0xa08 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - C_UtlVectorEmbeddedNetworkVar< ClientQuickBuyItemState > m_vecClientQuickBuyState; // 0xa18 + C_UtlVectorEmbeddedNetworkVar< ClientQuickBuyItemState > m_vecClientQuickBuyState; // 0xa48 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - bool m_bInShowCaseMode; // 0xa68 + bool m_bInShowCaseMode; // 0xa98 private: - [[maybe_unused]] uint8_t __pad0a69[0x3]; // 0xa69 + [[maybe_unused]] uint8_t __pad0a99[0x3]; // 0xa99 public: // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - float m_flCameraZoomAmount; // 0xa6c + float m_flCameraZoomAmount; // 0xa9c // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - int32_t m_iHighPriorityScore; // 0xa70 + int32_t m_iHighPriorityScore; // 0xaa0 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - AbilityID_t m_quickBuyItems[9]; // 0xa74 + AbilityID_t m_quickBuyItems[9]; // 0xaa4 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - bool m_quickBuyIsPurchasable[9]; // 0xa98 + bool m_quickBuyIsPurchasable[9]; // 0xac8 private: - [[maybe_unused]] uint8_t __pad0aa1[0x3]; // 0xaa1 + [[maybe_unused]] uint8_t __pad0ad1[0x3]; // 0xad1 public: // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - float m_flFrameTime; // 0xaa4 + float m_flFrameTime; // 0xad4 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - float m_flFrameTimeStdDev; // 0xaa8 + float m_flFrameTimeStdDev; // 0xad8 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - float m_flUnfilteredFrameTime; // 0xaac - CUtlVector< NeutralCampStackPullAlarm_t > m_NeutralCampAlarms; // 0xab0 - int32_t m_iPrevCursor[2]; // 0xac8 + float m_flUnfilteredFrameTime; // 0xadc + CUtlVector< NeutralCampStackPullAlarm_t > m_NeutralCampAlarms; // 0xae0 + int32_t m_iPrevCursor[2]; // 0xaf8 private: - [[maybe_unused]] uint8_t __pad0ad0[0xa0]; // 0xad0 + [[maybe_unused]] uint8_t __pad0b00[0xa0]; // 0xb00 public: - int32_t m_iPositionHistoryTail; // 0xb70 + int32_t m_iPositionHistoryTail; // 0xba0 // MNetworkEnable - int32_t m_iMusicStatus; // 0xb74 - int32_t m_iPreviousMusicStatus; // 0xb78 - bool m_bRequestedInventory; // 0xb7c + int32_t m_iMusicStatus; // 0xba4 + int32_t m_iPreviousMusicStatus; // 0xba8 + bool m_bRequestedInventory; // 0xbac private: - [[maybe_unused]] uint8_t __pad0b7d[0x3]; // 0xb7d + [[maybe_unused]] uint8_t __pad0bad[0x3]; // 0xbad public: // MNetworkEnable - float m_flMusicOperatorVals[3]; // 0xb80 + float m_flMusicOperatorVals[3]; // 0xbb0 // MNetworkEnable - int32_t m_iMusicOperatorVals[4]; // 0xb8c + int32_t m_iMusicOperatorVals[4]; // 0xbbc private: - [[maybe_unused]] uint8_t __pad0b9c[0x4]; // 0xb9c + [[maybe_unused]] uint8_t __pad0bcc[0x4]; // 0xbcc public: - CUtlVector< sControlGroupElem > m_ControlGroups[10]; // 0xba0 - KeyValues* m_pkvControlGroupKV; // 0xc90 + CUtlVector< sControlGroupElem > m_ControlGroups[10]; // 0xbd0 + KeyValues* m_pkvControlGroupKV; // 0xcc0 private: - [[maybe_unused]] uint8_t __pad0c98[0x58]; // 0xc98 + [[maybe_unused]] uint8_t __pad0cc8[0x58]; // 0xcc8 public: - float m_flAltHeldStartTime; // 0xcf0 + float m_flAltHeldStartTime; // 0xd20 }; // Alignment: 1 -// Size: 0x530 +// Size: 0x540 class C_InfoPlayerStartDota : public C_PointEntity { public: // MNetworkEnable - bool m_bDisabled; // 0x528 + bool m_bDisabled; // 0x538 }; // Alignment: 1 -// Size: 0x530 +// Size: 0x540 class C_DOTA_NeutralSpawner : public C_PointEntity { public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_Type; // 0x528 + int32_t m_Type; // 0x538 }; // Alignment: 2 -// Size: 0x538 +// Size: 0x548 class C_DOTA_RoshanSpawner : public C_PointEntity { public: // MNetworkEnable - int32_t m_iKillCount; // 0x528 + int32_t m_iKillCount; // 0x538 // MNetworkEnable - Vector m_vRoshanAltLocation; // 0x52c + Vector m_vRoshanAltLocation; // 0x53c // 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 +// Size: 0x538 class C_DOTA_MinibossSpawner : public C_PointEntity { public: @@ -74689,143 +75666,144 @@ public: }; // Alignment: 2 -// Size: 0x8e8 +// Size: 0x8f8 class C_DOTAAmbientCreatureParticleZone : public C_FuncBrush { public: - char m_szModelName[64]; // 0x7a8 - char m_szAreaName[256]; // 0x7e8 + char m_szModelName[64]; // 0x7b8 + char m_szAreaName[256]; // 0x7f8 }; // Alignment: 14 -// Size: 0x7f0 +// Size: 0x800 class C_DOTAWorldParticleSystem : public C_BaseModelEntity { public: - int32_t m_nType; // 0x7a8 - ParticleIndex_t m_iClientEffectIndex; // 0x7ac - CUtlSymbolLarge m_szEffectName; // 0x7b0 - CUtlSymbolLarge m_szTargetName; // 0x7b8 - CUtlSymbolLarge m_szControlPoint; // 0x7c0 - HSequence m_hOverrideSequence; // 0x7c8 + int32_t m_nType; // 0x7b8 + ParticleIndex_t m_iClientEffectIndex; // 0x7bc + CUtlSymbolLarge m_szEffectName; // 0x7c0 + CUtlSymbolLarge m_szTargetName; // 0x7c8 + CUtlSymbolLarge m_szControlPoint; // 0x7d0 + HSequence m_hOverrideSequence; // 0x7d8 private: - [[maybe_unused]] uint8_t __pad07cc[0x4]; // 0x7cc + [[maybe_unused]] uint8_t __pad07dc[0x4]; // 0x7dc public: - CStrongHandle< InfoForResourceTypeCModel > m_hOverrideModel; // 0x7d0 - Vector m_vModelScale; // 0x7d8 - int32_t m_nSkinOverride; // 0x7e4 - bool m_bDayTime; // 0x7e8 - bool m_bNightTime; // 0x7e9 - bool m_bShowInFow; // 0x7ea - bool m_bShowWhileDynamicWeatherActive; // 0x7eb - bool m_bAnimateDuringGameplayPause; // 0x7ec + CStrongHandle< InfoForResourceTypeCModel > m_hOverrideModel; // 0x7e0 + Vector m_vModelScale; // 0x7e8 + int32_t m_nSkinOverride; // 0x7f4 + bool m_bDayTime; // 0x7f8 + bool m_bNightTime; // 0x7f9 + bool m_bShowInFow; // 0x7fa + bool m_bShowWhileDynamicWeatherActive; // 0x7fb + bool m_bAnimateDuringGameplayPause; // 0x7fc }; // Alignment: 7 -// Size: 0x890 +// Size: 0x8a0 class C_DOTA_Item_Physical : public CBaseAnimatingActivity { public: // MNetworkEnable - CHandle< C_DOTA_Item > m_hItem; // 0x7d0 + // MNetworkChangeCallback "OnItemChanged" + CHandle< C_DOTA_Item > m_hItem; // 0x7e0 // MNetworkEnable - bool m_bIsLowPriorityHoverItem; // 0x7d4 + bool m_bIsLowPriorityHoverItem; // 0x7e4 private: - [[maybe_unused]] uint8_t __pad07d5[0x3]; // 0x7d5 + [[maybe_unused]] uint8_t __pad07e5[0x3]; // 0x7e5 public: - CHandle< C_DOTA_Item > m_hOldItem; // 0x7d8 + CHandle< C_DOTA_Item > m_hOldItem; // 0x7e8 private: - [[maybe_unused]] uint8_t __pad07dc[0x4]; // 0x7dc + [[maybe_unused]] uint8_t __pad07ec[0x4]; // 0x7ec public: - char* m_pszParticleName; // 0x7e0 - ParticleIndex_t m_nFXIndex; // 0x7e8 - bool m_bShowingTooltip; // 0x7ec - bool m_bShowingSimpleTooltip; // 0x7ed + char* m_pszParticleName; // 0x7f0 + ParticleIndex_t m_nFXIndex; // 0x7f8 + bool m_bShowingTooltip; // 0x7fc + bool m_bShowingSimpleTooltip; // 0x7fd }; // Alignment: 6 -// Size: 0xa88 +// Size: 0xa98 class C_DOTA_Item_Rune : public CBaseAnimatingActivity { public: // MNetworkEnable - int32_t m_iRuneType; // 0x7d0 + int32_t m_iRuneType; // 0x7e0 // MNetworkEnable - float m_flRuneTime; // 0x7d4 + float m_flRuneTime; // 0x7e4 // MNetworkEnable - int32_t m_nMapLocationTeam; // 0x7d8 + int32_t m_nMapLocationTeam; // 0x7e8 // MNetworkEnable - char m_szLocation[512]; // 0x7dc - int32_t m_iOldRuneType; // 0x9dc - bool m_bShowingTooltip; // 0x9e0 + char m_szLocation[512]; // 0x7ec + int32_t m_iOldRuneType; // 0x9ec + bool m_bShowingTooltip; // 0x9f0 }; // Alignment: 4 -// Size: 0x7e0 +// Size: 0x7f0 class C_DOTA_Item_RuneSpawner_Powerup : public CBaseAnimatingActivity { public: - DOTA_RUNES m_nRuneType; // 0x7d0 + DOTA_RUNES m_nRuneType; // 0x7e0 // MNetworkEnable // MNetworkChangeCallback "OnPowerupLastSpawnTimeChanged" - float m_flLastSpawnTime; // 0x7d4 + float m_flLastSpawnTime; // 0x7e4 // MNetworkEnable - float m_flNextSpawnTime; // 0x7d8 + float m_flNextSpawnTime; // 0x7e8 // MNetworkEnable - bool m_bNextRuneIsWater; // 0x7dc + bool m_bNextRuneIsWater; // 0x7ec }; // Alignment: 3 -// Size: 0x7e0 +// Size: 0x7f0 class C_DOTA_Item_RuneSpawner_Bounty : public CBaseAnimatingActivity { public: - DOTA_RUNES m_nRuneType; // 0x7d0 + DOTA_RUNES m_nRuneType; // 0x7e0 // MNetworkEnable // MNetworkChangeCallback "OnBountyLastSpawnTimeChanged" - float m_flLastSpawnTime; // 0x7d4 + float m_flLastSpawnTime; // 0x7e4 // MNetworkEnable - float m_flNextSpawnTime; // 0x7d8 + float m_flNextSpawnTime; // 0x7e8 }; // Alignment: 3 -// Size: 0x7e0 +// Size: 0x7f0 class C_DOTA_Item_RuneSpawner_XP : public CBaseAnimatingActivity { public: - DOTA_RUNES m_nRuneType; // 0x7d0 + DOTA_RUNES m_nRuneType; // 0x7e0 // MNetworkEnable // MNetworkChangeCallback "OnXPLastSpawnTimeChanged" - float m_flLastSpawnTime; // 0x7d4 + float m_flLastSpawnTime; // 0x7e4 // MNetworkEnable - float m_flNextSpawnTime; // 0x7d8 + float m_flNextSpawnTime; // 0x7e8 }; // Alignment: 3 -// Size: 0x7e0 +// Size: 0x7f0 class C_DOTA_Item_RuneSpawner : public CBaseAnimatingActivity { public: - DOTA_RUNES m_nRuneType; // 0x7d0 + DOTA_RUNES m_nRuneType; // 0x7e0 // MNetworkEnable // MNetworkChangeCallback "OnCustomGameRuneSpawnerLastSpawnTimeChanged" - float m_flLastSpawnTime; // 0x7d4 + float m_flLastSpawnTime; // 0x7e4 // MNetworkEnable - float m_flNextSpawnTime; // 0x7d8 + float m_flNextSpawnTime; // 0x7e8 }; // Alignment: 1 -// Size: 0x8f0 +// Size: 0x900 class C_DOTA_MapTree : public C_DOTA_BinaryObject { private: - [[maybe_unused]] uint8_t __pad07d8[0x30]; // 0x7d8 + [[maybe_unused]] uint8_t __pad07e8[0x30]; // 0x7e8 public: - bool m_bInitialized; // 0x808 + bool m_bInitialized; // 0x818 }; // Alignment: 0 -// Size: 0x7e8 +// Size: 0x7f8 class C_DOTA_PortraitTree : public CBaseAnimatingActivity { public: @@ -74833,52 +75811,52 @@ public: }; // Alignment: 3 -// Size: 0x7e8 +// Size: 0x7f8 class C_DOTA_PortraitBuilding : public CBaseAnimatingActivity { public: - ParticleIndex_t m_nAmbientFXIndex; // 0x7d0 + ParticleIndex_t m_nAmbientFXIndex; // 0x7e0 private: - [[maybe_unused]] uint8_t __pad07d4[0x4]; // 0x7d4 + [[maybe_unused]] uint8_t __pad07e4[0x4]; // 0x7e4 public: - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndex; // 0x7d8 - Color m_ParticleTintColor; // 0x7e0 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndex; // 0x7e8 + Color m_ParticleTintColor; // 0x7f0 }; // Alignment: 11 -// Size: 0x630 +// Size: 0x640 class C_DOTATeam : public C_Team { public: // MNetworkEnable - int32_t m_iHeroKills; // 0x5e0 + int32_t m_iHeroKills; // 0x5f0 // MNetworkEnable - int32_t m_iTowerKills; // 0x5e4 + int32_t m_iTowerKills; // 0x5f4 // MNetworkEnable - int32_t m_iBarracksKills; // 0x5e8 + int32_t m_iBarracksKills; // 0x5f8 // MNetworkEnable - uint32_t m_unTournamentTeamID; // 0x5ec + uint32_t m_unTournamentTeamID; // 0x5fc // MNetworkEnable // MNetworkEncoder - uint64_t m_ulTeamLogo; // 0x5f0 + uint64_t m_ulTeamLogo; // 0x600 // MNetworkEnable // MNetworkEncoder - uint64_t m_ulTeamBaseLogo; // 0x5f8 + uint64_t m_ulTeamBaseLogo; // 0x608 // MNetworkEnable // MNetworkEncoder - uint64_t m_ulTeamBannerLogo; // 0x600 + uint64_t m_ulTeamBannerLogo; // 0x610 // MNetworkEnable - bool m_bTeamComplete; // 0x608 + bool m_bTeamComplete; // 0x618 // MNetworkEnable - bool m_bTeamIsHomeTeam; // 0x609 + bool m_bTeamIsHomeTeam; // 0x619 // MNetworkEnable - Color m_CustomHealthbarColor; // 0x60a + Color m_CustomHealthbarColor; // 0x61a // MNetworkEnable - char m_szTag[33]; // 0x60e + char m_szTag[33]; // 0x61e }; // Alignment: 0 -// Size: 0x7d0 +// Size: 0x7e0 class C_DOTA_PortraitBaseModel : public CBaseAnimatingActivity { public: @@ -74886,41 +75864,46 @@ public: }; // Alignment: 0 -// Size: 0x528 +// Size: 0x538 class C_PointEntityAlias_info_target_portrait_root : public C_PointEntity { public: // No members available }; -// Alignment: 7 -// Size: 0xa80 +// Alignment: 12 +// Size: 0xac0 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 + float m_flLatitude; // 0xa80 + float m_flLongitude; // 0xa84 + float m_flAdditionalRadius; // 0xa88 + float m_flBoundsRadiusMultiplier; // 0xa8c + CHandle< C_PortraitWorldUnit > m_hTarget; // 0xa90 + bool m_bShowGizmos; // 0xa94 private: - [[maybe_unused]] uint8_t __pad0a75[0x3]; // 0xa75 + [[maybe_unused]] uint8_t __pad0a95[0x3]; // 0xa95 public: - CUtlStringToken m_hitboxSetName; // 0xa78 + CUtlStringToken m_hitboxSetName; // 0xa98 + Vector m_vPreviousCenter; // 0xa9c + Vector m_vCenterVelocity; // 0xaa8 + float m_flPreviousBoundingSphereRadius; // 0xab4 + float m_flBoundingSphereRadiusChangeSpeed; // 0xab8 + bool m_bPreviousValuesInitialized; // 0xabc }; // Alignment: 2 -// Size: 0x598 +// Size: 0x5a8 class C_DOTASceneEntity : public C_SceneEntity { public: - int32_t m_nCustomStackIndex; // 0x588 - float m_flVolume; // 0x58c + int32_t m_nCustomStackIndex; // 0x598 + float m_flVolume; // 0x59c }; // Alignment: 0 -// Size: 0x528 +// Size: 0x538 class CInfoOfrendaStatueSpawn : public C_PointEntity { public: @@ -74928,74 +75911,80 @@ public: }; // Alignment: 5 -// Size: 0x540 +// Size: 0x550 class CInfoDynamicShadowHint : public C_PointEntity { public: - bool m_bDisabled; // 0x528 + bool m_bDisabled; // 0x538 private: - [[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529 + [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 public: - float m_flRange; // 0x52c - int32_t m_nImportance; // 0x530 - int32_t m_nLightChoice; // 0x534 - CHandle< C_BaseEntity > m_hLight; // 0x538 + float m_flRange; // 0x53c + int32_t m_nImportance; // 0x540 + int32_t m_nLightChoice; // 0x544 + CHandle< C_BaseEntity > m_hLight; // 0x548 // Static fields: static CUtlVector< CInfoDynamicShadowHint* > &Get_m_AllHints(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CInfoDynamicShadowHint")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 -// Size: 0x558 +// Size: 0x568 class CInfoDynamicShadowHintBox : public CInfoDynamicShadowHint { public: - Vector m_vBoxMins; // 0x540 - Vector m_vBoxMaxs; // 0x54c + Vector m_vBoxMins; // 0x550 + Vector m_vBoxMaxs; // 0x55c }; -// Alignment: 10 -// Size: 0x7f0 +// Alignment: 12 +// Size: 0x818 class C_EnvSky : public C_BaseModelEntity { public: // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x7a8 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x7b8 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - bool m_bStartDisabled; // 0x7b0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterialLightingOnly; // 0x7c0 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - Color m_vTintColor; // 0x7b1 + bool m_bStartDisabled; // 0x7c8 + // MNetworkEnable + // MNetworkChangeCallback "SkyStateChanged" + Color m_vTintColor; // 0x7c9 + // MNetworkEnable + // MNetworkChangeCallback "SkyStateChanged" + Color m_vTintColorLightingOnly; // 0x7cd private: - [[maybe_unused]] uint8_t __pad07b5[0x3]; // 0x7b5 + [[maybe_unused]] uint8_t __pad07d1[0x3]; // 0x7d1 public: // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flBrightnessScale; // 0x7b8 + float m_flBrightnessScale; // 0x7d4 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - int32_t m_nFogType; // 0x7bc + int32_t m_nFogType; // 0x7d8 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMinStart; // 0x7c0 + float m_flFogMinStart; // 0x7dc // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMinEnd; // 0x7c4 + float m_flFogMinEnd; // 0x7e0 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMaxStart; // 0x7c8 + float m_flFogMaxStart; // 0x7e4 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMaxEnd; // 0x7cc + float m_flFogMaxEnd; // 0x7e8 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - bool m_bEnabled; // 0x7d0 + bool m_bEnabled; // 0x7ec }; // Alignment: 0 -// Size: 0x550 +// Size: 0x560 class C_TonemapController2Alias_env_tonemap_controller2 : public C_TonemapController2 { public: @@ -75003,7 +75992,7 @@ public: }; // Alignment: 1 -// Size: 0x7b0 +// Size: 0x7c0 class C_LightEntity : public C_BaseModelEntity { public: @@ -75011,11 +76000,11 @@ public: // MNetworkUserGroup "CLightComponent" // MNetworkAlias "CLightComponent" // MNetworkTypeAlias "CLightComponent" - CLightComponent* m_CLightComponent; // 0x7a8 + CLightComponent* m_CLightComponent; // 0x7b8 }; // Alignment: 0 -// Size: 0x7b0 +// Size: 0x7c0 class C_LightSpotEntity : public C_LightEntity { public: @@ -75023,7 +76012,7 @@ public: }; // Alignment: 0 -// Size: 0x7b0 +// Size: 0x7c0 class C_LightOrthoEntity : public C_LightEntity { public: @@ -75031,7 +76020,7 @@ public: }; // Alignment: 0 -// Size: 0x7b0 +// Size: 0x7c0 class C_LightDirectionalEntity : public C_LightEntity { public: @@ -75039,7 +76028,7 @@ public: }; // Alignment: 0 -// Size: 0x7b0 +// Size: 0x7c0 class C_LightEnvironmentEntity : public C_LightDirectionalEntity { public: @@ -75047,302 +76036,302 @@ public: }; // Alignment: 12 -// Size: 0x7f0 +// Size: 0x800 class C_PostProcessingVolume : public C_BaseTrigger { private: - [[maybe_unused]] uint8_t __pad07b0[0x10]; // 0x7b0 + [[maybe_unused]] uint8_t __pad07c0[0x10]; // 0x7c0 public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostSettings; // 0x7c0 + CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostSettings; // 0x7d0 // MNetworkEnable - float m_flFadeDuration; // 0x7c8 + float m_flFadeDuration; // 0x7d8 // MNetworkEnable - float m_flMinLogExposure; // 0x7cc + float m_flMinLogExposure; // 0x7dc // MNetworkEnable - float m_flMaxLogExposure; // 0x7d0 + float m_flMaxLogExposure; // 0x7e0 // MNetworkEnable - float m_flMinExposure; // 0x7d4 + float m_flMinExposure; // 0x7e4 // MNetworkEnable - float m_flMaxExposure; // 0x7d8 + float m_flMaxExposure; // 0x7e8 // MNetworkEnable - float m_flExposureCompensation; // 0x7dc + float m_flExposureCompensation; // 0x7ec // MNetworkEnable - float m_flExposureFadeSpeedUp; // 0x7e0 + float m_flExposureFadeSpeedUp; // 0x7f0 // MNetworkEnable - float m_flExposureFadeSpeedDown; // 0x7e4 + float m_flExposureFadeSpeedDown; // 0x7f4 // MNetworkEnable - float m_flTonemapEVSmoothingRange; // 0x7e8 + float m_flTonemapEVSmoothingRange; // 0x7f8 // MNetworkEnable - bool m_bMaster; // 0x7ec + bool m_bMaster; // 0x7fc // MNetworkEnable - bool m_bExposureControl; // 0x7ed + bool m_bExposureControl; // 0x7fd }; // Alignment: 10 -// Size: 0x800 +// Size: 0x828 class C_BasePlayerWeapon : public CBaseAnimatingActivity { public: // MNetworkEnable // MNetworkChangeCallback "OnWeaponStateChanged" - WeaponState_t m_iState; // 0x7d0 - WeaponState_t m_iOldState; // 0x7d4 - bool m_bRemoveable; // 0x7d8 + WeaponState_t m_iState; // 0x7e0 + WeaponState_t m_iOldState; // 0x7e4 + bool m_bRemoveable; // 0x7e8 private: - [[maybe_unused]] uint8_t __pad07d9[0x3]; // 0x7d9 + [[maybe_unused]] uint8_t __pad07e9[0x3]; // 0x7e9 public: // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - GameTick_t m_nNextPrimaryAttackTick; // 0x7dc + GameTick_t m_nNextPrimaryAttackTick; // 0x7ec // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - float m_flNextPrimaryAttackTickRatio; // 0x7e0 + float m_flNextPrimaryAttackTickRatio; // 0x7f0 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - GameTick_t m_nNextSecondaryAttackTick; // 0x7e4 + GameTick_t m_nNextSecondaryAttackTick; // 0x7f4 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - float m_flNextSecondaryAttackTickRatio; // 0x7e8 + float m_flNextSecondaryAttackTickRatio; // 0x7f8 // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkPriority "32" - int32_t m_iClip1; // 0x7ec + int32_t m_iClip1; // 0x7fc // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkUserGroup "LocalWeaponExclusive" - int32_t m_iClip2; // 0x7f0 + int32_t m_iClip2; // 0x800 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - int32_t m_pReserveAmmo[2]; // 0x7f4 + int32_t m_pReserveAmmo[2]; // 0x804 }; // Alignment: 5 -// Size: 0xd70 +// Size: 0xd80 class C_EnvParticleGlow : public C_ParticleSystem { public: // MNetworkEnable - float m_flAlphaScale; // 0xd58 + float m_flAlphaScale; // 0xd68 // MNetworkEnable - float m_flRadiusScale; // 0xd5c + float m_flRadiusScale; // 0xd6c // MNetworkEnable - float m_flSelfIllumScale; // 0xd60 + float m_flSelfIllumScale; // 0xd70 // MNetworkEnable - Color m_ColorTint; // 0xd64 + Color m_ColorTint; // 0xd74 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hTextureOverride; // 0xd68 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hTextureOverride; // 0xd78 }; // Alignment: 8 -// Size: 0x7e0 +// Size: 0x7f0 class C_TextureBasedAnimatable : public C_BaseModelEntity { public: // MNetworkEnable - bool m_bLoop; // 0x7a8 + bool m_bLoop; // 0x7b8 private: - [[maybe_unused]] uint8_t __pad07a9[0x3]; // 0x7a9 + [[maybe_unused]] uint8_t __pad07b9[0x3]; // 0x7b9 public: // MNetworkEnable - float m_flFPS; // 0x7ac + float m_flFPS; // 0x7bc // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hPositionKeys; // 0x7b0 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hPositionKeys; // 0x7c0 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hRotationKeys; // 0x7b8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hRotationKeys; // 0x7c8 // MNetworkEnable - Vector m_vAnimationBoundsMin; // 0x7c0 + Vector m_vAnimationBoundsMin; // 0x7d0 // MNetworkEnable - Vector m_vAnimationBoundsMax; // 0x7cc + Vector m_vAnimationBoundsMax; // 0x7dc // MNetworkEnable - float m_flStartTime; // 0x7d8 + float m_flStartTime; // 0x7e8 // MNetworkEnable - float m_flStartFrame; // 0x7dc + float m_flStartFrame; // 0x7ec }; // Alignment: 3 -// Size: 0x7e8 +// Size: 0x7f8 class C_World : public C_BaseModelEntity { public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_skyBoxFaces[6]; // 0x7a8 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_skyBoxFaces[6]; // 0x7b8 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hHeightFogTexture; // 0x7d8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hHeightFogTexture; // 0x7e8 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hHeightFogMaskTexture; // 0x7e0 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hHeightFogMaskTexture; // 0x7f0 }; // Alignment: 15 -// Size: 0x9b0 +// Size: 0xa10 class CBaseAnimGraph : public C_BaseModelEntity { private: - [[maybe_unused]] uint8_t __pad07a8[0x8]; // 0x7a8 + [[maybe_unused]] uint8_t __pad07b8[0x8]; // 0x7b8 public: // MNetworkEnable - bool m_bInitiallyPopulateInterpHistory; // 0x7b0 + bool m_bInitiallyPopulateInterpHistory; // 0x7c0 // MNetworkEnable - bool m_bShouldAnimateDuringGameplayPause; // 0x7b1 + bool m_bShouldAnimateDuringGameplayPause; // 0x7c1 private: - [[maybe_unused]] uint8_t __pad07b2[0x1]; // 0x7b2 + [[maybe_unused]] uint8_t __pad07c2[0x1]; // 0x7c2 public: - bool m_bSuppressAnimEventSounds; // 0x7b3 + bool m_bSuppressAnimEventSounds; // 0x7c3 private: - [[maybe_unused]] uint8_t __pad07b4[0xc]; // 0x7b4 + [[maybe_unused]] uint8_t __pad07c4[0xc]; // 0x7c4 public: // MNetworkEnable - bool m_bAnimGraphUpdateEnabled; // 0x7c0 + bool m_bAnimGraphUpdateEnabled; // 0x7d0 private: - [[maybe_unused]] uint8_t __pad07c1[0x93]; // 0x7c1 + [[maybe_unused]] uint8_t __pad07d1[0x93]; // 0x7d1 public: // MNetworkDisable - float m_flLastEventAnimTime; // 0x854 + float m_flLastEventAnimTime; // 0x864 private: - [[maybe_unused]] uint8_t __pad0858[0x4]; // 0x858 + [[maybe_unused]] uint8_t __pad0868[0x4]; // 0x868 public: // MNetworkDisable - AnimationUpdateListHandle_t m_hAnimationUpdate; // 0x85c - float m_flMaxSlopeDistance; // 0x860 - Vector m_vLastSlopeCheckPos; // 0x864 + AnimationUpdateListHandle_t m_hAnimationUpdate; // 0x86c + float m_flMaxSlopeDistance; // 0x870 + Vector m_vLastSlopeCheckPos; // 0x874 private: - [[maybe_unused]] uint8_t __pad0870[0x4]; // 0x870 + [[maybe_unused]] uint8_t __pad0880[0x4]; // 0x880 public: // MNetworkEnable - Vector m_vecForce; // 0x874 + Vector m_vecForce; // 0x884 // MNetworkEnable - int32_t m_nForceBone; // 0x880 + int32_t m_nForceBone; // 0x890 private: - [[maybe_unused]] uint8_t __pad0884[0x4]; // 0x884 + [[maybe_unused]] uint8_t __pad0894[0x4]; // 0x894 public: - CBaseAnimGraph* m_pClientsideRagdoll; // 0x888 - bool m_bBuiltRagdoll; // 0x890 + CBaseAnimGraph* m_pClientsideRagdoll; // 0x898 + bool m_bBuiltRagdoll; // 0x8a0 private: - [[maybe_unused]] uint8_t __pad0891[0x17]; // 0x891 + [[maybe_unused]] uint8_t __pad08a1[0x17]; // 0x8a1 public: // MNetworkEnable - PhysicsRagdollPose_t* m_pRagdollPose; // 0x8a8 + PhysicsRagdollPose_t* m_pRagdollPose; // 0x8b8 // MNetworkEnable // MNetworkChangeCallback "OnClientRagdollChanged" - bool m_bClientRagdoll; // 0x8b0 - bool m_bHasAnimatedMaterialAttributes; // 0x8b1 + bool m_bClientRagdoll; // 0x8c0 + bool m_bHasAnimatedMaterialAttributes; // 0x8c1 }; // Alignment: 4 -// Size: 0x810 +// Size: 0x820 class CBaseProp : public CBaseAnimatingActivity { public: - bool m_bModelOverrodeBlockLOS; // 0x7d0 + bool m_bModelOverrodeBlockLOS; // 0x7e0 private: - [[maybe_unused]] uint8_t __pad07d1[0x3]; // 0x7d1 + [[maybe_unused]] uint8_t __pad07e1[0x3]; // 0x7e1 public: - int32_t m_iShapeType; // 0x7d4 - bool m_bConformToCollisionBounds; // 0x7d8 + int32_t m_iShapeType; // 0x7e4 + bool m_bConformToCollisionBounds; // 0x7e8 private: - [[maybe_unused]] uint8_t __pad07d9[0x3]; // 0x7d9 + [[maybe_unused]] uint8_t __pad07e9[0x3]; // 0x7e9 public: - matrix3x4_t m_mPreferredCatchTransform; // 0x7dc + matrix3x4_t m_mPreferredCatchTransform; // 0x7ec }; // Alignment: 30 -// Size: 0x920 +// Size: 0x930 class C_BreakableProp : public CBaseProp { private: - [[maybe_unused]] uint8_t __pad0810[0x8]; // 0x810 + [[maybe_unused]] uint8_t __pad0820[0x8]; // 0x820 public: - CEntityIOOutput m_OnBreak; // 0x818 - CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0x840 - CEntityIOOutput m_OnTakeDamage; // 0x868 - float m_impactEnergyScale; // 0x890 - int32_t m_iMinHealthDmg; // 0x894 - float m_flPressureDelay; // 0x898 - CHandle< C_BaseEntity > m_hBreaker; // 0x89c - PerformanceMode_t m_PerformanceMode; // 0x8a0 - float m_flDmgModBullet; // 0x8a4 - float m_flDmgModClub; // 0x8a8 - float m_flDmgModExplosive; // 0x8ac - float m_flDmgModFire; // 0x8b0 + CEntityIOOutput m_OnBreak; // 0x828 + CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0x850 + CEntityIOOutput m_OnTakeDamage; // 0x878 + float m_impactEnergyScale; // 0x8a0 + int32_t m_iMinHealthDmg; // 0x8a4 + float m_flPressureDelay; // 0x8a8 + CHandle< C_BaseEntity > m_hBreaker; // 0x8ac + PerformanceMode_t m_PerformanceMode; // 0x8b0 + float m_flDmgModBullet; // 0x8b4 + float m_flDmgModClub; // 0x8b8 + float m_flDmgModExplosive; // 0x8bc + float m_flDmgModFire; // 0x8c0 private: - [[maybe_unused]] uint8_t __pad08b4[0x4]; // 0x8b4 + [[maybe_unused]] uint8_t __pad08c4[0x4]; // 0x8c4 public: - CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0x8b8 - CUtlSymbolLarge m_iszBasePropData; // 0x8c0 - int32_t m_iInteractions; // 0x8c8 - GameTime_t m_flPreventDamageBeforeTime; // 0x8cc - bool m_bHasBreakPiecesOrCommands; // 0x8d0 + CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0x8c8 + CUtlSymbolLarge m_iszBasePropData; // 0x8d0 + int32_t m_iInteractions; // 0x8d8 + GameTime_t m_flPreventDamageBeforeTime; // 0x8dc + bool m_bHasBreakPiecesOrCommands; // 0x8e0 private: - [[maybe_unused]] uint8_t __pad08d1[0x3]; // 0x8d1 + [[maybe_unused]] uint8_t __pad08e1[0x3]; // 0x8e1 public: - float m_explodeDamage; // 0x8d4 - float m_explodeRadius; // 0x8d8 + float m_explodeDamage; // 0x8e4 + float m_explodeRadius; // 0x8e8 private: - [[maybe_unused]] uint8_t __pad08dc[0x4]; // 0x8dc + [[maybe_unused]] uint8_t __pad08ec[0x4]; // 0x8ec public: - float m_explosionDelay; // 0x8e0 + float m_explosionDelay; // 0x8f0 private: - [[maybe_unused]] uint8_t __pad08e4[0x4]; // 0x8e4 + [[maybe_unused]] uint8_t __pad08f4[0x4]; // 0x8f4 public: - CUtlSymbolLarge m_explosionBuildupSound; // 0x8e8 - CUtlSymbolLarge m_explosionCustomEffect; // 0x8f0 - CUtlSymbolLarge m_explosionCustomSound; // 0x8f8 - CUtlSymbolLarge m_explosionModifier; // 0x900 - CHandle< C_BasePlayerPawn > m_hPhysicsAttacker; // 0x908 - GameTime_t m_flLastPhysicsInfluenceTime; // 0x90c - float m_flDefaultFadeScale; // 0x910 - CHandle< C_BaseEntity > m_hLastAttacker; // 0x914 - CHandle< C_BaseEntity > m_hFlareEnt; // 0x918 + CUtlSymbolLarge m_explosionBuildupSound; // 0x8f8 + CUtlSymbolLarge m_explosionCustomEffect; // 0x900 + CUtlSymbolLarge m_explosionCustomSound; // 0x908 + CUtlSymbolLarge m_explosionModifier; // 0x910 + CHandle< C_BasePlayerPawn > m_hPhysicsAttacker; // 0x918 + GameTime_t m_flLastPhysicsInfluenceTime; // 0x91c + float m_flDefaultFadeScale; // 0x920 + CHandle< C_BaseEntity > m_hLastAttacker; // 0x924 + CHandle< C_BaseEntity > m_hFlareEnt; // 0x928 // MNetworkEnable - bool m_noGhostCollision; // 0x91c + bool m_noGhostCollision; // 0x92c }; // Alignment: 29 -// Size: 0xa48 +// Size: 0xa58 class C_DynamicProp : public C_BreakableProp { public: - bool m_bRandomAnimator; // 0x920 + bool m_bRandomAnimator; // 0x930 private: - [[maybe_unused]] uint8_t __pad0921[0x3]; // 0x921 + [[maybe_unused]] uint8_t __pad0931[0x3]; // 0x931 public: - GameTime_t m_flNextRandAnim; // 0x924 - float m_flMinRandAnimDuration; // 0x928 - float m_flMaxRandAnimDuration; // 0x92c + GameTime_t m_flNextRandAnim; // 0x934 + float m_flMinRandAnimDuration; // 0x938 + float m_flMaxRandAnimDuration; // 0x93c // MNetworkEnable - bool m_bUseHitboxesForRenderBox; // 0x930 + bool m_bUseHitboxesForRenderBox; // 0x940 // MNetworkEnable - bool m_bUseAnimGraph; // 0x931 + bool m_bUseAnimGraph; // 0x941 private: - [[maybe_unused]] uint8_t __pad0932[0x6]; // 0x932 + [[maybe_unused]] uint8_t __pad0942[0x6]; // 0x942 public: - CEntityIOOutput m_pOutputAnimBegun; // 0x938 - CEntityIOOutput m_pOutputAnimOver; // 0x960 - CEntityIOOutput m_pOutputAnimLoopCycleOver; // 0x988 - CEntityIOOutput m_OnAnimReachedStart; // 0x9b0 - CEntityIOOutput m_OnAnimReachedEnd; // 0x9d8 - CUtlSymbolLarge m_iszDefaultAnim; // 0xa00 - AnimLoopMode_t m_nDefaultAnimLoopMode; // 0xa08 - 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 + CEntityIOOutput m_pOutputAnimBegun; // 0x948 + CEntityIOOutput m_pOutputAnimOver; // 0x970 + CEntityIOOutput m_pOutputAnimLoopCycleOver; // 0x998 + CEntityIOOutput m_OnAnimReachedStart; // 0x9c0 + CEntityIOOutput m_OnAnimReachedEnd; // 0x9e8 + CUtlSymbolLarge m_iszDefaultAnim; // 0xa10 + AnimLoopMode_t m_nDefaultAnimLoopMode; // 0xa18 + bool m_bAnimateOnServer; // 0xa1c + bool m_bRandomizeCycle; // 0xa1d + bool m_bStartDisabled; // 0xa1e + bool m_bScriptedMovement; // 0xa1f + bool m_bFiredStartEndOutput; // 0xa20 + bool m_bForceNpcExclude; // 0xa21 + bool m_bCreateNonSolid; // 0xa22 + bool m_bIsOverrideProp; // 0xa23 + int32_t m_iInitialGlowState; // 0xa24 + int32_t m_nGlowRange; // 0xa28 + int32_t m_nGlowRangeMin; // 0xa2c + Color m_glowColor; // 0xa30 + int32_t m_nGlowTeam; // 0xa34 + int32_t m_iCachedFrameCount; // 0xa38 + Vector m_vecCachedRenderMins; // 0xa3c + Vector m_vecCachedRenderMaxs; // 0xa48 }; // Alignment: 0 -// Size: 0xa48 +// Size: 0xa58 class C_DynamicPropAlias_dynamic_prop : public C_DynamicProp { public: @@ -75350,7 +76339,7 @@ public: }; // Alignment: 0 -// Size: 0xa48 +// Size: 0xa58 class C_DynamicPropAlias_prop_dynamic_override : public C_DynamicProp { public: @@ -75358,7 +76347,7 @@ public: }; // Alignment: 0 -// Size: 0xa48 +// Size: 0xa58 class C_DynamicPropAlias_cable_dynamic : public C_DynamicProp { public: @@ -75366,31 +76355,31 @@ public: }; // Alignment: 9 -// Size: 0x9d8 +// Size: 0x9e8 class C_ColorCorrectionVolume : public C_BaseTrigger { public: - float m_LastEnterWeight; // 0x7b0 - float m_LastEnterTime; // 0x7b4 - float m_LastExitWeight; // 0x7b8 - float m_LastExitTime; // 0x7bc + float m_LastEnterWeight; // 0x7c0 + float m_LastEnterTime; // 0x7c4 + float m_LastExitWeight; // 0x7c8 + float m_LastExitTime; // 0x7cc // MNetworkEnable - bool m_bEnabled; // 0x7c0 + bool m_bEnabled; // 0x7d0 private: - [[maybe_unused]] uint8_t __pad07c1[0x3]; // 0x7c1 + [[maybe_unused]] uint8_t __pad07d1[0x3]; // 0x7d1 public: // MNetworkEnable - float m_MaxWeight; // 0x7c4 + float m_MaxWeight; // 0x7d4 // MNetworkEnable - float m_FadeDuration; // 0x7c8 + float m_FadeDuration; // 0x7d8 // MNetworkEnable - float m_Weight; // 0x7cc + float m_Weight; // 0x7dc // MNetworkEnable - char m_lookupFilename[512]; // 0x7d0 + char m_lookupFilename[512]; // 0x7e0 }; // Alignment: 0 -// Size: 0x7a8 +// Size: 0x7b8 class C_FuncMoveLinear : public C_BaseToggle { public: @@ -75398,342 +76387,308 @@ public: }; // Alignment: 13 -// Size: 0x820 +// Size: 0x830 class C_PointCommentaryNode : public CBaseAnimatingActivity { private: - [[maybe_unused]] uint8_t __pad07d0[0x8]; // 0x7d0 + [[maybe_unused]] uint8_t __pad07e0[0x8]; // 0x7e0 public: // MNetworkEnable - bool m_bActive; // 0x7d8 - bool m_bWasActive; // 0x7d9 + bool m_bActive; // 0x7e8 + bool m_bWasActive; // 0x7e9 private: - [[maybe_unused]] uint8_t __pad07da[0x2]; // 0x7da + [[maybe_unused]] uint8_t __pad07ea[0x2]; // 0x7ea public: - GameTime_t m_flEndTime; // 0x7dc + GameTime_t m_flEndTime; // 0x7ec // MNetworkEnable - GameTime_t m_flStartTime; // 0x7e0 + GameTime_t m_flStartTime; // 0x7f0 // MNetworkEnable - float m_flStartTimeInCommentary; // 0x7e4 + float m_flStartTimeInCommentary; // 0x7f4 // MNetworkEnable - CUtlSymbolLarge m_iszCommentaryFile; // 0x7e8 + CUtlSymbolLarge m_iszCommentaryFile; // 0x7f8 // MNetworkEnable - CUtlSymbolLarge m_iszTitle; // 0x7f0 + CUtlSymbolLarge m_iszTitle; // 0x800 // MNetworkEnable - CUtlSymbolLarge m_iszSpeakers; // 0x7f8 + CUtlSymbolLarge m_iszSpeakers; // 0x808 // MNetworkEnable - int32_t m_iNodeNumber; // 0x800 + int32_t m_iNodeNumber; // 0x810 // MNetworkEnable - int32_t m_iNodeNumberMax; // 0x804 + int32_t m_iNodeNumberMax; // 0x814 // MNetworkEnable - bool m_bListenedTo; // 0x808 + bool m_bListenedTo; // 0x818 private: - [[maybe_unused]] uint8_t __pad0809[0xf]; // 0x809 + [[maybe_unused]] uint8_t __pad0819[0xf]; // 0x819 public: // MNetworkEnable - CHandle< C_BaseEntity > m_hViewPosition; // 0x818 - bool m_bRestartAfterRestore; // 0x81c + CHandle< C_BaseEntity > m_hViewPosition; // 0x828 + bool m_bRestartAfterRestore; // 0x82c }; // Alignment: 1 -// Size: 0x7b0 +// Size: 0x7c0 class C_BaseDoor : public C_BaseToggle { public: // MNetworkEnable - bool m_bIsUsable; // 0x7a8 + bool m_bIsUsable; // 0x7b8 }; // Alignment: 16 -// Size: 0x950 +// Size: 0x968 class C_BaseFlex : public C_BaseAnimatingOverlay { private: - [[maybe_unused]] uint8_t __pad07d0[0x8]; // 0x7d0 + [[maybe_unused]] uint8_t __pad07e0[0x10]; // 0x7e0 public: // MNetworkEnable // MNetworkBitCount "12" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1.000000" // MNetworkEncodeFlags - C_NetworkUtlVectorBase< float32 > m_flexWeight; // 0x7d8 + C_NetworkUtlVectorBase< float32 > m_flexWeight; // 0x7f0 // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "OnViewTargetChanged" - Vector m_vLookTargetPosition; // 0x7f0 + Vector m_vLookTargetPosition; // 0x808 private: - [[maybe_unused]] uint8_t __pad07fc[0xc]; // 0x7fc + [[maybe_unused]] uint8_t __pad0814[0xc]; // 0x814 public: // MNetworkEnable - bool m_blinktoggle; // 0x808 + bool m_blinktoggle; // 0x820 private: - [[maybe_unused]] uint8_t __pad0809[0x5f]; // 0x809 + [[maybe_unused]] uint8_t __pad0821[0x5f]; // 0x821 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 + int32_t m_nLastFlexUpdateFrameCount; // 0x880 + Vector m_CachedViewTarget; // 0x884 + uint32_t m_nNextSceneEventId; // 0x890 + int32_t m_iBlink; // 0x894 + float m_blinktime; // 0x898 + bool m_prevblinktoggle; // 0x89c + AttachmentHandle_t m_iMouthAttachment; // 0x89d + AttachmentHandle_t m_iEyeAttachment; // 0x89e + bool m_bResetFlexWeightsOnModelChange; // 0x89f private: - [[maybe_unused]] uint8_t __pad0888[0x18]; // 0x888 + [[maybe_unused]] uint8_t __pad08a0[0x18]; // 0x8a0 public: - int32_t m_nEyeOcclusionRendererBone; // 0x8a0 - matrix3x4_t m_mEyeOcclusionRendererCameraToBoneTransform; // 0x8a4 - Vector m_vEyeOcclusionRendererHalfExtent; // 0x8d4 + int32_t m_nEyeOcclusionRendererBone; // 0x8b8 + matrix3x4_t m_mEyeOcclusionRendererCameraToBoneTransform; // 0x8bc + Vector m_vEyeOcclusionRendererHalfExtent; // 0x8ec private: - [[maybe_unused]] uint8_t __pad08e0[0x10]; // 0x8e0 + [[maybe_unused]] uint8_t __pad08f8[0x10]; // 0x8f8 public: - C_BaseFlex::Emphasized_Phoneme m_PhonemeClasses[3]; // 0x8f0 + C_BaseFlex::Emphasized_Phoneme m_PhonemeClasses[3]; // 0x908 }; // Alignment: 14 -// Size: 0xa48 +// Size: 0xaa8 class C_ClientRagdoll : public CBaseAnimGraph { public: - bool m_bFadeOut; // 0x9b0 - bool m_bImportant; // 0x9b1 + bool m_bFadeOut; // 0xa10 + bool m_bImportant; // 0xa11 private: - [[maybe_unused]] uint8_t __pad09b2[0x2]; // 0x9b2 + [[maybe_unused]] uint8_t __pad0a12[0x2]; // 0xa12 public: - 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 + GameTime_t m_flEffectTime; // 0xa14 + GameTime_t m_gibDespawnTime; // 0xa18 + int32_t m_iCurrentFriction; // 0xa1c + int32_t m_iMinFriction; // 0xa20 + int32_t m_iMaxFriction; // 0xa24 + int32_t m_iFrictionAnimState; // 0xa28 + bool m_bReleaseRagdoll; // 0xa2c + AttachmentHandle_t m_iEyeAttachment; // 0xa2d + bool m_bFadingOut; // 0xa2e private: - [[maybe_unused]] uint8_t __pad09cf[0x1]; // 0x9cf + [[maybe_unused]] uint8_t __pad0a2f[0x1]; // 0xa2f public: - float m_flScaleEnd[10]; // 0x9d0 - GameTime_t m_flScaleTimeStart[10]; // 0x9f8 - GameTime_t m_flScaleTimeEnd[10]; // 0xa20 + float m_flScaleEnd[10]; // 0xa30 + GameTime_t m_flScaleTimeStart[10]; // 0xa58 + GameTime_t m_flScaleTimeEnd[10]; // 0xa80 }; // Alignment: 1 -// Size: 0x928 +// Size: 0x938 class C_PhysicsProp : public C_BreakableProp { public: // MNetworkEnable - bool m_bAwake; // 0x920 + bool m_bAwake; // 0x930 }; // Alignment: 7 -// Size: 0xa88 +// Size: 0xa98 class C_BasePropDoor : public C_DynamicProp { private: - [[maybe_unused]] uint8_t __pad0a48[0x10]; // 0xa48 + [[maybe_unused]] uint8_t __pad0a58[0x10]; // 0xa58 public: // MNetworkEnable - DoorState_t m_eDoorState; // 0xa58 - bool m_modelChanged; // 0xa5c + DoorState_t m_eDoorState; // 0xa68 + bool m_modelChanged; // 0xa6c // MNetworkEnable - bool m_bLocked; // 0xa5d + bool m_bLocked; // 0xa6d private: - [[maybe_unused]] uint8_t __pad0a5e[0x2]; // 0xa5e + [[maybe_unused]] uint8_t __pad0a6e[0x2]; // 0xa6e public: // MNetworkEnable - Vector m_closedPosition; // 0xa60 + Vector m_closedPosition; // 0xa70 // MNetworkEnable - QAngle m_closedAngles; // 0xa6c + QAngle m_closedAngles; // 0xa7c // MNetworkEnable - CHandle< C_BasePropDoor > m_hMaster; // 0xa78 - Vector m_vWhereToSetLightingOrigin; // 0xa7c + CHandle< C_BasePropDoor > m_hMaster; // 0xa88 + Vector m_vWhereToSetLightingOrigin; // 0xa8c }; -// Alignment: 12 -// Size: 0x958 +// Alignment: 15 +// Size: 0x988 class C_PhysPropClientside : public C_BreakableProp { public: - GameTime_t m_flTouchDelta; // 0x920 - GameTime_t m_fDeathTime; // 0x924 - float m_impactEnergyScale; // 0x928 - float m_inertiaScale; // 0x92c - float m_flDmgModBullet; // 0x930 - float m_flDmgModClub; // 0x934 - float m_flDmgModExplosive; // 0x938 - float m_flDmgModFire; // 0x93c - CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0x940 - CUtlSymbolLarge m_iszBasePropData; // 0x948 - int32_t m_iInteractions; // 0x950 - bool m_bHasBreakPiecesOrCommands; // 0x954 + GameTime_t m_flTouchDelta; // 0x930 + GameTime_t m_fDeathTime; // 0x934 + float m_impactEnergyScale; // 0x938 + float m_inertiaScale; // 0x93c + float m_flDmgModBullet; // 0x940 + float m_flDmgModClub; // 0x944 + float m_flDmgModExplosive; // 0x948 + float m_flDmgModFire; // 0x94c + CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0x950 + CUtlSymbolLarge m_iszBasePropData; // 0x958 + int32_t m_iInteractions; // 0x960 + bool m_bHasBreakPiecesOrCommands; // 0x964 +private: + [[maybe_unused]] uint8_t __pad0965[0x3]; // 0x965 +public: + Vector m_vecDamagePosition; // 0x968 + Vector m_vecDamageDirection; // 0x974 + int32_t m_nDamageType; // 0x980 }; // Alignment: 8 -// Size: 0xa28 +// Size: 0xa88 class C_RagdollProp : public CBaseAnimGraph { private: - [[maybe_unused]] uint8_t __pad09b0[0x8]; // 0x9b0 + [[maybe_unused]] uint8_t __pad0a10[0x8]; // 0xa10 public: // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "ragAnglesChanged" - C_NetworkUtlVectorBase< Vector > m_ragPos; // 0x9b8 + C_NetworkUtlVectorBase< Vector > m_ragPos; // 0xa18 // MNetworkEnable // MNetworkEncoder // MNetworkBitCount "13" // MNetworkChangeCallback "ragAnglesChanged" - C_NetworkUtlVectorBase< QAngle > m_ragAngles; // 0x9d0 + C_NetworkUtlVectorBase< QAngle > m_ragAngles; // 0xa30 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1.000000" // MNetworkEncodeFlags - float m_flBlendWeight; // 0x9e8 + float m_flBlendWeight; // 0xa48 // MNetworkEnable - CHandle< C_BaseEntity > m_hRagdollSource; // 0x9ec - AttachmentHandle_t m_iEyeAttachment; // 0x9f0 + CHandle< C_BaseEntity > m_hRagdollSource; // 0xa4c + AttachmentHandle_t m_iEyeAttachment; // 0xa50 private: - [[maybe_unused]] uint8_t __pad09f1[0x3]; // 0x9f1 + [[maybe_unused]] uint8_t __pad0a51[0x3]; // 0xa51 public: - float m_flBlendWeightCurrent; // 0x9f4 - CUtlVector< int32 > m_parentPhysicsBoneIndices; // 0x9f8 - CUtlVector< int32 > m_worldSpaceBoneComputationOrder; // 0xa10 + float m_flBlendWeightCurrent; // 0xa54 + CUtlVector< int32 > m_parentPhysicsBoneIndices; // 0xa58 + CUtlVector< int32 > m_worldSpaceBoneComputationOrder; // 0xa70 }; // Alignment: 25 -// Size: 0x890 +// Size: 0x8a0 class C_LocalTempEntity : public CBaseAnimatingActivity { private: - [[maybe_unused]] uint8_t __pad07d0[0x18]; // 0x7d0 + [[maybe_unused]] uint8_t __pad07e0[0x18]; // 0x7e0 public: - int32_t flags; // 0x7e8 - GameTime_t die; // 0x7ec - float m_flFrameMax; // 0x7f0 - float x; // 0x7f4 - float y; // 0x7f8 - float fadeSpeed; // 0x7fc - float bounceFactor; // 0x800 - int32_t hitSound; // 0x804 - int32_t priority; // 0x808 - Vector tentOffset; // 0x80c - QAngle m_vecTempEntAngVelocity; // 0x818 - int32_t tempent_renderamt; // 0x824 - Vector m_vecNormal; // 0x828 - float m_flSpriteScale; // 0x834 - int32_t m_nFlickerFrame; // 0x838 - float m_flFrameRate; // 0x83c - float m_flFrame; // 0x840 + int32_t flags; // 0x7f8 + GameTime_t die; // 0x7fc + float m_flFrameMax; // 0x800 + float x; // 0x804 + float y; // 0x808 + float fadeSpeed; // 0x80c + float bounceFactor; // 0x810 + int32_t hitSound; // 0x814 + int32_t priority; // 0x818 + Vector tentOffset; // 0x81c + QAngle m_vecTempEntAngVelocity; // 0x828 + int32_t tempent_renderamt; // 0x834 + Vector m_vecNormal; // 0x838 + float m_flSpriteScale; // 0x844 + int32_t m_nFlickerFrame; // 0x848 + float m_flFrameRate; // 0x84c + float m_flFrame; // 0x850 private: - [[maybe_unused]] uint8_t __pad0844[0x4]; // 0x844 + [[maybe_unused]] uint8_t __pad0854[0x4]; // 0x854 public: - char* m_pszImpactEffect; // 0x848 - char* m_pszParticleEffect; // 0x850 - bool m_bParticleCollision; // 0x858 + char* m_pszImpactEffect; // 0x858 + char* m_pszParticleEffect; // 0x860 + bool m_bParticleCollision; // 0x868 private: - [[maybe_unused]] uint8_t __pad0859[0x3]; // 0x859 + [[maybe_unused]] uint8_t __pad0869[0x3]; // 0x869 public: - int32_t m_iLastCollisionFrame; // 0x85c - Vector m_vLastCollisionOrigin; // 0x860 - Vector m_vecTempEntVelocity; // 0x86c - Vector m_vecPrevAbsOrigin; // 0x878 - Vector m_vecTempEntAcceleration; // 0x884 -}; - -// Alignment: 1 -// Size: 0x800 -class C_PointHintUIButtonHighlightModel : public CBaseAnimatingActivity -{ -public: - matrix3x4_t m_mComponentTransform; // 0x7d0 -}; - -// Alignment: 1 -// Size: 0x800 -class C_PointHintUIArrowHighlightModel : public CBaseAnimatingActivity -{ -public: - matrix3x4_t m_mArrowLocalTransform; // 0x7d0 -}; - -// Alignment: 4 -// Size: 0x868 -class C_PointHintUIHighlightModel : public CBaseAnimatingActivity -{ -private: - [[maybe_unused]] uint8_t __pad07d0[0x30]; // 0x7d0 -public: - CUtlVector< matrix3x4a_t > m_vecRenderModelComponentTransforms; // 0x800 - int32_t m_nTrackedDeviceIndex; // 0x818 -private: - [[maybe_unused]] uint8_t __pad081c[0x14]; // 0x81c -public: - matrix3x4_t m_matLocalHighlight; // 0x830 - bool m_bVisible; // 0x860 + int32_t m_iLastCollisionFrame; // 0x86c + Vector m_vLastCollisionOrigin; // 0x870 + Vector m_vecTempEntVelocity; // 0x87c + Vector m_vecPrevAbsOrigin; // 0x888 + Vector m_vecTempEntAcceleration; // 0x894 }; // Alignment: 12 -// Size: 0xad8 +// Size: 0xaf0 class C_EconEntity : public C_BaseFlex { private: - [[maybe_unused]] uint8_t __pad0950[0x10]; // 0x950 + [[maybe_unused]] uint8_t __pad0968[0x10]; // 0x968 public: // MNetworkEnable - CAttributeContainer m_AttributeManager; // 0x960 - bool m_bClientside; // 0xa88 + CAttributeContainer m_AttributeManager; // 0x978 + bool m_bClientside; // 0xaa0 private: - [[maybe_unused]] uint8_t __pad0a89[0x3]; // 0xa89 + [[maybe_unused]] uint8_t __pad0aa1[0x3]; // 0xaa1 public: - EconEntityParticleDisableMode_t m_nDisableMode; // 0xa8c - bool m_bParticleSystemsCreated; // 0xa90 - bool m_bForceDestroyAttachedParticlesImmediately; // 0xa91 + EconEntityParticleDisableMode_t m_nDisableMode; // 0xaa4 + bool m_bParticleSystemsCreated; // 0xaa8 + bool m_bForceDestroyAttachedParticlesImmediately; // 0xaa9 private: - [[maybe_unused]] uint8_t __pad0a92[0x6]; // 0xa92 + [[maybe_unused]] uint8_t __pad0aaa[0x6]; // 0xaaa public: - 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 + CUtlVector< C_EconEntity::AttachedParticleInfo_t > m_vecAttachedParticles; // 0xab0 + CHandle< CBaseAnimatingActivity > m_hViewmodelAttachment; // 0xac8 + int32_t m_iOldTeam; // 0xacc + bool m_bAttachmentDirty; // 0xad0 + style_index_t m_iOldStyle; // 0xad1 private: - [[maybe_unused]] uint8_t __pad0aba[0x2]; // 0xaba + [[maybe_unused]] uint8_t __pad0ad2[0x2]; // 0xad2 public: - CHandle< C_BaseEntity > m_hOldProvidee; // 0xabc - CUtlVector< C_EconEntity::AttachedModelData_t > m_vecAttachedModels; // 0xac0 + CHandle< C_BaseEntity > m_hOldProvidee; // 0xad4 + CUtlVector< C_EconEntity::AttachedModelData_t > m_vecAttachedModels; // 0xad8 }; // Alignment: 0 -// Size: 0xae0 +// Size: 0xaf8 class C_EconWearable : public C_EconEntity { public: // No members available }; -// Alignment: 0 -// Size: 0xae0 -class C_TFWearableItem : public C_EconWearable -{ -public: - // No members available -}; - // Alignment: 2 -// Size: 0xa58 +// Size: 0xa68 class C_DynamicPropClientside : public C_DynamicProp { private: - [[maybe_unused]] uint8_t __pad0a48[0x8]; // 0xa48 + [[maybe_unused]] uint8_t __pad0a58[0x8]; // 0xa58 public: - bool m_bSetupMaterialProxy; // 0xa50 - bool m_bNoInterpolate; // 0xa51 + bool m_bSetupMaterialProxy; // 0xa60 + bool m_bNoInterpolate; // 0xa61 }; // Alignment: 0 -// Size: 0xa48 +// Size: 0xa58 class C_DynamicPropClientFadeOut : public C_DynamicProp { public: @@ -75741,55 +76696,55 @@ public: }; // Alignment: 7 -// Size: 0xc38 +// Size: 0xc48 class C_PlayerCosmeticPropClientside : public C_DynamicPropClientside { public: - int32_t m_iPlayerNum; // 0xa58 - int32_t m_iCosmeticType; // 0xa5c - char m_szProxyTextureName[260]; // 0xa60 + int32_t m_iPlayerNum; // 0xa68 + int32_t m_iCosmeticType; // 0xa6c + char m_szProxyTextureName[260]; // 0xa70 private: - [[maybe_unused]] uint8_t __pad0b64[0x4]; // 0xb64 + [[maybe_unused]] uint8_t __pad0b74[0x4]; // 0xb74 public: - CStrongHandle< InfoForResourceTypeCTextureBase > m_hProxyTexture; // 0xb68 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hProxyTexture; // 0xb78 private: - [[maybe_unused]] uint8_t __pad0b70[0xa0]; // 0xb70 + [[maybe_unused]] uint8_t __pad0b80[0xa0]; // 0xb80 public: - bool m_bGeneratedShowcaseProps; // 0xc10 + bool m_bGeneratedShowcaseProps; // 0xc20 private: - [[maybe_unused]] uint8_t __pad0c11[0x7]; // 0xc11 + [[maybe_unused]] uint8_t __pad0c21[0x7]; // 0xc21 public: - CUtlVector< C_PlayerCosmeticPropClientside* > m_vecShowcaseProps; // 0xc18 - C_EconItemView* m_pShowcaseItem; // 0xc30 + CUtlVector< C_PlayerCosmeticPropClientside* > m_vecShowcaseProps; // 0xc28 + C_EconItemView* m_pShowcaseItem; // 0xc40 }; // Alignment: 2 -// Size: 0x898 +// Size: 0x8a8 class CDOTA_Item_Tombstone_Drop : public C_DOTA_Item_Physical { public: - int32_t m_iTempViewer; // 0x890 - int32_t m_iTeam; // 0x894 + int32_t m_iTempViewer; // 0x8a0 + int32_t m_iTeam; // 0x8a4 }; // Alignment: 1 -// Size: 0xa50 +// Size: 0xa60 class CDOTAPropAghsfortArenaOfBloodWarrior : public C_DynamicProp { public: - bool m_bDying; // 0xa48 + bool m_bDying; // 0xa58 }; // Alignment: 1 -// Size: 0xa50 +// Size: 0xa60 class CDOTAPropArenaOfBloodWarrior : public C_DynamicProp { public: - bool m_bDying; // 0xa48 + bool m_bDying; // 0xa58 }; // Alignment: 0 -// Size: 0x648 +// Size: 0x660 class C_DOTA_Item_Tier1Token : public C_DOTA_Item_TierToken { public: @@ -75797,7 +76752,7 @@ public: }; // Alignment: 0 -// Size: 0x648 +// Size: 0x660 class C_DOTA_Item_Tier2Token : public C_DOTA_Item_TierToken { public: @@ -75805,7 +76760,7 @@ public: }; // Alignment: 0 -// Size: 0x648 +// Size: 0x660 class C_DOTA_Item_Tier3Token : public C_DOTA_Item_TierToken { public: @@ -75813,7 +76768,7 @@ public: }; // Alignment: 0 -// Size: 0x648 +// Size: 0x660 class C_DOTA_Item_Tier4Token : public C_DOTA_Item_TierToken { public: @@ -75821,7 +76776,7 @@ public: }; // Alignment: 0 -// Size: 0x648 +// Size: 0x660 class C_DOTA_Item_Tier5Token : public C_DOTA_Item_TierToken { public: @@ -75829,7 +76784,7 @@ public: }; // Alignment: 0 -// Size: 0xa48 +// Size: 0xa58 class CAdditionalWearable : public C_DynamicProp { public: @@ -75837,43 +76792,43 @@ public: }; // Alignment: 14 -// Size: 0xb28 +// Size: 0xb80 class C_DOTAWearableItem : public C_EconWearable { public: // MNetworkEnable - bool m_bOwnerModelChanged; // 0xae0 + bool m_bOwnerModelChanged; // 0xaf8 // MNetworkEnable - bool m_bIsGeneratingEconItem; // 0xae1 + bool m_bIsGeneratingEconItem; // 0xaf9 // MNetworkEnable - bool m_bIsItemVisibleOnGeneratedEntity; // 0xae2 + bool m_bIsItemVisibleOnGeneratedEntity; // 0xafa // MNetworkEnable // MNetworkChangeCallback "OnHideWearableButDrawAdditionalWearablesChanged" - bool m_bHideWearableButDrawAdditionalWearables; // 0xae3 + bool m_bHideWearableButDrawAdditionalWearables; // 0xafb // MNetworkEnable - CHandle< CBaseAnimatingActivity > m_hAdditionalWearable; // 0xae4 - CHandle< C_DOTAWearableItem > m_hDrawWearable; // 0xae8 - bool m_bHiddenByCombiner; // 0xaec - bool m_bHiddenByEquipmentSlot; // 0xaed - bool m_bIsPortrait; // 0xaee + CHandle< CBaseAnimatingActivity > m_hAdditionalWearable; // 0xafc + CHandle< C_DOTAWearableItem > m_hDrawWearable; // 0xb00 + bool m_bHiddenByCombiner; // 0xb04 + bool m_bHiddenByEquipmentSlot; // 0xb05 + bool m_bIsPortrait; // 0xb06 private: - [[maybe_unused]] uint8_t __pad0aef[0x1]; // 0xaef + [[maybe_unused]] uint8_t __pad0b07[0x1]; // 0xb07 public: - float m_fZDelta; // 0xaf0 + float m_fZDelta; // 0xb08 private: - [[maybe_unused]] uint8_t __pad0af4[0x4]; // 0xaf4 + [[maybe_unused]] uint8_t __pad0b0c[0x4]; // 0xb0c public: - CUtlVector< CStrongHandleCopyable< InfoForResourceTypeIMaterial2 > > m_combinerMaterialOverrideList; // 0xaf8 + CUtlVector< CStrongHandleCopyable< InfoForResourceTypeIMaterial2 > > m_combinerMaterialOverrideList; // 0xb10 private: - [[maybe_unused]] uint8_t __pad0b10[0x8]; // 0xb10 + [[maybe_unused]] uint8_t __pad0b28[0x8]; // 0xb28 public: - bool m_bCombinerMaterialOverrideListChanged; // 0xb18 - bool m_bRubickFollower; // 0xb19 - bool m_bHasPlayerModel; // 0xb1a + bool m_bCombinerMaterialOverrideListChanged; // 0xb30 + bool m_bRubickFollower; // 0xb31 + bool m_bHasPlayerModel; // 0xb32 }; // Alignment: 0 -// Size: 0x530 +// Size: 0x540 class C_InfoPlayerStartGoodGuys : public C_InfoPlayerStartDota { public: @@ -75881,7 +76836,7 @@ public: }; // Alignment: 0 -// Size: 0x530 +// Size: 0x540 class C_InfoPlayerStartBadGuys : public C_InfoPlayerStartDota { public: @@ -75889,15 +76844,15 @@ public: }; // Alignment: 1 -// Size: 0x7f8 +// Size: 0x808 class CAmbientCreatures : public C_DOTAWorldParticleSystem { public: - CUtlString m_szAnimationName; // 0x7f0 + CUtlString m_szAnimationName; // 0x800 }; // Alignment: 0 -// Size: 0xa48 +// Size: 0xa58 class C_PortraitWorldPet : public C_DynamicProp { public: @@ -75905,70 +76860,70 @@ public: }; // Alignment: 2 -// Size: 0xa60 +// Size: 0xa70 class C_DOTAPropCustomTexture : public C_DynamicProp { public: // MNetworkEnable - uint32_t m_unTeamID; // 0xa48 + uint32_t m_unTeamID; // 0xa58 private: - [[maybe_unused]] uint8_t __pad0a4c[0xc]; // 0xa4c + [[maybe_unused]] uint8_t __pad0a5c[0xc]; // 0xa5c public: - bool m_bSetupMaterialProxy; // 0xa58 + bool m_bSetupMaterialProxy; // 0xa68 }; // Alignment: 3 -// Size: 0xab8 +// Size: 0xac8 class CDOTAPropConsumableBanner : public C_DynamicProp { private: - [[maybe_unused]] uint8_t __pad0a48[0x58]; // 0xa48 + [[maybe_unused]] uint8_t __pad0a58[0x58]; // 0xa58 public: - PlayerID_t m_nPlayerID; // 0xaa0 + PlayerID_t m_nPlayerID; // 0xab0 private: - [[maybe_unused]] uint8_t __pad0aa4[0x4]; // 0xaa4 + [[maybe_unused]] uint8_t __pad0ab4[0x4]; // 0xab4 public: - CStrongHandle< InfoForResourceTypeCTextureBase > m_hAvatarTexture; // 0xaa8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hAvatarTexture; // 0xab8 // MNetworkEnable - bool m_bUseAvatar; // 0xab0 + bool m_bUseAvatar; // 0xac0 }; // Alignment: 11 -// Size: 0xaa0 +// Size: 0xab0 class C_DOTA_GuildBannerDynamic : public C_DynamicProp { public: // MNetworkEnable - bool m_bRespawnClientEntity; // 0xa48 + bool m_bRespawnClientEntity; // 0xa58 // MNetworkEnable - bool m_bPlaySpawnAnimation; // 0xa49 + bool m_bPlaySpawnAnimation; // 0xa59 // MNetworkEnable - uint8_t m_unGuildTier; // 0xa4a + uint8_t m_unGuildTier; // 0xa5a // MNetworkEnable - uint8_t m_unPrimaryColor; // 0xa4b + uint8_t m_unPrimaryColor; // 0xa5b // MNetworkEnable - uint8_t m_unSecondaryColor; // 0xa4c + uint8_t m_unSecondaryColor; // 0xa5c // MNetworkEnable - uint8_t m_unPattern; // 0xa4d + uint8_t m_unPattern; // 0xa5d private: - [[maybe_unused]] uint8_t __pad0a4e[0x2]; // 0xa4e + [[maybe_unused]] uint8_t __pad0a5e[0x2]; // 0xa5e public: // MNetworkEnable - uint64_t m_unLogo; // 0xa50 + uint64_t m_unLogo; // 0xa60 // MNetworkEnable - GuildID_t m_unGuildID; // 0xa58 + GuildID_t m_unGuildID; // 0xa68 // MNetworkEnable - uint32_t m_unGuildFlags; // 0xa5c + uint32_t m_unGuildFlags; // 0xa6c // MNetworkEnable - bool m_bUsePanelCache; // 0xa60 + bool m_bUsePanelCache; // 0xa70 private: - [[maybe_unused]] uint8_t __pad0a61[0x3]; // 0xa61 + [[maybe_unused]] uint8_t __pad0a71[0x3]; // 0xa71 public: - CHandle< C_BaseEntity > m_hClientEntity; // 0xa64 + CHandle< C_BaseEntity > m_hClientEntity; // 0xa74 }; // Alignment: 0 -// Size: 0xa90 +// Size: 0xaa0 class C_DOTA_GuildBannerProp : public C_DynamicProp { public: @@ -75976,99 +76931,103 @@ public: }; // Alignment: 7 -// Size: 0xa60 +// Size: 0xac0 class C_RagdollPropAttached : public C_RagdollProp { public: // MNetworkEnable - uint32_t m_boneIndexAttached; // 0xa28 + uint32_t m_boneIndexAttached; // 0xa88 // MNetworkEnable - uint32_t m_ragdollAttachedObjectIndex; // 0xa2c + uint32_t m_ragdollAttachedObjectIndex; // 0xa8c // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointBoneSpace; // 0xa30 + Vector m_attachmentPointBoneSpace; // 0xa90 // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointRagdollSpace; // 0xa3c - Vector m_vecOffset; // 0xa48 - float m_parentTime; // 0xa54 - bool m_bHasParent; // 0xa58 + Vector m_attachmentPointRagdollSpace; // 0xa9c + Vector m_vecOffset; // 0xaa8 + float m_parentTime; // 0xab4 + bool m_bHasParent; // 0xab8 }; // Alignment: 8 -// Size: 0x9e0 +// Size: 0x9f8 class C_BaseCombatCharacter : public C_BaseFlex { public: // MNetworkEnable // MNetworkChangeCallback "OnWearablesChanged" - C_NetworkUtlVectorBase< CHandle< C_EconWearable > > m_hMyWearables; // 0x950 - int32_t m_bloodColor; // 0x968 - AttachmentHandle_t m_leftFootAttachment; // 0x96c - AttachmentHandle_t m_rightFootAttachment; // 0x96d + C_NetworkUtlVectorBase< CHandle< C_EconWearable > > m_hMyWearables; // 0x968 + int32_t m_bloodColor; // 0x980 + AttachmentHandle_t m_leftFootAttachment; // 0x984 + AttachmentHandle_t m_rightFootAttachment; // 0x985 private: - [[maybe_unused]] uint8_t __pad096e[0x2]; // 0x96e + [[maybe_unused]] uint8_t __pad0986[0x2]; // 0x986 public: - C_BaseCombatCharacter::WaterWakeMode_t m_nWaterWakeMode; // 0x970 - float m_flWaterWorldZ; // 0x974 - float m_flWaterNextTraceTime; // 0x978 + C_BaseCombatCharacter::WaterWakeMode_t m_nWaterWakeMode; // 0x988 + float m_flWaterWorldZ; // 0x98c + float m_flWaterNextTraceTime; // 0x990 // MNetworkEnable - float m_flFieldOfView; // 0x97c + float m_flFieldOfView; // 0x994 }; -// Alignment: 23 -// Size: 0xb10 +// Alignment: 24 +// Size: 0xb38 class C_BasePlayerPawn : public C_BaseCombatCharacter { public: // MNetworkEnable - CPlayer_WeaponServices* m_pWeaponServices; // 0x9e0 + CPlayer_WeaponServices* m_pWeaponServices; // 0x9f8 // MNetworkEnable - CPlayer_ItemServices* m_pItemServices; // 0x9e8 + CPlayer_ItemServices* m_pItemServices; // 0xa00 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - CPlayer_AutoaimServices* m_pAutoaimServices; // 0x9f0 + CPlayer_AutoaimServices* m_pAutoaimServices; // 0xa08 // MNetworkEnable - CPlayer_ObserverServices* m_pObserverServices; // 0x9f8 + CPlayer_ObserverServices* m_pObserverServices; // 0xa10 // MNetworkEnable - CPlayer_WaterServices* m_pWaterServices; // 0xa00 + CPlayer_WaterServices* m_pWaterServices; // 0xa18 // MNetworkEnable - CPlayer_UseServices* m_pUseServices; // 0xa08 + CPlayer_UseServices* m_pUseServices; // 0xa20 // MNetworkEnable - CPlayer_FlashlightServices* m_pFlashlightServices; // 0xa10 + CPlayer_FlashlightServices* m_pFlashlightServices; // 0xa28 // MNetworkEnable - CPlayer_CameraServices* m_pCameraServices; // 0xa18 + CPlayer_CameraServices* m_pCameraServices; // 0xa30 // MNetworkEnable - CPlayer_MovementServices* m_pMovementServices; // 0xa20 + CPlayer_MovementServices* m_pMovementServices; // 0xa38 private: - [[maybe_unused]] uint8_t __pad0a28[0x8]; // 0xa28 + [[maybe_unused]] uint8_t __pad0a40[0x8]; // 0xa40 public: - QAngle v_angle; // 0xa30 + QAngle v_angle; // 0xa48 + QAngle v_anglePrevious; // 0xa54 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_iHideHUD; // 0xa3c + uint32_t m_iHideHUD; // 0xa60 +private: + [[maybe_unused]] uint8_t __pad0a64[0x4]; // 0xa64 +public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - sky3dparams_t m_skybox3d; // 0xa40 + sky3dparams_t m_skybox3d; // 0xa68 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - 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 + GameTime_t m_flDeathTime; // 0xaf8 + Vector m_vecPredictionError; // 0xafc + GameTime_t m_flPredictionErrorTime; // 0xb08 + float m_flFOVSensitivityAdjust; // 0xb0c + float m_flMouseSensitivity; // 0xb10 + Vector m_vOldOrigin; // 0xb14 + float m_flOldSimulationTime; // 0xb20 + int32_t m_nLastExecutedCommandNumber; // 0xb24 + int32_t m_nLastExecutedCommandTick; // 0xb28 // MNetworkEnable // MNetworkChangeCallback "OnControllerChanged" - CHandle< CBasePlayerController > m_hController; // 0xb04 - bool m_bIsSwappingToPredictableController; // 0xb08 + CHandle< CBasePlayerController > m_hController; // 0xb2c + bool m_bIsSwappingToPredictableController; // 0xb30 }; // Alignment: 0 -// Size: 0xb28 +// Size: 0xb80 class C_DOTA_Tiny_ScepterTree : public C_DOTAWearableItem { public: @@ -76076,7 +77035,7 @@ public: }; // Alignment: 0 -// Size: 0xb10 +// Size: 0xb38 class CDOTAPlayerPawn : public C_BasePlayerPawn { public: @@ -76084,477 +77043,478 @@ public: }; // Alignment: 1 -// Size: 0xaa8 +// Size: 0xab8 class CDOTAPropTI10PlayerGuildBanner : public C_DOTA_GuildBannerDynamic { public: // MNetworkEnable - int32_t m_nPlayerID; // 0xaa0 + int32_t m_nPlayerID; // 0xab0 }; // Alignment: 1 -// Size: 0xaa8 +// Size: 0xab8 class CDOTAPropPlusPlayerGuildBanner : public C_DOTA_GuildBannerDynamic { public: // MNetworkEnable - int32_t m_nPlayerID; // 0xaa0 + int32_t m_nPlayerID; // 0xab0 }; // Alignment: 5 -// Size: 0xa08 +// Size: 0xa20 class C_NextBotCombatCharacter : public C_BaseCombatCharacter { public: - CountdownTimer m_shadowTimer; // 0x9e0 - bool m_bInFrustum; // 0x9f8 + CountdownTimer m_shadowTimer; // 0x9f8 + bool m_bInFrustum; // 0xa10 private: - [[maybe_unused]] uint8_t __pad09f9[0x3]; // 0x9f9 + [[maybe_unused]] uint8_t __pad0a11[0x3]; // 0xa11 public: - int32_t m_nInFrustumFrame; // 0x9fc - float m_flFrustumDistanceSqr; // 0xa00 + int32_t m_nInFrustumFrame; // 0xa14 + float m_flFrustumDistanceSqr; // 0xa18 // MNetworkEnable - uint8_t m_nLod; // 0xa04 + uint8_t m_nLod; // 0xa1c }; // Alignment: 0 -// Size: 0x9e0 +// Size: 0x9f8 class C_NetTestBaseCombatCharacter : public C_BaseCombatCharacter { public: // No members available }; -// Alignment: 186 -// Size: 0x16f8 +// Alignment: 188 +// Size: 0x1750 class C_DOTA_BaseNPC : public C_NextBotCombatCharacter { -private: - [[maybe_unused]] uint8_t __pad0a08[0x10]; // 0xa08 -public: - // MNetworkEnable - bool m_bIsPhantom; // 0xa18 -private: - [[maybe_unused]] uint8_t __pad0a19[0x3]; // 0xa19 -public: - uint32_t m_iUnitType; // 0xa1c private: [[maybe_unused]] uint8_t __pad0a20[0x10]; // 0xa20 public: // MNetworkEnable - bool m_bSelectionRingVisible; // 0xa30 + bool m_bIsPhantom; // 0xa30 private: [[maybe_unused]] uint8_t __pad0a31[0x3]; // 0xa31 +public: + uint32_t m_iUnitType; // 0xa34 +private: + [[maybe_unused]] uint8_t __pad0a38[0x10]; // 0xa38 +public: + // MNetworkEnable + bool m_bSelectionRingVisible; // 0xa48 +private: + [[maybe_unused]] uint8_t __pad0a49[0x3]; // 0xa49 public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_iCurrentLevel; // 0xa34 + int32_t m_iCurrentLevel; // 0xa4c // MNetworkEnable - bool m_bIsAncient; // 0xa38 + bool m_bIsAncient; // 0xa50 // MNetworkEnable - bool m_bIsBossCreature; // 0xa39 + bool m_bIsBossCreature; // 0xa51 // MNetworkEnable - bool m_bStolenScepter; // 0xa3a + bool m_bStolenScepter; // 0xa52 // MNetworkEnable - 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 + bool m_bIsNeutralUnitType; // 0xa53 + bool m_bSelectOnSpawn; // 0xa54 + bool m_bCachedReplicatedMorphlingIllusion; // 0xa55 + bool m_bIgnoreAddSummonedToSelection; // 0xa56 + bool m_bConsideredHero; // 0xa57 + bool m_bUsesConstantGesture; // 0xa58 + bool m_bUseHeroAbilityNumbers; // 0xa59 + bool m_bHasSharedAbilities; // 0xa5a // MNetworkEnable - bool m_bIsSummoned; // 0xa43 + bool m_bIsSummoned; // 0xa5b // MNetworkEnable - bool m_bCanBeDominated; // 0xa44 + bool m_bCanBeDominated; // 0xa5c // MNetworkEnable - bool m_bHasUpgradeableAbilities; // 0xa45 + bool m_bHasUpgradeableAbilities; // 0xa5d private: - [[maybe_unused]] uint8_t __pad0a46[0x2]; // 0xa46 + [[maybe_unused]] uint8_t __pad0a5e[0x2]; // 0xa5e public: // MNetworkEnable // MNetworkBitCount "18" // MNetworkMinValue "-100.000000" // MNetworkMaxValue "1000.000000" - float m_flHealthThinkRegen; // 0xa48 + float m_flHealthThinkRegen; // 0xa60 private: - [[maybe_unused]] uint8_t __pad0a4c[0x4]; // 0xa4c + [[maybe_unused]] uint8_t __pad0a64[0x4]; // 0xa64 public: // MNetworkEnable - uint64_t m_iIsControllableByPlayer64; // 0xa50 + uint64_t m_iIsControllableByPlayer64; // 0xa68 // MNetworkEnable - int32_t m_nHealthBarOffsetOverride; // 0xa58 + int32_t m_nHealthBarOffsetOverride; // 0xa70 // MNetworkEnable - bool m_bCanRespawn; // 0xa5c + bool m_bCanRespawn; // 0xa74 private: - [[maybe_unused]] uint8_t __pad0a5d[0x3]; // 0xa5d + [[maybe_unused]] uint8_t __pad0a75[0x3]; // 0xa75 public: - int32_t m_iAttackRange; // 0xa60 - Color m_colorGemColor; // 0xa64 - bool m_bHasColorGem; // 0xa68 + int32_t m_iAttackRange; // 0xa78 + Color m_colorGemColor; // 0xa7c + bool m_bHasColorGem; // 0xa80 private: - [[maybe_unused]] uint8_t __pad0a69[0x3]; // 0xa69 + [[maybe_unused]] uint8_t __pad0a81[0x3]; // 0xa81 public: - ParticleIndex_t m_nFXDeniableIndex; // 0xa6c + ParticleIndex_t m_nFXDeniableIndex; // 0xa84 // MNetworkEnable - int32_t m_iMoveSpeed; // 0xa70 - int32_t m_iBaseAttackSpeed; // 0xa74 - float m_flBaseAttackTime; // 0xa78 + int32_t m_iMoveSpeed; // 0xa88 + int32_t m_iBaseAttackSpeed; // 0xa8c + float m_flBaseAttackTime; // 0xa90 // MNetworkEnable // MNetworkChangeCallback "OnUnitNameIndexChanged" - int32_t m_iUnitNameIndex; // 0xa7c - int32_t m_iHealthBarOffset; // 0xa80 - Color m_iHealthBarHighlightColor; // 0xa84 + int32_t m_iUnitNameIndex; // 0xa94 + int32_t m_iHealthBarOffset; // 0xa98 + Color m_iHealthBarHighlightColor; // 0xa9c // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0.000000" // MNetworkMaxValue "65536.000000" - float m_flMana; // 0xa88 + float m_flMana; // 0xaa0 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0.000000" // MNetworkMaxValue "65536.000000" - float m_flMaxMana; // 0xa8c + float m_flMaxMana; // 0xaa4 // MNetworkEnable // MNetworkBitCount "14" // MNetworkMinValue "-50.000000" // MNetworkMaxValue "500.000000" - float m_flManaThinkRegen; // 0xa90 + float m_flManaThinkRegen; // 0xaa8 // MNetworkEnable - int32_t m_iBKBChargesUsed; // 0xa94 + int32_t m_iBKBChargesUsed; // 0xaac // MNetworkEnable - int32_t m_iAeonChargesUsed; // 0xa98 + int32_t m_iAeonChargesUsed; // 0xab0 // MNetworkEnable - GameTime_t m_flRefresherUseTime; // 0xa9c + GameTime_t m_flRefresherUseTime; // 0xab4 // MNetworkEnable - float m_flRefresherLastCooldown; // 0xaa0 + float m_flRefresherLastCooldown; // 0xab8 // MNetworkEnable - GameTime_t m_flLastDealtDamageTime; // 0xaa4 + GameTime_t m_flLastDealtDamageTime; // 0xabc // MNetworkEnable - int32_t m_iBotDebugData; // 0xaa8 + int32_t m_iBotDebugData; // 0xac0 // MNetworkEnable - bool m_bIsIllusion; // 0xaac - bool m_bHasClientSeenIllusionModifier; // 0xaad + bool m_bIsIllusion; // 0xac4 + bool m_bHasClientSeenIllusionModifier; // 0xac5 private: - [[maybe_unused]] uint8_t __pad0aae[0x2]; // 0xaae + [[maybe_unused]] uint8_t __pad0ac6[0x2]; // 0xac6 public: // MNetworkEnable + // MNetworkChangeCallback "OnAbilitiesChanged" // MNetworkPriority "32" - CHandle< C_BaseEntity > m_hAbilities[35]; // 0xab0 - float m_flInvisibilityLevel; // 0xb3c - float m_flHullRadius; // 0xb40 - float m_flCollisionPadding; // 0xb44 - float m_flRingRadius; // 0xb48 - float m_flProjectileCollisionSize; // 0xb4c - 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 + CHandle< C_BaseEntity > m_hAbilities[35]; // 0xac8 + float m_flInvisibilityLevel; // 0xb54 + float m_flHullRadius; // 0xb58 + float m_flCollisionPadding; // 0xb5c + float m_flRingRadius; // 0xb60 + float m_flProjectileCollisionSize; // 0xb64 + CUtlSymbolLarge m_iszUnitName; // 0xb68 + CUtlSymbolLarge m_iszParticleFolder; // 0xb70 + CUtlSymbolLarge m_iszSoundSet; // 0xb78 + CUtlSymbolLarge m_iszSelectionGroup; // 0xb80 + CUtlSymbolLarge m_iszVoiceFile; // 0xb88 + CUtlSymbolLarge m_iszGameSoundsFile; // 0xb90 + CUtlSymbolLarge m_iszVoiceBackgroundSound; // 0xb98 + CUtlSymbolLarge m_iszIdleSoundLoop; // 0xba0 // MNetworkEnable - CUtlString m_szUnitLabel; // 0xb90 + CUtlString m_szUnitLabel; // 0xba8 // MNetworkEnable - CUtlString m_szScaleset; // 0xb98 + CUtlString m_szScaleset; // 0xbb0 // MNetworkEnable - uint8_t m_nUnitLabelIndex; // 0xba0 + uint8_t m_nUnitLabelIndex; // 0xbb8 private: - [[maybe_unused]] uint8_t __pad0ba1[0x7]; // 0xba1 + [[maybe_unused]] uint8_t __pad0bb9[0x7]; // 0xbb9 public: - CUtlString m_strAnimationModifier; // 0xba8 - CUtlString m_TerrainSpecificFootstepEffect; // 0xbb0 - bool m_bUseCustomTerrainWeatherEffect; // 0xbb8 - bool m_bHasClientSoundReplacement; // 0xbb9 - bool m_bHasClientReplacementParticle; // 0xbba + CUtlString m_strAnimationModifier; // 0xbc0 + CUtlString m_TerrainSpecificFootstepEffect; // 0xbc8 + bool m_bUseCustomTerrainWeatherEffect; // 0xbd0 + bool m_bHasClientSoundReplacement; // 0xbd1 + bool m_bHasClientReplacementParticle; // 0xbd2 private: - [[maybe_unused]] uint8_t __pad0bbb[0x9]; // 0xbbb + [[maybe_unused]] uint8_t __pad0bd3[0x9]; // 0xbd3 public: - bool m_bResourcesLoaded; // 0xbc4 + bool m_bResourcesLoaded; // 0xbdc private: - [[maybe_unused]] uint8_t __pad0bc5[0x3]; // 0xbc5 + [[maybe_unused]] uint8_t __pad0bdd[0x3]; // 0xbdd public: // MNetworkEnable - GameTime_t m_flTauntCooldown; // 0xbc8 + GameTime_t m_flTauntCooldown; // 0xbe0 // MNetworkEnable - GameTime_t m_flTauntCooldown2; // 0xbcc + GameTime_t m_flTauntCooldown2; // 0xbe4 // MNetworkEnable - DOTA_SHOP_TYPE m_iCurShop; // 0xbd0 + DOTA_SHOP_TYPE m_iCurShop; // 0xbe8 private: - [[maybe_unused]] uint8_t __pad0bd4[0x4]; // 0xbd4 + [[maybe_unused]] uint8_t __pad0bec[0x4]; // 0xbec public: // MNetworkEnable - CUtlSymbolLarge m_szCurShopEntName; // 0xbd8 + CUtlSymbolLarge m_szCurShopEntName; // 0xbf0 // MNetworkEnable - int32_t m_iDayTimeVisionRange; // 0xbe0 + int32_t m_iDayTimeVisionRange; // 0xbf8 // MNetworkEnable - int32_t m_iNightTimeVisionRange; // 0xbe4 + int32_t m_iNightTimeVisionRange; // 0xbfc // MNetworkEnable // MNetworkChangeCallback "OnDamageMinChanged" - int32_t m_iDamageMin; // 0xbe8 + int32_t m_iDamageMin; // 0xc00 // MNetworkEnable // MNetworkChangeCallback "OnDamageMaxChanged" - int32_t m_iDamageMax; // 0xbec + int32_t m_iDamageMax; // 0xc04 // MNetworkEnable - int32_t m_iDamageBonus; // 0xbf0 + int32_t m_iDamageBonus; // 0xc08 // MNetworkEnable // MNetworkPriority "32" - int32_t m_iTaggedAsVisibleByTeam; // 0xbf4 + int32_t m_iTaggedAsVisibleByTeam; // 0xc0c // MNetworkEnable - CDOTA_ModifierManager m_ModifierManager; // 0xbf8 + CDOTA_ModifierManager m_ModifierManager; // 0xc10 // MNetworkEnable - C_DOTA_UnitInventory m_Inventory; // 0xe70 + C_DOTA_UnitInventory m_Inventory; // 0xea0 private: - [[maybe_unused]] uint8_t __pad0f20[0x8]; // 0xf20 + [[maybe_unused]] uint8_t __pad0f50[0x8]; // 0xf50 public: // MNetworkEnable // MNetworkChangeCallback "OnUnitStateChanged" // MNetworkPriority "32" - uint64_t m_nUnitState64; // 0xf28 + uint64_t m_nUnitState64; // 0xf58 private: - [[maybe_unused]] uint8_t __pad0f30[0x8]; // 0xf30 + [[maybe_unused]] uint8_t __pad0f60[0x8]; // 0xf60 public: - uint64_t m_nUnitDebuffState; // 0xf38 - bool m_bHasInventory; // 0xf40 + uint64_t m_nUnitDebuffState; // 0xf68 + bool m_bHasInventory; // 0xf70 private: - [[maybe_unused]] uint8_t __pad0f41[0x3]; // 0xf41 + [[maybe_unused]] uint8_t __pad0f71[0x3]; // 0xf71 public: - int32_t m_iAcquisitionRange; // 0xf44 - int32_t m_FoWViewID; // 0xf48 - int32_t m_iPrevHealthPct; // 0xf4c - int32_t m_iPrevLifeState; // 0xf50 - int32_t m_iPrevTeam; // 0xf54 - bool m_bPrevProvidesVision; // 0xf58 + int32_t m_iAcquisitionRange; // 0xf74 + int32_t m_FoWViewID; // 0xf78 + int32_t m_iPrevHealthPct; // 0xf7c + int32_t m_iPrevLifeState; // 0xf80 + int32_t m_iPrevTeam; // 0xf84 + bool m_bPrevProvidesVision; // 0xf88 private: - [[maybe_unused]] uint8_t __pad0f59[0x7]; // 0xf59 + [[maybe_unused]] uint8_t __pad0f89[0x7]; // 0xf89 public: - uint64_t m_nPrevControllableMask; // 0xf60 + uint64_t m_nPrevControllableMask; // 0xf90 private: - [[maybe_unused]] uint8_t __pad0f68[0x8]; // 0xf68 + [[maybe_unused]] uint8_t __pad0f98[0x8]; // 0xf98 public: - CountdownTimer m_TagTime; // 0xf70 - CountdownTimer m_ClickedTime; // 0xf88 - GameTime_t m_flIdleRunPoseStartTime[2]; // 0xfa0 - float m_flIdleRunPoseDuration[2]; // 0xfa8 - bool m_bAnimationTransitionActive; // 0xfb0 + CountdownTimer m_TagTime; // 0xfa0 + CountdownTimer m_ClickedTime; // 0xfb8 + GameTime_t m_flIdleRunPoseStartTime[2]; // 0xfd0 + float m_flIdleRunPoseDuration[2]; // 0xfd8 + bool m_bAnimationTransitionActive; // 0xfe0 private: - [[maybe_unused]] uint8_t __pad0fb1[0x3]; // 0xfb1 + [[maybe_unused]] uint8_t __pad0fe1[0x3]; // 0xfe1 public: - int32_t m_nAnimationTransitionPoseParameters[2]; // 0xfb4 - int32_t m_nAnimationTransitionInjuredPoseParameters[2]; // 0xfbc - int32_t m_nAnimationTransitionAggressivePoseParameters[2]; // 0xfc4 + int32_t m_nAnimationTransitionPoseParameters[2]; // 0xfe4 + int32_t m_nAnimationTransitionInjuredPoseParameters[2]; // 0xfec + int32_t m_nAnimationTransitionAggressivePoseParameters[2]; // 0xff4 private: - [[maybe_unused]] uint8_t __pad0fcc[0x5c]; // 0xfcc + [[maybe_unused]] uint8_t __pad0ffc[0x5c]; // 0xffc public: - GameTime_t m_flTimeSinceLastAbilityNag; // 0x1028 + GameTime_t m_flTimeSinceLastAbilityNag; // 0x1058 // MNetworkEnable // MNetworkPriority "32" - int32_t m_iAttackCapabilities; // 0x102c + int32_t m_iAttackCapabilities; // 0x105c // MNetworkEnable // MNetworkPriority "32" - int32_t m_iSpecialAbility; // 0x1030 - int32_t m_iMoveCapabilities; // 0x1034 + int32_t m_iSpecialAbility; // 0x1060 + int32_t m_iMoveCapabilities; // 0x1064 // MNetworkEnable - PlayerID_t m_nPlayerOwnerID; // 0x1038 + PlayerID_t m_nPlayerOwnerID; // 0x1068 // MNetworkEnable - GameTime_t m_flLastDamageTime; // 0x103c + GameTime_t m_flLastDamageTime; // 0x106c // MNetworkEnable - GameTime_t m_flLastAttackTime; // 0x1040 + GameTime_t m_flLastAttackTime; // 0x1070 private: - [[maybe_unused]] uint8_t __pad1044[0x4]; // 0x1044 + [[maybe_unused]] uint8_t __pad1074[0x4]; // 0x1074 public: - CUtlSymbolLarge m_iszMinimapIcon; // 0x1048 + CUtlSymbolLarge m_iszMinimapIcon; // 0x1078 private: - [[maybe_unused]] uint8_t __pad1050[0x8]; // 0x1050 + [[maybe_unused]] uint8_t __pad1080[0x8]; // 0x1080 public: - float m_flMinimapIconSize; // 0x1058 - bool m_bMinimapDisableTint; // 0x105c - bool m_bMinimapDisableRotation; // 0x105d - Color m_colorHeroGlow; // 0x105e + float m_flMinimapIconSize; // 0x1088 + bool m_bMinimapDisableTint; // 0x108c + bool m_bMinimapDisableRotation; // 0x108d + Color m_colorHeroGlow; // 0x108e private: - [[maybe_unused]] uint8_t __pad1062[0x2]; // 0x1062 + [[maybe_unused]] uint8_t __pad1092[0x2]; // 0x1092 public: - int32_t m_iNearShopMask; // 0x1064 - int32_t m_nPoseParameterTurn; // 0x1068 - int32_t m_nPoseParameterRun; // 0x106c - float m_flLean; // 0x1070 - float m_flRun; // 0x1074 + int32_t m_iNearShopMask; // 0x1094 + int32_t m_nPoseParameterTurn; // 0x1098 + int32_t m_nPoseParameterRun; // 0x109c + float m_flLean; // 0x10a0 + float m_flRun; // 0x10a4 // MNetworkEnable // MNetworkPriority "32" - int32_t m_anglediff; // 0x1078 - bool m_bInfoKeyActive; // 0x107c - bool m_bNewUpdateAssetModifiersNetworked; // 0x107d + int32_t m_anglediff; // 0x10a8 + bool m_bInfoKeyActive; // 0x10ac + bool m_bNewUpdateAssetModifiersNetworked; // 0x10ad private: - [[maybe_unused]] uint8_t __pad107e[0x2]; // 0x107e + [[maybe_unused]] uint8_t __pad10ae[0x2]; // 0x10ae public: - GameTick_t m_nAssetModifiersLastUpdatedTick; // 0x1080 - bool m_bSuppressGlow; // 0x1084 - bool m_bWasSinking; // 0x1085 + GameTick_t m_nAssetModifiersLastUpdatedTick; // 0x10b0 + bool m_bSuppressGlow; // 0x10b4 + bool m_bWasSinking; // 0x10b5 private: - [[maybe_unused]] uint8_t __pad1086[0x2]; // 0x1086 + [[maybe_unused]] uint8_t __pad10b6[0x2]; // 0x10b6 public: - float m_flRangeDisplayDist; // 0x1088 + float m_flRangeDisplayDist; // 0x10b8 private: - [[maybe_unused]] uint8_t __pad108c[0x1bc]; // 0x108c + [[maybe_unused]] uint8_t __pad10bc[0x1e4]; // 0x10bc public: - CUtlSymbolLarge m_szDefaultIdle; // 0x1248 - CUtlSymbolLarge m_szDefaultRareIdle; // 0x1250 - CountdownTimer m_damagetimer; // 0x1258 - Vector m_vRenderOrigin; // 0x1270 - float m_fZDelta; // 0x127c - GameTime_t m_flDeathTime; // 0x1280 - bool m_bBaseStatsChanged; // 0x1284 - bool m_bNeedsSoundEmitterRefresh; // 0x1285 + CUtlSymbolLarge m_szDefaultIdle; // 0x12a0 + CUtlSymbolLarge m_szDefaultRareIdle; // 0x12a8 + CountdownTimer m_damagetimer; // 0x12b0 + Vector m_vRenderOrigin; // 0x12c8 + float m_fZDelta; // 0x12d4 + GameTime_t m_flDeathTime; // 0x12d8 + bool m_bBaseStatsChanged; // 0x12dc + bool m_bNeedsSoundEmitterRefresh; // 0x12dd private: - [[maybe_unused]] uint8_t __pad1286[0x2]; // 0x1286 + [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de public: // MNetworkEnable - float m_flPhysicalArmorValue; // 0x1288 + float m_flPhysicalArmorValue; // 0x12e0 // MNetworkEnable - float m_flMagicalResistanceValue; // 0x128c - int32_t m_nPrevSequenceParity; // 0x1290 + float m_flMagicalResistanceValue; // 0x12e4 + int32_t m_nPrevSequenceParity; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1294[0xa4]; // 0x1294 + [[maybe_unused]] uint8_t __pad12ec[0xa4]; // 0x12ec public: - float m_flPrevInvisLevel; // 0x1338 + float m_flPrevInvisLevel; // 0x1390 private: - [[maybe_unused]] uint8_t __pad133c[0x4]; // 0x133c + [[maybe_unused]] uint8_t __pad1394[0x4]; // 0x1394 public: - CStrongHandle< InfoForResourceTypeCModel > m_nOriginalModelIndex; // 0x1340 - CStrongHandle< InfoForResourceTypeCModel > m_nClientOriginalModelIndex; // 0x1348 - CStrongHandle< InfoForResourceTypeCModel > m_nClientReplacementModelIndex; // 0x1350 - bool m_bClientReplacementModelNeedsRebuild; // 0x1358 + CStrongHandle< InfoForResourceTypeCModel > m_nOriginalModelIndex; // 0x1398 + CStrongHandle< InfoForResourceTypeCModel > m_nClientOriginalModelIndex; // 0x13a0 + CStrongHandle< InfoForResourceTypeCModel > m_nClientReplacementModelIndex; // 0x13a8 + bool m_bClientReplacementModelNeedsRebuild; // 0x13b0 private: - [[maybe_unused]] uint8_t __pad1359[0x3]; // 0x1359 + [[maybe_unused]] uint8_t __pad13b1[0x3]; // 0x13b1 public: - int32_t m_nClientReplacementModelReloadCount; // 0x135c + int32_t m_nClientReplacementModelReloadCount; // 0x13b4 // MNetworkEnable // MNetworkChangeCallback "OnUnitModelVariantChanged" - int8_t m_nUnitModelVariant; // 0x1360 - int8_t m_nUnitModelVariantCount; // 0x1361 + int8_t m_nUnitModelVariant; // 0x13b8 + int8_t m_nUnitModelVariantCount; // 0x13b9 private: - [[maybe_unused]] uint8_t __pad1362[0x2]; // 0x1362 + [[maybe_unused]] uint8_t __pad13ba[0x2]; // 0x13ba public: - int32_t m_iPrevSequence; // 0x1364 - char* m_pLastWeatherEffectName; // 0x1368 + int32_t m_iPrevSequence; // 0x13bc + char* m_pLastWeatherEffectName; // 0x13c0 private: - [[maybe_unused]] uint8_t __pad1370[0x8]; // 0x1370 + [[maybe_unused]] uint8_t __pad13c8[0x8]; // 0x13c8 public: - CountdownTimer m_VoiceBackgroundSoundTimer; // 0x1378 + CountdownTimer m_VoiceBackgroundSoundTimer; // 0x13d0 // MNetworkEnable - bool m_bIsWaitingToSpawn; // 0x1390 + bool m_bIsWaitingToSpawn; // 0x13e8 private: - [[maybe_unused]] uint8_t __pad1391[0x7]; // 0x1391 + [[maybe_unused]] uint8_t __pad13e9[0x7]; // 0x13e9 public: // MNetworkEnable - int64_t m_nTotalDamageTaken; // 0x1398 + int64_t m_nTotalDamageTaken; // 0x13f0 // MNetworkEnable // MNetworkBitCount "18" // MNetworkMinValue "-100.000000" // MNetworkMaxValue "1000.000000" - float m_flManaRegen; // 0x13a0 + float m_flManaRegen; // 0x13f8 // MNetworkEnable // MNetworkBitCount "18" // MNetworkMinValue "-100.000000" // MNetworkMaxValue "1000.000000" - float m_flHealthRegen; // 0x13a4 + float m_flHealthRegen; // 0x13fc // MNetworkEnable - bool m_bIsMoving; // 0x13a8 + bool m_bIsMoving; // 0x1400 private: - [[maybe_unused]] uint8_t __pad13a9[0x3]; // 0x13a9 + [[maybe_unused]] uint8_t __pad1401[0x3]; // 0x1401 public: // MNetworkEnable - float m_fRevealRadius; // 0x13ac + float m_fRevealRadius; // 0x1404 // MNetworkEnable - bool m_bCanUseWards; // 0x13b0 + bool m_bCanUseWards; // 0x1408 // MNetworkEnable - bool m_bCanUseAllItems; // 0x13b1 + bool m_bCanUseAllItems; // 0x1409 private: - [[maybe_unused]] uint8_t __pad13b2[0x2]; // 0x13b2 + [[maybe_unused]] uint8_t __pad140a[0x2]; // 0x140a public: // MNetworkEnable - int32_t m_iXPBounty; // 0x13b4 + int32_t m_iXPBounty; // 0x140c // MNetworkEnable - int32_t m_iXPBountyExtra; // 0x13b8 + int32_t m_iXPBountyExtra; // 0x1410 // MNetworkEnable - int32_t m_iGoldBountyMin; // 0x13bc + int32_t m_iGoldBountyMin; // 0x1414 // MNetworkEnable - int32_t m_iGoldBountyMax; // 0x13c0 + int32_t m_iGoldBountyMax; // 0x1418 // MNetworkEnable - CHandle< C_BaseEntity > m_hGoalEntity; // 0x13c4 + CHandle< C_BaseEntity > m_hOwnerNPC; // 0x141c // MNetworkEnable - CHandle< C_DOTA_NeutralSpawner > m_hNeutralSpawner; // 0x13c8 + CHandle< C_BaseEntity > m_hGoalEntity; // 0x1420 + // MNetworkEnable + CHandle< C_DOTA_NeutralSpawner > m_hNeutralSpawner; // 0x1424 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hClientOverrideMaterial; // 0x1428 + bool m_bCombinerMaterialOverrideListChanged; // 0x1430 private: - [[maybe_unused]] uint8_t __pad13cc[0x4]; // 0x13cc + [[maybe_unused]] uint8_t __pad1431[0x3]; // 0x1431 public: - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hClientOverrideMaterial; // 0x13d0 - bool m_bCombinerMaterialOverrideListChanged; // 0x13d8 + int32_t m_nBaseModelMeshCount; // 0x1434 + CUtlVector< CStrongHandleCopyable< InfoForResourceTypeIMaterial2 > > m_combinerMaterialOverrideList; // 0x1438 + int8_t m_nArcanaLevel; // 0x1450 + int8_t m_nDefaultArcanaLevel; // 0x1451 + Color m_defaultColorGemColor; // 0x1452 private: - [[maybe_unused]] uint8_t __pad13d9[0x3]; // 0x13d9 + [[maybe_unused]] uint8_t __pad1456[0x1a]; // 0x1456 public: - int32_t m_nBaseModelMeshCount; // 0x13dc - CUtlVector< CStrongHandleCopyable< InfoForResourceTypeIMaterial2 > > m_combinerMaterialOverrideList; // 0x13e0 - int8_t m_nArcanaLevel; // 0x13f8 - int8_t m_nDefaultArcanaLevel; // 0x13f9 - Color m_defaultColorGemColor; // 0x13fa + bool m_bHasBuiltWearableSpawnList; // 0x1470 + bool m_bHasCostume; // 0x1471 + bool m_bRecreateParticleSystemsOnModifiersChange; // 0x1472 private: - [[maybe_unused]] uint8_t __pad13fe[0x1a]; // 0x13fe -public: - bool m_bHasBuiltWearableSpawnList; // 0x1418 - bool m_bHasCostume; // 0x1419 -private: - [[maybe_unused]] uint8_t __pad141a[0x11e]; // 0x141a + [[maybe_unused]] uint8_t __pad1473[0x11d]; // 0x1473 public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_NetworkActivity; // 0x1538 - int32_t m_PrevNetworkActivity; // 0x153c + int32_t m_NetworkActivity; // 0x1590 + int32_t m_PrevNetworkActivity; // 0x1594 // MNetworkEnable // MNetworkPriority "32" - int32_t m_NetworkSequenceIndex; // 0x1540 + int32_t m_NetworkSequenceIndex; // 0x1598 // MNetworkEnable - bool m_bShouldDoFlyHeightVisual; // 0x1544 + bool m_bShouldDoFlyHeightVisual; // 0x159c private: - [[maybe_unused]] uint8_t __pad1545[0x3]; // 0x1545 + [[maybe_unused]] uint8_t __pad159d[0x3]; // 0x159d public: // MNetworkEnable - float m_flStartSequenceCycle; // 0x1548 + float m_flStartSequenceCycle; // 0x15a0 private: - [[maybe_unused]] uint8_t __pad154c[0x4]; // 0x154c + [[maybe_unused]] uint8_t __pad15a4[0x4]; // 0x15a4 public: - CUtlVector< CUtlSymbol > m_ActivityModifiers; // 0x1550 - CHandle< C_SceneEntity > m_hBackgroundSceneEnt; // 0x1568 - CHandle< C_SceneEntity > m_hSpeakingSceneEnt; // 0x156c + CUtlVector< CUtlSymbol > m_ActivityModifiers; // 0x15a8 + CHandle< C_SceneEntity > m_hBackgroundSceneEnt; // 0x15c0 + CHandle< C_SceneEntity > m_hSpeakingSceneEnt; // 0x15c4 private: - [[maybe_unused]] uint8_t __pad1570[0x10]; // 0x1570 + [[maybe_unused]] uint8_t __pad15c8[0x10]; // 0x15c8 public: - CUtlVector< CHandle< C_EconWearable > > m_hOldWearables; // 0x1580 - CUtlVector< CUtlStringToken > m_hOldWearableSkins; // 0x1598 + CUtlVector< CHandle< C_EconWearable > > m_hOldWearables; // 0x15d8 + CUtlVector< CUtlStringToken > m_hOldWearableSkins; // 0x15f0 // MNetworkEnable - char m_CustomHealthLabel[256]; // 0x15b0 + char m_CustomHealthLabel[256]; // 0x1608 // MNetworkEnable - Color m_CustomHealthLabelColor; // 0x16b0 - item_definition_index_t m_nWearableDefIndex; // 0x16b4 + Color m_CustomHealthLabelColor; // 0x1708 + item_definition_index_t m_nWearableDefIndex; // 0x170c private: - [[maybe_unused]] uint8_t __pad16b8[0x1]; // 0x16b8 + [[maybe_unused]] uint8_t __pad1710[0x1]; // 0x1710 public: - Color m_gibTintColor; // 0x16b9 - bool m_bForceMaterialCombine; // 0x16bd - bool m_bShouldDrawParticlesWhileHidden; // 0x16be - bool m_bIsClientThinkPending; // 0x16bf - bool m_bActivityModifiersDirty; // 0x16c0 - bool m_bUnitModelVariantChanged; // 0x16c1 - bool m_bWearablesAreTaunting; // 0x16c2 + Color m_gibTintColor; // 0x1711 + bool m_bForceMaterialCombine; // 0x1715 + bool m_bShouldDrawParticlesWhileHidden; // 0x1716 + bool m_bIsClientThinkPending; // 0x1717 + bool m_bActivityModifiersDirty; // 0x1718 + bool m_bUnitModelVariantChanged; // 0x1719 + bool m_bWearablesAreTaunting; // 0x171a private: - [[maybe_unused]] uint8_t __pad16c3[0x15]; // 0x16c3 + [[maybe_unused]] uint8_t __pad171b[0x15]; // 0x171b public: - bool m_bShowCannotBeDisabledIcon; // 0x16d8 + bool m_bShowCannotBeDisabledIcon; // 0x1730 }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_BaseNPC_Additive : public C_DOTA_BaseNPC { public: @@ -76562,46 +77522,46 @@ public: }; // Alignment: 16 -// Size: 0x1760 +// Size: 0x17b8 class C_DOTA_BaseNPC_Building : public C_DOTA_BaseNPC { public: // MNetworkEnable - int32_t m_iDamageLevel; // 0x16f8 - ParticleIndex_t m_nAmbientFXIndex; // 0x16fc - ParticleIndex_t m_nTPFXIndex; // 0x1700 - ParticleIndex_t m_nStatusFXIndex; // 0x1704 + int32_t m_iDamageLevel; // 0x1750 + ParticleIndex_t m_nAmbientFXIndex; // 0x1754 + ParticleIndex_t m_nTPFXIndex; // 0x1758 + ParticleIndex_t m_nStatusFXIndex; // 0x175c // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndex; // 0x1708 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndex; // 0x1760 // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndexDestruction; // 0x1710 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndexDestruction; // 0x1768 // MNetworkEnable - QAngle m_angInitialAngles; // 0x1718 + QAngle m_angInitialAngles; // 0x1770 // MNetworkEnable - HSequence m_hHeroStatueSequence; // 0x1724 + HSequence m_hHeroStatueSequence; // 0x177c // MNetworkEnable - HSequence m_hConstantLayerSequence; // 0x1728 + HSequence m_hConstantLayerSequence; // 0x1780 // MNetworkEnable - float m_fHeroStatueCycle; // 0x172c + float m_fHeroStatueCycle; // 0x1784 // MNetworkEnable - int32_t m_iHeroStatueStatusEffectIndex; // 0x1730 + int32_t m_iHeroStatueStatusEffectIndex; // 0x1788 // MNetworkEnable - bool m_bHeroStatue; // 0x1734 + bool m_bHeroStatue; // 0x178c // MNetworkEnable - bool m_bBattleCup; // 0x1735 + bool m_bBattleCup; // 0x178d // MNetworkEnable - char m_HeroStatueInscription[32]; // 0x1736 + char m_HeroStatueInscription[32]; // 0x178e private: - [[maybe_unused]] uint8_t __pad1756[0x2]; // 0x1756 + [[maybe_unused]] uint8_t __pad17ae[0x2]; // 0x17ae public: // MNetworkEnable - PlayerID_t m_iHeroStatueOwnerPlayerID; // 0x1758 + PlayerID_t m_iHeroStatueOwnerPlayerID; // 0x17b0 // MNetworkEnable - Color m_ParticleTintColor; // 0x175c + Color m_ParticleTintColor; // 0x17b4 }; // Alignment: 0 -// Size: 0x1760 +// Size: 0x17b8 class C_DOTA_BaseNPC_Filler : public C_DOTA_BaseNPC_Building { public: @@ -76609,22 +77569,22 @@ public: }; // Alignment: 3 -// Size: 0x1778 +// Size: 0x17d0 class C_DOTA_BaseNPC_Watch_Tower : public C_DOTA_BaseNPC_Building { public: - ParticleIndex_t m_iRangeFX; // 0x1760 + ParticleIndex_t m_iRangeFX; // 0x17b8 private: - [[maybe_unused]] uint8_t __pad1764[0x4]; // 0x1764 + [[maybe_unused]] uint8_t __pad17bc[0x4]; // 0x17bc public: // MNetworkEnable - CUtlSymbolLarge m_szOutpostName; // 0x1768 + CUtlSymbolLarge m_szOutpostName; // 0x17c0 // MNetworkEnable - CUtlSymbolLarge m_szInteractAbilityName; // 0x1770 + CUtlSymbolLarge m_szInteractAbilityName; // 0x17c8 }; // Alignment: 0 -// Size: 0x1760 +// Size: 0x17b8 class C_DOTA_BaseNPC_MangoTree : public C_DOTA_BaseNPC_Building { public: @@ -76632,7 +77592,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_NPC_BaseBlocker : public C_DOTA_BaseNPC_Additive { public: @@ -76640,56 +77600,56 @@ public: }; // Alignment: 5 -// Size: 0x1780 +// Size: 0x17d8 class C_DOTA_NPC_Lantern : public C_DOTA_BaseNPC_Building { public: // MNetworkEnable - CUtlSymbolLarge m_szInteractAbilityName; // 0x1760 - CNewParticleEffect* m_pVisionRangeFX; // 0x1768 - ParticleIndex_t m_iFxIndex; // 0x1770 - int32_t m_nPreviewViewer; // 0x1774 - int32_t m_nTeamNumberShown; // 0x1778 + CUtlSymbolLarge m_szInteractAbilityName; // 0x17b8 + CNewParticleEffect* m_pVisionRangeFX; // 0x17c0 + ParticleIndex_t m_iFxIndex; // 0x17c8 + int32_t m_nPreviewViewer; // 0x17cc + int32_t m_nTeamNumberShown; // 0x17d0 }; // Alignment: 1 -// Size: 0x1768 +// Size: 0x17c0 class C_DOTA_BaseNPC_Healer : public C_DOTA_BaseNPC_Building { public: - ParticleIndex_t m_iRangeFX; // 0x1760 + ParticleIndex_t m_iRangeFX; // 0x17b8 }; // Alignment: 8 -// Size: 0x17a0 +// Size: 0x17f8 class C_DOTA_BaseNPC_Tower : public C_DOTA_BaseNPC_Building { public: - ParticleIndex_t m_iRangeFX; // 0x1760 + ParticleIndex_t m_iRangeFX; // 0x17b8 // MNetworkEnable - CHandle< C_BaseEntity > m_hTowerAttackTarget; // 0x1764 + CHandle< C_BaseEntity > m_hTowerAttackTarget; // 0x17bc // MNetworkEnable - CHandle< C_BaseEntity > m_hTowerHighFiveTarget; // 0x1768 - int32_t m_iPoseParameterAim; // 0x176c - QAngle m_angDefaultCustomTowerAngle; // 0x1770 - float m_flLastAimYaw; // 0x177c - bool m_bClientSideCustomTower; // 0x1780 + CHandle< C_BaseEntity > m_hTowerHighFiveTarget; // 0x17c0 + int32_t m_iPoseParameterAim; // 0x17c4 + QAngle m_angDefaultCustomTowerAngle; // 0x17c8 + float m_flLastAimYaw; // 0x17d4 + bool m_bClientSideCustomTower; // 0x17d8 private: - [[maybe_unused]] uint8_t __pad1781[0x7]; // 0x1781 + [[maybe_unused]] uint8_t __pad17d9[0x7]; // 0x17d9 public: - CountdownTimer m_IdleRareAnimationTime; // 0x1788 + CountdownTimer m_IdleRareAnimationTime; // 0x17e0 }; // Alignment: 1 -// Size: 0x17a8 +// Size: 0x1800 class C_DOTA_BaseNPC_HoldoutTower : public C_DOTA_BaseNPC_Tower { public: - DOTA_HOLDOUT_TOWER_TYPE m_iTowerType; // 0x17a0 + DOTA_HOLDOUT_TOWER_TYPE m_iTowerType; // 0x17f8 }; // Alignment: 0 -// Size: 0x17a8 +// Size: 0x1800 class C_DOTA_BaseNPC_SDKTower : public C_DOTA_BaseNPC_HoldoutTower { public: @@ -76697,7 +77657,7 @@ public: }; // Alignment: 0 -// Size: 0x17a8 +// Size: 0x1800 class C_DOTA_BaseNPC_HoldoutTower_LightFast : public C_DOTA_BaseNPC_HoldoutTower { public: @@ -76705,7 +77665,7 @@ public: }; // Alignment: 0 -// Size: 0x17a8 +// Size: 0x1800 class C_DOTA_BaseNPC_HoldoutTower_HeavySlow : public C_DOTA_BaseNPC_HoldoutTower { public: @@ -76713,7 +77673,7 @@ public: }; // Alignment: 0 -// Size: 0x17a8 +// Size: 0x1800 class C_DOTA_BaseNPC_HoldoutTower_ReduceSpeed : public C_DOTA_BaseNPC_HoldoutTower { public: @@ -76721,7 +77681,7 @@ public: }; // Alignment: 0 -// Size: 0x1760 +// Size: 0x17b8 class C_DOTA_BaseNPC_Barracks : public C_DOTA_BaseNPC_Building { public: @@ -76729,7 +77689,7 @@ public: }; // Alignment: 0 -// Size: 0x1760 +// Size: 0x17b8 class C_DOTA_BaseNPC_Fort : public C_DOTA_BaseNPC_Building { public: @@ -76737,7 +77697,7 @@ public: }; // Alignment: 0 -// Size: 0x1760 +// Size: 0x17b8 class C_DOTA_BaseNPC_Effigy_Statue : public C_DOTA_BaseNPC_Building { public: @@ -76745,7 +77705,7 @@ public: }; // Alignment: 0 -// Size: 0x1760 +// Size: 0x17b8 class C_DOTA_BaseNPC_Effigy_BattleCup : public C_DOTA_BaseNPC_Building { public: @@ -76753,113 +77713,113 @@ public: }; // Alignment: 2 -// Size: 0x1700 +// Size: 0x1758 class C_DOTA_BaseNPC_RotatableBuilding : public C_DOTA_BaseNPC { public: // MNetworkEnable // MNetworkAlias "m_hHeroStatueSequence" - HSequence m_hObsoleteHeroStatueSequence; // 0x16f8 + HSequence m_hObsoleteHeroStatueSequence; // 0x1750 // MNetworkEnable // MNetworkAlias "m_hConstantLayerSequence" - HSequence m_hObsoleteConstantLayerSequence; // 0x16fc + HSequence m_hObsoleteConstantLayerSequence; // 0x1754 }; // Alignment: 53 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_BaseNPC_Hero : public C_DOTA_BaseNPC_Additive { private: - [[maybe_unused]] uint8_t __pad16f8[0x8]; // 0x16f8 + [[maybe_unused]] uint8_t __pad1750[0x8]; // 0x1750 public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_iCurrentXP; // 0x1700 + int32_t m_iCurrentXP; // 0x1758 // MNetworkEnable // MNetworkChangeCallback "OnAbilityPointsChanged" - int32_t m_iAbilityPoints; // 0x1704 + int32_t m_iAbilityPoints; // 0x175c // MNetworkEnable - GameTime_t m_flRespawnTime; // 0x1708 + GameTime_t m_flRespawnTime; // 0x1760 // MNetworkEnable - float m_flRespawnTimePenalty; // 0x170c + float m_flRespawnTimePenalty; // 0x1764 // MNetworkEnable // MNetworkChangeCallback "OnBaseStatChanged" - float m_flStrength; // 0x1710 + float m_flStrength; // 0x1768 // MNetworkEnable // MNetworkChangeCallback "OnBaseStatChanged" - float m_flAgility; // 0x1714 + float m_flAgility; // 0x176c // MNetworkEnable // MNetworkChangeCallback "OnBaseStatChanged" - float m_flIntellect; // 0x1718 + float m_flIntellect; // 0x1770 // MNetworkEnable // MNetworkChangeCallback "OnBaseStatChanged" - float m_flStrengthTotal; // 0x171c + float m_flStrengthTotal; // 0x1774 // MNetworkEnable // MNetworkChangeCallback "OnBaseStatChanged" - float m_flAgilityTotal; // 0x1720 + float m_flAgilityTotal; // 0x1778 // MNetworkEnable // MNetworkChangeCallback "OnBaseStatChanged" - float m_flIntellectTotal; // 0x1724 + float m_flIntellectTotal; // 0x177c // MNetworkEnable - GameTime_t m_flDeathTime; // 0x1728 + GameTime_t m_flDeathTime; // 0x1780 // MNetworkEnable - int32_t m_iRecentDamage; // 0x172c - float m_fPainFactor; // 0x1730 - float m_fTargetPainFactor; // 0x1734 - bool m_bLifeState; // 0x1738 + int32_t m_iRecentDamage; // 0x1784 + float m_fPainFactor; // 0x1788 + float m_fTargetPainFactor; // 0x178c + bool m_bLifeState; // 0x1790 private: - [[maybe_unused]] uint8_t __pad1739[0x3]; // 0x1739 + [[maybe_unused]] uint8_t __pad1791[0x3]; // 0x1791 public: - ParticleIndex_t m_nFXStunIndex; // 0x173c - ParticleIndex_t m_nFXSilenceIndex; // 0x1740 - ParticleIndex_t m_nFXDeathIndex; // 0x1744 + ParticleIndex_t m_nFXStunIndex; // 0x1794 + ParticleIndex_t m_nFXSilenceIndex; // 0x1798 + ParticleIndex_t m_nFXDeathIndex; // 0x179c private: - [[maybe_unused]] uint8_t __pad1748[0x20]; // 0x1748 + [[maybe_unused]] uint8_t __pad17a0[0x20]; // 0x17a0 public: // MNetworkEnable - PlayerID_t m_iPlayerID; // 0x1768 + PlayerID_t m_iPlayerID; // 0x17c0 // MNetworkEnable - CHandle< C_DOTA_BaseNPC_Hero > m_hReplicatingOtherHeroModel; // 0x176c + CHandle< C_DOTA_BaseNPC_Hero > m_hReplicatingOtherHeroModel; // 0x17c4 // MNetworkEnable - bool m_bReincarnating; // 0x1770 + bool m_bReincarnating; // 0x17c8 // MNetworkEnable - bool m_bCustomKillEffect; // 0x1771 + bool m_bCustomKillEffect; // 0x17c9 private: - [[maybe_unused]] uint8_t __pad1772[0x2]; // 0x1772 + [[maybe_unused]] uint8_t __pad17ca[0x2]; // 0x17ca public: // MNetworkEnable - GameTime_t m_flSpawnedAt; // 0x1774 + GameTime_t m_flSpawnedAt; // 0x17cc // MNetworkEnable - bool m_bScriptDisableRespawns; // 0x1778 + bool m_bScriptDisableRespawns; // 0x17d0 private: - [[maybe_unused]] uint8_t __pad1779[0x3]; // 0x1779 + [[maybe_unused]] uint8_t __pad17d1[0x3]; // 0x17d1 public: // MNetworkEnable - int32_t m_iPrimaryAttribute; // 0x177c - int32_t m_nLastDrawnHealth; // 0x1780 - float m_flHurtAmount; // 0x1784 - GameTime_t m_flLastHurtTime; // 0x1788 - float m_flHurtDecayRate; // 0x178c - GameTime_t m_flLastHealTime; // 0x1790 - GameTime_t m_flLastTreeShakeTime; // 0x1794 - CountdownTimer m_CenterOnHeroCooldownTimer; // 0x1798 + int32_t m_iPrimaryAttribute; // 0x17d4 + int32_t m_nLastDrawnHealth; // 0x17d8 + float m_flHurtAmount; // 0x17dc + GameTime_t m_flLastHurtTime; // 0x17e0 + float m_flHurtDecayRate; // 0x17e4 + GameTime_t m_flLastHealTime; // 0x17e8 + GameTime_t m_flLastTreeShakeTime; // 0x17ec + CountdownTimer m_CenterOnHeroCooldownTimer; // 0x17f0 private: - [[maybe_unused]] uint8_t __pad17b0[0x208]; // 0x17b0 + [[maybe_unused]] uint8_t __pad1808[0x208]; // 0x1808 public: - CStrongHandle< InfoForResourceTypeCModel > m_CombinedModels[4]; // 0x19b8 - int32_t m_nCurrentCombinedModelIndex; // 0x19d8 - int32_t m_nPendingCombinedModelIndex; // 0x19dc - int32_t m_iHeroID; // 0x19e0 - float m_flCheckLegacyItemsAt; // 0x19e4 - bool m_bDisplayAdditionalHeroes; // 0x19e8 + CStrongHandle< InfoForResourceTypeCModel > m_CombinedModels[4]; // 0x1a10 + int32_t m_nCurrentCombinedModelIndex; // 0x1a30 + int32_t m_nPendingCombinedModelIndex; // 0x1a34 + int32_t m_iHeroID; // 0x1a38 + float m_flCheckLegacyItemsAt; // 0x1a3c + bool m_bDisplayAdditionalHeroes; // 0x1a40 private: - [[maybe_unused]] uint8_t __pad19e9[0xf]; // 0x19e9 + [[maybe_unused]] uint8_t __pad1a41[0xf]; // 0x1a41 public: - CStrongHandle< InfoForResourceTypeCModel > m_CombinedParticleModels[4]; // 0x19f8 - CUtlVector< ParticleIndex_t > m_vecAttachedParticleIndeces; // 0x1a18 - CUtlVector< CHandle< C_BaseEntity > > m_hPets; // 0x1a30 - ParticleIndex_t m_nKillStreakFX; // 0x1a48 - int32_t m_nKillStreakFXTier; // 0x1a4c + CStrongHandle< InfoForResourceTypeCModel > m_CombinedParticleModels[4]; // 0x1a50 + CUtlVector< ParticleIndex_t > m_vecAttachedParticleIndeces; // 0x1a70 + CUtlVector< CHandle< C_BaseEntity > > m_hPets; // 0x1a88 + ParticleIndex_t m_nKillStreakFX; // 0x1aa0 + int32_t m_nKillStreakFXTier; // 0x1aa4 struct { uint8_t m_bBuybackDisabled: 1; @@ -76877,16 +77837,16 @@ public: }; // Alignment: 1 -// Size: 0x1700 +// Size: 0x1758 class C_DOTA_BaseNPC_Creep : public C_DOTA_BaseNPC_Additive { public: // MNetworkEnable - float m_flAim; // 0x16f8 + float m_flAim; // 0x1750 }; // Alignment: 0 -// Size: 0x1700 +// Size: 0x1758 class C_DOTA_BaseNPC_Creep_Lane : public C_DOTA_BaseNPC_Creep { public: @@ -76894,7 +77854,7 @@ public: }; // Alignment: 0 -// Size: 0x1700 +// Size: 0x1758 class C_DOTA_BaseNPC_Creep_Siege : public C_DOTA_BaseNPC_Creep_Lane { public: @@ -76902,15 +77862,15 @@ public: }; // Alignment: 1 -// Size: 0x1708 +// Size: 0x1760 class C_DOTA_BaseNPC_Creep_Neutral : public C_DOTA_BaseNPC_Creep { public: - CUtlString m_sDisplayName; // 0x1700 + CUtlString m_sDisplayName; // 0x1758 }; // Alignment: 0 -// Size: 0x1700 +// Size: 0x1758 class C_DOTA_BaseNPC_Creep_Talking : public C_DOTA_BaseNPC_Creep { public: @@ -76918,37 +77878,37 @@ public: }; // Alignment: 2 -// Size: 0x1708 +// Size: 0x1760 class C_DOTA_BaseNPC_Creature : public C_DOTA_BaseNPC_Creep { public: // MNetworkEnable - bool m_bIsCurrentlyChanneling; // 0x1700 + bool m_bIsCurrentlyChanneling; // 0x1758 private: - [[maybe_unused]] uint8_t __pad1701[0x3]; // 0x1701 + [[maybe_unused]] uint8_t __pad1759[0x3]; // 0x1759 public: // MNetworkEnable - float m_flChannelCycle; // 0x1704 + float m_flChannelCycle; // 0x175c }; // Alignment: 4 -// Size: 0x17a8 +// Size: 0x1800 class C_DOTA_BaseNPC_NeutralItemStash : public C_DOTA_BaseNPC_Building { private: - [[maybe_unused]] uint8_t __pad1760[0x10]; // 0x1760 + [[maybe_unused]] uint8_t __pad17b8[0x10]; // 0x17b8 public: - CUtlVector< ParticleIndex_t > m_vecNewItemFX; // 0x1770 - bool m_bHasFoundProps; // 0x1788 - bool m_bDidHaveNewItems; // 0x1789 + CUtlVector< ParticleIndex_t > m_vecNewItemFX; // 0x17c8 + bool m_bHasFoundProps; // 0x17e0 + bool m_bDidHaveNewItems; // 0x17e1 private: - [[maybe_unused]] uint8_t __pad178a[0x6]; // 0x178a + [[maybe_unused]] uint8_t __pad17e2[0x6]; // 0x17e2 public: - CUtlVector< CHandle< C_DynamicPropClientside > > m_vecProps; // 0x1790 + CUtlVector< CHandle< C_DynamicPropClientside > > m_vecProps; // 0x17e8 }; // Alignment: 0 -// Size: 0x1708 +// Size: 0x1760 class C_DOTA_BaseNPC_Trap_Ward : public C_DOTA_BaseNPC_Creature { public: @@ -76956,30 +77916,30 @@ public: }; // Alignment: 4 -// Size: 0x17a0 +// Size: 0x17f8 class C_DOTA_BaseNPC_Shop : public C_DOTA_BaseNPC_Building { public: // MNetworkEnable - DOTA_SHOP_TYPE m_ShopType; // 0x1760 + DOTA_SHOP_TYPE m_ShopType; // 0x17b8 private: - [[maybe_unused]] uint8_t __pad1764[0x24]; // 0x1764 + [[maybe_unused]] uint8_t __pad17bc[0x24]; // 0x17bc public: - ParticleIndex_t m_nShopFX; // 0x1788 - Vector m_vShopFXOrigin; // 0x178c - float m_flLastSpeech; // 0x1798 + ParticleIndex_t m_nShopFX; // 0x17e0 + Vector m_vShopFXOrigin; // 0x17e4 + float m_flLastSpeech; // 0x17f0 }; // Alignment: 1 -// Size: 0x1768 +// Size: 0x17c0 class C_DOTA_BaseNPC_HallofFame : public C_DOTA_BaseNPC_Building { public: - int32_t m_HallofFame; // 0x1760 + int32_t m_HallofFame; // 0x17b8 }; // Alignment: 0 -// Size: 0x1760 +// Size: 0x17b8 class C_DOTA_BaseNPC_Promo : public C_DOTA_BaseNPC_Building { public: @@ -76987,56 +77947,58 @@ public: }; // Alignment: 3 -// Size: 0x1740 +// Size: 0x1798 class C_PortraitHero : public C_DOTA_BaseNPC { public: - int32_t m_nHeroID; // 0x16f8 - int32_t m_actQueuedActivity; // 0x16fc - char m_szQueuedActivityModifier[64]; // 0x1700 + int32_t m_nHeroID; // 0x1750 + int32_t m_actQueuedActivity; // 0x1754 + char m_szQueuedActivityModifier[64]; // 0x1758 }; -// Alignment: 17 -// Size: 0x1958 +// Alignment: 19 +// Size: 0x1ab0 class C_PortraitWorldUnit : public C_DOTA_BaseNPC { public: - bool m_bSuppressIntroEffects; // 0x16f8 - bool m_bIsAlternateLoadout; // 0x16f9 - bool m_bSpawnBackgroundModels; // 0x16fa - bool m_bDeferredPortrait; // 0x16fb - bool m_bShowParticleAssetModifiers; // 0x16fc - bool m_bIgnorePortraitInfo; // 0x16fd - bool m_bFlyingCourier; // 0x16fe + bool m_bSuppressIntroEffects; // 0x1750 + bool m_bIsAlternateLoadout; // 0x1751 + bool m_bSpawnBackgroundModels; // 0x1752 + bool m_bDeferredPortrait; // 0x1753 + bool m_bShowParticleAssetModifiers; // 0x1754 + bool m_bIgnorePortraitInfo; // 0x1755 + bool m_bFlyingCourier; // 0x1756 + bool m_bDisableDefaultModifiers; // 0x1757 + int32_t m_nEffigyStatusEffect; // 0x1758 private: - [[maybe_unused]] uint8_t __pad16ff[0x1]; // 0x16ff + [[maybe_unused]] uint8_t __pad175c[0x4]; // 0x175c public: - int32_t m_nEffigyStatusEffect; // 0x1700 + CUtlSymbolLarge m_effigySequenceName; // 0x1760 + float m_flStartingAnimationCycle; // 0x1768 + float m_flAnimationPlaybackSpeed; // 0x176c + float m_flRareLoadoutAnimChance; // 0x1770 private: - [[maybe_unused]] uint8_t __pad1704[0x4]; // 0x1704 + [[maybe_unused]] uint8_t __pad1774[0x4]; // 0x1774 public: - CUtlSymbolLarge m_effigySequenceName; // 0x1708 - float m_flStartingAnimationCycle; // 0x1710 - float m_flRareLoadoutAnimChance; // 0x1714 - CUtlVector< CUtlSymbolLarge > m_vecActivityModifiers; // 0x1718 - DOTAPortraitEnvironmentType_t m_environment; // 0x1730 + CUtlVector< CUtlSymbolLarge > m_vecActivityModifiers; // 0x1778 + DOTAPortraitEnvironmentType_t m_environment; // 0x1790 private: - [[maybe_unused]] uint8_t __pad1734[0x4]; // 0x1734 + [[maybe_unused]] uint8_t __pad1794[0x4]; // 0x1794 public: - StartupBehavior_t m_nStartupBehavior; // 0x1738 + StartupBehavior_t m_nStartupBehavior; // 0x1798 private: - [[maybe_unused]] uint8_t __pad173c[0x1bc]; // 0x173c + [[maybe_unused]] uint8_t __pad179c[0x1e4]; // 0x179c public: - CUtlSymbolLarge m_cameraName; // 0x18f8 + CUtlSymbolLarge m_cameraName; // 0x1980 private: - [[maybe_unused]] uint8_t __pad1900[0x50]; // 0x1900 + [[maybe_unused]] uint8_t __pad1988[0x50]; // 0x1988 public: - ParticleIndex_t m_nPortraitParticle; // 0x1950 - int32_t m_nCourierType; // 0x1954 + ParticleIndex_t m_nPortraitParticle; // 0x19d8 + int32_t m_nCourierType; // 0x19dc }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_BaseNPC_Seasonal_Snowman : public C_DOTA_BaseNPC_Additive { public: @@ -77044,7 +78006,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_BaseNPC_Seasonal_Penguin : public C_DOTA_BaseNPC_Additive { public: @@ -77052,7 +78014,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_BaseNPC_Seasonal_Dragon : public C_DOTA_BaseNPC_Additive { public: @@ -77060,7 +78022,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_BaseNPC_Seasonal_CNY_Balloon : public C_DOTA_BaseNPC_Additive { public: @@ -77068,7 +78030,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_BaseNPC_Seasonal_TI9_Balloon : public C_DOTA_BaseNPC_Additive { public: @@ -77076,7 +78038,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_BaseNPC_Seasonal_TI9_Drums : public C_DOTA_BaseNPC_Additive { public: @@ -77084,7 +78046,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_BaseNPC_Seasonal_TI9_Monkey : public C_DOTA_BaseNPC_Additive { public: @@ -77092,7 +78054,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_BaseNPC_Frostivus2018_Snowman : public C_DOTA_BaseNPC_Additive { public: @@ -77100,7 +78062,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_BaseNPC_Frostivus2018_Clinkz_Skeleton_Army : public C_DOTA_BaseNPC { public: @@ -77108,7 +78070,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_Unit_SpectralTusk_Tombstone : public C_DOTA_BaseNPC_Additive { public: @@ -77116,19 +78078,19 @@ public: }; // Alignment: 5 -// Size: 0x1778 +// Size: 0x17d0 class C_DOTA_Unit_Diretide_Portal : public C_DOTA_BaseNPC_Building { public: - CHandle< C_BaseEntity > m_hPartnerPortal; // 0x1760 - int32_t m_nRuneType; // 0x1764 - int32_t m_nOriginalTeamNumber; // 0x1768 - ParticleIndex_t m_nActiveFXIndex; // 0x176c - ParticleIndex_t m_nRuneFXIndex; // 0x1770 + CHandle< C_BaseEntity > m_hPartnerPortal; // 0x17b8 + int32_t m_nRuneType; // 0x17bc + int32_t m_nOriginalTeamNumber; // 0x17c0 + ParticleIndex_t m_nActiveFXIndex; // 0x17c4 + ParticleIndex_t m_nRuneFXIndex; // 0x17c8 }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_BaseNPC_Spring2021_DefusalBomb : public C_DOTA_BaseNPC_Additive { public: @@ -77136,7 +78098,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_BaseNPC_Spring2021_MeteorCrashSite : public C_DOTA_BaseNPC_Additive { public: @@ -77144,7 +78106,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_BaseNPC_Spring2021_AbilityBuilding : public C_DOTA_BaseNPC_Additive { public: @@ -77152,7 +78114,7 @@ public: }; // Alignment: 0 -// Size: 0x1760 +// Size: 0x17b8 class CDOTA_BaseNPC_Winter2022_CandyBucket : public C_DOTA_BaseNPC_Building { public: @@ -77160,7 +78122,7 @@ public: }; // Alignment: 0 -// Size: 0x1708 +// Size: 0x1760 class CDOTA_BaseNPC_Winter2022_FeedableRoshan : public C_DOTA_BaseNPC_Creature { public: @@ -77168,7 +78130,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_Unit_AghsFort_SpectralTusk_Tombstone : public C_DOTA_BaseNPC_Additive { public: @@ -77176,7 +78138,7 @@ public: }; // Alignment: 0 -// Size: 0x1708 +// Size: 0x1760 class CDOTA_Unit_AghsFort_Creature_DragonKnight : public C_DOTA_BaseNPC_Creature { public: @@ -77184,23 +78146,23 @@ public: }; // Alignment: 1 -// Size: 0x1700 +// Size: 0x1758 class C_DOTA_Unit_Aghsfort_Aziyog_Underlord_Portal : public C_DOTA_BaseNPC_Additive { public: - CHandle< C_BaseEntity > m_hOtherPortal; // 0x16f8 + CHandle< C_BaseEntity > m_hOtherPortal; // 0x1750 }; // Alignment: 1 -// Size: 0x1710 +// Size: 0x1768 class C_DOTA_Unit_AghsFort_Creature_DungeonBat : public C_DOTA_BaseNPC_Creature { public: - ParticleIndex_t m_nFXAmbient; // 0x1708 + ParticleIndex_t m_nFXAmbient; // 0x1760 }; // Alignment: 0 -// Size: 0x1708 +// Size: 0x1760 class C_DOTA_Unit_AghsFort_Creature_Batrider : public C_DOTA_BaseNPC_Creature { public: @@ -77208,60 +78170,60 @@ public: }; // Alignment: 1 -// Size: 0x1768 +// Size: 0x17c0 class CDOTA_BaseNPC_Effigy_AghsFort : public C_DOTA_BaseNPC_Building { public: - uint32_t m_unStatusEffectIndex; // 0x1760 + uint32_t m_unStatusEffectIndex; // 0x17b8 }; // Alignment: 20 -// Size: 0x17d8 +// Size: 0x1830 class CDOTA_BaseNPC_AghsFort_Watch_Tower : public C_DOTA_BaseNPC_Building { public: - int32_t m_nOptionNumber; // 0x1760 - float m_flMovePlayersRadius; // 0x1764 - CDOTA_BaseNPC_AghsFort_Watch_Tower::ExitDirection_t m_nExitDirection; // 0x1768 - Vector m_vExitLocation; // 0x176c - int32_t m_nPathSelectedID; // 0x1778 + int32_t m_nOptionNumber; // 0x17b8 + float m_flMovePlayersRadius; // 0x17bc + CDOTA_BaseNPC_AghsFort_Watch_Tower::ExitDirection_t m_nExitDirection; // 0x17c0 + Vector m_vExitLocation; // 0x17c4 + int32_t m_nPathSelectedID; // 0x17d0 // MNetworkEnable - int32_t m_nEncounterType; // 0x177c + int32_t m_nEncounterType; // 0x17d4 // MNetworkEnable - bool m_bIsEliteEncounter; // 0x1780 + bool m_bIsEliteEncounter; // 0x17d8 // MNetworkEnable - bool m_bIsAscensionLevelPicker; // 0x1781 + bool m_bIsAscensionLevelPicker; // 0x17d9 private: - [[maybe_unused]] uint8_t __pad1782[0x6]; // 0x1782 + [[maybe_unused]] uint8_t __pad17da[0x6]; // 0x17da public: // MNetworkEnable - CUtlSymbolLarge m_strEncounterName; // 0x1788 + CUtlSymbolLarge m_strEncounterName; // 0x17e0 // MNetworkEnable - CUtlSymbolLarge m_strAscensionAbilities; // 0x1790 + CUtlSymbolLarge m_strAscensionAbilities; // 0x17e8 // MNetworkEnable - CHandle< C_BaseEntity > m_hEffigy; // 0x1798 - float m_flYaw; // 0x179c - float m_flStartTime; // 0x17a0 - GameTime_t m_flCursorEnterTime; // 0x17a4 - bool m_bShowingTooltip; // 0x17a8 + CHandle< C_BaseEntity > m_hEffigy; // 0x17f0 + float m_flYaw; // 0x17f4 + float m_flStartTime; // 0x17f8 + GameTime_t m_flCursorEnterTime; // 0x17fc + bool m_bShowingTooltip; // 0x1800 private: - [[maybe_unused]] uint8_t __pad17a9[0x1b]; // 0x17a9 + [[maybe_unused]] uint8_t __pad1801[0x1b]; // 0x1801 public: - float m_flLastUpdateTime; // 0x17c4 - ParticleIndex_t m_nChannellingParticle; // 0x17c8 + float m_flLastUpdateTime; // 0x181c + ParticleIndex_t m_nChannellingParticle; // 0x1820 // MNetworkEnable - CHandle< CBaseAnimatingActivity > m_hRoomGate; // 0x17cc + CHandle< CBaseAnimatingActivity > m_hRoomGate; // 0x1824 // MNetworkEnable - bool m_bIsBeingChanneled; // 0x17d0 + bool m_bIsBeingChanneled; // 0x1828 private: - [[maybe_unused]] uint8_t __pad17d1[0x3]; // 0x17d1 + [[maybe_unused]] uint8_t __pad1829[0x3]; // 0x1829 public: // MNetworkEnable - float m_flGoalCaptureProgress; // 0x17d4 + float m_flGoalCaptureProgress; // 0x182c }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_Unit_CustomGameAnnouncerAghanim : public C_DOTA_BaseNPC { public: @@ -77269,7 +78231,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_BaseNPC_Seasonal_TI10_DiscoBall : public C_DOTA_BaseNPC_Additive { public: @@ -77280,7 +78242,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_BaseNPC_Seasonal_TI10_SoccerBall : public C_DOTA_BaseNPC_Additive { public: @@ -77288,7 +78250,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_BaseNPC_Seasonal_TI11_Balloon : public C_DOTA_BaseNPC_Additive { public: @@ -77296,7 +78258,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_BaseNPC_Seasonal_TI11_Balloon_Dire : public CDOTA_BaseNPC_Seasonal_TI11_Balloon { public: @@ -77304,7 +78266,7 @@ public: }; // Alignment: 0 -// Size: 0x1760 +// Size: 0x17b8 class CInfoOfrendaStatue : public C_DOTA_BaseNPC_Building { public: @@ -77312,33 +78274,33 @@ public: }; // Alignment: 7 -// Size: 0x1720 +// Size: 0x1778 class CDOTA_Creature_Jungle_Spirit : public C_DOTA_BaseNPC_Creature { public: - int32_t m_iCurrentXP; // 0x1708 - float m_fInitialScaleGain; // 0x170c - float m_fScaleGainMultiplierPerLevel; // 0x1710 - float m_fLastModelScaleGained; // 0x1714 - bool m_bGainedSecondPlatemail; // 0x1718 - bool m_bGainedBonusHealth; // 0x1719 + int32_t m_iCurrentXP; // 0x1760 + float m_fInitialScaleGain; // 0x1764 + float m_fScaleGainMultiplierPerLevel; // 0x1768 + float m_fLastModelScaleGained; // 0x176c + bool m_bGainedSecondPlatemail; // 0x1770 + bool m_bGainedBonusHealth; // 0x1771 private: - [[maybe_unused]] uint8_t __pad171a[0x2]; // 0x171a + [[maybe_unused]] uint8_t __pad1772[0x2]; // 0x1772 public: - ParticleIndex_t m_nAmbientFXIndex; // 0x171c + ParticleIndex_t m_nAmbientFXIndex; // 0x1774 }; // Alignment: 2 -// Size: 0x1768 +// Size: 0x17c0 class CDOTA_BaseNPC_CustomEffigy : public C_DOTA_BaseNPC_Building { public: - uint32_t m_unStatusEffectIndex; // 0x1760 - CHandle< C_BaseEntity > m_hPedestal; // 0x1764 + uint32_t m_unStatusEffectIndex; // 0x17b8 + CHandle< C_BaseEntity > m_hPedestal; // 0x17bc }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_BaseNPC_JungleVarmint : public C_DOTA_BaseNPC_Additive { public: @@ -77346,15 +78308,15 @@ public: }; // Alignment: 1 -// Size: 0x1768 +// Size: 0x17c0 class C_DOTA_Unit_Twin_Gate : public C_DOTA_BaseNPC_Building { public: - CHandle< C_BaseEntity > m_hOtherPortal; // 0x1760 + CHandle< C_BaseEntity > m_hOtherPortal; // 0x17b8 }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CIngameEvent_MuertaReleaseSpring2023_DummyModifierHolder : public C_DOTA_BaseNPC_Additive { public: @@ -77362,7 +78324,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_NPC_DataDriven : public C_DOTA_BaseNPC_Additive { public: @@ -77370,7 +78332,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_Unit_AghsFort_EarthSpiritBoss_Stone : public C_DOTA_BaseNPC { public: @@ -77378,19 +78340,19 @@ public: }; // Alignment: 3 -// Size: 0x1708 +// Size: 0x1760 class C_DOTA_NPC_Aghsfort_WitchDoctor_Ward : public C_DOTA_BaseNPC_Additive { public: - ParticleIndex_t m_nFXSkullIndex; // 0x16f8 + ParticleIndex_t m_nFXSkullIndex; // 0x1750 // MNetworkEnable - int32_t m_nTargetType; // 0x16fc + int32_t m_nTargetType; // 0x1754 // MNetworkEnable - int32_t m_nTargetFlags; // 0x1700 + int32_t m_nTargetFlags; // 0x1758 }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_AghsFort_Unit_Undying_Tombstone : public C_DOTA_BaseNPC_Additive { public: @@ -77398,16 +78360,16 @@ public: }; // Alignment: 2 -// Size: 0x1720 +// Size: 0x1778 class C_DOTA_AghsFort_Unit_Undying_Zombie : public C_DOTA_BaseNPC_Creep { public: - CountdownTimer m_ctRespawn; // 0x1700 - C_DOTA_BaseNPC* m_pTombstone; // 0x1718 + CountdownTimer m_ctRespawn; // 0x1758 + C_DOTA_BaseNPC* m_pTombstone; // 0x1770 }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_AghsFort_Unit_Hero_Undying : public C_DOTA_BaseNPC_Hero { public: @@ -77415,7 +78377,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_NPC_AghsFort_Lich_Ice_Spire : public C_DOTA_BaseNPC_Additive { public: @@ -77423,7 +78385,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_AghsFort_Hero_Phoenix : public C_DOTA_BaseNPC_Hero { public: @@ -77431,17 +78393,17 @@ public: }; // Alignment: 3 -// Size: 0x1a68 +// Size: 0x1ac0 class CDOTA_AghsFort_Unit_ArcWarden_Boss : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nTalkFXIndex; // 0x1a58 - ParticleIndex_t m_nFXDeath; // 0x1a5c - ParticleIndex_t m_nTempestFX; // 0x1a60 + ParticleIndex_t m_nTalkFXIndex; // 0x1ab0 + ParticleIndex_t m_nFXDeath; // 0x1ab4 + ParticleIndex_t m_nTempestFX; // 0x1ab8 }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class CDOTA_Unit_Hero_Aghsfort_PrimalBeast_Boss : public C_DOTA_BaseNPC_Hero { public: @@ -77449,7 +78411,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_AghsFort_Hero_Clinkz : public C_DOTA_BaseNPC_Hero { public: @@ -77457,7 +78419,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_BaseNPC_AghsFort_Clinkz_Skeleton_Archer : public C_DOTA_BaseNPC { public: @@ -77465,7 +78427,7 @@ public: }; // Alignment: 0 -// Size: 0x1708 +// Size: 0x1760 class C_DOTA_BaseNPC_AghsFort_Clinkz_Skeleton_Colossus : public C_DOTA_BaseNPC_Creature { public: @@ -77473,7 +78435,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class CDOTA_Unit_Hero_AncientApparition : public C_DOTA_BaseNPC_Hero { public: @@ -77481,7 +78443,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_AntiMage : public C_DOTA_BaseNPC_Hero { public: @@ -77489,7 +78451,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Bane : public C_DOTA_BaseNPC_Hero { public: @@ -77497,7 +78459,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Pudge : public C_DOTA_BaseNPC_Hero { public: @@ -77505,23 +78467,23 @@ public: }; // Alignment: 1 -// Size: 0x1a60 +// Size: 0x1ab8 class C_DOTA_Unit_Hero_Juggernaut : public C_DOTA_BaseNPC_Hero { public: - uint32_t m_unOmniKills; // 0x1a58 + uint32_t m_unOmniKills; // 0x1ab0 }; // Alignment: 1 -// Size: 0x1a60 +// Size: 0x1ab8 class C_DOTA_Unit_Hero_Nevermore : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1a58 + ParticleIndex_t m_nFXDeath; // 0x1ab0 }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_SandKing : public C_DOTA_BaseNPC_Hero { public: @@ -77529,7 +78491,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Mirana : public C_DOTA_BaseNPC_Hero { public: @@ -77537,7 +78499,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Sven : public C_DOTA_BaseNPC_Hero { public: @@ -77545,21 +78507,21 @@ public: }; // Alignment: 3 -// Size: 0x1a88 +// Size: 0x1ae0 class C_DOTA_Unit_Hero_SkeletonKing : public C_DOTA_BaseNPC_Hero { public: - int32_t m_nSkeletonWarriors; // 0x1a58 + int32_t m_nSkeletonWarriors; // 0x1ab0 // MNetworkEnable // MNetworkChangeCallback "OnSKArcanaProgressChanged" - int32_t m_vecInitialHeroKillBitmask[5]; // 0x1a5c + int32_t m_vecInitialHeroKillBitmask[5]; // 0x1ab4 // MNetworkEnable // MNetworkChangeCallback "OnSKArcanaProgressChanged" - int32_t m_vecInGameHeroKillBitmask[5]; // 0x1a70 + int32_t m_vecInGameHeroKillBitmask[5]; // 0x1ac8 }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_StormSpirit : public C_DOTA_BaseNPC_Hero { public: @@ -77567,7 +78529,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_DrowRanger : public C_DOTA_BaseNPC_Hero { public: @@ -77575,32 +78537,32 @@ public: }; // Alignment: 1 -// Size: 0x1a60 +// Size: 0x1ab8 class C_DOTA_Unit_Hero_Earthshaker : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1a58 -}; - -// Alignment: 1 -// Size: 0x1a60 -class C_DOTA_Unit_Hero_VengefulSpirit : public C_DOTA_BaseNPC_Hero -{ -public: - bool m_bArcanaEquipped; // 0x1a58 -}; - -// Alignment: 2 -// Size: 0x1a60 -class C_DOTA_Unit_Hero_CrystalMaiden : public C_DOTA_BaseNPC_Hero -{ -public: - int32_t m_iParticleMouthIndex; // 0x1a58 - int32_t m_iParticleHandRIndex; // 0x1a5c + ParticleIndex_t m_nFXDeath; // 0x1ab0 }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 +class C_DOTA_Unit_Hero_VengefulSpirit : public C_DOTA_BaseNPC_Hero +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x1ab8 +class C_DOTA_Unit_Hero_CrystalMaiden : public C_DOTA_BaseNPC_Hero +{ +public: + int32_t m_iParticleMouthIndex; // 0x1ab0 + int32_t m_iParticleHandRIndex; // 0x1ab4 +}; + +// Alignment: 0 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Axe : public C_DOTA_BaseNPC_Hero { public: @@ -77608,7 +78570,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Bloodseeker : public C_DOTA_BaseNPC_Hero { public: @@ -77616,30 +78578,30 @@ public: }; // Alignment: 1 -// Size: 0x1a60 +// Size: 0x1ab8 class C_DOTA_Unit_Hero_PhantomLancer : public C_DOTA_BaseNPC_Hero { public: - bool m_bInventoryEnabled; // 0x1a58 + bool m_bInventoryEnabled; // 0x1ab0 }; // Alignment: 4 -// Size: 0x1a68 +// Size: 0x1ac0 class C_DOTA_Unit_Hero_Razor : public C_DOTA_BaseNPC_Hero { public: - int32_t m_iPoseParameterAim; // 0x1a58 - int32_t m_iPoseParameterRange; // 0x1a5c + int32_t m_iPoseParameterAim; // 0x1ab0 + int32_t m_iPoseParameterRange; // 0x1ab4 // MNetworkEnable // MNetworkPriority "32" - int32_t m_nTargetAngle; // 0x1a60 + int32_t m_nTargetAngle; // 0x1ab8 // MNetworkEnable // MNetworkPriority "32" - int32_t m_nTargetRange; // 0x1a64 + int32_t m_nTargetRange; // 0x1abc }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Lina : public C_DOTA_BaseNPC_Hero { public: @@ -77647,7 +78609,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Morphling : public C_DOTA_BaseNPC_Hero { public: @@ -77655,7 +78617,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_Unit_ZeusCloud : public C_DOTA_BaseNPC_Additive { public: @@ -77663,7 +78625,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Zuus : public C_DOTA_BaseNPC_Hero { public: @@ -77671,28 +78633,28 @@ public: }; // Alignment: 1 -// Size: 0x1a60 +// Size: 0x1ab8 class C_DOTA_Unit_Hero_Kunkka : public C_DOTA_BaseNPC_Hero { public: - int32_t m_nFXIndex; // 0x1a58 + int32_t m_nFXIndex; // 0x1ab0 }; // Alignment: 4 -// Size: 0x1a68 +// Size: 0x1ac0 class C_DOTA_Unit_Hero_Tiny : public C_DOTA_BaseNPC_Hero { public: - CHandle< C_BaseEntity > m_hTreeWearable; // 0x1a58 - ParticleIndex_t m_nFXIndexScepterAmbient; // 0x1a5c + CHandle< C_BaseEntity > m_hTreeWearable; // 0x1ab0 + ParticleIndex_t m_nFXIndexScepterAmbient; // 0x1ab4 // MNetworkEnable - CHandle< C_DOTA_BaseNPC > m_hIllusionOwner; // 0x1a60 + CHandle< C_DOTA_BaseNPC > m_hIllusionOwner; // 0x1ab8 // MNetworkEnable - bool m_bIllusionHasTree; // 0x1a64 + bool m_bIllusionHasTree; // 0x1abc }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Puck : public C_DOTA_BaseNPC_Hero { public: @@ -77700,19 +78662,19 @@ public: }; // Alignment: 3 -// Size: 0x1a68 +// Size: 0x1ac0 class C_DOTA_Unit_Hero_Windrunner : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_nTargetAngle; // 0x1a58 - int32_t m_iPoseParameterAim; // 0x1a5c - ParticleIndex_t m_nFXDeath; // 0x1a60 + int32_t m_nTargetAngle; // 0x1ab0 + int32_t m_iPoseParameterAim; // 0x1ab4 + ParticleIndex_t m_nFXDeath; // 0x1ab8 }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Lich : public C_DOTA_BaseNPC_Hero { public: @@ -77720,15 +78682,26 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_NPC_Lich_Ice_Spire : public C_DOTA_BaseNPC_Additive { public: // No members available }; +// Alignment: 2 +// Size: 0x1760 +class C_DOTA_Unit_Tidehunter_Anchor : public C_DOTA_BaseNPC_Additive +{ +public: + // MNetworkEnable + CHandle< C_BaseEntity > m_hTarget; // 0x1750 + // MNetworkEnable + Vector m_vProjectilePosition; // 0x1754 +}; + // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Tidehunter : public C_DOTA_BaseNPC_Hero { public: @@ -77736,16 +78709,16 @@ public: }; // Alignment: 2 -// Size: 0x1708 +// Size: 0x1760 class C_DOTA_BaseNPC_ShadowShaman_SerpentWard : public C_DOTA_BaseNPC_Additive { public: - QAngle m_angle; // 0x16f8 - int32_t m_iPoseParameterAim; // 0x1704 + QAngle m_angle; // 0x1750 + int32_t m_iPoseParameterAim; // 0x175c }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_ShadowShaman : public C_DOTA_BaseNPC_Hero { public: @@ -77753,7 +78726,7 @@ public: }; // Alignment: 0 -// Size: 0x1a60 +// Size: 0x1ab8 class C_DOTA_Unit_Hero_Riki : public C_DOTA_BaseNPC_Hero { public: @@ -77761,7 +78734,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Enigma : public C_DOTA_BaseNPC_Hero { public: @@ -77769,7 +78742,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Tinker : public C_DOTA_BaseNPC_Hero { public: @@ -77777,7 +78750,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_WitchDoctor : public C_DOTA_BaseNPC_Hero { public: @@ -77785,19 +78758,19 @@ public: }; // Alignment: 3 -// Size: 0x1708 +// Size: 0x1760 class C_DOTA_NPC_WitchDoctor_Ward : public C_DOTA_BaseNPC_Additive { public: - ParticleIndex_t m_nFXSkullIndex; // 0x16f8 + ParticleIndex_t m_nFXSkullIndex; // 0x1750 // MNetworkEnable - int32_t m_nTargetType; // 0x16fc + int32_t m_nTargetType; // 0x1754 // MNetworkEnable - int32_t m_nTargetFlags; // 0x1700 + int32_t m_nTargetFlags; // 0x1758 }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Sniper : public C_DOTA_BaseNPC_Hero { public: @@ -77805,7 +78778,7 @@ public: }; // Alignment: 0 -// Size: 0x1a60 +// Size: 0x1ab8 class C_DOTA_Unit_Hero_Necrolyte : public C_DOTA_BaseNPC_Hero { public: @@ -77813,7 +78786,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Slardar : public C_DOTA_BaseNPC_Hero { public: @@ -77821,7 +78794,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Ursa : public C_DOTA_BaseNPC_Hero { public: @@ -77829,23 +78802,23 @@ public: }; // Alignment: 1 -// Size: 0x1a60 +// Size: 0x1ab8 class C_DOTA_Unit_Hero_Lion : public C_DOTA_BaseNPC_Hero { public: - uint32_t m_unFingerPrestigeKills; // 0x1a58 + uint32_t m_unFingerPrestigeKills; // 0x1ab0 }; // Alignment: 1 -// Size: 0x1728 +// Size: 0x1780 class CDOTA_Unit_Announcer : public C_DOTA_BaseNPC { public: - CAnnouncerDescriptor m_currentAnnouncer; // 0x16f8 + CAnnouncerDescriptor m_currentAnnouncer; // 0x1750 }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_Unit_CustomGameAnnouncer : public C_DOTA_BaseNPC { public: @@ -77853,51 +78826,51 @@ public: }; // Alignment: 7 -// Size: 0x17f0 +// Size: 0x1848 class C_DOTA_Unit_Courier : public C_DOTA_BaseNPC_Additive { public: - bool m_bUnitRespawned; // 0x16f8 - bool m_bPreUpdateFlyingCourier; // 0x16f9 + bool m_bUnitRespawned; // 0x1750 + bool m_bPreUpdateFlyingCourier; // 0x1751 private: - [[maybe_unused]] uint8_t __pad16fa[0x2]; // 0x16fa + [[maybe_unused]] uint8_t __pad1752[0x2]; // 0x1752 public: // MNetworkEnable - PlayerID_t m_nSoleControllingPlayer; // 0x16fc + PlayerID_t m_nSoleControllingPlayer; // 0x1754 // MNetworkEnable - bool m_bFlyingCourier; // 0x1700 + bool m_bFlyingCourier; // 0x1758 private: - [[maybe_unused]] uint8_t __pad1701[0x3]; // 0x1701 + [[maybe_unused]] uint8_t __pad1759[0x3]; // 0x1759 public: // MNetworkEnable - GameTime_t m_flRespawnTime; // 0x1704 + GameTime_t m_flRespawnTime; // 0x175c // MNetworkEnable - CourierState_t m_nCourierState; // 0x1708 + CourierState_t m_nCourierState; // 0x1760 // MNetworkEnable - CHandle< C_BaseEntity > m_hCourierStateEntity; // 0x170c + CHandle< C_BaseEntity > m_hCourierStateEntity; // 0x1764 }; // Alignment: 5 -// Size: 0x17f0 +// Size: 0x1848 class C_DOTA_Unit_Scout : public C_DOTA_BaseNPC_Additive { public: - bool m_bUnitRespawned; // 0x16f8 + bool m_bUnitRespawned; // 0x1750 private: - [[maybe_unused]] uint8_t __pad16f9[0x3]; // 0x16f9 + [[maybe_unused]] uint8_t __pad1751[0x3]; // 0x1751 public: // MNetworkEnable - PlayerID_t m_nSoleControllingPlayer; // 0x16fc + PlayerID_t m_nSoleControllingPlayer; // 0x1754 // MNetworkEnable - GameTime_t m_flRespawnTime; // 0x1700 + GameTime_t m_flRespawnTime; // 0x1758 // MNetworkEnable - ScoutState_t m_nScoutState; // 0x1704 + ScoutState_t m_nScoutState; // 0x175c // MNetworkEnable - CHandle< C_BaseEntity > m_hScoutStateEntity; // 0x1708 + CHandle< C_BaseEntity > m_hScoutStateEntity; // 0x1760 }; // Alignment: 0 -// Size: 0x1760 +// Size: 0x17b8 class C_DOTA_Unit_Fountain : public C_DOTA_BaseNPC_Building { public: @@ -77905,31 +78878,31 @@ public: }; // Alignment: 5 -// Size: 0x1720 +// Size: 0x1778 class C_DOTA_Unit_Roshan : public C_DOTA_BaseNPC_Additive { public: - int32_t m_iLastHealthPercent; // 0x16f8 - ParticleIndex_t m_nFXIndex; // 0x16fc - CUtlVector< CHandle< C_BaseEntity > > m_hAttackingHeroes; // 0x1700 + int32_t m_iLastHealthPercent; // 0x1750 + ParticleIndex_t m_nFXIndex; // 0x1754 + CUtlVector< CHandle< C_BaseEntity > > m_hAttackingHeroes; // 0x1758 // MNetworkEnable - bool m_bGoldenRoshan; // 0x1718 - bool m_bIsNightTimeMode; // 0x1719 + bool m_bGoldenRoshan; // 0x1770 + bool m_bIsNightTimeMode; // 0x1771 }; // Alignment: 3 -// Size: 0x1718 +// Size: 0x1770 class C_DOTA_Unit_Miniboss : public C_DOTA_BaseNPC_Additive { public: // MNetworkEnable - int32_t m_nTimesSpawned; // 0x16f8 - int32_t m_nTempViewer; // 0x16fc - CUtlVector< CHandle< C_BaseEntity > > m_hAttackingHeroes; // 0x1700 + int32_t m_nTimesSpawned; // 0x1750 + int32_t m_nTempViewer; // 0x1754 + CUtlVector< CHandle< C_BaseEntity > > m_hAttackingHeroes; // 0x1758 }; // Alignment: 0 -// Size: 0x1708 +// Size: 0x1760 class C_DOTA_Unit_Nian : public C_DOTA_BaseNPC_Creature { public: @@ -77937,7 +78910,7 @@ public: }; // Alignment: 0 -// Size: 0x1700 +// Size: 0x1758 class C_DOTA_BaseNPC_Warlock_Golem : public C_DOTA_BaseNPC_Creep { public: @@ -77945,7 +78918,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Warlock : public C_DOTA_BaseNPC_Hero { public: @@ -77953,7 +78926,7 @@ public: }; // Alignment: 0 -// Size: 0x1700 +// Size: 0x1758 class CODTA_Unit_Warlock_Imp : public C_DOTA_BaseNPC_Creep { public: @@ -77961,7 +78934,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Beastmaster : public C_DOTA_BaseNPC_Hero { public: @@ -77969,7 +78942,7 @@ public: }; // Alignment: 0 -// Size: 0x1700 +// Size: 0x1758 class C_DOTA_Unit_Hero_Beastmaster_Beasts : public C_DOTA_BaseNPC_Creep_Talking { public: @@ -77977,7 +78950,7 @@ public: }; // Alignment: 0 -// Size: 0x1700 +// Size: 0x1758 class C_DOTA_Unit_Hero_Beastmaster_Hawk : public C_DOTA_Unit_Hero_Beastmaster_Beasts { public: @@ -77985,7 +78958,7 @@ public: }; // Alignment: 0 -// Size: 0x1700 +// Size: 0x1758 class C_DOTA_Unit_Hero_Beastmaster_Boar : public C_DOTA_Unit_Hero_Beastmaster_Beasts { public: @@ -77993,7 +78966,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_QueenOfPain : public C_DOTA_BaseNPC_Hero { public: @@ -78001,16 +78974,16 @@ public: }; // Alignment: 2 -// Size: 0x1708 +// Size: 0x1760 class C_DOTA_BaseNPC_Venomancer_PlagueWard : public C_DOTA_BaseNPC_Additive { public: - QAngle m_angle; // 0x16f8 - int32_t m_iPoseParameterAim; // 0x1704 + QAngle m_angle; // 0x1750 + int32_t m_iPoseParameterAim; // 0x175c }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Venomancer : public C_DOTA_BaseNPC_Hero { public: @@ -78018,7 +78991,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_FacelessVoid : public C_DOTA_BaseNPC_Hero { public: @@ -78026,7 +78999,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_DeathProphet : public C_DOTA_BaseNPC_Hero { public: @@ -78034,7 +79007,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Pugna : public C_DOTA_BaseNPC_Hero { public: @@ -78042,36 +79015,36 @@ public: }; // Alignment: 2 -// Size: 0x1a60 +// Size: 0x1ab8 class C_DOTA_Unit_Hero_PhantomAssassin : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1a58 + ParticleIndex_t m_nFXDeath; // 0x1ab0 // MNetworkEnable - uint32_t m_nArcanaLevel; // 0x1a5c + uint32_t m_nArcanaLevel; // 0x1ab4 }; // Alignment: 1 -// Size: 0x1700 +// Size: 0x1758 class CDOTA_BaseNPC_Phantom_Assassin_GroundDagger : public C_DOTA_BaseNPC_Additive { public: - ParticleIndex_t m_nFXIndex; // 0x16f8 + ParticleIndex_t m_nFXIndex; // 0x1750 // 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: 0x17a0 +// Size: 0x17f8 class C_DOTA_PhantomAssassin_Gravestone : public C_DOTA_BaseNPC_Additive { public: - PlayerID_t m_nVictimPlayerID; // 0x16f8 + PlayerID_t m_nVictimPlayerID; // 0x1750 }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_TemplarAssassin : public C_DOTA_BaseNPC_Hero { public: @@ -78079,7 +79052,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_Unit_TemplarAssassin_PsionicTrap : public C_DOTA_BaseNPC { public: @@ -78087,7 +79060,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Viper : public C_DOTA_BaseNPC_Hero { public: @@ -78095,37 +79068,37 @@ public: }; // Alignment: 5 -// Size: 0x1a70 +// Size: 0x1ac8 class C_DOTA_Unit_TargetDummy : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable - float m_flDamageTaken; // 0x1a58 + float m_flDamageTaken; // 0x1ab0 // MNetworkEnable - float m_flLastHit; // 0x1a5c + float m_flLastHit; // 0x1ab4 // MNetworkEnable - GameTime_t m_flStartDamageTime; // 0x1a60 + GameTime_t m_flStartDamageTime; // 0x1ab8 // MNetworkEnable - GameTime_t m_flLastDamageTime; // 0x1a64 - bool m_bIsMoving; // 0x1a68 + GameTime_t m_flLastTargetDummyDamageTime; // 0x1abc + bool m_bIsMoving; // 0x1ac0 }; // Alignment: 3 -// Size: 0x1808 +// Size: 0x1860 class C_DOTA_Unit_LoopingSound : public C_DOTA_BaseNPC_Additive { private: - [[maybe_unused]] uint8_t __pad16f8[0x8]; // 0x16f8 + [[maybe_unused]] uint8_t __pad1750[0x8]; // 0x1750 public: - int32_t m_nPrevLoopingSoundParity; // 0x1700 + int32_t m_nPrevLoopingSoundParity; // 0x1758 // MNetworkEnable - char m_pszNetworkedSoundLoop[256]; // 0x1704 + char m_pszNetworkedSoundLoop[256]; // 0x175c // MNetworkEnable - int32_t m_nLoopingSoundParity; // 0x1804 + int32_t m_nLoopingSoundParity; // 0x185c }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Luna : public C_DOTA_BaseNPC_Hero { public: @@ -78133,7 +79106,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_DragonKnight : public C_DOTA_BaseNPC_Hero { public: @@ -78141,7 +79114,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Dazzle : public C_DOTA_BaseNPC_Hero { public: @@ -78149,7 +79122,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Leshrac : public C_DOTA_BaseNPC_Hero { public: @@ -78157,7 +79130,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Rattletrap : public C_DOTA_BaseNPC_Hero { public: @@ -78165,7 +79138,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Furion : public C_DOTA_BaseNPC_Hero { public: @@ -78173,7 +79146,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Life_Stealer : public C_DOTA_BaseNPC_Hero { public: @@ -78181,15 +79154,15 @@ public: }; // Alignment: 1 -// Size: 0x1a60 +// Size: 0x1ab8 class C_DOTA_Unit_Hero_DarkSeer : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1a58 + ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1ab0 }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_BaseNPC_Clinkz_Skeleton_Army : public C_DOTA_BaseNPC { public: @@ -78197,7 +79170,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Clinkz : public C_DOTA_BaseNPC_Hero { public: @@ -78205,7 +79178,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Omniknight : public C_DOTA_BaseNPC_Hero { public: @@ -78213,7 +79186,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Enchantress : public C_DOTA_BaseNPC_Hero { public: @@ -78221,7 +79194,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Huskar : public C_DOTA_BaseNPC_Hero { public: @@ -78229,7 +79202,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_NightStalker : public C_DOTA_BaseNPC_Hero { public: @@ -78237,7 +79210,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Broodmother : public C_DOTA_BaseNPC_Hero { public: @@ -78245,7 +79218,7 @@ public: }; // Alignment: 0 -// Size: 0x1700 +// Size: 0x1758 class C_DOTA_Unit_Broodmother_Spiderling : public C_DOTA_BaseNPC_Creep_Talking { public: @@ -78253,16 +79226,16 @@ public: }; // Alignment: 2 -// Size: 0x1708 +// Size: 0x1760 class C_DOTA_Unit_Broodmother_Web : public C_DOTA_BaseNPC_Additive { public: - ParticleIndex_t m_nFXIndex; // 0x16f8 - Vector m_vecOrigin; // 0x16fc + ParticleIndex_t m_nFXIndex; // 0x1750 + Vector m_vecOrigin; // 0x1754 }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_NPC_BroodmotherStickyWeb : public C_DOTA_BaseNPC_Additive { public: @@ -78270,7 +79243,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_BountyHunter : public C_DOTA_BaseNPC_Hero { public: @@ -78278,7 +79251,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Weaver : public C_DOTA_BaseNPC_Hero { public: @@ -78286,7 +79259,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Jakiro : public C_DOTA_BaseNPC_Hero { public: @@ -78294,7 +79267,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Batrider : public C_DOTA_BaseNPC_Hero { public: @@ -78302,7 +79275,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Chen : public C_DOTA_BaseNPC_Hero { public: @@ -78310,29 +79283,29 @@ public: }; // Alignment: 4 -// Size: 0x1a68 +// Size: 0x1ac0 class C_DOTA_Unit_Hero_Spectre : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" - uint8_t m_unCurrentArcanaKillStreak; // 0x1a58 + uint8_t m_unCurrentArcanaKillStreak; // 0x1ab0 // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" - uint8_t m_unBestArcanaKillStreak; // 0x1a59 + uint8_t m_unBestArcanaKillStreak; // 0x1ab1 private: - [[maybe_unused]] uint8_t __pad1a5a[0x2]; // 0x1a5a + [[maybe_unused]] uint8_t __pad1ab2[0x2]; // 0x1ab2 public: // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" - PlayerID_t m_nVictimPlayerID; // 0x1a5c + PlayerID_t m_nVictimPlayerID; // 0x1ab4 // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" - bool m_bArcanaKillstreakRecordBroken; // 0x1a60 + bool m_bArcanaKillstreakRecordBroken; // 0x1ab8 }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_DoomBringer : public C_DOTA_BaseNPC_Hero { public: @@ -78340,7 +79313,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_SpiritBreaker : public C_DOTA_BaseNPC_Hero { public: @@ -78348,7 +79321,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class CDOTA_Unit_Hero_Gyrocopter : public C_DOTA_BaseNPC_Hero { public: @@ -78356,7 +79329,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class CDOTA_Unit_Hero_Alchemist : public C_DOTA_BaseNPC_Hero { public: @@ -78364,7 +79337,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Invoker : public C_DOTA_BaseNPC_Hero { public: @@ -78372,7 +79345,7 @@ public: }; // Alignment: 0 -// Size: 0x1700 +// Size: 0x1758 class C_DOTA_BaseNPC_Invoker_Forged_Spirit : public C_DOTA_BaseNPC_Creep { public: @@ -78380,7 +79353,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Silencer : public C_DOTA_BaseNPC_Hero { public: @@ -78388,15 +79361,15 @@ public: }; // Alignment: 1 -// Size: 0x1a60 +// Size: 0x1ab8 class C_DOTA_Unit_Hero_Obsidian_Destroyer : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1a58 + ParticleIndex_t m_nFXDeath; // 0x1ab0 }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Brewmaster : public C_DOTA_BaseNPC_Hero { public: @@ -78404,41 +79377,41 @@ public: }; // Alignment: 2 -// Size: 0x1708 +// Size: 0x1760 class C_DOTA_Unit_Brewmaster_PrimalEarth : public C_DOTA_BaseNPC_Creep { public: - ParticleIndex_t m_nFXEarthAmbient1; // 0x1700 - ParticleIndex_t m_nFXEarthAmbient2; // 0x1704 + ParticleIndex_t m_nFXEarthAmbient1; // 0x1758 + ParticleIndex_t m_nFXEarthAmbient2; // 0x175c }; // Alignment: 2 -// Size: 0x1708 +// Size: 0x1760 class C_DOTA_Unit_Brewmaster_PrimalStorm : public C_DOTA_BaseNPC_Creep { public: - ParticleIndex_t m_nFXStormAmbient1; // 0x1700 - ParticleIndex_t m_nFXStormAmbient2; // 0x1704 + ParticleIndex_t m_nFXStormAmbient1; // 0x1758 + ParticleIndex_t m_nFXStormAmbient2; // 0x175c }; // Alignment: 1 -// Size: 0x1708 +// Size: 0x1760 class C_DOTA_Unit_Brewmaster_PrimalFire : public C_DOTA_BaseNPC_Creep { public: - ParticleIndex_t m_nFXAmbient; // 0x1700 + ParticleIndex_t m_nFXAmbient; // 0x1758 }; // Alignment: 1 -// Size: 0x1708 +// Size: 0x1760 class C_DOTA_Unit_Brewmaster_PrimalVoid : public C_DOTA_BaseNPC_Creep { public: - ParticleIndex_t m_nFXAmbient; // 0x1700 + ParticleIndex_t m_nFXAmbient; // 0x1758 }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Lycan : public C_DOTA_BaseNPC_Hero { public: @@ -78446,7 +79419,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Shadow_Demon : public C_DOTA_BaseNPC_Hero { public: @@ -78454,18 +79427,18 @@ public: }; // Alignment: 2 -// Size: 0x1700 -class C_DOTA_Unit_SpiritBear : public C_DOTA_BaseNPC_Additive +// Size: 0x1ab8 +class C_DOTA_Unit_SpiritBear : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable - bool m_bShouldRespawn; // 0x16f8 + bool m_bShouldRespawn; // 0x1ab0 // MNetworkEnable - bool m_bStolen; // 0x16f9 + bool m_bStolen; // 0x1ab1 }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_LoneDruid : public C_DOTA_BaseNPC_Hero { public: @@ -78473,7 +79446,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_ChaosKnight : public C_DOTA_BaseNPC_Hero { public: @@ -78481,16 +79454,16 @@ public: }; // Alignment: 1 -// Size: 0x1a60 +// Size: 0x1ab8 class C_DOTA_Unit_Hero_Meepo : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable - int32_t m_nWhichMeepo; // 0x1a58 + int32_t m_nWhichMeepo; // 0x1ab0 }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Treant : public C_DOTA_BaseNPC_Hero { public: @@ -78498,7 +79471,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_NPC_Treant_EyesInTheForest : public C_DOTA_BaseNPC_Additive { public: @@ -78506,7 +79479,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Ogre_Magi : public C_DOTA_BaseNPC_Hero { public: @@ -78514,7 +79487,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_Unit_Undying_Tombstone : public C_DOTA_BaseNPC_Additive { public: @@ -78522,16 +79495,16 @@ public: }; // Alignment: 2 -// Size: 0x1720 +// Size: 0x1778 class C_DOTA_Unit_Undying_Zombie : public C_DOTA_BaseNPC_Creep { public: - CountdownTimer m_ctRespawn; // 0x1700 - C_DOTA_BaseNPC* m_pTombstone; // 0x1718 + CountdownTimer m_ctRespawn; // 0x1758 + C_DOTA_BaseNPC* m_pTombstone; // 0x1770 }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Undying : public C_DOTA_BaseNPC_Hero { public: @@ -78539,35 +79512,35 @@ public: }; // Alignment: 11 -// Size: 0x1ad0 +// Size: 0x1b28 class C_DOTA_Unit_Hero_Rubick : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkChangeCallback "OnAbilityColorChanged" - Vector m_stolenAbilityColorHSV1; // 0x1a58 + Vector m_stolenAbilityColorHSV1; // 0x1ab0 // MNetworkEnable // MNetworkChangeCallback "OnAbilityColorChanged" - Vector m_stolenAbilityColorHSV2; // 0x1a64 + Vector m_stolenAbilityColorHSV2; // 0x1abc // MNetworkEnable // MNetworkChangeCallback "OnAbilityColorChanged" - Vector m_stolenAbilityFXColorHSV; // 0x1a70 + Vector m_stolenAbilityFXColorHSV; // 0x1ac8 // MNetworkDisable - bool m_bHasInitializedAbilityColors; // 0x1a7c + bool m_bHasInitializedAbilityColors; // 0x1ad4 private: - [[maybe_unused]] uint8_t __pad1a7d[0x3]; // 0x1a7d + [[maybe_unused]] uint8_t __pad1ad5[0x3]; // 0x1ad5 public: - Vector m_startAbilityColorHSV1; // 0x1a80 - Vector m_startAbilityColorHSV2; // 0x1a8c - Vector m_startAbilityFXColorHSV; // 0x1a98 - Vector m_currAbilityColorHSV1; // 0x1aa4 - Vector m_currAbilityColorHSV2; // 0x1ab0 - Vector m_currAbilityFXColorHSV; // 0x1abc - GameTime_t m_flStartTime; // 0x1ac8 + Vector m_startAbilityColorHSV1; // 0x1ad8 + Vector m_startAbilityColorHSV2; // 0x1ae4 + Vector m_startAbilityFXColorHSV; // 0x1af0 + Vector m_currAbilityColorHSV1; // 0x1afc + Vector m_currAbilityColorHSV2; // 0x1b08 + Vector m_currAbilityFXColorHSV; // 0x1b14 + GameTime_t m_flStartTime; // 0x1b20 }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Disruptor : public C_DOTA_BaseNPC_Hero { public: @@ -78575,7 +79548,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Nyx_Assassin : public C_DOTA_BaseNPC_Hero { public: @@ -78583,7 +79556,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Naga_Siren : public C_DOTA_BaseNPC_Hero { public: @@ -78591,7 +79564,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_Unit_IngisFatuus : public C_DOTA_BaseNPC_Additive { public: @@ -78599,7 +79572,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_KeeperOfTheLight : public C_DOTA_BaseNPC_Hero { public: @@ -78607,25 +79580,25 @@ public: }; // Alignment: 8 -// Size: 0x1a70 +// Size: 0x1ac8 class C_DOTA_Unit_Hero_Wisp : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nAmbientFXIndex; // 0x1a58 - ParticleIndex_t m_nStunnedFXIndex; // 0x1a5c - ParticleIndex_t m_nTalkFXIndex; // 0x1a60 - ParticleIndex_t m_nIllusionFXIndex; // 0x1a64 - bool m_bParticleHexed; // 0x1a68 - bool m_bParticleStunned; // 0x1a69 - bool m_bDetermineAmbientEffect; // 0x1a6a + ParticleIndex_t m_nAmbientFXIndex; // 0x1ab0 + ParticleIndex_t m_nStunnedFXIndex; // 0x1ab4 + ParticleIndex_t m_nTalkFXIndex; // 0x1ab8 + ParticleIndex_t m_nIllusionFXIndex; // 0x1abc + bool m_bParticleHexed; // 0x1ac0 + bool m_bParticleStunned; // 0x1ac1 + bool m_bDetermineAmbientEffect; // 0x1ac2 private: - [[maybe_unused]] uint8_t __pad1a6b[0x1]; // 0x1a6b + [[maybe_unused]] uint8_t __pad1ac3[0x1]; // 0x1ac3 public: - float m_flPrevHealth; // 0x1a6c + float m_flPrevHealth; // 0x1ac4 }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_Wisp_Spirit : public C_DOTA_BaseNPC { public: @@ -78633,7 +79606,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Visage : public C_DOTA_BaseNPC_Hero { public: @@ -78641,15 +79614,15 @@ public: }; // Alignment: 1 -// Size: 0x1708 +// Size: 0x1760 class C_DOTA_Unit_VisageFamiliar : public C_DOTA_BaseNPC_Creep { public: - ParticleIndex_t m_nFXAmbient; // 0x1700 + ParticleIndex_t m_nFXAmbient; // 0x1758 }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Slark : public C_DOTA_BaseNPC_Hero { public: @@ -78657,7 +79630,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Medusa : public C_DOTA_BaseNPC_Hero { public: @@ -78665,7 +79638,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_TrollWarlord : public C_DOTA_BaseNPC_Hero { public: @@ -78673,7 +79646,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class CDOTA_Unit_Hero_Centaur : public C_DOTA_BaseNPC_Hero { public: @@ -78681,7 +79654,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Magnataur : public C_DOTA_BaseNPC_Hero { public: @@ -78689,7 +79662,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Shredder : public C_DOTA_BaseNPC_Hero { public: @@ -78697,7 +79670,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Bristleback : public C_DOTA_BaseNPC_Hero { public: @@ -78705,7 +79678,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Tusk : public C_DOTA_BaseNPC_Hero { public: @@ -78713,15 +79686,15 @@ public: }; // Alignment: 1 -// Size: 0x1708 +// Size: 0x1760 class C_DOTA_BaseNPC_Tusk_Sigil : public C_DOTA_BaseNPC_Additive { public: - QAngle m_angInitialAngles; // 0x16f8 + QAngle m_angInitialAngles; // 0x1750 }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Skywrath_Mage : public C_DOTA_BaseNPC_Hero { public: @@ -78729,7 +79702,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class CDOTA_Unit_Hero_Abaddon : public C_DOTA_BaseNPC_Hero { public: @@ -78737,7 +79710,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_Unit_Elder_Titan_AncestralSpirit : public C_DOTA_BaseNPC_Additive { public: @@ -78745,7 +79718,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class CDOTA_Unit_Hero_Elder_Titan : public C_DOTA_BaseNPC_Hero { public: @@ -78753,31 +79726,31 @@ public: }; // Alignment: 1 -// Size: 0x1a60 +// Size: 0x1ab8 class C_DOTA_Unit_Hero_Legion_Commander : public C_DOTA_BaseNPC_Hero { public: - uint32_t m_unDuelsWon; // 0x1a58 + uint32_t m_unDuelsWon; // 0x1ab0 }; // Alignment: 1 -// Size: 0x1a60 +// Size: 0x1ab8 class C_DOTA_Unit_Hero_Techies : public C_DOTA_BaseNPC_Hero { public: - bool m_bLastDeathFromSuicide; // 0x1a58 + bool m_bLastDeathFromSuicide; // 0x1ab0 }; // Alignment: 1 -// Size: 0x1700 +// Size: 0x1758 class C_DOTA_NPC_TechiesMines : public C_DOTA_BaseNPC_Additive { public: - ParticleIndex_t m_iRangeFX; // 0x16f8 + ParticleIndex_t m_iRangeFX; // 0x1750 }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_NPC_Techies_Minefield_Sign : public C_DOTA_BaseNPC_Additive { public: @@ -78785,7 +79758,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_EmberSpirit : public C_DOTA_BaseNPC_Hero { public: @@ -78793,7 +79766,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_Unit_Earth_Spirit_Stone : public C_DOTA_BaseNPC { public: @@ -78801,7 +79774,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_EarthSpirit : public C_DOTA_BaseNPC_Hero { public: @@ -78809,37 +79782,37 @@ public: }; // Alignment: 1 -// Size: 0x1a60 +// Size: 0x1ab8 class CDOTA_Unit_Hero_AbyssalUnderlord : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_iRangeFX; // 0x1a58 + ParticleIndex_t m_iRangeFX; // 0x1ab0 }; // Alignment: 1 -// Size: 0x1768 +// Size: 0x17c0 class C_DOTA_Unit_Underlord_Portal : public C_DOTA_BaseNPC_Building { public: - CHandle< C_BaseEntity > m_hOtherPortal; // 0x1760 + CHandle< C_BaseEntity > m_hOtherPortal; // 0x17b8 }; // Alignment: 3 -// Size: 0x1a70 +// Size: 0x1ac8 class C_DOTA_Unit_Hero_Terrorblade : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1a58 + ParticleIndex_t m_nFXDeath; // 0x1ab0 private: - [[maybe_unused]] uint8_t __pad1a5c[0x4]; // 0x1a5c + [[maybe_unused]] uint8_t __pad1ab4[0x4]; // 0x1ab4 public: - CUtlString m_szResponseCriteria; // 0x1a60 + CUtlString m_szResponseCriteria; // 0x1ab8 // MNetworkEnable - uint32_t m_nArcanaColor; // 0x1a68 + uint32_t m_nArcanaColor; // 0x1ac0 }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Phoenix : public C_DOTA_BaseNPC_Hero { public: @@ -78847,50 +79820,50 @@ public: }; // Alignment: 1 -// Size: 0x1a60 +// Size: 0x1ab8 class C_DOTA_Unit_Hero_Oracle : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1a58 + ParticleIndex_t m_nFXDeath; // 0x1ab0 }; // Alignment: 1 -// Size: 0x1a60 +// Size: 0x1ab8 class C_DOTA_Unit_Hero_Winter_Wyvern : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1a58 + ParticleIndex_t m_nFXDeath; // 0x1ab0 }; // Alignment: 3 -// Size: 0x1a68 +// Size: 0x1ac0 class CDOTA_Unit_Hero_ArcWarden : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nTalkFXIndex; // 0x1a58 - ParticleIndex_t m_nFXDeath; // 0x1a5c - ParticleIndex_t m_nTempestFX; // 0x1a60 + ParticleIndex_t m_nTalkFXIndex; // 0x1ab0 + ParticleIndex_t m_nFXDeath; // 0x1ab4 + ParticleIndex_t m_nTempestFX; // 0x1ab8 }; // Alignment: 4 -// Size: 0x1a68 +// Size: 0x1ac0 class C_DOTA_Unit_Hero_MonkeyKing : public C_DOTA_BaseNPC_Hero { public: - bool mb_MonkeyHasArcana; // 0x1a58 + bool mb_MonkeyHasArcana; // 0x1ab0 private: - [[maybe_unused]] uint8_t __pad1a59[0x3]; // 0x1a59 + [[maybe_unused]] uint8_t __pad1ab1[0x3]; // 0x1ab1 public: // MNetworkEnable - uint32_t m_nTreeDisguise; // 0x1a5c + uint32_t m_nTreeDisguise; // 0x1ab4 // MNetworkEnable // MNetworkChangeCallback "OnPerchedTreeChanged" - uint32_t m_nPerchedTree; // 0x1a60 - CHandle< C_BaseEntity > m_hTreeDisguiseEnt; // 0x1a64 + uint32_t m_nPerchedTree; // 0x1ab8 + CHandle< C_BaseEntity > m_hTreeDisguiseEnt; // 0x1abc }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Pangolier : public C_DOTA_BaseNPC_Hero { public: @@ -78898,7 +79871,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_DarkWillow : public C_DOTA_BaseNPC_Hero { public: @@ -78906,7 +79879,7 @@ public: }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class C_DOTA_DarkWillow_Creature : public C_DOTA_BaseNPC { public: @@ -78914,15 +79887,15 @@ public: }; // Alignment: 1 -// Size: 0x1a60 +// Size: 0x1ab8 class CDOTA_Unit_Hero_Grimstroke : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1a58 + ParticleIndex_t m_nFXDeath; // 0x1ab0 }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_Unit_Grimstroke_InkCreature : public C_DOTA_BaseNPC { public: @@ -78930,7 +79903,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class CDOTA_Unit_Hero_Mars : public C_DOTA_BaseNPC_Hero { public: @@ -78938,7 +79911,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class CDOTA_Unit_Hero_Snapfire : public C_DOTA_BaseNPC_Hero { public: @@ -78946,7 +79919,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class CDOTA_Unit_Hero_Void_Spirit : public C_DOTA_BaseNPC_Hero { public: @@ -78954,7 +79927,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class C_DOTA_Unit_Hero_Hoodwink : public C_DOTA_BaseNPC_Hero { public: @@ -78962,16 +79935,16 @@ public: }; // Alignment: 1 -// Size: 0x1a60 +// Size: 0x1ab8 class CDOTA_Unit_Hero_Dawnbreaker : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable - int32_t m_nAttackState; // 0x1a58 + int32_t m_nAttackState; // 0x1ab0 }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class CDOTA_Unit_Hero_Marci : public C_DOTA_BaseNPC_Hero { public: @@ -78979,7 +79952,7 @@ public: }; // Alignment: 0 -// Size: 0x1a58 +// Size: 0x1ab0 class CDOTA_Unit_Hero_PrimalBeast : public C_DOTA_BaseNPC_Hero { public: @@ -78987,18 +79960,18 @@ public: }; // Alignment: 2 -// Size: 0x1a68 +// Size: 0x1ac0 class C_DOTA_Unit_Hero_Muerta : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkPriority "32" - CHandle< C_BaseEntity > m_hDoubleShotTarget; // 0x1a58 - QAngle m_qStartAngle; // 0x1a5c + CHandle< C_BaseEntity > m_hDoubleShotTarget; // 0x1ab0 + QAngle m_qStartAngle; // 0x1ab4 }; // Alignment: 0 -// Size: 0x16f8 +// Size: 0x1750 class CDOTA_Muerta_Revenant : public C_DOTA_BaseNPC { public: @@ -79006,48 +79979,48 @@ public: }; // Alignment: 3 -// Size: 0x1710 +// Size: 0x1768 class CDOTA_NPC_Observer_Ward : public C_DOTA_BaseNPC_Additive { public: - int32_t m_iDuration; // 0x16f8 + int32_t m_iDuration; // 0x1750 private: - [[maybe_unused]] uint8_t __pad16fc[0x4]; // 0x16fc + [[maybe_unused]] uint8_t __pad1754[0x4]; // 0x1754 public: - CNewParticleEffect* m_pVisionRangeFX; // 0x1700 - int32_t m_nPreviewViewer; // 0x1708 + CNewParticleEffect* m_pVisionRangeFX; // 0x1758 + int32_t m_nPreviewViewer; // 0x1760 }; // Alignment: 3 -// Size: 0x1720 +// Size: 0x1778 class CDOTA_NPC_Observer_Ward_TrueSight : public CDOTA_NPC_Observer_Ward { public: - int32_t m_iTrueSight; // 0x1710 - CEntityHandle m_hCasterEntity; // 0x1714 - CEntityHandle m_hAbilityEntity; // 0x1718 + int32_t m_iTrueSight; // 0x1768 + CEntityHandle m_hCasterEntity; // 0x176c + CEntityHandle m_hAbilityEntity; // 0x1770 }; // Alignment: 8 -// Size: 0x1740 +// Size: 0x1798 class C_DOTA_PortraitEntity : public C_DOTA_BaseNPC { public: - CountdownTimer m_PetIdleTimer; // 0x16f8 - ParticleIndex_t m_nMouthFX; // 0x1710 - int32_t m_nMouthControlPoint; // 0x1714 - ParticleIndex_t m_iPortraitParticle; // 0x1718 - int32_t m_PortraitActivity; // 0x171c - CUtlVector< CUtlSymbol > m_CustomActivityModifiers; // 0x1720 - bool m_bIsSimulationActive; // 0x1738 + CountdownTimer m_PetIdleTimer; // 0x1750 + ParticleIndex_t m_nMouthFX; // 0x1768 + int32_t m_nMouthControlPoint; // 0x176c + ParticleIndex_t m_iPortraitParticle; // 0x1770 + int32_t m_PortraitActivity; // 0x1774 + CUtlVector< CUtlSymbol > m_CustomActivityModifiers; // 0x1778 + bool m_bIsSimulationActive; // 0x1790 private: - [[maybe_unused]] uint8_t __pad1739[0x3]; // 0x1739 + [[maybe_unused]] uint8_t __pad1791[0x3]; // 0x1791 public: - CEntityHandle m_hAppearanceFromNPC; // 0x173c + CEntityHandle m_hAppearanceFromNPC; // 0x1794 }; // Alignment: 0 -// Size: 0x1740 +// Size: 0x1798 class C_DOTA_PortraitEntity_FullBody : public C_DOTA_PortraitEntity { public: @@ -79055,7 +80028,7 @@ public: }; // Alignment: 0 -// Size: 0x1728 +// Size: 0x1780 class CDOTA_Unit_Announcer_Killing_Spree : public CDOTA_Unit_Announcer { public: diff --git a/sdk/fwd.hpp b/sdk/fwd.hpp index 615939d3..e69de29b 100644 --- a/sdk/fwd.hpp +++ b/sdk/fwd.hpp @@ -1,12569 +0,0 @@ -struct AABB_t; -struct AbilityID_t; -struct ActiveModelConfig_t; -struct AggregateLODSetup_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 AnimationUpdateListHandle_t; -struct AttachmentHandle_t; -struct BakedLightingInfo_t; -struct BaseSceneObjectOverride_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 CBasePulseGraphInstance; -struct CBaseRendererSource2; -struct CBaseToggle; -struct CBaseTrailRenderer; -struct CBaseTrigger; -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 CCPPScriptComponent; -struct CCPPScriptComponentUpdater; -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_Corrosive_Weaponry; -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_IceAge; -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_Void_Astral_Pull; -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_BurningBarrage; -struct CDOTA_Ability_Clinkz_Burning_Army; -struct CDOTA_Ability_Clinkz_DeathPact; -struct CDOTA_Ability_Clinkz_Empty1; -struct CDOTA_Ability_Clinkz_SearingArrows; -struct CDOTA_Ability_Clinkz_Strafe; -struct CDOTA_Ability_Clinkz_Tar_Bomb; -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_Drow_Ranger_Glacier; -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_Lamp_Use; -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_Magnus_Strength_Of_Joelrak; -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_FairShare; -struct CDOTA_Ability_Meepo_Geostrike; -struct CDOTA_Ability_Meepo_MegaMeepo; -struct CDOTA_Ability_Meepo_Megameepo_Fling; -struct CDOTA_Ability_Meepo_Petrify; -struct CDOTA_Ability_Meepo_Poof; -struct CDOTA_Ability_Meepo_Ransack; -struct CDOTA_Ability_Miniboss_Reflect; -struct CDOTA_Ability_Miniboss_Unyielding_Shield; -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_PartingShot; -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_Jolt; -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_DumbLuck; -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_PluckFamango; -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_Roshan_Teleport; -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_Scout_Bonuses; -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_225; -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_Twin_Gate_Portal_Warp; -struct CDOTA_Ability_Undying_Decay; -struct CDOTA_Ability_Undying_FleshGolem; -struct CDOTA_Ability_Undying_SoulRip; -struct CDOTA_Ability_Undying_Tombstone; -struct CDOTA_Ability_Undying_TombstoneGrab; -struct CDOTA_Ability_Undying_TombstoneUnitGrab; -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_NoxiousPlague; -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_Imp_Explode; -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_Lightning_Hands; -struct CDOTA_Ability_Zuus_StaticField; -struct CDOTA_Ability_Zuus_Thunder_Trail; -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_MangoTree; -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_BlightedSpirit; -struct CDOTA_Item_BlinkDagger; -struct CDOTA_Item_Blitz_Knuckles; -struct CDOTA_Item_Blood_Grenade; -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_Cornucopia; -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_DandelionAmulet; -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_Diadem; -struct CDOTA_Item_Diffusal_Blade; -struct CDOTA_Item_Diffusal_Blade_Level2; -struct CDOTA_Item_Dimensional_Doorway; -struct CDOTA_Item_Disperser; -struct CDOTA_Item_DivineRapier; -struct CDOTA_Item_DragonLance; -struct CDOTA_Item_Dragon_Scale; -struct CDOTA_Item_DuelistGloves; -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_Famango; -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_Gossamer_Cape; -struct CDOTA_Item_Grandmasters_Glaive; -struct CDOTA_Item_GreatFamango; -struct CDOTA_Item_GreaterClarity; -struct CDOTA_Item_GreaterCritical; -struct CDOTA_Item_GreaterFamango; -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_Hermes_Sandals; -struct CDOTA_Item_Holy_Locket; -struct CDOTA_Item_Hood_Of_Defiance; -struct CDOTA_Item_Horizon; -struct CDOTA_Item_HorizonsEquilibrium; -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_MartyrsPlate; -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_Pavise; -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_Blood_Grenade; -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_Cornucopia; -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_Disperser; -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_GreatFamango; -struct CDOTA_Item_Recipe_GreaterCritical; -struct CDOTA_Item_Recipe_GreaterFamango; -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_Harpoon; -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_Hermes_Sandals; -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_Pavise; -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_Samurai_Tabi; -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_Witches_Switch; -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_Royale_With_Cheese; -struct CDOTA_Item_Rune; -struct CDOTA_Item_RuneSpawner; -struct CDOTA_Item_RuneSpawner_Bounty; -struct CDOTA_Item_RuneSpawner_Powerup; -struct CDOTA_Item_RuneSpawner_XP; -struct CDOTA_Item_SacredRelic; -struct CDOTA_Item_SamplePicker; -struct CDOTA_Item_Samurai_Tabi; -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_Spark_Of_Courage; -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_Tier1Token; -struct CDOTA_Item_Tier2Token; -struct CDOTA_Item_Tier3Token; -struct CDOTA_Item_Tier4Token; -struct CDOTA_Item_Tier5Token; -struct CDOTA_Item_TierToken; -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_TurtleShell; -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_VindicatorsAxe; -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_Witches_Switch; -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_MinibossSpawner; -struct CDOTA_Modifer_Furbolg_Enrage_AttackSpeed; -struct CDOTA_Modifer_Furbolg_Enrage_Damage; -struct CDOTA_Modifer_Item_BlightedSpirit; -struct CDOTA_Modifer_Item_Blitz_Knuckles; -struct CDOTA_Modifer_Item_DandelionAmulet; -struct CDOTA_Modifer_Item_GlovesOfHaste; -struct CDOTA_Modifer_Item_TurtleShell; -struct CDOTA_Modifer_Item_TurtleShell_Shell; -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_ImmolationAura; -struct CDOTA_Modifier_Abaddon_BorrowedTime_ImmolationDamage; -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_Corrosive_Weaponry_Debuff; -struct CDOTA_Modifier_Alchemist_GoblinsGreed; -struct CDOTA_Modifier_Alchemist_Scepter_Bonus_Damage; -struct CDOTA_Modifier_Alchemist_Self_Corrosive_Weaponry; -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_IceAge; -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_AttackRange; -struct CDOTA_Modifier_ArcWarden_MagneticField_Attack_Speed; -struct CDOTA_Modifier_ArcWarden_MagneticField_Evasion; -struct CDOTA_Modifier_ArcWarden_MagneticField_Thinker_AttackRange; -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_BaseBlocker; -struct CDOTA_Modifier_BaseBlocker_Effect; -struct CDOTA_Modifier_BaseBlocker_Thinker; -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_DrumsOfSlom_Aura; -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_Barrier; -struct CDOTA_Modifier_Bloodseeker_BloodMist_Passive; -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_Bonus_Armor; -struct CDOTA_Modifier_Bonus_Damage; -struct CDOTA_Modifier_Bonus_Mres; -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_Fade; -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_Astral_Pull_Movement; -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_BurningBarrage; -struct CDOTA_Modifier_Clinkz_BurningBarrage_DamageReduction; -struct CDOTA_Modifier_Clinkz_Burning_Army; -struct CDOTA_Modifier_Clinkz_Burning_Army_Thinker; -struct CDOTA_Modifier_Clinkz_DeathPact; -struct CDOTA_Modifier_Clinkz_DeathPact_Permanent_Buff; -struct CDOTA_Modifier_Clinkz_SearingArrows; -struct CDOTA_Modifier_Clinkz_Strafe; -struct CDOTA_Modifier_Clinkz_Tar_Bomb_SearingArrows; -struct CDOTA_Modifier_Clinkz_Tar_Bomb_Slow; -struct CDOTA_Modifier_Clinkz_Tar_Bomb_Thinker; -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_Bad_Juju_Manacost; -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_Death_Seeker_OutOfWorld; -struct CDOTA_Modifier_DebuffImmune; -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_Glacier_Hilltop; -struct CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop_Aura; -struct CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop_Removal; -struct CDOTA_Modifier_Drow_Ranger_Glacier_Shard; -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_LastDitch; -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_Arboreal_Might_Armor; -struct CDOTA_Modifier_Furion_Arboreal_Might_Attack_Damage; -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_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_HP_Regen; -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_EMP_Pull; -struct CDOTA_Modifier_Invoker_EMP_Pull_Thinker; -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_BlightedSpirit_Blight; -struct CDOTA_Modifier_Item_BlinkDagger; -struct CDOTA_Modifier_Item_Blood_Grenade; -struct CDOTA_Modifier_Item_Blood_Grenade_Debuff; -struct CDOTA_Modifier_Item_Blood_Grenade_Flight_Thinker; -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_Cornucopia; -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_Diadem; -struct CDOTA_Modifier_Item_Diffusal_Blade; -struct CDOTA_Modifier_Item_Diffusal_Blade_Slow; -struct CDOTA_Modifier_Item_Disperser; -struct CDOTA_Modifier_Item_Disperser_Attack_Debuff; -struct CDOTA_Modifier_Item_Disperser_Evasion_Buff; -struct CDOTA_Modifier_Item_Disperser_Movespeed_Buff; -struct CDOTA_Modifier_Item_DivineRapier; -struct CDOTA_Modifier_Item_DragonLance; -struct CDOTA_Modifier_Item_Dragon_Scale; -struct CDOTA_Modifier_Item_DuelistGloves; -struct CDOTA_Modifier_Item_DustofAppearance; -struct CDOTA_Modifier_Item_DustofAppearance_Thinker; -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_Gossamer_Cape; -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_EchoSabre_Component; -struct CDOTA_Modifier_Item_Harpoon_InternalCD; -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_Hermes_Sandals; -struct CDOTA_Modifier_Item_Hermes_Sandals_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_HorizonsEquilibrium; -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_MartyrsPlate; -struct CDOTA_Modifier_Item_MartyrsPlate_Aura; -struct CDOTA_Modifier_Item_MartyrsPlate_Effect; -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_Pavise; -struct CDOTA_Modifier_Item_Pavise_Shield; -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_Samurai_Tabi; -struct CDOTA_Modifier_Item_Samurai_Tabi_Agi; -struct CDOTA_Modifier_Item_Samurai_Tabi_Int; -struct CDOTA_Modifier_Item_Samurai_Tabi_Str; -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_Spark_Of_Courage; -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_Veil_Of_Discord_Thinker; -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_VindicatorsAxe; -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_Witches_Switch; -struct CDOTA_Modifier_Item_Witches_Switch_Aura_Effect; -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_BlindingLight_Thinker; -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_Lamp_Off; -struct CDOTA_Modifier_Lamp_On; -struct CDOTA_Modifier_Lamp_Ready; -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_LagunaBlade_Superheated; -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_MP_Regen; -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_Stats; -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_Magnus_Strength_Of_Joelrak; -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_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_MegaMeepo; -struct CDOTA_Modifier_Meepo_MegaMeepo_Frame_Invulnerable; -struct CDOTA_Modifier_Meepo_MegaMeepo_Self; -struct CDOTA_Modifier_Meepo_Petrify; -struct CDOTA_Modifier_Meepo_Poof_Casting; -struct CDOTA_Modifier_Meepo_Poof_Damage_Sharing; -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_Miniboss_Reflect; -struct CDOTA_Modifier_Miniboss_UnyieldingShield; -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_All_Buff; -struct CDOTA_Modifier_Morphling_ScepterStatsDrain_All_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_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_PartingShot_Knockback; -struct CDOTA_Modifier_Muerta_PartingShot_PhysicalBodyDebuff; -struct CDOTA_Modifier_Muerta_PartingShot_ProjectileReturn; -struct CDOTA_Modifier_Muerta_PartingShot_SoulClone; -struct CDOTA_Modifier_Muerta_PartingShot_SoulDebuff; -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_PierceTheVeil_SpellAmpBoost; -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_NightStalker_Void_Zone; -struct CDOTA_Modifier_NightStalker_Void_ZoneThinker; -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_Jolt_Damage_Tracker; -struct CDOTA_Modifier_Nyx_Assassin_Jolt_Debuff; -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_Barrier; -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_DumbLuck; -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_HammerOfPurity; -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_Cache; -struct CDOTA_Modifier_PhantomLancer_Juxtapose_Invisibility; -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_Intrinsic; -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_Puck_PhaseShift_AttackBonus; -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_Barrier; -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_Rattletrap_RocketFlare_Slow; -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_Moving; -struct CDOTA_Modifier_Roshan_Slam; -struct CDOTA_Modifier_Roshan_SpellBlock; -struct CDOTA_Modifier_Royal_Jelly; -struct CDOTA_Modifier_Royale_With_Cheese; -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_Shield; -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_ScoutBonuses; -struct CDOTA_Modifier_ScoutVisible; -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_SetScaleset; -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_ReactiveArmor_Bomb; -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_Scepter_RespawnTime; -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_Arcane_Bolt_Lifesteal; -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_Boost; -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_Scepter; -struct CDOTA_Modifier_Techies_Minefield_Sign_Scepter_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_Twin_Gate_FX; -struct CDOTA_Modifier_Twin_Gate_Warp_Channel; -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_Decay_Shard; -struct CDOTA_Modifier_Undying_FleshGolem; -struct CDOTA_Modifier_Undying_FleshGolem_PlagueAura; -struct CDOTA_Modifier_Undying_FleshGolem_Slow; -struct CDOTA_Modifier_Undying_Tombstone_Bunker; -struct CDOTA_Modifier_Undying_Tombstone_Bunker_Cooldown; -struct CDOTA_Modifier_Undying_Tombstone_Bunker_Friendly; -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_NoxiousPlaguePrimary; -struct CDOTA_Modifier_Venomancer_NoxiousPlagueSecondary; -struct CDOTA_Modifier_Venomancer_NoxiousPlague_Slow; -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_Imp_Explode; -struct CDOTA_Modifier_Warlock_Imp_ExplodeThinker; -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_Lightning_Hands; -struct CDOTA_Modifier_Zuus_Static_Field; -struct CDOTA_Modifier_Zuus_Static_Field_Slow; -struct CDOTA_Modifier_Zuus_ThunderTrail_Debuff; -struct CDOTA_Modifier_Zuus_ThundergodsWrathThinker; -struct CDOTA_Modifier_Zuus_ThundergodsWrathVisionThinker; -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_BaseBlocker; -struct CDOTA_NPC_BroodmotherStickyWeb; -struct CDOTA_NPC_DataDriven; -struct CDOTA_NPC_Lantern; -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_Miniboss; -struct CDOTA_Unit_Nian; -struct CDOTA_Unit_Nian_Attachment; -struct CDOTA_Unit_Roshan; -struct CDOTA_Unit_Scout; -struct CDOTA_Unit_SpectralTusk_Tombstone; -struct CDOTA_Unit_SpiritBear; -struct CDOTA_Unit_TargetDummy; -struct CDOTA_Unit_TemplarAssassin_PsionicTrap; -struct CDOTA_Unit_Twin_Gate; -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 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 CInfoTargetServerOnly; -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 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 CODTA_Unit_Warlock_Imp; -struct CObstructionObject; -struct COrCondition; -struct COrientConstraint; -struct COrnamentProp; -struct CParamSpanUpdater; -struct CParameterCondition; -struct CParentConstraint; -struct CParticleAnimTag; -struct CParticleCollectionBindingInstance; -struct CParticleCollectionFloatInput; -struct CParticleCollectionRendererFloatInput; -struct CParticleCollectionRendererVecInput; -struct CParticleCollectionVecInput; -struct CParticleFloatInput; -struct CParticleFunction; -struct CParticleFunctionConstraint; -struct CParticleFunctionEmitter; -struct CParticleFunctionForce; -struct CParticleFunctionInitializer; -struct CParticleFunctionOperator; -struct CParticleFunctionPreEmission; -struct CParticleFunctionRenderer; -struct CParticleInput; -struct CParticleModelInput; -struct CParticleProperty; -struct CParticleRemapFloatInput; -struct CParticleSystem; -struct CParticleSystemDefinition; -struct CParticleTransformInput; -struct CParticleVariableRef; -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 CPathParticleRopeAlias_path_particle_rope_clientside; -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 CPulseCell_Base; -struct CPulseCell_BaseFlow; -struct CPulseCell_BaseValue; -struct CPulseCell_BaseYieldingInflow; -struct CPulseCell_Inflow_BaseEntrypoint; -struct CPulseCell_Inflow_EntOutputHandler; -struct CPulseCell_Inflow_EventHandler; -struct CPulseCell_Inflow_GraphHook; -struct CPulseCell_Inflow_Method; -struct CPulseCell_Inflow_Wait; -struct CPulseCell_Inflow_Yield; -struct CPulseCell_Outflow_CycleOrdered; -struct CPulseCell_Outflow_CycleOrdered::InstanceState_t; -struct CPulseCell_Outflow_CycleRandom; -struct CPulseCell_Outflow_CycleShuffled; -struct CPulseCell_Outflow_CycleShuffled::InstanceState_t; -struct CPulseCell_Outflow_IntSwitch; -struct CPulseCell_Outflow_SimultaneousParallel; -struct CPulseCell_Outflow_StringSwitch; -struct CPulseCell_Outflow_TestRandomYesNo; -struct CPulseCell_Step_CallExternalMethod; -struct CPulseCell_Step_DebugLog; -struct CPulseCell_Step_PublicOutput; -struct CPulseCell_Step_TestDomainCreateFakeEntity; -struct CPulseCell_Step_TestDomainDestroyFakeEntity; -struct CPulseCell_Step_TestDomainEntFire; -struct CPulseCell_Step_TestDomainTracepoint; -struct CPulseCell_Test_MultiInflow_NoDefault; -struct CPulseCell_Test_MultiInflow_WithDefault; -struct CPulseCell_Test_NoInflow; -struct CPulseCell_Val_TestDomainFindEntityByName; -struct CPulseCell_Val_TestDomainGetEntityName; -struct CPulseCell_Value_Expression; -struct CPulseCell_Value_RandomInt; -struct CPulseCell_Value_TestValue50; -struct CPulseGraphDef; -struct CPulseGraphInstance_TestDomain; -struct CPulseGraphInstance_TestDomain_Derived; -struct CPulseGraphInstance_TurtleGraphics; -struct CPulseTestFuncs_DerivedDomain; -struct CPulseTurtleGraphicsLib; -struct CPulse_CallInfo; -struct CPulse_Chunk; -struct CPulse_InvokeBinding; -struct CPulse_OutflowConnection; -struct CPulse_OutputConnection; -struct CPulse_PublicOutput; -struct CPulse_RegisterInfo; -struct CPulse_ResumePoint; -struct CPulse_Variable; -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 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 CVerticalMotionController; -struct CVoxelVisibility; -struct CVrSkeletalInputSettings; -struct CWayPointHelperAnimNode; -struct CWayPointHelperUpdateNode; -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_Corrosive_Weaponry; -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_BurningBarrage; -struct C_DOTA_Ability_Clinkz_Burning_Army; -struct C_DOTA_Ability_Clinkz_DeathPact; -struct C_DOTA_Ability_Clinkz_Empty1; -struct C_DOTA_Ability_Clinkz_Strafe; -struct C_DOTA_Ability_Clinkz_Tar_Bomb; -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_Drow_Ranger_Glacier; -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_Magnus_Strength_Of_Joelrak; -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_FairShare; -struct C_DOTA_Ability_Meepo_Geostrike; -struct C_DOTA_Ability_Meepo_MegaMeepo; -struct C_DOTA_Ability_Meepo_Megameepo_Fling; -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_PartingShot; -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_DumbLuck; -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_Roshan_Teleport; -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_225; -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_Twin_Gate_Portal_Warp; -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_TombstoneGrab; -struct C_DOTA_Ability_Undying_TombstoneUnitGrab; -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_NoxiousPlague; -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_Imp_Explode; -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_Lightning_Hands; -struct C_DOTA_Ability_Zuus_StaticField; -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_MangoTree; -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_Hermes_Sandals; -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_BlightedSpirit; -struct C_DOTA_Item_BlinkDagger; -struct C_DOTA_Item_Blitz_Knuckles; -struct C_DOTA_Item_Blood_Grenade; -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_Cornucopia; -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_DandelionAmulet; -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_Diadem; -struct C_DOTA_Item_Diffusal_Blade; -struct C_DOTA_Item_Diffusal_Blade_Level2; -struct C_DOTA_Item_Disperser; -struct C_DOTA_Item_DivineRapier; -struct C_DOTA_Item_DragonLance; -struct C_DOTA_Item_DuelistGloves; -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_HorizonsEquilibrium; -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_MartyrsPlate; -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_Blood_Grenade; -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_Cornucopia; -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_Disperser; -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_Hermes_Sandals; -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_Samurai_Tabi; -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_Witches_Switch; -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_Royale_With_Cheese; -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_RuneSpawner_XP; -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_Tier1Token; -struct C_DOTA_Item_Tier2Token; -struct C_DOTA_Item_Tier3Token; -struct C_DOTA_Item_Tier4Token; -struct C_DOTA_Item_Tier5Token; -struct C_DOTA_Item_TierToken; -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_TurtleShell; -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_VindicatorsAxe; -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_Witches_Switch; -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_LinearProjectileInfo; -struct C_DOTA_MapTree; -struct C_DOTA_MinibossSpawner; -struct C_DOTA_NPC_AghsFort_Lich_Ice_Spire; -struct C_DOTA_NPC_Aghsfort_WitchDoctor_Ward; -struct C_DOTA_NPC_BaseBlocker; -struct C_DOTA_NPC_BroodmotherStickyWeb; -struct C_DOTA_NPC_DataDriven; -struct C_DOTA_NPC_Lantern; -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_Samurai_Tabi; -struct C_DOTA_SimpleObstruction; -struct C_DOTA_TempTree; -struct C_DOTA_Tiny_ScepterTree; -struct C_DOTA_TrackingProjectileInfo; -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_Miniboss; -struct C_DOTA_Unit_Nian; -struct C_DOTA_Unit_Roshan; -struct C_DOTA_Unit_Scout; -struct C_DOTA_Unit_SpiritBear; -struct C_DOTA_Unit_TargetDummy; -struct C_DOTA_Unit_TemplarAssassin_PsionicTrap; -struct C_DOTA_Unit_Twin_Gate; -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_DragRelativeToPlane; -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_RenderLightBeam; -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_SetVariable; -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_PathParticleRopeAlias_path_particle_rope_clientside; -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_PortraitWorldLight; -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_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 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 ISkeletonAnimationController; -struct InGamePredictionData_t; -struct InfoForResourceTypeCAnimData; -struct InfoForResourceTypeCAnimationGroup; -struct InfoForResourceTypeCCSGOEconItem; -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 InfoForResourceTypeIPulseGraphDef; -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 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 Modifier_Pluck_Famango_Channel; -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 PGDInstruction_t; -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 ParticleNamedValueConfiguration_t; -struct ParticleNamedValueSource_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 PulseDocNodeID_t; -struct PulseRegisterMap_t; -struct PulseRuntimeCallInfoIndex_t; -struct PulseRuntimeCellIndex_t; -struct PulseRuntimeChunkIndex_t; -struct PulseRuntimeEntrypointIndex_t; -struct PulseRuntimeInvokeIndex_t; -struct PulseRuntimeOutputIndex_t; -struct PulseRuntimeRegisterIndex_t; -struct PulseRuntimeStateOffset_t; -struct PulseRuntimeVarIndex_t; -struct PulseTestEHandle_t; -struct PurchasedItem_t; -struct RagdollCreationParams_t; -struct RegionTriggerBoxes_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 TierNeutralInfo_t; -struct TimedEvent; -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 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 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 sMuertaPartingShotSoulDef; -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/host.hpp b/sdk/host.hpp new file mode 100644 index 00000000..6cb8dde8 --- /dev/null +++ b/sdk/host.hpp @@ -0,0 +1,21 @@ +#pragma once +#include +#include "!GlobalTypes.hpp" + +// ///////////////////////////////////////////////////////////// +// Binary: host.dll +// Classes count: 1 +// Enums count: 0 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// + +// Alignment: 1 +// Size: 0x10 +class CAnimScriptBase +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + bool m_bIsValid; // 0x8 +}; + diff --git a/sdk/particles.hpp b/sdk/particles.hpp index 3e629895..68960694 100644 --- a/sdk/particles.hpp +++ b/sdk/particles.hpp @@ -4,8 +4,8 @@ // ///////////////////////////////////////////////////////////// // Binary: particles.dll -// Classes count: 493 -// Enums count: 70 +// Classes count: 438 +// Enums count: 68 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -253,7 +253,7 @@ enum class ParticleSelection_t : uint32_t }; // Alignment: 4 -// Size: 0xb +// Size: 0xc enum class ParticlePinDistance_t : uint32_t { PARTICLE_PIN_DISTANCE_NONE = 0xffffffffffffffff, @@ -267,6 +267,7 @@ enum class ParticlePinDistance_t : uint32_t PARTICLE_PIN_DISTANCE_CP_PAIR_BOTH = 0x8, PARTICLE_PIN_SPEED = 0x9, PARTICLE_PIN_COLLECTION_AGE = 0xa, + PARTICLE_PIN_FLOAT_VALUE = 0xb, }; // Alignment: 4 @@ -404,6 +405,15 @@ enum class MaterialProxyType_t : uint32_t MATERIAL_PROXY_TINT = 0x1, }; +// Alignment: 4 +// Size: 0x3 +enum class BBoxVolumeType_t : uint32_t +{ + BBOX_VOLUME = 0x0, + BBOX_DIMENSIONS = 0x1, + BBOX_MINS_MAXS = 0x2, +}; + // Alignment: 4 // Size: 0x6 enum class ParticleOrientationChoiceList_t : uint32_t @@ -608,77 +618,8 @@ 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: 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 +// Size: 0x18 enum class ParticleFloatType_t : uint32_t { PF_TYPE_INVALID = 0xffffffffffffffff, @@ -692,17 +633,19 @@ 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_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, + PF_TYPE_CONCURRENT_DEF_COUNT = 0xa, + PF_TYPE_CLOSEST_CAMERA_DISTANCE = 0xb, + PF_TYPE_RENDERER_CAMERA_DISTANCE = 0xc, + PF_TYPE_RENDERER_CAMERA_DOT_PRODUCT = 0xd, + PF_TYPE_PARTICLE_NOISE = 0xe, + PF_TYPE_PARTICLE_AGE = 0xf, + PF_TYPE_PARTICLE_AGE_NORMALIZED = 0x10, + PF_TYPE_PARTICLE_FLOAT = 0x11, + PF_TYPE_PARTICLE_VECTOR_COMPONENT = 0x12, + PF_TYPE_PARTICLE_SPEED = 0x13, + PF_TYPE_PARTICLE_NUMBER = 0x14, + PF_TYPE_PARTICLE_NUMBER_NORMALIZED = 0x15, + PF_TYPE_COUNT = 0x16, }; // Alignment: 4 @@ -837,17 +780,6 @@ 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 ParticleNamedValueConfiguration_t; struct CNewParticleEffect; @@ -881,6 +813,9 @@ struct ParticleAttributeIndex_t { public: int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("particles.dll")->FindDeclaredClass("ParticleAttributeIndex_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 3 @@ -906,8 +841,8 @@ public: int32_t m_nValue; // 0x8 }; -// Alignment: 15 -// Size: 0x58 +// Alignment: 16 +// Size: 0x68 struct ParticlePreviewState_t { public: @@ -929,6 +864,10 @@ public: bool m_bShouldDrawAttachmentNames; // 0x52 bool m_bShouldDrawControlPointAxes; // 0x53 bool m_bAnimationNonLooping; // 0x54 +private: + [[maybe_unused]] uint8_t __pad0055[0x3]; // 0x55 +public: + Vector m_vecPreviewGravity; // 0x58 }; // Alignment: 6 @@ -945,7 +884,7 @@ public: }; // Alignment: 3 -// Size: 0x78 +// Size: 0x88 struct ParticleControlPointConfiguration_t { public: @@ -1161,7 +1100,7 @@ public: float m_flTimeDuration; // 0x14 }; -// Alignment: 63 +// Alignment: 64 // Size: 0x3e0 class CParticleSystemDefinition : public IParticleSystemDefinition { @@ -1316,8 +1255,10 @@ public: bool m_bShouldBatch; // 0x30c // MPropertyFriendlyName "Hitboxes fall back to render bounds" bool m_bShouldHitboxesFallbackToRenderBounds; // 0x30d + // MPropertyFriendlyName "Hitboxes fall back to snapshot" + bool m_bShouldHitboxesFallbackToSnapshot; // 0x30e private: - [[maybe_unused]] uint8_t __pad030e[0x2]; // 0x30e + [[maybe_unused]] uint8_t __pad030f[0x1]; // 0x30f public: // MPropertyStartGroup "Rendering Options" // MPropertyFriendlyName "view model effect" @@ -1339,10 +1280,10 @@ public: // MParticleAdvancedField bool m_bShouldSort; // 0x328 private: - [[maybe_unused]] uint8_t __pad0329[0x3f]; // 0x329 + [[maybe_unused]] uint8_t __pad0329[0x47]; // 0x329 public: // MPropertySuppressField - CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x368 + CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x370 }; // Alignment: 0 @@ -1355,8 +1296,8 @@ public: // No members available }; -// Alignment: 44 -// Size: 0x150 +// Alignment: 45 +// Size: 0x158 class CParticleFloatInput : public CParticleInput { public: @@ -1400,32 +1341,33 @@ public: float m_flNoiseImgPreviewScale; // 0xcc bool m_bNoiseImgPreviewLive; // 0xd0 private: - [[maybe_unused]] uint8_t __pad00d1[0x8]; // 0xd1 + [[maybe_unused]] uint8_t __pad00d1[0xb]; // 0xd1 public: - bool m_bUseBoundsCenter; // 0xd9 + float m_flNoCameraFallback; // 0xdc + bool m_bUseBoundsCenter; // 0xe0 private: - [[maybe_unused]] uint8_t __pad00da[0x2]; // 0xda + [[maybe_unused]] uint8_t __pad00e1[0x3]; // 0xe1 public: - ParticleFloatInputMode_t m_nInputMode; // 0xdc - float m_flMultFactor; // 0xe0 - float m_flInput0; // 0xe4 - float m_flInput1; // 0xe8 - float m_flOutput0; // 0xec - float m_flOutput1; // 0xf0 - float m_flNotchedRangeMin; // 0xf4 - float m_flNotchedRangeMax; // 0xf8 - float m_flNotchedOutputOutside; // 0xfc - float m_flNotchedOutputInside; // 0x100 - ParticleFloatBiasType_t m_nBiasType; // 0x104 - float m_flBiasParameter; // 0x108 + ParticleFloatInputMode_t m_nInputMode; // 0xe4 + float m_flMultFactor; // 0xe8 + float m_flInput0; // 0xec + float m_flInput1; // 0xf0 + float m_flOutput0; // 0xf4 + float m_flOutput1; // 0xf8 + float m_flNotchedRangeMin; // 0xfc + float m_flNotchedRangeMax; // 0x100 + float m_flNotchedOutputOutside; // 0x104 + float m_flNotchedOutputInside; // 0x108 + ParticleFloatBiasType_t m_nBiasType; // 0x10c + float m_flBiasParameter; // 0x110 private: - [[maybe_unused]] uint8_t __pad010c[0x4]; // 0x10c + [[maybe_unused]] uint8_t __pad0114[0x4]; // 0x114 public: - CPiecewiseCurve m_Curve; // 0x110 + CPiecewiseCurve m_Curve; // 0x118 }; // Alignment: 0 -// Size: 0x150 +// Size: 0x158 class CParticleCollectionFloatInput : public CParticleFloatInput { public: @@ -1433,7 +1375,7 @@ public: }; // Alignment: 16 -// Size: 0x1b0 +// Size: 0x1c0 class CParticleFunction { private: @@ -1444,120 +1386,120 @@ public: CParticleCollectionFloatInput m_flOpStrength; // 0x8 // MPropertyFriendlyName "operator end cap state" // MPropertySortPriority "-100" - ParticleEndcapMode_t m_nOpEndCapState; // 0x158 + ParticleEndcapMode_t m_nOpEndCapState; // 0x160 // MPropertyStartGroup "Operator Fade" // MPropertyFriendlyName "operator start fadein" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpStartFadeInTime; // 0x15c + float m_flOpStartFadeInTime; // 0x164 // MPropertyFriendlyName "operator end fadein" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpEndFadeInTime; // 0x160 + float m_flOpEndFadeInTime; // 0x168 // MPropertyFriendlyName "operator start fadeout" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpStartFadeOutTime; // 0x164 + float m_flOpStartFadeOutTime; // 0x16c // MPropertyFriendlyName "operator end fadeout" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpEndFadeOutTime; // 0x168 + float m_flOpEndFadeOutTime; // 0x170 // MPropertyFriendlyName "operator fade oscillate" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpFadeOscillatePeriod; // 0x16c + float m_flOpFadeOscillatePeriod; // 0x174 // MPropertyFriendlyName "normalize fade times to endcap" // MParticleAdvancedField // MPropertySortPriority "-100" - bool m_bNormalizeToStopTime; // 0x170 + bool m_bNormalizeToStopTime; // 0x178 private: - [[maybe_unused]] uint8_t __pad0171[0x3]; // 0x171 + [[maybe_unused]] uint8_t __pad0179[0x3]; // 0x179 public: // MPropertyStartGroup "Operator Fade Time Offset" // MPropertyFriendlyName "operator fade time offset min" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeOffsetMin; // 0x174 + float m_flOpTimeOffsetMin; // 0x17c // MPropertyFriendlyName "operator fade time offset max" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeOffsetMax; // 0x178 + float m_flOpTimeOffsetMax; // 0x180 // MPropertyFriendlyName "operator fade time offset seed" // MParticleAdvancedField // MPropertySortPriority "-100" - int32_t m_nOpTimeOffsetSeed; // 0x17c + int32_t m_nOpTimeOffsetSeed; // 0x184 // MPropertyStartGroup "Operator Fade Timescale Modifiers" // MPropertyFriendlyName "operator fade time scale seed" // MParticleAdvancedField // MPropertySortPriority "-100" - int32_t m_nOpTimeScaleSeed; // 0x180 + int32_t m_nOpTimeScaleSeed; // 0x188 // MPropertyFriendlyName "operator fade time scale min" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeScaleMin; // 0x184 + float m_flOpTimeScaleMin; // 0x18c // MPropertyFriendlyName "operator fade time scale max" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeScaleMax; // 0x188 + float m_flOpTimeScaleMax; // 0x190 private: - [[maybe_unused]] uint8_t __pad018c[0x1]; // 0x18c + [[maybe_unused]] uint8_t __pad0194[0x2]; // 0x194 public: // MPropertyStartGroup // MPropertySuppressField - bool m_bDisableOperator; // 0x18d + bool m_bDisableOperator; // 0x196 private: - [[maybe_unused]] uint8_t __pad018e[0x2]; // 0x18e + [[maybe_unused]] uint8_t __pad0197[0x1]; // 0x197 public: // MPropertyFriendlyName "operator help and notes" // MParticleHelpField // MParticleAdvancedField // MPropertySortPriority "-100" - CUtlString m_Notes; // 0x190 + CUtlString m_Notes; // 0x198 }; // Alignment: 0 -// Size: 0x1b0 -class CParticleFunctionForce : public CParticleFunction -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x1b0 +// Size: 0x1c0 class CParticleFunctionOperator : public CParticleFunction { public: // No members available }; +// Alignment: 0 +// Size: 0x1d0 +class CParticleFunctionForce : public CParticleFunction +{ +public: + // No members available +}; + // Alignment: 1 -// Size: 0x1c0 +// Size: 0x1d0 class CParticleFunctionPreEmission : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Run Only Once" - bool m_bRunOnce; // 0x1b0 + bool m_bRunOnce; // 0x1c0 }; // Alignment: 3 // Size: 0x200 class CParticleFunctionRenderer : public CParticleFunction { + // Collision detected(0x1b8->0x1c0), output may be wrong. public: - // MPropertySortPriority "-1" - CParticleVisibilityInputs VisibilityInputs; // 0x1b0 + // Skipped field "VisibilityInputs" @ 0x1b8 because of the struct collision // MPropertyStartGroup "Rendering filter" // MPropertyFriendlyName "I cannot be refracted through refracting objects like water" // MPropertySortPriority "-1" - bool m_bCannotBeRefracted; // 0x1f4 + bool m_bCannotBeRefracted; // 0x1fc // MPropertyFriendlyName "Skip rendering on mobile" // MPropertySortPriority "-1" - bool m_bSkipRenderingOnMobile; // 0x1f5 + bool m_bSkipRenderingOnMobile; // 0x1fd }; // Alignment: 0 -// Size: 0x150 +// Size: 0x158 class CParticleCollectionRendererFloatInput : public CParticleCollectionFloatInput { public: @@ -1565,49 +1507,49 @@ public: }; // Alignment: 16 -// Size: 0x950 +// Size: 0x988 struct TextureControls_t { public: // MPropertyFriendlyName "horizontal texture scale" CParticleCollectionRendererFloatInput m_flFinalTextureScaleU; // 0x0 // MPropertyFriendlyName "vertical texture scale" - CParticleCollectionRendererFloatInput m_flFinalTextureScaleV; // 0x150 + CParticleCollectionRendererFloatInput m_flFinalTextureScaleV; // 0x158 // MPropertyFriendlyName "horizontal texture offset" - CParticleCollectionRendererFloatInput m_flFinalTextureOffsetU; // 0x2a0 + CParticleCollectionRendererFloatInput m_flFinalTextureOffsetU; // 0x2b0 // MPropertyFriendlyName "vertical texture offset" - CParticleCollectionRendererFloatInput m_flFinalTextureOffsetV; // 0x3f0 + CParticleCollectionRendererFloatInput m_flFinalTextureOffsetV; // 0x408 // MPropertyFriendlyName "texture rotation / animation rate scale" - CParticleCollectionRendererFloatInput m_flFinalTextureUVRotation; // 0x540 + CParticleCollectionRendererFloatInput m_flFinalTextureUVRotation; // 0x560 // MPropertyFriendlyName "Infinite Zoom Scale" - CParticleCollectionRendererFloatInput m_flZoomScale; // 0x690 + CParticleCollectionRendererFloatInput m_flZoomScale; // 0x6b8 // MPropertyFriendlyName "Distortion Amount" - CParticleCollectionRendererFloatInput m_flDistortion; // 0x7e0 + CParticleCollectionRendererFloatInput m_flDistortion; // 0x810 // MPropertyFriendlyName "Randomize Initial Offset" - bool m_bRandomizeOffsets; // 0x930 + bool m_bRandomizeOffsets; // 0x968 // MPropertyFriendlyName "Clamp UVs" - bool m_bClampUVs; // 0x931 + bool m_bClampUVs; // 0x969 private: - [[maybe_unused]] uint8_t __pad0932[0x2]; // 0x932 + [[maybe_unused]] uint8_t __pad096a[0x2]; // 0x96a public: // MPropertyFriendlyName "per-particle scalar for blend" - SpriteCardPerParticleScale_t m_nPerParticleBlend; // 0x934 + SpriteCardPerParticleScale_t m_nPerParticleBlend; // 0x96c // MPropertyFriendlyName "per-particle scalar for scale" - SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x938 + SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x970 // MPropertyFriendlyName "per-particle scalar for horizontal offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x93c + SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x974 // MPropertyFriendlyName "per-particle scalar for vertical offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x940 + SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x978 // MPropertyFriendlyName "per-particle scalar for rotation" - SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x944 + SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x97c // MPropertyFriendlyName "per-particle scalar for zoom" - SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x948 + SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x980 // MPropertyFriendlyName "per-particle scalar for distortion" - SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x94c + SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x984 }; // Alignment: 23 -// Size: 0x638 +// Size: 0x658 class CParticleVecInput : public CParticleInput { public: @@ -1630,20 +1572,20 @@ public: Vector m_vCPRelativePosition; // 0x90 Vector m_vCPRelativeDir; // 0x9c CParticleFloatInput m_FloatComponentX; // 0xa8 - CParticleFloatInput m_FloatComponentY; // 0x1f8 - CParticleFloatInput m_FloatComponentZ; // 0x348 - CParticleFloatInput m_FloatInterp; // 0x498 - float m_flInterpInput0; // 0x5e8 - float m_flInterpInput1; // 0x5ec - Vector m_vInterpOutput0; // 0x5f0 - Vector m_vInterpOutput1; // 0x5fc - CColorGradient m_Gradient; // 0x608 - Vector m_vRandomMin; // 0x620 - Vector m_vRandomMax; // 0x62c + CParticleFloatInput m_FloatComponentY; // 0x200 + CParticleFloatInput m_FloatComponentZ; // 0x358 + CParticleFloatInput m_FloatInterp; // 0x4b0 + float m_flInterpInput0; // 0x608 + float m_flInterpInput1; // 0x60c + Vector m_vInterpOutput0; // 0x610 + Vector m_vInterpOutput1; // 0x61c + CColorGradient m_Gradient; // 0x628 + Vector m_vRandomMin; // 0x640 + Vector m_vRandomMax; // 0x64c }; // Alignment: 0 -// Size: 0x638 +// Size: 0x658 class CParticleCollectionVecInput : public CParticleVecInput { public: @@ -1651,7 +1593,7 @@ public: }; // Alignment: 2 -// Size: 0x158 +// Size: 0x160 struct FloatInputMaterialVariable_t { public: @@ -1662,7 +1604,7 @@ public: }; // Alignment: 0 -// Size: 0x638 +// Size: 0x658 class CParticleCollectionRendererVecInput : public CParticleCollectionVecInput { public: @@ -1670,646 +1612,13 @@ public: }; // Alignment: 0 -// Size: 0x1b0 +// Size: 0x1c0 class CParticleFunctionConstraint : public CParticleFunction { public: // No members available }; -// 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: 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: 8 // Size: 0x68 class CParticleTransformInput : public CParticleInput @@ -2335,13 +1644,13 @@ public: // Size: 0x1c0 class CParticleFunctionEmitter : public CParticleFunction { + // Collision detected(0x1b8->0x1c0), output may be wrong. public: - // MPropertyFriendlyName "Emitter Index" - int32_t m_nEmitterIndex; // 0x1b0 + // Skipped field "m_nEmitterIndex" @ 0x1b8 because of the struct collision }; // Alignment: 0 -// Size: 0x150 +// Size: 0x158 class CPerParticleFloatInput : public CParticleFloatInput { public: @@ -2352,13 +1661,13 @@ public: // Size: 0x1c0 class CParticleFunctionInitializer : public CParticleFunction { + // Collision detected(0x1b8->0x1c0), output may be wrong. public: - // MPropertyFriendlyName "Associated emitter Index" - int32_t m_nAssociatedEmitterIndex; // 0x1b0 + // Skipped field "m_nAssociatedEmitterIndex" @ 0x1b8 because of the struct collision }; // Alignment: 9 -// Size: 0xad8 +// Size: 0xb18 struct TextureGroup_t { public: @@ -2393,11 +1702,11 @@ public: 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; // 0x188 + TextureControls_t m_TextureControls; // 0x190 }; // Alignment: 0 -// Size: 0x150 +// Size: 0x158 class CParticleRemapFloatInput : public CParticleFloatInput { public: @@ -2405,7 +1714,7 @@ public: }; // Alignment: 61 -// Size: 0x2390 +// Size: 0x2470 class CBaseRendererSource2 : public CParticleFunctionRenderer { public: @@ -2415,236 +1724,236 @@ public: CParticleCollectionRendererFloatInput m_flRadiusScale; // 0x200 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - CParticleCollectionRendererFloatInput m_flAlphaScale; // 0x350 + CParticleCollectionRendererFloatInput m_flAlphaScale; // 0x358 // MPropertyFriendlyName "rotation roll scale" // MPropertySortPriority "700" - CParticleCollectionRendererFloatInput m_flRollScale; // 0x4a0 + CParticleCollectionRendererFloatInput m_flRollScale; // 0x4b0 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x5f0 + ParticleAttributeIndex_t m_nAlpha2Field; // 0x608 private: - [[maybe_unused]] uint8_t __pad05f4[0x4]; // 0x5f4 + [[maybe_unused]] uint8_t __pad060c[0x4]; // 0x60c public: // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionRendererVecInput m_vecColorScale; // 0x5f8 + CParticleCollectionRendererVecInput m_vecColorScale; // 0x610 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0xc30 + ParticleColorBlendType_t m_nColorBlendType; // 0xc68 // MPropertyStartGroup "+Material" // MPropertyFriendlyName "Shader" // MPropertySortPriority "600" - SpriteCardShaderType_t m_nShaderType; // 0xc34 + SpriteCardShaderType_t m_nShaderType; // 0xc6c // MPropertyFriendlyName "Custom Shader" // MPropertySuppressExpr "m_nShaderType != SPRITECARD_SHADER_CUSTOM" // MPropertySortPriority "600" - CUtlString m_strShaderOverride; // 0xc38 + CUtlString m_strShaderOverride; // 0xc70 // MPropertyFriendlyName "X offset of center point" // MPropertySortPriority "600" - CParticleCollectionRendererFloatInput m_flCenterXOffset; // 0xc40 + CParticleCollectionRendererFloatInput m_flCenterXOffset; // 0xc78 // MPropertyFriendlyName "Y offset of center point" // MPropertySortPriority "600" - CParticleCollectionRendererFloatInput m_flCenterYOffset; // 0xd90 + CParticleCollectionRendererFloatInput m_flCenterYOffset; // 0xdd0 // MPropertyFriendlyName "Bump Strength" // MPropertySortPriority "600" - float m_flBumpStrength; // 0xee0 + float m_flBumpStrength; // 0xf28 // MPropertyFriendlyName "Sheet Crop Behavior" // MPropertySortPriority "600" - ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0xee4 + ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0xf2c // MPropertyFriendlyName "Textures" // MParticleRequireDefaultArrayEntry // MPropertyAutoExpandSelf // MPropertySortPriority "600" - CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0xee8 + CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0xf30 // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animation rate" // MPropertyAttributeRange "0 5" // MPropertySortPriority "500" - float m_flAnimationRate; // 0xf00 + float m_flAnimationRate; // 0xf48 // MPropertyFriendlyName "animation type" // MPropertySortPriority "500" - AnimationType_t m_nAnimationType; // 0xf04 + AnimationType_t m_nAnimationType; // 0xf4c // MPropertyFriendlyName "set animation value in FPS" // MPropertySortPriority "500" - bool m_bAnimateInFPS; // 0xf08 + bool m_bAnimateInFPS; // 0xf50 private: - [[maybe_unused]] uint8_t __pad0f09[0x7]; // 0xf09 + [[maybe_unused]] uint8_t __pad0f51[0x7]; // 0xf51 public: // MPropertyStartGroup "Lighting and Shadows" // MPropertyFriendlyName "self illum amount" // MPropertyAttributeRange "0 2" // MPropertySortPriority "400" - CParticleCollectionRendererFloatInput m_flSelfIllumAmount; // 0xf10 + CParticleCollectionRendererFloatInput m_flSelfIllumAmount; // 0xf58 // MPropertyFriendlyName "diffuse lighting amount" // MPropertyAttributeRange "0 1" // MPropertySortPriority "400" - CParticleCollectionRendererFloatInput m_flDiffuseAmount; // 0x1060 + CParticleCollectionRendererFloatInput m_flDiffuseAmount; // 0x10b0 // MPropertyFriendlyName "diffuse lighting origin Control Point" // MPropertySortPriority "400" - int32_t m_nLightingControlPoint; // 0x11b0 + int32_t m_nLightingControlPoint; // 0x1208 // MPropertyFriendlyName "self illum per-particle" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "400" - ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0x11b4 + ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0x120c // MPropertyStartGroup "+Color and alpha adjustments" // MPropertyFriendlyName "output blend mode" // MPropertySortPriority "300" - ParticleOutputBlendMode_t m_nOutputBlendMode; // 0x11b8 + ParticleOutputBlendMode_t m_nOutputBlendMode; // 0x1210 // MPropertyFriendlyName "Gamma-correct vertex colors" // MPropertySortPriority "300" - bool m_bGammaCorrectVertexColors; // 0x11bc + bool m_bGammaCorrectVertexColors; // 0x1214 // MPropertyFriendlyName "Saturate color pre alphablend" // MPropertySortPriority "300" // MPropertySuppressExpr "mod!=dota" - bool m_bSaturateColorPreAlphaBlend; // 0x11bd + bool m_bSaturateColorPreAlphaBlend; // 0x1215 private: - [[maybe_unused]] uint8_t __pad11be[0x2]; // 0x11be + [[maybe_unused]] uint8_t __pad1216[0x2]; // 0x1216 public: // MPropertyFriendlyName "add self amount over alphablend" // MPropertySortPriority "300" - CParticleCollectionRendererFloatInput m_flAddSelfAmount; // 0x11c0 + CParticleCollectionRendererFloatInput m_flAddSelfAmount; // 0x1218 // MPropertyFriendlyName "desaturation amount" // MPropertyAttributeRange "0 1" // MPropertySortPriority "300" - CParticleCollectionRendererFloatInput m_flDesaturation; // 0x1310 + CParticleCollectionRendererFloatInput m_flDesaturation; // 0x1370 // MPropertyFriendlyName "overbright factor" // MPropertySortPriority "300" - CParticleCollectionRendererFloatInput m_flOverbrightFactor; // 0x1460 + CParticleCollectionRendererFloatInput m_flOverbrightFactor; // 0x14c8 // MPropertyFriendlyName "HSV Shift Control Point" // MPropertySortPriority "300" - int32_t m_nHSVShiftControlPoint; // 0x15b0 + int32_t m_nHSVShiftControlPoint; // 0x1620 // MPropertyFriendlyName "Apply fog to particle" // MPropertySortPriority "300" - ParticleFogType_t m_nFogType; // 0x15b4 + ParticleFogType_t m_nFogType; // 0x1624 // MPropertyFriendlyName "Fog Scale" // MPropertySortPriority "300" // MPropertySuppressExpr "mod != hlx" - CParticleCollectionRendererFloatInput m_flFogAmount; // 0x15b8 + CParticleCollectionRendererFloatInput m_flFogAmount; // 0x1628 // MPropertyFriendlyName "Apply fog of war to color" // MPropertySortPriority "300" // MPropertySuppressExpr "mod != dota" - bool m_bTintByFOW; // 0x1708 + bool m_bTintByFOW; // 0x1780 // MPropertyFriendlyName "Apply global light to color" // MPropertySortPriority "300" // MPropertySuppressExpr "mod != dota" - bool m_bTintByGlobalLight; // 0x1709 + bool m_bTintByGlobalLight; // 0x1781 private: - [[maybe_unused]] uint8_t __pad170a[0x2]; // 0x170a + [[maybe_unused]] uint8_t __pad1782[0x2]; // 0x1782 public: // MPropertyStartGroup "Color and alpha adjustments/Alpha Reference" // MPropertyFriendlyName "alpha reference" // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0x170c + SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0x1784 // MPropertyFriendlyName "alpha reference window size" // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0x1710 + SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0x1788 // MPropertyFriendlyName "alpha reference type" // MPropertySortPriority "300" - ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0x1714 + ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0x178c // MPropertyFriendlyName "alpha reference softness" // MPropertyAttributeRange "0 1" // MPropertySortPriority "300" - CParticleCollectionRendererFloatInput m_flAlphaReferenceSoftness; // 0x1718 + CParticleCollectionRendererFloatInput m_flAlphaReferenceSoftness; // 0x1790 // MPropertyFriendlyName "source alpha value to map to alpha of zero" // MPropertyAttributeRange "0 1" // MPropertySortPriority "300" - CParticleCollectionRendererFloatInput m_flSourceAlphaValueToMapToZero; // 0x1868 + CParticleCollectionRendererFloatInput m_flSourceAlphaValueToMapToZero; // 0x18e8 // MPropertyFriendlyName "source alpha value to map to alpha of 1" // MPropertyAttributeRange "0 1" // MPropertySortPriority "300" - CParticleCollectionRendererFloatInput m_flSourceAlphaValueToMapToOne; // 0x19b8 + CParticleCollectionRendererFloatInput m_flSourceAlphaValueToMapToOne; // 0x1a40 // MPropertyStartGroup "Refraction" // MPropertyFriendlyName "refract background" // MPropertySortPriority "200" - bool m_bRefract; // 0x1b08 + bool m_bRefract; // 0x1b98 // MPropertyFriendlyName "refract draws opaque - alpha scales refraction" // MPropertySortPriority "200" // MPropertySuppressExpr "!m_bRefract" - bool m_bRefractSolid; // 0x1b09 + bool m_bRefractSolid; // 0x1b99 private: - [[maybe_unused]] uint8_t __pad1b0a[0x6]; // 0x1b0a + [[maybe_unused]] uint8_t __pad1b9a[0x6]; // 0x1b9a public: // MPropertyFriendlyName "refract amount" // MPropertyAttributeRange "-2 2" // MPropertySortPriority "200" // MPropertySuppressExpr "!m_bRefract" - CParticleCollectionRendererFloatInput m_flRefractAmount; // 0x1b10 + CParticleCollectionRendererFloatInput m_flRefractAmount; // 0x1ba0 // MPropertyFriendlyName "refract blur radius" // MPropertySortPriority "200" // MPropertySuppressExpr "!m_bRefract" - int32_t m_nRefractBlurRadius; // 0x1c60 + int32_t m_nRefractBlurRadius; // 0x1cf8 // MPropertyFriendlyName "refract blur type" // MPropertySortPriority "200" // MPropertySuppressExpr "!m_bRefract" - BlurFilterType_t m_nRefractBlurType; // 0x1c64 + BlurFilterType_t m_nRefractBlurType; // 0x1cfc // MPropertyStartGroup // MPropertyFriendlyName "Only Render in effects bloom pass" // MPropertySortPriority "1100" - bool m_bOnlyRenderInEffectsBloomPass; // 0x1c68 + bool m_bOnlyRenderInEffectsBloomPass; // 0x1d00 // MPropertyFriendlyName "Only Render in effects water pass" // MPropertySortPriority "1050" // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffectsWaterPass; // 0x1c69 + bool m_bOnlyRenderInEffectsWaterPass; // 0x1d01 // MPropertyFriendlyName "Use Mixed Resolution Rendering" // MPropertySortPriority "1200" - bool m_bUseMixedResolutionRendering; // 0x1c6a + bool m_bUseMixedResolutionRendering; // 0x1d02 // MPropertyFriendlyName "Only Render in effects game overlay pass" // MPropertySortPriority "1210" // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffecsGameOverlay; // 0x1c6b + bool m_bOnlyRenderInEffecsGameOverlay; // 0x1d03 // MPropertyStartGroup "Stencil" // MPropertyFriendlyName "stencil test ID" // MPropertySortPriority "0" - char m_stencilTestID[128]; // 0x1c6c + char m_stencilTestID[128]; // 0x1d04 // MPropertyFriendlyName "only write where stencil is NOT stencil test ID" // MPropertySortPriority "0" - bool m_bStencilTestExclude; // 0x1cec + bool m_bStencilTestExclude; // 0x1d84 // MPropertyFriendlyName "stencil write ID" // MPropertySortPriority "0" - char m_stencilWriteID[128]; // 0x1ced + char m_stencilWriteID[128]; // 0x1d85 // MPropertyFriendlyName "write stencil on z-buffer test success" // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthPass; // 0x1d6d + bool m_bWriteStencilOnDepthPass; // 0x1e05 // MPropertyFriendlyName "write stencil on z-buffer test failure" // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthFail; // 0x1d6e + bool m_bWriteStencilOnDepthFail; // 0x1e06 // MPropertyStartGroup "Depth buffer control and effects" // MPropertyFriendlyName "reverse z-buffer test" // MPropertySortPriority "900" - bool m_bReverseZBuffering; // 0x1d6f + bool m_bReverseZBuffering; // 0x1e07 // MPropertyFriendlyName "disable z-buffer test" // MPropertySortPriority "900" - bool m_bDisableZBuffering; // 0x1d70 + bool m_bDisableZBuffering; // 0x1e08 private: - [[maybe_unused]] uint8_t __pad1d71[0x3]; // 0x1d71 + [[maybe_unused]] uint8_t __pad1e09[0x3]; // 0x1e09 public: // MPropertyFriendlyName "Depth feathering mode" // MPropertySortPriority "900" - ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1d74 + ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1e0c // MPropertyFriendlyName "particle feathering closest distance to surface" // MPropertySortPriority "900" - CParticleCollectionRendererFloatInput m_flFeatheringMinDist; // 0x1d78 + CParticleCollectionRendererFloatInput m_flFeatheringMinDist; // 0x1e10 // MPropertyFriendlyName "particle feathering farthest distance to surface" // MPropertySortPriority "900" - CParticleCollectionRendererFloatInput m_flFeatheringMaxDist; // 0x1ec8 + CParticleCollectionRendererFloatInput m_flFeatheringMaxDist; // 0x1f68 // MPropertyFriendlyName "particle feathering filter" // MPropertySortPriority "900" - CParticleCollectionRendererFloatInput m_flFeatheringFilter; // 0x2018 + CParticleCollectionRendererFloatInput m_flFeatheringFilter; // 0x20c0 // MPropertyFriendlyName "depth comparison bias" // MPropertySortPriority "900" - float m_flDepthBias; // 0x2168 + float m_flDepthBias; // 0x2218 // MPropertyFriendlyName "Sort Method" // MPropertySortPriority "900" - ParticleSortingChoiceList_t m_nSortMethod; // 0x216c + ParticleSortingChoiceList_t m_nSortMethod; // 0x221c // MPropertyStartGroup "Animation" // MPropertyFriendlyName "blend sequence animation frames" // MPropertySortPriority "500" - bool m_bBlendFramesSeq0; // 0x2170 + bool m_bBlendFramesSeq0; // 0x2220 // MPropertyFriendlyName "use max-luminance blending for sequence" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bBlendFramesSeq0" - bool m_bMaxLuminanceBlendingSequence0; // 0x2171 + bool m_bMaxLuminanceBlendingSequence0; // 0x2221 }; // Alignment: 3 @@ -2661,7 +1970,7 @@ public: }; // Alignment: 22 -// Size: 0x13c0 +// Size: 0x1420 class C_OP_RenderCables : public CParticleFunctionRenderer { public: @@ -2671,71 +1980,71 @@ public: CParticleCollectionFloatInput m_flRadiusScale; // 0x200 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x350 + CParticleCollectionFloatInput m_flAlphaScale; // 0x358 // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x4a0 + CParticleCollectionVecInput m_vecColorScale; // 0x4b0 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0xad8 + ParticleColorBlendType_t m_nColorBlendType; // 0xb08 private: - [[maybe_unused]] uint8_t __pad0adc[0x4]; // 0xadc + [[maybe_unused]] uint8_t __pad0b0c[0x4]; // 0xb0c public: // MPropertyStartGroup - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xae0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xb10 // MPropertyFriendlyName "texture repetition mode" - TextureRepetitionMode_t m_nTextureRepetitionMode; // 0xae8 + TextureRepetitionMode_t m_nTextureRepetitionMode; // 0xb18 private: - [[maybe_unused]] uint8_t __pad0aec[0x4]; // 0xaec + [[maybe_unused]] uint8_t __pad0b1c[0x4]; // 0xb1c public: // MPropertyFriendlyName "texture repetitions" - CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0xaf0 + CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0xb20 // MPropertyFriendlyName "texture repetitions around cable" - CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0xc40 + CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0xc78 // MPropertyFriendlyName "color map offset along path" - CParticleCollectionFloatInput m_flColorMapOffsetV; // 0xd90 + CParticleCollectionFloatInput m_flColorMapOffsetV; // 0xdd0 // MPropertyFriendlyName "color map offset around cable" - CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xee0 + CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xf28 // MPropertyFriendlyName "normal map offset along path" - CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0x1030 + CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0x1080 // MPropertyFriendlyName "normal map offset around cable" - CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0x1180 + CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0x11d8 // MPropertyFriendlyName "draw caps at each end of the cable" - bool m_bDrawCableCaps; // 0x12d0 + bool m_bDrawCableCaps; // 0x1330 private: - [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 + [[maybe_unused]] uint8_t __pad1331[0x3]; // 0x1331 public: // MPropertyFriendlyName "cable end cap shape factor" // MPropertyAttributeRange "0 2" - float m_flCapRoundness; // 0x12d4 + float m_flCapRoundness; // 0x1334 // MPropertyFriendlyName "cable end cap offset amount" // MPropertyAttributeRange "0 2" - float m_flCapOffsetAmount; // 0x12d8 + float m_flCapOffsetAmount; // 0x1338 // MPropertyFriendlyName "tessellation scale factor" - float m_flTessScale; // 0x12dc + float m_flTessScale; // 0x133c // MPropertyFriendlyName "minimum steps between particles" - int32_t m_nMinTesselation; // 0x12e0 + int32_t m_nMinTesselation; // 0x1340 // MPropertyFriendlyName "maximum steps between particles" - int32_t m_nMaxTesselation; // 0x12e4 + int32_t m_nMaxTesselation; // 0x1344 // MPropertyFriendlyName "roundness factor" - int32_t m_nRoundness; // 0x12e8 + int32_t m_nRoundness; // 0x1348 private: - [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec + [[maybe_unused]] uint8_t __pad134c[0x4]; // 0x134c public: // MPropertyFriendlyName "diffuse lighting origin" // MParticleInputOptional - CParticleTransformInput m_LightingTransform; // 0x12f0 + CParticleTransformInput m_LightingTransform; // 0x1350 // MPropertyFriendlyName "material float variables" - CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0x1358 + CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0x13b8 private: - [[maybe_unused]] uint8_t __pad1370[0x18]; // 0x1370 + [[maybe_unused]] uint8_t __pad13d0[0x18]; // 0x13d0 public: // MPropertyFriendlyName "material vector variables" - CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0x1388 + CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0x13e8 }; // Alignment: 0 -// Size: 0x638 +// Size: 0x658 class CPerParticleVecInput : public CParticleVecInput { public: @@ -2743,7 +2052,7 @@ public: }; // Alignment: 2 -// Size: 0x640 +// Size: 0x660 struct VecInputMaterialVariable_t { public: @@ -2754,129 +2063,129 @@ public: }; // Alignment: 27 -// Size: 0x2a80 +// Size: 0x2b90 class C_OP_RenderSprites : public CBaseRendererSource2 { public: // MPropertyStartGroup "Animation" // MPropertyFriendlyName "sequence id override" // MPropertySortPriority "500" - CParticleCollectionRendererFloatInput m_nSequenceOverride; // 0x2390 + CParticleCollectionRendererFloatInput m_nSequenceOverride; // 0x2470 // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x24e0 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x25c8 // 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; // 0x24e4 + int32_t m_nOrientationControlPoint; // 0x25cc // 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; // 0x24e8 + bool m_bUseYawWithNormalAligned; // 0x25d0 private: - [[maybe_unused]] uint8_t __pad24e9[0x3]; // 0x24e9 + [[maybe_unused]] uint8_t __pad25d1[0x3]; // 0x25d1 public: // MPropertyStartGroup "Fading and culling" // MPropertyFriendlyName "minimum visual screen size" // MPropertySortPriority "1000" - float m_flMinSize; // 0x24ec + float m_flMinSize; // 0x25d4 // MPropertyFriendlyName "maximum visual screen size" // MPropertySortPriority "1000" - float m_flMaxSize; // 0x24f0 + float m_flMaxSize; // 0x25d8 // MPropertyFriendlyName "Factor to map size adjustment to alpha" // MPropertySortPriority "1000" - float m_flAlphaAdjustWithSizeAdjust; // 0x24f4 + float m_flAlphaAdjustWithSizeAdjust; // 0x25dc // MPropertyFriendlyName "screen size to start fading" // MPropertySortPriority "1000" - CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x24f8 + CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x25e0 // MPropertyFriendlyName "screen size to fade away" // MPropertySortPriority "1000" - CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x2648 + CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x2738 // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x2798 + float m_flStartFadeDot; // 0x2890 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x279c + float m_flEndFadeDot; // 0x2894 // MPropertyStartGroup "Distance to alpha coding" // MPropertyFriendlyName "distance alpha" // MPropertySortPriority "0" - bool m_bDistanceAlpha; // 0x27a0 + bool m_bDistanceAlpha; // 0x2898 // MPropertyFriendlyName "use soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - bool m_bSoftEdges; // 0x27a1 + bool m_bSoftEdges; // 0x2899 private: - [[maybe_unused]] uint8_t __pad27a2[0x2]; // 0x27a2 + [[maybe_unused]] uint8_t __pad289a[0x2]; // 0x289a public: // MPropertyFriendlyName "start value for soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessStart; // 0x27a4 + float m_flEdgeSoftnessStart; // 0x289c // MPropertyFriendlyName "end value for soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessEnd; // 0x27a8 + float m_flEdgeSoftnessEnd; // 0x28a0 // MPropertyStartGroup "Outlining" // MPropertyFriendlyName "enable particle outlining" // MPropertySortPriority "0" - bool m_bOutline; // 0x27ac + bool m_bOutline; // 0x28a4 // MPropertyFriendlyName "outline color" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - Color m_OutlineColor; // 0x27ad + Color m_OutlineColor; // 0x28a5 private: - [[maybe_unused]] uint8_t __pad27b1[0x3]; // 0x27b1 + [[maybe_unused]] uint8_t __pad28a9[0x3]; // 0x28a9 public: // MPropertyFriendlyName "outline alpha" // MPropertyAttributeRange "0 255" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - int32_t m_nOutlineAlpha; // 0x27b4 + int32_t m_nOutlineAlpha; // 0x28ac // MPropertyFriendlyName "outline start 0" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart0; // 0x27b8 + float m_flOutlineStart0; // 0x28b0 // MPropertyFriendlyName "outline start 1" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart1; // 0x27bc + float m_flOutlineStart1; // 0x28b4 // MPropertyFriendlyName "outline end 0" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd0; // 0x27c0 + float m_flOutlineEnd0; // 0x28b8 // MPropertyFriendlyName "outline end 1" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd1; // 0x27c4 + float m_flOutlineEnd1; // 0x28bc // MPropertyStartGroup "Lighting and Shadows" // MPropertyFriendlyName "lighting mode" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx" - ParticleLightingQuality_t m_nLightingMode; // 0x27c8 + ParticleLightingQuality_t m_nLightingMode; // 0x28c0 private: - [[maybe_unused]] uint8_t __pad27cc[0x4]; // 0x27cc + [[maybe_unused]] uint8_t __pad28c4[0x4]; // 0x28c4 public: // MPropertyFriendlyName "vertex lighting tessellation (0-5)" // MPropertyAttributeRange "0 5" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx || m_nLightingMode != PARTICLE_LIGHTING_PER_VERTEX" - CParticleCollectionRendererFloatInput m_flLightingTessellation; // 0x27d0 + CParticleCollectionRendererFloatInput m_flLightingTessellation; // 0x28c8 // MPropertyFriendlyName "lighting directionality" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx" - CParticleCollectionRendererFloatInput m_flLightingDirectionality; // 0x2920 + CParticleCollectionRendererFloatInput m_flLightingDirectionality; // 0x2a20 // MPropertyFriendlyName "Particle Shadows" // MPropertySortPriority "400" - bool m_bParticleShadows; // 0x2a70 + bool m_bParticleShadows; // 0x2b78 private: - [[maybe_unused]] uint8_t __pad2a71[0x3]; // 0x2a71 + [[maybe_unused]] uint8_t __pad2b79[0x3]; // 0x2b79 public: // MPropertyFriendlyName "Shadow Density" // MPropertySortPriority "400" // MPropertySuppressExpr "!m_bParticleShadows" - float m_flShadowDensity; // 0x2a74 + float m_flShadowDensity; // 0x2b7c }; // Alignment: 1 @@ -2913,6 +2222,14 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x140 +class CParticleBindingRealPulse : public CParticleCollectionBindingInstance +{ +public: + // No members available +}; + // Alignment: 6 // Size: 0x38 struct ParticleNamedValueConfiguration_t @@ -3021,265 +2338,270 @@ public: }; // Alignment: 5 -// Size: 0x470 +// Size: 0x490 class C_OP_ConstrainDistance : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - CParticleCollectionFloatInput m_fMinDistance; // 0x1b0 + CParticleCollectionFloatInput m_fMinDistance; // 0x1c0 // MPropertyFriendlyName "maximum distance" - CParticleCollectionFloatInput m_fMaxDistance; // 0x300 + CParticleCollectionFloatInput m_fMaxDistance; // 0x318 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x450 + int32_t m_nControlPointNumber; // 0x470 // MPropertyFriendlyName "offset of center" // MVectorIsCoordinate - Vector m_CenterOffset; // 0x454 + Vector m_CenterOffset; // 0x474 // MPropertyFriendlyName "global center point" - bool m_bGlobalCenter; // 0x460 + bool m_bGlobalCenter; // 0x480 }; // Alignment: 2 -// Size: 0x450 +// Size: 0x470 class C_OP_CollideWithSelf : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x1b0 + CPerParticleFloatInput m_flRadiusScale; // 0x1c0 // MPropertyFriendlyName "minimum speed for check" - CPerParticleFloatInput m_flMinimumSpeed; // 0x300 + CPerParticleFloatInput m_flMinimumSpeed; // 0x318 }; // Alignment: 2 -// Size: 0x450 +// Size: 0x470 class C_OP_CollideWithParentParticles : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "parent particle radius scale" - CPerParticleFloatInput m_flParentRadiusScale; // 0x1b0 + CPerParticleFloatInput m_flParentRadiusScale; // 0x1c0 // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x300 + CPerParticleFloatInput m_flRadiusScale; // 0x318 }; // Alignment: 8 -// Size: 0x210 +// Size: 0x220 class C_OP_ConstrainDistanceToPath : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x1b0 + float m_fMinDistance; // 0x1c0 // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance0; // 0x1b4 + float m_flMaxDistance0; // 0x1c4 // MPropertyFriendlyName "maximum distance middle" - float m_flMaxDistanceMid; // 0x1b8 + float m_flMaxDistanceMid; // 0x1c8 // MPropertyFriendlyName "maximum distance end" - float m_flMaxDistance1; // 0x1bc - CPathParameters m_PathParameters; // 0x1c0 + float m_flMaxDistance1; // 0x1cc + CPathParameters m_PathParameters; // 0x1d0 // MPropertyFriendlyName "travel time" - float m_flTravelTime; // 0x200 + float m_flTravelTime; // 0x210 // MPropertyFriendlyName "travel time scale field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldScale; // 0x204 + ParticleAttributeIndex_t m_nFieldScale; // 0x214 // MPropertyFriendlyName "manual time placement field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nManualTField; // 0x208 + ParticleAttributeIndex_t m_nManualTField; // 0x218 }; // Alignment: 5 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_ConstrainDistanceToUserSpecifiedPath : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x1b0 + float m_fMinDistance; // 0x1c0 // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance; // 0x1b4 + float m_flMaxDistance; // 0x1c4 // MPropertyFriendlyName "Time scale" - float m_flTimeScale; // 0x1b8 + float m_flTimeScale; // 0x1c8 // MPropertyFriendlyName "Treat path as a loop" - bool m_bLoopedPath; // 0x1bc + bool m_bLoopedPath; // 0x1cc private: - [[maybe_unused]] uint8_t __pad01bd[0x3]; // 0x1bd + [[maybe_unused]] uint8_t __pad01cd[0x3]; // 0x1cd public: // MPropertyFriendlyName "path points" - CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x1c0 + CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x1d0 }; // Alignment: 7 -// Size: 0x470 +// Size: 0x490 class C_OP_PlanarConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "plane point" // MVectorIsCoordinate - Vector m_PointOnPlane; // 0x1b0 + Vector m_PointOnPlane; // 0x1c0 // MPropertyFriendlyName "plane normal" - Vector m_PlaneNormal; // 0x1bc + Vector m_PlaneNormal; // 0x1cc // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1c8 + int32_t m_nControlPointNumber; // 0x1d8 // MPropertyFriendlyName "global origin" - bool m_bGlobalOrigin; // 0x1cc + bool m_bGlobalOrigin; // 0x1dc // MPropertyFriendlyName "global normal" - bool m_bGlobalNormal; // 0x1cd + bool m_bGlobalNormal; // 0x1dd private: - [[maybe_unused]] uint8_t __pad01ce[0x2]; // 0x1ce + [[maybe_unused]] uint8_t __pad01de[0x2]; // 0x1de public: // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x1d0 + CPerParticleFloatInput m_flRadiusScale; // 0x1e0 // MPropertyFriendlyName "falloff distance from control point" - CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x320 + CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x338 }; // Alignment: 0 -// Size: 0x1b0 +// Size: 0x1c0 class C_OP_WorldCollideConstraint : public CParticleFunctionConstraint { public: // No members available }; -// Alignment: 26 -// Size: 0x910 +// Alignment: 27 +// Size: 0x950 class C_OP_WorldTraceConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "control point for fast collision tests" - int32_t m_nCP; // 0x1b0 + int32_t m_nCP; // 0x1c0 // MPropertyFriendlyName "control point offset for fast collisions" // MVectorIsCoordinate - Vector m_vecCpOffset; // 0x1b4 + Vector m_vecCpOffset; // 0x1c4 // MPropertyFriendlyName "collision mode" - ParticleCollisionMode_t m_nCollisionMode; // 0x1c0 + ParticleCollisionMode_t m_nCollisionMode; // 0x1d0 // MPropertyFriendlyName "minimum detail collision mode" - ParticleCollisionMode_t m_nCollisionModeMin; // 0x1c4 + ParticleCollisionMode_t m_nCollisionModeMin; // 0x1d4 // MPropertyStartGroup "Collision Options" // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x1c8 + ParticleTraceSet_t m_nTraceSet; // 0x1d8 // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x1cc + char m_CollisionGroupName[128]; // 0x1dc // MPropertyFriendlyName "World Only" - bool m_bWorldOnly; // 0x24c + bool m_bWorldOnly; // 0x25c // MPropertyFriendlyName "brush only" - bool m_bBrushOnly; // 0x24d + bool m_bBrushOnly; // 0x25d // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x24e + bool m_bIncludeWater; // 0x25e private: - [[maybe_unused]] uint8_t __pad024f[0x1]; // 0x24f + [[maybe_unused]] uint8_t __pad025f[0x1]; // 0x25f public: // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x250 + int32_t m_nIgnoreCP; // 0x260 // MPropertyFriendlyName "control point movement distance tolerance" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_flCpMovementTolerance; // 0x254 + float m_flCpMovementTolerance; // 0x264 // MPropertyFriendlyName "plane cache retest rate" // MPropertySuppressExpr "m_nCollisionMode != COLLISION_MODE_PER_FRAME_PLANESET" - float m_flRetestRate; // 0x258 + float m_flRetestRate; // 0x268 // MPropertyFriendlyName "trace accuracy tolerance" // MPropertySuppressExpr "m_nCollisionMode != COLLISION_MODE_USE_NEAREST_TRACE" - float m_flTraceTolerance; // 0x25c + float m_flTraceTolerance; // 0x26c // MPropertyFriendlyName "Confirm Collision Speed Threshold" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_flCollisionConfirmationSpeed; // 0x260 + float m_flCollisionConfirmationSpeed; // 0x270 // MPropertyFriendlyName "Max Confirmation Traces Per Fame" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_nMaxTracesPerFrame; // 0x264 + float m_nMaxTracesPerFrame; // 0x274 // MPropertyStartGroup "Impact Options" // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x268 + CPerParticleFloatInput m_flRadiusScale; // 0x278 // MPropertyFriendlyName "amount of bounce" - CPerParticleFloatInput m_flBounceAmount; // 0x3b8 + CPerParticleFloatInput m_flBounceAmount; // 0x3d0 // MPropertyFriendlyName "amount of slide" - CPerParticleFloatInput m_flSlideAmount; // 0x508 + CPerParticleFloatInput m_flSlideAmount; // 0x528 // MPropertyFriendlyName "Random Direction scale" - CPerParticleFloatInput m_flRandomDirScale; // 0x658 + CPerParticleFloatInput m_flRandomDirScale; // 0x680 // MPropertyFriendlyName "Add Decay to Bounce" - bool m_bDecayBounce; // 0x7a8 + bool m_bDecayBounce; // 0x7d8 // MPropertyFriendlyName "kill particle on collision" - bool m_bKillonContact; // 0x7a9 + bool m_bKillonContact; // 0x7d9 private: - [[maybe_unused]] uint8_t __pad07aa[0x2]; // 0x7aa + [[maybe_unused]] uint8_t __pad07da[0x2]; // 0x7da public: // MPropertyFriendlyName "minimum speed to kill on collision" - float m_flMinSpeed; // 0x7ac + float m_flMinSpeed; // 0x7dc // MPropertyFriendlyName "Set Normal" - bool m_bSetNormal; // 0x7b0 + bool m_bSetNormal; // 0x7e0 private: - [[maybe_unused]] uint8_t __pad07b1[0x3]; // 0x7b1 + [[maybe_unused]] uint8_t __pad07e1[0x3]; // 0x7e1 public: // MPropertyFriendlyName "Stick On Collision Cache Field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x7b4 + ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x7e4 // MPropertyFriendlyName "Speed to stop when sticking" - CPerParticleFloatInput m_flStopSpeed; // 0x7b8 + CPerParticleFloatInput m_flStopSpeed; // 0x7e8 // MPropertyFriendlyName "Entity Hitbox Cache Field (Requires Stick on Collision)" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nEntityStickDataField; // 0x908 + ParticleAttributeIndex_t m_nEntityStickDataField; // 0x940 + // MPropertyFriendlyName "Entity Normal Cache Field (Requires Stick on Collision)" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nEntityStickNormalField; // 0x944 }; -// Alignment: 4 -// Size: 0x1d0 +// Alignment: 5 +// Size: 0xe80 class C_OP_BoxConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "min coords" - Vector m_vecMin; // 0x1b0 + CParticleCollectionVecInput m_vecMin; // 0x1c0 // MPropertyFriendlyName "max coords" - Vector m_vecMax; // 0x1bc + CParticleCollectionVecInput m_vecMax; // 0x818 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1c8 + int32_t m_nCP; // 0xe70 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x1cc + bool m_bLocalSpace; // 0xe74 + // MPropertyFriendlyName "Take radius into account" + bool m_bAccountForRadius; // 0xe75 }; // Alignment: 5 -// Size: 0x700 +// Size: 0x730 class C_OP_RopeSpringConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "slack" - CParticleCollectionFloatInput m_flRestLength; // 0x1b0 + CParticleCollectionFloatInput m_flRestLength; // 0x1c0 // MPropertyFriendlyName "minimum segment length %" - CParticleCollectionFloatInput m_flMinDistance; // 0x300 + CParticleCollectionFloatInput m_flMinDistance; // 0x318 // MPropertyFriendlyName "maximum segment length %" - CParticleCollectionFloatInput m_flMaxDistance; // 0x450 + CParticleCollectionFloatInput m_flMaxDistance; // 0x470 // MPropertyFriendlyName "scale factor for spring correction" - float m_flAdjustmentScale; // 0x5a0 + float m_flAdjustmentScale; // 0x5c8 private: - [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 + [[maybe_unused]] uint8_t __pad05cc[0x4]; // 0x5cc public: // MPropertyFriendlyName "manual resting spacing" - CParticleCollectionFloatInput m_flInitialRestingLength; // 0x5a8 + CParticleCollectionFloatInput m_flInitialRestingLength; // 0x5d0 }; // Alignment: 5 -// Size: 0xd30 +// Size: 0xd80 class C_OP_SpringToVectorConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "slack" - CPerParticleFloatInput m_flRestLength; // 0x1b0 + CPerParticleFloatInput m_flRestLength; // 0x1c0 // MPropertyFriendlyName "minimum segment length %" - CPerParticleFloatInput m_flMinDistance; // 0x300 + CPerParticleFloatInput m_flMinDistance; // 0x318 // MPropertyFriendlyName "maximum segment length %" - CPerParticleFloatInput m_flMaxDistance; // 0x450 + CPerParticleFloatInput m_flMaxDistance; // 0x470 // MPropertyFriendlyName "resting spacing" - CPerParticleFloatInput m_flRestingLength; // 0x5a0 + CPerParticleFloatInput m_flRestingLength; // 0x5c8 // MPropertyFriendlyName "anchor vector" - CPerParticleVecInput m_vecAnchorVector; // 0x6f0 + CPerParticleVecInput m_vecAnchorVector; // 0x720 }; // Alignment: 2 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_ConstrainLineLength : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum length" - float m_flMinDistance; // 0x1b0 + float m_flMinDistance; // 0x1c0 // MPropertyFriendlyName "maximum length" - float m_flMaxDistance; // 0x1b4 + float m_flMaxDistance; // 0x1c4 }; // Alignment: 11 -// Size: 0xcb0 +// Size: 0xcf0 class C_INIT_RingWave : public CParticleFunctionInitializer { public: @@ -3288,23 +2610,23 @@ public: // MPropertyFriendlyName "even distribution count" CParticleCollectionFloatInput m_flParticlesPerOrbit; // 0x228 // MPropertyFriendlyName "initial radius" - CPerParticleFloatInput m_flInitialRadius; // 0x378 + CPerParticleFloatInput m_flInitialRadius; // 0x380 // MPropertyFriendlyName "thickness" - CPerParticleFloatInput m_flThickness; // 0x4c8 + CPerParticleFloatInput m_flThickness; // 0x4d8 // MPropertyFriendlyName "min initial speed" - CPerParticleFloatInput m_flInitialSpeedMin; // 0x618 + CPerParticleFloatInput m_flInitialSpeedMin; // 0x630 // MPropertyFriendlyName "max initial speed" - CPerParticleFloatInput m_flInitialSpeedMax; // 0x768 + CPerParticleFloatInput m_flInitialSpeedMax; // 0x788 // MPropertyFriendlyName "roll" - CPerParticleFloatInput m_flRoll; // 0x8b8 + CPerParticleFloatInput m_flRoll; // 0x8e0 // MPropertyFriendlyName "pitch" - CPerParticleFloatInput m_flPitch; // 0xa08 + CPerParticleFloatInput m_flPitch; // 0xa38 // MPropertyFriendlyName "yaw" - CPerParticleFloatInput m_flYaw; // 0xb58 + CPerParticleFloatInput m_flYaw; // 0xb90 // MPropertyFriendlyName "even distribution" - bool m_bEvenDistribution; // 0xca8 + bool m_bEvenDistribution; // 0xce8 // MPropertyFriendlyName "XY velocity only" - bool m_bXYVelocityOnly; // 0xca9 + bool m_bXYVelocityOnly; // 0xce9 }; // Alignment: 7 @@ -3329,7 +2651,7 @@ public: }; // Alignment: 10 -// Size: 0x780 +// Size: 0x7a0 class C_INIT_CreateInEpitrochoid : public CParticleFunctionInitializer { public: @@ -3344,17 +2666,17 @@ public: // MPropertyFriendlyName "particle density" CPerParticleFloatInput m_flParticleDensity; // 0x230 // MPropertyFriendlyName "point offset" - CPerParticleFloatInput m_flOffset; // 0x380 + CPerParticleFloatInput m_flOffset; // 0x388 // MPropertyFriendlyName "radius 1" - CPerParticleFloatInput m_flRadius1; // 0x4d0 + CPerParticleFloatInput m_flRadius1; // 0x4e0 // MPropertyFriendlyName "radius 2" - CPerParticleFloatInput m_flRadius2; // 0x620 + CPerParticleFloatInput m_flRadius2; // 0x638 // MPropertyFriendlyName "use particle count instead of creation time" - bool m_bUseCount; // 0x770 + bool m_bUseCount; // 0x790 // MPropertyFriendlyName "local space" - bool m_bUseLocalCoords; // 0x771 + bool m_bUseLocalCoords; // 0x791 // MPropertyFriendlyName "offset from existing position" - bool m_bOffsetExistingPos; // 0x772 + bool m_bOffsetExistingPos; // 0x792 }; // Alignment: 14 @@ -3394,7 +2716,7 @@ public: }; // Alignment: 13 -// Size: 0x10f0 +// Size: 0x1130 class C_INIT_CreateOnModel : public CParticleFunctionInitializer { public: @@ -3415,27 +2737,27 @@ public: // MPropertyFriendlyName "hitbox scale" CParticleCollectionVecInput m_vecHitBoxScale; // 0x298 // MPropertyFriendlyName "inherited velocity scale" - float m_flBoneVelocity; // 0x8d0 + float m_flBoneVelocity; // 0x8f0 // MPropertyFriendlyName "maximum inherited velocity" - float m_flMaxBoneVelocity; // 0x8d4 + float m_flMaxBoneVelocity; // 0x8f4 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x8d8 + CParticleCollectionVecInput m_vecDirectionBias; // 0x8f8 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0xf10 + char m_HitboxSetName[128]; // 0xf50 // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xf90 + bool m_bLocalCoords; // 0xfd0 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0xf91 + bool m_bUseBones; // 0xfd1 private: - [[maybe_unused]] uint8_t __pad0f92[0x6]; // 0xf92 + [[maybe_unused]] uint8_t __pad0fd2[0x6]; // 0xfd2 public: // MPropertyFriendlyName "hitbox shell thickness" - CParticleCollectionFloatInput m_flShellSize; // 0xf98 + CParticleCollectionFloatInput m_flShellSize; // 0xfd8 }; // Alignment: 14 -// Size: 0x12c0 +// Size: 0x1310 class C_INIT_CreateOnModelAtHeight : public CParticleFunctionInitializer { public: @@ -3458,29 +2780,29 @@ public: // MPropertyFriendlyName "relative desired height" CParticleCollectionFloatInput m_flDesiredHeight; // 0x1d0 // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x320 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x328 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x958 + CParticleCollectionVecInput m_vecDirectionBias; // 0x980 // MPropertyFriendlyName "bias type" - ParticleHitboxBiasType_t m_nBiasType; // 0xf90 + ParticleHitboxBiasType_t m_nBiasType; // 0xfd8 // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xf94 + bool m_bLocalCoords; // 0xfdc // MPropertyFriendlyName "bias prefers moving hitboxes" - bool m_bPreferMovingBoxes; // 0xf95 + bool m_bPreferMovingBoxes; // 0xfdd // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0xf96 + char m_HitboxSetName[128]; // 0xfde private: - [[maybe_unused]] uint8_t __pad1016[0x2]; // 0x1016 + [[maybe_unused]] uint8_t __pad105e[0x2]; // 0x105e public: // MPropertyFriendlyName "hitbox velocity inherited scale" - CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0x1018 + CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0x1060 // MPropertyFriendlyName "max hitbox velocity" - CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0x1168 + CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0x11b8 }; // Alignment: 9 -// Size: 0x9e0 +// Size: 0xa10 class C_INIT_SetHitboxToClosest : public CParticleFunctionInitializer { public: @@ -3491,24 +2813,24 @@ public: // MPropertyFriendlyName "model hitbox scale" CParticleCollectionVecInput m_vecHitBoxScale; // 0x1c8 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x800 + char m_HitboxSetName[128]; // 0x820 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x880 + bool m_bUseBones; // 0x8a0 // MPropertyFriendlyName "get closest point on closest hitbox" - bool m_bUseClosestPointOnHitbox; // 0x881 + bool m_bUseClosestPointOnHitbox; // 0x8a1 private: - [[maybe_unused]] uint8_t __pad0882[0x2]; // 0x882 + [[maybe_unused]] uint8_t __pad08a2[0x2]; // 0x8a2 public: // MPropertyFriendlyName "closest point test type" - ClosestPointTestType_t m_nTestType; // 0x884 + ClosestPointTestType_t m_nTestType; // 0x8a4 // MPropertyFriendlyName "hybrid ratio" - CParticleCollectionFloatInput m_flHybridRatio; // 0x888 + CParticleCollectionFloatInput m_flHybridRatio; // 0x8a8 // MPropertyFriendlyName "set initial position" - bool m_bUpdatePosition; // 0x9d8 + bool m_bUpdatePosition; // 0xa00 }; // Alignment: 9 -// Size: 0x9f0 +// Size: 0xa10 class C_INIT_SetHitboxToModel : public CParticleFunctionInitializer { public: @@ -3525,72 +2847,72 @@ public: CParticleCollectionVecInput m_vecHitBoxScale; // 0x1d0 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - Vector m_vecDirectionBias; // 0x808 + Vector m_vecDirectionBias; // 0x828 // MPropertyFriendlyName "maintain existing hitbox" - bool m_bMaintainHitbox; // 0x814 + bool m_bMaintainHitbox; // 0x834 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x815 + bool m_bUseBones; // 0x835 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x816 + char m_HitboxSetName[128]; // 0x836 private: - [[maybe_unused]] uint8_t __pad0896[0x2]; // 0x896 + [[maybe_unused]] uint8_t __pad08b6[0x2]; // 0x8b6 public: // MPropertyFriendlyName "hitbox shell thickness" - CParticleCollectionFloatInput m_flShellSize; // 0x898 + CParticleCollectionFloatInput m_flShellSize; // 0x8b8 }; // Alignment: 14 -// Size: 0x1a40 +// Size: 0x1ac0 class C_INIT_CreateWithinSphereTransform : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "distance min" CPerParticleFloatInput m_fRadiusMin; // 0x1c0 // MPropertyFriendlyName "distance max" - CPerParticleFloatInput m_fRadiusMax; // 0x310 + CPerParticleFloatInput m_fRadiusMax; // 0x318 // MPropertyFriendlyName "distance bias" // MVectorIsCoordinate - CPerParticleVecInput m_vecDistanceBias; // 0x460 + CPerParticleVecInput m_vecDistanceBias; // 0x470 // MPropertyFriendlyName "distance bias absolute value" // MVectorIsCoordinate - Vector m_vecDistanceBiasAbs; // 0xa98 + Vector m_vecDistanceBiasAbs; // 0xac8 private: - [[maybe_unused]] uint8_t __pad0aa4[0x4]; // 0xaa4 + [[maybe_unused]] uint8_t __pad0ad4[0x4]; // 0xad4 public: // MPropertyFriendlyName "input position transform" - CParticleTransformInput m_TransformInput; // 0xaa8 + CParticleTransformInput m_TransformInput; // 0xad8 // MPropertyFriendlyName "speed min" - CPerParticleFloatInput m_fSpeedMin; // 0xb10 + CPerParticleFloatInput m_fSpeedMin; // 0xb40 // MPropertyFriendlyName "speed max" - CPerParticleFloatInput m_fSpeedMax; // 0xc60 + CPerParticleFloatInput m_fSpeedMax; // 0xc98 // MPropertyFriendlyName "speed random exponent" - float m_fSpeedRandExp; // 0xdb0 + float m_fSpeedRandExp; // 0xdf0 // MPropertyFriendlyName "bias in local system" - bool m_bLocalCoords; // 0xdb4 + bool m_bLocalCoords; // 0xdf4 private: - [[maybe_unused]] uint8_t __pad0db5[0x3]; // 0xdb5 + [[maybe_unused]] uint8_t __pad0df5[0x3]; // 0xdf5 public: // MPropertyFriendlyName "randomly distribution growth time" - float m_flEndCPGrowthTime; // 0xdb8 + float m_flEndCPGrowthTime; // 0xdf8 private: - [[maybe_unused]] uint8_t __pad0dbc[0x4]; // 0xdbc + [[maybe_unused]] uint8_t __pad0dfc[0x4]; // 0xdfc public: // MPropertyFriendlyName "speed in local coordinate system min" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0xdc0 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0xe00 // MPropertyFriendlyName "speed in local coordinate system max" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x13f8 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x1458 // MPropertyFriendlyName "Output vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1a30 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1ab0 // MPropertyFriendlyName "Velocity vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldVelocity; // 0x1a34 + ParticleAttributeIndex_t m_nFieldVelocity; // 0x1ab4 }; // Alignment: 5 -// Size: 0xe40 +// Size: 0xe80 class C_INIT_CreateWithinBox : public CParticleFunctionInitializer { public: @@ -3599,47 +2921,47 @@ public: CPerParticleVecInput m_vecMin; // 0x1c0 // MPropertyFriendlyName "max" // MVectorIsCoordinate - CPerParticleVecInput m_vecMax; // 0x7f8 + CPerParticleVecInput m_vecMax; // 0x818 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0xe30 + int32_t m_nControlPointNumber; // 0xe70 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0xe34 + bool m_bLocalSpace; // 0xe74 private: - [[maybe_unused]] uint8_t __pad0e35[0x3]; // 0xe35 + [[maybe_unused]] uint8_t __pad0e75[0x3]; // 0xe75 public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xe38 + CRandomNumberGeneratorParameters m_randomnessParameters; // 0xe78 }; // Alignment: 10 -// Size: 0x9b0 +// Size: 0x9e0 class C_INIT_CreateOnGrid : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "X Dimension Count" CParticleCollectionFloatInput m_nXCount; // 0x1c0 // MPropertyFriendlyName "Y Dimension Count" - CParticleCollectionFloatInput m_nYCount; // 0x310 + CParticleCollectionFloatInput m_nYCount; // 0x318 // MPropertyFriendlyName "Z Dimension Count" - CParticleCollectionFloatInput m_nZCount; // 0x460 + CParticleCollectionFloatInput m_nZCount; // 0x470 // MPropertyFriendlyName "X Dimension Spacing" - CParticleCollectionFloatInput m_nXSpacing; // 0x5b0 + CParticleCollectionFloatInput m_nXSpacing; // 0x5c8 // MPropertyFriendlyName "Y Dimension Spacing" - CParticleCollectionFloatInput m_nYSpacing; // 0x700 + CParticleCollectionFloatInput m_nYSpacing; // 0x720 // MPropertyFriendlyName "Z Dimension Spacing" - CParticleCollectionFloatInput m_nZSpacing; // 0x850 + CParticleCollectionFloatInput m_nZSpacing; // 0x878 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x9a0 + int32_t m_nControlPointNumber; // 0x9d0 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x9a4 + bool m_bLocalSpace; // 0x9d4 // MPropertyFriendlyName "center around control point" - bool m_bCenter; // 0x9a5 + bool m_bCenter; // 0x9d5 // MPropertyFriendlyName "hollow" - bool m_bHollow; // 0x9a6 + bool m_bHollow; // 0x9d6 }; // Alignment: 6 -// Size: 0xeb0 +// Size: 0xef0 class C_INIT_PositionOffset : public CParticleFunctionInitializer { public: @@ -3648,18 +2970,18 @@ public: CPerParticleVecInput m_OffsetMin; // 0x1c0 // MPropertyFriendlyName "offset max" // MVectorIsCoordinate - CPerParticleVecInput m_OffsetMax; // 0x7f8 + CPerParticleVecInput m_OffsetMax; // 0x818 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0xe30 + CParticleTransformInput m_TransformInput; // 0xe70 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0xe98 + bool m_bLocalCoords; // 0xed8 // MPropertyFriendlyName "offset proportional to radius 0/1" - bool m_bProportional; // 0xe99 + bool m_bProportional; // 0xed9 private: - [[maybe_unused]] uint8_t __pad0e9a[0x2]; // 0xe9a + [[maybe_unused]] uint8_t __pad0eda[0x2]; // 0xeda public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xe9c + CRandomNumberGeneratorParameters m_randomnessParameters; // 0xedc }; // Alignment: 3 @@ -3676,42 +2998,42 @@ public: }; // Alignment: 13 -// Size: 0x510 +// Size: 0x520 class C_INIT_PositionPlaceOnGround : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "offset" CPerParticleFloatInput m_flOffset; // 0x1c0 // MPropertyFriendlyName "max trace length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x310 + CPerParticleFloatInput m_flMaxTraceLength; // 0x318 // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x460 + char m_CollisionGroupName[128]; // 0x470 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x4e0 + ParticleTraceSet_t m_nTraceSet; // 0x4f0 private: - [[maybe_unused]] uint8_t __pad04e4[0xc]; // 0x4e4 + [[maybe_unused]] uint8_t __pad04f4[0xc]; // 0x4f4 public: // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x4f0 + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x500 // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x4f4 + bool m_bIncludeWater; // 0x504 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x4f5 + bool m_bSetNormal; // 0x505 // MPropertyFriendlyName "set Previous XYZ only" - bool m_bSetPXYZOnly; // 0x4f6 + bool m_bSetPXYZOnly; // 0x506 // MPropertyFriendlyName "Trace along particle normal" - bool m_bTraceAlongNormal; // 0x4f7 + bool m_bTraceAlongNormal; // 0x507 // MPropertyFriendlyName "Offset only if trace hit" - bool m_bOffsetonColOnly; // 0x4f8 + bool m_bOffsetonColOnly; // 0x508 private: - [[maybe_unused]] uint8_t __pad04f9[0x3]; // 0x4f9 + [[maybe_unused]] uint8_t __pad0509[0x3]; // 0x509 public: // MPropertyFriendlyName "offset final position by this fraction of the particle radius" - float m_flOffsetByRadiusFactor; // 0x4fc + float m_flOffsetByRadiusFactor; // 0x50c // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x500 + int32_t m_nPreserveOffsetCP; // 0x510 // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x504 + int32_t m_nIgnoreCP; // 0x514 }; // Alignment: 3 @@ -3728,7 +3050,7 @@ public: }; // Alignment: 7 -// Size: 0x10f0 +// Size: 0x1140 class C_INIT_VelocityRandom : public CParticleFunctionInitializer { public: @@ -3740,24 +3062,24 @@ public: // MPropertyFriendlyName "random speed min" CPerParticleFloatInput m_fSpeedMin; // 0x1c8 // MPropertyFriendlyName "random speed max" - CPerParticleFloatInput m_fSpeedMax; // 0x318 + CPerParticleFloatInput m_fSpeedMax; // 0x320 // MPropertyFriendlyName "speed in local coordinate system min" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x468 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x478 // MPropertyFriendlyName "speed in local coordinate system max" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xaa0 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xad0 // MPropertyFriendlyName "Ignore delta time (RenderTrails)" - bool m_bIgnoreDT; // 0x10d8 + bool m_bIgnoreDT; // 0x1128 private: - [[maybe_unused]] uint8_t __pad10d9[0x3]; // 0x10d9 + [[maybe_unused]] uint8_t __pad1129[0x3]; // 0x1129 public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x10dc + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x112c }; // Alignment: 10 -// Size: 0x18e0 +// Size: 0x1960 class C_INIT_InitialVelocityNoise : public CParticleFunctionInitializer { public: @@ -3771,20 +3093,20 @@ public: // MVectorIsCoordinate CPerParticleVecInput m_vecOffsetLoc; // 0x1d8 // MPropertyFriendlyName "time coordinate offset" - CPerParticleFloatInput m_flOffset; // 0x810 + CPerParticleFloatInput m_flOffset; // 0x830 // MPropertyFriendlyName "output minimum" - CPerParticleVecInput m_vecOutputMin; // 0x960 + CPerParticleVecInput m_vecOutputMin; // 0x988 // MPropertyFriendlyName "output maximum" - CPerParticleVecInput m_vecOutputMax; // 0xf98 + CPerParticleVecInput m_vecOutputMax; // 0xfe0 // MPropertyFriendlyName "time noise coordinate scale" - CPerParticleFloatInput m_flNoiseScale; // 0x15d0 + CPerParticleFloatInput m_flNoiseScale; // 0x1638 // MPropertyFriendlyName "spatial noise coordinate scale" - CPerParticleFloatInput m_flNoiseScaleLoc; // 0x1720 + CPerParticleFloatInput m_flNoiseScaleLoc; // 0x1790 // MPropertyFriendlyName "input local space velocity (optional)" // MParticleInputOptional - CParticleTransformInput m_TransformInput; // 0x1870 + CParticleTransformInput m_TransformInput; // 0x18e8 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDt; // 0x18d8 + bool m_bIgnoreDt; // 0x1950 }; // Alignment: 5 @@ -4143,7 +3465,7 @@ public: }; // Alignment: 1 -// Size: 0x800 +// Size: 0x820 class C_INIT_ScaleVelocity : public CParticleFunctionInitializer { public: @@ -4153,7 +3475,7 @@ public: }; // Alignment: 10 -// Size: 0xe50 +// Size: 0xe90 class C_INIT_PositionWarp : public CParticleFunctionInitializer { public: @@ -4162,24 +3484,24 @@ public: CParticleCollectionVecInput m_vecWarpMin; // 0x1c0 // MPropertyFriendlyName "warp max" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecWarpMax; // 0x7f8 + CParticleCollectionVecInput m_vecWarpMax; // 0x818 // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0xe30 + int32_t m_nScaleControlPointNumber; // 0xe70 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0xe34 + int32_t m_nControlPointNumber; // 0xe74 // MPropertyFriendlyName "radius scale component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nRadiusComponent; // 0xe38 + int32_t m_nRadiusComponent; // 0xe78 // MPropertyFriendlyName "warp transition time (treats min/max as start/end sizes)" - float m_flWarpTime; // 0xe3c + float m_flWarpTime; // 0xe7c // MPropertyFriendlyName "warp transition start time" - float m_flWarpStartTime; // 0xe40 + float m_flWarpStartTime; // 0xe80 // MPropertyFriendlyName "previous position sacale" - float m_flPrevPosScale; // 0xe44 + float m_flPrevPosScale; // 0xe84 // MPropertyFriendlyName "reverse warp (0/1)" - bool m_bInvertWarp; // 0xe48 + bool m_bInvertWarp; // 0xe88 // MPropertyFriendlyName "use particle count instead of time" - bool m_bUseCount; // 0xe49 + bool m_bUseCount; // 0xe89 }; // Alignment: 6 @@ -4196,11 +3518,11 @@ public: // MPropertyFriendlyName "warp amount" CPerParticleFloatInput m_InputValue; // 0x1d8 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x328 + float m_flPrevPosScale; // 0x330 // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0x32c + int32_t m_nScaleControlPointNumber; // 0x334 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x330 + int32_t m_nControlPointNumber; // 0x338 }; // Alignment: 10 @@ -4259,24 +3581,24 @@ public: }; // Alignment: 7 -// Size: 0x860 +// Size: 0x880 class C_INIT_MoveBetweenPoints : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "minimum speed" CPerParticleFloatInput m_flSpeedMin; // 0x1c0 // MPropertyFriendlyName "maximum speed" - CPerParticleFloatInput m_flSpeedMax; // 0x310 + CPerParticleFloatInput m_flSpeedMax; // 0x318 // MPropertyFriendlyName "end spread" - CPerParticleFloatInput m_flEndSpread; // 0x460 + CPerParticleFloatInput m_flEndSpread; // 0x470 // MPropertyFriendlyName "start offset" - CPerParticleFloatInput m_flStartOffset; // 0x5b0 + CPerParticleFloatInput m_flStartOffset; // 0x5c8 // MPropertyFriendlyName "end offset" - CPerParticleFloatInput m_flEndOffset; // 0x700 + CPerParticleFloatInput m_flEndOffset; // 0x720 // MPropertyFriendlyName "end control point" - int32_t m_nEndControlPointNumber; // 0x850 + int32_t m_nEndControlPointNumber; // 0x878 // MPropertyFriendlyName "bias lifetime by trail length" - bool m_bTrailBias; // 0x854 + bool m_bTrailBias; // 0x87c }; // Alignment: 11 @@ -4398,7 +3720,7 @@ public: }; // Alignment: 4 -// Size: 0x870 +// Size: 0x890 class C_INIT_VelocityFromCP : public CParticleFunctionInitializer { public: @@ -4406,11 +3728,11 @@ public: CParticleCollectionVecInput m_velocityInput; // 0x1c0 // MPropertyFriendlyName "local space" // MParticleInputOptional - CParticleTransformInput m_transformInput; // 0x7f8 + CParticleTransformInput m_transformInput; // 0x818 // MPropertyFriendlyName "velocity scale" - float m_flVelocityScale; // 0x860 + float m_flVelocityScale; // 0x880 // MPropertyFriendlyName "direction only" - bool m_bDirectionOnly; // 0x864 + bool m_bDirectionOnly; // 0x884 }; // Alignment: 8 @@ -4509,24 +3831,24 @@ public: }; // Alignment: 6 -// Size: 0x4c0 +// Size: 0x4d0 class C_INIT_CreateSequentialPathV2 : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "maximum distance" CPerParticleFloatInput m_fMaxDistance; // 0x1c0 // MPropertyFriendlyName "particles to map from start to end" - CParticleCollectionFloatInput m_flNumToAssign; // 0x310 + CParticleCollectionFloatInput m_flNumToAssign; // 0x318 // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x460 + bool m_bLoop; // 0x470 // MPropertyFriendlyName "use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x461 + bool m_bCPPairs; // 0x471 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x462 + bool m_bSaveOffset; // 0x472 private: - [[maybe_unused]] uint8_t __pad0463[0xd]; // 0x463 + [[maybe_unused]] uint8_t __pad0473[0xd]; // 0x473 public: - CPathParameters m_PathParams; // 0x470 + CPathParameters m_PathParams; // 0x480 }; // Alignment: 6 @@ -4756,7 +4078,7 @@ public: }; // Alignment: 4 -// Size: 0x320 +// Size: 0x330 class C_INIT_CreateFromCPs : public CParticleFunctionInitializer { public: @@ -4775,7 +4097,7 @@ public: }; // Alignment: 15 -// Size: 0x910 +// Size: 0x930 class C_INIT_DistanceToCPInit : public CParticleFunctionInitializer { public: @@ -4788,40 +4110,40 @@ public: // MPropertyFriendlyName "distance minimum" CPerParticleFloatInput m_flInputMin; // 0x1c8 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x318 + CPerParticleFloatInput m_flInputMax; // 0x320 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x478 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5b8 + CPerParticleFloatInput m_flOutputMax; // 0x5d0 // MPropertyFriendlyName "control point" - int32_t m_nStartCP; // 0x708 + int32_t m_nStartCP; // 0x728 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x70c + bool m_bLOS; // 0x72c // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x70d + char m_CollisionGroupName[128]; // 0x72d private: - [[maybe_unused]] uint8_t __pad078d[0x3]; // 0x78d + [[maybe_unused]] uint8_t __pad07ad[0x3]; // 0x7ad public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x790 + ParticleTraceSet_t m_nTraceSet; // 0x7b0 private: - [[maybe_unused]] uint8_t __pad0794[0x4]; // 0x794 + [[maybe_unused]] uint8_t __pad07b4[0x4]; // 0x7b4 public: // MPropertyFriendlyName "Maximum Trace Length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x798 + CPerParticleFloatInput m_flMaxTraceLength; // 0x7b8 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x8e8 + float m_flLOSScale; // 0x910 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x8ec + ParticleSetMethod_t m_nSetMethod; // 0x914 // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x8f0 + bool m_bActiveRange; // 0x918 private: - [[maybe_unused]] uint8_t __pad08f1[0x3]; // 0x8f1 + [[maybe_unused]] uint8_t __pad0919[0x3]; // 0x919 public: // MPropertyFriendlyName "distance component scale" - Vector m_vecDistanceScale; // 0x8f4 + Vector m_vecDistanceScale; // 0x91c // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x900 + float m_flRemapBias; // 0x928 }; // Alignment: 8 @@ -4890,7 +4212,7 @@ public: }; // Alignment: 3 -// Size: 0x320 +// Size: 0x330 class C_INIT_DistanceCull : public CParticleFunctionInitializer { public: @@ -4902,11 +4224,11 @@ public: // MPropertyFriendlyName "cull distance" CParticleCollectionFloatInput m_flDistance; // 0x1c8 // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x318 + bool m_bCullInside; // 0x320 }; // Alignment: 3 -// Size: 0x320 +// Size: 0x330 class C_INIT_PlaneCull : public CParticleFunctionInitializer { public: @@ -4918,11 +4240,11 @@ public: // MPropertyFriendlyName "cull offset" CParticleCollectionFloatInput m_flDistance; // 0x1c8 // MPropertyFriendlyName "flip cull normal" - bool m_bCullInside; // 0x318 + bool m_bCullInside; // 0x320 }; // Alignment: 1 -// Size: 0x310 +// Size: 0x320 class C_INIT_DistanceToNeighborCull : public CParticleFunctionInitializer { public: @@ -5017,8 +4339,8 @@ public: bool m_bPerParticle; // 0x1e4 }; -// Alignment: 9 -// Size: 0x330 +// Alignment: 10 +// Size: 0x490 class C_INIT_InitFromCPSnapshot : public CParticleFunctionInitializer { public: @@ -5041,10 +4363,12 @@ private: public: // MPropertyFriendlyName "Snapshot increment amount" CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x1d8 + // MPropertyFriendlyName "Manual Snapshot Index" + CPerParticleFloatInput m_nManualSnapshotIndex; // 0x330 // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x328 + int32_t m_nRandomSeed; // 0x488 // MPropertyFriendlyName "local space angles" - bool m_bLocalSpaceAngles; // 0x32c + bool m_bLocalSpaceAngles; // 0x48c }; // Alignment: 17 @@ -5105,7 +4429,7 @@ public: }; // Alignment: 5 -// Size: 0x810 +// Size: 0x830 class C_INIT_InitFromVectorFieldSnapshot : public CParticleFunctionInitializer { public: @@ -5482,23 +4806,23 @@ public: }; // Alignment: 5 -// Size: 0x5c0 +// Size: 0x5e0 class C_INIT_CreateParticleImpulse : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "radius" CPerParticleFloatInput m_InputRadius; // 0x1c0 // MPropertyFriendlyName "magnitude" - CPerParticleFloatInput m_InputMagnitude; // 0x310 + CPerParticleFloatInput m_InputMagnitude; // 0x318 // MPropertyFriendlyName "force falloff function" - ParticleFalloffFunction_t m_nFalloffFunction; // 0x460 + ParticleFalloffFunction_t m_nFalloffFunction; // 0x470 private: - [[maybe_unused]] uint8_t __pad0464[0x4]; // 0x464 + [[maybe_unused]] uint8_t __pad0474[0x4]; // 0x474 public: // MPropertyFriendlyName "exponential falloff exponent" - CPerParticleFloatInput m_InputFalloffExp; // 0x468 + CPerParticleFloatInput m_InputFalloffExp; // 0x478 // MPropertyFriendlyName "impulse type" - ParticleImpulseType_t m_nImpulseType; // 0x5b8 + ParticleImpulseType_t m_nImpulseType; // 0x5d0 }; // Alignment: 2 @@ -5510,11 +4834,11 @@ public: CPerParticleFloatInput m_InputValue; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x310 + ParticleAttributeIndex_t m_nOutputField; // 0x318 }; // Alignment: 6 -// Size: 0xeb0 +// Size: 0xef0 class C_INIT_SetVectorAttributeToVectorExpression : public CParticleFunctionInitializer { public: @@ -5526,14 +4850,14 @@ public: // MPropertyFriendlyName "input 1" CPerParticleVecInput m_vInput1; // 0x1c8 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x800 + CPerParticleVecInput m_vInput2; // 0x820 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0xe38 + ParticleAttributeIndex_t m_nOutputField; // 0xe78 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xe3c + ParticleSetMethod_t m_nSetMethod; // 0xe7c // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xe40 + bool m_bNormalizedOutput; // 0xe80 }; // Alignment: 2 @@ -5545,11 +4869,11 @@ public: CParticleCollectionFloatInput m_InputValue; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x310 + ParticleAttributeIndex_t m_nOutputField; // 0x318 }; // Alignment: 4 -// Size: 0x470 +// Size: 0x480 class C_INIT_InitFloat : public CParticleFunctionInitializer { public: @@ -5557,15 +4881,15 @@ public: CPerParticleFloatInput m_InputValue; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x310 + ParticleAttributeIndex_t m_nOutputField; // 0x318 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x314 + ParticleSetMethod_t m_nSetMethod; // 0x31c // MPropertyFriendlyName "per-particle strength" - CPerParticleFloatInput m_InputStrength; // 0x318 + CPerParticleFloatInput m_InputStrength; // 0x320 }; // Alignment: 2 -// Size: 0x800 +// Size: 0x820 class C_INIT_InitVecCollection : public CParticleFunctionInitializer { public: @@ -5573,11 +4897,11 @@ public: CParticleCollectionVecInput m_InputValue; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7f8 + ParticleAttributeIndex_t m_nOutputField; // 0x818 }; // Alignment: 5 -// Size: 0x810 +// Size: 0x830 class C_INIT_InitVec : public CParticleFunctionInitializer { public: @@ -5585,18 +4909,18 @@ public: CPerParticleVecInput m_InputValue; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7f8 + ParticleAttributeIndex_t m_nOutputField; // 0x818 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7fc + ParticleSetMethod_t m_nSetMethod; // 0x81c // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0x800 + bool m_bNormalizedOutput; // 0x820 // MPropertyFriendlyName "set previous position" // MPropertySuppressExpr "m_nOutputField != PARTICLE_ATTRIBUTE_XYZ" - bool m_bWritePreviousPosition; // 0x801 + bool m_bWritePreviousPosition; // 0x821 }; // Alignment: 5 -// Size: 0x470 +// Size: 0x480 class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter { public: @@ -5604,44 +4928,44 @@ public: // MPropertyAttributeRange "1 1000" CParticleCollectionFloatInput m_nParticlesToEmit; // 0x1c0 // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x310 + CParticleCollectionFloatInput m_flStartTime; // 0x318 // MPropertyFriendlyName "emission scale from killed parent particles" - float m_flInitFromKilledParentParticles; // 0x460 + float m_flInitFromKilledParentParticles; // 0x470 // MPropertyFriendlyName "maximum emission per frame" - int32_t m_nMaxEmittedPerFrame; // 0x464 + int32_t m_nMaxEmittedPerFrame; // 0x474 // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x468 + int32_t m_nSnapshotControlPoint; // 0x478 }; // Alignment: 10 -// Size: 0x5d0 +// Size: 0x5f0 class C_OP_ContinuousEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "emission duration" CParticleCollectionFloatInput m_flEmissionDuration; // 0x1c0 // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x310 + CParticleCollectionFloatInput m_flStartTime; // 0x318 // MPropertyFriendlyName "emission rate" - CParticleCollectionFloatInput m_flEmitRate; // 0x460 + CParticleCollectionFloatInput m_flEmitRate; // 0x470 // MPropertyFriendlyName "scale emission to used control points" // MParticleMaxVersion - float m_flEmissionScale; // 0x5b0 + float m_flEmissionScale; // 0x5c8 // MPropertyFriendlyName "scale emission by parent particle count" - float m_flScalePerParentParticle; // 0x5b4 + float m_flScalePerParentParticle; // 0x5cc // MPropertyFriendlyName "emit particles for killed parent particles" - bool m_bInitFromKilledParentParticles; // 0x5b8 + bool m_bInitFromKilledParentParticles; // 0x5d0 private: - [[maybe_unused]] uint8_t __pad05b9[0x3]; // 0x5b9 + [[maybe_unused]] uint8_t __pad05d1[0x3]; // 0x5d1 public: // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x5bc + int32_t m_nSnapshotControlPoint; // 0x5d4 // MPropertyFriendlyName "limit per update" - int32_t m_nLimitPerUpdate; // 0x5c0 + int32_t m_nLimitPerUpdate; // 0x5d8 // MPropertyFriendlyName "force emit on first update" - bool m_bForceEmitOnFirstUpdate; // 0x5c4 + bool m_bForceEmitOnFirstUpdate; // 0x5dc // MPropertyFriendlyName "force emit on last update" - bool m_bForceEmitOnLastUpdate; // 0x5c5 + bool m_bForceEmitOnLastUpdate; // 0x5dd }; // Alignment: 15 @@ -5688,491 +5012,1026 @@ public: }; // Alignment: 8 -// Size: 0x480 +// Size: 0x5e0 class C_OP_MaintainEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x1c0 + CParticleCollectionFloatInput m_nParticlesToMaintain; // 0x1c0 // MPropertyFriendlyName "emission start time" - float m_flStartTime; // 0x1c4 - // MPropertyFriendlyName "emission duration" - CParticleCollectionFloatInput m_flEmissionDuration; // 0x1c8 - // MPropertyFriendlyName "emission rate" - float m_flEmissionRate; // 0x318 - // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x31c - // MPropertyFriendlyName "group emission times for new particles" - bool m_bEmitInstantaneously; // 0x320 - // MPropertyFriendlyName "perform final emit on stop" - bool m_bFinalEmitOnStop; // 0x321 + float m_flStartTime; // 0x318 private: - [[maybe_unused]] uint8_t __pad0322[0x6]; // 0x322 + [[maybe_unused]] uint8_t __pad031c[0x4]; // 0x31c +public: + // MPropertyFriendlyName "emission duration" + CParticleCollectionFloatInput m_flEmissionDuration; // 0x320 + // MPropertyFriendlyName "emission rate" + float m_flEmissionRate; // 0x478 + // MPropertyFriendlyName "control point with snapshot data" + int32_t m_nSnapshotControlPoint; // 0x47c + // MPropertyFriendlyName "group emission times for new particles" + bool m_bEmitInstantaneously; // 0x480 + // MPropertyFriendlyName "perform final emit on stop" + bool m_bFinalEmitOnStop; // 0x481 +private: + [[maybe_unused]] uint8_t __pad0482[0x6]; // 0x482 public: // MPropertyFriendlyName "total count scale" - CParticleCollectionFloatInput m_flScale; // 0x328 + CParticleCollectionFloatInput m_flScale; // 0x488 }; // Alignment: 2 -// Size: 0x1d0 +// Size: 0x1f0 class C_OP_RandomForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "min force" // MVectorIsCoordinate - Vector m_MinForce; // 0x1b0 + Vector m_MinForce; // 0x1d0 // MPropertyFriendlyName "max force" // MVectorIsCoordinate - Vector m_MaxForce; // 0x1bc + Vector m_MaxForce; // 0x1dc }; // Alignment: 2 -// Size: 0x310 +// Size: 0x330 class C_OP_CPVelocityForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 public: // MPropertyFriendlyName "velocity scale" - CPerParticleFloatInput m_flScale; // 0x1b8 + CPerParticleFloatInput m_flScale; // 0x1d8 }; // Alignment: 3 -// Size: 0x1d0 +// Size: 0x1f0 class C_OP_ParentVortices : public CParticleFunctionForce { public: // MPropertyFriendlyName "amount of force" - float m_flForceScale; // 0x1b0 + float m_flForceScale; // 0x1d0 // MPropertyFriendlyName "twist axis" // MVectorIsCoordinate - Vector m_vecTwistAxis; // 0x1b4 + Vector m_vecTwistAxis; // 0x1d4 // MPropertyFriendlyName "flip twist axis with yaw" - bool m_bFlipBasedOnYaw; // 0x1c0 + bool m_bFlipBasedOnYaw; // 0x1e0 }; // Alignment: 4 -// Size: 0x1d0 +// Size: 0x1f0 class C_OP_TwistAroundAxis : public CParticleFunctionForce { public: // MPropertyFriendlyName "amount of force" - float m_fForceAmount; // 0x1b0 + float m_fForceAmount; // 0x1d0 // MPropertyFriendlyName "twist axis" // MVectorIsCoordinate - Vector m_TwistAxis; // 0x1b4 + Vector m_TwistAxis; // 0x1d4 // MPropertyFriendlyName "object local space axis 0/1" - bool m_bLocalSpace; // 0x1c0 + bool m_bLocalSpace; // 0x1e0 private: - [[maybe_unused]] uint8_t __pad01c1[0x3]; // 0x1c1 + [[maybe_unused]] uint8_t __pad01e1[0x3]; // 0x1e1 public: // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x1c4 + int32_t m_nControlPointNumber; // 0x1e4 }; // Alignment: 6 -// Size: 0x4e0 +// Size: 0x510 class C_OP_AttractToControlPoint : public CParticleFunctionForce { public: // MPropertyFriendlyName "component scale" // MVectorIsCoordinate - Vector m_vecComponentScale; // 0x1b0 + Vector m_vecComponentScale; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01bc[0x4]; // 0x1bc + [[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc public: // MPropertyFriendlyName "amount of force (or Max Force)" - CPerParticleFloatInput m_fForceAmount; // 0x1c0 + CPerParticleFloatInput m_fForceAmount; // 0x1e0 // MPropertyFriendlyName "falloff power" - float m_fFalloffPower; // 0x310 + float m_fFalloffPower; // 0x338 private: - [[maybe_unused]] uint8_t __pad0314[0x4]; // 0x314 + [[maybe_unused]] uint8_t __pad033c[0x4]; // 0x33c public: // MPropertyFriendlyName "input position transform" - CParticleTransformInput m_TransformInput; // 0x318 + CParticleTransformInput m_TransformInput; // 0x340 // MPropertyFriendlyName "Min Pullforce" - CPerParticleFloatInput m_fForceAmountMin; // 0x380 + CPerParticleFloatInput m_fForceAmountMin; // 0x3a8 // MPropertyFriendlyName "Apply Min Pullforce" - bool m_bApplyMinForce; // 0x4d0 + bool m_bApplyMinForce; // 0x500 }; // Alignment: 7 -// Size: 0x1f0 +// Size: 0x210 class C_OP_ForceBasedOnDistanceToPlane : public CParticleFunctionForce { public: // MPropertyFriendlyName "min distance from plane" - float m_flMinDist; // 0x1b0 + float m_flMinDist; // 0x1d0 // MPropertyFriendlyName "force at min distance" // MVectorIsCoordinate - Vector m_vecForceAtMinDist; // 0x1b4 + Vector m_vecForceAtMinDist; // 0x1d4 // MPropertyFriendlyName "max distance from plane" - float m_flMaxDist; // 0x1c0 + float m_flMaxDist; // 0x1e0 // MPropertyFriendlyName "force at max distance" // MVectorIsCoordinate - Vector m_vecForceAtMaxDist; // 0x1c4 + Vector m_vecForceAtMaxDist; // 0x1e4 // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - Vector m_vecPlaneNormal; // 0x1d0 + Vector m_vecPlaneNormal; // 0x1f0 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1dc + int32_t m_nControlPointNumber; // 0x1fc // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x1e0 + float m_flExponent; // 0x200 }; // Alignment: 4 -// Size: 0x1d0 +// Size: 0x1f0 class C_OP_TimeVaryingForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "time to start transition" - float m_flStartLerpTime; // 0x1b0 + float m_flStartLerpTime; // 0x1d0 // MPropertyFriendlyName "starting force" // MVectorIsCoordinate - Vector m_StartingForce; // 0x1b4 + Vector m_StartingForce; // 0x1d4 // MPropertyFriendlyName "time to end transition" - float m_flEndLerpTime; // 0x1c0 + float m_flEndLerpTime; // 0x1e0 // MPropertyFriendlyName "ending force" // MVectorIsCoordinate - Vector m_EndingForce; // 0x1c4 + Vector m_EndingForce; // 0x1e4 }; // Alignment: 8 -// Size: 0x1f0 +// Size: 0x210 class C_OP_TurbulenceForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "noise scale 0" - float m_flNoiseCoordScale0; // 0x1b0 + float m_flNoiseCoordScale0; // 0x1d0 // MPropertyFriendlyName "noise scale 1" - float m_flNoiseCoordScale1; // 0x1b4 + float m_flNoiseCoordScale1; // 0x1d4 // MPropertyFriendlyName "noise scale 2" - float m_flNoiseCoordScale2; // 0x1b8 + float m_flNoiseCoordScale2; // 0x1d8 // MPropertyFriendlyName "noise scale 3" - float m_flNoiseCoordScale3; // 0x1bc + float m_flNoiseCoordScale3; // 0x1dc // MPropertyFriendlyName "noise amount 0" // MVectorIsCoordinate - Vector m_vecNoiseAmount0; // 0x1c0 + Vector m_vecNoiseAmount0; // 0x1e0 // MPropertyFriendlyName "noise amount 1" // MVectorIsCoordinate - Vector m_vecNoiseAmount1; // 0x1cc + Vector m_vecNoiseAmount1; // 0x1ec // MPropertyFriendlyName "noise amount 2" // MVectorIsCoordinate - Vector m_vecNoiseAmount2; // 0x1d8 + Vector m_vecNoiseAmount2; // 0x1f8 // MPropertyFriendlyName "noise amount 3" // MVectorIsCoordinate - Vector m_vecNoiseAmount3; // 0x1e4 + Vector m_vecNoiseAmount3; // 0x204 }; -// Alignment: 6 -// Size: 0x1700 +// Alignment: 7 +// Size: 0x1df0 class C_OP_CurlNoiseForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "noise type" - ParticleDirectionNoiseType_t m_nNoiseType; // 0x1b0 + ParticleDirectionNoiseType_t m_nNoiseType; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 public: // MPropertyFriendlyName "noise frequency" // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseFreq; // 0x1b8 + CPerParticleVecInput m_vecNoiseFreq; // 0x1d8 // MPropertyFriendlyName "noise amplitude" // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseScale; // 0x7f0 + CPerParticleVecInput m_vecNoiseScale; // 0x830 + // MPropertyFriendlyName "offset" + // MVectorIsCoordinate + CPerParticleVecInput m_vecOffset; // 0xe88 // MPropertyFriendlyName "offset rate" // MVectorIsCoordinate - CPerParticleVecInput m_vecOffsetRate; // 0xe28 + CPerParticleVecInput m_vecOffsetRate; // 0x14e0 // MPropertyFriendlyName "worley seed" - CPerParticleFloatInput m_flWorleySeed; // 0x1460 + CPerParticleFloatInput m_flWorleySeed; // 0x1b38 // MPropertyFriendlyName "worley jitter" - CPerParticleFloatInput m_flWorleyJitter; // 0x15b0 + CPerParticleFloatInput m_flWorleyJitter; // 0x1c90 }; // Alignment: 3 -// Size: 0x940 +// Size: 0x990 class C_OP_PerParticleForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x1b0 + CPerParticleFloatInput m_flForceScale; // 0x1d0 // MPropertyFriendlyName "force to apply" // MVectorIsCoordinate - CPerParticleVecInput m_vForce; // 0x300 + CPerParticleVecInput m_vForce; // 0x328 // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x938 + int32_t m_nCP; // 0x980 }; // Alignment: 1 -// Size: 0x1c0 +// Size: 0x1e0 class C_OP_WindForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force to apply" // MVectorIsCoordinate - Vector m_vForce; // 0x1b0 + Vector m_vForce; // 0x1d0 }; -// Alignment: 4 -// Size: 0xe30 +// Alignment: 11 +// Size: 0x1df0 class C_OP_ExternalWindForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "sample position" - CPerParticleVecInput m_vecSamplePosition; // 0x1b0 + CPerParticleVecInput m_vecSamplePosition; // 0x1d0 // MPropertyFriendlyName "force scale" - CPerParticleVecInput m_vecScale; // 0x7e8 + CPerParticleVecInput m_vecScale; // 0x828 // MPropertyFriendlyName "sample wind" - bool m_bSampleWind; // 0xe20 + bool m_bSampleWind; // 0xe80 // MPropertyFriendlyName "sample water current" - bool m_bSampleWater; // 0xe21 + bool m_bSampleWater; // 0xe81 + // MPropertyFriendlyName "dampen gravity/buoyancy near water plane" + // MPropertySuppressExpr "!m_bSampleWater" + bool m_bDampenNearWaterPlane; // 0xe82 + // MPropertyFriendlyName "sample local gravity" + bool m_bSampleGravity; // 0xe83 +private: + [[maybe_unused]] uint8_t __pad0e84[0x4]; // 0xe84 +public: + // MPropertyFriendlyName "gravity force" + // MPropertySuppressExpr "m_bSampleGravity" + CPerParticleVecInput m_vecGravityForce; // 0xe88 + // MPropertyFriendlyName "use Movement Basic for Local Gravity & Buoyancy Scale" + // MPropertySuppressExpr "!m_bSampleGravity" + bool m_bUseBasicMovementGravity; // 0x14e0 +private: + [[maybe_unused]] uint8_t __pad14e1[0x7]; // 0x14e1 +public: + // MPropertyFriendlyName "local gravity scale" + // MPropertySuppressExpr "!m_bSampleGravity" + CPerParticleFloatInput m_flLocalGravityScale; // 0x14e8 + // MPropertyFriendlyName "local gravity buoyancy scale" + // MPropertySuppressExpr "!m_bSampleGravity" + CPerParticleFloatInput m_flLocalBuoyancyScale; // 0x1640 + // MPropertyFriendlyName "buoyancy force" + // MPropertySuppressExpr "!m_bSampleWater || m_bSampleGravity" + CPerParticleVecInput m_vecBuoyancyForce; // 0x1798 }; // Alignment: 5 -// Size: 0x310 +// Size: 0x330 class C_OP_ExternalGameImpulseForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x1b0 + CPerParticleFloatInput m_flForceScale; // 0x1d0 // MPropertyFriendlyName "rope shake" - bool m_bRopes; // 0x300 + bool m_bRopes; // 0x328 // MPropertyFriendlyName "limit rope impulses to Z" - bool m_bRopesZOnly; // 0x301 + bool m_bRopesZOnly; // 0x329 // MPropertyFriendlyName "explosions" - bool m_bExplosions; // 0x302 + bool m_bExplosions; // 0x32a // MPropertyFriendlyName "particle systems" - bool m_bParticles; // 0x303 + bool m_bParticles; // 0x32b }; // Alignment: 3 -// Size: 0x7f0 +// Size: 0x830 class C_OP_LocalAccelerationForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x1b0 + int32_t m_nCP; // 0x1d0 // MPropertyFriendlyName "scale control point" - int32_t m_nScaleCP; // 0x1b4 + int32_t m_nScaleCP; // 0x1d4 // MPropertyFriendlyName "local space acceleration" - CParticleCollectionVecInput m_vecAccel; // 0x1b8 + CParticleCollectionVecInput m_vecAccel; // 0x1d8 }; -// Alignment: 1 -// Size: 0x1c0 -class C_OP_ScreenForceFromPlayerView : public CParticleFunctionForce -{ -public: - // MPropertyFriendlyName "Acceleration" - float m_flAccel; // 0x1b0 -}; - -// Alignment: 5 -// Size: 0x1d0 -class C_OP_ExternalGenericForce : public CParticleFunctionForce -{ -public: - // MPropertyFriendlyName "strength" - float m_flStrength; // 0x1b0 - // MPropertyFriendlyName "curl strength" - float m_flCurlStrength; // 0x1b4 - // MPropertyFriendlyName "linear strength" - float m_flLinearStrength; // 0x1b8 - // MPropertyFriendlyName "radial strength" - float m_flRadialStrength; // 0x1bc - // MPropertyFriendlyName "rotation strength" - float m_flRotationStrength; // 0x1c0 -}; - -// Alignment: 2 -// Size: 0x1c0 +// Alignment: 3 +// Size: 0x1e0 class C_OP_DensityForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1b0 + float m_flRadiusScale; // 0x1d0 // MPropertyFriendlyName "Scale of force" - float m_flForceScale; // 0x1b4 + float m_flForceScale; // 0x1d4 + // MPropertyFriendlyName "Target density" + float m_flTargetDensity; // 0x1d8 }; // Alignment: 3 -// Size: 0x1d0 +// Size: 0x980 class C_OP_BasicMovement : public CParticleFunctionOperator { public: // MPropertyFriendlyName "gravity" // MVectorIsCoordinate - Vector m_Gravity; // 0x1b0 + CParticleCollectionVecInput m_Gravity; // 0x1c0 // MPropertyFriendlyName "drag" // MPropertyAttributeRange "-1 1" - float m_fDrag; // 0x1bc + CParticleCollectionFloatInput m_fDrag; // 0x818 // MPropertyFriendlyName "max constraint passes" - int32_t m_nMaxConstraintPasses; // 0x1c0 + int32_t m_nMaxConstraintPasses; // 0x970 }; // Alignment: 7 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_FadeAndKill : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x1b0 + float m_flStartFadeInTime; // 0x1c0 // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x1b4 + float m_flEndFadeInTime; // 0x1c4 // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x1b8 + float m_flStartFadeOutTime; // 0x1c8 // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x1bc + float m_flEndFadeOutTime; // 0x1cc // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x1c0 + float m_flStartAlpha; // 0x1d0 // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x1c4 + float m_flEndAlpha; // 0x1d4 // MPropertyFriendlyName "force preserving particle order" - bool m_bForcePreserveParticleOrder; // 0x1c8 + bool m_bForcePreserveParticleOrder; // 0x1d8 }; // Alignment: 6 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_FadeAndKillForTracers : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x1b0 + float m_flStartFadeInTime; // 0x1c0 // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x1b4 + float m_flEndFadeInTime; // 0x1c4 // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x1b8 + float m_flStartFadeOutTime; // 0x1c8 // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x1bc + float m_flEndFadeOutTime; // 0x1cc // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x1c0 + float m_flStartAlpha; // 0x1d0 // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x1c4 + float m_flEndAlpha; // 0x1d4 }; // Alignment: 4 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_FadeIn : public CParticleFunctionOperator { public: // MPropertyFriendlyName "fade in time min" - float m_flFadeInTimeMin; // 0x1b0 + float m_flFadeInTimeMin; // 0x1c0 // MPropertyFriendlyName "fade in time max" - float m_flFadeInTimeMax; // 0x1b4 + float m_flFadeInTimeMax; // 0x1c4 // MPropertyFriendlyName "fade in time exponent" - float m_flFadeInTimeExp; // 0x1b8 + float m_flFadeInTimeExp; // 0x1c8 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x1bc + bool m_bProportional; // 0x1cc }; // Alignment: 6 -// Size: 0x200 +// Size: 0x210 class C_OP_FadeOut : public CParticleFunctionOperator { public: // MPropertyFriendlyName "fade out time min" - float m_flFadeOutTimeMin; // 0x1b0 + float m_flFadeOutTimeMin; // 0x1c0 // MPropertyFriendlyName "fade out time max" - float m_flFadeOutTimeMax; // 0x1b4 + float m_flFadeOutTimeMax; // 0x1c4 // MPropertyFriendlyName "fade out time exponent" - float m_flFadeOutTimeExp; // 0x1b8 + float m_flFadeOutTimeExp; // 0x1c8 // MPropertyFriendlyName "fade bias" - float m_flFadeBias; // 0x1bc + float m_flFadeBias; // 0x1cc private: - [[maybe_unused]] uint8_t __pad01c0[0x30]; // 0x1c0 + [[maybe_unused]] uint8_t __pad01d0[0x30]; // 0x1d0 public: // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x1f0 + bool m_bProportional; // 0x200 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x1f1 + bool m_bEaseInAndOut; // 0x201 }; // Alignment: 2 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_FadeInSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "proportional fade in time" - float m_flFadeInTime; // 0x1b0 + float m_flFadeInTime; // 0x1c0 // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 }; // Alignment: 2 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_FadeOutSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "proportional fade out time" - float m_flFadeOutTime; // 0x1b0 + float m_flFadeOutTime; // 0x1c0 // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 }; // Alignment: 3 -// Size: 0x460 +// Size: 0x480 class C_OP_ClampScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x1b8 + CPerParticleFloatInput m_flOutputMin; // 0x1c8 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x308 + CPerParticleFloatInput m_flOutputMax; // 0x320 }; // Alignment: 3 -// Size: 0xe30 +// Size: 0xe80 class C_OP_ClampVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - CPerParticleVecInput m_vecOutputMin; // 0x1b8 + CPerParticleVecInput m_vecOutputMin; // 0x1c8 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - CPerParticleVecInput m_vecOutputMax; // 0x7f0 + CPerParticleVecInput m_vecOutputMax; // 0x820 }; // Alignment: 13 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_OscillateScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate min" - float m_RateMin; // 0x1b0 + float m_RateMin; // 0x1c0 // MPropertyFriendlyName "oscillation rate max" - float m_RateMax; // 0x1b4 + float m_RateMax; // 0x1c4 // MPropertyFriendlyName "oscillation frequency min" - float m_FrequencyMin; // 0x1b8 + float m_FrequencyMin; // 0x1c8 // MPropertyFriendlyName "oscillation frequency max" - float m_FrequencyMax; // 0x1bc + float m_FrequencyMax; // 0x1cc // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1c0 + ParticleAttributeIndex_t m_nField; // 0x1d0 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x1c4 + bool m_bProportional; // 0x1d4 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x1c5 + bool m_bProportionalOp; // 0x1d5 private: - [[maybe_unused]] uint8_t __pad01c6[0x2]; // 0x1c6 + [[maybe_unused]] uint8_t __pad01d6[0x2]; // 0x1d6 public: + // MPropertyFriendlyName "start time min" + float m_flStartTime_min; // 0x1d8 + // MPropertyFriendlyName "start time max" + float m_flStartTime_max; // 0x1dc + // MPropertyFriendlyName "end time min" + float m_flEndTime_min; // 0x1e0 + // MPropertyFriendlyName "end time max" + float m_flEndTime_max; // 0x1e4 + // MPropertyFriendlyName "oscillation multiplier" + float m_flOscMult; // 0x1e8 + // MPropertyFriendlyName "oscillation start phase" + float m_flOscAdd; // 0x1ec +}; + +// Alignment: 5 +// Size: 0x200 +class C_OP_OscillateScalarSimple : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "oscillation rate" + float m_Rate; // 0x1c0 + // MPropertyFriendlyName "oscillation frequency" + float m_Frequency; // 0x1c4 + // MPropertyFriendlyName "oscillation field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nField; // 0x1c8 + // MPropertyFriendlyName "oscillation multiplier" + float m_flOscMult; // 0x1cc + // MPropertyFriendlyName "oscillation start phase" + float m_flOscAdd; // 0x1d0 +}; + +// Alignment: 15 +// Size: 0x610 +class C_OP_OscillateVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "oscillation rate min" + // MVectorIsSometimesCoordinate + Vector m_RateMin; // 0x1c0 + // MPropertyFriendlyName "oscillation rate max" + // MVectorIsSometimesCoordinate + Vector m_RateMax; // 0x1cc + // MPropertyFriendlyName "oscillation frequency min" + // MVectorIsSometimesCoordinate + Vector m_FrequencyMin; // 0x1d8 + // MPropertyFriendlyName "oscillation frequency max" + // MVectorIsSometimesCoordinate + Vector m_FrequencyMax; // 0x1e4 + // MPropertyFriendlyName "oscillation field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nField; // 0x1f0 + // MPropertyFriendlyName "proportional 0/1" + bool m_bProportional; // 0x1f4 + // MPropertyFriendlyName "start/end proportional" + bool m_bProportionalOp; // 0x1f5 + // MPropertyFriendlyName "offset instead of accelerate position" + bool m_bOffset; // 0x1f6 +private: + [[maybe_unused]] uint8_t __pad01f7[0x1]; // 0x1f7 +public: + // MPropertyFriendlyName "start time min" + float m_flStartTime_min; // 0x1f8 + // MPropertyFriendlyName "start time max" + float m_flStartTime_max; // 0x1fc + // MPropertyFriendlyName "end time min" + float m_flEndTime_min; // 0x200 + // MPropertyFriendlyName "end time max" + float m_flEndTime_max; // 0x204 + // MPropertyFriendlyName "oscillation multiplier" + CPerParticleFloatInput m_flOscMult; // 0x208 + // MPropertyFriendlyName "oscillation start phase" + CPerParticleFloatInput m_flOscAdd; // 0x360 + // MPropertyFriendlyName "rate scale" + CPerParticleFloatInput m_flRateScale; // 0x4b8 +}; + +// Alignment: 6 +// Size: 0x1f0 +class C_OP_OscillateVectorSimple : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "oscillation rate" + // MVectorIsSometimesCoordinate + Vector m_Rate; // 0x1c0 + // MPropertyFriendlyName "oscillation frequency" + Vector m_Frequency; // 0x1cc + // MPropertyFriendlyName "oscillation field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nField; // 0x1d8 + // MPropertyFriendlyName "oscillation multiplier" + float m_flOscMult; // 0x1dc + // MPropertyFriendlyName "oscillation start phase" + float m_flOscAdd; // 0x1e0 + // MPropertyFriendlyName "offset instead of accelerate position" + bool m_bOffset; // 0x1e4 +}; + +// Alignment: 9 +// Size: 0x1e0 +class C_OP_DifferencePreviousParticle : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldInput; // 0x1c0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 + // MPropertyFriendlyName "difference minimum" + float m_flInputMin; // 0x1c8 + // MPropertyFriendlyName "difference maximum" + float m_flInputMax; // 0x1cc + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x1d0 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x1d4 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1d8 + // MPropertyFriendlyName "only active within specified difference" + bool m_bActiveRange; // 0x1dc + // MPropertyFriendlyName "also set ouput to previous particle" + bool m_bSetPreviousParticle; // 0x1dd +}; + +// Alignment: 2 +// Size: 0x320 +class C_OP_PointVectorAtNextParticle : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 +private: + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 +public: + // MPropertyFriendlyName "Interpolation" + CPerParticleFloatInput m_flInterpolation; // 0x1c8 +}; + +// Alignment: 7 +// Size: 0x1e0 +class C_OP_RemapScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldInput; // 0x1c0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x1c8 + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x1cc + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x1d0 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x1d4 + // MPropertyFriendlyName "use old code" + bool m_bOldCode; // 0x1d8 +}; + +// Alignment: 8 +// Size: 0x1f0 +class C_OP_RemapDensityToVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "Radius scale for particle influence" + float m_flRadiusScale; // 0x1c0 + // MPropertyFriendlyName "Output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 + // MPropertyFriendlyName "Density value to map to min value" + float m_flDensityMin; // 0x1c8 + // MPropertyFriendlyName "Density value to map to max value" + float m_flDensityMax; // 0x1cc + // MPropertyFriendlyName "Output minimum" + Vector m_vecOutputMin; // 0x1d0 + // MPropertyFriendlyName "Output maximum" + Vector m_vecOutputMax; // 0x1dc + // MPropertyFriendlyName "Use parent density instead of ours" + bool m_bUseParentDensity; // 0x1e8 +private: + [[maybe_unused]] uint8_t __pad01e9[0x3]; // 0x1e9 +public: + // MPropertyFriendlyName "Resolution to use for creating a voxel grid" + int32_t m_nVoxelGridResolution; // 0x1ec +}; + +// Alignment: 3 +// Size: 0x1d0 +class C_OP_Diffusion : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "Radius scale for particle influence" + float m_flRadiusScale; // 0x1c0 + // MPropertyFriendlyName "Output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 + // MPropertyFriendlyName "Resolution to use for creating a voxel grid" + int32_t m_nVoxelGridResolution; // 0x1c8 +}; + +// Alignment: 6 +// Size: 0x1e0 +class C_OP_RemapScalarEndCap : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldInput; // 0x1c0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x1c8 + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x1cc + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x1d0 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x1d4 +}; + +// Alignment: 3 +// Size: 0x1d0 +class C_OP_ReinitializeScalarEndCap : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 + // MPropertyFriendlyName "minimum" + float m_flOutputMin; // 0x1c4 + // MPropertyFriendlyName "maximum" + float m_flOutputMax; // 0x1c8 +}; + +// Alignment: 8 +// Size: 0x1e0 +class C_OP_RemapScalarOnceTimed : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "remap time proportional" + bool m_bProportional; // 0x1c0 +private: + [[maybe_unused]] uint8_t __pad01c1[0x3]; // 0x1c1 +public: + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldInput; // 0x1c4 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c8 + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x1cc + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x1d0 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x1d4 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x1d8 + // MPropertyFriendlyName "remap time" + float m_flRemapTime; // 0x1dc +}; + +// Alignment: 7 +// Size: 0x1e0 +class C_OP_RemapParticleCountOnScalarEndCap : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 + // MPropertyFriendlyName "input minimum" + int32_t m_nInputMin; // 0x1c4 + // MPropertyFriendlyName "input maximum" + int32_t m_nInputMax; // 0x1c8 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x1cc + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x1d0 + // MPropertyFriendlyName "count back from last particle" + bool m_bBackwards; // 0x1d4 +private: + [[maybe_unused]] uint8_t __pad01d5[0x3]; // 0x1d5 +public: + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1d8 +}; + +// Alignment: 7 +// Size: 0x730 +class C_OP_RemapParticleCountToScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 +private: + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 +public: + // MPropertyFriendlyName "input minimum" + CParticleCollectionFloatInput m_nInputMin; // 0x1c8 + // MPropertyFriendlyName "input maximum" + CParticleCollectionFloatInput m_nInputMax; // 0x320 + // MPropertyFriendlyName "output minimum" + CParticleCollectionFloatInput m_flOutputMin; // 0x478 + // MPropertyFriendlyName "output maximum" + CParticleCollectionFloatInput m_flOutputMax; // 0x5d0 + // MPropertyFriendlyName + bool m_bActiveRange; // 0x728 +private: + [[maybe_unused]] uint8_t __pad0729[0x3]; // 0x729 +public: + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x72c +}; + +// Alignment: 7 +// Size: 0x1e0 +class C_OP_RemapVisibilityScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldInput; // 0x1c0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 + // MPropertyFriendlyName "visibility minimum" + float m_flInputMin; // 0x1c8 + // MPropertyFriendlyName "visibility maximum" + float m_flInputMax; // 0x1cc + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x1d0 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x1d4 + // MPropertyFriendlyName "radius scale" + float m_flRadiusScale; // 0x1d8 +}; + +// Alignment: 8 +// Size: 0x250 +class C_OP_RemapTransformVisibilityToScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1c0 +private: + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 +public: + // MPropertyFriendlyName "transform input" + CParticleTransformInput m_TransformInput; // 0x1c8 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x230 + // MPropertyFriendlyName "CP visibility minimum" + float m_flInputMin; // 0x234 + // MPropertyFriendlyName "CP visibility maximum" + float m_flInputMax; // 0x238 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x23c + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x240 + // MPropertyFriendlyName "visibility radius" + float m_flRadius; // 0x244 +}; + +// Alignment: 8 +// Size: 0x260 +class C_OP_RemapTransformVisibilityToVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1c0 +private: + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 +public: + // MPropertyFriendlyName "transform input" + CParticleTransformInput m_TransformInput; // 0x1c8 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x230 + // MPropertyFriendlyName "CP visibility minimum" + float m_flInputMin; // 0x234 + // MPropertyFriendlyName "CP visibility maximum" + float m_flInputMax; // 0x238 + // MPropertyFriendlyName "output minimum" + Vector m_vecOutputMin; // 0x23c + // MPropertyFriendlyName "output maximum" + Vector m_vecOutputMax; // 0x248 + // MPropertyFriendlyName "visibility radius" + float m_flRadius; // 0x254 +}; + +// Alignment: 4 +// Size: 0x330 +class C_OP_LerpScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 +private: + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 +public: + // MPropertyFriendlyName "value to lerp to" + CPerParticleFloatInput m_flOutput; // 0x1c8 + // MPropertyFriendlyName "start time" + float m_flStartTime; // 0x320 + // MPropertyFriendlyName "end time" + float m_flEndTime; // 0x324 +}; + +// Alignment: 3 +// Size: 0x1d0 +class C_OP_LerpEndCapScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 + // MPropertyFriendlyName "value to lerp to" + float m_flOutput; // 0x1c4 + // MPropertyFriendlyName "lerp time" + float m_flLerpTime; // 0x1c8 +}; + +// Alignment: 3 +// Size: 0x1e0 +class C_OP_LerpEndCapVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 + // MPropertyFriendlyName "value to lerp to" + // MVectorIsSometimesCoordinate + Vector m_vecOutput; // 0x1c4 + // MPropertyFriendlyName "lerp time" + float m_flLerpTime; // 0x1d0 +}; + +// Alignment: 5 +// Size: 0x1e0 +class C_OP_LerpVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 + // MPropertyFriendlyName "value to lerp to" + // MVectorIsSometimesCoordinate + Vector m_vecOutput; // 0x1c4 + // MPropertyFriendlyName "start time" + float m_flStartTime; // 0x1d0 + // MPropertyFriendlyName "end time" + float m_flEndTime; // 0x1d4 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1d8 +}; + +// Alignment: 4 +// Size: 0x350 +class C_OP_LerpToOtherAttribute : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "Interpolation" + CPerParticleFloatInput m_flInterpolation; // 0x1c0 + // MPropertyFriendlyName "input attribute from" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nFieldInputFrom; // 0x318 + // MPropertyFriendlyName "input attribute to" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nFieldInput; // 0x31c + // MPropertyFriendlyName "output attribute" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nFieldOutput; // 0x320 +}; + +// Alignment: 7 +// Size: 0x1e0 +class C_OP_RemapSpeed : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x1c4 + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x1c8 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x1cc + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x1d0 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1d4 + // MPropertyFriendlyName "ignore delta time" + bool m_bIgnoreDelta; // 0x1d8 +}; + +// Alignment: 3 +// Size: 0x1d0 +class C_OP_RemapVectortoCP : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output control point" + int32_t m_nOutControlPointNumber; // 0x1c0 + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldInput; // 0x1c4 + // MPropertyFriendlyName "particle number to read" + int32_t m_nParticleNumber; // 0x1c8 +}; + +// Alignment: 8 +// Size: 0x210 +class C_OP_RampScalarLinear : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "ramp rate min" + float m_RateMin; // 0x1c0 + // MPropertyFriendlyName "ramp rate max" + float m_RateMax; // 0x1c4 // MPropertyFriendlyName "start time min" float m_flStartTime_min; // 0x1c8 // MPropertyFriendlyName "start time max" @@ -6181,712 +6040,208 @@ public: float m_flEndTime_min; // 0x1d0 // MPropertyFriendlyName "end time max" float m_flEndTime_max; // 0x1d4 - // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x1d8 - // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x1dc -}; - -// Alignment: 5 -// Size: 0x1f0 -class C_OP_OscillateScalarSimple : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "oscillation rate" - float m_Rate; // 0x1b0 - // MPropertyFriendlyName "oscillation frequency" - float m_Frequency; // 0x1b4 - // MPropertyFriendlyName "oscillation field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1b8 - // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x1bc - // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x1c0 -}; - -// Alignment: 15 -// Size: 0x5f0 -class C_OP_OscillateVector : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "oscillation rate min" - // MVectorIsSometimesCoordinate - Vector m_RateMin; // 0x1b0 - // MPropertyFriendlyName "oscillation rate max" - // MVectorIsSometimesCoordinate - Vector m_RateMax; // 0x1bc - // MPropertyFriendlyName "oscillation frequency min" - // MVectorIsSometimesCoordinate - Vector m_FrequencyMin; // 0x1c8 - // MPropertyFriendlyName "oscillation frequency max" - // MVectorIsSometimesCoordinate - Vector m_FrequencyMax; // 0x1d4 - // MPropertyFriendlyName "oscillation field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nField; // 0x1e0 - // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x1e4 - // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x1e5 - // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x1e6 private: - [[maybe_unused]] uint8_t __pad01e7[0x1]; // 0x1e7 -public: - // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1e8 - // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1ec - // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x1f0 - // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x1f4 - // MPropertyFriendlyName "oscillation multiplier" - CPerParticleFloatInput m_flOscMult; // 0x1f8 - // MPropertyFriendlyName "oscillation start phase" - CPerParticleFloatInput m_flOscAdd; // 0x348 - // MPropertyFriendlyName "rate scale" - CPerParticleFloatInput m_flRateScale; // 0x498 -}; - -// Alignment: 6 -// Size: 0x1e0 -class C_OP_OscillateVectorSimple : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "oscillation rate" - // MVectorIsSometimesCoordinate - Vector m_Rate; // 0x1b0 - // MPropertyFriendlyName "oscillation frequency" - Vector m_Frequency; // 0x1bc - // MPropertyFriendlyName "oscillation field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nField; // 0x1c8 - // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x1cc - // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x1d0 - // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x1d4 -}; - -// Alignment: 9 -// Size: 0x1d0 -class C_OP_DifferencePreviousParticle : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 - // MPropertyFriendlyName "difference minimum" - float m_flInputMin; // 0x1b8 - // MPropertyFriendlyName "difference maximum" - float m_flInputMax; // 0x1bc - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1c0 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c4 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1c8 - // MPropertyFriendlyName "only active within specified difference" - bool m_bActiveRange; // 0x1cc - // MPropertyFriendlyName "also set ouput to previous particle" - bool m_bSetPreviousParticle; // 0x1cd -}; - -// Alignment: 2 -// Size: 0x310 -class C_OP_PointVectorAtNextParticle : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 -private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 -public: - // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1b8 -}; - -// Alignment: 6 -// Size: 0x1d0 -class C_OP_RemapScalar : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1b8 - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1bc - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1c0 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c4 -}; - -// Alignment: 6 -// Size: 0x1e0 -class C_OP_RemapDensityToVector : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1b0 - // MPropertyFriendlyName "Output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 - // MPropertyFriendlyName "Density value to map to min value" - float m_flDensityMin; // 0x1b8 - // MPropertyFriendlyName "Density value to map to max value" - float m_flDensityMax; // 0x1bc - // MPropertyFriendlyName "Output minimum" - Vector m_vecOutputMin; // 0x1c0 - // MPropertyFriendlyName "Output maximum" - Vector m_vecOutputMax; // 0x1cc -}; - -// Alignment: 6 -// Size: 0x1d0 -class C_OP_RemapScalarEndCap : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1b8 - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1bc - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1c0 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c4 -}; - -// Alignment: 3 -// Size: 0x1c0 -class C_OP_ReinitializeScalarEndCap : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 - // MPropertyFriendlyName "minimum" - float m_flOutputMin; // 0x1b4 - // MPropertyFriendlyName "maximum" - float m_flOutputMax; // 0x1b8 -}; - -// Alignment: 8 -// Size: 0x1d0 -class C_OP_RemapScalarOnceTimed : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x1b0 -private: - [[maybe_unused]] uint8_t __pad01b1[0x3]; // 0x1b1 -public: - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b4 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b8 - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1bc - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1c0 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1c4 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c8 - // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x1cc -}; - -// Alignment: 7 -// Size: 0x1d0 -class C_OP_RemapParticleCountOnScalarEndCap : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 - // MPropertyFriendlyName "input minimum" - int32_t m_nInputMin; // 0x1b4 - // MPropertyFriendlyName "input maximum" - int32_t m_nInputMax; // 0x1b8 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1bc - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c0 - // MPropertyFriendlyName "count back from last particle" - bool m_bBackwards; // 0x1c4 -private: - [[maybe_unused]] uint8_t __pad01c5[0x3]; // 0x1c5 -public: - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1c8 -}; - -// Alignment: 7 -// Size: 0x700 -class C_OP_RemapParticleCountToScalar : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 -private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 -public: - // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_nInputMin; // 0x1b8 - // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_nInputMax; // 0x308 - // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x458 - // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5a8 - // MPropertyFriendlyName - bool m_bActiveRange; // 0x6f8 -private: - [[maybe_unused]] uint8_t __pad06f9[0x3]; // 0x6f9 -public: - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x6fc -}; - -// Alignment: 7 -// Size: 0x1d0 -class C_OP_RemapVisibilityScalar : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 - // MPropertyFriendlyName "visibility minimum" - float m_flInputMin; // 0x1b8 - // MPropertyFriendlyName "visibility maximum" - float m_flInputMax; // 0x1bc - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1c0 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c4 - // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x1c8 -}; - -// Alignment: 8 -// Size: 0x240 -class C_OP_RemapTransformVisibilityToScalar : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1b0 -private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 -public: - // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1b8 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x220 - // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x224 - // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x228 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x22c - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x230 - // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x234 -}; - -// Alignment: 8 -// Size: 0x250 -class C_OP_RemapTransformVisibilityToVector : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1b0 -private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 -public: - // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1b8 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x220 - // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x224 - // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x228 - // MPropertyFriendlyName "output minimum" - Vector m_vecOutputMin; // 0x22c - // MPropertyFriendlyName "output maximum" - Vector m_vecOutputMax; // 0x238 - // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x244 -}; - -// Alignment: 4 -// Size: 0x310 -class C_OP_LerpScalar : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 -private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 -public: - // MPropertyFriendlyName "value to lerp to" - CPerParticleFloatInput m_flOutput; // 0x1b8 - // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x308 - // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x30c -}; - -// Alignment: 3 -// Size: 0x1c0 -class C_OP_LerpEndCapScalar : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 - // MPropertyFriendlyName "value to lerp to" - float m_flOutput; // 0x1b4 - // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x1b8 -}; - -// Alignment: 3 -// Size: 0x1d0 -class C_OP_LerpEndCapVector : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 - // MPropertyFriendlyName "value to lerp to" - // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x1b4 - // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x1c0 -}; - -// Alignment: 5 -// Size: 0x1d0 -class C_OP_LerpVector : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 - // MPropertyFriendlyName "value to lerp to" - // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x1b4 - // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1c0 - // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1c4 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1c8 -}; - -// Alignment: 4 -// Size: 0x330 -class C_OP_LerpToOtherAttribute : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1b0 - // MPropertyFriendlyName "input attribute from" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInputFrom; // 0x300 - // MPropertyFriendlyName "input attribute to" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x304 - // MPropertyFriendlyName "output attribute" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x308 -}; - -// Alignment: 7 -// Size: 0x1d0 -class C_OP_RemapSpeed : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1b4 - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1b8 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1bc - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c0 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1c4 - // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDelta; // 0x1c8 -}; - -// Alignment: 3 -// Size: 0x1c0 -class C_OP_RemapVectortoCP : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1b0 - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b4 - // MPropertyFriendlyName "particle number to read" - int32_t m_nParticleNumber; // 0x1b8 -}; - -// Alignment: 8 -// Size: 0x200 -class C_OP_RampScalarLinear : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x1b0 - // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x1b4 - // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1b8 - // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1bc - // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x1c0 - // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x1c4 -private: - [[maybe_unused]] uint8_t __pad01c8[0x28]; // 0x1c8 + [[maybe_unused]] uint8_t __pad01d8[0x28]; // 0x1d8 public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1f0 + ParticleAttributeIndex_t m_nField; // 0x200 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x1f4 + bool m_bProportionalOp; // 0x204 }; // Alignment: 10 -// Size: 0x200 +// Size: 0x210 class C_OP_RampScalarSpline : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x1b0 + float m_RateMin; // 0x1c0 // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x1b4 + float m_RateMax; // 0x1c4 // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1b8 + float m_flStartTime_min; // 0x1c8 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1bc + float m_flStartTime_max; // 0x1cc // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x1c0 + float m_flEndTime_min; // 0x1d0 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x1c4 + float m_flEndTime_max; // 0x1d4 // MPropertyFriendlyName "bias" - float m_flBias; // 0x1c8 + float m_flBias; // 0x1d8 +private: + [[maybe_unused]] uint8_t __pad01dc[0x24]; // 0x1dc +public: + // MPropertyFriendlyName "ramp field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nField; // 0x200 + // MPropertyFriendlyName "start/end proportional" + bool m_bProportionalOp; // 0x204 + // MPropertyFriendlyName "ease out" + bool m_bEaseOut; // 0x205 +}; + +// Alignment: 4 +// Size: 0x200 +class C_OP_RampScalarLinearSimple : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "ramp rate" + float m_Rate; // 0x1c0 + // MPropertyFriendlyName "start time" + float m_flStartTime; // 0x1c4 + // MPropertyFriendlyName "end time" + float m_flEndTime; // 0x1c8 private: [[maybe_unused]] uint8_t __pad01cc[0x24]; // 0x1cc public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" ParticleAttributeIndex_t m_nField; // 0x1f0 - // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x1f4 - // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x1f5 -}; - -// Alignment: 4 -// Size: 0x1f0 -class C_OP_RampScalarLinearSimple : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x1b0 - // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1b4 - // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1b8 -private: - [[maybe_unused]] uint8_t __pad01bc[0x24]; // 0x1bc -public: - // MPropertyFriendlyName "ramp field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1e0 }; // Alignment: 5 -// Size: 0x1f0 +// Size: 0x200 class C_OP_RampScalarSplineSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x1b0 + float m_Rate; // 0x1c0 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1b4 + float m_flStartTime; // 0x1c4 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1b8 + float m_flEndTime; // 0x1c8 private: - [[maybe_unused]] uint8_t __pad01bc[0x24]; // 0x1bc + [[maybe_unused]] uint8_t __pad01cc[0x24]; // 0x1cc public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1e0 + ParticleAttributeIndex_t m_nField; // 0x1f0 // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x1e4 + bool m_bEaseOut; // 0x1f4 }; // Alignment: 10 -// Size: 0x1380 +// Size: 0x13f0 class C_OP_ChladniWave : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "wave minimum" - CPerParticleFloatInput m_flInputMin; // 0x1b8 + CPerParticleFloatInput m_flInputMin; // 0x1c8 // MPropertyFriendlyName "wave maximum" - CPerParticleFloatInput m_flInputMax; // 0x308 + CPerParticleFloatInput m_flInputMax; // 0x320 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x458 + CPerParticleFloatInput m_flOutputMin; // 0x478 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a8 + CPerParticleFloatInput m_flOutputMax; // 0x5d0 // MPropertyFriendlyName "wave length" - CPerParticleVecInput m_vecWaveLength; // 0x6f8 + CPerParticleVecInput m_vecWaveLength; // 0x728 // MPropertyFriendlyName "harmonics" - CPerParticleVecInput m_vecHarmonics; // 0xd30 + CPerParticleVecInput m_vecHarmonics; // 0xd80 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1368 + ParticleSetMethod_t m_nSetMethod; // 0x13d8 // MPropertyFriendlyName "local space control point" - int32_t m_nLocalSpaceControlPoint; // 0x136c + int32_t m_nLocalSpaceControlPoint; // 0x13dc // MPropertyFriendlyName "3D" - bool m_b3D; // 0x1370 + bool m_b3D; // 0x13e0 }; // Alignment: 6 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_Noise : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1b4 + float m_flOutputMin; // 0x1c4 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1b8 - // MPropertyFriendlyName "noise coordinate scale" - float m_fl4NoiseScale; // 0x1bc - // MPropertyFriendlyName "additive" - bool m_bAdditive; // 0x1c0 -private: - [[maybe_unused]] uint8_t __pad01c1[0x3]; // 0x1c1 -public: - // MPropertyFriendlyName "Noise animation time scale" - float m_flNoiseAnimationTimeScale; // 0x1c4 -}; - -// Alignment: 7 -// Size: 0x1e0 -class C_OP_VectorNoise : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 - // MPropertyFriendlyName "output minimum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1b4 - // MPropertyFriendlyName "output maximum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x1c0 + float m_flOutputMax; // 0x1c8 // MPropertyFriendlyName "noise coordinate scale" float m_fl4NoiseScale; // 0x1cc // MPropertyFriendlyName "additive" bool m_bAdditive; // 0x1d0 - // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x1d1 private: - [[maybe_unused]] uint8_t __pad01d2[0x2]; // 0x1d2 + [[maybe_unused]] uint8_t __pad01d1[0x3]; // 0x1d1 public: // MPropertyFriendlyName "Noise animation time scale" float m_flNoiseAnimationTimeScale; // 0x1d4 }; +// Alignment: 7 +// Size: 0x1f0 +class C_OP_VectorNoise : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 + // MPropertyFriendlyName "output minimum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMin; // 0x1c4 + // MPropertyFriendlyName "output maximum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMax; // 0x1d0 + // MPropertyFriendlyName "noise coordinate scale" + float m_fl4NoiseScale; // 0x1dc + // MPropertyFriendlyName "additive" + bool m_bAdditive; // 0x1e0 + // MPropertyFriendlyName "offset instead of accelerate position" + bool m_bOffset; // 0x1e1 +private: + [[maybe_unused]] uint8_t __pad01e2[0x2]; // 0x1e2 +public: + // MPropertyFriendlyName "Noise animation time scale" + float m_flNoiseAnimationTimeScale; // 0x1e4 +}; + // Alignment: 2 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_Decay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Reduce rope popping on decay" - bool m_bRopeDecay; // 0x1b0 + bool m_bRopeDecay; // 0x1c0 // MPropertyFriendlyName "force preserving particle order" - bool m_bForcePreserveParticleOrder; // 0x1b1 + bool m_bForcePreserveParticleOrder; // 0x1c1 }; // Alignment: 1 -// Size: 0x300 +// Size: 0x320 class C_OP_DecayOffscreen : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Offscreen Time Before Decay" - CParticleCollectionFloatInput m_flOffscreenTime; // 0x1b0 + CParticleCollectionFloatInput m_flOffscreenTime; // 0x1c0 }; // Alignment: 1 -// Size: 0x300 +// Size: 0x320 class C_OP_EndCapTimedFreeze : public CParticleFunctionOperator { public: // MPropertyFriendlyName "freeze time" - CParticleCollectionFloatInput m_flFreezeTime; // 0x1b0 + CParticleCollectionFloatInput m_flFreezeTime; // 0x1c0 }; // Alignment: 1 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_EndCapTimedDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "decay time" - float m_flDecayTime; // 0x1b0 + float m_flDecayTime; // 0x1c0 }; // Alignment: 0 -// Size: 0x1b0 +// Size: 0x1c0 class C_OP_EndCapDecay : public CParticleFunctionOperator { public: @@ -6894,96 +6249,96 @@ public: }; // Alignment: 1 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_VelocityDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum velocity" - float m_flMinVelocity; // 0x1b0 + float m_flMinVelocity; // 0x1c0 }; // Alignment: 1 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_AlphaDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum alpha" - float m_flMinAlpha; // 0x1b0 + float m_flMinAlpha; // 0x1c0 }; // Alignment: 1 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_RadiusDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum radius" - float m_flMinRadius; // 0x1b0 + float m_flMinRadius; // 0x1c0 }; // Alignment: 6 -// Size: 0x320 +// Size: 0x330 class C_OP_DecayMaintainCount : public CParticleFunctionOperator { public: // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x1b0 + int32_t m_nParticlesToMaintain; // 0x1c0 // MPropertyFriendlyName "decay delay" - float m_flDecayDelay; // 0x1b4 + float m_flDecayDelay; // 0x1c4 // MPropertyFriendlyName "snapshot control point for count" - int32_t m_nSnapshotControlPoint; // 0x1b8 + int32_t m_nSnapshotControlPoint; // 0x1c8 // MPropertyFriendlyName "decay on lifespan" - bool m_bLifespanDecay; // 0x1bc + bool m_bLifespanDecay; // 0x1cc private: - [[maybe_unused]] uint8_t __pad01bd[0x3]; // 0x1bd + [[maybe_unused]] uint8_t __pad01cd[0x3]; // 0x1cd public: // MPropertyFriendlyName "total count scale" - CParticleCollectionFloatInput m_flScale; // 0x1c0 + CParticleCollectionFloatInput m_flScale; // 0x1d0 // MPropertyFriendlyName "kill newest instead of oldest" - bool m_bKillNewest; // 0x310 + bool m_bKillNewest; // 0x328 }; // Alignment: 1 -// Size: 0x300 +// Size: 0x320 class C_OP_DecayClampCount : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Maximum Count" - CParticleCollectionFloatInput m_nCount; // 0x1b0 + CParticleCollectionFloatInput m_nCount; // 0x1c0 }; // Alignment: 4 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_Cull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "cull percentage" - float m_flCullPerc; // 0x1b0 + float m_flCullPerc; // 0x1c0 // MPropertyFriendlyName "cull start time" - float m_flCullStart; // 0x1b4 + float m_flCullStart; // 0x1c4 // MPropertyFriendlyName "cull end time" - float m_flCullEnd; // 0x1b8 + float m_flCullEnd; // 0x1c8 // MPropertyFriendlyName "cull time exponent" - float m_flCullExp; // 0x1bc + float m_flCullExp; // 0x1cc }; // Alignment: 3 -// Size: 0x1d0 +// Size: 0x1e0 class CGeneralSpin : public CParticleFunctionOperator { public: // MPropertyFriendlyName "spin rate degrees" - int32_t m_nSpinRateDegrees; // 0x1b0 + int32_t m_nSpinRateDegrees; // 0x1c0 // MPropertyFriendlyName "spin rate min" - int32_t m_nSpinRateMinDegrees; // 0x1b4 + int32_t m_nSpinRateMinDegrees; // 0x1c4 private: - [[maybe_unused]] uint8_t __pad01b8[0x4]; // 0x1b8 + [[maybe_unused]] uint8_t __pad01c8[0x4]; // 0x1c8 public: // MPropertyFriendlyName "spin stop time" - float m_fSpinRateStopTime; // 0x1bc + float m_fSpinRateStopTime; // 0x1cc }; // Alignment: 0 -// Size: 0x1b0 +// Size: 0x1c0 class CSpinUpdateBase : public CParticleFunctionOperator { public: @@ -6991,7 +6346,7 @@ public: }; // Alignment: 0 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_Spin : public CGeneralSpin { public: @@ -6999,7 +6354,7 @@ public: }; // Alignment: 0 -// Size: 0x1b0 +// Size: 0x1c0 class C_OP_SpinUpdate : public CSpinUpdateBase { public: @@ -7007,7 +6362,7 @@ public: }; // Alignment: 0 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_SpinYaw : public CGeneralSpin { public: @@ -7015,520 +6370,474 @@ public: }; // Alignment: 6 -// Size: 0x200 +// Size: 0x210 class C_OP_InterpolateRadius : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1b0 + float m_flStartTime; // 0x1c0 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1b4 + float m_flEndTime; // 0x1c4 // MPropertyFriendlyName "radius start scale" - float m_flStartScale; // 0x1b8 + float m_flStartScale; // 0x1c8 // MPropertyFriendlyName "radius end scale" - float m_flEndScale; // 0x1bc + float m_flEndScale; // 0x1cc // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x1c0 + bool m_bEaseInAndOut; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01c1[0x3]; // 0x1c1 + [[maybe_unused]] uint8_t __pad01d1[0x3]; // 0x1d1 public: // MPropertyFriendlyName "scale bias" - float m_flBias; // 0x1c4 + float m_flBias; // 0x1d4 }; // Alignment: 5 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_ColorInterpolate : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color fade" - Color m_ColorFade; // 0x1b0 + Color m_ColorFade; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0xc]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0xc]; // 0x1c4 public: // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x1c0 + float m_flFadeStartTime; // 0x1d0 // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x1c4 + float m_flFadeEndTime; // 0x1d4 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1c8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1d8 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x1cc + bool m_bEaseInOut; // 0x1dc }; // Alignment: 6 -// Size: 0x1f0 +// Size: 0x200 class C_OP_ColorInterpolateRandom : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color fade min" - Color m_ColorFadeMin; // 0x1b0 + Color m_ColorFadeMin; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x18]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x18]; // 0x1c4 public: // MPropertyFriendlyName "color fade max" - Color m_ColorFadeMax; // 0x1cc + Color m_ColorFadeMax; // 0x1dc private: - [[maybe_unused]] uint8_t __pad01d0[0xc]; // 0x1d0 + [[maybe_unused]] uint8_t __pad01e0[0xc]; // 0x1e0 public: // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x1dc + float m_flFadeStartTime; // 0x1ec // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x1e0 + float m_flFadeEndTime; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1e4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x1e8 + bool m_bEaseInOut; // 0x1f8 }; // Alignment: 15 -// Size: 0x9e0 +// Size: 0xa10 class C_OP_PositionLock : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1b0 + CParticleTransformInput m_TransformInput; // 0x1c0 // MPropertyFriendlyName "start fadeout min" - float m_flStartTime_min; // 0x218 + float m_flStartTime_min; // 0x228 // MPropertyFriendlyName "start fadeout max" - float m_flStartTime_max; // 0x21c + float m_flStartTime_max; // 0x22c // MPropertyFriendlyName "start fadeout exponent" - float m_flStartTime_exp; // 0x220 + float m_flStartTime_exp; // 0x230 // MPropertyFriendlyName "end fadeout min" - float m_flEndTime_min; // 0x224 + float m_flEndTime_min; // 0x234 // MPropertyFriendlyName "end fadeout max" - float m_flEndTime_max; // 0x228 + float m_flEndTime_max; // 0x238 // MPropertyFriendlyName "end fadeout exponent" - float m_flEndTime_exp; // 0x22c + float m_flEndTime_exp; // 0x23c // MPropertyFriendlyName "distance fade range" - float m_flRange; // 0x230 + float m_flRange; // 0x240 private: - [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 + [[maybe_unused]] uint8_t __pad0244[0x4]; // 0x244 public: // MPropertyFriendlyName "distance fade bias" - CParticleCollectionFloatInput m_flRangeBias; // 0x238 + CParticleCollectionFloatInput m_flRangeBias; // 0x248 // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x388 + float m_flJumpThreshold; // 0x3a0 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x38c + float m_flPrevPosScale; // 0x3a4 // MPropertyFriendlyName "lock rotation" - bool m_bLockRot; // 0x390 + bool m_bLockRot; // 0x3a8 private: - [[maybe_unused]] uint8_t __pad0391[0x7]; // 0x391 + [[maybe_unused]] uint8_t __pad03a9[0x7]; // 0x3a9 public: // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x398 + CParticleCollectionVecInput m_vecScale; // 0x3b0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x9d0 + ParticleAttributeIndex_t m_nFieldOutput; // 0xa08 // MPropertyFriendlyName "output field prev" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x9d4 + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0xa0c }; // Alignment: 33 -// Size: 0x700 +// Size: 0x710 class C_OP_ControlpointLight : public CParticleFunctionOperator { public: // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x1b0 + float m_flScale; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4cc]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4cc]; // 0x1c4 public: // MPropertyFriendlyName "light 1 control point" - int32_t m_nControlPoint1; // 0x680 + int32_t m_nControlPoint1; // 0x690 // MPropertyFriendlyName "light 2 control point" - int32_t m_nControlPoint2; // 0x684 + int32_t m_nControlPoint2; // 0x694 // MPropertyFriendlyName "light 3 control point" - int32_t m_nControlPoint3; // 0x688 + int32_t m_nControlPoint3; // 0x698 // MPropertyFriendlyName "light 4 control point" - int32_t m_nControlPoint4; // 0x68c + int32_t m_nControlPoint4; // 0x69c // MPropertyFriendlyName "light 1 control point offset" - Vector m_vecCPOffset1; // 0x690 + Vector m_vecCPOffset1; // 0x6a0 // MPropertyFriendlyName "light 2 control point offset" - Vector m_vecCPOffset2; // 0x69c + Vector m_vecCPOffset2; // 0x6ac // MPropertyFriendlyName "light 3 control point offset" - Vector m_vecCPOffset3; // 0x6a8 + Vector m_vecCPOffset3; // 0x6b8 // MPropertyFriendlyName "light 4 control point offset" - Vector m_vecCPOffset4; // 0x6b4 + Vector m_vecCPOffset4; // 0x6c4 // MPropertyFriendlyName "light 1 50% distance" - float m_LightFiftyDist1; // 0x6c0 + float m_LightFiftyDist1; // 0x6d0 // MPropertyFriendlyName "light 1 0% distance" - float m_LightZeroDist1; // 0x6c4 + float m_LightZeroDist1; // 0x6d4 // MPropertyFriendlyName "light 2 50% distance" - float m_LightFiftyDist2; // 0x6c8 + float m_LightFiftyDist2; // 0x6d8 // MPropertyFriendlyName "light 2 0% distance" - float m_LightZeroDist2; // 0x6cc + float m_LightZeroDist2; // 0x6dc // MPropertyFriendlyName "light 3 50% distance" - float m_LightFiftyDist3; // 0x6d0 + float m_LightFiftyDist3; // 0x6e0 // MPropertyFriendlyName "light 3 0% distance" - float m_LightZeroDist3; // 0x6d4 + float m_LightZeroDist3; // 0x6e4 // MPropertyFriendlyName "light 4 50% distance" - float m_LightFiftyDist4; // 0x6d8 + float m_LightFiftyDist4; // 0x6e8 // MPropertyFriendlyName "light 4 0% distance" - float m_LightZeroDist4; // 0x6dc + float m_LightZeroDist4; // 0x6ec // MPropertyFriendlyName "light 1 color" - Color m_LightColor1; // 0x6e0 + Color m_LightColor1; // 0x6f0 // MPropertyFriendlyName "light 2 color" - Color m_LightColor2; // 0x6e4 + Color m_LightColor2; // 0x6f4 // MPropertyFriendlyName "light 3 color" - Color m_LightColor3; // 0x6e8 + Color m_LightColor3; // 0x6f8 // MPropertyFriendlyName "light 4 color" - Color m_LightColor4; // 0x6ec + Color m_LightColor4; // 0x6fc // MPropertyFriendlyName "light 1 type 0=point 1=spot" - bool m_bLightType1; // 0x6f0 + bool m_bLightType1; // 0x700 // MPropertyFriendlyName "light 2 type 0=point 1=spot" - bool m_bLightType2; // 0x6f1 + bool m_bLightType2; // 0x701 // MPropertyFriendlyName "light 3 type 0=point 1=spot" - bool m_bLightType3; // 0x6f2 + bool m_bLightType3; // 0x702 // MPropertyFriendlyName "light 4 type 0=point 1=spot" - bool m_bLightType4; // 0x6f3 + bool m_bLightType4; // 0x703 // MPropertyFriendlyName "light 1 dynamic light" - bool m_bLightDynamic1; // 0x6f4 + bool m_bLightDynamic1; // 0x704 // MPropertyFriendlyName "light 2 dynamic light" - bool m_bLightDynamic2; // 0x6f5 + bool m_bLightDynamic2; // 0x705 // MPropertyFriendlyName "light 3 dynamic light" - bool m_bLightDynamic3; // 0x6f6 + bool m_bLightDynamic3; // 0x706 // MPropertyFriendlyName "light 4 dynamic light" - bool m_bLightDynamic4; // 0x6f7 + bool m_bLightDynamic4; // 0x707 // MPropertyFriendlyName "compute normals from control points" - bool m_bUseNormal; // 0x6f8 + bool m_bUseNormal; // 0x708 // MPropertyFriendlyName "half-lambert normals" - bool m_bUseHLambert; // 0x6f9 + bool m_bUseHLambert; // 0x709 private: - [[maybe_unused]] uint8_t __pad06fa[0x4]; // 0x6fa + [[maybe_unused]] uint8_t __pad070a[0x4]; // 0x70a public: // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x6fe + bool m_bClampLowerRange; // 0x70e // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x6ff + bool m_bClampUpperRange; // 0x70f }; // Alignment: 3 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_GlobalLight : public CParticleFunctionOperator { public: // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x1b0 + float m_flScale; // 0x1c0 // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x1b4 + bool m_bClampLowerRange; // 0x1c4 // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x1b5 + bool m_bClampUpperRange; // 0x1c5 }; // Alignment: 6 -// Size: 0x320 +// Size: 0x330 class C_OP_SetChildControlPoints : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1b0 + int32_t m_nChildGroupID; // 0x1c0 // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x1b4 + int32_t m_nFirstControlPoint; // 0x1c4 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x1b8 + int32_t m_nNumControlPoints; // 0x1c8 private: - [[maybe_unused]] uint8_t __pad01bc[0x4]; // 0x1bc + [[maybe_unused]] uint8_t __pad01cc[0x4]; // 0x1cc public: // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x1c0 + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x1d0 // MPropertyFriendlyName "start as last particle" - bool m_bReverse; // 0x310 + bool m_bReverse; // 0x328 // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x311 + bool m_bSetOrientation; // 0x329 }; // Alignment: 7 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_SetControlPointsToParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1b0 + int32_t m_nChildGroupID; // 0x1c0 // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x1b4 + int32_t m_nFirstControlPoint; // 0x1c4 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x1b8 + int32_t m_nNumControlPoints; // 0x1c8 // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x1bc + int32_t m_nFirstSourcePoint; // 0x1cc // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x1c0 + bool m_bSetOrientation; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01c1[0x3]; // 0x1c1 + [[maybe_unused]] uint8_t __pad01d1[0x3]; // 0x1d1 public: // MPropertyFriendlyName "orientation style" - ParticleOrientationSetMode_t m_nOrientationMode; // 0x1c4 + ParticleOrientationSetMode_t m_nOrientationMode; // 0x1d4 // MPropertyFriendlyName "set parent" - ParticleParentSetMode_t m_nSetParent; // 0x1c8 + ParticleParentSetMode_t m_nSetParent; // 0x1d8 }; // Alignment: 7 -// Size: 0x2c0 +// Size: 0x2d0 class C_OP_SetControlPointsToModelParticles : public CParticleFunctionOperator { public: // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1b0 + char m_HitboxSetName[128]; // 0x1c0 // MPropertyFriendlyName "attachment to follow" - char m_AttachmentName[128]; // 0x230 + char m_AttachmentName[128]; // 0x240 // MPropertyFriendlyName "First control point to set" - int32_t m_nFirstControlPoint; // 0x2b0 + int32_t m_nFirstControlPoint; // 0x2c0 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x2b4 + int32_t m_nNumControlPoints; // 0x2c4 // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x2b8 + int32_t m_nFirstSourcePoint; // 0x2c8 // MPropertyFriendlyName "use skinning instead of hitboxes" - bool m_bSkin; // 0x2bc + bool m_bSkin; // 0x2cc // MPropertyFriendlyName "follow attachment" - bool m_bAttachment; // 0x2bd + bool m_bAttachment; // 0x2cd }; // Alignment: 8 -// Size: 0x470 +// Size: 0x490 class C_OP_SetPerChildControlPoint : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1b0 + int32_t m_nChildGroupID; // 0x1c0 // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1b4 + int32_t m_nFirstControlPoint; // 0x1c4 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x1b8 + int32_t m_nNumControlPoints; // 0x1c8 private: - [[maybe_unused]] uint8_t __pad01bc[0x4]; // 0x1bc + [[maybe_unused]] uint8_t __pad01cc[0x4]; // 0x1cc public: // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_nParticleIncrement; // 0x1c0 + CParticleCollectionFloatInput m_nParticleIncrement; // 0x1d0 // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x310 + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x328 // MPropertyFriendlyName "set orientation from velocity" - bool m_bSetOrientation; // 0x460 + bool m_bSetOrientation; // 0x480 private: - [[maybe_unused]] uint8_t __pad0461[0x3]; // 0x461 + [[maybe_unused]] uint8_t __pad0481[0x3]; // 0x481 public: // MPropertyFriendlyName "orientation vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOrientationField; // 0x464 + ParticleAttributeIndex_t m_nOrientationField; // 0x484 // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x468 + bool m_bNumBasedOnParticleCount; // 0x488 }; // Alignment: 8 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_SetPerChildControlPointFromAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1b0 + int32_t m_nChildGroupID; // 0x1c0 // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1b4 + int32_t m_nFirstControlPoint; // 0x1c4 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x1b8 + int32_t m_nNumControlPoints; // 0x1c8 // MPropertyFriendlyName "particle increment amount" - int32_t m_nParticleIncrement; // 0x1bc + int32_t m_nParticleIncrement; // 0x1cc // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x1c0 + int32_t m_nFirstSourcePoint; // 0x1d0 // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x1c4 + bool m_bNumBasedOnParticleCount; // 0x1d4 private: - [[maybe_unused]] uint8_t __pad01c5[0x3]; // 0x1c5 + [[maybe_unused]] uint8_t __pad01d5[0x3]; // 0x1d5 public: // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x1c8 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x1d8 // MPropertyFriendlyName "control point field for scalars" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x1cc + int32_t m_nCPField; // 0x1dc }; // Alignment: 4 -// Size: 0x230 +// Size: 0x240 class C_OP_RemapTransformOrientationToYaw : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1b0 + CParticleTransformInput m_TransformInput; // 0x1c0 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x218 + ParticleAttributeIndex_t m_nFieldOutput; // 0x228 // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x21c + float m_flRotOffset; // 0x22c // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x220 + float m_flSpinStrength; // 0x230 }; // Alignment: 3 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_DampenToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 // MPropertyFriendlyName "falloff range" - float m_flRange; // 0x1b4 + float m_flRange; // 0x1c4 // MPropertyFriendlyName "dampen scale" - float m_flScale; // 0x1b8 + float m_flScale; // 0x1c8 }; // Alignment: 3 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_SetToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 // MPropertyFriendlyName "offset" - Vector m_vecOffset; // 0x1b4 + Vector m_vecOffset; // 0x1c4 // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x1c0 + bool m_bOffsetLocal; // 0x1d0 }; -// Alignment: 12 -// Size: 0xea0 +// Alignment: 13 +// Size: 0x1050 class C_OP_PinParticleToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "offset" - CParticleCollectionVecInput m_vecOffset; // 0x1b8 + CParticleCollectionVecInput m_vecOffset; // 0x1c8 // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x7f0 + bool m_bOffsetLocal; // 0x820 private: - [[maybe_unused]] uint8_t __pad07f1[0x3]; // 0x7f1 + [[maybe_unused]] uint8_t __pad0821[0x3]; // 0x821 public: // MPropertyFriendlyName "particle to use" - ParticleSelection_t m_nParticleSelection; // 0x7f4 + ParticleSelection_t m_nParticleSelection; // 0x824 // MPropertyFriendlyName "particle number/offset" - CParticleCollectionFloatInput m_nParticleNumber; // 0x7f8 + CParticleCollectionFloatInput m_nParticleNumber; // 0x828 // MPropertyFriendlyName "pin break type" - ParticlePinDistance_t m_nPinBreakType; // 0x948 + ParticlePinDistance_t m_nPinBreakType; // 0x980 private: - [[maybe_unused]] uint8_t __pad094c[0x4]; // 0x94c + [[maybe_unused]] uint8_t __pad0984[0x4]; // 0x984 public: // MPropertyFriendlyName "break length %" - CParticleCollectionFloatInput m_flBreakDistance; // 0x950 + CParticleCollectionFloatInput m_flBreakDistance; // 0x988 // MPropertyFriendlyName "break speed" - CParticleCollectionFloatInput m_flBreakSpeed; // 0xaa0 + CParticleCollectionFloatInput m_flBreakSpeed; // 0xae0 // MPropertyFriendlyName "break age" - CParticleCollectionFloatInput m_flAge; // 0xbf0 + CParticleCollectionFloatInput m_flAge; // 0xc38 // MPropertyFriendlyName "break comparison control point 1" - int32_t m_nBreakControlPointNumber; // 0xd40 + int32_t m_nBreakControlPointNumber; // 0xd90 // MPropertyFriendlyName "break comparison control point 2" - int32_t m_nBreakControlPointNumber2; // 0xd44 + int32_t m_nBreakControlPointNumber2; // 0xd94 + // MPropertyFriendlyName "break value" + CParticleCollectionFloatInput m_flBreakValue; // 0xd98 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0xd48 + CPerParticleFloatInput m_flInterpolation; // 0xef0 }; // Alignment: 6 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_MovementRigidAttachToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 // MPropertyFriendlyName "scale control point number" - int32_t m_nScaleControlPoint; // 0x1b4 + int32_t m_nScaleControlPoint; // 0x1c4 // MPropertyFriendlyName "scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleCPField; // 0x1b8 + int32_t m_nScaleCPField; // 0x1c8 // MPropertyFriendlyName "cache attribute to read from" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1bc + ParticleAttributeIndex_t m_nFieldInput; // 0x1cc // MPropertyFriendlyName "attribute to write to" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1d0 // MPropertyFriendlyName "local space" - bool m_bOffsetLocal; // 0x1c4 + bool m_bOffsetLocal; // 0x1d4 }; // Alignment: 5 -// Size: 0xaa0 +// Size: 0xae0 class C_OP_LerpToInitialPosition : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1b8 + CPerParticleFloatInput m_flInterpolation; // 0x1c8 // MPropertyFriendlyName "position cache attribute" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nCacheField; // 0x308 + ParticleAttributeIndex_t m_nCacheField; // 0x320 private: - [[maybe_unused]] uint8_t __pad030c[0x4]; // 0x30c + [[maybe_unused]] uint8_t __pad0324[0x4]; // 0x324 public: // MPropertyFriendlyName "scale" - CParticleCollectionFloatInput m_flScale; // 0x310 + CParticleCollectionFloatInput m_flScale; // 0x328 // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x460 + CParticleCollectionVecInput m_vecScale; // 0x480 }; // Alignment: 13 -// Size: 0x860 +// Size: 0x890 class C_OP_DistanceBetweenTransforms : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 -private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 -public: - // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x1b8 - // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x220 - // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x288 - // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x3d8 - // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x528 - // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x678 - // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x7c8 - // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x7cc - // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x7d0 - // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x850 - // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x854 -private: - [[maybe_unused]] uint8_t __pad0855[0x3]; // 0x855 -public: - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x858 -}; - -// Alignment: 10 -// Size: 0x2a0 -class C_OP_PercentageBetweenTransforms : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 - // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1b4 - // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1b8 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1bc - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: @@ -7536,32 +6845,47 @@ public: CParticleTransformInput m_TransformStart; // 0x1c8 // MPropertyFriendlyName "end transform" CParticleTransformInput m_TransformEnd; // 0x230 + // MPropertyFriendlyName "distance minimum" + CPerParticleFloatInput m_flInputMin; // 0x298 + // MPropertyFriendlyName "distance maximum" + CPerParticleFloatInput m_flInputMax; // 0x3f0 + // MPropertyFriendlyName "output minimum" + CPerParticleFloatInput m_flOutputMin; // 0x548 + // MPropertyFriendlyName "output maximum" + CPerParticleFloatInput m_flOutputMax; // 0x6a0 + // MPropertyFriendlyName "maximum trace length" + float m_flMaxTraceLength; // 0x7f8 + // MPropertyFriendlyName "LOS Failure Scalar" + float m_flLOSScale; // 0x7fc + // MPropertyFriendlyName "LOS collision group" + char m_CollisionGroupName[128]; // 0x800 + // MPropertyFriendlyName "Trace Set" + ParticleTraceSet_t m_nTraceSet; // 0x880 + // MPropertyFriendlyName "ensure line of sight" + bool m_bLOS; // 0x884 +private: + [[maybe_unused]] uint8_t __pad0885[0x3]; // 0x885 +public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x298 - // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x29c - // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x29d + ParticleSetMethod_t m_nSetMethod; // 0x888 }; // Alignment: 10 // Size: 0x2b0 -class C_OP_PercentageBetweenTransformsVector : public CParticleFunctionOperator +class C_OP_PercentageBetweenTransforms : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1b4 + float m_flInputMin; // 0x1c4 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1b8 + float m_flInputMax; // 0x1c8 // MPropertyFriendlyName "output minimum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1bc + float m_flOutputMin; // 0x1cc // MPropertyFriendlyName "output maximum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x1c8 + float m_flOutputMax; // 0x1d0 private: [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 public: @@ -7577,1732 +6901,895 @@ public: 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; // 0x1c0 + // MPropertyFriendlyName "percentage minimum" + float m_flInputMin; // 0x1c4 + // MPropertyFriendlyName "percentage maximum" + float m_flInputMax; // 0x1c8 + // MPropertyFriendlyName "output minimum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMin; // 0x1cc + // MPropertyFriendlyName "output maximum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMax; // 0x1d8 +private: + [[maybe_unused]] uint8_t __pad01e4[0x4]; // 0x1e4 +public: + // MPropertyFriendlyName "strarting transform" + CParticleTransformInput m_TransformStart; // 0x1e8 + // MPropertyFriendlyName "end transform" + CParticleTransformInput m_TransformEnd; // 0x250 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x2b8 + // MPropertyFriendlyName "only active within input range" + bool m_bActiveRange; // 0x2bc + // MPropertyFriendlyName "treat distance between points as radius" + bool m_bRadialCheck; // 0x2bd +}; + // Alignment: 12 -// Size: 0x2b0 +// Size: 0x2c0 class C_OP_PercentageBetweenTransformLerpCPs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1b4 + float m_flInputMin; // 0x1c4 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1b8 + float m_flInputMax; // 0x1c8 private: - [[maybe_unused]] uint8_t __pad01bc[0x4]; // 0x1bc + [[maybe_unused]] uint8_t __pad01cc[0x4]; // 0x1cc public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x1c0 + CParticleTransformInput m_TransformStart; // 0x1d0 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x228 + CParticleTransformInput m_TransformEnd; // 0x238 // MPropertyFriendlyName "output starting control point number" - int32_t m_nOutputStartCP; // 0x290 + int32_t m_nOutputStartCP; // 0x2a0 // MPropertyFriendlyName "output starting control point field 0-2 X/Y/Z" - int32_t m_nOutputStartField; // 0x294 + int32_t m_nOutputStartField; // 0x2a4 // MPropertyFriendlyName "output ending control point number" - int32_t m_nOutputEndCP; // 0x298 + int32_t m_nOutputEndCP; // 0x2a8 // MPropertyFriendlyName "output ending control point field 0-2 X/Y/Z" - int32_t m_nOutputEndField; // 0x29c + int32_t m_nOutputEndField; // 0x2ac // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2a0 + ParticleSetMethod_t m_nSetMethod; // 0x2b0 // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2a4 + bool m_bActiveRange; // 0x2b4 // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2a5 + bool m_bRadialCheck; // 0x2b5 }; // Alignment: 9 -// Size: 0x1370 +// Size: 0x13e0 class C_OP_DistanceBetweenVecs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x1b8 + CPerParticleVecInput m_vecPoint1; // 0x1c8 // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x7f0 + CPerParticleVecInput m_vecPoint2; // 0x820 // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0xe28 + CPerParticleFloatInput m_flInputMin; // 0xe78 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0xf78 + CPerParticleFloatInput m_flInputMax; // 0xfd0 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x10c8 + CPerParticleFloatInput m_flOutputMin; // 0x1128 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x1218 + CPerParticleFloatInput m_flOutputMax; // 0x1280 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1368 + ParticleSetMethod_t m_nSetMethod; // 0x13d8 // MPropertyFriendlyName "divide by deltatime (for comparing motion since last simulation)" - bool m_bDeltaTime; // 0x136c + bool m_bDeltaTime; // 0x13dc }; // Alignment: 3 -// Size: 0xe30 +// Size: 0xe80 class C_OP_DirectionBetweenVecsToVec : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x1b8 + CPerParticleVecInput m_vecPoint1; // 0x1c8 // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x7f0 + CPerParticleVecInput m_vecPoint2; // 0x820 }; // Alignment: 15 -// Size: 0xe30 +// Size: 0xe80 class C_OP_DistanceToTransform : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x1b8 + CPerParticleFloatInput m_flInputMin; // 0x1c8 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x308 + CPerParticleFloatInput m_flInputMax; // 0x320 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x458 + CPerParticleFloatInput m_flOutputMin; // 0x478 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a8 + CPerParticleFloatInput m_flOutputMax; // 0x5d0 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformStart; // 0x6f8 + CParticleTransformInput m_TransformStart; // 0x728 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x760 + bool m_bLOS; // 0x790 // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x761 + char m_CollisionGroupName[128]; // 0x791 private: - [[maybe_unused]] uint8_t __pad07e1[0x3]; // 0x7e1 + [[maybe_unused]] uint8_t __pad0811[0x3]; // 0x811 public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x7e4 + ParticleTraceSet_t m_nTraceSet; // 0x814 // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x7e8 + float m_flMaxTraceLength; // 0x818 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x7ec + float m_flLOSScale; // 0x81c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7f0 + ParticleSetMethod_t m_nSetMethod; // 0x820 // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x7f4 + bool m_bActiveRange; // 0x824 // MPropertyFriendlyName "output is additive" - bool m_bAdditive; // 0x7f5 + bool m_bAdditive; // 0x825 private: - [[maybe_unused]] uint8_t __pad07f6[0x2]; // 0x7f6 + [[maybe_unused]] uint8_t __pad0826[0x2]; // 0x826 public: // MPropertyFriendlyName "component scale" - CPerParticleVecInput m_vecComponentScale; // 0x7f8 + CPerParticleVecInput m_vecComponentScale; // 0x828 }; // Alignment: 11 -// Size: 0x7d0 +// Size: 0x800 class C_OP_CylindricalDistanceToTransform : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "cylinder inner radius" - CPerParticleFloatInput m_flInputMin; // 0x1b8 + CPerParticleFloatInput m_flInputMin; // 0x1c8 // MPropertyFriendlyName "cylinder outer radius" - CPerParticleFloatInput m_flInputMax; // 0x308 + CPerParticleFloatInput m_flInputMax; // 0x320 // MPropertyFriendlyName "cylinder inner output" - CPerParticleFloatInput m_flOutputMin; // 0x458 + CPerParticleFloatInput m_flOutputMin; // 0x478 // MPropertyFriendlyName "cylinder outer output" - CPerParticleFloatInput m_flOutputMax; // 0x5a8 + CPerParticleFloatInput m_flOutputMax; // 0x5d0 // MPropertyFriendlyName "cylindrical top transform" - CParticleTransformInput m_TransformStart; // 0x6f8 + CParticleTransformInput m_TransformStart; // 0x728 // MPropertyFriendlyName "cylindrical bottom transform" - CParticleTransformInput m_TransformEnd; // 0x760 + CParticleTransformInput m_TransformEnd; // 0x790 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7c8 + ParticleSetMethod_t m_nSetMethod; // 0x7f8 // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x7cc + bool m_bActiveRange; // 0x7fc // MPropertyFriendlyName "output is additive" - bool m_bAdditive; // 0x7cd + bool m_bAdditive; // 0x7fd // MPropertyFriendlyName "apply radius to ends (capsule)" - bool m_bCapsule; // 0x7ce + bool m_bCapsule; // 0x7fe }; // Alignment: 7 -// Size: 0x260 +// Size: 0x270 class C_OP_RtEnvCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "test direction" // MVectorIsCoordinate - Vector m_vecTestDir; // 0x1b0 + Vector m_vecTestDir; // 0x1c0 // MPropertyFriendlyName "cull normal" // MVectorIsCoordinate - Vector m_vecTestNormal; // 0x1bc + Vector m_vecTestNormal; // 0x1cc // MPropertyFriendlyName "cull on miss" - bool m_bCullOnMiss; // 0x1c8 + bool m_bCullOnMiss; // 0x1d8 // MPropertyFriendlyName "stick instead of cull" - bool m_bStickInsteadOfCull; // 0x1c9 + bool m_bStickInsteadOfCull; // 0x1d9 // MPropertyFriendlyName "ray trace environment name" - char m_RtEnvName[128]; // 0x1ca + char m_RtEnvName[128]; // 0x1da private: - [[maybe_unused]] uint8_t __pad024a[0x2]; // 0x24a + [[maybe_unused]] uint8_t __pad025a[0x2]; // 0x25a public: // MPropertyFriendlyName "ray trace environment cp" - int32_t m_nRTEnvCP; // 0x24c + int32_t m_nRTEnvCP; // 0x25c // MPropertyFriendlyName "rt env control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x250 + int32_t m_nComponent; // 0x260 }; // Alignment: 4 -// Size: 0x950 +// Size: 0x980 class C_OP_MovementLoopInsideSphere : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1b0 + int32_t m_nCP; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "distance maximum" - CParticleCollectionFloatInput m_flDistance; // 0x1b8 + CParticleCollectionFloatInput m_flDistance; // 0x1c8 // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x308 + CParticleCollectionVecInput m_vecScale; // 0x320 // MPropertyFriendlyName "distance squared output attribute" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDistSqrAttr; // 0x940 + ParticleAttributeIndex_t m_nDistSqrAttr; // 0x978 }; // Alignment: 9 -// Size: 0x460 +// Size: 0x480 class C_OP_MoveToHitbox : public CParticleFunctionOperator { public: // MPropertyFriendlyName "model input" - CParticleModelInput m_modelInput; // 0x1b0 + CParticleModelInput m_modelInput; // 0x1c0 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_transformInput; // 0x210 + CParticleTransformInput m_transformInput; // 0x220 private: - [[maybe_unused]] uint8_t __pad0278[0x4]; // 0x278 + [[maybe_unused]] uint8_t __pad0288[0x4]; // 0x288 public: // MPropertyFriendlyName "lifetime lerp start" - float m_flLifeTimeLerpStart; // 0x27c + float m_flLifeTimeLerpStart; // 0x28c // MPropertyFriendlyName "lifetime lerp end" - float m_flLifeTimeLerpEnd; // 0x280 + float m_flLifeTimeLerpEnd; // 0x290 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x284 + float m_flPrevPosScale; // 0x294 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x288 + char m_HitboxSetName[128]; // 0x298 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x308 + bool m_bUseBones; // 0x318 private: - [[maybe_unused]] uint8_t __pad0309[0x3]; // 0x309 + [[maybe_unused]] uint8_t __pad0319[0x3]; // 0x319 public: // MPropertyFriendlyName "lerp type" - HitboxLerpType_t m_nLerpType; // 0x30c + HitboxLerpType_t m_nLerpType; // 0x31c // MPropertyFriendlyName "Constant Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x310 + CPerParticleFloatInput m_flInterpolation; // 0x320 }; // Alignment: 15 -// Size: 0xab0 +// Size: 0xae0 class C_OP_LockToBone : public CParticleFunctionOperator { public: // MPropertyFriendlyName "model input" - CParticleModelInput m_modelInput; // 0x1b0 + CParticleModelInput m_modelInput; // 0x1c0 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_transformInput; // 0x210 + CParticleTransformInput m_transformInput; // 0x220 // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x278 + float m_flLifeTimeFadeStart; // 0x288 // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x27c + float m_flLifeTimeFadeEnd; // 0x28c // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x280 + float m_flJumpThreshold; // 0x290 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x284 + float m_flPrevPosScale; // 0x294 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x288 + char m_HitboxSetName[128]; // 0x298 // MPropertyFriendlyName "rigid lock" - bool m_bRigid; // 0x308 + bool m_bRigid; // 0x318 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x309 + bool m_bUseBones; // 0x319 private: - [[maybe_unused]] uint8_t __pad030a[0x2]; // 0x30a + [[maybe_unused]] uint8_t __pad031a[0x2]; // 0x31a public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x30c + ParticleAttributeIndex_t m_nFieldOutput; // 0x31c // MPropertyFriendlyName "output field prev" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x310 + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x320 // MPropertyStartGroup "Set Rotations to Bones" // MPropertyFriendlyName "lock rotations to bone orientation" - ParticleRotationLockType_t m_nRotationSetType; // 0x314 + ParticleRotationLockType_t m_nRotationSetType; // 0x324 // MPropertyFriendlyName "rigid set rotation from bones" - bool m_bRigidRotationLock; // 0x318 + bool m_bRigidRotationLock; // 0x328 private: - [[maybe_unused]] uint8_t __pad0319[0x7]; // 0x319 + [[maybe_unused]] uint8_t __pad0329[0x7]; // 0x329 public: // MPropertyFriendlyName "rigid rotation offset pitch/yaw/roll" - CPerParticleVecInput m_vecRotation; // 0x320 + CPerParticleVecInput m_vecRotation; // 0x330 // MPropertyFriendlyName "rigid rotation interpolation" - CPerParticleFloatInput m_flRotLerp; // 0x958 + CPerParticleFloatInput m_flRotLerp; // 0x988 }; // Alignment: 3 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_SnapshotRigidSkinToBones : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x1b0 + bool m_bTransformNormals; // 0x1c0 // MPropertyFriendlyName "scale radii" - bool m_bTransformRadii; // 0x1b1 + bool m_bTransformRadii; // 0x1c1 private: - [[maybe_unused]] uint8_t __pad01b2[0x2]; // 0x1b2 + [[maybe_unused]] uint8_t __pad01c2[0x2]; // 0x1c2 public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b4 + int32_t m_nControlPointNumber; // 0x1c4 }; // Alignment: 7 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_SnapshotSkinToBones : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x1b0 + bool m_bTransformNormals; // 0x1c0 // MPropertyFriendlyName "scale radii" - bool m_bTransformRadii; // 0x1b1 + bool m_bTransformRadii; // 0x1c1 private: - [[maybe_unused]] uint8_t __pad01b2[0x2]; // 0x1b2 + [[maybe_unused]] uint8_t __pad01c2[0x2]; // 0x1c2 public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b4 + int32_t m_nControlPointNumber; // 0x1c4 // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x1b8 + float m_flLifeTimeFadeStart; // 0x1c8 // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x1bc + float m_flLifeTimeFadeEnd; // 0x1cc // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x1c0 + float m_flJumpThreshold; // 0x1d0 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x1c4 + float m_flPrevPosScale; // 0x1d4 }; // Alignment: 11 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_CPOffsetToPercentageBetweenCPs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1b0 + float m_flInputMin; // 0x1c0 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1b4 + float m_flInputMax; // 0x1c4 // MPropertyFriendlyName "percentage bias" - float m_flInputBias; // 0x1b8 + float m_flInputBias; // 0x1c8 // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x1bc + int32_t m_nStartCP; // 0x1cc // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x1c0 + int32_t m_nEndCP; // 0x1d0 // MPropertyFriendlyName "offset control point" - int32_t m_nOffsetCP; // 0x1c4 + int32_t m_nOffsetCP; // 0x1d4 // MPropertyFriendlyName "output control point" - int32_t m_nOuputCP; // 0x1c8 + int32_t m_nOuputCP; // 0x1d8 // MPropertyFriendlyName "input control point" - int32_t m_nInputCP; // 0x1cc + int32_t m_nInputCP; // 0x1dc // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x1d0 + bool m_bRadialCheck; // 0x1e0 // MPropertyFriendlyName "treat offset as scale of total distance" - bool m_bScaleOffset; // 0x1d1 + bool m_bScaleOffset; // 0x1e1 private: - [[maybe_unused]] uint8_t __pad01d2[0x2]; // 0x1d2 + [[maybe_unused]] uint8_t __pad01e2[0x2]; // 0x1e2 public: // MPropertyFriendlyName "offset amount" // MVectorIsCoordinate - Vector m_vecOffset; // 0x1d4 + Vector m_vecOffset; // 0x1e4 }; // Alignment: 4 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_PlaneCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point for point on plane" - int32_t m_nPlaneControlPoint; // 0x1b0 + int32_t m_nPlaneControlPoint; // 0x1c0 // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - Vector m_vecPlaneDirection; // 0x1b4 + Vector m_vecPlaneDirection; // 0x1c4 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x1c0 + bool m_bLocalSpace; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01c1[0x3]; // 0x1c1 + [[maybe_unused]] uint8_t __pad01d1[0x3]; // 0x1d1 public: // MPropertyFriendlyName "cull plane offset" - float m_flPlaneOffset; // 0x1c4 + float m_flPlaneOffset; // 0x1d4 }; // Alignment: 4 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_DistanceCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1b0 + int32_t m_nControlPoint; // 0x1c0 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecPointOffset; // 0x1b4 + Vector m_vecPointOffset; // 0x1c4 // MPropertyFriendlyName "cull distance" - float m_flDistance; // 0x1c0 + float m_flDistance; // 0x1d0 // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x1c4 + bool m_bCullInside; // 0x1d4 }; // Alignment: 5 -// Size: 0x240 +// Size: 0x250 class C_OP_ModelCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1b4 + bool m_bBoundBox; // 0x1c4 // MPropertyFriendlyName "cull outside instead of inside" - bool m_bCullOutside; // 0x1b5 + bool m_bCullOutside; // 0x1c5 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1b6 + bool m_bUseBones; // 0x1c6 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1b7 + char m_HitboxSetName[128]; // 0x1c7 }; // Alignment: 7 -// Size: 0x880 +// Size: 0x8b0 class C_OP_ModelDampenMovement : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1b4 + bool m_bBoundBox; // 0x1c4 // MPropertyFriendlyName "dampen outside instead of inside" - bool m_bOutside; // 0x1b5 + bool m_bOutside; // 0x1c5 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1b6 + bool m_bUseBones; // 0x1c6 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1b7 + char m_HitboxSetName[128]; // 0x1c7 private: - [[maybe_unused]] uint8_t __pad0237[0x1]; // 0x237 + [[maybe_unused]] uint8_t __pad0247[0x1]; // 0x247 public: // MPropertyFriendlyName "test position offset" // MVectorIsCoordinate - CPerParticleVecInput m_vecPosOffset; // 0x238 + CPerParticleVecInput m_vecPosOffset; // 0x248 // MPropertyFriendlyName "drag" // MPropertyAttributeRange "-1 1" - float m_fDrag; // 0x870 + float m_fDrag; // 0x8a0 }; // Alignment: 8 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_SequenceFromModel : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 + int32_t m_nControlPointNumber; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "current anim time output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1b8 + ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1c8 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1bc + float m_flInputMin; // 0x1cc // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1c0 + float m_flInputMax; // 0x1d0 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1c4 + float m_flOutputMin; // 0x1d4 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c8 + float m_flOutputMax; // 0x1d8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1cc -}; - -// Alignment: 3 -// Size: 0x1c0 -class C_OP_VelocityMatchingForce : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "direction matching strength" - float m_flDirScale; // 0x1b0 - // MPropertyFriendlyName "speed matching strength" - float m_flSpdScale; // 0x1b4 - // MPropertyFriendlyName "control point to broadcast speed and direction to" - int32_t m_nCPBroadcast; // 0x1b8 + ParticleSetMethod_t m_nSetMethod; // 0x1dc }; // Alignment: 3 // Size: 0x1d0 +class C_OP_VelocityMatchingForce : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "direction matching strength" + float m_flDirScale; // 0x1c0 + // MPropertyFriendlyName "speed matching strength" + float m_flSpdScale; // 0x1c4 + // MPropertyFriendlyName "control point to broadcast speed and direction to" + int32_t m_nCPBroadcast; // 0x1c8 +}; + +// Alignment: 3 +// Size: 0x1e0 class C_OP_MovementMaintainOffset : public CParticleFunctionOperator { public: // MPropertyFriendlyName "desired offset" // MVectorIsCoordinate - Vector m_vecOffset; // 0x1b0 + Vector m_vecOffset; // 0x1c0 // MPropertyFriendlyName "local space CP" - int32_t m_nCP; // 0x1bc + int32_t m_nCP; // 0x1cc // MPropertyFriendlyName "scale by radius" - bool m_bRadiusScale; // 0x1c0 + bool m_bRadiusScale; // 0x1d0 }; // Alignment: 17 -// Size: 0x3c0 +// Size: 0x3e0 class C_OP_MovementPlaceOnGround : public CParticleFunctionOperator { public: // MPropertyFriendlyName "offset" - CPerParticleFloatInput m_flOffset; // 0x1b0 + CPerParticleFloatInput m_flOffset; // 0x1c0 // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x300 + float m_flMaxTraceLength; // 0x318 // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x304 + float m_flTolerance; // 0x31c // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x308 + float m_flTraceOffset; // 0x320 // MPropertyFriendlyName "interpolation rate" - float m_flLerpRate; // 0x30c + float m_flLerpRate; // 0x324 // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x310 + char m_CollisionGroupName[128]; // 0x328 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x390 + ParticleTraceSet_t m_nTraceSet; // 0x3a8 // MPropertyFriendlyName "reference CP 1" - int32_t m_nRefCP1; // 0x394 + int32_t m_nRefCP1; // 0x3ac // MPropertyFriendlyName "reference CP 2" - int32_t m_nRefCP2; // 0x398 + int32_t m_nRefCP2; // 0x3b0 // MPropertyFriendlyName "interploation distance tolerance cp" - int32_t m_nLerpCP; // 0x39c + int32_t m_nLerpCP; // 0x3b4 private: - [[maybe_unused]] uint8_t __pad03a0[0x8]; // 0x3a0 + [[maybe_unused]] uint8_t __pad03b8[0x8]; // 0x3b8 public: // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3a8 + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3c0 // MPropertyFriendlyName "include default contents trace hulls" - bool m_bIncludeShotHull; // 0x3ac + bool m_bIncludeShotHull; // 0x3c4 // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x3ad + bool m_bIncludeWater; // 0x3c5 private: - [[maybe_unused]] uint8_t __pad03ae[0x2]; // 0x3ae + [[maybe_unused]] uint8_t __pad03c6[0x2]; // 0x3c6 public: // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x3b0 + bool m_bSetNormal; // 0x3c8 // MPropertyFriendlyName "treat offset as scalar of particle radius" - bool m_bScaleOffset; // 0x3b1 + bool m_bScaleOffset; // 0x3c9 private: - [[maybe_unused]] uint8_t __pad03b2[0x2]; // 0x3b2 + [[maybe_unused]] uint8_t __pad03ca[0x2]; // 0x3ca public: // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x3b4 + int32_t m_nPreserveOffsetCP; // 0x3cc // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x3b8 + int32_t m_nIgnoreCP; // 0x3d0 }; // Alignment: 4 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_InheritFromParentParticles : public CParticleFunctionOperator { public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1b0 + float m_flScale; // 0x1c0 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1b8 + int32_t m_nIncrement; // 0x1c8 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1bc + bool m_bRandomDistribution; // 0x1cc }; // Alignment: 5 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_InheritFromParentParticlesV2 : public CParticleFunctionOperator { public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1b0 + float m_flScale; // 0x1c0 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1b8 + int32_t m_nIncrement; // 0x1c8 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1bc + bool m_bRandomDistribution; // 0x1cc private: - [[maybe_unused]] uint8_t __pad01bd[0x3]; // 0x1bd + [[maybe_unused]] uint8_t __pad01cd[0x3]; // 0x1cd public: // MPropertyFriendlyName "behavior if parent particle dies" - MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x1c0 + MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x1d0 }; // Alignment: 5 -// Size: 0x460 +// Size: 0x480 class C_OP_ReadFromNeighboringParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "read field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1c0 // MPropertyFriendlyName "written field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1b8 + int32_t m_nIncrement; // 0x1c8 private: - [[maybe_unused]] uint8_t __pad01bc[0x4]; // 0x1bc + [[maybe_unused]] uint8_t __pad01cc[0x4]; // 0x1cc public: // MPropertyFriendlyName "maximum distance" - CPerParticleFloatInput m_DistanceCheck; // 0x1c0 + CPerParticleFloatInput m_DistanceCheck; // 0x1d0 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x310 + CPerParticleFloatInput m_flInterpolation; // 0x328 }; // Alignment: 4 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_InheritFromPeerSystem : public CParticleFunctionOperator { public: // MPropertyFriendlyName "read field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "written field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldInput; // 0x1c4 // MPropertyFriendlyName "particle neighbor increment amount" - int32_t m_nIncrement; // 0x1b8 + int32_t m_nIncrement; // 0x1c8 // MPropertyFriendlyName "group id" - int32_t m_nGroupID; // 0x1bc + int32_t m_nGroupID; // 0x1cc }; // Alignment: 3 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_RemapVectorComponentToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Input Vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1c0 // MPropertyFriendlyName "Output Scalar" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "Vector Component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x1b8 + int32_t m_nComponent; // 0x1c8 }; // Alignment: 3 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_OrientTo2dDirection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1b0 + float m_flRotOffset; // 0x1c0 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x1b4 + float m_flSpinStrength; // 0x1c4 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c8 }; // Alignment: 6 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_RestartAfterDuration : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum restart time" - float m_flDurationMin; // 0x1b0 + float m_flDurationMin; // 0x1c0 // MPropertyFriendlyName "maximum restart time" - float m_flDurationMax; // 0x1b4 + float m_flDurationMax; // 0x1c4 // MPropertyFriendlyName "control point to scale duration" - int32_t m_nCP; // 0x1b8 + int32_t m_nCP; // 0x1c8 // MPropertyFriendlyName "control point field X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x1bc + int32_t m_nCPField; // 0x1cc // MPropertyFriendlyName "child group ID" - int32_t m_nChildGroupID; // 0x1c0 + int32_t m_nChildGroupID; // 0x1d0 // MPropertyFriendlyName "only restart children" - bool m_bOnlyChildren; // 0x1c4 + bool m_bOnlyChildren; // 0x1d4 }; // Alignment: 4 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_Orient2DRelToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1b0 + float m_flRotOffset; // 0x1c0 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x1b4 + float m_flSpinStrength; // 0x1c4 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1b8 + int32_t m_nCP; // 0x1c8 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1bc + ParticleAttributeIndex_t m_nFieldOutput; // 0x1cc }; // Alignment: 4 -// Size: 0x9b0 +// Size: 0x9e0 class C_OP_MovementRotateParticleAroundAxis : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation axis" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x1b0 + CParticleCollectionVecInput m_vecRotAxis; // 0x1c0 // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x7e8 + CParticleCollectionFloatInput m_flRotRate; // 0x818 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x938 + CParticleTransformInput m_TransformInput; // 0x970 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x9a0 + bool m_bLocalSpace; // 0x9d8 }; // Alignment: 7 -// Size: 0x330 +// Size: 0x340 class C_OP_RotateVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 // MPropertyFriendlyName "rotation axis min" // MVectorIsCoordinate - Vector m_vecRotAxisMin; // 0x1b4 + Vector m_vecRotAxisMin; // 0x1c4 // MPropertyFriendlyName "rotation axis max" // MVectorIsCoordinate - Vector m_vecRotAxisMax; // 0x1c0 + Vector m_vecRotAxisMax; // 0x1d0 // MPropertyFriendlyName "rotation rate min" - float m_flRotRateMin; // 0x1cc + float m_flRotRateMin; // 0x1dc // MPropertyFriendlyName "rotation rate max" - float m_flRotRateMax; // 0x1d0 + float m_flRotRateMax; // 0x1e0 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x1d4 + bool m_bNormalize; // 0x1e4 private: - [[maybe_unused]] uint8_t __pad01d5[0x3]; // 0x1d5 + [[maybe_unused]] uint8_t __pad01e5[0x3]; // 0x1e5 public: // MPropertyFriendlyName "per particle scale" - CPerParticleFloatInput m_flScale; // 0x1d8 + CPerParticleFloatInput m_flScale; // 0x1e8 }; -// Alignment: 3 -// Size: 0x1c0 +// Alignment: 4 +// Size: 0x1d0 class C_OP_MaxVelocity : public CParticleFunctionOperator { public: // MPropertyFriendlyName "maximum velocity" - float m_flMaxVelocity; // 0x1b0 + float m_flMaxVelocity; // 0x1c0 + // MPropertyFriendlyName "minimum velocity" + float m_flMinVelocity; // 0x1c4 // MPropertyFriendlyName "override max velocity from this CP" - int32_t m_nOverrideCP; // 0x1b4 + int32_t m_nOverrideCP; // 0x1c8 // MPropertyFriendlyName "override CP field" - int32_t m_nOverrideCPField; // 0x1b8 + int32_t m_nOverrideCPField; // 0x1cc }; // Alignment: 4 -// Size: 0x1c0 +// Size: 0x1d0 class C_OP_LagCompensation : public CParticleFunctionOperator { public: // MPropertyFriendlyName "desired velocity CP" - int32_t m_nDesiredVelocityCP; // 0x1b0 + int32_t m_nDesiredVelocityCP; // 0x1c0 // MPropertyFriendlyName "latency CP" - int32_t m_nLatencyCP; // 0x1b4 + int32_t m_nLatencyCP; // 0x1c4 // MPropertyFriendlyName "latency CP field" - int32_t m_nLatencyCPField; // 0x1b8 + int32_t m_nLatencyCPField; // 0x1c8 // MPropertyFriendlyName "desired velocity CP field override(for speed only)" - int32_t m_nDesiredVelocityCPField; // 0x1bc + int32_t m_nDesiredVelocityCPField; // 0x1cc }; // Alignment: 7 -// Size: 0x210 +// Size: 0x220 class C_OP_MaintainSequentialPath : public CParticleFunctionOperator { public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1b0 + float m_fMaxDistance; // 0x1c0 // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x1b4 + float m_flNumToAssign; // 0x1c4 // MPropertyFriendlyName "cohesion strength" - float m_flCohesionStrength; // 0x1b8 + float m_flCohesionStrength; // 0x1c8 // MPropertyFriendlyName "control point movement tolerance" - float m_flTolerance; // 0x1bc + float m_flTolerance; // 0x1cc // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x1c0 + bool m_bLoop; // 0x1d0 // MPropertyFriendlyName "use existing particle count" - bool m_bUseParticleCount; // 0x1c1 + bool m_bUseParticleCount; // 0x1d1 private: - [[maybe_unused]] uint8_t __pad01c2[0xe]; // 0x1c2 + [[maybe_unused]] uint8_t __pad01d2[0xe]; // 0x1d2 +public: + CPathParameters m_PathParams; // 0x1e0 +}; + +// Alignment: 4 +// Size: 0x210 +class C_OP_LockToSavedSequentialPathV2 : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "start fade time" + float m_flFadeStart; // 0x1c0 + // MPropertyFriendlyName "end fade time" + float m_flFadeEnd; // 0x1c4 + // MPropertyFriendlyName "Use sequential CP pairs between start and end point" + bool m_bCPPairs; // 0x1c8 +private: + [[maybe_unused]] uint8_t __pad01c9[0x7]; // 0x1c9 public: CPathParameters m_PathParams; // 0x1d0 }; // Alignment: 4 -// Size: 0x200 -class C_OP_LockToSavedSequentialPathV2 : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x1b0 - // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x1b4 - // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1b8 -private: - [[maybe_unused]] uint8_t __pad01b9[0x7]; // 0x1b9 -public: - CPathParameters m_PathParams; // 0x1c0 -}; - -// Alignment: 4 -// Size: 0x200 +// Size: 0x210 class C_OP_LockToSavedSequentialPath : public CParticleFunctionOperator { private: - [[maybe_unused]] uint8_t __pad01b0[0x4]; // 0x1b0 + [[maybe_unused]] uint8_t __pad01c0[0x4]; // 0x1c0 public: // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x1b4 + float m_flFadeStart; // 0x1c4 // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x1b8 + float m_flFadeEnd; // 0x1c8 // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1bc + bool m_bCPPairs; // 0x1cc private: - [[maybe_unused]] uint8_t __pad01bd[0x3]; // 0x1bd + [[maybe_unused]] uint8_t __pad01cd[0x3]; // 0x1cd public: - CPathParameters m_PathParams; // 0x1c0 + CPathParameters m_PathParams; // 0x1d0 }; // Alignment: 11 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_RemapDotProductToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x1b0 + int32_t m_nInputCP1; // 0x1c0 // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x1b4 + int32_t m_nInputCP2; // 0x1c4 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c8 // MPropertyFriendlyName "input minimum (-1 to 1)" - float m_flInputMin; // 0x1bc + float m_flInputMin; // 0x1cc // MPropertyFriendlyName "input maximum (-1 to 1)" - float m_flInputMax; // 0x1c0 + float m_flInputMax; // 0x1d0 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1c4 + float m_flOutputMin; // 0x1d4 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c8 + float m_flOutputMax; // 0x1d8 // MPropertyFriendlyName "use particle velocity for first input" - bool m_bUseParticleVelocity; // 0x1cc + bool m_bUseParticleVelocity; // 0x1dc private: - [[maybe_unused]] uint8_t __pad01cd[0x3]; // 0x1cd + [[maybe_unused]] uint8_t __pad01dd[0x3]; // 0x1dd public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1d0 + ParticleSetMethod_t m_nSetMethod; // 0x1e0 // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x1d4 + bool m_bActiveRange; // 0x1e4 // MPropertyFriendlyName "use particle normal for first input" - bool m_bUseParticleNormal; // 0x1d5 + bool m_bUseParticleNormal; // 0x1e5 }; // Alignment: 11 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_RemapCPtoScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1b0 + int32_t m_nCPInput; // 0x1c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 // MPropertyFriendlyName "input field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x1b8 - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1bc - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1c0 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1c4 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1c8 - // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x1cc - // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1d0 - // MPropertyFriendlyName "interpolation scale" - float m_flInterpRate; // 0x1d4 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1d8 -}; - -// Alignment: 1 -// Size: 0x1c0 -class C_OP_NormalLock : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 -}; - -// Alignment: 13 -// Size: 0x200 -class C_OP_RemapCPtoVector : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1b0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 - // MPropertyFriendlyName "local space CP" - int32_t m_nLocalSpaceCP; // 0x1b8 - // MPropertyFriendlyName "input minimum" - // MVectorIsSometimesCoordinate - Vector m_vInputMin; // 0x1bc - // MPropertyFriendlyName "input maximum" - // MVectorIsSometimesCoordinate - Vector m_vInputMax; // 0x1c8 - // MPropertyFriendlyName "output minimum" - // MVectorIsSometimesCoordinate - Vector m_vOutputMin; // 0x1d4 - // MPropertyFriendlyName "output maximum" - // MVectorIsSometimesCoordinate - Vector m_vOutputMax; // 0x1e0 - // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x1ec - // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1f0 - // MPropertyFriendlyName "interpolation scale" - float m_flInterpRate; // 0x1f4 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1f8 - // MPropertyFriendlyName "offset position" - bool m_bOffset; // 0x1fc - // MPropertyFriendlyName "accelerate position" - bool m_bAccelerate; // 0x1fd -}; - -// Alignment: 2 -// Size: 0x1c0 -class C_OP_SetCPtoVector : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1b0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 -}; - -// Alignment: 1 -// Size: 0x220 -class C_OP_RemapTransformToVelocity : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1b0 -}; - -// Alignment: 3 -// Size: 0x1c0 -class C_OP_RemapVelocityToVector : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 - // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1b4 - // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x1b8 -}; - -// Alignment: 4 -// Size: 0x1c0 -class C_OP_RemapCPVelocityToVector : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1b0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 - // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1b8 - // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x1bc -}; - -// Alignment: 2 -// Size: 0x1c0 -class C_OP_SetCPOrientationToDirection : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "input control point" - int32_t m_nInputControlPoint; // 0x1b0 - // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x1b4 -}; - -// Alignment: 7 -// Size: 0x1e0 -class C_OP_RemapDirectionToCPToVector : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1b0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 - // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1b8 - // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x1bc - // MPropertyFriendlyName "offset axis" - // MVectorIsCoordinate - Vector m_vecOffsetAxis; // 0x1c0 - // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x1cc -private: - [[maybe_unused]] uint8_t __pad01cd[0x3]; // 0x1cd -public: - // MPropertyFriendlyName "strength field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldStrength; // 0x1d0 -}; - -// Alignment: 4 -// Size: 0xe30 -class C_OP_RemapCrossProductOfTwoVectorsToVector : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "input vector 1" - CPerParticleVecInput m_InputVec1; // 0x1b0 - // MPropertyFriendlyName "input vector 2" - CPerParticleVecInput m_InputVec2; // 0x7e8 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0xe20 - // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0xe24 -}; - -// Alignment: 2 -// Size: 0x1c0 -class C_OP_NormalizeVector : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 - // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1b4 -}; - -// Alignment: 3 -// Size: 0x1c0 -class C_OP_RemapControlPointDirectionToVector : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 - // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1b4 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b8 -}; - -// Alignment: 9 -// Size: 0x260 -class C_OP_SetCPOrientationToGroundNormal : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "interpolation rate" - float m_flInterpRate; // 0x1b0 - // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x1b4 - // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x1b8 - // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x1bc - // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x1c0 - // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x240 - // MPropertyFriendlyName "CP to trace from" - int32_t m_nInputCP; // 0x244 - // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x248 -private: - [[maybe_unused]] uint8_t __pad024c[0xc]; // 0x24c -public: - // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x258 -}; - -// Alignment: 4 -// Size: 0x230 -class C_OP_RemapTransformOrientationToRotations : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1b0 - // MPropertyFriendlyName "offset pitch/yaw/roll" - Vector m_vecRotation; // 0x218 - // MPropertyFriendlyName "Use Quaternians Internally" - bool m_bUseQuat; // 0x224 - // MPropertyFriendlyName "Write normal instead of rotation" - bool m_bWriteNormal; // 0x225 -}; - -// Alignment: 4 -// Size: 0x1c0 -class C_OP_RemapControlPointOrientationToRotation : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1b0 - // MPropertyFriendlyName "rotation field" - // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 - // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x1b8 - // MPropertyFriendlyName "control point axis" - // MPropertyAttributeChoiceName "vector_component" - // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x1bc -}; - -// Alignment: 5 -// Size: 0x1e0 -class C_OP_LockToPointList : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b0 -private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 -public: - // MPropertyFriendlyName "point list" - CUtlVector< PointDefinition_t > m_pointList; // 0x1b8 - // MPropertyFriendlyName "space points along path" - bool m_bPlaceAlongPath; // 0x1d0 - // MPropertyFriendlyName "Treat path as a loop" - bool m_bClosedLoop; // 0x1d1 -private: - [[maybe_unused]] uint8_t __pad01d2[0x2]; // 0x1d2 -public: - // MPropertyFriendlyName "Numer of points along path" - int32_t m_nNumPointsAlongPath; // 0x1d4 -}; - -// Alignment: 9 -// Size: 0x210 -class C_OP_RemapNamedModelElementOnceTimed : public CParticleFunctionOperator -{ -public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1b0 - // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x1b8 - // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x1d0 - // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x1e8 - // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x200 - // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x201 -private: - [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 -public: - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x204 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x208 - // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x20c -}; - -// Alignment: 0 -// Size: 0x210 -class C_OP_RemapNamedModelSequenceOnceTimed : public C_OP_RemapNamedModelElementOnceTimed -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x210 -class C_OP_RemapNamedModelBodyPartOnceTimed : public C_OP_RemapNamedModelElementOnceTimed -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x210 -class C_OP_RemapNamedModelMeshGroupOnceTimed : public C_OP_RemapNamedModelElementOnceTimed -{ -public: - // No members available -}; - -// Alignment: 7 -// Size: 0x210 -class C_OP_RemapNamedModelElementEndCap : public CParticleFunctionOperator -{ -public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1b0 - // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x1b8 - // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x1d0 - // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x1e8 - // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x200 -private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 -public: - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x204 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x208 -}; - -// Alignment: 0 -// Size: 0x210 -class C_OP_RemapNamedModelSequenceEndCap : public C_OP_RemapNamedModelElementEndCap -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x210 -class C_OP_RemapNamedModelBodyPartEndCap : public C_OP_RemapNamedModelElementEndCap -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x210 -class C_OP_RemapNamedModelMeshGroupEndCap : public C_OP_RemapNamedModelElementEndCap -{ -public: - // No members available -}; - -// Alignment: 11 -// Size: 0x5c0 -class C_OP_SetFromCPSnapshot : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1b0 - // MPropertyFriendlyName "field to read" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x1b4 - // MPropertyFriendlyName "field to write" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1b8 - // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1bc - // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x1c0 - // MPropertyFriendlyName "reverse order" - bool m_bReverse; // 0x1c1 -private: - [[maybe_unused]] uint8_t __pad01c2[0x2]; // 0x1c2 -public: - // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1c4 - // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x1c8 - // MPropertyFriendlyName "Snapshot increment amount" - CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x318 - // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x468 - // MPropertyFriendlyName "Sub-Sample Between Input Points" - bool m_bSubSample; // 0x5b8 -}; - -// Alignment: 9 -// Size: 0x960 -class C_OP_VectorFieldSnapshot : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1b0 - // MPropertyFriendlyName "extra velocity field to write" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1b4 - // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1b8 -private: - [[maybe_unused]] uint8_t __pad01bc[0x4]; // 0x1bc -public: - // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1c0 - // MPropertyFriendlyName "Component Scale" - CPerParticleVecInput m_vecScale; // 0x310 - // MPropertyFriendlyName "Boundary Dampening" - float m_flBoundaryDampening; // 0x948 - // MPropertyFriendlyName "Set Velocity" - bool m_bSetVelocity; // 0x94c - // MPropertyFriendlyName "Lock to Surface" - bool m_bLockToSurface; // 0x94d -private: - [[maybe_unused]] uint8_t __pad094e[0x2]; // 0x94e -public: - // MPropertyFriendlyName "Vector Field Grid Spacing Override" - float m_flGridSpacing; // 0x950 -}; - -// Alignment: 5 -// Size: 0x480 -class C_OP_SetAttributeToScalarExpression : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "expression" - ScalarExpressionType_t m_nExpression; // 0x1b0 -private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 -public: - // MPropertyFriendlyName "input 1" - CPerParticleFloatInput m_flInput1; // 0x1b8 - // MPropertyFriendlyName "input 2" - CPerParticleFloatInput m_flInput2; // 0x308 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x458 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x45c -}; - -// Alignment: 6 -// Size: 0xea0 -class C_OP_SetVectorAttributeToVectorExpression : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x1b0 -private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 -public: - // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1b8 - // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7f0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0xe28 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xe2c - // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xe30 -}; - -// Alignment: 6 -// Size: 0xf80 -class C_OP_SetFloatAttributeToVectorExpression : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "expression" - VectorFloatExpressionType_t m_nExpression; // 0x1b0 -private: - [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 -public: - // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1b8 - // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7f0 - // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0xe28 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0xf78 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xf7c -}; - -// Alignment: 10 -// Size: 0x710 -class C_OP_MovementSkinnedPositionFromCPSnapshot : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1b0 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b4 - // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x1b8 -private: - [[maybe_unused]] uint8_t __pad01b9[0x3]; // 0x1b9 -public: - // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1bc - // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x1c0 - // MPropertyFriendlyName "set radius" - bool m_bSetRadius; // 0x1c1 -private: - [[maybe_unused]] uint8_t __pad01c2[0x6]; // 0x1c2 -public: - // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_flIncrement; // 0x1c8 - // MPropertyFriendlyName "Full Loop Increment Amount" - CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x318 - // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x468 - // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x5b8 -}; - -// Alignment: 6 -// Size: 0x460 -class C_OP_MovementMoveAlongSkinnedCPSnapshot : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b0 - // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1b4 - // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x1b8 - // MPropertyFriendlyName "set radius" - bool m_bSetRadius; // 0x1b9 -private: - [[maybe_unused]] uint8_t __pad01ba[0x6]; // 0x1ba -public: - // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1c0 - // MPropertyFriendlyName "Snapshot Index T Value" - CPerParticleFloatInput m_flTValue; // 0x310 -}; - -// Alignment: 2 -// Size: 0x330 -class C_OP_QuantizeFloat : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1b0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x300 -}; - -// Alignment: 4 -// Size: 0x480 -class C_OP_SetFloatCollection : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "value" - CParticleCollectionFloatInput m_InputValue; // 0x1b0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x300 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x304 - // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_Lerp; // 0x308 -}; - -// Alignment: 4 -// Size: 0x480 -class C_OP_SetFloat : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1b0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x300 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x304 - // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x308 -}; - -// Alignment: 5 -// Size: 0x950 -class C_OP_SetVec : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "value" - CPerParticleVecInput m_InputValue; // 0x1b0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7e8 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7ec - // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x7f0 - // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0x940 -}; - -// Alignment: 3 -// Size: 0x940 -class C_OP_DragRelativeToPlane : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "dampening" - CParticleCollectionFloatInput m_flDragAtPlane; // 0x1b0 - // MPropertyFriendlyName "plane normal" - // MVectorIsCoordinate - CParticleCollectionVecInput m_vecPlaneNormal; // 0x300 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x938 -}; - -// Alignment: 2 -// Size: 0x1c0 -class C_OP_RemapDensityGradientToVectorAttribute : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1b0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 -}; - -// Alignment: 6 -// Size: 0x1d0 -class C_OP_LockPoints : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "min column/particle index to affect" - int32_t m_nMinCol; // 0x1b0 - // MPropertyFriendlyName "max column/particle index to affect" - int32_t m_nMaxCol; // 0x1b4 - // MPropertyFriendlyName "min row/particle index to affect" - int32_t m_nMinRow; // 0x1b8 - // MPropertyFriendlyName "max row/particle index to affect" - int32_t m_nMaxRow; // 0x1bc - // MPropertyFriendlyName "control point to lock to" - int32_t m_nControlPoint; // 0x1c0 - // MPropertyFriendlyName "amount of current position to preserve" - float m_flBlendValue; // 0x1c4 -}; - -// Alignment: 5 -// Size: 0x1d0 -class C_OP_RemapDistanceToLineSegmentBase : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "control point 0" - int32_t m_nCP0; // 0x1b0 - // MPropertyFriendlyName "control point 1" - int32_t m_nCP1; // 0x1b4 - // MPropertyFriendlyName "min distance value" - float m_flMinInputValue; // 0x1b8 - // MPropertyFriendlyName "max distance value" - float m_flMaxInputValue; // 0x1bc - // MPropertyFriendlyName "use distance to an infinite line instead of a finite line segment" - bool m_bInfiniteLine; // 0x1c0 -}; - -// Alignment: 3 -// Size: 0x1e0 -class C_OP_RemapDistanceToLineSegmentToScalar : public C_OP_RemapDistanceToLineSegmentBase -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1d0 - // MPropertyFriendlyName "output value at min distance" - float m_flMinOutputValue; // 0x1d4 - // MPropertyFriendlyName "output value at max distance" - float m_flMaxOutputValue; // 0x1d8 -}; - -// Alignment: 3 -// Size: 0x1f0 -class C_OP_RemapDistanceToLineSegmentToVector : public C_OP_RemapDistanceToLineSegmentBase -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1d0 - // MPropertyFriendlyName "output value at min distance" - Vector m_vMinOutputValue; // 0x1d4 - // MPropertyFriendlyName "output value at max distance" - Vector m_vMaxOutputValue; // 0x1e0 -}; - -// Alignment: 11 -// Size: 0x1f0 -class C_OP_TeleportBeam : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "Position Control Point" - int32_t m_nCPPosition; // 0x1b0 - // MPropertyFriendlyName "Velocity Control Point" - int32_t m_nCPVelocity; // 0x1b4 - // MPropertyFriendlyName "Misc Control Point" - int32_t m_nCPMisc; // 0x1b8 - // MPropertyFriendlyName "Color Control Point" - int32_t m_nCPColor; // 0x1bc - // MPropertyFriendlyName "Invalid Color Control Point" - int32_t m_nCPInvalidColor; // 0x1c0 - // MPropertyFriendlyName "Extra Arc Data Point" - int32_t m_nCPExtraArcData; // 0x1c4 - // MPropertyFriendlyName "Gravity" - Vector m_vGravity; // 0x1c8 - // MPropertyFriendlyName "Arc Duration Maximum" - float m_flArcMaxDuration; // 0x1d4 - // MPropertyFriendlyName "Segment Break" - float m_flSegmentBreak; // 0x1d8 - // MPropertyFriendlyName "Arc Speed" - float m_flArcSpeed; // 0x1dc - // MPropertyFriendlyName "Alpha" - float m_flAlpha; // 0x1e0 -}; - -// Alignment: 10 -// Size: 0x1e0 -class C_OP_CycleScalar : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "destination scalar field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDestField; // 0x1b0 - // MPropertyFriendlyName "Value at start of cycle" - float m_flStartValue; // 0x1b4 - // MPropertyFriendlyName "Value at end of cycle" - float m_flEndValue; // 0x1b8 - // MPropertyFriendlyName "Cycle time" - float m_flCycleTime; // 0x1bc - // MPropertyFriendlyName "Do not repeat cycle" - bool m_bDoNotRepeatCycle; // 0x1c0 - // MPropertyFriendlyName "Synchronize particles" - bool m_bSynchronizeParticles; // 0x1c1 -private: - [[maybe_unused]] uint8_t __pad01c2[0x2]; // 0x1c2 -public: - // MPropertyFriendlyName "Scale Start/End Control Point" - int32_t m_nCPScale; // 0x1c4 - // MPropertyFriendlyName "start scale control point field" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMin; // 0x1c8 - // MPropertyFriendlyName "end scale control point field" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMax; // 0x1cc - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1d0 -}; - -// Alignment: 11 -// Size: 0x210 -class C_OP_CalculateVectorAttribute : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "start value" - Vector m_vStartValue; // 0x1b0 - // MPropertyFriendlyName "input field 1" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput1; // 0x1bc - // MPropertyFriendlyName "input scale 1" - float m_flInputScale1; // 0x1c0 - // MPropertyFriendlyName "input field 2" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput2; // 0x1c4 - // MPropertyFriendlyName "input scale 2" - float m_flInputScale2; // 0x1c8 - // MPropertyFriendlyName "control point input 1" - ControlPointReference_t m_nControlPointInput1; // 0x1cc - // MPropertyFriendlyName "control point scale 1" - float m_flControlPointScale1; // 0x1e0 - // MPropertyFriendlyName "control point input 2" - ControlPointReference_t m_nControlPointInput2; // 0x1e4 - // MPropertyFriendlyName "control point scale 2" - float m_flControlPointScale2; // 0x1f8 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc - // MPropertyFriendlyName "final per component scale" - Vector m_vFinalOutputScale; // 0x200 -}; - -// Alignment: 3 -// Size: 0x5a0 -class C_OP_ColorAdjustHSL : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "hue adjust" - CPerParticleFloatInput m_flHueAdjust; // 0x1b0 - // MPropertyFriendlyName "saturation adjust" - CPerParticleFloatInput m_flSaturationAdjust; // 0x300 - // MPropertyFriendlyName "lightness adjust" - CPerParticleFloatInput m_flLightnessAdjust; // 0x450 -}; - -// Alignment: 2 -// Size: 0x1c0 -class C_OP_ConnectParentParticleToNearest : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1b0 - // MPropertyFriendlyName "Second Control point to set" - int32_t m_nSecondControlPoint; // 0x1b4 -}; - -// Alignment: 6 -// Size: 0x1d0 -class C_OP_UpdateLightSource : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "color tint" - Color m_vColorTint; // 0x1b0 - // MPropertyFriendlyName "amount to multiply light brightness by" - float m_flBrightnessScale; // 0x1b4 - // MPropertyFriendlyName "amount to multiply particle system radius by to get light radius" - float m_flRadiusScale; // 0x1b8 - // MPropertyFriendlyName "minimum radius for created lights" - float m_flMinimumLightingRadius; // 0x1bc - // MPropertyFriendlyName "maximum radius for created lights" - float m_flMaximumLightingRadius; // 0x1c0 - // MPropertyFriendlyName "amount of damping of changes" - float m_flPositionDampingConstant; // 0x1c4 -}; - -// Alignment: 8 -// Size: 0x1e0 -class C_OP_RemapSpeedtoCP : public CParticleFunctionPreEmission -{ -public: - // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x1c0 - // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1c4 - // MPropertyFriendlyName "Output field 0-2 X/Y/Z" - // MPropertyAttributeChoiceName "vector_component" int32_t m_nField; // 0x1c8 // MPropertyFriendlyName "input minimum" float m_flInputMin; // 0x1cc @@ -9312,71 +7799,450 @@ public: float m_flOutputMin; // 0x1d4 // MPropertyFriendlyName "output maximum" float m_flOutputMax; // 0x1d8 - // MPropertyFriendlyName "use delta of velocity instead of constant speed" - bool m_bUseDeltaV; // 0x1dc + // MPropertyFriendlyName "emitter lifetime start time (seconds)" + float m_flStartTime; // 0x1dc + // MPropertyFriendlyName "emitter lifetime end time (seconds)" + float m_flEndTime; // 0x1e0 + // MPropertyFriendlyName "interpolation scale" + float m_flInterpRate; // 0x1e4 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1e8 }; -// Alignment: 10 -// Size: 0xdd0 -class C_OP_RemapAverageHitboxSpeedtoCP : public CParticleFunctionPreEmission +// Alignment: 1 +// Size: 0x1d0 +class C_OP_NormalLock : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x1c0 +}; + +// Alignment: 13 +// Size: 0x210 +class C_OP_RemapCPtoVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input control point number" + int32_t m_nCPInput; // 0x1c0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 + // MPropertyFriendlyName "local space CP" + int32_t m_nLocalSpaceCP; // 0x1c8 + // MPropertyFriendlyName "input minimum" + // MVectorIsSometimesCoordinate + Vector m_vInputMin; // 0x1cc + // MPropertyFriendlyName "input maximum" + // MVectorIsSometimesCoordinate + Vector m_vInputMax; // 0x1d8 + // MPropertyFriendlyName "output minimum" + // MVectorIsSometimesCoordinate + Vector m_vOutputMin; // 0x1e4 + // MPropertyFriendlyName "output maximum" + // MVectorIsSometimesCoordinate + Vector m_vOutputMax; // 0x1f0 + // MPropertyFriendlyName "emitter lifetime start time (seconds)" + float m_flStartTime; // 0x1fc + // MPropertyFriendlyName "emitter lifetime end time (seconds)" + float m_flEndTime; // 0x200 + // MPropertyFriendlyName "interpolation scale" + float m_flInterpRate; // 0x204 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x208 + // MPropertyFriendlyName "offset position" + bool m_bOffset; // 0x20c + // MPropertyFriendlyName "accelerate position" + bool m_bAccelerate; // 0x20d +}; + +// Alignment: 2 +// Size: 0x1d0 +class C_OP_SetCPtoVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input control point number" + int32_t m_nCPInput; // 0x1c0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 +}; + +// Alignment: 1 +// Size: 0x230 +class C_OP_RemapTransformToVelocity : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "transform input" + CParticleTransformInput m_TransformInput; // 0x1c0 +}; + +// Alignment: 3 +// Size: 0x1d0 +class C_OP_RemapVelocityToVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 + // MPropertyFriendlyName "scale factor" + float m_flScale; // 0x1c4 + // MPropertyFriendlyName "normalize" + bool m_bNormalize; // 0x1c8 +}; + +// Alignment: 4 +// Size: 0x1d0 +class C_OP_RemapCPVelocityToVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point" + int32_t m_nControlPoint; // 0x1c0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 + // MPropertyFriendlyName "scale factor" + float m_flScale; // 0x1c8 + // MPropertyFriendlyName "normalize" + bool m_bNormalize; // 0x1cc +}; + +// Alignment: 2 +// Size: 0x1d0 +class C_OP_SetCPOrientationToDirection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x1c0 + int32_t m_nInputControlPoint; // 0x1c0 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1c4 - // MPropertyFriendlyName "Output component" + int32_t m_nOutputControlPoint; // 0x1c4 +}; + +// Alignment: 7 +// Size: 0x1f0 +class C_OP_RemapDirectionToCPToVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point" + int32_t m_nCP; // 0x1c0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 + // MPropertyFriendlyName "scale factor" + float m_flScale; // 0x1c8 + // MPropertyFriendlyName "offset rotation" + float m_flOffsetRot; // 0x1cc + // MPropertyFriendlyName "offset axis" + // MVectorIsCoordinate + Vector m_vecOffsetAxis; // 0x1d0 + // MPropertyFriendlyName "normalize" + bool m_bNormalize; // 0x1dc +private: + [[maybe_unused]] uint8_t __pad01dd[0x3]; // 0x1dd +public: + // MPropertyFriendlyName "strength field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldStrength; // 0x1e0 +}; + +// Alignment: 4 +// Size: 0xe80 +class C_OP_RemapCrossProductOfTwoVectorsToVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input vector 1" + CPerParticleVecInput m_InputVec1; // 0x1c0 + // MPropertyFriendlyName "input vector 2" + CPerParticleVecInput m_InputVec2; // 0x818 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0xe70 + // MPropertyFriendlyName "normalize output" + bool m_bNormalize; // 0xe74 +}; + +// Alignment: 2 +// Size: 0x1d0 +class C_OP_NormalizeVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 + // MPropertyFriendlyName "scale factor" + float m_flScale; // 0x1c4 +}; + +// Alignment: 3 +// Size: 0x1d0 +class C_OP_RemapControlPointDirectionToVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 + // MPropertyFriendlyName "scale factor" + float m_flScale; // 0x1c4 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x1c8 +}; + +// Alignment: 9 +// Size: 0x270 +class C_OP_SetCPOrientationToGroundNormal : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "interpolation rate" + float m_flInterpRate; // 0x1c0 + // MPropertyFriendlyName "max trace length" + float m_flMaxTraceLength; // 0x1c4 + // MPropertyFriendlyName "CP movement tolerance" + float m_flTolerance; // 0x1c8 + // MPropertyFriendlyName "trace offset" + float m_flTraceOffset; // 0x1cc + // MPropertyFriendlyName "collision group" + char m_CollisionGroupName[128]; // 0x1d0 + // MPropertyFriendlyName "Trace Set" + ParticleTraceSet_t m_nTraceSet; // 0x250 + // MPropertyFriendlyName "CP to trace from" + int32_t m_nInputCP; // 0x254 + // MPropertyFriendlyName "CP to set" + int32_t m_nOutputCP; // 0x258 +private: + [[maybe_unused]] uint8_t __pad025c[0xc]; // 0x25c +public: + // MPropertyFriendlyName "include water" + bool m_bIncludeWater; // 0x268 +}; + +// Alignment: 4 +// Size: 0x240 +class C_OP_RemapTransformOrientationToRotations : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "transform input" + CParticleTransformInput m_TransformInput; // 0x1c0 + // MPropertyFriendlyName "offset pitch/yaw/roll" + Vector m_vecRotation; // 0x228 + // MPropertyFriendlyName "Use Quaternians Internally" + bool m_bUseQuat; // 0x234 + // MPropertyFriendlyName "Write normal instead of rotation" + bool m_bWriteNormal; // 0x235 +}; + +// Alignment: 4 +// Size: 0x1d0 +class C_OP_RemapControlPointOrientationToRotation : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point" + int32_t m_nCP; // 0x1c0 + // MPropertyFriendlyName "rotation field" + // MPropertyAttributeChoiceName "particlefield_rotation" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 + // MPropertyFriendlyName "offset rotation" + float m_flOffsetRot; // 0x1c8 + // MPropertyFriendlyName "control point axis" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x1c8 + // MVectorIsSometimesCoordinate + int32_t m_nComponent; // 0x1cc +}; + +// Alignment: 5 +// Size: 0x1f0 +class C_OP_LockToPointList : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 +private: + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 +public: + // MPropertyFriendlyName "point list" + CUtlVector< PointDefinition_t > m_pointList; // 0x1c8 + // MPropertyFriendlyName "space points along path" + bool m_bPlaceAlongPath; // 0x1e0 + // MPropertyFriendlyName "Treat path as a loop" + bool m_bClosedLoop; // 0x1e1 +private: + [[maybe_unused]] uint8_t __pad01e2[0x2]; // 0x1e2 +public: + // MPropertyFriendlyName "Numer of points along path" + int32_t m_nNumPointsAlongPath; // 0x1e4 +}; + +// Alignment: 9 +// Size: 0x220 +class C_OP_RemapNamedModelElementOnceTimed : public CParticleFunctionOperator +{ +public: + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1c0 + // MPropertyFriendlyName "input names" + CUtlVector< CUtlString > m_inNames; // 0x1c8 + // MPropertyFriendlyName "output names" + CUtlVector< CUtlString > m_outNames; // 0x1e0 + // MPropertyFriendlyName "fallback names when the input doesn't match" + CUtlVector< CUtlString > m_fallbackNames; // 0x1f8 + // MPropertyFriendlyName "model from renderer" + bool m_bModelFromRenderer; // 0x210 + // MPropertyFriendlyName "remap time proportional" + bool m_bProportional; // 0x211 +private: + [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 +public: + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldInput; // 0x214 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x218 + // MPropertyFriendlyName "remap time" + float m_flRemapTime; // 0x21c +}; + +// Alignment: 0 +// Size: 0x220 +class C_OP_RemapNamedModelSequenceOnceTimed : public C_OP_RemapNamedModelElementOnceTimed +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x220 +class C_OP_RemapNamedModelBodyPartOnceTimed : public C_OP_RemapNamedModelElementOnceTimed +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x220 +class C_OP_RemapNamedModelMeshGroupOnceTimed : public C_OP_RemapNamedModelElementOnceTimed +{ +public: + // No members available +}; + +// Alignment: 7 +// Size: 0x220 +class C_OP_RemapNamedModelElementEndCap : public CParticleFunctionOperator +{ +public: + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1c0 + // MPropertyFriendlyName "input names" + CUtlVector< CUtlString > m_inNames; // 0x1c8 + // MPropertyFriendlyName "output names" + CUtlVector< CUtlString > m_outNames; // 0x1e0 + // MPropertyFriendlyName "fallback names when the input doesn't match" + CUtlVector< CUtlString > m_fallbackNames; // 0x1f8 + // MPropertyFriendlyName "model from renderer" + bool m_bModelFromRenderer; // 0x210 +private: + [[maybe_unused]] uint8_t __pad0211[0x3]; // 0x211 +public: + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldInput; // 0x214 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x218 +}; + +// Alignment: 0 +// Size: 0x220 +class C_OP_RemapNamedModelSequenceEndCap : public C_OP_RemapNamedModelElementEndCap +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x220 +class C_OP_RemapNamedModelBodyPartEndCap : public C_OP_RemapNamedModelElementEndCap +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x220 +class C_OP_RemapNamedModelMeshGroupEndCap : public C_OP_RemapNamedModelElementEndCap +{ +public: + // No members available +}; + +// Alignment: 11 +// Size: 0x5f0 +class C_OP_SetFromCPSnapshot : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "snapshot control point number" + int32_t m_nControlPointNumber; // 0x1c0 + // MPropertyFriendlyName "field to read" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nAttributeToRead; // 0x1c4 + // MPropertyFriendlyName "field to write" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1c8 + // MPropertyFriendlyName "local space control point number" + int32_t m_nLocalSpaceCP; // 0x1cc + // MPropertyFriendlyName "random order" + bool m_bRandom; // 0x1d0 + // MPropertyFriendlyName "reverse order" + bool m_bReverse; // 0x1d1 +private: + [[maybe_unused]] uint8_t __pad01d2[0x2]; // 0x1d2 +public: + // MPropertyFriendlyName "random seed" + int32_t m_nRandomSeed; // 0x1d4 + // MPropertyFriendlyName "Snapshot start point" + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x1d8 + // MPropertyFriendlyName "Snapshot increment amount" + CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x330 + // MPropertyFriendlyName "Interpolation" + CPerParticleFloatInput m_flInterpolation; // 0x488 + // MPropertyFriendlyName "Sub-Sample Between Input Points" + bool m_bSubSample; // 0x5e0 +}; + +// Alignment: 9 +// Size: 0x990 +class C_OP_VectorFieldSnapshot : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "snapshot control point number" + int32_t m_nControlPointNumber; // 0x1c0 + // MPropertyFriendlyName "extra velocity field to write" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1c4 + // MPropertyFriendlyName "local space control point number" + int32_t m_nLocalSpaceCP; // 0x1c8 private: [[maybe_unused]] uint8_t __pad01cc[0x4]; // 0x1cc public: - // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_flInputMin; // 0x1d0 - // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_flInputMax; // 0x320 - // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x470 - // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5c0 - // MPropertyFriendlyName "intersection height CP" - int32_t m_nHeightControlPointNumber; // 0x710 + // MPropertyFriendlyName "Interpolation" + CPerParticleFloatInput m_flInterpolation; // 0x1d0 + // MPropertyFriendlyName "Component Scale" + CPerParticleVecInput m_vecScale; // 0x328 + // MPropertyFriendlyName "Boundary Dampening" + float m_flBoundaryDampening; // 0x980 + // MPropertyFriendlyName "Set Velocity" + bool m_bSetVelocity; // 0x984 + // MPropertyFriendlyName "Lock to Surface" + bool m_bLockToSurface; // 0x985 private: - [[maybe_unused]] uint8_t __pad0714[0x4]; // 0x714 + [[maybe_unused]] uint8_t __pad0986[0x2]; // 0x986 public: - // MPropertyFriendlyName "comparison velocity" - CParticleCollectionVecInput m_vecComparisonVelocity; // 0x718 - // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0xd50 + // MPropertyFriendlyName "Vector Field Grid Spacing Override" + float m_flGridSpacing; // 0x988 }; -// Alignment: 8 -// Size: 0x710 -class C_OP_RemapDotProductToCP : public CParticleFunctionPreEmission -{ -public: - // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x1c0 - // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x1c4 - // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x1c8 - // MPropertyFriendlyName "output component" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x1cc - // MPropertyFriendlyName "input minimum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMin; // 0x1d0 - // MPropertyFriendlyName "input maximum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMax; // 0x320 - // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x470 - // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5c0 -}; - -// Alignment: 6 -// Size: 0x5c0 -class C_OP_SetControlPointFieldToScalarExpression : public CParticleFunctionPreEmission +// Alignment: 5 +// Size: 0x4a0 +class C_OP_SetAttributeToScalarExpression : public CParticleFunctionOperator { public: // MPropertyFriendlyName "expression" @@ -9385,21 +8251,42 @@ private: [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "input 1" - CParticleCollectionFloatInput m_flInput1; // 0x1c8 + CPerParticleFloatInput m_flInput1; // 0x1c8 // MPropertyFriendlyName "input 2" - CParticleCollectionFloatInput m_flInput2; // 0x318 - // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0x468 - // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x5b8 - // MPropertyFriendlyName "output component" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x5bc + CPerParticleFloatInput m_flInput2; // 0x320 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nOutputField; // 0x478 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x47c }; // Alignment: 6 -// Size: 0xf90 -class C_OP_SetControlPointFieldFromVectorExpression : public CParticleFunctionPreEmission +// Size: 0xef0 +class C_OP_SetVectorAttributeToVectorExpression : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "expression" + VectorExpressionType_t m_nExpression; // 0x1c0 +private: + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 +public: + // MPropertyFriendlyName "input 1" + CPerParticleVecInput m_vInput1; // 0x1c8 + // MPropertyFriendlyName "input 2" + CPerParticleVecInput m_vInput2; // 0x820 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nOutputField; // 0xe78 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0xe7c + // MPropertyFriendlyName "normalize result" + bool m_bNormalizedOutput; // 0xe80 +}; + +// Alignment: 6 +// Size: 0xfe0 +class C_OP_SetFloatAttributeToVectorExpression : public CParticleFunctionOperator { public: // MPropertyFriendlyName "expression" @@ -9408,829 +8295,1348 @@ private: [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: // MPropertyFriendlyName "input 1" - CParticleCollectionVecInput m_vecInput1; // 0x1c8 + CPerParticleVecInput m_vInput1; // 0x1c8 // MPropertyFriendlyName "input 2" - CParticleCollectionVecInput m_vecInput2; // 0x800 + CPerParticleVecInput m_vInput2; // 0x820 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0xe38 - // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0xf88 - // MPropertyFriendlyName "output component" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0xf8c -}; - -// Alignment: 5 -// Size: 0xe40 -class C_OP_SetControlPointToVectorExpression : public CParticleFunctionPreEmission -{ -public: - // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x1c0 - // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x1c4 - // MPropertyFriendlyName "input 1" - CParticleCollectionVecInput m_vInput1; // 0x1c8 - // MPropertyFriendlyName "input 2" - CParticleCollectionVecInput m_vInput2; // 0x800 - // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xe38 -}; - -// Alignment: 7 -// Size: 0x1e0 -class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission -{ -public: - // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x1c0 - // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1c4 - // MPropertyFriendlyName "output CP component" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x1c8 - // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x1cc - // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x1d0 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1d4 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1d8 -}; - -// Alignment: 5 -// Size: 0x1e0 -class C_OP_RemapBoundingVolumetoCP : public CParticleFunctionPreEmission -{ -public: - // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1c0 - // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x1c4 - // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x1c8 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1cc - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1d0 -}; - -// Alignment: 7 -// Size: 0x1e0 -class C_OP_RemapAverageScalarValuetoCP : public CParticleFunctionPreEmission -{ -public: - // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1c0 + CParticleRemapFloatInput m_flOutputRemap; // 0xe78 // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x1c4 - // MPropertyFriendlyName "scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1c8 - // MPropertyFriendlyName "input volume minimum" - float m_flInputMin; // 0x1cc - // MPropertyFriendlyName "input volume maximum" - float m_flInputMax; // 0x1d0 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1d4 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1d8 + ParticleAttributeIndex_t m_nOutputField; // 0xfd0 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0xfd4 }; -// Alignment: 3 -// Size: 0x1e0 -class C_OP_RampCPLinearRandom : public CParticleFunctionPreEmission +// Alignment: 10 +// Size: 0x740 +class C_OP_MovementSkinnedPositionFromCPSnapshot : public CParticleFunctionOperator { public: - // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1c0 - // MPropertyFriendlyName "ramp rate min" - Vector m_vecRateMin; // 0x1c4 - // MPropertyFriendlyName "ramp rate max" - Vector m_vecRateMax; // 0x1d0 -}; - -// Alignment: 5 -// Size: 0x1e0 -class C_OP_SetParentControlPointsToChildCP : public CParticleFunctionPreEmission -{ + // MPropertyFriendlyName "snapshot control point number" + int32_t m_nSnapshotControlPointNumber; // 0x1c0 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x1c4 + // MPropertyFriendlyName "random order" + bool m_bRandom; // 0x1c8 +private: + [[maybe_unused]] uint8_t __pad01c9[0x3]; // 0x1c9 public: - // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1c0 - // MPropertyFriendlyName "control point to set" - int32_t m_nChildControlPoint; // 0x1c4 - // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x1c8 - // MPropertyFriendlyName "first parent control point to set from" - int32_t m_nFirstSourcePoint; // 0x1cc - // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x1d0 + // MPropertyFriendlyName "random seed" + int32_t m_nRandomSeed; // 0x1cc + // MPropertyFriendlyName "set normal" + bool m_bSetNormal; // 0x1d0 + // MPropertyFriendlyName "set radius" + bool m_bSetRadius; // 0x1d1 +private: + [[maybe_unused]] uint8_t __pad01d2[0x6]; // 0x1d2 +public: + // MPropertyFriendlyName "particle increment amount" + CParticleCollectionFloatInput m_flIncrement; // 0x1d8 + // MPropertyFriendlyName "Full Loop Increment Amount" + CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x330 + // MPropertyFriendlyName "Snapshot start point" + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x488 + // MPropertyFriendlyName "Interpolation" + CPerParticleFloatInput m_flInterpolation; // 0x5e0 }; // Alignment: 6 -// Size: 0xa10 -class C_OP_SetVariable : public CParticleFunctionPreEmission -{ -public: - // MPropertyFriendlyName "Variable" - CParticleVariableRef m_variableReference; // 0x1c0 - // MPropertyFriendlyName "Value" - // MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_TRANSFORM" - CParticleTransformInput m_transformInput; // 0x200 - // MPropertyFriendlyName "Position Offset" - // MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_TRANSFORM" - Vector m_positionOffset; // 0x268 - // MPropertyFriendlyName "Rotation Offset" - // MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_TRANSFORM" - QAngle m_rotationOffset; // 0x274 - // MPropertyFriendlyName "Value" - // MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_VEC3" - CParticleCollectionVecInput m_vecInput; // 0x280 - // MPropertyFriendlyName "Value" - // MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_FLOAT" - CParticleCollectionFloatInput m_floatInput; // 0x8b8 -}; - -// Alignment: 12 -// Size: 0x210 -class C_OP_SetControlPointPositions : public CParticleFunctionPreEmission -{ -public: - // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x1c0 - // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x1c1 - // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x1c2 -private: - [[maybe_unused]] uint8_t __pad01c3[0x1]; // 0x1c3 -public: - // MPropertyFriendlyName "first control point number" - int32_t m_nCP1; // 0x1c4 - // MPropertyFriendlyName "second control point number" - int32_t m_nCP2; // 0x1c8 - // MPropertyFriendlyName "third control point number" - int32_t m_nCP3; // 0x1cc - // MPropertyFriendlyName "fourth control point number" - int32_t m_nCP4; // 0x1d0 - // MPropertyFriendlyName "first control point location" - // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x1d4 - // MPropertyFriendlyName "second control point location" - // MVectorIsCoordinate - Vector m_vecCP2Pos; // 0x1e0 - // MPropertyFriendlyName "third control point location" - // MVectorIsCoordinate - Vector m_vecCP3Pos; // 0x1ec - // MPropertyFriendlyName "fourth control point location" - // MVectorIsCoordinate - Vector m_vecCP4Pos; // 0x1f8 - // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x204 -}; - -// Alignment: 4 -// Size: 0x870 -class C_OP_SetSingleControlPointPosition : public CParticleFunctionPreEmission -{ -public: - // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x1c0 -private: - [[maybe_unused]] uint8_t __pad01c1[0x3]; // 0x1c1 -public: - // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x1c4 - // MPropertyFriendlyName "control point location" - CParticleCollectionVecInput m_vecCP1Pos; // 0x1c8 - // MPropertyFriendlyName "transform to offset positions from" - // MParticleInputOptional - CParticleTransformInput m_transformInput; // 0x800 -}; - -// Alignment: 4 -// Size: 0x320 -class C_OP_SetControlPointPositionToRandomActiveCP : public CParticleFunctionPreEmission +// Size: 0x480 +class C_OP_MovementMoveAlongSkinnedCPSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x1c0 - // MPropertyFriendlyName "min active CP" - int32_t m_nHeadLocationMin; // 0x1c4 - // MPropertyFriendlyName "max active CP" - int32_t m_nHeadLocationMax; // 0x1c8 + int32_t m_nControlPointNumber; // 0x1c0 + // MPropertyFriendlyName "snapshot control point number" + int32_t m_nSnapshotControlPointNumber; // 0x1c4 + // MPropertyFriendlyName "set normal" + bool m_bSetNormal; // 0x1c8 + // MPropertyFriendlyName "set radius" + bool m_bSetRadius; // 0x1c9 private: - [[maybe_unused]] uint8_t __pad01cc[0x4]; // 0x1cc + [[maybe_unused]] uint8_t __pad01ca[0x6]; // 0x1ca public: - // MPropertyFriendlyName "reset rate" - CParticleCollectionFloatInput m_flResetRate; // 0x1d0 -}; - -// Alignment: 8 -// Size: 0x490 -class C_OP_SetRandomControlPointPosition : public CParticleFunctionPreEmission -{ -public: - // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x1c0 - // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x1c1 -private: - [[maybe_unused]] uint8_t __pad01c2[0x2]; // 0x1c2 -public: - // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x1c4 - // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x1c8 -private: - [[maybe_unused]] uint8_t __pad01cc[0x4]; // 0x1cc -public: - // MPropertyFriendlyName "re-randomize rate (-1 for once only)" - CParticleCollectionFloatInput m_flReRandomRate; // 0x1d0 - // MPropertyFriendlyName "control point min" - Vector m_vecCPMinPos; // 0x320 - // MPropertyFriendlyName "control point max" - Vector m_vecCPMaxPos; // 0x32c // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x338 + CPerParticleFloatInput m_flInterpolation; // 0x1d0 + // MPropertyFriendlyName "Snapshot Index T Value" + CPerParticleFloatInput m_flTValue; // 0x328 }; -// Alignment: 8 +// Alignment: 2 // Size: 0x340 -class C_OP_SetControlPointOrientation : public CParticleFunctionPreEmission +class C_OP_QuantizeFloat : public CParticleFunctionOperator { public: - // MPropertyFriendlyName "set orientation in world space" - bool m_bUseWorldLocation; // 0x1c0 -private: - [[maybe_unused]] uint8_t __pad01c1[0x1]; // 0x1c1 -public: - // MPropertyFriendlyName "randomize" - bool m_bRandomize; // 0x1c2 - // MPropertyFriendlyName "only set orientation once" - bool m_bSetOnce; // 0x1c3 - // MPropertyFriendlyName "control point number" - int32_t m_nCP; // 0x1c4 - // MPropertyFriendlyName "control point to offset orientation from" - int32_t m_nHeadLocation; // 0x1c8 - // MPropertyFriendlyName "pitch yaw roll" - QAngle m_vecRotation; // 0x1cc - // MPropertyFriendlyName "pitch yaw roll max" - QAngle m_vecRotationB; // 0x1d8 -private: - [[maybe_unused]] uint8_t __pad01e4[0x4]; // 0x1e4 + // MPropertyFriendlyName "value" + CPerParticleFloatInput m_InputValue; // 0x1c0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nOutputField; // 0x318 +}; + +// Alignment: 4 +// Size: 0x4a0 +class C_OP_SetFloatCollection : public CParticleFunctionOperator +{ public: + // MPropertyFriendlyName "value" + CParticleCollectionFloatInput m_InputValue; // 0x1c0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nOutputField; // 0x318 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x31c // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x1e8 + CParticleCollectionFloatInput m_Lerp; // 0x320 +}; + +// Alignment: 4 +// Size: 0x4a0 +class C_OP_SetFloat : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "value" + CPerParticleFloatInput m_InputValue; // 0x1c0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nOutputField; // 0x318 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x31c + // MPropertyFriendlyName "interpolation" + CPerParticleFloatInput m_Lerp; // 0x320 +}; + +// Alignment: 5 +// Size: 0x980 +class C_OP_SetVec : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "value" + CPerParticleVecInput m_InputValue; // 0x1c0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nOutputField; // 0x818 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x81c + // MPropertyFriendlyName "interpolation" + CPerParticleFloatInput m_Lerp; // 0x820 + // MPropertyFriendlyName "normalize result" + bool m_bNormalizedOutput; // 0x978 +}; + +// Alignment: 5 +// Size: 0xae0 +class C_OP_DragRelativeToPlane : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "dampening" + CParticleCollectionFloatInput m_flDragAtPlane; // 0x1c0 + // MPropertyFriendlyName "falloff" + CParticleCollectionFloatInput m_flFalloff; // 0x318 + // MPropertyFriendlyName "dampen on only one side of plane" + bool m_bDirectional; // 0x470 +private: + [[maybe_unused]] uint8_t __pad0471[0x7]; // 0x471 +public: + // MPropertyFriendlyName "plane normal" + // MVectorIsCoordinate + CParticleCollectionVecInput m_vecPlaneNormal; // 0x478 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0xad0 }; // Alignment: 2 // Size: 0x1d0 -class C_OP_SetControlPointFromObjectScale : public CParticleFunctionPreEmission +class C_OP_RemapDensityGradientToVectorAttribute : public CParticleFunctionOperator { public: - // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1c0 - // MPropertyFriendlyName "output control point number" - int32_t m_nCPOutput; // 0x1c4 + // MPropertyFriendlyName "Radius scale for particle influence" + float m_flRadiusScale; // 0x1c0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c4 }; -// Alignment: 15 -// Size: 0x280 -class C_OP_DistanceBetweenCPsToCP : public CParticleFunctionPreEmission +// Alignment: 6 +// Size: 0x1e0 +class C_OP_LockPoints : public CParticleFunctionOperator { public: - // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x1c0 - // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x1c4 - // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x1c8 - // MPropertyFriendlyName "output control point field" - int32_t m_nOutputCPField; // 0x1cc - // MPropertyFriendlyName "only set distance once" - bool m_bSetOnce; // 0x1d0 -private: - [[maybe_unused]] uint8_t __pad01d1[0x3]; // 0x1d1 + // MPropertyFriendlyName "min column/particle index to affect" + int32_t m_nMinCol; // 0x1c0 + // MPropertyFriendlyName "max column/particle index to affect" + int32_t m_nMaxCol; // 0x1c4 + // MPropertyFriendlyName "min row/particle index to affect" + int32_t m_nMinRow; // 0x1c8 + // MPropertyFriendlyName "max row/particle index to affect" + int32_t m_nMaxRow; // 0x1cc + // MPropertyFriendlyName "control point to lock to" + int32_t m_nControlPoint; // 0x1d0 + // MPropertyFriendlyName "amount of current position to preserve" + float m_flBlendValue; // 0x1d4 +}; + +// Alignment: 5 +// Size: 0x1e0 +class C_OP_RemapDistanceToLineSegmentBase : public CParticleFunctionOperator +{ public: - // MPropertyFriendlyName "distance minimum" + // MPropertyFriendlyName "control point 0" + int32_t m_nCP0; // 0x1c0 + // MPropertyFriendlyName "control point 1" + int32_t m_nCP1; // 0x1c4 + // MPropertyFriendlyName "min distance value" + float m_flMinInputValue; // 0x1c8 + // MPropertyFriendlyName "max distance value" + float m_flMaxInputValue; // 0x1cc + // MPropertyFriendlyName "use distance to an infinite line instead of a finite line segment" + bool m_bInfiniteLine; // 0x1d0 +}; + +// Alignment: 3 +// Size: 0x1f0 +class C_OP_RemapDistanceToLineSegmentToScalar : public C_OP_RemapDistanceToLineSegmentBase +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1e0 + // MPropertyFriendlyName "output value at min distance" + float m_flMinOutputValue; // 0x1e4 + // MPropertyFriendlyName "output value at max distance" + float m_flMaxOutputValue; // 0x1e8 +}; + +// Alignment: 3 +// Size: 0x200 +class C_OP_RemapDistanceToLineSegmentToVector : public C_OP_RemapDistanceToLineSegmentBase +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1e0 + // MPropertyFriendlyName "output value at min distance" + Vector m_vMinOutputValue; // 0x1e4 + // MPropertyFriendlyName "output value at max distance" + Vector m_vMaxOutputValue; // 0x1f0 +}; + +// Alignment: 11 +// Size: 0x200 +class C_OP_TeleportBeam : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "Position Control Point" + int32_t m_nCPPosition; // 0x1c0 + // MPropertyFriendlyName "Velocity Control Point" + int32_t m_nCPVelocity; // 0x1c4 + // MPropertyFriendlyName "Misc Control Point" + int32_t m_nCPMisc; // 0x1c8 + // MPropertyFriendlyName "Color Control Point" + int32_t m_nCPColor; // 0x1cc + // MPropertyFriendlyName "Invalid Color Control Point" + int32_t m_nCPInvalidColor; // 0x1d0 + // MPropertyFriendlyName "Extra Arc Data Point" + int32_t m_nCPExtraArcData; // 0x1d4 + // MPropertyFriendlyName "Gravity" + Vector m_vGravity; // 0x1d8 + // MPropertyFriendlyName "Arc Duration Maximum" + float m_flArcMaxDuration; // 0x1e4 + // MPropertyFriendlyName "Segment Break" + float m_flSegmentBreak; // 0x1e8 + // MPropertyFriendlyName "Arc Speed" + float m_flArcSpeed; // 0x1ec + // MPropertyFriendlyName "Alpha" + float m_flAlpha; // 0x1f0 +}; + +// Alignment: 10 +// Size: 0x1f0 +class C_OP_CycleScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "destination scalar field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nDestField; // 0x1c0 + // MPropertyFriendlyName "Value at start of cycle" + float m_flStartValue; // 0x1c4 + // MPropertyFriendlyName "Value at end of cycle" + float m_flEndValue; // 0x1c8 + // MPropertyFriendlyName "Cycle time" + float m_flCycleTime; // 0x1cc + // MPropertyFriendlyName "Do not repeat cycle" + bool m_bDoNotRepeatCycle; // 0x1d0 + // MPropertyFriendlyName "Synchronize particles" + bool m_bSynchronizeParticles; // 0x1d1 +private: + [[maybe_unused]] uint8_t __pad01d2[0x2]; // 0x1d2 +public: + // MPropertyFriendlyName "Scale Start/End Control Point" + int32_t m_nCPScale; // 0x1d4 + // MPropertyFriendlyName "start scale control point field" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nCPFieldMin; // 0x1d8 + // MPropertyFriendlyName "end scale control point field" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nCPFieldMax; // 0x1dc + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1e0 +}; + +// Alignment: 11 +// Size: 0x220 +class C_OP_CalculateVectorAttribute : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "start value" + Vector m_vStartValue; // 0x1c0 + // MPropertyFriendlyName "input field 1" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldInput1; // 0x1cc + // MPropertyFriendlyName "input scale 1" + float m_flInputScale1; // 0x1d0 + // MPropertyFriendlyName "input field 2" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldInput2; // 0x1d4 + // MPropertyFriendlyName "input scale 2" + float m_flInputScale2; // 0x1d8 + // MPropertyFriendlyName "control point input 1" + ControlPointReference_t m_nControlPointInput1; // 0x1dc + // MPropertyFriendlyName "control point scale 1" + float m_flControlPointScale1; // 0x1f0 + // MPropertyFriendlyName "control point input 2" + ControlPointReference_t m_nControlPointInput2; // 0x1f4 + // MPropertyFriendlyName "control point scale 2" + float m_flControlPointScale2; // 0x208 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x20c + // MPropertyFriendlyName "final per component scale" + Vector m_vFinalOutputScale; // 0x210 +}; + +// Alignment: 3 +// Size: 0x5d0 +class C_OP_ColorAdjustHSL : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "hue adjust" + CPerParticleFloatInput m_flHueAdjust; // 0x1c0 + // MPropertyFriendlyName "saturation adjust" + CPerParticleFloatInput m_flSaturationAdjust; // 0x318 + // MPropertyFriendlyName "lightness adjust" + CPerParticleFloatInput m_flLightnessAdjust; // 0x470 +}; + +// Alignment: 2 +// Size: 0x1d0 +class C_OP_ConnectParentParticleToNearest : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point to set" + int32_t m_nFirstControlPoint; // 0x1c0 + // MPropertyFriendlyName "Second Control point to set" + int32_t m_nSecondControlPoint; // 0x1c4 +}; + +// Alignment: 6 +// Size: 0x1e0 +class C_OP_UpdateLightSource : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "color tint" + Color m_vColorTint; // 0x1c0 + // MPropertyFriendlyName "amount to multiply light brightness by" + float m_flBrightnessScale; // 0x1c4 + // MPropertyFriendlyName "amount to multiply particle system radius by to get light radius" + float m_flRadiusScale; // 0x1c8 + // MPropertyFriendlyName "minimum radius for created lights" + float m_flMinimumLightingRadius; // 0x1cc + // MPropertyFriendlyName "maximum radius for created lights" + float m_flMaximumLightingRadius; // 0x1d0 + // MPropertyFriendlyName "amount of damping of changes" + float m_flPositionDampingConstant; // 0x1d4 +}; + +// Alignment: 8 +// Size: 0x1f0 +class C_OP_RemapSpeedtoCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "input control point" + int32_t m_nInControlPointNumber; // 0x1d0 + // MPropertyFriendlyName "output control point" + int32_t m_nOutControlPointNumber; // 0x1d4 + // MPropertyFriendlyName "Output field 0-2 X/Y/Z" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nField; // 0x1d8 + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x1dc + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x1e0 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x1e4 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x1e8 + // MPropertyFriendlyName "use delta of velocity instead of constant speed" + bool m_bUseDeltaV; // 0x1ec +}; + +// Alignment: 10 +// Size: 0xe20 +class C_OP_RemapAverageHitboxSpeedtoCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "input control point" + int32_t m_nInControlPointNumber; // 0x1d0 + // MPropertyFriendlyName "output control point" + int32_t m_nOutControlPointNumber; // 0x1d4 + // MPropertyFriendlyName "Output component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nField; // 0x1d8 +private: + [[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc +public: + // MPropertyFriendlyName "input minimum" + CParticleCollectionFloatInput m_flInputMin; // 0x1e0 + // MPropertyFriendlyName "input maximum" + CParticleCollectionFloatInput m_flInputMax; // 0x338 + // MPropertyFriendlyName "output minimum" + CParticleCollectionFloatInput m_flOutputMin; // 0x490 + // MPropertyFriendlyName "output maximum" + CParticleCollectionFloatInput m_flOutputMax; // 0x5e8 + // MPropertyFriendlyName "intersection height CP" + int32_t m_nHeightControlPointNumber; // 0x740 +private: + [[maybe_unused]] uint8_t __pad0744[0x4]; // 0x744 +public: + // MPropertyFriendlyName "comparison velocity" + CParticleCollectionVecInput m_vecComparisonVelocity; // 0x748 + // MPropertyFriendlyName "hitbox set" + char m_HitboxSetName[128]; // 0xda0 +}; + +// Alignment: 8 +// Size: 0x740 +class C_OP_RemapDotProductToCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "first input control point" + int32_t m_nInputCP1; // 0x1d0 + // MPropertyFriendlyName "second input control point" + int32_t m_nInputCP2; // 0x1d4 + // MPropertyFriendlyName "output control point" + int32_t m_nOutputCP; // 0x1d8 + // MPropertyFriendlyName "output component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nOutVectorField; // 0x1dc + // MPropertyFriendlyName "input minimum (-1 to 1)" + CParticleCollectionFloatInput m_flInputMin; // 0x1e0 + // MPropertyFriendlyName "input maximum (-1 to 1)" + CParticleCollectionFloatInput m_flInputMax; // 0x338 + // MPropertyFriendlyName "output minimum" + CParticleCollectionFloatInput m_flOutputMin; // 0x490 + // MPropertyFriendlyName "output maximum" + CParticleCollectionFloatInput m_flOutputMax; // 0x5e8 +}; + +// Alignment: 6 +// Size: 0x5f0 +class C_OP_SetControlPointFieldToScalarExpression : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "expression" + ScalarExpressionType_t m_nExpression; // 0x1d0 +private: + [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 +public: + // MPropertyFriendlyName "input 1" + CParticleCollectionFloatInput m_flInput1; // 0x1d8 + // MPropertyFriendlyName "input 2" + CParticleCollectionFloatInput m_flInput2; // 0x330 + // MPropertyFriendlyName "output" + CParticleRemapFloatInput m_flOutputRemap; // 0x488 + // MPropertyFriendlyName "output control point" + int32_t m_nOutputCP; // 0x5e0 + // MPropertyFriendlyName "output component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nOutVectorField; // 0x5e4 +}; + +// Alignment: 6 +// Size: 0xff0 +class C_OP_SetControlPointFieldFromVectorExpression : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "expression" + VectorFloatExpressionType_t m_nExpression; // 0x1d0 +private: + [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 +public: + // MPropertyFriendlyName "input 1" + CParticleCollectionVecInput m_vecInput1; // 0x1d8 + // MPropertyFriendlyName "input 2" + CParticleCollectionVecInput m_vecInput2; // 0x830 + // MPropertyFriendlyName "output" + CParticleRemapFloatInput m_flOutputRemap; // 0xe88 + // MPropertyFriendlyName "output control point" + int32_t m_nOutputCP; // 0xfe0 + // MPropertyFriendlyName "output component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nOutVectorField; // 0xfe4 +}; + +// Alignment: 5 +// Size: 0xe90 +class C_OP_SetControlPointToVectorExpression : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "expression" + VectorExpressionType_t m_nExpression; // 0x1d0 + // MPropertyFriendlyName "output control point" + int32_t m_nOutputCP; // 0x1d4 + // MPropertyFriendlyName "input 1" + CParticleCollectionVecInput m_vInput1; // 0x1d8 + // MPropertyFriendlyName "input 2" + CParticleCollectionVecInput m_vInput2; // 0x830 + // MPropertyFriendlyName "normalize result" + bool m_bNormalizedOutput; // 0xe88 +}; + +// Alignment: 9 +// Size: 0x200 +class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "output BBox Type" + BBoxVolumeType_t m_nBBoxType; // 0x1d0 + // MPropertyFriendlyName "input control point" + int32_t m_nInControlPointNumber; // 0x1d4 + // MPropertyFriendlyName "output control point" + int32_t m_nOutControlPointNumber; // 0x1d8 + // MPropertyFriendlyName "output max control point" + // MPropertySuppressExpr "m_nBBoxType != BBOX_MINS_MAXS" + int32_t m_nOutControlPointMaxNumber; // 0x1dc + // MPropertyFriendlyName "output CP component" + // MPropertyAttributeChoiceName "vector_component" + // MPropertySuppressExpr "m_nBBoxType != BBOX_VOLUME" + int32_t m_nField; // 0x1e0 + // MPropertyFriendlyName "input volume minimum in cubic units" + // MPropertySuppressExpr "m_nBBoxType != BBOX_VOLUME" + float m_flInputMin; // 0x1e4 + // MPropertyFriendlyName "input volume maximum in cubic units" + // MPropertySuppressExpr "m_nBBoxType != BBOX_VOLUME" + float m_flInputMax; // 0x1e8 + // MPropertyFriendlyName "output minimum" + // MPropertySuppressExpr "m_nBBoxType != BBOX_VOLUME" + float m_flOutputMin; // 0x1ec + // MPropertyFriendlyName "output maximum" + // MPropertySuppressExpr "m_nBBoxType != BBOX_VOLUME" + float m_flOutputMax; // 0x1f0 +}; + +// Alignment: 5 +// Size: 0x1f0 +class C_OP_RemapBoundingVolumetoCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "output control point" + int32_t m_nOutControlPointNumber; // 0x1d0 + // MPropertyFriendlyName "input volume minimum in cubic units" float m_flInputMin; // 0x1d4 - // MPropertyFriendlyName "distance maximum" + // MPropertyFriendlyName "input volume maximum in cubic units" float m_flInputMax; // 0x1d8 // MPropertyFriendlyName "output minimum" float m_flOutputMin; // 0x1dc // MPropertyFriendlyName "output maximum" float m_flOutputMax; // 0x1e0 - // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x1e4 - // MPropertyFriendlyName "LOS Failure Scale" - float m_flLOSScale; // 0x1e8 - // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x1ec - // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x1ed -private: - [[maybe_unused]] uint8_t __pad026d[0x3]; // 0x26d +}; + +// Alignment: 7 +// Size: 0x1f0 +class C_OP_RemapAverageScalarValuetoCP : public CParticleFunctionPreEmission +{ public: - // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x270 - // MPropertyFriendlyName "set parent" - ParticleParentSetMode_t m_nSetParent; // 0x274 + // MPropertyFriendlyName "output control point" + int32_t m_nOutControlPointNumber; // 0x1d0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nOutVectorField; // 0x1d4 + // MPropertyFriendlyName "scalar field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nField; // 0x1d8 + // MPropertyFriendlyName "input volume minimum" + float m_flInputMin; // 0x1dc + // MPropertyFriendlyName "input volume maximum" + float m_flInputMax; // 0x1e0 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x1e4 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x1e8 }; // Alignment: 3 +// Size: 0x1f0 +class C_OP_RampCPLinearRandom : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "output control point" + int32_t m_nOutControlPointNumber; // 0x1d0 + // MPropertyFriendlyName "ramp rate min" + Vector m_vecRateMin; // 0x1d4 + // MPropertyFriendlyName "ramp rate max" + Vector m_vecRateMax; // 0x1e0 +}; + +// Alignment: 5 +// Size: 0x1f0 +class C_OP_SetParentControlPointsToChildCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "group ID to affect" + int32_t m_nChildGroupID; // 0x1d0 + // MPropertyFriendlyName "control point to set" + int32_t m_nChildControlPoint; // 0x1d4 + // MPropertyFriendlyName "# of children to set" + int32_t m_nNumControlPoints; // 0x1d8 + // MPropertyFriendlyName "first parent control point to set from" + int32_t m_nFirstSourcePoint; // 0x1dc + // MPropertyFriendlyName "set orientation" + bool m_bSetOrientation; // 0x1e0 +}; + +// Alignment: 6 +// Size: 0xa40 +class C_OP_SetVariable : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "Variable" + CParticleVariableRef m_variableReference; // 0x1d0 + // MPropertyFriendlyName "Value" + // MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_TRANSFORM" + CParticleTransformInput m_transformInput; // 0x210 + // MPropertyFriendlyName "Position Offset" + // MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_TRANSFORM" + Vector m_positionOffset; // 0x278 + // MPropertyFriendlyName "Rotation Offset" + // MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_TRANSFORM" + QAngle m_rotationOffset; // 0x284 + // MPropertyFriendlyName "Value" + // MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_VEC3" + CParticleCollectionVecInput m_vecInput; // 0x290 + // MPropertyFriendlyName "Value" + // MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_FLOAT" + CParticleCollectionFloatInput m_floatInput; // 0x8e8 +}; + +// Alignment: 12 +// Size: 0x220 +class C_OP_SetControlPointPositions : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "set positions in world space" + bool m_bUseWorldLocation; // 0x1d0 + // MPropertyFriendlyName "inherit CP orientation" + bool m_bOrient; // 0x1d1 + // MPropertyFriendlyName "only set position once" + bool m_bSetOnce; // 0x1d2 +private: + [[maybe_unused]] uint8_t __pad01d3[0x1]; // 0x1d3 +public: + // MPropertyFriendlyName "first control point number" + int32_t m_nCP1; // 0x1d4 + // MPropertyFriendlyName "second control point number" + int32_t m_nCP2; // 0x1d8 + // MPropertyFriendlyName "third control point number" + int32_t m_nCP3; // 0x1dc + // MPropertyFriendlyName "fourth control point number" + int32_t m_nCP4; // 0x1e0 + // MPropertyFriendlyName "first control point location" + // MVectorIsCoordinate + Vector m_vecCP1Pos; // 0x1e4 + // MPropertyFriendlyName "second control point location" + // MVectorIsCoordinate + Vector m_vecCP2Pos; // 0x1f0 + // MPropertyFriendlyName "third control point location" + // MVectorIsCoordinate + Vector m_vecCP3Pos; // 0x1fc + // MPropertyFriendlyName "fourth control point location" + // MVectorIsCoordinate + Vector m_vecCP4Pos; // 0x208 + // MPropertyFriendlyName "control point to offset positions from" + int32_t m_nHeadLocation; // 0x214 +}; + +// Alignment: 4 +// Size: 0x8a0 +class C_OP_SetSingleControlPointPosition : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "only set position once" + bool m_bSetOnce; // 0x1d0 +private: + [[maybe_unused]] uint8_t __pad01d1[0x3]; // 0x1d1 +public: + // MPropertyFriendlyName "control point number" + int32_t m_nCP1; // 0x1d4 + // MPropertyFriendlyName "control point location" + CParticleCollectionVecInput m_vecCP1Pos; // 0x1d8 + // MPropertyFriendlyName "transform to offset positions from" + // MParticleInputOptional + CParticleTransformInput m_transformInput; // 0x830 +}; + +// Alignment: 4 +// Size: 0x340 +class C_OP_SetControlPointPositionToRandomActiveCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nCP1; // 0x1d0 + // MPropertyFriendlyName "min active CP" + int32_t m_nHeadLocationMin; // 0x1d4 + // MPropertyFriendlyName "max active CP" + int32_t m_nHeadLocationMax; // 0x1d8 +private: + [[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc +public: + // MPropertyFriendlyName "reset rate" + CParticleCollectionFloatInput m_flResetRate; // 0x1e0 +}; + +// Alignment: 8 +// Size: 0x4b0 +class C_OP_SetRandomControlPointPosition : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "set positions in world space" + bool m_bUseWorldLocation; // 0x1d0 + // MPropertyFriendlyName "inherit CP orientation" + bool m_bOrient; // 0x1d1 +private: + [[maybe_unused]] uint8_t __pad01d2[0x2]; // 0x1d2 +public: + // MPropertyFriendlyName "control point number" + int32_t m_nCP1; // 0x1d4 + // MPropertyFriendlyName "control point to offset positions from" + int32_t m_nHeadLocation; // 0x1d8 +private: + [[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc +public: + // MPropertyFriendlyName "re-randomize rate (-1 for once only)" + CParticleCollectionFloatInput m_flReRandomRate; // 0x1e0 + // MPropertyFriendlyName "control point min" + Vector m_vecCPMinPos; // 0x338 + // MPropertyFriendlyName "control point max" + Vector m_vecCPMaxPos; // 0x344 + // MPropertyFriendlyName "Interpolation" + CParticleCollectionFloatInput m_flInterpolation; // 0x350 +}; + +// Alignment: 8 +// Size: 0x350 +class C_OP_SetControlPointOrientation : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "set orientation in world space" + bool m_bUseWorldLocation; // 0x1d0 +private: + [[maybe_unused]] uint8_t __pad01d1[0x1]; // 0x1d1 +public: + // MPropertyFriendlyName "randomize" + bool m_bRandomize; // 0x1d2 + // MPropertyFriendlyName "only set orientation once" + bool m_bSetOnce; // 0x1d3 + // MPropertyFriendlyName "control point number" + int32_t m_nCP; // 0x1d4 + // MPropertyFriendlyName "control point to offset orientation from" + int32_t m_nHeadLocation; // 0x1d8 + // MPropertyFriendlyName "pitch yaw roll" + QAngle m_vecRotation; // 0x1dc + // MPropertyFriendlyName "pitch yaw roll max" + QAngle m_vecRotationB; // 0x1e8 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: + // MPropertyFriendlyName "interpolation" + CParticleCollectionFloatInput m_flInterpolation; // 0x1f8 +}; + +// Alignment: 2 // Size: 0x1e0 +class C_OP_SetControlPointFromObjectScale : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "input control point number" + int32_t m_nCPInput; // 0x1d0 + // MPropertyFriendlyName "output control point number" + int32_t m_nCPOutput; // 0x1d4 +}; + +// Alignment: 15 +// Size: 0x290 +class C_OP_DistanceBetweenCPsToCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "starting control point" + int32_t m_nStartCP; // 0x1d0 + // MPropertyFriendlyName "ending control point" + int32_t m_nEndCP; // 0x1d4 + // MPropertyFriendlyName "output control point" + int32_t m_nOutputCP; // 0x1d8 + // MPropertyFriendlyName "output control point field" + int32_t m_nOutputCPField; // 0x1dc + // MPropertyFriendlyName "only set distance once" + bool m_bSetOnce; // 0x1e0 +private: + [[maybe_unused]] uint8_t __pad01e1[0x3]; // 0x1e1 +public: + // MPropertyFriendlyName "distance minimum" + float m_flInputMin; // 0x1e4 + // MPropertyFriendlyName "distance maximum" + float m_flInputMax; // 0x1e8 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x1ec + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x1f0 + // MPropertyFriendlyName "maximum trace length" + float m_flMaxTraceLength; // 0x1f4 + // MPropertyFriendlyName "LOS Failure Scale" + float m_flLOSScale; // 0x1f8 + // MPropertyFriendlyName "ensure line of sight" + bool m_bLOS; // 0x1fc + // MPropertyFriendlyName "LOS collision group" + char m_CollisionGroupName[128]; // 0x1fd +private: + [[maybe_unused]] uint8_t __pad027d[0x3]; // 0x27d +public: + // MPropertyFriendlyName "Trace Set" + ParticleTraceSet_t m_nTraceSet; // 0x280 + // MPropertyFriendlyName "set parent" + ParticleParentSetMode_t m_nSetParent; // 0x284 +}; + +// Alignment: 3 +// Size: 0x1f0 class C_OP_SetControlPointToPlayer : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x1c0 + int32_t m_nCP1; // 0x1d0 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x1c4 + Vector m_vecCP1Pos; // 0x1d4 // MPropertyFriendlyName "use eye orientation" - bool m_bOrientToEyes; // 0x1d0 + bool m_bOrientToEyes; // 0x1e0 }; // Alignment: 4 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_SetControlPointToHand : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x1c0 + int32_t m_nCP1; // 0x1d0 // MPropertyFriendlyName "hand" - int32_t m_nHand; // 0x1c4 + int32_t m_nHand; // 0x1d4 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x1c8 + Vector m_vecCP1Pos; // 0x1d8 // MPropertyFriendlyName "use hand orientation" - bool m_bOrientToHand; // 0x1d4 + bool m_bOrientToHand; // 0x1e4 }; // Alignment: 3 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_SetControlPointToHMD : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x1c0 + int32_t m_nCP1; // 0x1d0 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x1c4 + Vector m_vecCP1Pos; // 0x1d4 // MPropertyFriendlyName "use hmd orientation" - bool m_bOrientToHMD; // 0x1d0 + bool m_bOrientToHMD; // 0x1e0 }; // Alignment: 3 -// Size: 0x260 +// Size: 0x270 class C_OP_SetControlPointPositionToTimeOfDayValue : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1c0 + int32_t m_nControlPointNumber; // 0x1d0 // MPropertyFriendlyName "time-of-day parameter" - char m_pszTimeOfDayParameter[128]; // 0x1c4 + char m_pszTimeOfDayParameter[128]; // 0x1d4 // MPropertyFriendlyName "default value" - Vector m_vecDefaultValue; // 0x244 + Vector m_vecDefaultValue; // 0x254 }; -// Alignment: 2 -// Size: 0x1d0 +// Alignment: 3 +// Size: 0x1f0 class C_OP_SetControlPointToCenter : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number to set" - int32_t m_nCP1; // 0x1c0 + int32_t m_nCP1; // 0x1d0 // MPropertyFriendlyName "center offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x1c4 + Vector m_vecCP1Pos; // 0x1d4 + // MPropertyFriendlyName "set parent" + ParticleParentSetMode_t m_nSetParent; // 0x1e0 }; // Alignment: 6 -// Size: 0x810 +// Size: 0x840 class C_OP_SetControlPointToCPVelocity : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point input" - int32_t m_nCPInput; // 0x1c0 + int32_t m_nCPInput; // 0x1d0 // MPropertyFriendlyName "control point number to set velocity" - int32_t m_nCPOutputVel; // 0x1c4 + int32_t m_nCPOutputVel; // 0x1d4 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x1c8 + bool m_bNormalize; // 0x1d8 private: - [[maybe_unused]] uint8_t __pad01c9[0x3]; // 0x1c9 + [[maybe_unused]] uint8_t __pad01d9[0x3]; // 0x1d9 public: // MPropertyFriendlyName "control point number to set magnitude" - int32_t m_nCPOutputMag; // 0x1cc + int32_t m_nCPOutputMag; // 0x1dc // MPropertyFriendlyName "control point field for magnitude" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x1d0 + int32_t m_nCPField; // 0x1e0 private: - [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 + [[maybe_unused]] uint8_t __pad01e4[0x4]; // 0x1e4 public: // MPropertyFriendlyName "comparison velocity" - CParticleCollectionVecInput m_vecComparisonVelocity; // 0x1d8 + CParticleCollectionVecInput m_vecComparisonVelocity; // 0x1e8 }; // Alignment: 2 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_SetControlPointOrientationToCPVelocity : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point input for velocity" - int32_t m_nCPInput; // 0x1c0 + int32_t m_nCPInput; // 0x1d0 // MPropertyFriendlyName "control point output for orientation" - int32_t m_nCPOutput; // 0x1c4 + int32_t m_nCPOutput; // 0x1d4 }; // Alignment: 3 -// Size: 0x320 +// Size: 0x330 class C_OP_StopAfterCPDuration : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "duration at which to stop" - CParticleCollectionFloatInput m_flDuration; // 0x1c0 + CParticleCollectionFloatInput m_flDuration; // 0x1d0 // MPropertyFriendlyName "destroy all particles immediately" - bool m_bDestroyImmediately; // 0x310 + bool m_bDestroyImmediately; // 0x328 // MPropertyFriendlyName "play end cap effect" - bool m_bPlayEndCap; // 0x311 + bool m_bPlayEndCap; // 0x329 }; // Alignment: 4 -// Size: 0x950 +// Size: 0x990 class C_OP_SetControlPointRotation : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "rotation axis" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x1c0 + CParticleCollectionVecInput m_vecRotAxis; // 0x1d0 // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x7f8 + CParticleCollectionFloatInput m_flRotRate; // 0x828 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x948 + int32_t m_nCP; // 0x980 // MPropertyFriendlyName "local space control point" - int32_t m_nLocalCP; // 0x94c + int32_t m_nLocalCP; // 0x984 }; // Alignment: 10 -// Size: 0x1f0 +// Size: 0x200 class C_OP_RemapCPtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point number" - int32_t m_nInputControlPoint; // 0x1c0 + int32_t m_nInputControlPoint; // 0x1d0 // MPropertyFriendlyName "output control point number" - int32_t m_nOutputControlPoint; // 0x1c4 + int32_t m_nOutputControlPoint; // 0x1d4 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nInputField; // 0x1c8 + int32_t m_nInputField; // 0x1d8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x1cc + int32_t m_nOutputField; // 0x1dc // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1d0 + float m_flInputMin; // 0x1e0 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1d4 + float m_flInputMax; // 0x1e4 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1d8 + float m_flOutputMin; // 0x1e8 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1dc + float m_flOutputMax; // 0x1ec // MPropertyFriendlyName "use the derivative" - bool m_bDerivative; // 0x1e0 + bool m_bDerivative; // 0x1f0 private: - [[maybe_unused]] uint8_t __pad01e1[0x3]; // 0x1e1 + [[maybe_unused]] uint8_t __pad01f1[0x3]; // 0x1f1 public: // MPropertyFriendlyName "interpolation" - float m_flInterpRate; // 0x1e4 + float m_flInterpRate; // 0x1f4 }; // Alignment: 4 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_HSVShiftToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "Target color control point number" - int32_t m_nColorCP; // 0x1c0 + int32_t m_nColorCP; // 0x1d0 // MPropertyFriendlyName "Color Gem Enable control point number" - int32_t m_nColorGemEnableCP; // 0x1c4 + int32_t m_nColorGemEnableCP; // 0x1d4 // MPropertyFriendlyName "output control point number" - int32_t m_nOutputCP; // 0x1c8 + int32_t m_nOutputCP; // 0x1d8 // MPropertyFriendlyName "Default HSV Color" - Color m_DefaultHSVColor; // 0x1cc + Color m_DefaultHSVColor; // 0x1dc }; -// Alignment: 11 -// Size: 0x3c0 +// Alignment: 12 +// Size: 0x3e0 class C_OP_SetControlPointToImpactPoint : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point to set" - int32_t m_nCPOut; // 0x1c0 + int32_t m_nCPOut; // 0x1d0 // MPropertyFriendlyName "control point to trace from" - int32_t m_nCPIn; // 0x1c4 + int32_t m_nCPIn; // 0x1d4 // MPropertyFriendlyName "trace update rate" - float m_flUpdateRate; // 0x1c8 + float m_flUpdateRate; // 0x1d8 private: - [[maybe_unused]] uint8_t __pad01cc[0x4]; // 0x1cc + [[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc public: // MPropertyFriendlyName "max trace length" - CParticleCollectionFloatInput m_flTraceLength; // 0x1d0 + CParticleCollectionFloatInput m_flTraceLength; // 0x1e0 // MPropertyFriendlyName "offset start point amount" - float m_flStartOffset; // 0x320 + float m_flStartOffset; // 0x338 // MPropertyFriendlyName "offset end point amount" - float m_flOffset; // 0x324 + float m_flOffset; // 0x33c // MPropertyFriendlyName "trace direction override" // MVectorIsCoordinate - Vector m_vecTraceDir; // 0x328 + Vector m_vecTraceDir; // 0x340 // MPropertyFriendlyName "trace collision group" - char m_CollisionGroupName[128]; // 0x334 + char m_CollisionGroupName[128]; // 0x34c // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x3b4 + ParticleTraceSet_t m_nTraceSet; // 0x3cc // MPropertyFriendlyName "set to trace endpoint if no collision" - bool m_bSetToEndpoint; // 0x3b8 + bool m_bSetToEndpoint; // 0x3d0 // MPropertyFriendlyName "trace to closest surface along all cardinal directions" - bool m_bTraceToClosestSurface; // 0x3b9 + bool m_bTraceToClosestSurface; // 0x3d1 + // MPropertyFriendlyName "include water" + bool m_bIncludeWater; // 0x3d2 }; // Alignment: 6 -// Size: 0x320 +// Size: 0x340 class C_OP_SetCPOrientationToPointAtCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "CP to point towards" - int32_t m_nInputCP; // 0x1c0 + int32_t m_nInputCP; // 0x1d0 // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x1c4 + int32_t m_nOutputCP; // 0x1d4 // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x1c8 + CParticleCollectionFloatInput m_flInterpolation; // 0x1d8 // MPropertyFriendlyName "2D Orient" - bool m_b2DOrientation; // 0x318 + bool m_b2DOrientation; // 0x330 // MPropertyFriendlyName "Avoid Vertical Axis Singularity" - bool m_bAvoidSingularity; // 0x319 + bool m_bAvoidSingularity; // 0x331 // MPropertyFriendlyName "Point Away" - bool m_bPointAway; // 0x31a + bool m_bPointAway; // 0x332 }; -// Alignment: 3 -// Size: 0x320 +// Alignment: 6 +// Size: 0x340 class C_OP_EnableChildrenFromParentParticleCount : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1c0 + int32_t m_nChildGroupID; // 0x1d0 // MPropertyFriendlyName "first child to enable" - int32_t m_nFirstChild; // 0x1c4 + int32_t m_nFirstChild; // 0x1d4 // MPropertyFriendlyName "max # of children to enable (-1 for max particle count)" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x1c8 + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x1d8 + // MPropertyFriendlyName "remove children when particle count lowers" + bool m_bDisableChildren; // 0x330 + // MPropertyFriendlyName "play endcap when children are removed" + // MPropertySuppressExpr "!m_bDisableChildren" + bool m_bPlayEndcapOnStop; // 0x331 + // MPropertyFriendlyName "destroy particles immediately when child is removed" + // MPropertySuppressExpr "!m_bDisableChildren" + bool m_bDestroyImmediately; // 0x332 }; // Alignment: 5 -// Size: 0x5c0 +// Size: 0x5e0 class C_OP_SelectivelyEnableChildren : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - CParticleCollectionFloatInput m_nChildGroupID; // 0x1c0 + CParticleCollectionFloatInput m_nChildGroupID; // 0x1d0 // MPropertyFriendlyName "first child to enable" - CParticleCollectionFloatInput m_nFirstChild; // 0x310 + CParticleCollectionFloatInput m_nFirstChild; // 0x328 // MPropertyFriendlyName "# of children to enable" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x460 + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x480 // MPropertyFriendlyName "play endcap when children are removed" - bool m_bPlayEndcapOnStop; // 0x5b0 + bool m_bPlayEndcapOnStop; // 0x5d8 // MPropertyFriendlyName "destroy particles immediately when child is removed" - bool m_bDestroyImmediately; // 0x5b1 + bool m_bDestroyImmediately; // 0x5d9 }; // Alignment: 2 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_PlayEndCapWhenFinished : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "play when emission ends" - bool m_bFireOnEmissionEnd; // 0x1c0 + bool m_bFireOnEmissionEnd; // 0x1d0 // MPropertyFriendlyName "wait for children to finish" - bool m_bIncludeChildren; // 0x1c1 + bool m_bIncludeChildren; // 0x1d1 }; // Alignment: 1 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_ForceControlPointStub : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point" - int32_t m_ControlPoint; // 0x1c0 + int32_t m_ControlPoint; // 0x1d0 }; // Alignment: 9 -// Size: 0x200 +// Size: 0x210 class C_OP_DriveCPFromGlobalSoundFloat : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x1c0 + int32_t m_nOutputControlPoint; // 0x1d0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x1c4 + int32_t m_nOutputField; // 0x1d4 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1c8 + float m_flInputMin; // 0x1d8 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1cc + float m_flInputMax; // 0x1dc // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1d0 + float m_flOutputMin; // 0x1e0 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1d4 + float m_flOutputMax; // 0x1e4 // MPropertyFriendlyName "sound stack name" - CUtlString m_StackName; // 0x1d8 + CUtlString m_StackName; // 0x1e8 // MPropertyFriendlyName "sound operator name" - CUtlString m_OperatorName; // 0x1e0 + CUtlString m_OperatorName; // 0x1f0 // MPropertyFriendlyName "sound field name" - CUtlString m_FieldName; // 0x1e8 + CUtlString m_FieldName; // 0x1f8 }; // Alignment: 3 -// Size: 0x1d0 +// Size: 0x1e0 class C_OP_SetControlPointFieldToWater : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source CP" - int32_t m_nSourceCP; // 0x1c0 + int32_t m_nSourceCP; // 0x1d0 // MPropertyFriendlyName "dest CP" - int32_t m_nDestCP; // 0x1c4 + int32_t m_nDestCP; // 0x1d4 // MPropertyFriendlyName "dest control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x1c8 + int32_t m_nCPField; // 0x1d8 }; // Alignment: 7 -// Size: 0x330 +// Size: 0x350 class C_OP_SetControlPointToWaterSurface : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source CP" - int32_t m_nSourceCP; // 0x1c0 + int32_t m_nSourceCP; // 0x1d0 // MPropertyFriendlyName "CP to set to surface" - int32_t m_nDestCP; // 0x1c4 + int32_t m_nDestCP; // 0x1d4 // MPropertyFriendlyName "CP to set to surface current flow velocity" // MPropertySuppressExpr "mod != hlx" - int32_t m_nFlowCP; // 0x1c8 + int32_t m_nFlowCP; // 0x1d8 // MPropertyFriendlyName "CP to set component of if water" - int32_t m_nActiveCP; // 0x1cc + int32_t m_nActiveCP; // 0x1dc // MPropertyFriendlyName "CP component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nActiveCPField; // 0x1d0 + int32_t m_nActiveCPField; // 0x1e0 private: - [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 + [[maybe_unused]] uint8_t __pad01e4[0x4]; // 0x1e4 public: // MPropertyFriendlyName "retest rate" - CParticleCollectionFloatInput m_flRetestRate; // 0x1d8 + CParticleCollectionFloatInput m_flRetestRate; // 0x1e8 // MPropertyFriendlyName "adaptive retest on moving surface" - bool m_bAdaptiveThreshold; // 0x328 + bool m_bAdaptiveThreshold; // 0x340 }; // Alignment: 5 -// Size: 0x5c0 +// Size: 0x5f0 class C_OP_RepeatedTriggerChildGroup : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1c0 + int32_t m_nChildGroupID; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 + [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 public: // MPropertyFriendlyName "Within-Cluster Refire Time" - CParticleCollectionFloatInput m_flClusterRefireTime; // 0x1c8 + CParticleCollectionFloatInput m_flClusterRefireTime; // 0x1d8 // MPropertyFriendlyName "Within-Cluster Fire Count Before Cooldown" - CParticleCollectionFloatInput m_flClusterSize; // 0x318 + CParticleCollectionFloatInput m_flClusterSize; // 0x330 // MPropertyFriendlyName "Cluster Cooldown Time" - CParticleCollectionFloatInput m_flClusterCooldown; // 0x468 + CParticleCollectionFloatInput m_flClusterCooldown; // 0x488 // MPropertyFriendlyName "limit active children to parent particle count" - bool m_bLimitChildCount; // 0x5b8 + bool m_bLimitChildCount; // 0x5e0 }; // Alignment: 2 -// Size: 0x320 +// Size: 0x330 class C_OP_ChooseRandomChildrenInGroup : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1c0 + int32_t m_nChildGroupID; // 0x1d0 private: - [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 + [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 public: // MPropertyFriendlyName "Number of Children to Use" - CParticleCollectionFloatInput m_flNumberOfChildren; // 0x1c8 + CParticleCollectionFloatInput m_flNumberOfChildren; // 0x1d8 }; // Alignment: 1 -// Size: 0x310 +// Size: 0x330 class C_OP_SetSimulationRate : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "simulation timescale" - CParticleCollectionFloatInput m_flSimulationScale; // 0x1c0 + CParticleCollectionFloatInput m_flSimulationScale; // 0x1d0 }; // Alignment: 5 -// Size: 0x1e0 +// Size: 0x1f0 class C_OP_ControlPointToRadialScreenSpace : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source Control Point in World" - int32_t m_nCPIn; // 0x1c0 + int32_t m_nCPIn; // 0x1d0 // MPropertyFriendlyName "Source Control Point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x1c4 + Vector m_vecCP1Pos; // 0x1d4 // MPropertyFriendlyName "Set control point number" - int32_t m_nCPOut; // 0x1d0 + int32_t m_nCPOut; // 0x1e0 // MPropertyFriendlyName "Output field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPOutField; // 0x1d4 + int32_t m_nCPOutField; // 0x1e4 // MPropertyFriendlyName "Ss Pos and Dot OUT CP" - int32_t m_nCPSSPosOut; // 0x1d8 + int32_t m_nCPSSPosOut; // 0x1e8 }; // Alignment: 15 -// Size: 0x1050 +// Size: 0x10b0 class C_OP_LightningSnapshotGenerator : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nCPSnapshot; // 0x1c0 + int32_t m_nCPSnapshot; // 0x1d0 // MPropertyFriendlyName "start control point number" - int32_t m_nCPStartPnt; // 0x1c4 + int32_t m_nCPStartPnt; // 0x1d4 // MPropertyFriendlyName "end control point number" - int32_t m_nCPEndPnt; // 0x1c8 + int32_t m_nCPEndPnt; // 0x1d8 private: - [[maybe_unused]] uint8_t __pad01cc[0x4]; // 0x1cc + [[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc public: // MPropertyFriendlyName "Recursion Depth" - CParticleCollectionFloatInput m_flSegments; // 0x1d0 + CParticleCollectionFloatInput m_flSegments; // 0x1e0 // MPropertyFriendlyName "Offset" - CParticleCollectionFloatInput m_flOffset; // 0x320 + CParticleCollectionFloatInput m_flOffset; // 0x338 // MPropertyFriendlyName "Offset Decay" - CParticleCollectionFloatInput m_flOffsetDecay; // 0x470 + CParticleCollectionFloatInput m_flOffsetDecay; // 0x490 // MPropertyFriendlyName "Recalculation Rate" - CParticleCollectionFloatInput m_flRecalcRate; // 0x5c0 + CParticleCollectionFloatInput m_flRecalcRate; // 0x5e8 // MPropertyFriendlyName "UV Scale" - CParticleCollectionFloatInput m_flUVScale; // 0x710 + CParticleCollectionFloatInput m_flUVScale; // 0x740 // MPropertyFriendlyName "UV Offset" - CParticleCollectionFloatInput m_flUVOffset; // 0x860 + CParticleCollectionFloatInput m_flUVOffset; // 0x898 // MPropertyFriendlyName "Branch Split Rate" - CParticleCollectionFloatInput m_flSplitRate; // 0x9b0 + CParticleCollectionFloatInput m_flSplitRate; // 0x9f0 // MPropertyFriendlyName "Branch Twist" - CParticleCollectionFloatInput m_flBranchTwist; // 0xb00 + CParticleCollectionFloatInput m_flBranchTwist; // 0xb48 // MPropertyFriendlyName "Branch Behavior" - ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0xc50 + ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0xca0 private: - [[maybe_unused]] uint8_t __pad0c54[0x4]; // 0xc54 + [[maybe_unused]] uint8_t __pad0ca4[0x4]; // 0xca4 public: // MPropertyFriendlyName "Start Radius" - CParticleCollectionFloatInput m_flRadiusStart; // 0xc58 + CParticleCollectionFloatInput m_flRadiusStart; // 0xca8 // MPropertyFriendlyName "End Radius" - CParticleCollectionFloatInput m_flRadiusEnd; // 0xda8 + CParticleCollectionFloatInput m_flRadiusEnd; // 0xe00 // MPropertyFriendlyName "Dedicated Particle Pool Count" - CParticleCollectionFloatInput m_flDedicatedPool; // 0xef8 + CParticleCollectionFloatInput m_flDedicatedPool; // 0xf58 }; // Alignment: 5 -// Size: 0x810 +// Size: 0x840 class C_OP_RemapExternalWindToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point to sample wind" - int32_t m_nCP; // 0x1c0 + int32_t m_nCP; // 0x1d0 // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x1c4 + int32_t m_nCPOutput; // 0x1d4 // MPropertyFriendlyName "wind scale" - CParticleCollectionVecInput m_vecScale; // 0x1c8 + CParticleCollectionVecInput m_vecScale; // 0x1d8 // MPropertyFriendlyName "set magnitude instead of vector" - bool m_bSetMagnitude; // 0x800 + bool m_bSetMagnitude; // 0x830 private: - [[maybe_unused]] uint8_t __pad0801[0x3]; // 0x801 + [[maybe_unused]] uint8_t __pad0831[0x3]; // 0x831 public: // MPropertyFriendlyName "magnitude output component" // MPropertyAttributeChoiceName "vector_component" // MPropertySuppressExpr "!m_bSetMagnitude" - int32_t m_nOutVectorField; // 0x804 + int32_t m_nOutVectorField; // 0x834 +}; + +// Alignment: 5 +// Size: 0x340 +class C_OP_SetGravityToCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "control point to sample gravity" + int32_t m_nCPInput; // 0x1d0 + // MPropertyFriendlyName "output control point" + int32_t m_nCPOutput; // 0x1d4 + // MPropertyFriendlyName "gravity scale" + CParticleCollectionFloatInput m_flScale; // 0x1d8 + // MPropertyFriendlyName "set orientation" + bool m_bSetOrientation; // 0x330 + // MPropertyFriendlyName "set gravity orientation to Z Down (instead of X)" + // MPropertySuppressExpr "!m_bSetOrientation" + bool m_bSetZDown; // 0x331 }; // Alignment: 4 -// Size: 0x470 +// Size: 0x490 class C_OP_QuantizeCPComponent : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input" - CParticleCollectionFloatInput m_flInputValue; // 0x1c0 + CParticleCollectionFloatInput m_flInputValue; // 0x1d0 // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x310 + int32_t m_nCPOutput; // 0x328 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x314 + int32_t m_nOutVectorField; // 0x32c // MPropertyFriendlyName "interval to snap to" - CParticleCollectionFloatInput m_flQuantizeValue; // 0x318 + CParticleCollectionFloatInput m_flQuantizeValue; // 0x330 }; // Alignment: 1 @@ -10242,216 +9648,216 @@ public: }; // Alignment: 7 -// Size: 0x2650 +// Size: 0x2740 class CBaseTrailRenderer : public CBaseRendererSource2 { public: // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2390 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x2470 // 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; // 0x2394 + int32_t m_nOrientationControlPoint; // 0x2474 // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "minimum visual screen-size" // MPropertySortPriority "900" - float m_flMinSize; // 0x2398 + float m_flMinSize; // 0x2478 // MPropertyFriendlyName "maximum visual screen-size" // MPropertySortPriority "900" - float m_flMaxSize; // 0x239c + float m_flMaxSize; // 0x247c // MPropertyFriendlyName "start fade screen-size" // MPropertySortPriority "900" - CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x23a0 + CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x2480 // MPropertyFriendlyName "end fade and cull screen-size" // MPropertySortPriority "900" - CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x24f0 + CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x25d8 // MPropertyStartGroup "Trail UV Controls" // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" // MPropertySortPriority "800" - bool m_bClampV; // 0x2640 + bool m_bClampV; // 0x2730 }; // Alignment: 20 -// Size: 0x3840 +// Size: 0x3990 class C_OP_RenderTrails : public CBaseTrailRenderer { public: // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "enable fading and clamping" // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x2650 + bool m_bEnableFadingAndClamping; // 0x2740 private: - [[maybe_unused]] uint8_t __pad2651[0x3]; // 0x2651 + [[maybe_unused]] uint8_t __pad2741[0x3]; // 0x2741 public: // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x2654 + float m_flStartFadeDot; // 0x2744 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x2658 + float m_flEndFadeDot; // 0x2748 // MPropertyStartGroup "+Trail Length" // MPropertyFriendlyName "Anchor point source" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nPrevPntSource; // 0x265c + ParticleAttributeIndex_t m_nPrevPntSource; // 0x274c // MPropertyFriendlyName "max length" // MPropertySortPriority "800" - float m_flMaxLength; // 0x2660 + float m_flMaxLength; // 0x2750 // MPropertyFriendlyName "min length" // MPropertySortPriority "800" - float m_flMinLength; // 0x2664 + float m_flMinLength; // 0x2754 // MPropertyFriendlyName "ignore delta time" // MPropertySortPriority "800" - bool m_bIgnoreDT; // 0x2668 + bool m_bIgnoreDT; // 0x2758 private: - [[maybe_unused]] uint8_t __pad2669[0x3]; // 0x2669 + [[maybe_unused]] uint8_t __pad2759[0x3]; // 0x2759 public: // MPropertyFriendlyName "constrain radius to no more than this times the length" // MPropertySortPriority "800" - float m_flConstrainRadiusToLengthRatio; // 0x266c + float m_flConstrainRadiusToLengthRatio; // 0x275c // MPropertyFriendlyName "amount to scale trail length by" - float m_flLengthScale; // 0x2670 + float m_flLengthScale; // 0x2760 // MPropertyFriendlyName "how long before a trail grows to its full length" - float m_flLengthFadeInTime; // 0x2674 + float m_flLengthFadeInTime; // 0x2764 // MPropertyStartGroup "Trail Head & Tail" // MPropertyFriendlyName "head taper scale" // MPropertySortPriority "800" - CPerParticleFloatInput m_flRadiusHeadTaper; // 0x2678 + CPerParticleFloatInput m_flRadiusHeadTaper; // 0x2768 // MPropertyFriendlyName "head color scale" - CParticleCollectionVecInput m_vecHeadColorScale; // 0x27c8 + CParticleCollectionVecInput m_vecHeadColorScale; // 0x28c0 // MPropertyFriendlyName "head alpha scale" - CPerParticleFloatInput m_flHeadAlphaScale; // 0x2e00 + CPerParticleFloatInput m_flHeadAlphaScale; // 0x2f18 // MPropertyFriendlyName "tail taper scale" - CPerParticleFloatInput m_flRadiusTaper; // 0x2f50 + CPerParticleFloatInput m_flRadiusTaper; // 0x3070 // MPropertyFriendlyName "tail color scale" - CParticleCollectionVecInput m_vecTailColorScale; // 0x30a0 + CParticleCollectionVecInput m_vecTailColorScale; // 0x31c8 // MPropertyFriendlyName "tail alpha scale" - CPerParticleFloatInput m_flTailAlphaScale; // 0x36d8 + CPerParticleFloatInput m_flTailAlphaScale; // 0x3820 // MPropertyStartGroup "Trail UV Controls" // MPropertyFriendlyName "texture UV horizontal Scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nHorizCropField; // 0x3828 + ParticleAttributeIndex_t m_nHorizCropField; // 0x3978 // MPropertyFriendlyName "texture UV vertical Scale field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nVertCropField; // 0x382c + ParticleAttributeIndex_t m_nVertCropField; // 0x397c // MPropertyFriendlyName "Trail forward shift (fraction)" - float m_flForwardShift; // 0x3830 + float m_flForwardShift; // 0x3980 // MPropertyFriendlyName "Flip U or V texcoords if pitch or yaw go over PI" - bool m_bFlipUVBasedOnPitchYaw; // 0x3834 + bool m_bFlipUVBasedOnPitchYaw; // 0x3984 }; // Alignment: 30 -// Size: 0x27f0 +// Size: 0x28e0 class C_OP_RenderRopes : public CBaseRendererSource2 { public: // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "enable fading and clamping" // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x2390 + bool m_bEnableFadingAndClamping; // 0x2470 private: - [[maybe_unused]] uint8_t __pad2391[0x3]; // 0x2391 + [[maybe_unused]] uint8_t __pad2471[0x3]; // 0x2471 public: // MPropertyFriendlyName "minimum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMinSize; // 0x2394 + float m_flMinSize; // 0x2474 // MPropertyFriendlyName "maximum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMaxSize; // 0x2398 + float m_flMaxSize; // 0x2478 // MPropertyFriendlyName "start fade screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flStartFadeSize; // 0x239c + float m_flStartFadeSize; // 0x247c // MPropertyFriendlyName "end fade and cull screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flEndFadeSize; // 0x23a0 + float m_flEndFadeSize; // 0x2480 // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x23a4 + float m_flStartFadeDot; // 0x2484 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x23a8 + float m_flEndFadeDot; // 0x2488 // MPropertyStartGroup "Rope Tesselation" // MPropertyFriendlyName "amount to taper the width of the trail end by" - float m_flRadiusTaper; // 0x23ac + float m_flRadiusTaper; // 0x248c // MPropertyFriendlyName "minium number of quads per render segment" // MPropertySortPriority "850" - int32_t m_nMinTesselation; // 0x23b0 + int32_t m_nMinTesselation; // 0x2490 // MPropertyFriendlyName "maximum number of quads per render segment" - int32_t m_nMaxTesselation; // 0x23b4 + int32_t m_nMaxTesselation; // 0x2494 // MPropertyFriendlyName "tesselation resolution scale factor" - float m_flTessScale; // 0x23b8 + float m_flTessScale; // 0x2498 private: - [[maybe_unused]] uint8_t __pad23bc[0x4]; // 0x23bc + [[maybe_unused]] uint8_t __pad249c[0x4]; // 0x249c public: // MPropertyStartGroup "+Rope Global UV Controls" // MPropertyFriendlyName "global texture V World Size" // MPropertySortPriority "800" - CParticleCollectionRendererFloatInput m_flTextureVWorldSize; // 0x23c0 + CParticleCollectionRendererFloatInput m_flTextureVWorldSize; // 0x24a0 // MPropertyFriendlyName "global texture V Scroll Rate" - CParticleCollectionRendererFloatInput m_flTextureVScrollRate; // 0x2510 + CParticleCollectionRendererFloatInput m_flTextureVScrollRate; // 0x25f8 // MPropertyFriendlyName "global texture V Offset" - CParticleCollectionRendererFloatInput m_flTextureVOffset; // 0x2660 + CParticleCollectionRendererFloatInput m_flTextureVOffset; // 0x2750 // MPropertyFriendlyName "global texture V Params CP" - int32_t m_nTextureVParamsCP; // 0x27b0 + int32_t m_nTextureVParamsCP; // 0x28a8 // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" - bool m_bClampV; // 0x27b4 + bool m_bClampV; // 0x28ac private: - [[maybe_unused]] uint8_t __pad27b5[0x3]; // 0x27b5 + [[maybe_unused]] uint8_t __pad28ad[0x3]; // 0x28ad public: // MPropertyStartGroup "Rope Global UV Controls/CP Scaling" // MPropertyFriendlyName "scale CP start" - int32_t m_nScaleCP1; // 0x27b8 + int32_t m_nScaleCP1; // 0x28b0 // MPropertyFriendlyName "scale CP end" - int32_t m_nScaleCP2; // 0x27bc + int32_t m_nScaleCP2; // 0x28b4 // MPropertyFriendlyName "scale V world size by CP distance" - float m_flScaleVSizeByControlPointDistance; // 0x27c0 + float m_flScaleVSizeByControlPointDistance; // 0x28b8 // MPropertyFriendlyName "scale V scroll rate by CP distance" - float m_flScaleVScrollByControlPointDistance; // 0x27c4 + float m_flScaleVScrollByControlPointDistance; // 0x28bc // MPropertyFriendlyName "scale V offset by CP distance" - float m_flScaleVOffsetByControlPointDistance; // 0x27c8 + float m_flScaleVOffsetByControlPointDistance; // 0x28c0 private: - [[maybe_unused]] uint8_t __pad27cc[0x1]; // 0x27cc + [[maybe_unused]] uint8_t __pad28c4[0x1]; // 0x28c4 public: // MPropertyStartGroup "Rope Global UV Controls" // MPropertyFriendlyName "Use scalar attribute for texture coordinate" - bool m_bUseScalarForTextureCoordinate; // 0x27cd + bool m_bUseScalarForTextureCoordinate; // 0x28c5 private: - [[maybe_unused]] uint8_t __pad27ce[0x2]; // 0x27ce + [[maybe_unused]] uint8_t __pad28c6[0x2]; // 0x28c6 public: // MPropertyFriendlyName "scalar to use for texture coordinate" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x27d0 + ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x28c8 // MPropertyFriendlyName "scale value to map attribute to texture coordinate" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - float m_flScalarAttributeTextureCoordScale; // 0x27d4 + float m_flScalarAttributeTextureCoordScale; // 0x28cc // MPropertyStartGroup "Rope Order Controls" // MPropertyFriendlyName "reverse point order" // MPropertySortPriority "800" - bool m_bReverseOrder; // 0x27d8 + bool m_bReverseOrder; // 0x28d0 // MPropertyFriendlyName "Closed loop" - bool m_bClosedLoop; // 0x27d9 + bool m_bClosedLoop; // 0x28d1 private: - [[maybe_unused]] uint8_t __pad27da[0x2]; // 0x27da + [[maybe_unused]] uint8_t __pad28d2[0x2]; // 0x28d2 public: // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation_type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x27dc + ParticleOrientationChoiceList_t m_nOrientationType; // 0x28d4 // 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; // 0x27e0 + ParticleAttributeIndex_t m_nVectorFieldForOrientation; // 0x28d8 // MPropertyStartGroup "Material" // MPropertyFriendlyName "draw as opaque" - bool m_bDrawAsOpaque; // 0x27e4 + bool m_bDrawAsOpaque; // 0x28dc // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "generate normals for cylinder" - bool m_bGenerateNormals; // 0x27e5 + bool m_bGenerateNormals; // 0x28dd }; // Alignment: 8 @@ -10512,23 +9918,53 @@ public: float m_flEndFadeSize; // 0x228 }; -// Alignment: 5 -// Size: 0x600 +// Alignment: 6 +// Size: 0x650 class C_OP_RenderBlobs : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "cube width" CParticleCollectionRendererFloatInput m_cubeWidth; // 0x200 // MPropertyFriendlyName "cutoff radius" - CParticleCollectionRendererFloatInput m_cutoffRadius; // 0x350 + CParticleCollectionRendererFloatInput m_cutoffRadius; // 0x358 // MPropertyFriendlyName "render radius" - CParticleCollectionRendererFloatInput m_renderRadius; // 0x4a0 + CParticleCollectionRendererFloatInput m_renderRadius; // 0x4b0 // MPropertyFriendlyName "scale CP (cube width/cutoff/render = x/y/z)" - int32_t m_nScaleCP; // 0x5f0 + int32_t m_nScaleCP; // 0x608 private: - [[maybe_unused]] uint8_t __pad05f4[0x4]; // 0x5f4 + [[maybe_unused]] uint8_t __pad060c[0x4]; // 0x60c public: - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x5f8 + // MPropertyFriendlyName "material variables" + // MPropertyAutoExpandSelf + // MPropertySortPriority "600" + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x610 +private: + [[maybe_unused]] uint8_t __pad0628[0x18]; // 0x628 +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x640 +}; + +// Alignment: 6 +// Size: 0x620 +class C_OP_RenderGpuImplicit : public CParticleFunctionRenderer +{ +public: + // MPropertySortPriority "-1" + // MPropertyDescription "Honors the per-particle radius (multiplied by radius scale) but is more expensive to render. Some particles with large radii can make things much costlier" + bool m_bUsePerParticleRadius; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0201[0x7]; // 0x201 +public: + CParticleCollectionRendererFloatInput m_fGridSize; // 0x208 + CParticleCollectionRendererFloatInput m_fRadiusScale; // 0x360 + // MPropertyAttributeRange ".1 .95" + CParticleCollectionRendererFloatInput m_fIsosurfaceThreshold; // 0x4b8 + // MPropertyFriendlyName "scale CP (grid size/particle radius/threshold = x/y/z)" + int32_t m_nScaleCP; // 0x610 +private: + [[maybe_unused]] uint8_t __pad0614[0x4]; // 0x614 +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x618 }; // Alignment: 2 @@ -10542,8 +9978,8 @@ public: float m_flForwardDegrees; // 0x204 }; -// Alignment: 48 -// Size: 0x2400 +// Alignment: 49 +// Size: 0x25f0 class C_OP_RenderModels : public CParticleFunctionRenderer { public: @@ -10597,150 +10033,148 @@ public: CPerParticleVecInput m_vecLocalOffset; // 0x230 // MPropertyFriendlyName "model local rotation (pitch/yaw/roll)" // MPropertySortPriority "750" - CPerParticleVecInput m_vecLocalRotation; // 0x868 + CPerParticleVecInput m_vecLocalRotation; // 0x888 // MPropertyStartGroup "Model Scale" // MPropertyFriendlyName "ignore radius" // MPropertySortPriority "700" - bool m_bIgnoreRadius; // 0xea0 + bool m_bIgnoreRadius; // 0xee0 private: - [[maybe_unused]] uint8_t __pad0ea1[0x3]; // 0xea1 + [[maybe_unused]] uint8_t __pad0ee1[0x3]; // 0xee1 public: // MPropertyFriendlyName "model scale CP" // MPropertySortPriority "700" - int32_t m_nModelScaleCP; // 0xea4 + int32_t m_nModelScaleCP; // 0xee4 // MPropertyFriendlyName "model component scale" // MPropertySortPriority "700" - CPerParticleVecInput m_vecComponentScale; // 0xea8 + CPerParticleVecInput m_vecComponentScale; // 0xee8 // MPropertyFriendlyName "apply scales in local model space" // MPropertySortPriority "700" - bool m_bLocalScale; // 0x14e0 + bool m_bLocalScale; // 0x1540 // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animated" // MPropertySortPriority "500" - bool m_bAnimated; // 0x14e1 + bool m_bAnimated; // 0x1541 private: - [[maybe_unused]] uint8_t __pad14e2[0x2]; // 0x14e2 + [[maybe_unused]] uint8_t __pad1542[0x2]; // 0x1542 public: // MPropertyFriendlyName "animation rate" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - float m_flAnimationRate; // 0x14e4 + float m_flAnimationRate; // 0x1544 // MPropertyFriendlyName "scale animation rate" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bScaleAnimationRate; // 0x14e8 + bool m_bScaleAnimationRate; // 0x1548 // MPropertyFriendlyName "force looping animations" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bForceLoopingAnimation; // 0x14e9 + bool m_bForceLoopingAnimation; // 0x1549 // MPropertyFriendlyName "reset animation frame on stop" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bResetAnimOnStop; // 0x14ea + bool m_bResetAnimOnStop; // 0x154a // MPropertyFriendlyName "set animation frame manually" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bManualAnimFrame; // 0x14eb + bool m_bManualAnimFrame; // 0x154b // MPropertyFriendlyName "animation rate scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - ParticleAttributeIndex_t m_nAnimationScaleField; // 0x14ec + ParticleAttributeIndex_t m_nAnimationScaleField; // 0x154c // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animation sequence field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" - ParticleAttributeIndex_t m_nAnimationField; // 0x14f0 + ParticleAttributeIndex_t m_nAnimationField; // 0x1550 // MPropertyFriendlyName "manual animation frame field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" // MPropertySuppressExpr "!(m_bAnimated && m_bManualAnimFrame)" - ParticleAttributeIndex_t m_nManualFrameField; // 0x14f4 + ParticleAttributeIndex_t m_nManualFrameField; // 0x1554 // MPropertyFriendlyName "activity override" // MPropertySuppressExpr "mod != dota" // MPropertySortPriority "500" - char m_ActivityName[256]; // 0x14f8 + char m_ActivityName[256]; // 0x1558 // MPropertyFriendlyName "sequence override" // MPropertySuppressExpr "mod == dota" // MPropertySortPriority "500" - char m_SequenceName[256]; // 0x15f8 + char m_SequenceName[256]; // 0x1658 // MPropertyFriendlyName "Enable Cloth Simulation" - bool m_bEnableClothSimulation; // 0x16f8 + bool m_bEnableClothSimulation; // 0x1758 private: - [[maybe_unused]] uint8_t __pad16f9[0x7]; // 0x16f9 + [[maybe_unused]] uint8_t __pad1759[0x7]; // 0x1759 public: // MPropertyStartGroup "Material" // MPropertyFriendlyName "material override" // MPropertySortPriority "600" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x1700 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x1760 // MPropertyFriendlyName "override translucent materials" // MPropertySortPriority "600" - bool m_bOverrideTranslucentMaterials; // 0x1708 + bool m_bOverrideTranslucentMaterials; // 0x1768 private: - [[maybe_unused]] uint8_t __pad1709[0x3]; // 0x1709 + [[maybe_unused]] uint8_t __pad1769[0x7]; // 0x1769 public: // MPropertyFriendlyName "skin number" // MPropertySortPriority "600" - int32_t m_nSkin; // 0x170c - // MPropertyFriendlyName "skin override CP" - // MPropertySortPriority "600" - int32_t m_nSkinCP; // 0x1710 -private: - [[maybe_unused]] uint8_t __pad1714[0x4]; // 0x1714 -public: + CPerParticleFloatInput m_nSkin; // 0x1770 // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf // MPropertySortPriority "600" - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x1718 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x18c8 // MPropertyStartGroup "Model Overrides" // MPropertyFriendlyName "input model" - CParticleModelInput m_modelInput; // 0x1730 + CParticleModelInput m_modelInput; // 0x18e0 // MPropertyFriendlyName "model LOD" - int32_t m_nLOD; // 0x1790 + int32_t m_nLOD; // 0x1940 // MPropertyFriendlyName "model override economy loadout slot type" - char m_EconSlotName[256]; // 0x1794 + char m_EconSlotName[256]; // 0x1944 // MPropertyFriendlyName "model override original model only (ignore shapeshift/hex/etc)" - bool m_bOriginalModel; // 0x1894 + bool m_bOriginalModel; // 0x1a44 // MPropertyFriendlyName "suppress tinting of the model" - bool m_bSuppressTint; // 0x1895 + bool m_bSuppressTint; // 0x1a45 // MPropertyFriendlyName "use raw mesh group (ignore bodygroup field and use submodel field as raw meshgroup)" - bool m_bUseRawMeshGroup; // 0x1896 + bool m_bUseRawMeshGroup; // 0x1a46 // MPropertyFriendlyName "disable shadows" - bool m_bDisableShadows; // 0x1897 + bool m_bDisableShadows; // 0x1a47 + // MPropertyFriendlyName "accept decals" + bool m_bAcceptsDecals; // 0x1a48 // MPropertyFriendlyName "forcedrawinterlevedwithsiblings" - bool m_bForceDrawInterlevedWithSiblings; // 0x1898 + bool m_bForceDrawInterlevedWithSiblings; // 0x1a49 + // MPropertyFriendlyName "do not draw in particle pass" + bool m_bDoNotDrawInParticlePass; // 0x1a4a // MPropertyFriendlyName "render attribute" - char m_szRenderAttribute[260]; // 0x1899 + char m_szRenderAttribute[260]; // 0x1a4b private: - [[maybe_unused]] uint8_t __pad199d[0x3]; // 0x199d + [[maybe_unused]] uint8_t __pad1b4f[0x1]; // 0x1b4f public: // MPropertyStartGroup "+Renderer Modifiers" // MPropertyFriendlyName "Radius Scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x19a0 + CParticleCollectionFloatInput m_flRadiusScale; // 0x1b50 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x1af0 + CParticleCollectionFloatInput m_flAlphaScale; // 0x1ca8 // MPropertyFriendlyName "rotation roll scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRollScale; // 0x1c40 + CParticleCollectionFloatInput m_flRollScale; // 0x1e00 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x1d90 + ParticleAttributeIndex_t m_nAlpha2Field; // 0x1f58 private: - [[maybe_unused]] uint8_t __pad1d94[0x4]; // 0x1d94 + [[maybe_unused]] uint8_t __pad1f5c[0x4]; // 0x1f5c public: // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x1d98 + CParticleCollectionVecInput m_vecColorScale; // 0x1f60 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x23d0 + ParticleColorBlendType_t m_nColorBlendType; // 0x25b8 }; // Alignment: 8 -// Size: 0xb20 +// Size: 0xb50 class C_OP_RenderMaterialProxy : public CParticleFunctionRenderer { public: @@ -10756,11 +10190,11 @@ public: // MPropertyFriendlyName "material override enable" CParticleCollectionFloatInput m_flMaterialOverrideEnabled; // 0x228 // MPropertyFriendlyName "model tint" - CParticleCollectionVecInput m_vecColorScale; // 0x378 + CParticleCollectionVecInput m_vecColorScale; // 0x380 // MPropertyFriendlyName "model alpha" - CPerParticleFloatInput m_flAlpha; // 0x9b0 + CPerParticleFloatInput m_flAlpha; // 0x9d8 // MPropertyFriendlyName "model tint blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0xb00 + ParticleColorBlendType_t m_nColorBlendType; // 0xb30 }; // Alignment: 11 @@ -10802,7 +10236,7 @@ public: }; // Alignment: 16 -// Size: 0x880 +// Size: 0x8a0 class C_OP_RenderDeferredLight : public CParticleFunctionRenderer { public: @@ -10830,37 +10264,37 @@ public: CParticleCollectionVecInput m_vecColorScale; // 0x210 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x848 + ParticleColorBlendType_t m_nColorBlendType; // 0x868 // MPropertyStartGroup // MPropertyFriendlyName "spotlight distance" - float m_flLightDistance; // 0x84c + float m_flLightDistance; // 0x86c // MPropertyFriendlyName "light start falloff" - float m_flStartFalloff; // 0x850 + float m_flStartFalloff; // 0x870 // MPropertyFriendlyName "spotlight distance falloff" - float m_flDistanceFalloff; // 0x854 + float m_flDistanceFalloff; // 0x874 // MPropertyFriendlyName "spotlight FoV" - float m_flSpotFoV; // 0x858 + float m_flSpotFoV; // 0x878 // MPropertyFriendlyName "projected texture alpha test point scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x85c + ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x87c // MPropertyFriendlyName "projected texture alpha test range scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x860 + ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x880 // MPropertyFriendlyName "projected texture alpha test sharpness scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x864 + ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x884 // MPropertyFriendlyName "texture" // MPropertySuppressExpr "!m_bUseTexture" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x868 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x888 // MPropertyFriendlyName "HSV Shift Control Point" - int32_t m_nHSVShiftControlPoint; // 0x870 + int32_t m_nHSVShiftControlPoint; // 0x890 }; // Alignment: 29 -// Size: 0x1320 +// Size: 0x1380 class C_OP_RenderStandardLight : public CParticleFunctionRenderer { public: @@ -10872,103 +10306,103 @@ public: // MPropertyFriendlyName "color blend" CParticleCollectionVecInput m_vecColorScale; // 0x208 // MPropertyFriendlyName "color blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0x840 + ParticleColorBlendType_t m_nColorBlendType; // 0x860 private: - [[maybe_unused]] uint8_t __pad0844[0x4]; // 0x844 + [[maybe_unused]] uint8_t __pad0864[0x4]; // 0x864 public: // MPropertyFriendlyName "intensity" - CParticleCollectionFloatInput m_flIntensity; // 0x848 + CParticleCollectionFloatInput m_flIntensity; // 0x868 // MPropertyFriendlyName "cast shadows" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bCastShadows; // 0x998 + bool m_bCastShadows; // 0x9c0 private: - [[maybe_unused]] uint8_t __pad0999[0x7]; // 0x999 + [[maybe_unused]] uint8_t __pad09c1[0x7]; // 0x9c1 public: // MPropertyFriendlyName "inner cone angle" // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flTheta; // 0x9a0 + CParticleCollectionFloatInput m_flTheta; // 0x9c8 // MPropertyFriendlyName "outer cone angle" // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flPhi; // 0xaf0 + CParticleCollectionFloatInput m_flPhi; // 0xb20 // MPropertyFriendlyName "light radius multiplier" - CParticleCollectionFloatInput m_flRadiusMultiplier; // 0xc40 + CParticleCollectionFloatInput m_flRadiusMultiplier; // 0xc78 // MPropertyFriendlyName "attenuation type" - StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0xd90 + StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0xdd0 private: - [[maybe_unused]] uint8_t __pad0d94[0x4]; // 0xd94 + [[maybe_unused]] uint8_t __pad0dd4[0x4]; // 0xdd4 public: // MPropertyFriendlyName "falloff linearity" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_NEW || ( m_nAttenuationStyle == LIGHT_STYLE_OLD && m_nLightType == PARTICLE_LIGHT_TYPE_FX )" - CParticleCollectionFloatInput m_flFalloffLinearity; // 0xd98 + CParticleCollectionFloatInput m_flFalloffLinearity; // 0xdd8 // MPropertyFriendlyName "falloff fifty percent" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xee8 + CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xf30 // MPropertyFriendlyName "falloff zero percent" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0x1038 + CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0x1088 // MPropertyFriendlyName "render diffuse" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderDiffuse; // 0x1188 + bool m_bRenderDiffuse; // 0x11e0 // MPropertyFriendlyName "render specular" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderSpecular; // 0x1189 + bool m_bRenderSpecular; // 0x11e1 private: - [[maybe_unused]] uint8_t __pad118a[0x6]; // 0x118a + [[maybe_unused]] uint8_t __pad11e2[0x6]; // 0x11e2 public: // MPropertyFriendlyName "light cookie string" - CUtlString m_lightCookie; // 0x1190 + CUtlString m_lightCookie; // 0x11e8 // MPropertyFriendlyName "light priority" - int32_t m_nPriority; // 0x1198 + int32_t m_nPriority; // 0x11f0 // MPropertyFriendlyName "fog lighting mode" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - ParticleLightFogLightingMode_t m_nFogLightingMode; // 0x119c + ParticleLightFogLightingMode_t m_nFogLightingMode; // 0x11f4 // MPropertyFriendlyName "fog contribution" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - CParticleCollectionRendererFloatInput m_flFogContribution; // 0x11a0 + CParticleCollectionRendererFloatInput m_flFogContribution; // 0x11f8 // MPropertyFriendlyName "capsule behavior" - ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0x12f0 + ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0x1350 // MPropertyStartGroup "Capsule Light Controls" // MPropertyFriendlyName "capsule length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - float m_flCapsuleLength; // 0x12f4 + float m_flCapsuleLength; // 0x1354 // MPropertyFriendlyName "reverse point order" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bReverseOrder; // 0x12f8 + bool m_bReverseOrder; // 0x1358 // MPropertyFriendlyName "Closed loop" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bClosedLoop; // 0x12f9 + bool m_bClosedLoop; // 0x1359 private: - [[maybe_unused]] uint8_t __pad12fa[0x2]; // 0x12fa + [[maybe_unused]] uint8_t __pad135a[0x2]; // 0x135a 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; // 0x12fc + ParticleAttributeIndex_t m_nPrevPntSource; // 0x135c // MPropertyFriendlyName "max length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMaxLength; // 0x1300 + float m_flMaxLength; // 0x1360 // MPropertyFriendlyName "min length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMinLength; // 0x1304 + float m_flMinLength; // 0x1364 // MPropertyFriendlyName "ignore delta time" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - bool m_bIgnoreDT; // 0x1308 + bool m_bIgnoreDT; // 0x1368 private: - [[maybe_unused]] uint8_t __pad1309[0x3]; // 0x1309 + [[maybe_unused]] uint8_t __pad1369[0x3]; // 0x1369 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; // 0x130c + float m_flConstrainRadiusToLengthRatio; // 0x136c // MPropertyFriendlyName "amount to scale trail length by" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flLengthScale; // 0x1310 + float m_flLengthScale; // 0x1370 // 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; // 0x1314 + float m_flLengthFadeInTime; // 0x1374 }; -// Alignment: 13 -// Size: 0x1190 +// Alignment: 14 +// Size: 0x11f0 class C_OP_RenderOmni2Light : public CParticleFunctionRenderer { public: @@ -10981,36 +10415,38 @@ public: CParticleCollectionVecInput m_vColorBlend; // 0x208 // MPropertyFriendlyName "Color Blend Type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x840 - ParticleLightUnitChoiceList_t m_nBrightnessUnit; // 0x844 + ParticleColorBlendType_t m_nColorBlendType; // 0x860 + ParticleLightUnitChoiceList_t m_nBrightnessUnit; // 0x864 // MPropertyFriendlyName "Lumens" // MPropertySuppressExpr "m_nBrightnessUnit != PARTICLE_LIGHT_UNIT_LUMENS" - CPerParticleFloatInput m_flBrightnessLumens; // 0x848 + CPerParticleFloatInput m_flBrightnessLumens; // 0x868 // MPropertyFriendlyName "Candelas" // MPropertySuppressExpr "m_nBrightnessUnit != PARTICLE_LIGHT_UNIT_CANDELAS" - CPerParticleFloatInput m_flBrightnessCandelas; // 0x998 + CPerParticleFloatInput m_flBrightnessCandelas; // 0x9c0 // MPropertyFriendlyName "Shadows" // MPropertySuppressExpr "mod == csgo" - bool m_bCastShadows; // 0xae8 + bool m_bCastShadows; // 0xb18 private: - [[maybe_unused]] uint8_t __pad0ae9[0x7]; // 0xae9 + [[maybe_unused]] uint8_t __pad0b19[0x7]; // 0xb19 public: // MPropertyFriendlyName "Light Radius" - CPerParticleFloatInput m_flLuminaireRadius; // 0xaf0 + CPerParticleFloatInput m_flLuminaireRadius; // 0xb20 // MPropertyFriendlyName "Skirt" - CPerParticleFloatInput m_flSkirt; // 0xc40 + CPerParticleFloatInput m_flSkirt; // 0xc78 // MPropertyFriendlyName "Range" - CPerParticleFloatInput m_flRange; // 0xd90 + CPerParticleFloatInput m_flRange; // 0xdd0 // MPropertyFriendlyName "Inner Cone Angle" - CPerParticleFloatInput m_flInnerConeAngle; // 0xee0 + CPerParticleFloatInput m_flInnerConeAngle; // 0xf28 // MPropertyFriendlyName "Outer Cone Angle" - CPerParticleFloatInput m_flOuterConeAngle; // 0x1030 + CPerParticleFloatInput m_flOuterConeAngle; // 0x1080 // MPropertyFriendlyName "Cookie" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x1180 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x11d8 + // MPropertyFriendlyName "Cookie is Spherically Mapped" + bool m_bSphericalCookie; // 0x11e0 }; // Alignment: 7 -// Size: 0xd90 +// Size: 0xdd0 class C_OP_RenderLightBeam : public CParticleFunctionRenderer { public: @@ -11018,24 +10454,24 @@ public: CParticleCollectionVecInput m_vColorBlend; // 0x200 // MPropertyFriendlyName "Color Blend Type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x838 + ParticleColorBlendType_t m_nColorBlendType; // 0x858 private: - [[maybe_unused]] uint8_t __pad083c[0x4]; // 0x83c + [[maybe_unused]] uint8_t __pad085c[0x4]; // 0x85c public: // MPropertyFriendlyName "Lumens Per Meter" - CParticleCollectionFloatInput m_flBrightnessLumensPerMeter; // 0x840 + CParticleCollectionFloatInput m_flBrightnessLumensPerMeter; // 0x860 // MPropertyFriendlyName "Shadows" // MPropertySuppressExpr "mod == csgo" - bool m_bCastShadows; // 0x990 + bool m_bCastShadows; // 0x9b8 private: - [[maybe_unused]] uint8_t __pad0991[0x7]; // 0x991 + [[maybe_unused]] uint8_t __pad09b9[0x7]; // 0x9b9 public: // MPropertyFriendlyName "Skirt" - CParticleCollectionFloatInput m_flSkirt; // 0x998 + CParticleCollectionFloatInput m_flSkirt; // 0x9c0 // MPropertyFriendlyName "Range" - CParticleCollectionFloatInput m_flRange; // 0xae8 + CParticleCollectionFloatInput m_flRange; // 0xb18 // MPropertyFriendlyName "Thickness" - CParticleCollectionFloatInput m_flThickness; // 0xc38 + CParticleCollectionFloatInput m_flThickness; // 0xc70 }; // Alignment: 0 @@ -11101,7 +10537,7 @@ public: }; // Alignment: 3 -// Size: 0x360 +// Size: 0x370 class C_OP_RenderPostProcessing : public CParticleFunctionRenderer { public: @@ -11109,9 +10545,9 @@ public: CPerParticleFloatInput m_flPostProcessStrength; // 0x200 // MPropertyFriendlyName "Post Processing File" // MPropertyAttributeEditor "AssetBrowse( vpost, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x350 + CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x358 // MPropertyFriendlyName "Post Processing Priority Group" - ParticlePostProcessPriorityGroup_t m_nPriority; // 0x358 + ParticlePostProcessPriorityGroup_t m_nPriority; // 0x360 }; // Alignment: 12 @@ -11262,7 +10698,7 @@ public: }; // Alignment: 4 -// Size: 0x360 +// Size: 0x370 class C_OP_RenderVRHapticEvent : public CParticleFunctionRenderer { public: @@ -11280,3 +10716,113 @@ public: CPerParticleFloatInput m_flAmplitude; // 0x210 }; +// Alignment: 8 +// Size: 0x9e0 +class C_OP_RemapSDFDistanceToScalarAttribute : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "Output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 + // MPropertyFriendlyName "Input field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nVectorFieldInput; // 0x1c4 + // MPropertyFriendlyName "Minimum distance" + CParticleCollectionFloatInput m_flMinDistance; // 0x1c8 + // MPropertyFriendlyName "Maximum distance" + CParticleCollectionFloatInput m_flMaxDistance; // 0x320 + // MPropertyFriendlyName "Value for distmax" + CParticleCollectionFloatInput m_flValueAboveMax; // 0x880 +}; + +// Alignment: 8 +// Size: 0x4b0 +class C_OP_RemapSDFDistanceToVectorAttribute : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "Output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nVectorFieldOutput; // 0x1c0 + // MPropertyFriendlyName "Input field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nVectorFieldInput; // 0x1c4 + // MPropertyFriendlyName "Minimum distance" + CParticleCollectionFloatInput m_flMinDistance; // 0x1c8 + // MPropertyFriendlyName "Maximum distance" + CParticleCollectionFloatInput m_flMaxDistance; // 0x320 + // MPropertyFriendlyName "Value for distmax" + Vector m_vValueAboveMax; // 0x49c +}; + +// Alignment: 1 +// Size: 0x1e0 +class C_OP_SDFForce : public CParticleFunctionForce +{ +public: + // MPropertyFriendlyName "force scale" + float m_flForceScale; // 0x1d0 +}; + +// Alignment: 1 +// Size: 0x1d0 +class C_OP_RemapSDFGradientToVectorAttribute : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1c0 +}; + +// Alignment: 3 +// Size: 0x1f0 +class C_OP_SDFLighting : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "Lighting dir" + Vector m_vLightingDir; // 0x1c0 + // MPropertyFriendlyName "shadow color" + Vector m_vTint_0; // 0x1cc + // MPropertyFriendlyName "lit color" + Vector m_vTint_1; // 0x1d8 +}; + +// Alignment: 3 +// Size: 0x480 +class C_OP_SDFConstraint : public CParticleFunctionConstraint +{ +public: + // MPropertyFriendlyName "min dist to sdf" + CParticleCollectionFloatInput m_flMinDist; // 0x1c0 + // MPropertyFriendlyName "max dist to sdf" + CParticleCollectionFloatInput m_flMaxDist; // 0x318 + // MPropertyFriendlyName "Max # of iterations" + int32_t m_nMaxIterations; // 0x470 +}; + +// Alignment: 3 +// Size: 0x980 +class C_OP_ParticlePhysics : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "gravity" + // MVectorIsCoordinate + CParticleCollectionVecInput m_Gravity; // 0x1c0 + // MPropertyFriendlyName "drag" + // MPropertyAttributeRange "-1 1" + CParticleCollectionFloatInput m_fDrag; // 0x818 + // MPropertyFriendlyName "max constraint passes" + int32_t m_nMaxConstraintPasses; // 0x970 +}; + diff --git a/sdk/pulse_system.hpp b/sdk/pulse_system.hpp new file mode 100644 index 00000000..c5950749 --- /dev/null +++ b/sdk/pulse_system.hpp @@ -0,0 +1,866 @@ +#pragma once +#include +#include "!GlobalTypes.hpp" + +// ///////////////////////////////////////////////////////////// +// Binary: pulse_system.dll +// Classes count: 71 +// Enums count: 3 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// + +// Alignment: 2 +// Size: 0x41 +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, + TARGET_INVOKE = 0xd, + SET_VAR = 0xe, + GET_VAR = 0xf, + SET_REGISTER_LIT_BOOL = 0x10, + SET_REGISTER_LIT_INT = 0x11, + SET_REGISTER_LIT_FLOAT = 0x12, + SET_REGISTER_LIT_STR = 0x13, + SET_REGISTER_LIT_INVAL_EHANDLE = 0x14, + SET_REGISTER_LIT_INVAL_SNDEVT_GUID = 0x15, + SET_REGISTER_LIT_VEC3 = 0x16, + SET_REGISTER_DOMAIN_VALUE = 0x17, + COPY = 0x18, + NOT = 0x19, + NEGATE = 0x1a, + ADD = 0x1b, + SUB = 0x1c, + MUL = 0x1d, + DIV = 0x1e, + MOD = 0x1f, + LT = 0x20, + LTE = 0x21, + EQ = 0x22, + NE = 0x23, + AND = 0x24, + OR = 0x25, + CONVERT_VALUE = 0x26, + LAST_SERIALIZED_CODE = 0x27, + NEGATE_INT = 0x28, + NEGATE_FLOAT = 0x29, + ADD_INT = 0x2a, + ADD_FLOAT = 0x2b, + ADD_STRING = 0x2c, + SUB_INT = 0x2d, + SUB_FLOAT = 0x2e, + MUL_INT = 0x2f, + MUL_FLOAT = 0x30, + DIV_INT = 0x31, + DIV_FLOAT = 0x32, + MOD_INT = 0x33, + MOD_FLOAT = 0x34, + LT_INT = 0x35, + LT_FLOAT = 0x36, + LTE_INT = 0x37, + LTE_FLOAT = 0x38, + EQ_BOOL = 0x39, + EQ_INT = 0x3a, + EQ_FLOAT = 0x3b, + EQ_STRING = 0x3c, + NE_BOOL = 0x3d, + NE_INT = 0x3e, + NE_FLOAT = 0x3f, + NE_STRING = 0x40, +}; + +// Alignment: 4 +// Size: 0x2 +enum class PulseMethodCallMode_t : uint32_t +{ + SYNC_WAIT_FOR_COMPLETION = 0x0, + ASYNC_FIRE_AND_FORGET = 0x1, +}; + +// Alignment: 4 +// Size: 0xe +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_SCHEMA_PTR = 0x9, + PVAL_CURSOR_FLOW = 0xa, + PVAL_ANY = 0xb, + PVAL_COUNT = 0xc, +}; + +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 PulseTestEHandle_t; +struct CPulseGraphInstance_TestDomain; + +// Alignment: 0 +// Size: 0x1 +class CPulseTestFuncs_LibraryA +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x188 +class CPulseExecCursor +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x188]; // 0x0 +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x2 +struct PulseRuntimeRegisterIndex_t +{ +public: + int16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("pulse_system.dll")->FindDeclaredClass("PulseRuntimeRegisterIndex_t")->m_static_fields[0]->m_instance);}; +}; + +// 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: 3 +// Size: 0x20 +class CPulse_PublicOutput +{ +public: + CUtlSymbolLarge m_Name; // 0x0 + CUtlString m_Description; // 0x8 + CPulseValueFullType m_ParamType; // 0x10 +}; + +// 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 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("pulse_system.dll")->FindDeclaredClass("PulseRuntimeChunkIndex_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseDocNodeID_t +{ +public: + int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("pulse_system.dll")->FindDeclaredClass("PulseDocNodeID_t")->m_static_fields[0]->m_instance);}; +}; + +// 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: 0 +// Size: 0xd0 +class CBasePulseGraphInstance +{ +private: + [[maybe_unused]] uint8_t __pad0000[0xd0]; // 0x0 +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x1 +class CPulseMathlib +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x1 +class CPulseTestScriptLib +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeCellIndex_t +{ +public: + int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("pulse_system.dll")->FindDeclaredClass("PulseRuntimeCellIndex_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeCallInfoIndex_t +{ +public: + int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("pulse_system.dll")->FindDeclaredClass("PulseRuntimeCallInfoIndex_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeVarIndex_t +{ +public: + int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("pulse_system.dll")->FindDeclaredClass("PulseRuntimeVarIndex_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeOutputIndex_t +{ +public: + int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("pulse_system.dll")->FindDeclaredClass("PulseRuntimeOutputIndex_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x2 +struct PulseRuntimeStateOffset_t +{ +public: + uint16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("pulse_system.dll")->FindDeclaredClass("PulseRuntimeStateOffset_t")->m_static_fields[0]->m_instance);}; +}; + +// 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 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("pulse_system.dll")->FindDeclaredClass("PulseRuntimeInvokeIndex_t")->m_static_fields[0]->m_instance);}; +}; + +// 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 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("pulse_system.dll")->FindDeclaredClass("PulseRuntimeEntrypointIndex_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 6 +// Size: 0x48 +class CPulse_InvokeBinding +{ +public: + PulseRegisterMap_t m_RegisterMap; // 0x0 + CUtlSymbolLarge m_FuncName; // 0x20 + PulseRuntimeCellIndex_t m_nCellIndex; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + CPulseValueFullType m_InstanceType; // 0x30 + PulseRuntimeChunkIndex_t m_nSrcChunk; // 0x40 + int32_t m_nSrcInstruction; // 0x44 +}; + +// 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: 3 +// Size: 0x50 +class CPulseRuntimeMethodArg +{ +public: + CKV3MemberNameWithStorage m_Name; // 0x0 + CUtlString m_Description; // 0x38 + CPulseValueFullType m_Type; // 0x40 +}; + +// Alignment: 5 +// Size: 0xb0 +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: + CPulseValueFullType m_ReturnType; // 0x88 + CUtlVector< CPulseRuntimeMethodArg > m_Args; // 0x98 +}; + +// 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: + CUtlSymbolLarge m_SourceEntity; // 0x70 + CUtlSymbolLarge m_SourceOutput; // 0x78 + CUtlSymbolLarge m_TargetInput; // 0x80 + 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: 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: 2 +// Size: 0x68 +class CPulseCell_Outflow_TestExplicitYesNo : public CPulseCell_BaseFlow +{ +public: + // MPropertyFriendlyName "Yes" + CPulse_OutflowConnection m_Yes; // 0x48 + // MPropertyFriendlyName "No" + 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: 2 +// Size: 0x68 +class CPulseCell_Step_CallExternalMethod : public CPulseCell_BaseFlow +{ +public: + CUtlSymbolLarge m_MethodName; // 0x48 + CUtlVector< CPulseRuntimeMethodArg > m_ExpectedArgs; // 0x50 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseTestEHandle_t +{ +public: + int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("pulse_system.dll")->FindDeclaredClass("PulseTestEHandle_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 7 +// Size: 0x30 +struct FakeEntity_t +{ +public: + PulseTestEHandle_t m_nHandle; // 0x0 + CUtlString m_Name; // 0x8 + CUtlString m_Class; // 0x10 + bool m_bDestroyed; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0019[0x7]; // 0x19 +public: + CPulseGraphInstance_TestDomain* m_pAssociatedGraphInstance; // 0x20 + bool m_bFuncWasCalled; // 0x28 +private: + [[maybe_unused]] uint8_t __pad0029[0x3]; // 0x29 +public: + float m_fValue; // 0x2c +}; + +// Alignment: 6 +// Size: 0xf8 +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 + bool m_bTestYesOrNoPath; // 0xf0 + + // Static fields: + static double &Get_s_flExplicitCurTime(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("pulse_system.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: 2 +// Size: 0x190 +class CTestDomainDerived_Cursor : public CPulseExecCursor +{ +public: + int32_t m_nCursorValueA; // 0x188 + int32_t m_nCursorValueB; // 0x18c +}; + +// Alignment: 1 +// Size: 0x100 +class CPulseGraphInstance_TestDomain_Derived : public CPulseGraphInstance_TestDomain +{ +public: + int32_t m_nInstanceValueX; // 0xf8 +}; + +// 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: 4 +// Size: 0x1a0 +class CPulseTurtleGraphicsCursor : public CPulseExecCursor +{ +public: + Color m_Color; // 0x188 + Vector2D m_vPos; // 0x18c + float m_flHeadingDeg; // 0x194 + bool m_bPenUp; // 0x198 +}; + +// Alignment: 0 +// Size: 0xf0 +class CPulseGraphInstance_TurtleGraphics : public CBasePulseGraphInstance +{ +public: + // No members available +}; + diff --git a/sdk/rendersystemdx11.hpp b/sdk/rendersystemdx11.hpp index 215c8fba..d1b41323 100644 --- a/sdk/rendersystemdx11.hpp +++ b/sdk/rendersystemdx11.hpp @@ -34,7 +34,7 @@ enum class RenderBufferFlags_t : uint32_t }; // Alignment: 4 -// Size: 0x2d +// Size: 0xd enum class RenderPrimitiveType_t : uint32_t { RENDER_PRIM_POINTS = 0x0, @@ -48,40 +48,8 @@ enum class RenderPrimitiveType_t : uint32_t RENDER_PRIM_TRIANGLE_STRIP_WITH_ADJACENCY = 0x8, RENDER_PRIM_INSTANCED_QUADS = 0x9, RENDER_PRIM_HETEROGENOUS = 0xa, - RENDER_PRIM_1_CONTROL_POINT_PATCHLIST = 0xb, - RENDER_PRIM_2_CONTROL_POINT_PATCHLIST = 0xc, - RENDER_PRIM_3_CONTROL_POINT_PATCHLIST = 0xd, - RENDER_PRIM_4_CONTROL_POINT_PATCHLIST = 0xe, - RENDER_PRIM_5_CONTROL_POINT_PATCHLIST = 0xf, - RENDER_PRIM_6_CONTROL_POINT_PATCHLIST = 0x10, - RENDER_PRIM_7_CONTROL_POINT_PATCHLIST = 0x11, - RENDER_PRIM_8_CONTROL_POINT_PATCHLIST = 0x12, - RENDER_PRIM_9_CONTROL_POINT_PATCHLIST = 0x13, - RENDER_PRIM_10_CONTROL_POINT_PATCHLIST = 0x14, - RENDER_PRIM_11_CONTROL_POINT_PATCHLIST = 0x15, - RENDER_PRIM_12_CONTROL_POINT_PATCHLIST = 0x16, - RENDER_PRIM_13_CONTROL_POINT_PATCHLIST = 0x17, - RENDER_PRIM_14_CONTROL_POINT_PATCHLIST = 0x18, - RENDER_PRIM_15_CONTROL_POINT_PATCHLIST = 0x19, - RENDER_PRIM_16_CONTROL_POINT_PATCHLIST = 0x1a, - RENDER_PRIM_17_CONTROL_POINT_PATCHLIST = 0x1b, - RENDER_PRIM_18_CONTROL_POINT_PATCHLIST = 0x1c, - RENDER_PRIM_19_CONTROL_POINT_PATCHLIST = 0x1d, - RENDER_PRIM_20_CONTROL_POINT_PATCHLIST = 0x1e, - RENDER_PRIM_21_CONTROL_POINT_PATCHLIST = 0x1f, - RENDER_PRIM_22_CONTROL_POINT_PATCHLIST = 0x20, - RENDER_PRIM_23_CONTROL_POINT_PATCHLIST = 0x21, - RENDER_PRIM_24_CONTROL_POINT_PATCHLIST = 0x22, - RENDER_PRIM_25_CONTROL_POINT_PATCHLIST = 0x23, - RENDER_PRIM_26_CONTROL_POINT_PATCHLIST = 0x24, - RENDER_PRIM_27_CONTROL_POINT_PATCHLIST = 0x25, - RENDER_PRIM_28_CONTROL_POINT_PATCHLIST = 0x26, - RENDER_PRIM_29_CONTROL_POINT_PATCHLIST = 0x27, - RENDER_PRIM_30_CONTROL_POINT_PATCHLIST = 0x28, - RENDER_PRIM_31_CONTROL_POINT_PATCHLIST = 0x29, - RENDER_PRIM_32_CONTROL_POINT_PATCHLIST = 0x2a, - RENDER_PRIM_COMPUTE_SHADER = 0x2b, - RENDER_PRIM_TYPE_COUNT = 0x2c, + RENDER_PRIM_COMPUTE_SHADER = 0xb, + RENDER_PRIM_TYPE_COUNT = 0xc, }; // Alignment: 4 diff --git a/sdk/resourcesystem.hpp b/sdk/resourcesystem.hpp index 8e47d4d8..1e775b1b 100644 --- a/sdk/resourcesystem.hpp +++ b/sdk/resourcesystem.hpp @@ -4,7 +4,7 @@ // ///////////////////////////////////////////////////////////// // Binary: resourcesystem.dll -// Classes count: 53 +// Classes count: 54 // Enums count: 2 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -105,6 +105,26 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x1 +class InfoForResourceTypeCTypeScriptResource +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x1 +class InfoForResourceTypeCJavaScriptResource +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + // Alignment: 0 // Size: 0x1 class InfoForResourceTypeIParticleSystemDefinition @@ -365,26 +385,6 @@ public: // No members available }; -// Alignment: 0 -// Size: 0x1 -class InfoForResourceTypeCPanoramaScript -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x1 -class InfoForResourceTypeCPanoramaTypeScript -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 -public: - // No members available -}; - // Alignment: 0 // Size: 0x1 class InfoForResourceTypeCDOTAPatchNotesList @@ -395,6 +395,16 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x1 +class InfoForResourceTypeCDOTANovelsList +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + // Alignment: 0 // Size: 0x1 class InfoForResourceTypeIAnimGraphModelBinding @@ -471,6 +481,9 @@ struct FuseVariableIndex_t { public: uint16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("resourcesystem.dll")->FindDeclaredClass("FuseVariableIndex_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 @@ -479,6 +492,9 @@ struct FuseFunctionIndex_t { public: uint16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("resourcesystem.dll")->FindDeclaredClass("FuseFunctionIndex_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 3 @@ -529,16 +545,17 @@ public: int32_t m_nMaxTempVarsUsed; // 0x48 }; -// Alignment: 3 -// Size: 0x68 +// Alignment: 6 +// Size: 0xb0 class CFuseSymbolTable { -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: - CUtlHashtable< CUtlStringToken, ConstantInfo_t > m_constants; // 0x8 - CUtlHashtable< CUtlStringToken, VariableInfo_t > m_variables; // 0x28 - CUtlHashtable< CUtlStringToken, FunctionInfo_t > m_functions; // 0x48 + CUtlVector< ConstantInfo_t > m_constants; // 0x0 + CUtlVector< VariableInfo_t > m_variables; // 0x18 + CUtlVector< FunctionInfo_t > m_functions; // 0x30 + CUtlHashtable< CUtlStringToken, int32 > m_constantMap; // 0x48 + CUtlHashtable< CUtlStringToken, int32 > m_variableMap; // 0x68 + CUtlHashtable< CUtlStringToken, int32 > m_functionMap; // 0x88 }; // Alignment: 2 diff --git a/sdk/schemasystem.hpp b/sdk/schemasystem.hpp index 219648cd..a6f268f3 100644 --- a/sdk/schemasystem.hpp +++ b/sdk/schemasystem.hpp @@ -158,6 +158,9 @@ struct ResourceId_t { public: uint64_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("schemasystem.dll")->FindDeclaredClass("ResourceId_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 diff --git a/sdk/server.hpp b/sdk/server.hpp index 446e331c..fbe374e0 100644 --- a/sdk/server.hpp +++ b/sdk/server.hpp @@ -4,8 +4,8 @@ // ///////////////////////////////////////////////////////////// // Binary: server.dll -// Classes count: 8094 -// Enums count: 314 +// Classes count: 8173 +// Enums count: 325 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -46,7 +46,7 @@ enum class NavDirType : uint32_t }; // Alignment: 4 -// Size: 0x77 +// Size: 0x76 enum class ENetworkDisconnectionReason : uint32_t { NETWORK_DISCONNECT_INVALID = 0x0, @@ -119,7 +119,6 @@ enum class ENetworkDisconnectionReason : uint32_t NETWORK_DISCONNECT_STEAM_DENY_MISC = 0x43, NETWORK_DISCONNECT_STEAM_DENY_BAD_ANTI_CHEAT = 0x44, NETWORK_DISCONNECT_SERVER_SHUTDOWN = 0x45, - NETWORK_DISCONNECT_SPLITPACKET_SEND_OVERFLOW = 0x46, NETWORK_DISCONNECT_REPLAY_INCOMPATIBLE = 0x47, NETWORK_DISCONNECT_CONNECT_REQUEST_TIMEDOUT = 0x48, NETWORK_DISCONNECT_SERVER_INCOMPATIBLE = 0x49, @@ -365,7 +364,33 @@ enum class ReplayEventType_t : uint32_t }; // Alignment: 4 -// Size: 0x2e +// Size: 0x14 +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_AnimationData = 0x10, + DEM_Max = 0x11, + DEM_IsCompressed = 0x40, +}; + +// Alignment: 4 +// Size: 0x30 enum class EBaseUserMessages : uint32_t { UM_AchievementEvent = 0x65, @@ -413,6 +438,8 @@ enum class EBaseUserMessages : uint32_t UM_DllStatusResponse = 0x9f, UM_RequestInventory = 0xa0, UM_InventoryResponse = 0xa1, + UM_RequestDiagnostic = 0xa2, + UM_DiagnosticResponse = 0xa3, UM_MAX_BASE = 0xc8, }; @@ -440,7 +467,7 @@ enum class eRollType : uint32_t }; // Alignment: 4 -// Size: 0x1d +// Size: 0x1e enum class PARTICLE_MESSAGE : uint32_t { GAME_PARTICLE_MANAGER_EVENT_CREATE = 0x0, @@ -472,6 +499,7 @@ enum class PARTICLE_MESSAGE : uint32_t GAME_PARTICLE_MANAGER_EVENT_SET_NAMED_VALUE_CONTEXT = 0x1a, GAME_PARTICLE_MANAGER_EVENT_UPDATE_TRANSFORM = 0x1b, GAME_PARTICLE_MANAGER_EVENT_FREEZE_TRANSITION_OVERRIDE = 0x1c, + GAME_PARTICLE_MANAGER_EVENT_FREEZE_INVOLVING = 0x1d, }; // Alignment: 4 @@ -616,6 +644,16 @@ enum class PerformanceMode_t : uint32_t PM_REDUCED_GIBS = 0x3, }; +// Alignment: 4 +// Size: 0x4 +enum class AmmoPosition_t : uint32_t +{ + AMMO_POSITION_INVALID = 0xffffffffffffffff, + AMMO_POSITION_PRIMARY = 0x0, + AMMO_POSITION_SECONDARY = 0x1, + AMMO_POSITION_COUNT = 0x2, +}; + // Alignment: 4 // Size: 0x3 enum class ChatIgnoreType_t : uint32_t @@ -644,7 +682,7 @@ enum class CommandEntitySpecType_t : uint32_t }; // Alignment: 4 -// Size: 0x2d +// Size: 0x2e enum class GameAnimEventIndex_t : uint32_t { AE_EMPTY = 0x0, @@ -680,18 +718,19 @@ enum class GameAnimEventIndex_t : uint32_t AE_CL_SHOW_PARTICLE_EFFECT = 0x1e, AE_CL_ADD_PARTICLE_EFFECT_CP = 0x1f, AE_CL_SPEECH = 0x20, - AE_CL_DOTA_PLAY_STATUS_EFFECT = 0x21, - AE_CL_DOTA_STOP_STATUS_EFFECT = 0x22, - AE_CL_DOTA_NPC_CREATE_PARTICLE_EFFECT = 0x23, - AE_CL_DOTA_RUBICK_ARCANA_CREATE_PARTICLE_EFFECT = 0x24, - AE_DOTA_PET_ITEM_PICKUP = 0x25, - AE_DOTA_PET_ITEM_DROP = 0x26, - AE_DOTA_SUPPRESS_CONSTANT_LAYER = 0x27, - AE_DOTA_PLAY_SOUND_ATTACK_SPECIAL = 0x28, - AE_DOTA_CREATE_CLINKZ_ATTACK = 0x29, - AE_DOTA_PLAY_SOUND_ATTACK_BACKSTAB = 0x2a, - AE_DOTA_DIE_PHANTOM_DEATH_PARTICLES = 0x2b, - AE_DOTA_SWITCH_ATTACK_COMBO = 0x2c, + AE_CL_PANORAMA_EVENT = 0x21, + AE_CL_DOTA_PLAY_STATUS_EFFECT = 0x22, + AE_CL_DOTA_STOP_STATUS_EFFECT = 0x23, + AE_CL_DOTA_NPC_CREATE_PARTICLE_EFFECT = 0x24, + AE_CL_DOTA_RUBICK_ARCANA_CREATE_PARTICLE_EFFECT = 0x25, + AE_DOTA_PET_ITEM_PICKUP = 0x26, + AE_DOTA_PET_ITEM_DROP = 0x27, + AE_DOTA_SUPPRESS_CONSTANT_LAYER = 0x28, + AE_DOTA_PLAY_SOUND_ATTACK_SPECIAL = 0x29, + AE_DOTA_CREATE_CLINKZ_ATTACK = 0x2a, + AE_DOTA_PLAY_SOUND_ATTACK_BACKSTAB = 0x2b, + AE_DOTA_DIE_PHANTOM_DEATH_PARTICLES = 0x2c, + AE_DOTA_SWITCH_ATTACK_COMBO = 0x2d, }; // Alignment: 4 @@ -750,24 +789,27 @@ enum class RumbleEffect_t : uint32_t }; // Alignment: 4 -// Size: 0xf +// Size: 0x12 enum class WeaponSound_t : uint32_t { WEAPON_SOUND_EMPTY = 0x0, - WEAPON_SOUND_SINGLE = 0x1, - WEAPON_SOUND_DOUBLE = 0x2, - WEAPON_SOUND_RELOAD = 0x3, - WEAPON_SOUND_MELEE_MISS = 0x4, - WEAPON_SOUND_MELEE_HIT = 0x5, - WEAPON_SOUND_MELEE_HIT_WORLD = 0x6, - WEAPON_SOUND_MELEE_HIT_PLAYER = 0x7, - WEAPON_SOUND_SPECIAL1 = 0x8, - WEAPON_SOUND_SPECIAL2 = 0x9, - WEAPON_SOUND_SPECIAL3 = 0xa, - WEAPON_SOUND_NEARLYEMPTY = 0xb, - WEAPON_SOUND_IMPACT1 = 0xc, - WEAPON_SOUND_REFLECT = 0xd, - WEAPON_SOUND_NUM_TYPES = 0xe, + WEAPON_SOUND_SECONDARY_EMPTY = 0x1, + WEAPON_SOUND_SINGLE = 0x2, + WEAPON_SOUND_SECONDARY_ATTACK = 0x3, + WEAPON_SOUND_RELOAD = 0x4, + WEAPON_SOUND_MELEE_MISS = 0x5, + WEAPON_SOUND_MELEE_HIT = 0x6, + WEAPON_SOUND_MELEE_HIT_WORLD = 0x7, + WEAPON_SOUND_MELEE_HIT_PLAYER = 0x8, + WEAPON_SOUND_SPECIAL1 = 0x9, + WEAPON_SOUND_SPECIAL2 = 0xa, + WEAPON_SOUND_SPECIAL3 = 0xb, + WEAPON_SOUND_NEARLYEMPTY = 0xc, + WEAPON_SOUND_IMPACT = 0xd, + WEAPON_SOUND_REFLECT = 0xe, + WEAPON_SOUND_SECONDARY_IMPACT = 0xf, + WEAPON_SOUND_SECONDARY_REFLECT = 0x10, + WEAPON_SOUND_NUM_TYPES = 0x11, }; // Alignment: 4 @@ -1321,31 +1363,6 @@ enum class TRAIN_CODE : uint32_t 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 @@ -1550,6 +1567,16 @@ enum class PlayerConnectedState : uint32_t PlayerReserved = 0x5, }; +// Alignment: 4 +// Size: 0x4 +enum class WeaponAttackType_t : uint32_t +{ + WEAPON_ATTACK_INVALID = 0xffffffffffffffff, + WEAPON_PRIMARY_ATTACK = 0x0, + WEAPON_SECONDARY_ATTACK = 0x1, + WEAPON_ATTACK_COUNT = 0x2, +}; + // Alignment: 4 // Size: 0x10 enum class vote_create_failed_t : uint32_t @@ -1708,13 +1735,14 @@ enum class LifeState_t : uint32_t }; // Alignment: 4 -// Size: 0x4 +// Size: 0x5 enum class StanceType_t : uint32_t { STANCE_CURRENT = 0xffffffffffffffff, STANCE_DEFAULT = 0x0, STANCE_CROUCHING = 0x1, - NUM_STANCES = 0x2, + STANCE_PRONE = 0x2, + NUM_STANCES = 0x3, }; // Alignment: 4 @@ -1725,6 +1753,15 @@ enum class ModifyDamageReturn_t : uint32_t ABORT_DO_NOT_APPLY_DAMAGE = 0x1, }; +// Alignment: 1 +// Size: 0x3 +enum class BeginDeathLifeStateTransition_t : uint8_t +{ + NO_CHANGE_IN_LIFESTATE = 0x0, + TRANSITION_TO_LIFESTATE_DYING = 0x1, + TRANSITION_TO_LIFESTATE_DEAD = 0x2, +}; + // Alignment: 4 // Size: 0x3 enum class WorldTextPanelHorizontalAlign_t : uint32_t @@ -1752,16 +1789,6 @@ enum class WorldTextPanelOrientation_t : uint32_t 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 @@ -1826,11 +1853,9 @@ enum class EGCBaseClientMsg : uint32_t }; // Alignment: 4 -// Size: 0x18 +// Size: 0x16 enum class EGCBaseMsg : uint32_t { - k_EMsgGCReplicateConVars = 0xfa2, - k_EMsgGCConVarUpdated = 0xfa3, k_EMsgGCInviteToParty = 0x1195, k_EMsgGCInvitationCreated = 0x1196, k_EMsgGCPartyInviteResponse = 0x1197, @@ -1914,11 +1939,13 @@ enum class EGCMsgUseItemResponse : uint32_t }; // Alignment: 4 -// Size: 0x7a +// Size: 0x7c enum class EGCItemMsg : uint32_t { k_EMsgGCBase = 0x3e8, k_EMsgGCSetItemPosition = 0x3e9, + k_EMsgClientToGCPackBundle = 0x3ea, + k_EMsgClientToGCPackBundleResponse = 0x3eb, k_EMsgGCDelete = 0x3ec, k_EMsgGCVerifyCacheSubscription = 0x3ed, k_EMsgClientToGCNameItem = 0x3ee, @@ -2248,7 +2275,7 @@ enum class DOTA_GC_TEAM : uint32_t }; // Alignment: 4 -// Size: 0x2c +// Size: 0x2e enum class EEvent : uint32_t { EVENT_ID_NONE = 0x0, @@ -2295,6 +2322,8 @@ enum class EEvent : uint32_t EVENT_ID_TEAM_2023_TOUR1 = 0x29, EVENT_ID_TEAM_2023_TOUR2 = 0x2a, EVENT_ID_TEAM_2023_TOUR3 = 0x2b, + EVENT_ID_INTERNATIONAL_2023 = 0x2d, + EVENT_ID_10TH_ANNIVERSARY = 0x2e, }; // Alignment: 4 @@ -2353,6 +2382,32 @@ enum class Fantasy_Roles : uint32_t FANTASY_ROLE_MID = 0x4, }; +// Alignment: 4 +// Size: 0x14 +enum class Fantasy_Scoring : uint32_t +{ + FANTASY_SCORING_KILLS = 0x0, + FANTASY_SCORING_DEATHS = 0x1, + FANTASY_SCORING_CS = 0x2, + FANTASY_SCORING_GPM = 0x3, + FANTASY_SCORING_TOWER_KILLS = 0x4, + FANTASY_SCORING_ROSHAN_KILLS = 0x5, + FANTASY_SCORING_TEAMFIGHT_PARTICIPATION = 0x6, + FANTASY_SCORING_WARDS_PLANTED = 0x7, + FANTASY_SCORING_CAMPS_STACKED = 0x8, + FANTASY_SCORING_RUNES_GRABBED = 0x9, + FANTASY_SCORING_FIRST_BLOOD = 0xa, + FANTASY_SCORING_STUNS = 0xb, + FANTASY_SCORING_SMOKES_USED = 0xc, + FANTASY_SCORING_NEUTRAL_TOKENS_FOUND = 0xd, + FANTASY_SCORING_WATCHERS_TAKEN = 0xe, + FANTASY_SCORING_LOTUSES_GAINED = 0xf, + FANTASY_SCORING_TORMENTOR_KILLS = 0x10, + FANTASY_SCORING_COURIER_KILLS = 0x11, + FANTASY_SCORING_TYPES = 0x12, + FANTASY_SCORING_INVALID = 0x13, +}; + // Alignment: 4 // Size: 0x5 enum class Fantasy_Team_Slots : uint32_t @@ -2380,6 +2435,15 @@ enum class Fantasy_Selection_Mode : uint32_t FANTASY_SELECTION_CARD_BASED = 0x9, }; +// Alignment: 4 +// Size: 0x3 +enum class Fantasy_Gem_Type : uint32_t +{ + FANTASY_GEM_TYPE_RUBY = 0x0, + FANTASY_GEM_TYPE_SAPPHIRE = 0x1, + FANTASY_GEM_TYPE_EMERALD = 0x2, +}; + // Alignment: 4 // Size: 0x19 enum class DOTAChatChannelType_t : uint32_t @@ -2420,6 +2484,49 @@ enum class EChatSpecialPrivileges : uint32_t k_EChatSpecialPrivileges_SuperModerator = 0x2, }; +// Alignment: 4 +// Size: 0xd +enum class DOTACommType_t : uint32_t +{ + DOTA_COMM_TYPE_NONE = 0x0, + DOTA_COMM_TYPE_PING = 0x1, + DOTA_COMM_TYPE_CHATWHEEL = 0x2, + DOTA_COMM_TYPE_TIP = 0x3, + DOTA_COMM_TYPE_TEXT = 0x4, + DOTA_COMM_TYPE_VOICE = 0x5, + DOTA_COMM_TYPE_ALLY_ABILITY = 0x6, + DOTA_COMM_TYPE_PAUSE = 0x7, + DOTA_COMM_TYPE_COACHING = 0x8, + DOTA_COMM_TYPE_NOCOOLDOWN = 0x9, + DOTA_COMM_TYPE_RANKEDMATCHMAKE = 0xa, + DOTA_COMM_TYPE_DROPS = 0xb, + DOTA_COMM_TYPE_NEWPLAYER_EXPERT = 0xc, +}; + +// Alignment: 4 +// Size: 0x7 +enum class DOTACommLevel_t : uint32_t +{ + DOTA_COMM_LEVEL_NONE = 0x0, + DOTA_COMM_LEVEL_COOLDOWN = 0x1, + DOTA_COMM_LEVEL_PINGS = 0x2, + DOTA_COMM_LEVEL_CHAT = 0x3, + DOTA_COMM_LEVEL_TIPPING = 0x4, + DOTA_COMM_LEVEL_VOICE = 0x5, + DOTA_COMM_LEVEL_ALLIED_ABILITY = 0x6, +}; + +// Alignment: 4 +// Size: 0x5 +enum class DOTABehaviorLevel_t : uint32_t +{ + DOTA_BEHAVIOR_LEVEL_NONE = 0x0, + DOTA_BEHAVIOR_LEVEL_RANKED_ALLOWED = 0x1, + DOTA_BEHAVIOR_LEVEL_PAUSING = 0x2, + DOTA_BEHAVIOR_LEVEL_DROPS = 0x3, + DOTA_BEHAVIOR_LEVEL_COACHING = 0x4, +}; + // Alignment: 4 // Size: 0x7 enum class EProfileCardSlotType : uint32_t @@ -3106,23 +3213,23 @@ 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, + k_ELaneSelection_SUPPORT = 0x3, + k_ELaneSelection_HARDSUPPORT = 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, + k_ELaneSelectionFlags_SUPPORT = 0x8, + k_ELaneSelectionFlags_HARDSUPPORT = 0x10, + k_ELaneSelectionFlagGroup_None = 0x0, + k_ELaneSelectionFlagGroup_CORE = 0x7, + k_ELaneSelectionFlagGroup_SUPPORT = 0x18, + k_ELaneSelectionFlagGroup_ALL = 0x1f, }; // Alignment: 4 @@ -3179,7 +3286,7 @@ enum class EMatchBehaviorScoreVariance : uint32_t }; // Alignment: 4 -// Size: 0x9 +// Size: 0xa enum class ELeagueNodeGroupType : uint32_t { INVALID_GROUP_TYPE = 0x0, @@ -3191,6 +3298,7 @@ enum class ELeagueNodeGroupType : uint32_t BRACKET_DOUBLE_ALL_WINNER = 0x6, SHOWMATCH = 0x7, GSL = 0x8, + PLACEMENT = 0x9, }; // Alignment: 4 @@ -3205,7 +3313,7 @@ enum class ELeagueNodeType : uint32_t }; // Alignment: 4 -// Size: 0x334 +// Size: 0x359 enum class EDOTAGCMsg : uint32_t { k_EMsgGCDOTABase = 0x1b58, @@ -3244,6 +3352,8 @@ enum class EDOTAGCMsg : uint32_t k_EMsgGCSubmitPlayerReport = 0x1ba6, k_EMsgGCSubmitPlayerReportResponse = 0x1ba7, k_EMsgGCPracticeLobbyKick = 0x1ba9, + k_EMsgGCSubmitPlayerReportV2 = 0x1baa, + k_EMsgGCSubmitPlayerReportResponseV2 = 0x1bab, k_EMsgGCRequestSaveGames = 0x1bac, k_EMsgGCRequestSaveGamesServer = 0x1bad, k_EMsgGCRequestSaveGamesResponse = 0x1bae, @@ -3307,6 +3417,8 @@ enum class EDOTAGCMsg : uint32_t k_EMsgGCToGCCanInviteUserToTeamResponse = 0x1c43, k_EMsgGCToGCGetUserRank = 0x1c44, k_EMsgGCToGCGetUserRankResponse = 0x1c45, + k_EMsgGCToGCAdjustUserRank = 0x1c46, + k_EMsgGCToGCAdjustUserRankResponse = 0x1c47, k_EMsgGCToGCUpdateTeamStats = 0x1c48, k_EMsgGCToGCValidateTeam = 0x1c49, k_EMsgGCToGCValidateTeamResponse = 0x1c4a, @@ -3326,6 +3438,8 @@ enum class EDOTAGCMsg : uint32_t k_EMsgGCFantasyLivePlayerStats = 0x1c8c, k_EMsgGCFantasyFinalPlayerStats = 0x1c8d, k_EMsgGCFlipLobbyTeams = 0x1c98, + k_EMsgGCToGCEvaluateReportedPlayer = 0x1c9a, + k_EMsgGCToGCEvaluateReportedPlayerResponse = 0x1c9b, k_EMsgGCToGCProcessPlayerReportForTarget = 0x1c9c, k_EMsgGCToGCProcessReportSuccess = 0x1c9d, k_EMsgGCNotifyAccountFlagsChange = 0x1c9e, @@ -3362,6 +3476,9 @@ enum class EDOTAGCMsg : uint32_t k_EMsgGCToGCUpdateMatchmakingStats = 0x1cf7, k_EMsgGCToServerPingRequest = 0x1cf8, k_EMsgGCToServerPingResponse = 0x1cf9, + k_EMsgGCToServerEvaluateToxicChat = 0x1cfa, + k_EMsgServerToGCEvaluateToxicChat = 0x1cfb, + k_EMsgServerToGCEvaluateToxicChatResponse = 0x1cfc, k_EMsgGCToGCProcessMatchLeaver = 0x1d02, k_EMsgGCNotificationsRequest = 0x1d03, k_EMsgGCNotificationsResponse = 0x1d04, @@ -3868,6 +3985,9 @@ enum class EDOTAGCMsg : uint32_t k_EMsgClientToGCRequestActiveGuildChallenge = 0x2209, k_EMsgClientToGCRequestActiveGuildChallengeResponse = 0x220a, k_EMsgGCToClientActiveGuildChallengeUpdated = 0x220b, + k_EMsgClientToGCRequestReporterUpdates = 0x220c, + k_EMsgClientToGCRequestReporterUpdatesResponse = 0x220d, + k_EMsgClientToGCAcknowledgeReporterUpdates = 0x220e, k_EMsgSignOutGuildChallengeProgress = 0x2210, k_EMsgClientToGCRequestGuildEventMembers = 0x2211, k_EMsgClientToGCRequestGuildEventMembersResponse = 0x2212, @@ -4028,6 +4148,31 @@ enum class EDOTAGCMsg : uint32_t k_EMsgClientToGCMapStatsRequest = 0x22b3, k_EMsgGCToClientMapStatsResponse = 0x22b4, k_EMsgGCToServerSetSteamLearnInferencing = 0x22b5, + k_EMsgClientToGCShowcaseGetUserData = 0x22b6, + k_EMsgClientToGCShowcaseGetUserDataResponse = 0x22b7, + k_EMsgClientToGCShowcaseSetUserData = 0x22b8, + k_EMsgClientToGCShowcaseSetUserDataResponse = 0x22b9, + k_EMsgClientToGCFantasyCraftingGetUserData = 0x22ba, + k_EMsgClientToGCFantasyCraftingGetUserDataResponse = 0x22bb, + k_EMsgClientToGCFantasyCraftingPerformOperation = 0x22bc, + k_EMsgClientToGCFantasyCraftingPerformOperationResponse = 0x22bd, + k_EMsgGCToClientFantasyCraftingGetDataUpdated = 0x22be, + k_EMsgClientToGCFantasyCraftingDevModifyTablet = 0x22bf, + k_EMsgClientToGCFantasyCraftingDevModifyTabletResponse = 0x22c0, + k_EMsgClientToGCRoadToTIGetQuests = 0x22c1, + k_EMsgClientToGCRoadToTIGetQuestsResponse = 0x22c2, + k_EMsgClientToGCRoadToTIGetActiveQuest = 0x22c3, + k_EMsgClientToGCRoadToTIGetActiveQuestResponse = 0x22c4, + k_EMsgClientToGCBingoGetUserData = 0x22c5, + k_EMsgClientToGCBingoGetUserDataResponse = 0x22c6, + k_EMsgClientToGCBingoClaimRow = 0x22c7, + k_EMsgClientToGCBingoClaimRowResponse = 0x22c8, + k_EMsgClientToGCBingoDevRerollCard = 0x22c9, + k_EMsgClientToGCBingoDevRerollCardResponse = 0x22ca, + k_EMsgClientToGCBingoGetStatsData = 0x22cb, + k_EMsgClientToGCBingoGetStatsDataResponse = 0x22cc, + k_EMsgGCToClientBingoUserDataUpdated = 0x22cd, + k_EMsgGCToClientRoadToTIQuestDataUpdated = 0x22ce, }; // Alignment: 4 @@ -4063,7 +4208,7 @@ enum class EDOTAStatPopupTypes : uint32_t }; // Alignment: 4 -// Size: 0x28 +// Size: 0x29 enum class dotaunitorder_t : uint32_t { DOTA_UNIT_ORDER_NONE = 0x0, @@ -4106,6 +4251,7 @@ enum class dotaunitorder_t : uint32_t DOTA_UNIT_ORDER_DROP_ITEM_AT_FOUNTAIN = 0x25, DOTA_UNIT_ORDER_TAKE_ITEM_FROM_NEUTRAL_ITEM_STASH = 0x26, DOTA_UNIT_ORDER_MOVE_RELATIVE = 0x27, + DOTA_UNIT_ORDER_CAST_TOGGLE_ALT = 0x28, }; // Alignment: 4 @@ -4118,7 +4264,7 @@ enum class EDOTAVersusScenePlayerBehavior : uint32_t }; // Alignment: 4 -// Size: 0x62 +// Size: 0x64 enum class EDotaClientMessages : uint32_t { DOTA_CM_MapLine = 0x12d, @@ -4218,7 +4364,9 @@ enum class EDotaClientMessages : uint32_t DOTA_CM_PlayerDraftSuggest = 0x321, DOTA_CM_PlayerDraftPreferRole = 0x322, DOTA_CM_PlayerDraftPreferTeam = 0x323, + DOTA_CM_ChatWheelAlert = 0x324, DOTA_CM_AbilityAlert = 0x325, + DOTA_CM_AllyAbilityAlert = 0x326, }; // Alignment: 4 @@ -4384,7 +4532,7 @@ enum class EDotaUserMessages : uint32_t }; // Alignment: 4 -// Size: 0x6d +// Size: 0x6e enum class DOTA_CHAT_MESSAGE : uint32_t { CHAT_MESSAGE_INVALID = 0xffffffffffffffff, @@ -4496,6 +4644,7 @@ enum class DOTA_CHAT_MESSAGE : uint32_t CHAT_MESSAGE_CANT_PAUSE_TOO_EARLY = 0x73, CHAT_MESSAGE_HERO_KILL_WITH_PENGUIN = 0x74, CHAT_MESSAGE_MINIBOSS_KILL = 0x75, + CHAT_MESSAGE_PLAYER_IN_GAME_BAN_TEXT = 0x76, }; // Alignment: 4 @@ -6345,7 +6494,7 @@ enum class CLICK_BEHAVIORS : uint32_t }; // Alignment: 8 -// Size: 0x29 +// Size: 0x2a enum class DOTA_ABILITY_BEHAVIOR : uint64_t { DOTA_ABILITY_BEHAVIOR_NONE = 0x0, @@ -6389,6 +6538,7 @@ enum class DOTA_ABILITY_BEHAVIOR : uint64_t DOTA_ABILITY_BEHAVIOR_IGNORE_SILENCE = 0x2000000000, DOTA_ABILITY_BEHAVIOR_OVERSHOOT = 0x4000000000, DOTA_ABILITY_BEHAVIOR_IGNORE_MUTED = 0x8000000000, + DOTA_ABILITY_BEHAVIOR_ALT_CASTABLE = 0x10000000000, }; // Alignment: 4 @@ -6561,7 +6711,7 @@ enum class DOTATeam_t : uint32_t }; // Alignment: 4 -// Size: 0x3c +// Size: 0x3d enum class modifierstate : uint32_t { MODIFIER_STATE_ROOTED = 0x0, @@ -6623,7 +6773,8 @@ enum class modifierstate : uint32_t MODIFIER_STATE_DEBUFF_IMMUNE = 0x38, MODIFIER_STATE_NO_INVISIBILITY_VISUALS = 0x39, MODIFIER_STATE_ALLOW_PATHING_THROUGH_BASE_BLOCKER = 0x3a, - MODIFIER_STATE_LAST = 0x3b, + MODIFIER_STATE_IGNORING_MOVE_ORDERS = 0x3b, + MODIFIER_STATE_LAST = 0x3c, }; // Alignment: 4 @@ -6723,7 +6874,7 @@ enum class DOTA_RUNES : uint32_t }; // Alignment: 4 -// Size: 0x78 +// Size: 0x79 enum class DOTA_INVALID_ORDERS : uint32_t { DOTA_ORDER_SUCCESS = 0xffffffffffffffff, @@ -6845,7 +6996,8 @@ enum class DOTA_INVALID_ORDERS : uint32_t DOTA_INVALID_ORDER_BEYOND_PHYSICAL_ITEM_LIMIT = 0x73, DOTA_INVALID_ORDER_ABILITY_PING_DEAD_ALLY = 0x74, DOTA_INVALID_ORDER_CANT_LOCKCOMBINE_NEUTRAL_ITEMS = 0x75, - DOTA_INVALID_ORDER_COUNT = 0x76, + DOTA_INVALID_ORDER_ABILITY_CANT_ALT_CAST = 0x76, + DOTA_INVALID_ORDER_COUNT = 0x77, }; // Alignment: 4 @@ -6927,7 +7079,7 @@ enum class DOTAMusicStatus_t : uint32_t }; // Alignment: 4 -// Size: 0x8 +// Size: 0x9 enum class DOTAPortraitEnvironmentType_t : uint32_t { DOTA_PORTRAIT_ENVIRONMENT_INVALID = 0xffffffffffffffff, @@ -6937,7 +7089,8 @@ enum class DOTAPortraitEnvironmentType_t : uint32_t DOTA_PORTRAIT_ENVIRONMENT_WEBPAGE = 0x3, DOTA_PORTRAIT_ENVIRONMENT_FULL_BODY_RIGHT_SIDE = 0x4, DOTA_PORTRAIT_ENVIRONMENT_FULL_BODY_LOADOUT = 0x5, - DOTA_PORTRAIT_ENVIRONMENT_TYPE_COUNT = 0x6, + DOTA_PORTRAIT_ENVIRONMENT_ICON = 0x6, + DOTA_PORTRAIT_ENVIRONMENT_TYPE_COUNT = 0x7, }; // Alignment: 4 @@ -7214,7 +7367,7 @@ enum class DotaPseudoRandomType : uint32_t DOTA_PSEUDO_RANDOM_NEUTRAL_DROP_TIER5 = 0x48, DOTA_PSEUDO_RANDOM_MARS_BULWARK = 0x49, DOTA_PSEUDO_RANDOM_MUERTA_GUNSLINGER = 0x4a, - DOTA_PSEUDO_RANDOM_BATRIDER_NAPALM = 0x4b, + DOTA_PSEUDO_RANDOM_TROLL_FERVOR_SHARD = 0x4b, DOTA_PSEUDO_RANDOM_CUSTOM_GENERIC = 0x4c, DOTA_PSEUDO_RANDOM_CUSTOM_GAME_1 = 0x4d, DOTA_PSEUDO_RANDOM_CUSTOM_GAME_2 = 0x4e, @@ -7248,7 +7401,7 @@ enum class modifierpriority : uint32_t }; // Alignment: 4 -// Size: 0x113 +// Size: 0x120 enum class modifierfunction : uint32_t { MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE = 0x0, @@ -7369,162 +7522,175 @@ enum class modifierfunction : uint32_t 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_EVENT_SPELL_APPLIED_SUCCESSFULLY = 0x10e, - MODIFIER_PROPERTY_AVOID_DAMAGE_AFTER_REDUCTIONS = 0x10f, - MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_MULTIPLICATIVE = 0x110, - MODIFIER_FUNCTION_LAST = 0x111, + MODIFIER_PROPERTY_REINCARNATION_SUPPRESS_FX = 0x76, + MODIFIER_PROPERTY_RESPAWNTIME = 0x77, + MODIFIER_PROPERTY_RESPAWNTIME_PERCENTAGE = 0x78, + MODIFIER_PROPERTY_RESPAWNTIME_STACKING = 0x79, + MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE = 0x7a, + MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_ONGOING = 0x7b, + MODIFIER_PROPERTY_CASTTIME_PERCENTAGE = 0x7c, + MODIFIER_PROPERTY_ATTACK_ANIM_TIME_PERCENTAGE = 0x7d, + MODIFIER_PROPERTY_MANACOST_PERCENTAGE = 0x7e, + MODIFIER_PROPERTY_MANACOST_PERCENTAGE_STACKING = 0x7f, + MODIFIER_PROPERTY_HEALTHCOST_PERCENTAGE = 0x80, + MODIFIER_PROPERTY_HEALTHCOST_PERCENTAGE_STACKING = 0x81, + MODIFIER_PROPERTY_DEATHGOLDCOST = 0x82, + MODIFIER_PROPERTY_EXP_RATE_BOOST = 0x83, + MODIFIER_PROPERTY_GOLD_RATE_BOOST = 0x84, + MODIFIER_PROPERTY_PREATTACK_CRITICALSTRIKE = 0x85, + MODIFIER_PROPERTY_PREATTACK_TARGET_CRITICALSTRIKE = 0x86, + MODIFIER_PROPERTY_MAGICAL_CONSTANT_BLOCK = 0x87, + MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK = 0x88, + MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK_SPECIAL = 0x89, + MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK_UNAVOIDABLE_PRE_ARMOR = 0x8a, + MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK = 0x8b, + MODIFIER_PROPERTY_OVERRIDE_ANIMATION = 0x8c, + MODIFIER_PROPERTY_OVERRIDE_ANIMATION_WEIGHT = 0x8d, + MODIFIER_PROPERTY_OVERRIDE_ANIMATION_RATE = 0x8e, + MODIFIER_PROPERTY_ABSORB_SPELL = 0x8f, + MODIFIER_PROPERTY_REFLECT_SPELL = 0x90, + MODIFIER_PROPERTY_DISABLE_AUTOATTACK = 0x91, + MODIFIER_PROPERTY_BONUS_DAY_VISION = 0x92, + MODIFIER_PROPERTY_BONUS_NIGHT_VISION = 0x93, + MODIFIER_PROPERTY_BONUS_NIGHT_VISION_UNIQUE = 0x94, + MODIFIER_PROPERTY_BONUS_VISION_PERCENTAGE = 0x95, + MODIFIER_PROPERTY_FIXED_DAY_VISION = 0x96, + MODIFIER_PROPERTY_FIXED_NIGHT_VISION = 0x97, + MODIFIER_PROPERTY_MIN_HEALTH = 0x98, + MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PHYSICAL = 0x99, + MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_MAGICAL = 0x9a, + MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PURE = 0x9b, + MODIFIER_PROPERTY_IS_ILLUSION = 0x9c, + MODIFIER_PROPERTY_ILLUSION_LABEL = 0x9d, + MODIFIER_PROPERTY_STRONG_ILLUSION = 0x9e, + MODIFIER_PROPERTY_SUPER_ILLUSION = 0x9f, + MODIFIER_PROPERTY_SUPER_ILLUSION_WITH_ULTIMATE = 0xa0, + MODIFIER_PROPERTY_XP_DURING_DEATH = 0xa1, + MODIFIER_PROPERTY_TURN_RATE_PERCENTAGE = 0xa2, + MODIFIER_PROPERTY_TURN_RATE_OVERRIDE = 0xa3, + MODIFIER_PROPERTY_DISABLE_HEALING = 0xa4, + MODIFIER_PROPERTY_ALWAYS_ALLOW_ATTACK = 0xa5, + MODIFIER_PROPERTY_ALWAYS_ETHEREAL_ATTACK = 0xa6, + MODIFIER_PROPERTY_OVERRIDE_ATTACK_MAGICAL = 0xa7, + MODIFIER_PROPERTY_UNIT_STATS_NEEDS_REFRESH = 0xa8, + MODIFIER_PROPERTY_BOUNTY_CREEP_MULTIPLIER = 0xa9, + MODIFIER_PROPERTY_BOUNTY_OTHER_MULTIPLIER = 0xaa, + MODIFIER_PROPERTY_UNIT_DISALLOW_UPGRADING = 0xab, + MODIFIER_PROPERTY_DODGE_PROJECTILE = 0xac, + MODIFIER_PROPERTY_TRIGGER_COSMETIC_AND_END_ATTACK = 0xad, + MODIFIER_PROPERTY_MAX_DEBUFF_DURATION = 0xae, + MODIFIER_PROPERTY_PRIMARY_STAT_DAMAGE_MULTIPLIER = 0xaf, + MODIFIER_PROPERTY_PREATTACK_DEADLY_BLOW = 0xb0, + MODIFIER_PROPERTY_ALWAYS_AUTOATTACK_WHILE_HOLD_POSITION = 0xb1, + MODIFIER_EVENT_ON_SPELL_TARGET_READY = 0xb2, + MODIFIER_EVENT_ON_ATTACK_RECORD = 0xb3, + MODIFIER_EVENT_ON_ATTACK_START = 0xb4, + MODIFIER_EVENT_ON_ATTACK = 0xb5, + MODIFIER_EVENT_ON_ATTACK_LANDED = 0xb6, + MODIFIER_EVENT_ON_ATTACK_FAIL = 0xb7, + MODIFIER_EVENT_ON_ATTACK_ALLIED = 0xb8, + MODIFIER_EVENT_ON_PROJECTILE_DODGE = 0xb9, + MODIFIER_EVENT_ON_ORDER = 0xba, + MODIFIER_EVENT_ON_UNIT_MOVED = 0xbb, + MODIFIER_EVENT_ON_ABILITY_START = 0xbc, + MODIFIER_EVENT_ON_ABILITY_EXECUTED = 0xbd, + MODIFIER_EVENT_ON_ABILITY_FULLY_CAST = 0xbe, + MODIFIER_EVENT_ON_BREAK_INVISIBILITY = 0xbf, + MODIFIER_EVENT_ON_ABILITY_END_CHANNEL = 0xc0, + MODIFIER_EVENT_ON_PROCESS_UPGRADE = 0xc1, + MODIFIER_EVENT_ON_REFRESH = 0xc2, + MODIFIER_EVENT_ON_TAKEDAMAGE = 0xc3, + MODIFIER_EVENT_ON_DEATH_PREVENTED = 0xc4, + MODIFIER_EVENT_ON_STATE_CHANGED = 0xc5, + MODIFIER_EVENT_ON_ORB_EFFECT = 0xc6, + MODIFIER_EVENT_ON_PROCESS_CLEAVE = 0xc7, + MODIFIER_EVENT_ON_DAMAGE_CALCULATED = 0xc8, + MODIFIER_EVENT_ON_MAGIC_DAMAGE_CALCULATED = 0xc9, + MODIFIER_EVENT_ON_ATTACKED = 0xca, + MODIFIER_EVENT_ON_DEATH = 0xcb, + MODIFIER_EVENT_ON_DEATH_COMPLETED = 0xcc, + MODIFIER_EVENT_ON_RESPAWN = 0xcd, + MODIFIER_EVENT_ON_SPENT_MANA = 0xce, + MODIFIER_EVENT_ON_SPENT_HEALTH = 0xcf, + MODIFIER_EVENT_ON_TELEPORTING = 0xd0, + MODIFIER_EVENT_ON_TELEPORTED = 0xd1, + MODIFIER_EVENT_ON_SET_LOCATION = 0xd2, + MODIFIER_EVENT_ON_HEALTH_GAINED = 0xd3, + MODIFIER_EVENT_ON_MANA_GAINED = 0xd4, + MODIFIER_EVENT_ON_TAKEDAMAGE_KILLCREDIT = 0xd5, + MODIFIER_EVENT_ON_HERO_KILLED = 0xd6, + MODIFIER_EVENT_ON_HEAL_RECEIVED = 0xd7, + MODIFIER_EVENT_ON_BUILDING_KILLED = 0xd8, + MODIFIER_EVENT_ON_MODEL_CHANGED = 0xd9, + MODIFIER_EVENT_ON_MODIFIER_ADDED = 0xda, + MODIFIER_PROPERTY_TOOLTIP = 0xdb, + MODIFIER_PROPERTY_MODEL_CHANGE = 0xdc, + MODIFIER_PROPERTY_MODEL_SCALE = 0xdd, + MODIFIER_PROPERTY_MODEL_SCALE_ANIMATE_TIME = 0xde, + MODIFIER_PROPERTY_MODEL_SCALE_USE_IN_OUT_EASE = 0xdf, + MODIFIER_PROPERTY_MODEL_SCALE_CONSTANT = 0xe0, + MODIFIER_PROPERTY_IS_SCEPTER = 0xe1, + MODIFIER_PROPERTY_IS_SHARD = 0xe2, + MODIFIER_PROPERTY_RADAR_COOLDOWN_REDUCTION = 0xe3, + MODIFIER_PROPERTY_TRANSLATE_ACTIVITY_MODIFIERS = 0xe4, + MODIFIER_PROPERTY_TRANSLATE_ATTACK_SOUND = 0xe5, + MODIFIER_PROPERTY_LIFETIME_FRACTION = 0xe6, + MODIFIER_PROPERTY_PROVIDES_FOW_POSITION = 0xe7, + MODIFIER_PROPERTY_SPELLS_REQUIRE_HP = 0xe8, + MODIFIER_PROPERTY_FORCE_DRAW_MINIMAP = 0xe9, + MODIFIER_PROPERTY_DISABLE_TURNING = 0xea, + MODIFIER_PROPERTY_IGNORE_CAST_ANGLE = 0xeb, + MODIFIER_PROPERTY_CHANGE_ABILITY_VALUE = 0xec, + MODIFIER_PROPERTY_OVERRIDE_ABILITY_SPECIAL = 0xed, + MODIFIER_PROPERTY_OVERRIDE_ABILITY_SPECIAL_VALUE = 0xee, + MODIFIER_PROPERTY_ABILITY_LAYOUT = 0xef, + MODIFIER_EVENT_ON_DOMINATED = 0xf0, + MODIFIER_EVENT_ON_KILL = 0xf1, + MODIFIER_EVENT_ON_ASSIST = 0xf2, + MODIFIER_PROPERTY_TEMPEST_DOUBLE = 0xf3, + MODIFIER_PROPERTY_PRESERVE_PARTICLES_ON_MODEL_CHANGE = 0xf4, + MODIFIER_EVENT_ON_ATTACK_FINISHED = 0xf5, + MODIFIER_PROPERTY_IGNORE_COOLDOWN = 0xf6, + MODIFIER_PROPERTY_CAN_ATTACK_TREES = 0xf7, + MODIFIER_PROPERTY_VISUAL_Z_DELTA = 0xf8, + MODIFIER_PROPERTY_VISUAL_Z_SPEED_BASE_OVERRIDE = 0xf9, + MODIFIER_PROPERTY_INCOMING_DAMAGE_ILLUSION = 0xfa, + MODIFIER_PROPERTY_DONT_GIVE_VISION_OF_ATTACKER = 0xfb, + MODIFIER_PROPERTY_TOOLTIP2 = 0xfc, + MODIFIER_EVENT_ON_ATTACK_RECORD_DESTROY = 0xfd, + MODIFIER_EVENT_ON_PROJECTILE_OBSTRUCTION_HIT = 0xfe, + MODIFIER_PROPERTY_SUPPRESS_TELEPORT = 0xff, + MODIFIER_EVENT_ON_ATTACK_CANCELLED = 0x100, + MODIFIER_PROPERTY_SUPPRESS_CLEAVE = 0x101, + MODIFIER_PROPERTY_BOT_ATTACK_SCORE_BONUS = 0x102, + MODIFIER_PROPERTY_ATTACKSPEED_REDUCTION_PERCENTAGE = 0x103, + MODIFIER_PROPERTY_MOVESPEED_REDUCTION_PERCENTAGE = 0x104, + MODIFIER_PROPERTY_ATTACK_WHILE_MOVING_TARGET = 0x105, + MODIFIER_PROPERTY_ATTACKSPEED_PERCENTAGE = 0x106, + MODIFIER_EVENT_ON_ATTEMPT_PROJECTILE_DODGE = 0x107, + MODIFIER_EVENT_ON_PREDEBUFF_APPLIED = 0x108, + MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_STACKING = 0x109, + MODIFIER_PROPERTY_SPELL_REDIRECT_TARGET = 0x10a, + MODIFIER_PROPERTY_TURN_RATE_CONSTANT = 0x10b, + MODIFIER_PROPERTY_RAT_PACK = 0x10c, + MODIFIER_PROPERTY_PHYSICALDAMAGEOUTGOING_PERCENTAGE = 0x10d, + MODIFIER_PROPERTY_KNOCKBACK_AMPLIFICATION_PERCENTAGE = 0x10e, + MODIFIER_PROPERTY_HEALTHBAR_PIPS = 0x10f, + MODIFIER_PROPERTY_INCOMING_DAMAGE_CONSTANT = 0x110, + MODIFIER_EVENT_SPELL_APPLIED_SUCCESSFULLY = 0x111, + MODIFIER_PROPERTY_AVOID_DAMAGE_AFTER_REDUCTIONS = 0x112, + MODIFIER_PROPERTY_FAIL_ATTACK = 0x113, + MODIFIER_PROPERTY_PREREDUCE_INCOMING_DAMAGE_MULT = 0x114, + MODIFIER_PROPERTY_SUPPRESS_FULLSCREEN_DEATH_FX = 0x115, + MODIFIER_PROPERTY_INCOMING_DAMAGE_CONSTANT_POST = 0x116, + MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_MULTIPLICATIVE = 0x117, + MODIFIER_PROPERTY_TICK_GOLD_MULTIPLIER = 0x118, + MODIFIER_PROPERTY_SLOW_RESISTANCE = 0x119, + MODIFIER_PROPERTY_AOE_BONUS_PERCENTAGE = 0x11a, + MODIFIER_PROPERTY_PROJECTILE_SPEED = 0x11b, + MODIFIER_PROPERTY_BECOME_UNIVERSAL = 0x11c, + MODIFIER_EVENT_ON_FORCE_PROC_MAGIC_STICK = 0x11d, + MODIFIER_FUNCTION_LAST = 0x11e, MODIFIER_FUNCTION_INVALID = 0xffff, }; @@ -7566,7 +7732,7 @@ enum class ScoutState_t : uint32_t }; // Alignment: 4 -// Size: 0x67 +// Size: 0x68 enum class DOTASlotType_t : uint32_t { DOTA_LOADOUT_TYPE_INVALID = 0xffffffffffffffff, @@ -7668,10 +7834,11 @@ enum class DOTASlotType_t : uint32_t DOTA_LOADOUT_TYPE_RADIANT_SIEGE_CREEPS = 0x5d, DOTA_LOADOUT_TYPE_DIRE_SIEGE_CREEPS = 0x5e, DOTA_LOADOUT_TYPE_ROSHAN = 0x5f, + DOTA_LOADOUT_TYPE_TORMENTOR = 0x60, DOTA_PLAYER_LOADOUT_START = 0x43, - DOTA_PLAYER_LOADOUT_END = 0x5f, - DOTA_LOADOUT_TYPE_NONE = 0x60, - DOTA_LOADOUT_TYPE_COUNT = 0x61, + DOTA_PLAYER_LOADOUT_END = 0x60, + DOTA_LOADOUT_TYPE_NONE = 0x61, + DOTA_LOADOUT_TYPE_COUNT = 0x62, }; // Alignment: 4 @@ -7821,6 +7988,51 @@ enum class CavernCrawlChallengeType_t : uint8_t CAVERN_CRAWL_CHALLENGE_LAST_VALID_TYPE_PLUS_ONE = 0xf2, }; +// Alignment: 4 +// Size: 0x6 +enum class EPlayerTrackedStatImpl : uint32_t +{ + k_ePlayerTrackedStatImpl_Invalid = 0x0, + k_ePlayerTrackedStatImpl_Direct = 0x1, + k_ePlayerTrackedStatImpl_KillEater = 0x2, + k_ePlayerTrackedStatImpl_CombatQuery = 0x3, + k_ePlayerTrackedStatImpl_Expression = 0x4, + k_ePlayerTrackedStatImpl_HeroAdjective = 0x5, +}; + +// Alignment: 4 +// Size: 0x4 +enum class ETeamTrackedStatImpl : uint32_t +{ + k_eTeamTrackedStatImpl_Invalid = 0x0, + k_eTeamTrackedStatImpl_Direct = 0x1, + k_eTeamTrackedStatImpl_Expression = 0x2, + k_eTeamTrackedStatImpl_PlayerAggregate = 0x3, +}; + +// Alignment: 4 +// Size: 0x5 +enum class EMatchTrackedStatImpl : uint32_t +{ + k_eMatchTrackedStatImpl_Invalid = 0x0, + k_eMatchTrackedStatImpl_Direct = 0x1, + k_eMatchTrackedStatImpl_Expression = 0x2, + k_eMatchTrackedStatImpl_PlayerAggregate = 0x3, + k_eMatchTrackedStatImpl_TeamAggregate = 0x4, +}; + +// Alignment: 4 +// Size: 0x6 +enum class ETrackedStatAggregate : uint32_t +{ + k_eTrackedStatAggregate_Invalid = 0x0, + k_eTrackedStatAggregate_Sum = 0x1, + k_eTrackedStatAggregate_Max = 0x2, + k_eTrackedStatAggregate_Min = 0x3, + k_eTrackedStatAggregate_Or = 0x4, + k_eTrackedStatAggregate_And = 0x5, +}; + // Alignment: 4 // Size: 0x6 enum class PetCoopStates_t : uint32_t @@ -7903,10 +8115,9 @@ struct VelocitySampler; struct SimpleConstraintSoundProfile; struct sky3dparams_t; struct CSkyCamera; -struct CBaseEntity; -struct AttachmentHandle_t; struct ParticleIndex_t; struct VPhysicsCollisionAttribute_t; +struct AttachmentHandle_t; struct fogparams_t; struct CTakeDamageInfo; struct CTakeDamageResult; @@ -7953,6 +8164,12 @@ struct style_index_t; struct BlessingTypeID_t; struct BlessingID_t; struct PingWheelMessageID_t; +struct TrackedStatID_t; +struct TrackedStatKillEaterData_t; +struct TrackedStatCombatQueryData_t; +struct TrackedStatExpressionData_t; +struct TrackedStatHeroAdjectiveData_t; +struct TrackedStatAggregateData_t; struct CDOTA_TeamCommander; struct CDOTABehaviorMoveTo; struct CPointCamera; @@ -7967,7 +8184,6 @@ struct CMotorController; struct ConstraintSoundInfo; struct constraint_hingeparams_t; struct dynpitchvol_t; -struct ragdoll_t; struct CAttributeList; struct CSoundPatch; struct sSpiritInfo; @@ -7978,6 +8194,7 @@ struct IChoreoServices; struct AnimationUpdateListHandle_t; struct PhysicsRagdollPose_t; struct CFuncTrackTrain; +struct ragdoll_t; struct CAttributeContainer; struct CPlayer_WeaponServices; struct CPlayer_ItemServices; @@ -8069,6 +8286,60 @@ public: float m_flRadiusInner; // 0x80 }; +// Alignment: 11 +// Size: 0x2c +class CNavHullVData +{ +public: + // MPropertyFriendlyName "Enabled" + // MPropertyDescription "Is this agent enabled for generation? ( will result in 0 nav areas for this agent if not )." + bool m_bAgentEnabled; // 0x0 + // MPropertyFriendlyName "Radius" + // MPropertyDescription "Radius of navigating agent capsule." + float m_agentRadius; // 0x4 + // MPropertyFriendlyName "Height" + // MPropertyDescription "Height of navigating agent capsule." + float m_agentHeight; // 0x8 + // MPropertyFriendlyName "Enable Short Height" + // MPropertyDescription "Enable shorter navigating agent capsules ( e.g. crouch ) in addition to regular height capsules." + bool m_agentShortHeightEnabled; // 0xc +private: + [[maybe_unused]] uint8_t __pad000d[0x3]; // 0xd +public: + // MPropertyFriendlyName "Short height" + // MPropertyDescription "Short Height of navigating agent capsules if enabled." + float m_agentShortHeight; // 0x10 + // MPropertyFriendlyName "Max Climb" + // MPropertyDescription "Max vertical offset that the agent simply ignores and walks over." + float m_agentMaxClimb; // 0x14 + // MPropertyFriendlyName "Max Slope" + // MPropertyDescription "Max ground slope to be considered walkable." + int32_t m_agentMaxSlope; // 0x18 + // MPropertyFriendlyName "Max Jump Down Distance" + // MPropertyDescription "Max vertical offset at which to create a jump connection ( possibly one-way )." + float m_agentMaxJumpDownDist; // 0x1c + // MPropertyFriendlyName "Max Horizontal Jump Distance" + // MPropertyDescription "Max horizontal offset over which to create a jump connection ( actually a parameter into the true threshold function )." + float m_agentMaxJumpHorizDistBase; // 0x20 + // MPropertyFriendlyName "Max Jump Up Distance" + // MPropertyDescription "Max vertical offset at which to make a jump connection two-way." + float m_agentMaxJumpUpDist; // 0x24 + // MPropertyFriendlyName "Border Erosion" + // MPropertyDescription "Border erosion in voxel units ( -1 to use default value based on agent radius )." + int32_t m_agentBorderErosion; // 0x28 +}; + +// Alignment: 1 +// Size: 0x18 +class CNavHullPresetVData +{ +public: + // MPropertyFriendlyName "Nav Hulls" + // MPropertyDescription "List of nav hulls belonging to this preset." + // MPropertyAttributeEditor "VDataChoice( scripts/nav_hulls.vdata )" + CUtlVector< CUtlString > m_vecNavHulls; // 0x0 +}; + // Alignment: 11 // Size: 0x78 class CEntityIdentity @@ -8240,11 +8511,12 @@ public: float m_Value; // 0x0 // Static fields: - static GameTime_t &Get_Zero(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("GameTime_t")->m_static_fields[0]->m_instance);}; + static bool &Get_IS_TYPESAFE_FLOAT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("GameTime_t")->m_static_fields[0]->m_instance);}; + static GameTime_t &Get_Zero(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("GameTime_t")->m_static_fields[1]->m_instance);}; }; // Alignment: 1 -// Size: 0x1a0 +// Size: 0x1b0 class CNetworkTransmitComponent { private: @@ -8299,6 +8571,46 @@ struct AnimationUpdateListHandle_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("AnimationUpdateListHandle_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 0 +// Size: 0x18 +class CAnimEventListenerBase +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x20 +class CAnimEventListener : public CAnimEventListenerBase +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x38 +class CAnimEventQueueListener : public CAnimEventListenerBase +{ +private: + [[maybe_unused]] uint8_t __pad0018[0x8]; // 0x18 +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x18 +class CAnimGraphTagRef +{ +public: + int32_t m_nTagIndex; // 0x0 + CGlobalSymbol m_tagName; // 0x10 }; // Alignment: 2 @@ -8364,6 +8676,17 @@ 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: 2 +// Size: 0x18 +class CBreakableStageHelper +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + int32_t m_nCurrentStage; // 0x8 + int32_t m_nStageCount; // 0xc +}; + // Alignment: 12 // Size: 0x50 struct CommandToolCommand_t @@ -8495,8 +8818,8 @@ public: uint64_t m_pButtonStates[3]; // 0x8 }; -// Alignment: 14 -// Size: 0x1b8 +// Alignment: 15 +// Size: 0x1d0 class CPlayer_MovementServices : public CPlayerPawnComponent { public: @@ -8523,11 +8846,12 @@ public: // MNetworkEncodeFlags float m_flMaxspeed; // 0x190 // MNetworkEnable - float m_flForceSubtickMoveWhen; // 0x194 - float m_flForwardMove; // 0x198 - float m_flLeftMove; // 0x19c - float m_flUpMove; // 0x1a0 - QAngle m_vecOldViewAngles; // 0x1a4 + float m_arrForceSubtickMoveWhen[4]; // 0x194 + float m_flForwardMove; // 0x1a4 + float m_flLeftMove; // 0x1a8 + float m_flUpMove; // 0x1ac + Vector m_vecLastMovementImpulses; // 0x1b0 + QAngle m_vecOldViewAngles; // 0x1bc }; // Alignment: 4 @@ -8591,6 +8915,9 @@ struct AmmoIndex_t { public: int8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("AmmoIndex_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 5 @@ -8610,6 +8937,16 @@ public: CRangeFloat m_flSpeed; // 0x2c }; +// Alignment: 0 +// Size: 0x18 +class CAnimGraphControllerBase +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 +public: + // No members available +}; + // Alignment: 33 // Size: 0x150 class CGameSceneNode @@ -8733,6 +9070,9 @@ struct ModelConfigHandle_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("ModelConfigHandle_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 4 @@ -8901,8 +9241,8 @@ public: CNetworkedQuantizedFloat m_vecZ; // 0x20 }; -// Alignment: 71 -// Size: 0x1d8 +// Alignment: 68 +// Size: 0x1d0 class CLightComponent : public CEntityComponent { private: @@ -9030,105 +9370,97 @@ public: int32_t m_nShadowCascadeResolution3; // 0x118 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nBakeLightIndex; // 0x11c - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flBakeLightIndexScale; // 0x120 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - bool m_bUsesIndexedBakedLighting; // 0x124 + // MNetworkAlias "m_bUsesIndexedBakedLighting" + bool m_bUsesBakedShadowing; // 0x11c private: - [[maybe_unused]] uint8_t __pad0125[0x3]; // 0x125 + [[maybe_unused]] uint8_t __pad011d[0x3]; // 0x11d public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nPriority; // 0x128 + int32_t m_nShadowPriority; // 0x120 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowPriority; // 0x12c + int32_t m_nBakedShadowIndex; // 0x124 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nBakedShadowIndex; // 0x130 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - bool m_bRenderToCubemaps; // 0x134 + bool m_bRenderToCubemaps; // 0x128 private: - [[maybe_unused]] uint8_t __pad0135[0x3]; // 0x135 + [[maybe_unused]] uint8_t __pad0129[0x7]; // 0x129 public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - CUtlSymbolLarge m_LightGroups; // 0x138 + CUtlSymbolLarge m_LightGroups; // 0x130 // MNetworkEnable - int32_t m_nDirectLight; // 0x140 + int32_t m_nDirectLight; // 0x138 // MNetworkEnable - int32_t m_nIndirectLight; // 0x144 + int32_t m_nIndirectLight; // 0x13c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flFadeMinDist; // 0x148 + float m_flFadeMinDist; // 0x140 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flFadeMaxDist; // 0x14c + float m_flFadeMaxDist; // 0x144 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowFadeMinDist; // 0x150 + float m_flShadowFadeMinDist; // 0x148 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowFadeMaxDist; // 0x154 + float m_flShadowFadeMaxDist; // 0x14c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bEnabled; // 0x158 + bool m_bEnabled; // 0x150 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bFlicker; // 0x159 + bool m_bFlicker; // 0x151 // MNetworkEnable - bool m_bPrecomputedFieldsValid; // 0x15a + bool m_bPrecomputedFieldsValid; // 0x152 private: - [[maybe_unused]] uint8_t __pad015b[0x1]; // 0x15b + [[maybe_unused]] uint8_t __pad0153[0x1]; // 0x153 public: // MNetworkEnable - Vector m_vPrecomputedBoundsMins; // 0x15c + Vector m_vPrecomputedBoundsMins; // 0x154 // MNetworkEnable - Vector m_vPrecomputedBoundsMaxs; // 0x168 + Vector m_vPrecomputedBoundsMaxs; // 0x160 // MNetworkEnable - Vector m_vPrecomputedOBBOrigin; // 0x174 + Vector m_vPrecomputedOBBOrigin; // 0x16c // MNetworkEnable - QAngle m_vPrecomputedOBBAngles; // 0x180 + QAngle m_vPrecomputedOBBAngles; // 0x178 // MNetworkEnable - Vector m_vPrecomputedOBBExtent; // 0x18c + Vector m_vPrecomputedOBBExtent; // 0x184 // MNetworkEnable - float m_flPrecomputedMaxRange; // 0x198 + float m_flPrecomputedMaxRange; // 0x190 // MNetworkEnable - int32_t m_nFogLightingMode; // 0x19c + int32_t m_nFogLightingMode; // 0x194 // MNetworkEnable - float m_flFogContributionStength; // 0x1a0 + float m_flFogContributionStength; // 0x198 // MNetworkEnable - float m_flNearClipPlane; // 0x1a4 + float m_flNearClipPlane; // 0x19c // MNetworkEnable - Color m_SkyColor; // 0x1a8 + Color m_SkyColor; // 0x1a0 // MNetworkEnable - float m_flSkyIntensity; // 0x1ac + float m_flSkyIntensity; // 0x1a4 // MNetworkEnable - Color m_SkyAmbientBounce; // 0x1b0 + Color m_SkyAmbientBounce; // 0x1a8 // MNetworkEnable - bool m_bUseSecondaryColor; // 0x1b4 + bool m_bUseSecondaryColor; // 0x1ac // MNetworkEnable // MNetworkChangeCallback "MixedShadowsChanged" - bool m_bMixedShadows; // 0x1b5 + bool m_bMixedShadows; // 0x1ad private: - [[maybe_unused]] uint8_t __pad01b6[0x2]; // 0x1b6 + [[maybe_unused]] uint8_t __pad01ae[0x2]; // 0x1ae public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - GameTime_t m_flLightStyleStartTime; // 0x1b8 + GameTime_t m_flLightStyleStartTime; // 0x1b0 // MNetworkEnable - float m_flCapsuleLength; // 0x1bc + float m_flCapsuleLength; // 0x1b4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flMinRoughness; // 0x1c0 + float m_flMinRoughness; // 0x1b8 private: - [[maybe_unused]] uint8_t __pad01c4[0xc]; // 0x1c4 + [[maybe_unused]] uint8_t __pad01bc[0xc]; // 0x1bc public: - bool m_bPvsModifyEntity; // 0x1d0 + bool m_bPvsModifyEntity; // 0x1c8 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CLightComponent")->m_static_fields[0]->m_instance);}; @@ -9143,7 +9475,8 @@ public: int32_t m_Value; // 0x0 // Static fields: - static GameTick_t &Get_Zero(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("GameTick_t")->m_static_fields[0]->m_instance);}; + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("GameTick_t")->m_static_fields[0]->m_instance);}; + static GameTick_t &Get_Zero(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("GameTick_t")->m_static_fields[1]->m_instance);}; }; // Alignment: 2 @@ -9190,51 +9523,51 @@ public: }; // Alignment: 14 -// Size: 0x208 +// Size: 0x220 class CPlayer_MovementServices_Humanoid : public CPlayer_MovementServices { public: - float m_flStepSoundTime; // 0x1b8 + float m_flStepSoundTime; // 0x1d0 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" // MNetworkBitCount "17" // MNetworkMinValue "-4096.000000" // MNetworkMaxValue "4096.000000" // MNetworkEncodeFlags - float m_flFallVelocity; // 0x1bc + float m_flFallVelocity; // 0x1d4 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bInCrouch; // 0x1c0 + bool m_bInCrouch; // 0x1d8 private: - [[maybe_unused]] uint8_t __pad01c1[0x3]; // 0x1c1 + [[maybe_unused]] uint8_t __pad01d9[0x3]; // 0x1d9 public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_nCrouchState; // 0x1c4 + uint32_t m_nCrouchState; // 0x1dc // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - GameTime_t m_flCrouchTransitionStartTime; // 0x1c8 + GameTime_t m_flCrouchTransitionStartTime; // 0x1e0 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bDucked; // 0x1cc + bool m_bDucked; // 0x1e4 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bDucking; // 0x1cd + bool m_bDucking; // 0x1e5 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bInDuckJump; // 0x1ce + bool m_bInDuckJump; // 0x1e6 private: - [[maybe_unused]] uint8_t __pad01cf[0x1]; // 0x1cf + [[maybe_unused]] uint8_t __pad01e7[0x1]; // 0x1e7 public: - Vector m_groundNormal; // 0x1d0 - float m_flSurfaceFriction; // 0x1dc - CUtlStringToken m_surfaceProps; // 0x1e0 + Vector m_groundNormal; // 0x1e8 + float m_flSurfaceFriction; // 0x1f4 + CUtlStringToken m_surfaceProps; // 0x1f8 private: - [[maybe_unused]] uint8_t __pad01e4[0xc]; // 0x1e4 + [[maybe_unused]] uint8_t __pad01fc[0xc]; // 0x1fc public: - int32_t m_nStepside; // 0x1f0 - int32_t m_iTargetVolume; // 0x1f4 - Vector m_vecSmoothedVelocity; // 0x1f8 + int32_t m_nStepside; // 0x208 + int32_t m_iTargetVolume; // 0x20c + Vector m_vecSmoothedVelocity; // 0x210 }; // Alignment: 0 @@ -9430,8 +9763,8 @@ public: bool m_bStopped; // 0x220 }; -// Alignment: 20 -// Size: 0x1a8 +// Alignment: 22 +// Size: 0x1d8 class CAnimGraphNetworkedVariables { private: @@ -9439,101 +9772,124 @@ private: public: // MNetworkEnable // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetBoolVarChanged" // MNetworkAlias "m_PredBoolVariables" CNetworkUtlVectorBase< uint32 > m_PredNetBoolVariables; // 0x8 // MNetworkEnable // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetByteVarChanged" // MNetworkAlias "m_PredByteVariables" CNetworkUtlVectorBase< uint8 > m_PredNetByteVariables; // 0x20 // MNetworkEnable // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetUInt16VarChanged" // MNetworkAlias "m_PredUInt16Variables" CNetworkUtlVectorBase< uint16 > m_PredNetUInt16Variables; // 0x38 // MNetworkEnable // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetIntVarChanged" // MNetworkAlias "m_PredIntVariables" CNetworkUtlVectorBase< int32 > m_PredNetIntVariables; // 0x50 // MNetworkEnable // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetUInt32VarChanged" // MNetworkAlias "m_PredUInt32Variables" CNetworkUtlVectorBase< uint32 > m_PredNetUInt32Variables; // 0x68 // MNetworkEnable // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter + // MNetworkChangeCallback "OnNetUInt64VarChanged" + // MNetworkAlias "m_PredUInt64Variables" + CNetworkUtlVectorBase< uint64 > m_PredNetUInt64Variables; // 0x80 + // MNetworkEnable + // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetFloatVarChanged" // MNetworkAlias "m_PredFloatVariables" - CNetworkUtlVectorBase< float32 > m_PredNetFloatVariables; // 0x80 + CNetworkUtlVectorBase< float32 > m_PredNetFloatVariables; // 0x98 // MNetworkEnable // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVectorVarChanged" // MNetworkAlias "m_PredVectorVariables" - CNetworkUtlVectorBase< Vector > m_PredNetVectorVariables; // 0x98 + CNetworkUtlVectorBase< Vector > m_PredNetVectorVariables; // 0xb0 // MNetworkEnable // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetQuaternionVarChanged" // MNetworkAlias "m_PredQuaternionVariables" - CNetworkUtlVectorBase< Quaternion > m_PredNetQuaternionVariables; // 0xb0 + CNetworkUtlVectorBase< Quaternion > m_PredNetQuaternionVariables; // 0xc8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOBoolVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetBoolVariables" - CNetworkUtlVectorBase< uint32 > m_OwnerOnlyPredNetBoolVariables; // 0xc8 + CNetworkUtlVectorBase< uint32 > m_OwnerOnlyPredNetBoolVariables; // 0xe0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOByteVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetByteVariables" - CNetworkUtlVectorBase< uint8 > m_OwnerOnlyPredNetByteVariables; // 0xe0 + CNetworkUtlVectorBase< uint8 > m_OwnerOnlyPredNetByteVariables; // 0xf8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOUInt16VarChanged" // MNetworkAlias "m_OwnerOnlyPredNetUInt16Variables" - CNetworkUtlVectorBase< uint16 > m_OwnerOnlyPredNetUInt16Variables; // 0xf8 + CNetworkUtlVectorBase< uint16 > m_OwnerOnlyPredNetUInt16Variables; // 0x110 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOIntVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetIntVariables" - CNetworkUtlVectorBase< int32 > m_OwnerOnlyPredNetIntVariables; // 0x110 + CNetworkUtlVectorBase< int32 > m_OwnerOnlyPredNetIntVariables; // 0x128 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOUInt32VarChanged" // MNetworkAlias "m_OwnerOnlyPredNetUInt32Variables" - CNetworkUtlVectorBase< uint32 > m_OwnerOnlyPredNetUInt32Variables; // 0x128 + CNetworkUtlVectorBase< uint32 > m_OwnerOnlyPredNetUInt32Variables; // 0x140 + // MNetworkEnable + // MNetworkUserGroup "animationgraph" + // MNetworkSendProxyRecipientsFilter + // MNetworkChangeCallback "OnNetOOUInt64VarChanged" + // MNetworkAlias "m_OwnerOnlyPredNetUInt64Variables" + CNetworkUtlVectorBase< uint64 > m_OwnerOnlyPredNetUInt64Variables; // 0x158 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOFloatVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetFloatVariables" - CNetworkUtlVectorBase< float32 > m_OwnerOnlyPredNetFloatVariables; // 0x140 + CNetworkUtlVectorBase< float32 > m_OwnerOnlyPredNetFloatVariables; // 0x170 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOVectorVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetVectorVariables" - CNetworkUtlVectorBase< Vector > m_OwnerOnlyPredNetVectorVariables; // 0x158 + CNetworkUtlVectorBase< Vector > m_OwnerOnlyPredNetVectorVariables; // 0x188 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOQuaternionVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetQuaternionVariables" - CNetworkUtlVectorBase< Quaternion > m_OwnerOnlyPredNetQuaternionVariables; // 0x170 - // MNetworkEnable - int32_t m_nBoolVariablesCount; // 0x188 - // MNetworkEnable - int32_t m_nOwnerOnlyBoolVariablesCount; // 0x18c - // MNetworkEnable - int32_t m_nRandomSeedOffset; // 0x190 + CNetworkUtlVectorBase< Quaternion > m_OwnerOnlyPredNetQuaternionVariables; // 0x1a0 // MNetworkEnable // MNetworkUserGroup "animationgraph" - float m_flLastTeleportTime; // 0x194 + int32_t m_nBoolVariablesCount; // 0x1b8 + // MNetworkEnable + // MNetworkUserGroup "animationgraph" + int32_t m_nOwnerOnlyBoolVariablesCount; // 0x1bc + // MNetworkEnable + // MNetworkUserGroup "animationgraph" + int32_t m_nRandomSeedOffset; // 0x1c0 + // MNetworkEnable + // MNetworkUserGroup "animationgraph" + float m_flLastTeleportTime; // 0x1c4 }; // Alignment: 0 @@ -9865,11 +10221,11 @@ public: }; // Alignment: 0 -// Size: 0x20 +// Size: 0x50 class CTouchExpansionComponent : public CEntityComponent { private: - [[maybe_unused]] uint8_t __pad0008[0x10]; // 0x8 + [[maybe_unused]] uint8_t __pad0008[0x40]; // 0x8 public: // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTouchExpansionComponent")->m_static_fields[0]->m_instance);}; @@ -9935,8 +10291,8 @@ public: int32_t priority; // 0x4 }; -// Alignment: 77 -// Size: 0x498 +// Alignment: 73 +// Size: 0x4a8 class CBaseEntity : public CEntityInstance { public: @@ -9948,197 +10304,189 @@ public: CBodyComponent* m_CBodyComponent; // 0x30 CNetworkTransmitComponent m_NetworkTransmitComponent; // 0x38 private: - [[maybe_unused]] uint8_t __pad01d8[0x40]; // 0x1d8 + [[maybe_unused]] uint8_t __pad01e8[0x40]; // 0x1e8 public: - CUtlVector< thinkfunc_t > m_aThinkFunctions; // 0x218 - int32_t m_iCurrentThinkContext; // 0x230 - GameTick_t m_nLastThinkTick; // 0x234 + CUtlVector< thinkfunc_t > m_aThinkFunctions; // 0x228 + int32_t m_iCurrentThinkContext; // 0x240 + GameTick_t m_nLastThinkTick; // 0x244 private: - [[maybe_unused]] uint8_t __pad0238[0x8]; // 0x238 + [[maybe_unused]] uint8_t __pad0248[0x8]; // 0x248 public: - CBitVec< 64 > m_isSteadyState; // 0x240 - float m_lastNetworkChange; // 0x248 + CBitVec< 64 > m_isSteadyState; // 0x250 + float m_lastNetworkChange; // 0x258 private: - [[maybe_unused]] uint8_t __pad024c[0xc]; // 0x24c + [[maybe_unused]] uint8_t __pad025c[0xc]; // 0x25c public: - CUtlVector< ResponseContext_t > m_ResponseContexts; // 0x258 - CUtlSymbolLarge m_iszResponseContext; // 0x270 + CUtlVector< ResponseContext_t > m_ResponseContexts; // 0x268 + CUtlSymbolLarge m_iszResponseContext; // 0x280 private: - [[maybe_unused]] uint8_t __pad0278[0x20]; // 0x278 + [[maybe_unused]] uint8_t __pad0288[0x20]; // 0x288 public: // MNetworkEnable // MNetworkSerializer "ClampHealth" // MNetworkUserGroup "Player" // MNetworkPriority "32" - int32_t m_iHealth; // 0x298 + int32_t m_iHealth; // 0x2a8 // MNetworkEnable - int32_t m_iMaxHealth; // 0x29c + int32_t m_iMaxHealth; // 0x2ac // MNetworkEnable // MNetworkUserGroup "Player" // MNetworkPriority "32" - uint8_t m_lifeState; // 0x2a0 + uint8_t m_lifeState; // 0x2b0 private: - [[maybe_unused]] uint8_t __pad02a1[0x3]; // 0x2a1 + [[maybe_unused]] uint8_t __pad02b1[0x3]; // 0x2b1 public: - float m_flDamageAccumulator; // 0x2a4 + float m_flDamageAccumulator; // 0x2b4 // MNetworkEnable - DamageOptions_t m_takedamage; // 0x2a8 + DamageOptions_t m_takedamage; // 0x2b8 // MNetworkEnable - bool m_bTakesDamage; // 0x2a9 + bool m_bTakesDamage; // 0x2b9 private: - [[maybe_unused]] uint8_t __pad02aa[0x2]; // 0x2aa + [[maybe_unused]] uint8_t __pad02ba[0x2]; // 0x2ba public: // MNetworkEnable - TakeDamageFlags_t m_nTakeDamageFlags; // 0x2ac + TakeDamageFlags_t m_nTakeDamageFlags; // 0x2bc private: - [[maybe_unused]] uint8_t __pad02b0[0x1]; // 0x2b0 + [[maybe_unused]] uint8_t __pad02c0[0x1]; // 0x2c0 public: // MNetworkEnable - MoveCollide_t m_MoveCollide; // 0x2b1 + MoveCollide_t m_MoveCollide; // 0x2c1 // MNetworkEnable - MoveType_t m_MoveType; // 0x2b2 - uint8_t m_nWaterTouch; // 0x2b3 - uint8_t m_nSlimeTouch; // 0x2b4 - bool m_bRestoreInHierarchy; // 0x2b5 + MoveType_t m_MoveType; // 0x2c2 + uint8_t m_nWaterTouch; // 0x2c3 + uint8_t m_nSlimeTouch; // 0x2c4 + bool m_bRestoreInHierarchy; // 0x2c5 private: - [[maybe_unused]] uint8_t __pad02b6[0x2]; // 0x2b6 + [[maybe_unused]] uint8_t __pad02c6[0x2]; // 0x2c6 public: - CUtlSymbolLarge m_target; // 0x2b8 - float m_flMoveDoneTime; // 0x2c0 - CHandle< CBaseFilter > m_hDamageFilter; // 0x2c4 - CUtlSymbolLarge m_iszDamageFilterName; // 0x2c8 + CUtlSymbolLarge m_target; // 0x2c8 + float m_flMoveDoneTime; // 0x2d0 + CHandle< CBaseFilter > m_hDamageFilter; // 0x2d4 + CUtlSymbolLarge m_iszDamageFilterName; // 0x2d8 // MNetworkEnable // MNetworkSendProxyRecipientsFilter - CUtlStringToken m_nSubclassID; // 0x2d0 + CUtlStringToken m_nSubclassID; // 0x2e0 private: - [[maybe_unused]] uint8_t __pad02d4[0xc]; // 0x2d4 + [[maybe_unused]] uint8_t __pad02e4[0xc]; // 0x2e4 public: // MNetworkEnable // MNetworkPriority "0" // MNetworkSerializer "animTimeSerializer" // MNetworkSendProxyRecipientsFilter - float m_flAnimTime; // 0x2e0 + float m_flAnimTime; // 0x2f0 // MNetworkEnable // MNetworkPriority "1" // MNetworkSerializer "simulationTimeSerializer" - float m_flSimulationTime; // 0x2e4 + // MNetworkSendProxyRecipientsFilter + float m_flSimulationTime; // 0x2f4 // MNetworkEnable - GameTime_t m_flCreateTime; // 0x2e8 + GameTime_t m_flCreateTime; // 0x2f8 // MNetworkEnable - bool m_bClientSideRagdoll; // 0x2ec + bool m_bClientSideRagdoll; // 0x2fc // MNetworkEnable - uint8_t m_ubInterpolationFrame; // 0x2ed + uint8_t m_ubInterpolationFrame; // 0x2fd private: - [[maybe_unused]] uint8_t __pad02ee[0x2]; // 0x2ee + [[maybe_unused]] uint8_t __pad02fe[0x2]; // 0x2fe public: - Vector m_vPrevVPhysicsUpdatePos; // 0x2f0 + Vector m_vPrevVPhysicsUpdatePos; // 0x300 // MNetworkEnable - uint8_t m_iTeamNum; // 0x2fc + uint8_t m_iTeamNum; // 0x30c private: - [[maybe_unused]] uint8_t __pad02fd[0x3]; // 0x2fd + [[maybe_unused]] uint8_t __pad030d[0x3]; // 0x30d public: - CUtlSymbolLarge m_iGlobalname; // 0x300 - int32_t m_iSentToClients; // 0x308 - float m_flSpeed; // 0x30c - CUtlString m_sUniqueHammerID; // 0x310 + CUtlSymbolLarge m_iGlobalname; // 0x310 + int32_t m_iSentToClients; // 0x318 + float m_flSpeed; // 0x31c + CUtlString m_sUniqueHammerID; // 0x320 // MNetworkEnable - uint32_t m_spawnflags; // 0x318 + uint32_t m_spawnflags; // 0x328 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - GameTick_t m_nNextThinkTick; // 0x31c - int32_t m_nSimulationTick; // 0x320 + GameTick_t m_nNextThinkTick; // 0x32c + int32_t m_nSimulationTick; // 0x330 private: - [[maybe_unused]] uint8_t __pad0324[0x4]; // 0x324 + [[maybe_unused]] uint8_t __pad0334[0x4]; // 0x334 public: - CEntityIOOutput m_OnKilled; // 0x328 + CEntityIOOutput m_OnKilled; // 0x338 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" - uint32_t m_fFlags; // 0x350 - Vector m_vecAbsVelocity; // 0x354 + uint32_t m_fFlags; // 0x360 + Vector m_vecAbsVelocity; // 0x364 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" // MNetworkPriority "32" - CNetworkVelocityVector m_vecVelocity; // 0x360 + CNetworkVelocityVector m_vecVelocity; // 0x370 private: - [[maybe_unused]] uint8_t __pad0388[0x8]; // 0x388 + [[maybe_unused]] uint8_t __pad0398[0x8]; // 0x398 public: - int32_t m_nPushEnumCount; // 0x390 + int32_t m_nPushEnumCount; // 0x3a0 private: - [[maybe_unused]] uint8_t __pad0394[0x4]; // 0x394 + [[maybe_unused]] uint8_t __pad03a4[0x4]; // 0x3a4 public: - CCollisionProperty* m_pCollision; // 0x398 + CCollisionProperty* m_pCollision; // 0x3a8 // MNetworkEnable - CHandle< CBaseEntity > m_hEffectEntity; // 0x3a0 + CHandle< CBaseEntity > m_hEffectEntity; // 0x3b0 // MNetworkEnable // MNetworkPriority "32" - CHandle< CBaseEntity > m_hOwnerEntity; // 0x3a4 + CHandle< CBaseEntity > m_hOwnerEntity; // 0x3b4 // MNetworkEnable // MNetworkChangeCallback "OnEffectsChanged" - uint32_t m_fEffects; // 0x3a8 + uint32_t m_fEffects; // 0x3b8 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" - CHandle< CBaseEntity > m_hGroundEntity; // 0x3ac + CHandle< CBaseEntity > m_hGroundEntity; // 0x3bc // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "4.000000" // MNetworkEncodeFlags // MNetworkUserGroup "LocalPlayerExclusive" - float m_flFriction; // 0x3b0 + float m_flFriction; // 0x3c0 // MNetworkEnable // MNetworkEncoder - float m_flElasticity; // 0x3b4 + float m_flElasticity; // 0x3c4 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - float m_flGravityScale; // 0x3b8 + float m_flGravityScale; // 0x3c8 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - float m_flTimeScale; // 0x3bc + float m_flTimeScale; // 0x3cc // MNetworkEnable // MNetworkUserGroup "Water" // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1.000000" // MNetworkEncodeFlags - float m_flWaterLevel; // 0x3c0 + float m_flWaterLevel; // 0x3d0 // MNetworkEnable - bool m_bSimulatedEveryTick; // 0x3c4 + bool m_bSimulatedEveryTick; // 0x3d4 // MNetworkEnable - bool m_bAnimatedEveryTick; // 0x3c5 - // MNetworkEnable - // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMinCPULevel; // 0x3c6 - // MNetworkEnable - // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMaxCPULevel; // 0x3c7 - // MNetworkEnable - // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMinGPULevel; // 0x3c8 - // MNetworkEnable - // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMaxGPULevel; // 0x3c9 - bool m_bDisableLowViolence; // 0x3ca - uint8_t m_nWaterType; // 0x3cb - int32_t m_iEFlags; // 0x3cc - CEntityIOOutput m_OnUser1; // 0x3d0 - CEntityIOOutput m_OnUser2; // 0x3f8 - CEntityIOOutput m_OnUser3; // 0x420 - CEntityIOOutput m_OnUser4; // 0x448 - int32_t m_iInitialTeamNum; // 0x470 - // MNetworkEnable - GameTime_t m_flNavIgnoreUntilTime; // 0x474 - QAngle m_vecAngVelocity; // 0x478 - bool m_bNetworkQuantizeOriginAndAngles; // 0x484 - bool m_bLagCompensate; // 0x485 + bool m_bAnimatedEveryTick; // 0x3d5 + bool m_bDisableLowViolence; // 0x3d6 + uint8_t m_nWaterType; // 0x3d7 + int32_t m_iEFlags; // 0x3d8 private: - [[maybe_unused]] uint8_t __pad0486[0x2]; // 0x486 + [[maybe_unused]] uint8_t __pad03dc[0x4]; // 0x3dc public: - float m_flOverriddenFriction; // 0x488 - CHandle< CBaseEntity > m_pBlocker; // 0x48c - float m_flLocalTime; // 0x490 - float m_flVPhysicsUpdateLocalTime; // 0x494 + CEntityIOOutput m_OnUser1; // 0x3e0 + CEntityIOOutput m_OnUser2; // 0x408 + CEntityIOOutput m_OnUser3; // 0x430 + CEntityIOOutput m_OnUser4; // 0x458 + int32_t m_iInitialTeamNum; // 0x480 + // MNetworkEnable + GameTime_t m_flNavIgnoreUntilTime; // 0x484 + QAngle m_vecAngVelocity; // 0x488 + bool m_bNetworkQuantizeOriginAndAngles; // 0x494 + bool m_bLagCompensate; // 0x495 +private: + [[maybe_unused]] uint8_t __pad0496[0x2]; // 0x496 +public: + float m_flOverriddenFriction; // 0x498 + CHandle< CBaseEntity > m_pBlocker; // 0x49c + float m_flLocalTime; // 0x4a0 + float m_flVPhysicsUpdateLocalTime; // 0x4a4 // Static fields: static Relationship_t** &Get_sm_DefaultRelationship(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[0]->m_instance);}; @@ -10154,7 +10502,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CServerOnlyEntity : public CBaseEntity { public: @@ -10162,7 +10510,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CServerOnlyPointEntity : public CServerOnlyEntity { public: @@ -10170,7 +10518,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CLogicalEntity : public CServerOnlyEntity { public: @@ -10178,80 +10526,80 @@ public: }; // Alignment: 17 -// Size: 0x6d0 +// Size: 0x6e0 class CColorCorrection : public CBaseEntity { public: // MNetworkEnable - float m_flFadeInDuration; // 0x498 + float m_flFadeInDuration; // 0x4a8 // MNetworkEnable - float m_flFadeOutDuration; // 0x49c - float m_flStartFadeInWeight; // 0x4a0 - float m_flStartFadeOutWeight; // 0x4a4 - GameTime_t m_flTimeStartFadeIn; // 0x4a8 - GameTime_t m_flTimeStartFadeOut; // 0x4ac + float m_flFadeOutDuration; // 0x4ac + float m_flStartFadeInWeight; // 0x4b0 + float m_flStartFadeOutWeight; // 0x4b4 + GameTime_t m_flTimeStartFadeIn; // 0x4b8 + GameTime_t m_flTimeStartFadeOut; // 0x4bc // MNetworkEnable - float m_flMaxWeight; // 0x4b0 - bool m_bStartDisabled; // 0x4b4 + float m_flMaxWeight; // 0x4c0 + bool m_bStartDisabled; // 0x4c4 // MNetworkEnable - bool m_bEnabled; // 0x4b5 + bool m_bEnabled; // 0x4c5 // MNetworkEnable - bool m_bMaster; // 0x4b6 + bool m_bMaster; // 0x4c6 // MNetworkEnable - bool m_bClientSide; // 0x4b7 + bool m_bClientSide; // 0x4c7 // MNetworkEnable - bool m_bExclusive; // 0x4b8 + bool m_bExclusive; // 0x4c8 private: - [[maybe_unused]] uint8_t __pad04b9[0x3]; // 0x4b9 + [[maybe_unused]] uint8_t __pad04c9[0x3]; // 0x4c9 public: // MNetworkEnable - float m_MinFalloff; // 0x4bc + float m_MinFalloff; // 0x4cc // MNetworkEnable - float m_MaxFalloff; // 0x4c0 + float m_MaxFalloff; // 0x4d0 // MNetworkEnable - float m_flCurWeight; // 0x4c4 + float m_flCurWeight; // 0x4d4 // MNetworkEnable - char m_netlookupFilename[512]; // 0x4c8 - CUtlSymbolLarge m_lookupFilename; // 0x6c8 + char m_netlookupFilename[512]; // 0x4d8 + CUtlSymbolLarge m_lookupFilename; // 0x6d8 }; // Alignment: 3 -// Size: 0x4f0 +// Size: 0x500 class CBaseFilter : public CLogicalEntity { public: - bool m_bNegated; // 0x498 + bool m_bNegated; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad0499[0x7]; // 0x499 + [[maybe_unused]] uint8_t __pad04a9[0x7]; // 0x4a9 public: - CEntityIOOutput m_OnPass; // 0x4a0 - CEntityIOOutput m_OnFail; // 0x4c8 + CEntityIOOutput m_OnPass; // 0x4b0 + CEntityIOOutput m_OnFail; // 0x4d8 }; // Alignment: 4 -// Size: 0x578 +// Size: 0x588 class CFilterMultiple : public CBaseFilter { public: - filter_t m_nFilterType; // 0x4f0 + filter_t m_nFilterType; // 0x500 private: - [[maybe_unused]] uint8_t __pad04f4[0x4]; // 0x4f4 + [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 public: - CUtlSymbolLarge m_iFilterName[10]; // 0x4f8 - CHandle< CBaseEntity > m_hFilter[10]; // 0x548 - int32_t m_nFilterCount; // 0x570 + CUtlSymbolLarge m_iFilterName[10]; // 0x508 + CHandle< CBaseEntity > m_hFilter[10]; // 0x558 + int32_t m_nFilterCount; // 0x580 }; // Alignment: 1 -// Size: 0x4f8 +// Size: 0x508 class CFilterProximity : public CBaseFilter { public: - float m_flRadius; // 0x4f0 + float m_flRadius; // 0x500 }; // Alignment: 0 -// Size: 0x4f0 +// Size: 0x500 class CFilterLOS : public CBaseFilter { public: @@ -10259,15 +10607,15 @@ public: }; // Alignment: 1 -// Size: 0x4f8 +// Size: 0x508 class CFilterClass : public CBaseFilter { public: - CUtlSymbolLarge m_iFilterClass; // 0x4f0 + CUtlSymbolLarge m_iFilterClass; // 0x500 }; // Alignment: 0 -// Size: 0x830 +// Size: 0x840 class CInfoData : public CServerOnlyEntity { public: @@ -10287,31 +10635,31 @@ public: }; // Alignment: 4 -// Size: 0x508 +// Size: 0x518 class CLogicBranch : public CLogicalEntity { public: - bool m_bInValue; // 0x498 + bool m_bInValue; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad0499[0x7]; // 0x499 + [[maybe_unused]] uint8_t __pad04a9[0x7]; // 0x4a9 public: - CUtlVector< CHandle< CBaseEntity > > m_Listeners; // 0x4a0 - CEntityIOOutput m_OnTrue; // 0x4b8 - CEntityIOOutput m_OnFalse; // 0x4e0 + CUtlVector< CHandle< CBaseEntity > > m_Listeners; // 0x4b0 + CEntityIOOutput m_OnTrue; // 0x4c8 + CEntityIOOutput m_OnFalse; // 0x4f0 }; // Alignment: 7 -// Size: 0x528 +// Size: 0x538 class CLogicDistanceCheck : public CLogicalEntity { public: - CUtlSymbolLarge m_iszEntityA; // 0x498 - CUtlSymbolLarge m_iszEntityB; // 0x4a0 - float m_flZone1Distance; // 0x4a8 - float m_flZone2Distance; // 0x4ac - CEntityIOOutput m_InZone1; // 0x4b0 - CEntityIOOutput m_InZone2; // 0x4d8 - CEntityIOOutput m_InZone3; // 0x500 + CUtlSymbolLarge m_iszEntityA; // 0x4a8 + CUtlSymbolLarge m_iszEntityB; // 0x4b0 + float m_flZone1Distance; // 0x4b8 + float m_flZone2Distance; // 0x4bc + CEntityIOOutput m_InZone1; // 0x4c0 + CEntityIOOutput m_InZone2; // 0x4e8 + CEntityIOOutput m_InZone3; // 0x510 }; // Alignment: 3 @@ -10387,22 +10735,22 @@ public: }; // Alignment: 3 -// Size: 0x4b0 +// Size: 0x4c0 class CPointPrefab : public CServerOnlyPointEntity { public: - CUtlSymbolLarge m_targetMapName; // 0x498 - CUtlSymbolLarge m_forceWorldGroupID; // 0x4a0 - bool m_fixupNames; // 0x4a8 + CUtlSymbolLarge m_targetMapName; // 0x4a8 + CUtlSymbolLarge m_forceWorldGroupID; // 0x4b0 + bool m_fixupNames; // 0x4b8 }; // Alignment: 2 -// Size: 0x4a0 +// Size: 0x4b0 class CSkyboxReference : public CBaseEntity { public: - WorldGroupId_t m_worldGroupId; // 0x498 - CHandle< CSkyCamera > m_hSkyCamera; // 0x49c + WorldGroupId_t m_worldGroupId; // 0x4a8 + CHandle< CSkyCamera > m_hSkyCamera; // 0x4ac }; // Alignment: 25 @@ -10500,94 +10848,54 @@ public: }; // Alignment: 11 -// Size: 0x530 +// Size: 0x540 class CEnvSoundscape : public CServerOnlyEntity { public: - CEntityIOOutput m_OnPlay; // 0x498 - float m_flRadius; // 0x4c0 + CEntityIOOutput m_OnPlay; // 0x4a8 + float m_flRadius; // 0x4d0 private: - [[maybe_unused]] uint8_t __pad04c4[0x4]; // 0x4c4 + [[maybe_unused]] uint8_t __pad04d4[0x4]; // 0x4d4 public: - CUtlSymbolLarge m_soundscapeName; // 0x4c8 - CUtlSymbolLarge m_soundEventName; // 0x4d0 - bool m_bOverrideWithEvent; // 0x4d8 + CUtlSymbolLarge m_soundscapeName; // 0x4d8 + CUtlSymbolLarge m_soundEventName; // 0x4e0 + bool m_bOverrideWithEvent; // 0x4e8 private: - [[maybe_unused]] uint8_t __pad04d9[0x3]; // 0x4d9 + [[maybe_unused]] uint8_t __pad04e9[0x3]; // 0x4e9 public: - int32_t m_soundscapeIndex; // 0x4dc - int32_t m_soundscapeEntityListId; // 0x4e0 - uint32_t m_soundEventHash; // 0x4e4 - CUtlSymbolLarge m_positionNames[8]; // 0x4e8 - CHandle< CEnvSoundscape > m_hProxySoundscape; // 0x528 - bool m_bDisabled; // 0x52c + int32_t m_soundscapeIndex; // 0x4ec + int32_t m_soundscapeEntityListId; // 0x4f0 + uint32_t m_soundEventHash; // 0x4f4 + CUtlSymbolLarge m_positionNames[8]; // 0x4f8 + CHandle< CEnvSoundscape > m_hProxySoundscape; // 0x538 + bool m_bDisabled; // 0x53c }; // Alignment: 1 -// Size: 0x538 +// Size: 0x548 class CEnvSoundscapeProxy : public CEnvSoundscape { public: - CUtlSymbolLarge m_MainSoundscapeName; // 0x530 + CUtlSymbolLarge m_MainSoundscapeName; // 0x540 }; // Alignment: 0 -// Size: 0x530 +// Size: 0x540 class CEnvSoundscapeTriggerable : public CEnvSoundscape { public: // No members available }; -// Alignment: 27 -// Size: 0x548 -class CTriggerCamera : public CBaseEntity -{ -public: - CHandle< CBaseEntity > m_hPlayer; // 0x498 - CHandle< CBaseEntity > m_hTarget; // 0x49c - CBaseEntity* m_pPath; // 0x4a0 - CUtlSymbolLarge m_sPath; // 0x4a8 - float m_flWait; // 0x4b0 - GameTime_t m_flReturnTime; // 0x4b4 - GameTime_t m_flStopTime; // 0x4b8 - float m_moveDistance; // 0x4bc - float m_targetSpeed; // 0x4c0 - float m_initialSpeed; // 0x4c4 - float m_acceleration; // 0x4c8 - float m_deceleration; // 0x4cc - int32_t m_state; // 0x4d0 - Vector m_vecMoveDir; // 0x4d4 - float m_fov; // 0x4e0 - float m_fovSpeed; // 0x4e4 - CUtlSymbolLarge m_iszTargetAttachment; // 0x4e8 - AttachmentHandle_t m_iAttachmentIndex; // 0x4f0 - bool m_bSnapToGoal; // 0x4f1 - bool m_bInterpolatePosition; // 0x4f2 -private: - [[maybe_unused]] uint8_t __pad04f3[0x1]; // 0x4f3 -public: - Vector m_vStartPos; // 0x4f4 - Vector m_vEndPos; // 0x500 - GameTime_t m_flInterpStartTime; // 0x50c - uint64_t m_nPlayerButtons; // 0x510 - bool m_bOldTakesDamage; // 0x518 -private: - [[maybe_unused]] uint8_t __pad0519[0x3]; // 0x519 -public: - TakeDamageFlags_t m_nOldTakeDamageFlags; // 0x51c - CEntityIOOutput m_OnEndFollow; // 0x520 - - // Static fields: - static float &Get_kflPosInterpTime(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTriggerCamera")->m_static_fields[0]->m_instance);}; -}; - // Alignment: 1 // Size: 0x4 struct ParticleIndex_t { public: int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("ParticleIndex_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 @@ -10795,14 +11103,14 @@ public: }; // Alignment: 2 -// Size: 0x4a0 +// Size: 0x4b0 class CEnvDetailController : public CBaseEntity { public: // MNetworkEnable - float m_flFadeStartDist; // 0x498 + float m_flFadeStartDist; // 0x4a8 // MNetworkEnable - float m_flFadeEndDist; // 0x49c + float m_flFadeEndDist; // 0x4ac }; // Alignment: 31 @@ -10888,7 +11196,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CGameRulesProxy : public CBaseEntity { public: @@ -10977,65 +11285,51 @@ public: WorldGroupId_t m_nWorldGroupID; // 0x88 }; -// Alignment: 14 -// Size: 0x170 +// Alignment: 9 +// Size: 0x158 class CPlayer_CameraServices : public CPlayerPawnComponent { public: // MNetworkEnable - uint32_t m_iFOV; // 0x40 + fogplayerparams_t m_PlayerFog; // 0x40 // MNetworkEnable - uint32_t m_iFOVStart; // 0x44 + CHandle< CColorCorrection > m_hColorCorrectionCtrl; // 0x80 // MNetworkEnable - GameTime_t m_flFOVTime; // 0x48 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - float m_flFOVRate; // 0x4c - // MNetworkEnable - CHandle< CBaseEntity > m_hZoomOwner; // 0x50 -private: - [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 -public: - // MNetworkEnable - fogplayerparams_t m_PlayerFog; // 0x58 - // MNetworkEnable - CHandle< CColorCorrection > m_hColorCorrectionCtrl; // 0x98 - // MNetworkEnable - CHandle< CBaseEntity > m_hViewEntity; // 0x9c + CHandle< CBaseEntity > m_hViewEntity; // 0x84 // MNetworkEnable // MNetworkUserGroup "LocalPlayerAndObserversExclusive" - CHandle< CTonemapController2 > m_hTonemapController; // 0xa0 + CHandle< CTonemapController2 > m_hTonemapController; // 0x88 private: - [[maybe_unused]] uint8_t __pad00a4[0x4]; // 0xa4 + [[maybe_unused]] uint8_t __pad008c[0x4]; // 0x8c public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerAndObserversExclusive" - audioparams_t m_audio; // 0xa8 + audioparams_t m_audio; // 0x90 // MNetworkEnable // MNetworkUserGroup "LocalPlayerAndObserversExclusive" - CNetworkUtlVectorBase< CHandle< CPostProcessingVolume > > m_PostProcessingVolumes; // 0x120 - float m_flOldPlayerZ; // 0x138 - float m_flOldPlayerViewOffsetZ; // 0x13c + CNetworkUtlVectorBase< CHandle< CPostProcessingVolume > > m_PostProcessingVolumes; // 0x108 + float m_flOldPlayerZ; // 0x120 + float m_flOldPlayerViewOffsetZ; // 0x124 private: - [[maybe_unused]] uint8_t __pad0140[0x18]; // 0x140 + [[maybe_unused]] uint8_t __pad0128[0x18]; // 0x128 public: - CUtlVector< CHandle< CEnvSoundscapeTriggerable > > m_hTriggerSoundscapeList; // 0x158 + CUtlVector< CHandle< CEnvSoundscapeTriggerable > > m_hTriggerSoundscapeList; // 0x140 }; // Alignment: 4 -// Size: 0x538 +// Size: 0x548 class CSkyCamera : public CBaseEntity { public: // MNetworkEnable - sky3dparams_t m_skyboxData; // 0x498 + sky3dparams_t m_skyboxData; // 0x4a8 // MNetworkEnable - CUtlStringToken m_skyboxSlotToken; // 0x528 - bool m_bUseAngles; // 0x52c + CUtlStringToken m_skyboxSlotToken; // 0x538 + bool m_bUseAngles; // 0x53c private: - [[maybe_unused]] uint8_t __pad052d[0x3]; // 0x52d + [[maybe_unused]] uint8_t __pad053d[0x3]; // 0x53d public: - CSkyCamera* m_pNext; // 0x530 + CSkyCamera* m_pNext; // 0x540 }; // Alignment: 0 @@ -11069,8 +11363,8 @@ public: bool unused; // 0x31 }; -// Alignment: 2 -// Size: 0x48 +// Alignment: 3 +// Size: 0x50 struct PhysicsRagdollPose_t { private: @@ -11082,6 +11376,8 @@ public: // MNetworkEnable // MNetworkChangeCallback "OnTransformChanged" CNetworkUtlVectorBase< CTransform > m_Transforms; // 0x30 + // MNetworkEnable + CHandle< CBaseEntity > m_hOwner; // 0x48 }; // Alignment: 17 @@ -11133,8 +11429,8 @@ public: ParticleIndex_t m_nFXIndex; // 0x30 }; -// Alignment: 23 -// Size: 0x310 +// Alignment: 22 +// Size: 0x230 class CBasePlayerWeaponVData { private: @@ -11163,63 +11459,60 @@ public: // MPropertyDescription "Effect when firing this weapon" // MPropertyGroupName "Visuals" CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticle; // 0x108 - // MPropertyDescription "Effect to actually fire into the world from this weapon" - // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerParticle; // 0x1e8 - ItemFlagTypes_t m_iFlags; // 0x2c8 + ItemFlagTypes_t m_iFlags; // 0x1e8 // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" // MPropertyGroupName "Ammo" // MPropertyCustomFGDType - AmmoIndex_t m_nPrimaryAmmoType; // 0x2c9 + AmmoIndex_t m_nPrimaryAmmoType; // 0x1e9 // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" // MPropertyGroupName "Ammo" // MPropertyCustomFGDType - AmmoIndex_t m_nSecondaryAmmoType; // 0x2ca + AmmoIndex_t m_nSecondaryAmmoType; // 0x1ea private: - [[maybe_unused]] uint8_t __pad02cb[0x1]; // 0x2cb + [[maybe_unused]] uint8_t __pad01eb[0x1]; // 0x1eb public: // MPropertyFriendlyName "Primary Clip Size" // MPropertyDescription "How many bullets this gun can fire before it reloads (0 if no clip)" // MPropertyAttributeRange "0 255" // MPropertyGroupName "Ammo" - int32_t m_iMaxClip1; // 0x2cc + int32_t m_iMaxClip1; // 0x1ec // MPropertyFriendlyName "Secondary Clip Size" // MPropertyDescription "How many secondary bullets this gun can fire before it reloads (0 if no clip)" // MPropertyGroupName "Ammo" // MPropertyAttributeRange "0 255" - int32_t m_iMaxClip2; // 0x2d0 + int32_t m_iMaxClip2; // 0x1f0 // MPropertyDescription "Primary Initial Clip (-1 means use clip size)" // MPropertyGroupName "Ammo" // MPropertyAttributeRange "-1 255" - int32_t m_iDefaultClip1; // 0x2d4 + int32_t m_iDefaultClip1; // 0x1f4 // MPropertyDescription "Secondary Initial Clip (-1 means use clip size)" // MPropertyGroupName "Ammo" // MPropertyAttributeRange "-1 255" - int32_t m_iDefaultClip2; // 0x2d8 + int32_t m_iDefaultClip2; // 0x1f8 // MPropertyDescription "This value used to determine this weapon's importance in autoselection" // MPropertyGroupName "UI" - int32_t m_iWeight; // 0x2dc + int32_t m_iWeight; // 0x1fc // MPropertyFriendlyName "Safe To Auto-Switch To" // MPropertyDescription "Whether this weapon is safe to automatically switch to (should be false for eg. explosives that can the player may accidentally hurt themselves with)" // MPropertyGroupName "UI" - bool m_bAutoSwitchTo; // 0x2e0 + bool m_bAutoSwitchTo; // 0x200 // MPropertyFriendlyName "Safe To Auto-Switch Away From" // MPropertyGroupName "UI" - bool m_bAutoSwitchFrom; // 0x2e1 + bool m_bAutoSwitchFrom; // 0x201 private: - [[maybe_unused]] uint8_t __pad02e2[0x2]; // 0x2e2 + [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 public: // MPropertyGroupName "UI" - RumbleEffect_t m_iRumbleEffect; // 0x2e4 - CUtlMap< WeaponSound_t, CSoundEventName > m_aShootSounds; // 0x2e8 + RumbleEffect_t m_iRumbleEffect; // 0x204 + CUtlMap< WeaponSound_t, CSoundEventName > m_aShootSounds; // 0x208 // MPropertyFriendlyName "HUD Bucket" // MPropertyDescription "Which 'column' to display this weapon in the HUD" // MPropertyGroupName "UI" - int32_t m_iSlot; // 0x308 + int32_t m_iSlot; // 0x228 // MPropertyFriendlyName "HUD Bucket Position" // MPropertyDescription "Which 'row' to display this weapon in the HUD" // MPropertyGroupName "UI" - int32_t m_iPosition; // 0x30c + int32_t m_iPosition; // 0x22c }; // Alignment: 0 @@ -11338,93 +11631,94 @@ public: }; // Alignment: 9 -// Size: 0x530 +// Size: 0x540 class CSoundOpvarSetPointBase : public CBaseEntity { public: - bool m_bDisabled; // 0x498 + bool m_bDisabled; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad0499[0x3]; // 0x499 + [[maybe_unused]] uint8_t __pad04a9[0x3]; // 0x4a9 public: - CEntityHandle m_hSource; // 0x49c + CEntityHandle m_hSource; // 0x4ac private: - [[maybe_unused]] uint8_t __pad04a0[0x8]; // 0x4a0 + [[maybe_unused]] uint8_t __pad04b0[0x8]; // 0x4b0 public: - CUtlSymbolLarge m_iszSourceEntityName; // 0x4a8 + CUtlSymbolLarge m_iszSourceEntityName; // 0x4b8 private: - [[maybe_unused]] uint8_t __pad04b0[0x50]; // 0x4b0 + [[maybe_unused]] uint8_t __pad04c0[0x50]; // 0x4c0 public: - Vector m_vLastPosition; // 0x500 + Vector m_vLastPosition; // 0x510 private: - [[maybe_unused]] uint8_t __pad050c[0x4]; // 0x50c + [[maybe_unused]] uint8_t __pad051c[0x4]; // 0x51c public: // MNetworkEnable - CUtlSymbolLarge m_iszStackName; // 0x510 + CUtlSymbolLarge m_iszStackName; // 0x520 // MNetworkEnable - CUtlSymbolLarge m_iszOperatorName; // 0x518 + CUtlSymbolLarge m_iszOperatorName; // 0x528 // MNetworkEnable - CUtlSymbolLarge m_iszOpvarName; // 0x520 + CUtlSymbolLarge m_iszOpvarName; // 0x530 // MNetworkEnable - int32_t m_iOpvarIndex; // 0x528 + int32_t m_iOpvarIndex; // 0x538 // MNetworkEnable - bool m_bUseAutoCompare; // 0x52c + bool m_bUseAutoCompare; // 0x53c }; -// Alignment: 21 -// Size: 0x630 +// Alignment: 22 +// Size: 0x640 class CSoundOpvarSetPointEntity : public CSoundOpvarSetPointBase { public: - CEntityIOOutput m_OnEnter; // 0x530 - CEntityIOOutput m_OnExit; // 0x558 - bool m_bAutoDisable; // 0x580 + CEntityIOOutput m_OnEnter; // 0x540 + CEntityIOOutput m_OnExit; // 0x568 + bool m_bAutoDisable; // 0x590 private: - [[maybe_unused]] uint8_t __pad0581[0x43]; // 0x581 + [[maybe_unused]] uint8_t __pad0591[0x43]; // 0x591 public: - float m_flDistanceMin; // 0x5c4 - float m_flDistanceMax; // 0x5c8 - float m_flDistanceMapMin; // 0x5cc - float m_flDistanceMapMax; // 0x5d0 - float m_flOcclusionRadius; // 0x5d4 - float m_flOcclusionMin; // 0x5d8 - float m_flOcclusionMax; // 0x5dc - float m_flValSetOnDisable; // 0x5e0 - bool m_bSetValueOnDisable; // 0x5e4 + float m_flDistanceMin; // 0x5d4 + float m_flDistanceMax; // 0x5d8 + float m_flDistanceMapMin; // 0x5dc + float m_flDistanceMapMax; // 0x5e0 + float m_flOcclusionRadius; // 0x5e4 + float m_flOcclusionMin; // 0x5e8 + float m_flOcclusionMax; // 0x5ec + float m_flValSetOnDisable; // 0x5f0 + bool m_bSetValueOnDisable; // 0x5f4 private: - [[maybe_unused]] uint8_t __pad05e5[0x3]; // 0x5e5 + [[maybe_unused]] uint8_t __pad05f5[0x3]; // 0x5f5 public: - int32_t m_nSimulationMode; // 0x5e8 - int32_t m_nVisibilitySamples; // 0x5ec - Vector m_vDynamicProxyPoint; // 0x5f0 - float m_flDynamicMaximumOcclusion; // 0x5fc - CEntityHandle m_hDynamicEntity; // 0x600 + int32_t m_nSimulationMode; // 0x5f8 + int32_t m_nVisibilitySamples; // 0x5fc + Vector m_vDynamicProxyPoint; // 0x600 + float m_flDynamicMaximumOcclusion; // 0x60c + CEntityHandle m_hDynamicEntity; // 0x610 private: - [[maybe_unused]] uint8_t __pad0604[0x4]; // 0x604 + [[maybe_unused]] uint8_t __pad0614[0x4]; // 0x614 public: - CUtlSymbolLarge m_iszDynamicEntityName; // 0x608 - float m_flPathingDistanceNormFactor; // 0x610 - Vector m_vPathingSourcePos; // 0x614 - Vector m_vPathingListenerPos; // 0x620 + CUtlSymbolLarge m_iszDynamicEntityName; // 0x618 + float m_flPathingDistanceNormFactor; // 0x620 + Vector m_vPathingSourcePos; // 0x624 + Vector m_vPathingListenerPos; // 0x630 + int32_t m_nPathingSourceIndex; // 0x63c }; // Alignment: 9 -// Size: 0x698 +// Size: 0x6a8 class CSoundOpvarSetAABBEntity : public CSoundOpvarSetPointEntity { public: - Vector m_vDistanceInnerMins; // 0x630 - Vector m_vDistanceInnerMaxs; // 0x63c - Vector m_vDistanceOuterMins; // 0x648 - Vector m_vDistanceOuterMaxs; // 0x654 - int32_t m_nAABBDirection; // 0x660 - Vector m_vInnerMins; // 0x664 - Vector m_vInnerMaxs; // 0x670 - Vector m_vOuterMins; // 0x67c - Vector m_vOuterMaxs; // 0x688 + Vector m_vDistanceInnerMins; // 0x640 + Vector m_vDistanceInnerMaxs; // 0x64c + Vector m_vDistanceOuterMins; // 0x658 + Vector m_vDistanceOuterMaxs; // 0x664 + int32_t m_nAABBDirection; // 0x670 + Vector m_vInnerMins; // 0x674 + Vector m_vInnerMaxs; // 0x680 + Vector m_vOuterMins; // 0x68c + Vector m_vOuterMaxs; // 0x698 }; // Alignment: 0 -// Size: 0x698 +// Size: 0x6a8 class CSoundOpvarSetOBBEntity : public CSoundOpvarSetAABBEntity { public: @@ -11432,33 +11726,33 @@ public: }; // Alignment: 3 -// Size: 0x658 +// Size: 0x668 class CSoundOpvarSetPathCornerEntity : public CSoundOpvarSetPointEntity { private: - [[maybe_unused]] uint8_t __pad0630[0x18]; // 0x630 + [[maybe_unused]] uint8_t __pad0640[0x18]; // 0x640 public: - float m_flDistMinSqr; // 0x648 - float m_flDistMaxSqr; // 0x64c - CUtlSymbolLarge m_iszPathCornerEntityName; // 0x650 + float m_flDistMinSqr; // 0x658 + float m_flDistMaxSqr; // 0x65c + CUtlSymbolLarge m_iszPathCornerEntityName; // 0x660 }; // Alignment: 8 -// Size: 0x570 +// Size: 0x580 class CSoundOpvarSetOBBWindEntity : public CSoundOpvarSetPointBase { public: - Vector m_vMins; // 0x530 - Vector m_vMaxs; // 0x53c - Vector m_vDistanceMins; // 0x548 - Vector m_vDistanceMaxs; // 0x554 - float m_flWindMin; // 0x560 - float m_flWindMax; // 0x564 - float m_flWindMapMin; // 0x568 - float m_flWindMapMax; // 0x56c + Vector m_vMins; // 0x540 + Vector m_vMaxs; // 0x54c + Vector m_vDistanceMins; // 0x558 + Vector m_vDistanceMaxs; // 0x564 + float m_flWindMin; // 0x570 + float m_flWindMax; // 0x574 + float m_flWindMapMin; // 0x578 + float m_flWindMapMax; // 0x57c }; -// Alignment: 19 +// Alignment: 21 // Size: 0xb0 class CTakeDamageInfo { @@ -11480,8 +11774,10 @@ private: [[maybe_unused]] uint8_t __pad0051[0xf]; // 0x51 public: float m_flOriginalDamage; // 0x60 + bool m_bShouldBleed; // 0x64 + bool m_bShouldSpark; // 0x65 private: - [[maybe_unused]] uint8_t __pad0064[0xc]; // 0x64 + [[maybe_unused]] uint8_t __pad0066[0xa]; // 0x66 public: TakeDamageFlags_t m_nDamageFlags; // 0x70 int32_t m_bitsDotaDamageType; // 0x74 @@ -11553,6 +11849,9 @@ struct attrib_definition_index_t { public: uint16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("attrib_definition_index_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 0 @@ -11603,6 +11902,9 @@ struct style_index_t { public: uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("style_index_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 0 @@ -11631,6 +11933,9 @@ struct HeroPersona_t { public: int8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("HeroPersona_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 @@ -11656,6 +11961,9 @@ struct attrib_definition_index_db32_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("attrib_definition_index_db32_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 @@ -11664,6 +11972,9 @@ struct item_definition_index_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("item_definition_index_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 @@ -11672,6 +11983,9 @@ struct itemid_t { public: uint64_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("itemid_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 @@ -11680,6 +11994,9 @@ struct item_steam_cache_version_t { public: uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("item_steam_cache_version_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 17 @@ -12020,38 +12337,38 @@ public: }; // Alignment: 4 -// Size: 0x4c0 +// Size: 0x4d0 class CDOTA_SimpleObstruction : public CBaseEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x18]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x18]; // 0x4a8 public: // MNetworkEnable - bool m_bEnabled; // 0x4b0 + bool m_bEnabled; // 0x4c0 // MNetworkEnable - bool m_bBlockFoW; // 0x4b1 + bool m_bBlockFoW; // 0x4c1 private: - [[maybe_unused]] uint8_t __pad04b2[0x2]; // 0x4b2 + [[maybe_unused]] uint8_t __pad04c2[0x2]; // 0x4c2 public: - uint32_t m_unOccluderID; // 0x4b4 - bool m_bBlockingGridNav; // 0x4b8 + uint32_t m_unOccluderID; // 0x4c4 + bool m_bBlockingGridNav; // 0x4c8 }; // Alignment: 1 -// Size: 0x4a0 +// Size: 0x4b0 class CDOTAGameManagerProxy : public CBaseEntity { public: // MNetworkEnable // MNetworkTypeAlias "CDOTAGameManager*" - CDOTAGameManager* m_pGameManager; // 0x498 + CDOTAGameManager* m_pGameManager; // 0x4a8 // Static fields: static CDOTAGameManagerProxy* &Get_s_pGameManagerProxy(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CDOTAGameManagerProxy")->m_static_fields[0]->m_instance);}; }; // Alignment: 18 -// Size: 0xa50 +// Size: 0xa70 class CDOTAGameManager { private: @@ -12061,35 +12378,35 @@ public: // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x30 private: - [[maybe_unused]] uint8_t __pad0058[0x368]; // 0x58 + [[maybe_unused]] uint8_t __pad0058[0x378]; // 0x58 public: - bool m_bCustomGame; // 0x3c0 - bool m_bEventGame; // 0x3c1 - bool m_bGameModeWantsDefaultNeutralItemSchema; // 0x3c2 - bool m_bGameModeFilteredAbilities; // 0x3c3 - char m_szAddOnGame[128]; // 0x3c4 - char m_szAddOnMap[128]; // 0x444 + bool m_bCustomGame; // 0x3d0 + bool m_bEventGame; // 0x3d1 + bool m_bGameModeWantsDefaultNeutralItemSchema; // 0x3d2 + bool m_bGameModeFilteredAbilities; // 0x3d3 + char m_szAddOnGame[128]; // 0x3d4 + char m_szAddOnMap[128]; // 0x454 private: - [[maybe_unused]] uint8_t __pad04c4[0x354]; // 0x4c4 + [[maybe_unused]] uint8_t __pad04d4[0x364]; // 0x4d4 public: - KeyValues* m_pTutorialLessonKeyValues; // 0x818 - KeyValues* m_pDivisionKeyValues; // 0x820 - KeyValues* m_pMatchGroupsKeyValues; // 0x828 - KeyValues* m_pAnimationStatues; // 0x830 - KeyValues* m_pBotScriptsDedicatedServer; // 0x838 - KeyValues* m_pkvWardPlacementLocations; // 0x840 - KeyValues* m_pRegionKeyValues; // 0x848 - KeyValues* m_pSurveyQuestionData; // 0x850 - KeyValues3 m_AddonInfoKeyValues; // 0x858 + KeyValues* m_pTutorialLessonKeyValues; // 0x838 + KeyValues* m_pDivisionKeyValues; // 0x840 + KeyValues* m_pMatchGroupsKeyValues; // 0x848 + KeyValues* m_pAnimationStatues; // 0x850 + KeyValues* m_pBotScriptsDedicatedServer; // 0x858 + KeyValues* m_pkvWardPlacementLocations; // 0x860 + KeyValues* m_pRegionKeyValues; // 0x868 + KeyValues* m_pSurveyQuestionData; // 0x870 + KeyValues3 m_AddonInfoKeyValues; // 0x878 private: - [[maybe_unused]] uint8_t __pad0868[0x20]; // 0x868 + [[maybe_unused]] uint8_t __pad0888[0x20]; // 0x888 public: - KeyValues* m_pCountryKeyValues; // 0x888 + KeyValues* m_pCountryKeyValues; // 0x8a8 private: - [[maybe_unused]] uint8_t __pad0890[0xc0]; // 0x890 + [[maybe_unused]] uint8_t __pad08b0[0xc0]; // 0x8b0 public: // MNetworkEnable - bool m_CurrentHeroAvailable[256]; // 0x950 + bool m_CurrentHeroAvailable[256]; // 0x970 }; // Alignment: 3 @@ -12123,8 +12440,8 @@ public: EDOTASpecialBonusOperation m_eOperation; // 0x14 }; -// Alignment: 17 -// Size: 0x120 +// Alignment: 18 +// Size: 0x128 struct DOTASpecialAbility_t { public: @@ -12144,7 +12461,8 @@ public: bool m_bSpellDamageField; // 0x11c bool m_bScepterField; // 0x11d bool m_bShardField; // 0x11e - EDOTASpecialBonusOperation m_eSpecialBonusOperation; // 0x11f + bool m_bAffectedByAoEIncrease; // 0x11f + EDOTASpecialBonusOperation m_eSpecialBonusOperation; // 0x120 }; // Alignment: 2 @@ -12162,19 +12480,22 @@ struct AbilityID_t { public: int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("AbilityID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 6 -// Size: 0x588 +// Size: 0x598 class CDOTAGameEvents : public CBaseEntity { public: - CEntityIOOutput m_OnDayStarted; // 0x498 - CEntityIOOutput m_OnNightStarted; // 0x4c0 - CEntityIOOutput m_OnRadiantFortDestroyed; // 0x4e8 - CEntityIOOutput m_OnDireFortDestroyed; // 0x510 - CEntityIOOutput m_OnGameEnded; // 0x538 - CEntityIOOutput m_OnGameStarted; // 0x560 + CEntityIOOutput m_OnDayStarted; // 0x4a8 + CEntityIOOutput m_OnNightStarted; // 0x4d0 + CEntityIOOutput m_OnRadiantFortDestroyed; // 0x4f8 + CEntityIOOutput m_OnDireFortDestroyed; // 0x520 + CEntityIOOutput m_OnGameEnded; // 0x548 + CEntityIOOutput m_OnGameStarted; // 0x570 }; // Alignment: 1 @@ -12183,10 +12504,13 @@ struct PlayerID_t { public: int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("PlayerID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 0 -// Size: 0x588 +// Size: 0x598 class CDOTACustomGameEvents : public CDOTAGameEvents { public: @@ -12194,14 +12518,14 @@ public: }; // Alignment: 1 -// Size: 0x4a0 +// Size: 0x4b0 class CDOTAGamerulesProxy : public CGameRulesProxy { public: // MNetworkEnable // MNetworkTypeAlias "CDOTAGameRules*" // MNetworkPriority "32" - CDOTAGameRules* m_pGameRules; // 0x498 + CDOTAGameRules* m_pGameRules; // 0x4a8 }; // Alignment: 3 @@ -12358,19 +12682,22 @@ struct MatchID_t { public: uint64_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("MatchID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 -// Size: 0x4a0 +// Size: 0x4b0 class CDOTA_DisplacementVisibility : public CBaseEntity { public: // MNetworkEnable - int32_t m_HiddenDisplacement; // 0x498 + int32_t m_HiddenDisplacement; // 0x4a8 }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CDOTABaseCustomHeroPickRules : public CBaseEntity { public: @@ -12405,292 +12732,291 @@ public: CUtlVectorEmbeddedNetworkVar< CDOTACustomShopItemInfo > m_CustomShopItems; // 0x130 }; -// Alignment: 104 -// Size: 0x760 +// Alignment: 105 +// Size: 0x770 class CDOTABaseGameMode : public CBaseEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x8]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x8]; // 0x4a8 public: // MNetworkEnable // MNetworkChangeCallback "OnForcedHUDSkinChanged" - CUtlString m_ForcedHUDSkin; // 0x4a0 + CUtlString m_ForcedHUDSkin; // 0x4b0 // MNetworkEnable - int32_t m_nCustomGameForceHeroSelectionId; // 0x4a8 + int32_t m_nCustomGameForceHeroSelectionId; // 0x4b8 // MNetworkEnable - bool m_bAlwaysShowPlayerInventory; // 0x4ac + bool m_bAlwaysShowPlayerInventory; // 0x4bc // MNetworkEnable - bool m_bGoldSoundDisabled; // 0x4ad + bool m_bGoldSoundDisabled; // 0x4bd // MNetworkEnable - bool m_bRecommendedItemsDisabled; // 0x4ae + bool m_bRecommendedItemsDisabled; // 0x4be // MNetworkEnable - bool m_bStickyItemDisabled; // 0x4af + bool m_bStickyItemDisabled; // 0x4bf // MNetworkEnable - bool m_bStashPurchasingDisabled; // 0x4b0 + bool m_bStashPurchasingDisabled; // 0x4c0 // MNetworkEnable - bool m_bFogOfWarDisabled; // 0x4b1 + bool m_bFogOfWarDisabled; // 0x4c1 // MNetworkEnable - bool m_bUseUnseenFOW; // 0x4b2 + bool m_bUseUnseenFOW; // 0x4c2 // MNetworkEnable - bool m_bUseCustomBuybackCost; // 0x4b3 + bool m_bUseCustomBuybackCost; // 0x4c3 // MNetworkEnable - bool m_bUseCustomBuybackCooldown; // 0x4b4 + bool m_bUseCustomBuybackCooldown; // 0x4c4 // MNetworkEnable - bool m_bBuybackEnabled; // 0x4b5 + bool m_bBuybackEnabled; // 0x4c5 // MNetworkEnable - bool m_bUseTurboCouriers; // 0x4b6 + bool m_bUseTurboCouriers; // 0x4c6 private: - [[maybe_unused]] uint8_t __pad04b7[0x1]; // 0x4b7 + [[maybe_unused]] uint8_t __pad04c7[0x1]; // 0x4c7 public: // MNetworkEnable - float m_flCameraDistanceOverride; // 0x4b8 + float m_flCameraDistanceOverride; // 0x4c8 // MNetworkEnable - int32_t m_nCameraSmoothCountOverride; // 0x4bc + int32_t m_nCameraSmoothCountOverride; // 0x4cc // MNetworkEnable - CHandle< CDOTA_BaseNPC > m_hOverrideSelectionEntity; // 0x4c0 + CHandle< CDOTA_BaseNPC > m_hOverrideSelectionEntity; // 0x4d0 // MNetworkEnable - bool m_bTopBarTeamValuesOverride; // 0x4c4 + bool m_bTopBarTeamValuesOverride; // 0x4d4 // MNetworkEnable - bool m_bTopBarTeamValuesVisible; // 0x4c5 + bool m_bTopBarTeamValuesVisible; // 0x4d5 private: - [[maybe_unused]] uint8_t __pad04c6[0x2]; // 0x4c6 + [[maybe_unused]] uint8_t __pad04d6[0x2]; // 0x4d6 public: // MNetworkEnable - int32_t m_nTeamGoodGuysTopBarValue; // 0x4c8 + int32_t m_nTeamGoodGuysTopBarValue; // 0x4d8 // MNetworkEnable - int32_t m_nTeamBadGuysTopBarValue; // 0x4cc + int32_t m_nTeamBadGuysTopBarValue; // 0x4dc // MNetworkEnable - bool m_bAlwaysShowPlayerNames; // 0x4d0 + bool m_bAlwaysShowPlayerNames; // 0x4e0 // MNetworkEnable - bool m_bUseCustomHeroLevels; // 0x4d1 + bool m_bUseCustomHeroLevels; // 0x4e1 private: - [[maybe_unused]] uint8_t __pad04d2[0x6]; // 0x4d2 + [[maybe_unused]] uint8_t __pad04e2[0x6]; // 0x4e2 public: // MNetworkEnable - CNetworkUtlVectorBase< int32 > m_nCustomXPRequiredToReachNextLevel; // 0x4d8 + CNetworkUtlVectorBase< int32 > m_nCustomXPRequiredToReachNextLevel; // 0x4e8 // MNetworkEnable - bool m_bTowerBackdoorProtectionEnabled; // 0x4f0 + bool m_bTowerBackdoorProtectionEnabled; // 0x500 // MNetworkEnable - bool m_bBotThinkingEnabled; // 0x4f1 + bool m_bBotThinkingEnabled; // 0x501 // MNetworkEnable - bool m_bAnnouncerDisabled; // 0x4f2 + bool m_bAnnouncerDisabled; // 0x502 // MNetworkEnable - bool m_bAnnouncerGameModeAnnounceDisabled; // 0x4f3 + bool m_bAnnouncerGameModeAnnounceDisabled; // 0x503 // MNetworkEnable - bool m_bDeathTipsDisabled; // 0x4f4 + bool m_bDeathTipsDisabled; // 0x504 // MNetworkEnable - bool m_bFilterPlayerHeroAvailability; // 0x4f5 + bool m_bFilterPlayerHeroAvailability; // 0x505 // MNetworkEnable - bool m_bKillingSpreeAnnouncerDisabled; // 0x4f6 + bool m_bKillingSpreeAnnouncerDisabled; // 0x506 private: - [[maybe_unused]] uint8_t __pad04f7[0x1]; // 0x4f7 + [[maybe_unused]] uint8_t __pad0507[0x1]; // 0x507 public: // MNetworkEnable - float m_flFixedRespawnTime; // 0x4f8 + float m_flFixedRespawnTime; // 0x508 // MNetworkEnable - float m_flBuybackCostScale; // 0x4fc + float m_flBuybackCostScale; // 0x50c // MNetworkEnable - float m_flRespawnTimeScale; // 0x500 + float m_flRespawnTimeScale; // 0x510 // MNetworkEnable - bool m_bLoseGoldOnDeath; // 0x504 + bool m_bLoseGoldOnDeath; // 0x514 // MNetworkEnable - bool m_bKillableTombstones; // 0x505 + bool m_bKillableTombstones; // 0x515 private: - [[maybe_unused]] uint8_t __pad0506[0x2]; // 0x506 + [[maybe_unused]] uint8_t __pad0516[0x2]; // 0x516 public: // MNetworkEnable - uint32_t m_nHUDVisibilityBits; // 0x508 + uint32_t m_nHUDVisibilityBits; // 0x518 // MNetworkEnable - float m_flMinimumAttackSpeed; // 0x50c + float m_flMinimumAttackSpeed; // 0x51c // MNetworkEnable - float m_flMaximumAttackSpeed; // 0x510 + float m_flMaximumAttackSpeed; // 0x520 // MNetworkEnable - bool m_bIsDaynightCycleDisabled; // 0x514 + bool m_bIsDaynightCycleDisabled; // 0x524 private: - [[maybe_unused]] uint8_t __pad0515[0x3]; // 0x515 + [[maybe_unused]] uint8_t __pad0525[0x3]; // 0x525 public: // MNetworkEnable - float m_flDaynightCycleAdvanceRate; // 0x518 + float m_flDaynightCycleAdvanceRate; // 0x528 // MNetworkEnable - bool m_bAreWeatherEffectsDisabled; // 0x51c + bool m_bAreWeatherEffectsDisabled; // 0x52c // MNetworkEnable - bool m_bDisableHudFlip; // 0x51d + bool m_bDisableHudFlip; // 0x52d // MNetworkEnable - bool m_bEnableFriendlyBuildingMoveTo; // 0x51e + bool m_bEnableFriendlyBuildingMoveTo; // 0x52e // MNetworkEnable - bool m_bIsDeathOverlayDisabled; // 0x51f + bool m_bIsDeathOverlayDisabled; // 0x52f // MNetworkEnable - bool m_bIsHudCombatEventsDisabled; // 0x520 + bool m_bIsHudCombatEventsDisabled; // 0x530 private: - [[maybe_unused]] uint8_t __pad0521[0x7]; // 0x521 + [[maybe_unused]] uint8_t __pad0531[0x7]; // 0x531 public: // MNetworkEnable - CUtlString m_strDefaultStickyItem; // 0x528 + CUtlString m_strDefaultStickyItem; // 0x538 // MNetworkEnable - CUtlString m_sCustomTerrainWeatherEffect; // 0x530 + CUtlString m_sCustomTerrainWeatherEffect; // 0x540 // MNetworkEnable - CUtlString m_strTPScrollSlotItemOverride; // 0x538 + CUtlString m_strTPScrollSlotItemOverride; // 0x548 // MNetworkEnable - float m_flStrengthDamage; // 0x540 + float m_flStrengthDamage; // 0x550 // MNetworkEnable - float m_flStrengthHP; // 0x544 + float m_flStrengthHP; // 0x554 // MNetworkEnable - float m_flStrengthHPRegen; // 0x548 + float m_flStrengthHPRegen; // 0x558 // MNetworkEnable - float m_flAgilityDamage; // 0x54c + float m_flAgilityDamage; // 0x55c // MNetworkEnable - float m_flAgilityArmor; // 0x550 + float m_flAgilityArmor; // 0x560 // MNetworkEnable - float m_flAgilityAttackSpeed; // 0x554 + float m_flAgilityAttackSpeed; // 0x564 // MNetworkEnable - float m_flAgilityMovementSpeedPercent; // 0x558 + float m_flAgilityMovementSpeedPercent; // 0x568 // MNetworkEnable - float m_flIntelligenceDamage; // 0x55c + float m_flIntelligenceDamage; // 0x56c // MNetworkEnable - float m_flIntelligenceMana; // 0x560 + float m_flIntelligenceMana; // 0x570 // MNetworkEnable - float m_flIntelligenceManaRegen; // 0x564 + float m_flIntelligenceManaRegen; // 0x574 // MNetworkEnable - float m_flIntelligenceMres; // 0x568 + float m_flIntelligenceMres; // 0x578 // MNetworkEnable - float m_flIntelligenceSpellAmpPercent; // 0x56c + float m_flIntelligenceSpellAmpPercent; // 0x57c // MNetworkEnable - float m_flStrengthMagicResistancePercent; // 0x570 + float m_flStrengthMagicResistancePercent; // 0x580 // MNetworkEnable - float m_flAttributeAllDamage; // 0x574 + float m_flAttributeAllDamage; // 0x584 // MNetworkEnable - float m_flDraftingHeroPickSelectTimeOverride; // 0x578 + float m_flDraftingHeroPickSelectTimeOverride; // 0x588 // MNetworkEnable - float m_flDraftingBanningTimeOverride; // 0x57c + float m_flDraftingBanningTimeOverride; // 0x58c // MNetworkEnable - bool m_bPauseEnabled; // 0x580 + bool m_bPauseEnabled; // 0x590 private: - [[maybe_unused]] uint8_t __pad0581[0x3]; // 0x581 + [[maybe_unused]] uint8_t __pad0591[0x3]; // 0x591 public: // MNetworkEnable - float m_flCustomScanCooldown; // 0x584 + int32_t m_iCustomScanMaxCharges; // 0x594 // MNetworkEnable - float m_flCustomGlyphCooldown; // 0x588 + float m_flCustomScanCooldown; // 0x598 // MNetworkEnable - float m_flCustomBackpackSwapCooldown; // 0x58c + float m_flCustomGlyphCooldown; // 0x59c // MNetworkEnable - float m_flCustomBackpackCooldownPercent; // 0x590 + float m_flCustomBackpackSwapCooldown; // 0x5a0 // MNetworkEnable - bool m_bDefaultRuneSpawnLogic; // 0x594 + float m_flCustomBackpackCooldownPercent; // 0x5a4 // MNetworkEnable - bool m_bEnableFreeCourierMode; // 0x595 + bool m_bDefaultRuneSpawnLogic; // 0x5a8 // MNetworkEnable - bool m_bAllowNeutralItemDrops; // 0x596 + bool m_bEnableFreeCourierMode; // 0x5a9 // MNetworkEnable - bool m_bEnableNeutralStash; // 0x597 + bool m_bAllowNeutralItemDrops; // 0x5aa // MNetworkEnable - bool m_bEnableNeutralStashTeamViewOnly; // 0x598 + bool m_bEnableNeutralStash; // 0x5ab // MNetworkEnable - bool m_bEnableNeutralItemHideUndiscovered; // 0x599 + bool m_bEnableNeutralStashTeamViewOnly; // 0x5ac // MNetworkEnable - bool m_bEnableSendToStash; // 0x59a + bool m_bEnableNeutralItemHideUndiscovered; // 0x5ad // MNetworkEnable - bool m_bForceRightClickAttackDisabled; // 0x59b + bool m_bEnableSendToStash; // 0x5ae + // MNetworkEnable + bool m_bForceRightClickAttackDisabled; // 0x5af + // MNetworkEnable + CUtlVectorEmbeddedNetworkVar< CDOTACustomShopInfo > m_vecCustomShopInfo; // 0x5b0 + // MNetworkEnable + bool m_bCanSellAnywhere; // 0x600 private: - [[maybe_unused]] uint8_t __pad059c[0x4]; // 0x59c + [[maybe_unused]] uint8_t __pad0601[0x3]; // 0x601 public: // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< CDOTACustomShopInfo > m_vecCustomShopInfo; // 0x5a0 + float m_flCameraNearZ; // 0x604 // MNetworkEnable - bool m_bCanSellAnywhere; // 0x5f0 + float m_flCameraFarZ; // 0x608 + // MNetworkEnable + int32_t m_nCustomRadiantScore; // 0x60c + // MNetworkEnable + int32_t m_nCustomDireScore; // 0x610 + // MNetworkEnable + bool m_bAbilityUpgradeWhitelistEnabled; // 0x614 private: - [[maybe_unused]] uint8_t __pad05f1[0x3]; // 0x5f1 + [[maybe_unused]] uint8_t __pad0615[0x3]; // 0x615 public: // MNetworkEnable - float m_flCameraNearZ; // 0x5f4 + CNetworkUtlVectorBase< AbilityID_t > m_vecAbilityUpgradeWhitelist; // 0x618 // MNetworkEnable - float m_flCameraFarZ; // 0x5f8 - // MNetworkEnable - int32_t m_nCustomRadiantScore; // 0x5fc - // MNetworkEnable - int32_t m_nCustomDireScore; // 0x600 - // MNetworkEnable - bool m_bAbilityUpgradeWhitelistEnabled; // 0x604 + bool m_bGiveFreeTPOnDeath; // 0x630 private: - [[maybe_unused]] uint8_t __pad0605[0x3]; // 0x605 + [[maybe_unused]] uint8_t __pad0631[0x3]; // 0x631 public: // MNetworkEnable - CNetworkUtlVectorBase< AbilityID_t > m_vecAbilityUpgradeWhitelist; // 0x608 + int32_t m_nInnateMeleeDamageBlockPct; // 0x634 // MNetworkEnable - bool m_bGiveFreeTPOnDeath; // 0x620 + int32_t m_nInnateMeleeDamageBlockAmount; // 0x638 + // MNetworkEnable + int32_t m_nInnateMeleeDamageBlockPerLevelAmount; // 0x63c + // MNetworkEnable + float m_flWaterRuneSpawnInterval; // 0x640 private: - [[maybe_unused]] uint8_t __pad0621[0x3]; // 0x621 + [[maybe_unused]] uint8_t __pad0644[0x1c]; // 0x644 public: - // MNetworkEnable - int32_t m_nInnateMeleeDamageBlockPct; // 0x624 - // MNetworkEnable - int32_t m_nInnateMeleeDamageBlockAmount; // 0x628 - // MNetworkEnable - int32_t m_nInnateMeleeDamageBlockPerLevelAmount; // 0x62c - // MNetworkEnable - float m_flWaterRuneSpawnInterval; // 0x630 + bool m_bSelectionGoldPenaltyEnabled; // 0x660 + bool m_bRemoveIllusionsOnDeath; // 0x661 + bool m_bRandomHeroBonusItemGrantDisabled; // 0x662 + bool m_bDisableClumpingBehaviorByDefault; // 0x663 + bool m_bRuneTypeEnabled[10]; // 0x664 + bool m_bOverrideBotLateGame; // 0x66e + bool m_bBotsAlwaysPushWithHuman; // 0x66f + bool m_bBotsInLateGame; // 0x670 private: - [[maybe_unused]] uint8_t __pad0634[0x1c]; // 0x634 + [[maybe_unused]] uint8_t __pad0671[0x3]; // 0x671 public: - bool m_bSelectionGoldPenaltyEnabled; // 0x650 - bool m_bRemoveIllusionsOnDeath; // 0x651 - bool m_bRandomHeroBonusItemGrantDisabled; // 0x652 - bool m_bDisableClumpingBehaviorByDefault; // 0x653 - bool m_bRuneTypeEnabled[10]; // 0x654 - bool m_bOverrideBotLateGame; // 0x65e - bool m_bBotsAlwaysPushWithHuman; // 0x65f - bool m_bBotsInLateGame; // 0x660 -private: - [[maybe_unused]] uint8_t __pad0661[0x3]; // 0x661 -public: - int32_t m_nBotMaxPushTier; // 0x664 - float m_flFountainPercentageHealthRegen; // 0x668 - float m_flFountainPercentageManaRegen; // 0x66c - float m_flFountainConstantManaRegen; // 0x670 - float m_flPowerRuneSpawnInterval; // 0x674 - float m_flBountyRuneSpawnInterval; // 0x678 + int32_t m_nBotMaxPushTier; // 0x674 + float m_flFountainPercentageHealthRegen; // 0x678 + float m_flFountainPercentageManaRegen; // 0x67c + float m_flFountainConstantManaRegen; // 0x680 + float m_flPowerRuneSpawnInterval; // 0x684 + float m_flBountyRuneSpawnInterval; // 0x688 }; // Alignment: 11 -// Size: 0x810 +// Size: 0x820 class CDOTATurboGameMode : public CDOTABaseGameMode { private: - [[maybe_unused]] uint8_t __pad0760[0x18]; // 0x760 + [[maybe_unused]] uint8_t __pad0770[0x18]; // 0x770 public: - int32_t m_nHighestLevelInCurrentGame; // 0x778 + int32_t m_nHighestLevelInCurrentGame; // 0x788 private: - [[maybe_unused]] uint8_t __pad077c[0x34]; // 0x77c + [[maybe_unused]] uint8_t __pad078c[0x34]; // 0x78c public: - CUtlVector< float32 > m_ExtraMeleeCreepTimes; // 0x7b0 - CUtlVector< float32 > m_ExtraRangedCreepTimes; // 0x7c8 - CUtlVector< float32 > m_ExtraSiegeCreepTimes; // 0x7e0 - int32_t m_nExtraGoldPerWave; // 0x7f8 - int32_t m_nExtraXPPerWave; // 0x7fc - float m_flNextRewardDistributionTime; // 0x800 - float m_flNextWaveRecalculationTime; // 0x804 - float m_flNextNeutralItemDistributionTime; // 0x808 - bool m_bInOvertime; // 0x80c - bool m_bDistributingPassiveGoldAndXp; // 0x80d + CUtlVector< float32 > m_ExtraMeleeCreepTimes; // 0x7c0 + CUtlVector< float32 > m_ExtraRangedCreepTimes; // 0x7d8 + CUtlVector< float32 > m_ExtraSiegeCreepTimes; // 0x7f0 + int32_t m_nExtraGoldPerWave; // 0x808 + int32_t m_nExtraXPPerWave; // 0x80c + float m_flNextRewardDistributionTime; // 0x810 + float m_flNextWaveRecalculationTime; // 0x814 + float m_flNextNeutralItemDistributionTime; // 0x818 + bool m_bInOvertime; // 0x81c + bool m_bDistributingPassiveGoldAndXp; // 0x81d }; // Alignment: 5 -// Size: 0x818 +// Size: 0x828 class CDOTANewPlayerPoolGameMode : public CDOTABaseGameMode { public: - int32_t m_nHighestLevelInCurrentGame; // 0x760 + int32_t m_nHighestLevelInCurrentGame; // 0x770 private: - [[maybe_unused]] uint8_t __pad0764[0x64]; // 0x764 + [[maybe_unused]] uint8_t __pad0774[0x64]; // 0x774 public: - CUtlVector< float32 > m_ExtraMeleeCreepTimes; // 0x7c8 - CUtlVector< float32 > m_ExtraRangedCreepTimes; // 0x7e0 - CUtlVector< float32 > m_ExtraSiegeCreepTimes; // 0x7f8 - bool m_bInOvertime; // 0x810 + CUtlVector< float32 > m_ExtraMeleeCreepTimes; // 0x7d8 + CUtlVector< float32 > m_ExtraRangedCreepTimes; // 0x7f0 + CUtlVector< float32 > m_ExtraSiegeCreepTimes; // 0x808 + bool m_bInOvertime; // 0x820 }; // Alignment: 0 -// Size: 0x760 +// Size: 0x770 class CDOTAMutationGameMode : public CDOTABaseGameMode { public: @@ -12698,26 +13024,26 @@ public: }; // Alignment: 1 -// Size: 0x4a0 +// Size: 0x4b0 class CDOTATurboHeroPickRules : public CDOTABaseCustomHeroPickRules { public: // MNetworkEnable - DOTACustomHeroPickRulesPhase_t m_Phase; // 0x498 + DOTACustomHeroPickRulesPhase_t m_Phase; // 0x4a8 }; // Alignment: 4 -// Size: 0x4a8 +// Size: 0x4b8 class CDOTACustomGameHeroPickRules : public CDOTABaseCustomHeroPickRules { public: // MNetworkEnable - DOTACustomHeroPickRulesPhase_t m_Phase; // 0x498 + DOTACustomHeroPickRulesPhase_t m_Phase; // 0x4a8 // MNetworkEnable - int32_t m_nNumBansPerTeam; // 0x49c + int32_t m_nNumBansPerTeam; // 0x4ac // MNetworkEnable - GameTime_t m_flEnterTime; // 0x4a0 - int32_t m_nNumHeroesPicked; // 0x4a4 + GameTime_t m_flEnterTime; // 0x4b0 + int32_t m_nNumHeroesPicked; // 0x4b4 }; // Alignment: 4 @@ -12737,6 +13063,9 @@ struct GCPlayerSlot_t { public: uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("GCPlayerSlot_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 86 @@ -12854,10 +13183,13 @@ struct LeagueID_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("LeagueID_t")->m_static_fields[0]->m_instance);}; }; -// Alignment: 311 -// Size: 0x5710 +// Alignment: 314 +// Size: 0x5750 class CDOTAGameRules : public CMultiplayRules { public: @@ -13147,394 +13479,397 @@ public: // MNetworkEnable GameTime_t m_flRadarCooldowns[15]; // 0xa14 // MNetworkEnable - float m_flOutpostTimes[24]; // 0xa50 + int32_t m_iGoodRadarCharges; // 0xa50 // MNetworkEnable - bool m_bIsNightstalkerNight; // 0xab0 + int32_t m_iBadRadarCharges; // 0xa54 // MNetworkEnable - bool m_bIsTemporaryNight; // 0xab1 + int32_t m_iRadarCharges[15]; // 0xa58 // MNetworkEnable - bool m_bIsTemporaryDay; // 0xab2 + float m_flOutpostTimes[24]; // 0xa94 + // MNetworkEnable + bool m_bIsNightstalkerNight; // 0xaf4 + // MNetworkEnable + bool m_bIsTemporaryNight; // 0xaf5 + // MNetworkEnable + bool m_bIsTemporaryDay; // 0xaf6 private: - [[maybe_unused]] uint8_t __pad0ab3[0x1]; // 0xab3 + [[maybe_unused]] uint8_t __pad0af7[0x1]; // 0xaf7 public: // MNetworkEnable - int32_t m_nRiverType; // 0xab4 + int32_t m_nRiverType; // 0xaf8 // MNetworkEnable - PlayerID_t m_nTeamFeaturedPlayerID[15]; // 0xab8 + PlayerID_t m_nTeamFeaturedPlayerID[15]; // 0xafc // MNetworkEnable - 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 + item_definition_index_t m_nTeamVersusScreen[15]; // 0xb38 + float m_flGoldRedistributeTime; // 0xb74 + int32_t m_nGoldToRedistribute[2]; // 0xb78 + GameTime_t m_flNextPreGameThink; // 0xb80 + GameTime_t m_flNextAllDraftGoldThink; // 0xb84 + double m_flTimeEnteredState; // 0xb88 + uint32_t m_unRiverAccountID; // 0xb90 private: - [[maybe_unused]] uint8_t __pad0b44[0x4]; // 0xb44 + [[maybe_unused]] uint8_t __pad0b94[0x4]; // 0xb94 public: - double m_flTimeEnteredState; // 0xb48 - uint32_t m_unRiverAccountID; // 0xb50 + itemid_t m_ulRiverItemID; // 0xb98 private: - [[maybe_unused]] uint8_t __pad0b54[0x4]; // 0xb54 -public: - itemid_t m_ulRiverItemID; // 0xb58 -private: - [[maybe_unused]] uint8_t __pad0b60[0x40]; // 0xb60 + [[maybe_unused]] uint8_t __pad0ba0[0x40]; // 0xba0 public: // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< CDOTA_ItemStockInfo > m_vecItemStockInfo; // 0xba0 + CUtlVectorEmbeddedNetworkVar< CDOTA_ItemStockInfo > m_vecItemStockInfo; // 0xbe0 // MNetworkEnable - DOTA_AssassinMinigameNetworkState m_AssassinMiniGameNetData; // 0xc10 + DOTA_AssassinMinigameNetworkState m_AssassinMiniGameNetData; // 0xc50 // MNetworkEnable - int32_t m_nGameWinner; // 0xc20 + int32_t m_nGameWinner; // 0xc60 private: - [[maybe_unused]] uint8_t __pad0c24[0x4]; // 0xc24 + [[maybe_unused]] uint8_t __pad0c64[0x4]; // 0xc64 public: // MNetworkEnable - MatchID_t m_unMatchID64; // 0xc28 + MatchID_t m_unMatchID64; // 0xc68 // MNetworkEnable - bool m_bMatchSignoutComplete; // 0xc30 + bool m_bMatchSignoutComplete; // 0xc70 private: - [[maybe_unused]] uint8_t __pad0c31[0x3]; // 0xc31 + [[maybe_unused]] uint8_t __pad0c71[0x3]; // 0xc71 public: // MNetworkEnable - CHandle< CBaseEntity > m_hSideShop1; // 0xc34 + CHandle< CBaseEntity > m_hSideShop1; // 0xc74 // MNetworkEnable - CHandle< CBaseEntity > m_hSideShop2; // 0xc38 + CHandle< CBaseEntity > m_hSideShop2; // 0xc78 // MNetworkEnable - CHandle< CBaseEntity > m_hSecretShop1; // 0xc3c + CHandle< CBaseEntity > m_hSecretShop1; // 0xc7c // MNetworkEnable - CHandle< CBaseEntity > m_hSecretShop2; // 0xc40 + CHandle< CBaseEntity > m_hSecretShop2; // 0xc80 // MNetworkEnable - CHandle< CBaseEntity > m_hTeamFountains[15]; // 0xc44 + CHandle< CBaseEntity > m_hTeamFountains[15]; // 0xc84 // MNetworkEnable - CHandle< CBaseEntity > m_hTeamForts[15]; // 0xc80 + CHandle< CBaseEntity > m_hTeamForts[15]; // 0xcc0 // MNetworkEnable - CHandle< CBaseEntity > m_hTeamShops[15]; // 0xcbc + CHandle< CBaseEntity > m_hTeamShops[15]; // 0xcfc // MNetworkEnable - CHandle< CBaseEntity > m_hAnnouncerGood; // 0xcf8 + CHandle< CBaseEntity > m_hAnnouncerGood; // 0xd38 // MNetworkEnable - CHandle< CBaseEntity > m_hAnnouncerBad; // 0xcfc + CHandle< CBaseEntity > m_hAnnouncerBad; // 0xd3c // MNetworkEnable - CHandle< CBaseEntity > m_hAnnouncerSpectator; // 0xd00 + CHandle< CBaseEntity > m_hAnnouncerSpectator; // 0xd40 // MNetworkEnable - CHandle< CBaseEntity > m_hAnnouncerGood_KillingSpree; // 0xd04 + CHandle< CBaseEntity > m_hAnnouncerGood_KillingSpree; // 0xd44 // MNetworkEnable - CHandle< CBaseEntity > m_hAnnouncerBad_KillingSpree; // 0xd08 + CHandle< CBaseEntity > m_hAnnouncerBad_KillingSpree; // 0xd48 // MNetworkEnable - CHandle< CBaseEntity > m_hAnnouncerSpectator_KillingSpree; // 0xd0c + CHandle< CBaseEntity > m_hAnnouncerSpectator_KillingSpree; // 0xd4c // MNetworkEnable - bool m_arrTier1TowerDestroyed[15]; // 0xd10 + bool m_arrTier1TowerDestroyed[15]; // 0xd50 // MNetworkEnable - bool m_arrTier2TowerDestroyed[15]; // 0xd1f + bool m_arrTier2TowerDestroyed[15]; // 0xd5f // MNetworkEnable - bool m_arrTier3TowerDestroyed[15]; // 0xd2e + bool m_arrTier3TowerDestroyed[15]; // 0xd6e // MNetworkEnable - bool m_bTier1TowerDestroyed; // 0xd3d + bool m_bTier1TowerDestroyed; // 0xd7d // MNetworkEnable - bool m_bTier2TowerDestroyed; // 0xd3e + bool m_bTier2TowerDestroyed; // 0xd7e // MNetworkEnable - bool m_bTier3TowerDestroyed; // 0xd3f - float m_fTimeOfDay; // 0xd40 + bool m_bTier3TowerDestroyed; // 0xd7f + float m_fTimeOfDay; // 0xd80 // MNetworkEnable // MNetworkPriority "32" - int32_t m_iNetTimeOfDay; // 0xd44 + int32_t m_iNetTimeOfDay; // 0xd84 // MNetworkEnable - int32_t m_nLoadedPlayers; // 0xd48 + int32_t m_nLoadedPlayers; // 0xd88 // MNetworkEnable - int32_t m_nExpectedPlayers; // 0xd4c + int32_t m_nExpectedPlayers; // 0xd8c private: - [[maybe_unused]] uint8_t __pad0d50[0x8]; // 0xd50 + [[maybe_unused]] uint8_t __pad0d90[0x8]; // 0xd90 public: // MNetworkEnable - int32_t m_iMinimapDebugGridState; // 0xd58 + int32_t m_iMinimapDebugGridState; // 0xd98 private: - [[maybe_unused]] uint8_t __pad0d5c[0x7c]; // 0xd5c + [[maybe_unused]] uint8_t __pad0d9c[0x7c]; // 0xd9c public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_iFoWFrameNumber; // 0xdd8 + int32_t m_iFoWFrameNumber; // 0xe18 // MNetworkEnable - Vector m_vWeatherWindDirection; // 0xddc - KeyValues* m_pKVPostGameTable; // 0xde8 - KeyValues* m_pKVEventMatchMetadata; // 0xdf0 - KeyValues* m_pKVEventSignout; // 0xdf8 + Vector m_vWeatherWindDirection; // 0xe1c + KeyValues* m_pKVPostGameTable; // 0xe28 + KeyValues* m_pKVEventMatchMetadata; // 0xe30 + KeyValues* m_pKVEventSignout; // 0xe38 private: - [[maybe_unused]] uint8_t __pad0e00[0x58]; // 0xe00 + [[maybe_unused]] uint8_t __pad0e40[0x58]; // 0xe40 public: // MNetworkEnable - int32_t m_vecRequiredPlaytestHeroesStorage[24]; // 0xe58 + int32_t m_vecRequiredPlaytestHeroesStorage[24]; // 0xe98 // MNetworkEnable - int32_t m_vecRecommendedPlaytestHeroesStorage[24]; // 0xeb8 + int32_t m_vecRecommendedPlaytestHeroesStorage[24]; // 0xef8 // MNetworkEnable - bool m_bAllRequiredPlaytestHeroesPicked; // 0xf18 + bool m_bAllRequiredPlaytestHeroesPicked; // 0xf58 private: - [[maybe_unused]] uint8_t __pad0f19[0x3]; // 0xf19 + [[maybe_unused]] uint8_t __pad0f59[0x3]; // 0xf59 public: // MNetworkEnable - int32_t m_nLastPlaytestPickPhase; // 0xf1c - int32_t m_nCustomGameFowTeamCount; // 0xf20 - bool m_bUseAlternateABRules; // 0xf24 - bool m_bLobbyIsAssociatedWithGame; // 0xf25 + int32_t m_nLastPlaytestPickPhase; // 0xf5c + int32_t m_nCustomGameFowTeamCount; // 0xf60 + bool m_bUseAlternateABRules; // 0xf64 + bool m_bLobbyIsAssociatedWithGame; // 0xf65 private: - [[maybe_unused]] uint8_t __pad0f26[0x2]; // 0xf26 + [[maybe_unused]] uint8_t __pad0f66[0x2]; // 0xf66 public: - CountdownTimer m_BotDebugTimer; // 0xf28 + CountdownTimer m_BotDebugTimer; // 0xf68 // MNetworkEnable // MNetworkPriority "48" - uint8_t m_BotDebugPushLane[18]; // 0xf40 + uint8_t m_BotDebugPushLane[18]; // 0xf80 // MNetworkEnable - uint8_t m_BotDebugDefendLane[18]; // 0xf52 + uint8_t m_BotDebugDefendLane[18]; // 0xf92 // MNetworkEnable - uint8_t m_BotDebugFarmLane[6]; // 0xf64 + uint8_t m_BotDebugFarmLane[6]; // 0xfa4 // MNetworkEnable - uint8_t m_BotDebugRoam[8]; // 0xf6a + uint8_t m_BotDebugRoam[8]; // 0xfaa private: - [[maybe_unused]] uint8_t __pad0f72[0x2]; // 0xf72 + [[maybe_unused]] uint8_t __pad0fb2[0x2]; // 0xfb2 public: // MNetworkEnable - CHandle< CBaseEntity > m_hBotDebugRoamTarget[2]; // 0xf74 + CHandle< CBaseEntity > m_hBotDebugRoamTarget[2]; // 0xfb4 // MNetworkEnable - uint8_t m_BotDebugRoshan[2]; // 0xf7c + uint8_t m_BotDebugRoshan[2]; // 0xfbc private: - [[maybe_unused]] uint8_t __pad0f7e[0x2]; // 0xf7e + [[maybe_unused]] uint8_t __pad0fbe[0x2]; // 0xfbe public: // MNetworkEnable - ERoshanSpawnPhase m_nRoshanRespawnPhase; // 0xf80 + ERoshanSpawnPhase m_nRoshanRespawnPhase; // 0xfc0 // MNetworkEnable - GameTime_t m_flRoshanRespawnPhaseEndTime; // 0xf84 + GameTime_t m_flRoshanRespawnPhaseEndTime; // 0xfc4 // MNetworkEnable // MNetworkTypeAlias "CDOTA_AbilityDraftAbilityState[MAX_ABILITY_DRAFT_ABILITIES]" - CUtlVectorEmbeddedNetworkVar< CDOTA_AbilityDraftAbilityState > m_AbilityDraftAbilities; // 0xf88 + CUtlVectorEmbeddedNetworkVar< CDOTA_AbilityDraftAbilityState > m_AbilityDraftAbilities; // 0xfc8 // MNetworkEnable - bool m_bAbilityDraftCurrentPlayerHasPicked; // 0xff8 + bool m_bAbilityDraftCurrentPlayerHasPicked; // 0x1038 private: - [[maybe_unused]] uint8_t __pad0ff9[0x3]; // 0xff9 + [[maybe_unused]] uint8_t __pad1039[0x3]; // 0x1039 public: // MNetworkEnable - int32_t m_nAbilityDraftPlayerTracker; // 0xffc + int32_t m_nAbilityDraftPlayerTracker; // 0x103c // MNetworkEnable - int32_t m_nAbilityDraftRoundNumber; // 0x1000 + int32_t m_nAbilityDraftRoundNumber; // 0x1040 // MNetworkEnable - int32_t m_nAbilityDraftAdvanceSteps; // 0x1004 + int32_t m_nAbilityDraftAdvanceSteps; // 0x1044 // MNetworkEnable - int32_t m_nAbilityDraftPhase; // 0x1008 + int32_t m_nAbilityDraftPhase; // 0x1048 // MNetworkEnable // MNetworkChangeCallback "OnAbilityDraftHeroesChanged" - int32_t m_nAbilityDraftHeroesChosen[13]; // 0x100c + int32_t m_nAbilityDraftHeroesChosen[13]; // 0x104c // MNetworkEnable - bool m_bIsPlayerDraft; // 0x1040 + bool m_bIsPlayerDraft; // 0x1080 private: - [[maybe_unused]] uint8_t __pad1041[0x3]; // 0x1041 + [[maybe_unused]] uint8_t __pad1081[0x3]; // 0x1081 public: // MNetworkEnable - DOTA_PlayerDraftState m_ePlayerDraftState; // 0x1044 + DOTA_PlayerDraftState m_ePlayerDraftState; // 0x1084 // MNetworkEnable - CNetworkUtlVectorBase< uint8 > m_vecPlayerDraftPickOrder; // 0x1048 + CNetworkUtlVectorBase< uint8 > m_vecPlayerDraftPickOrder; // 0x1088 // MNetworkEnable - int32_t m_nPlayerDraftPick; // 0x1060 + int32_t m_nPlayerDraftPick; // 0x10a0 // MNetworkEnable - int32_t m_nPlayerDraftActiveTeam; // 0x1064 + int32_t m_nPlayerDraftActiveTeam; // 0x10a4 // MNetworkEnable - float m_flPlayerDraftTimeBank[2]; // 0x1068 - CUtlVector< KeyValues* > m_vecARDMHeroes[2]; // 0x1070 - int32_t m_nARDMHeroesPrecached; // 0x10a0 - float m_fLastARDMPrecache; // 0x10a4 + float m_flPlayerDraftTimeBank[2]; // 0x10a8 + CUtlVector< KeyValues* > m_vecARDMHeroes[2]; // 0x10b0 + int32_t m_nARDMHeroesPrecached; // 0x10e0 + float m_fLastARDMPrecache; // 0x10e4 // MNetworkEnable - int32_t m_nAllDraftPhase; // 0x10a8 + int32_t m_nAllDraftPhase; // 0x10e8 // MNetworkEnable - bool m_bAllDraftRadiantFirst; // 0x10ac + bool m_bAllDraftRadiantFirst; // 0x10ec // MNetworkEnable - bool m_bAllowOverrideVPK; // 0x10ad + bool m_bAllowOverrideVPK; // 0x10ed private: - [[maybe_unused]] uint8_t __pad10ae[0x2]; // 0x10ae + [[maybe_unused]] uint8_t __pad10ee[0x2]; // 0x10ee public: // MNetworkEnable - int32_t m_nARDMHeroesRemaining[2]; // 0x10b0 - CUtlVector< CHandle< CDOTA_BaseNPC_Pet > > m_hGlobalPetList; // 0x10b8 + int32_t m_nARDMHeroesRemaining[2]; // 0x10f0 + CUtlVector< CHandle< CDOTA_BaseNPC_Pet > > m_hGlobalPetList; // 0x10f8 private: - [[maybe_unused]] uint8_t __pad10d0[0x50]; // 0x10d0 + [[maybe_unused]] uint8_t __pad1110[0x50]; // 0x1110 public: - int32_t m_nRadiantRoshanKills; // 0x1120 - int32_t m_nDireRoshanKills; // 0x1124 - int32_t m_nRoshanKillsDay; // 0x1128 - int32_t m_nRoshanKillsNight; // 0x112c - int32_t m_nTormentorKills; // 0x1130 - int32_t m_nOutpostCaptures; // 0x1134 + int32_t m_nRadiantRoshanKills; // 0x1160 + int32_t m_nDireRoshanKills; // 0x1164 + int32_t m_nRoshanKillsDay; // 0x1168 + int32_t m_nRoshanKillsNight; // 0x116c + int32_t m_nTormentorKills; // 0x1170 + int32_t m_nOutpostCaptures; // 0x1174 private: - [[maybe_unused]] uint8_t __pad1138[0xc]; // 0x1138 + [[maybe_unused]] uint8_t __pad1178[0xc]; // 0x1178 public: - int32_t m_nDistanceCalculations; // 0x1144 - bool m_bLaneVictoryPredicted; // 0x1148 + int32_t m_nDistanceCalculations; // 0x1184 + bool m_bLaneVictoryPredicted; // 0x1188 private: - [[maybe_unused]] uint8_t __pad1149[0x7]; // 0x1149 + [[maybe_unused]] uint8_t __pad1189[0x7]; // 0x1189 public: - CUtlOrderedMap< PlayerID_t, int32 > m_mapSuccessfulSmokes; // 0x1150 + CUtlOrderedMap< PlayerID_t, int32 > m_mapSuccessfulSmokes; // 0x1190 private: - [[maybe_unused]] uint8_t __pad1178[0x10]; // 0x1178 + [[maybe_unused]] uint8_t __pad11b8[0x10]; // 0x11b8 public: // MNetworkEnable - bool m_bExperimentalGameplay; // 0x1188 + bool m_bExperimentalGameplay; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1189[0x1f]; // 0x1189 + [[maybe_unused]] uint8_t __pad11c9[0x1f]; // 0x11c9 public: - CUtlVector< HeroPickRecord_t > m_vecHeroPickRecord; // 0x11a8 + CUtlVector< HeroPickRecord_t > m_vecHeroPickRecord; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad11c0[0x20]; // 0x11c0 + [[maybe_unused]] uint8_t __pad1200[0x20]; // 0x1200 public: - CUtlVector< HeroDeathRecord_t > m_vecHeroDeathRecord; // 0x11e0 + CUtlVector< HeroDeathRecord_t > m_vecHeroDeathRecord; // 0x1220 private: - [[maybe_unused]] uint8_t __pad11f8[0x18]; // 0x11f8 + [[maybe_unused]] uint8_t __pad1238[0x18]; // 0x1238 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 + CUtlVector< CHandle< CBaseEntity > > m_BadResultPositionTriggers; // 0x1250 + CUtlVector< CHandle< CBaseEntity > > m_RoshanPositionTriggers; // 0x1268 + CUtlVector< HeroPickRecord_t > m_vecAllDraftHeroPickRecord; // 0x1280 + CUtlOrderedMap< PlayerID_t, CUtlVector< AbilityID_t > > m_vecAbilityDraftOrder; // 0x1298 private: - [[maybe_unused]] uint8_t __pad1280[0x18]; // 0x1280 + [[maybe_unused]] uint8_t __pad12c0[0x18]; // 0x12c0 public: - int32_t m_nAllDraftHeroPickCollisionsThisPhase; // 0x1298 + int32_t m_nAllDraftHeroPickCollisionsThisPhase; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad129c[0x4]; // 0x129c + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc 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_aNeutralChoicesLoaded[5]; // 0x134c - bool m_bFirstPowerupRune; // 0x1351 - bool m_bFirstBountyRune; // 0x1352 - bool m_bFilterMoreGold; // 0x1353 - bool m_bAllowOutpostXP; // 0x1354 + CUtlVector< CHandle< CBaseEntity > > m_hRuneSpawners; // 0x12e0 + CUtlVector< CHandle< CBaseEntity > > m_hBountyRuneSpawners; // 0x12f8 + CUtlVector< CHandle< CBaseEntity > > m_hXPRuneSpawners; // 0x1310 + CUtlVector< CHandle< CBaseEntity > > m_hNeutralSpawners[2]; // 0x1328 + int32_t m_iPreviousRune1; // 0x1358 + int32_t m_iPreviousRune2; // 0x135c + CUtlVector< int32 > m_vecAvailableRunes; // 0x1360 + float m_fNextPowerupRuneSpawnTime; // 0x1378 + float m_fNextBountyRuneSpawnTime; // 0x137c + float m_fNextBountyRunePrepTime; // 0x1380 + float m_fNextXPRuneSpawnTime; // 0x1384 + float m_fNextXPRunePrepTime; // 0x1388 + bool m_aNeutralChoicesLoaded[5]; // 0x138c + bool m_bFirstPowerupRune; // 0x1391 + bool m_bFirstBountyRune; // 0x1392 + bool m_bFilterMoreGold; // 0x1393 + bool m_bAllowOutpostXP; // 0x1394 private: - [[maybe_unused]] uint8_t __pad1355[0x3]; // 0x1355 + [[maybe_unused]] uint8_t __pad1395[0x3]; // 0x1395 public: - CHandle< CBaseEntity > m_hRoshanSpawner; // 0x1358 - int32_t m_iPreviousSpectators; // 0x135c - uint32_t m_nMaxSpectators; // 0x1360 + CHandle< CBaseEntity > m_hRoshanSpawner; // 0x1398 + int32_t m_iPreviousSpectators; // 0x139c + uint32_t m_nMaxSpectators; // 0x13a0 private: - [[maybe_unused]] uint8_t __pad1364[0x4]; // 0x1364 + [[maybe_unused]] uint8_t __pad13a4[0x4]; // 0x13a4 public: - CUtlVector< CHandle< CBaseEntity > > m_hDroppedItems; // 0x1368 - CUtlVector< CHandle< CBaseEntity > > m_hWards; // 0x1380 - CHandle< CBaseEntity > m_hGameEvents; // 0x1398 + CUtlVector< CHandle< CBaseEntity > > m_hDroppedItems; // 0x13a8 + CUtlVector< CHandle< CBaseEntity > > m_hWards; // 0x13c0 + CHandle< CBaseEntity > m_hGameEvents; // 0x13d8 private: - [[maybe_unused]] uint8_t __pad139c[0x1c]; // 0x139c + [[maybe_unused]] uint8_t __pad13dc[0x1c]; // 0x13dc public: - CUtlVector< CHandle< CBaseEntity > > m_Towers; // 0x13b8 - CUtlVector< CHandle< CDOTA_BaseNPC_Tower > > m_TeamTowers[10]; // 0x13d0 - CUtlVector< CHandle< CBaseEntity > > m_Outposts; // 0x14c0 - CUtlVector< Vector > m_TeamTowerPositions[10]; // 0x14d8 - CUtlVector< int32 > m_TeamTowerLevels[10]; // 0x15c8 - CUtlVector< int32 > m_TeamTowerLanes[10]; // 0x16b8 - CUtlVector< CHandle< CDOTA_BaseNPC_Building > > m_TeamBarracks[10]; // 0x17a8 - CUtlVector< CHandle< CDOTA_BaseNPC_Building > > m_TeamShrines[10]; // 0x1898 - CountdownTimer m_TempDayTimer; // 0x1988 - CountdownTimer m_TempNightTimer; // 0x19a0 - CountdownTimer m_NightstalkerNightTimer; // 0x19b8 - CountdownTimer m_TempRiverTimer; // 0x19d0 - bool m_bUseLenientAFK[2]; // 0x19e8 - bool m_bFirstBlood; // 0x19ea + CUtlVector< CHandle< CBaseEntity > > m_Towers; // 0x13f8 + CUtlVector< CHandle< CDOTA_BaseNPC_Tower > > m_TeamTowers[10]; // 0x1410 + CUtlVector< CHandle< CBaseEntity > > m_Outposts; // 0x1500 + CUtlVector< Vector > m_TeamTowerPositions[10]; // 0x1518 + CUtlVector< int32 > m_TeamTowerLevels[10]; // 0x1608 + CUtlVector< int32 > m_TeamTowerLanes[10]; // 0x16f8 + CUtlVector< CHandle< CDOTA_BaseNPC_Building > > m_TeamBarracks[10]; // 0x17e8 + CUtlVector< CHandle< CDOTA_BaseNPC_Building > > m_TeamShrines[10]; // 0x18d8 + CountdownTimer m_TempDayTimer; // 0x19c8 + CountdownTimer m_TempNightTimer; // 0x19e0 + CountdownTimer m_NightstalkerNightTimer; // 0x19f8 + CountdownTimer m_TempRiverTimer; // 0x1a10 + bool m_bUseLenientAFK[2]; // 0x1a28 + bool m_bFirstBlood; // 0x1a2a private: - [[maybe_unused]] uint8_t __pad19eb[0x1]; // 0x19eb + [[maybe_unused]] uint8_t __pad1a2b[0x1]; // 0x1a2b public: - int32_t m_nFirstBloodTime; // 0x19ec - CountdownTimer m_CheckIdleTimer; // 0x19f0 - PlayerID_t m_nAnnounceHeroPickRadiantPlayerID; // 0x1a08 - PlayerID_t m_nAnnounceHeroPickDirePlayerID; // 0x1a0c - CUtlString m_pszLastUsedAbility[64]; // 0x1a10 - CUtlVector< CDOTA_ReconnectInfo > m_reconnectinfos; // 0x1c10 - CUtlVector< CHandle< CBaseEntity > > m_hEnemyCreepsInBase[10]; // 0x1c28 - bool m_bTeamHasAbandonedPlayer[10]; // 0x1d18 - bool m_bLobbyHasLeaverDetected; // 0x1d22 - bool m_bGameIsForcedSafeToLeave; // 0x1d23 - bool m_bLobbyHasDicardMatchResults; // 0x1d24 + int32_t m_nFirstBloodTime; // 0x1a2c + CountdownTimer m_CheckIdleTimer; // 0x1a30 + PlayerID_t m_nAnnounceHeroPickRadiantPlayerID; // 0x1a48 + PlayerID_t m_nAnnounceHeroPickDirePlayerID; // 0x1a4c + CUtlString m_pszLastUsedAbility[64]; // 0x1a50 + CUtlVector< CDOTA_ReconnectInfo > m_reconnectinfos; // 0x1c50 + CUtlVector< CHandle< CBaseEntity > > m_hEnemyCreepsInBase[10]; // 0x1c68 + bool m_bTeamHasAbandonedPlayer[10]; // 0x1d58 + bool m_bLobbyHasLeaverDetected; // 0x1d62 + bool m_bGameIsForcedSafeToLeave; // 0x1d63 + bool m_bLobbyHasDicardMatchResults; // 0x1d64 private: - [[maybe_unused]] uint8_t __pad1d25[0x3]; // 0x1d25 + [[maybe_unused]] uint8_t __pad1d65[0x3]; // 0x1d65 public: - int32_t m_iGameEndReason; // 0x1d28 - bool m_bNotifiedPlayerLeaverStatus[64]; // 0x1d2c - bool m_bUploadedReplay; // 0x1d6c + int32_t m_iGameEndReason; // 0x1d68 + bool m_bNotifiedPlayerLeaverStatus[64]; // 0x1d6c + bool m_bUploadedReplay; // 0x1dac private: - [[maybe_unused]] uint8_t __pad1d6d[0x3]; // 0x1d6d + [[maybe_unused]] uint8_t __pad1dad[0x3]; // 0x1dad public: - float m_flLobbyWaitTime; // 0x1d70 - bool m_bGameWasLoaded; // 0x1d74 + float m_flLobbyWaitTime; // 0x1db0 + bool m_bGameWasLoaded; // 0x1db4 private: - [[maybe_unused]] uint8_t __pad1d75[0x3]; // 0x1d75 + [[maybe_unused]] uint8_t __pad1db5[0x3]; // 0x1db5 public: - int32_t m_nLoadPauseFrameCount; // 0x1d78 + int32_t m_nLoadPauseFrameCount; // 0x1db8 private: - [[maybe_unused]] uint8_t __pad1d7c[0x4]; // 0x1d7c + [[maybe_unused]] uint8_t __pad1dbc[0x4]; // 0x1dbc public: - double m_flStateFallbackTransitionTime; // 0x1d80 - EngineCountdownTimer m_timerFinishReplay; // 0x1d88 - CUtlVector< GameChatLogEntry_t > m_vecChatLog; // 0x1da0 + double m_flStateFallbackTransitionTime; // 0x1dc0 + EngineCountdownTimer m_timerFinishReplay; // 0x1dc8 + CUtlVector< GameChatLogEntry_t > m_vecChatLog; // 0x1de0 private: - [[maybe_unused]] uint8_t __pad1db8[0x2658]; // 0x1db8 + [[maybe_unused]] uint8_t __pad1df8[0x2658]; // 0x1df8 public: - bool m_bFatalErrorAbortGame; // 0x4410 - bool m_bFillEmptySlotsWithBots; // 0x4411 + bool m_bFatalErrorAbortGame; // 0x4450 + bool m_bFillEmptySlotsWithBots; // 0x4451 private: - [[maybe_unused]] uint8_t __pad4412[0x2]; // 0x4412 + [[maybe_unused]] uint8_t __pad4452[0x2]; // 0x4452 public: - uint32_t m_dotaMapSpawnGroup; // 0x4414 + uint32_t m_dotaMapSpawnGroup; // 0x4454 private: - [[maybe_unused]] uint8_t __pad4418[0x28]; // 0x4418 + [[maybe_unused]] uint8_t __pad4458[0x28]; // 0x4458 public: // MNetworkEnable - uint32_t m_lobbyType; // 0x4440 + uint32_t m_lobbyType; // 0x4480 // MNetworkEnable - LeagueID_t m_lobbyLeagueID; // 0x4444 + LeagueID_t m_lobbyLeagueID; // 0x4484 // MNetworkEnable - char m_lobbyGameName[256]; // 0x4448 + char m_lobbyGameName[256]; // 0x4488 // MNetworkEnable // MNetworkChangeCallback "OnHeroStatueLiked" - CUtlVectorEmbeddedNetworkVar< CHeroStatueLiked > m_vecHeroStatueLiked; // 0x4548 + CUtlVectorEmbeddedNetworkVar< CHeroStatueLiked > m_vecHeroStatueLiked; // 0x4588 // MNetworkEnable - int32_t m_CustomGameTeamMaxPlayers[15]; // 0x45b8 + int32_t m_CustomGameTeamMaxPlayers[15]; // 0x45f8 private: - [[maybe_unused]] uint8_t __pad45f4[0x3c]; // 0x45f4 + [[maybe_unused]] uint8_t __pad4634[0x3c]; // 0x4634 public: // MNetworkEnable - int32_t m_iMutations[5]; // 0x4630 + int32_t m_iMutations[5]; // 0x4670 private: - [[maybe_unused]] uint8_t __pad4644[0x4]; // 0x4644 + [[maybe_unused]] uint8_t __pad4684[0x4]; // 0x4684 public: // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CIngameEvent_Base > > m_vecIngameEvents; // 0x4648 + CNetworkUtlVectorBase< CHandle< CIngameEvent_Base > > m_vecIngameEvents; // 0x4688 // MNetworkEnable - int8_t m_nPrimaryIngameEventIndex; // 0x4660 + int8_t m_nPrimaryIngameEventIndex; // 0x46a0 private: - [[maybe_unused]] uint8_t __pad4661[0x3]; // 0x4661 + [[maybe_unused]] uint8_t __pad46a1[0x3]; // 0x46a1 public: - uint32_t m_nOfrendaPledges; // 0x4664 - uint32_t m_nRadiantOfrendas; // 0x4668 - uint32_t m_nDireOfrendas; // 0x466c + uint32_t m_nOfrendaPledges; // 0x46a4 + uint32_t m_nRadiantOfrendas; // 0x46a8 + uint32_t m_nDireOfrendas; // 0x46ac // MNetworkEnable - bool m_bOfrendaEnabled; // 0x4670 + bool m_bOfrendaEnabled; // 0x46b0 private: - [[maybe_unused]] uint8_t __pad4671[0x7]; // 0x4671 + [[maybe_unused]] uint8_t __pad46b1[0x7]; // 0x46b1 public: - CUtlVector< sMuertaPartingShotSoulDef > m_vecMuertaPartingShotSouls; // 0x4678 + CUtlVector< sMuertaPartingShotSoulDef > m_vecMuertaPartingShotSouls; // 0x46b8 private: - [[maybe_unused]] uint8_t __pad4690[0x18]; // 0x4690 + [[maybe_unused]] uint8_t __pad46d0[0x18]; // 0x46d0 public: // MNetworkEnable - CNetworkUtlVectorBase< NeutralSpawnBoxes_t > m_NeutralSpawnBoxes; // 0x46a8 + CNetworkUtlVectorBase< NeutralSpawnBoxes_t > m_NeutralSpawnBoxes; // 0x46e8 // MNetworkEnable - CNetworkUtlVectorBase< RegionTriggerBoxes_t > m_RegionTriggerBoxes; // 0x46c0 - double m_flLastItemSuggestionRequestTime[15]; // 0x46d8 + CNetworkUtlVectorBase< RegionTriggerBoxes_t > m_RegionTriggerBoxes; // 0x4700 + double m_flLastItemSuggestionRequestTime[15]; // 0x4718 private: - [[maybe_unused]] uint8_t __pad4750[0xfb8]; // 0x4750 + [[maybe_unused]] uint8_t __pad4790[0xfb8]; // 0x4790 public: - double m_flLastPerfSampleTime; // 0x5708 + double m_flLastPerfSampleTime; // 0x5748 // 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);}; @@ -13546,6 +13881,9 @@ struct FantasyPeriod_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("FantasyPeriod_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 @@ -13554,6 +13892,9 @@ struct LeagueNodeID_t { public: uint16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("LeagueNodeID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 @@ -13562,6 +13903,9 @@ struct LeagueNodeGroupID_t { public: uint16_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("LeagueNodeGroupID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 @@ -13570,6 +13914,9 @@ struct GuildID_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("GuildID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 @@ -13578,6 +13925,9 @@ struct PeriodicResourceID_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("PeriodicResourceID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 @@ -13586,6 +13936,9 @@ struct ChatWheelMessageID_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("ChatWheelMessageID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 @@ -13594,6 +13947,9 @@ struct PingWheelMessageID_t { public: uint32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("PingWheelMessageID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 7 @@ -13777,6 +14133,7 @@ private: public: CUtlVector< sSharedCooldownInfo > m_SharedCooldownList; // 0x8 // MNetworkEnable + // MNetworkChangeCallback "OnInventoryChanged" CHandle< CBaseEntity > m_hItems[19]; // 0x20 bool m_bItemQueried[19]; // 0x6c private: @@ -13798,15 +14155,15 @@ public: }; // Alignment: 2 -// Size: 0x4a0 +// Size: 0x4b0 class CDOTA_BinaryObject : public CBaseEntity { public: - bool m_bActive; // 0x498 + bool m_bActive; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad0499[0x3]; // 0x499 + [[maybe_unused]] uint8_t __pad04a9[0x3]; // 0x4a9 public: - int32_t m_nBinaryID; // 0x49c + int32_t m_nBinaryID; // 0x4ac }; // Alignment: 1 @@ -13862,16 +14219,16 @@ public: }; // Alignment: 3 -// Size: 0x4b0 +// Size: 0x4c0 class CDOTA_ArcanaDataEntity : public CBaseEntity { public: // MNetworkEnable - CDOTA_ArcanaDataEntity_DrowRanger* m_pArcanaData_CDOTA_ArcanaDataEntity_DrowRanger; // 0x498 + CDOTA_ArcanaDataEntity_DrowRanger* m_pArcanaData_CDOTA_ArcanaDataEntity_DrowRanger; // 0x4a8 // MNetworkEnable - CDOTA_ArcanaDataEntity_FacelessVoid* m_pArcanaData_CDOTA_ArcanaDataEntity_FacelessVoid; // 0x4a0 + CDOTA_ArcanaDataEntity_FacelessVoid* m_pArcanaData_CDOTA_ArcanaDataEntity_FacelessVoid; // 0x4b0 // MNetworkEnable - CDOTA_ArcanaDataEntity_Razor* m_pArcanaData_CDOTA_ArcanaDataEntity_Razor; // 0x4a8 + CDOTA_ArcanaDataEntity_Razor* m_pArcanaData_CDOTA_ArcanaDataEntity_Razor; // 0x4b8 }; // Alignment: 2 @@ -13961,6 +14318,9 @@ struct CavernCrawlRoomID_t { public: uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CavernCrawlRoomID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 4 @@ -13981,100 +14341,100 @@ public: }; // Alignment: 38 -// Size: 0x1a10 +// Size: 0x1a20 class CIngameEvent_Base : public CBaseEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x20]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x20]; // 0x4a8 public: - bool m_bInitialized; // 0x4b8 + bool m_bInitialized; // 0x4c8 private: - [[maybe_unused]] uint8_t __pad04b9[0x3]; // 0x4b9 + [[maybe_unused]] uint8_t __pad04c9[0x3]; // 0x4c9 public: // MNetworkEnable - int32_t m_CompendiumChallengeEventID[24]; // 0x4bc + int32_t m_CompendiumChallengeEventID[24]; // 0x4cc // MNetworkEnable - int32_t m_CompendiumChallengeSequenceID[24]; // 0x51c + int32_t m_CompendiumChallengeSequenceID[24]; // 0x52c // MNetworkEnable - int32_t m_CompendiumChallengeCoinReward[24]; // 0x57c + int32_t m_CompendiumChallengeCoinReward[24]; // 0x58c // MNetworkEnable - int32_t m_CompendiumChallengeCoinSplash[24]; // 0x5dc + int32_t m_CompendiumChallengeCoinSplash[24]; // 0x5ec // MNetworkEnable - int32_t m_CompendiumChallengePointReward[24]; // 0x63c + int32_t m_CompendiumChallengePointReward[24]; // 0x64c // MNetworkEnable // MNetworkChangeCallback "OnClientPlayerChallengeProgressChanged" - bool m_CompendiumChallengeCompleted[24]; // 0x69c + bool m_CompendiumChallengeCompleted[24]; // 0x6ac // MNetworkEnable // MNetworkChangeCallback "OnClientPlayerChallengeProgressChanged" - bool m_CompendiumChallengeFailed[24]; // 0x6b4 + bool m_CompendiumChallengeFailed[24]; // 0x6c4 // MNetworkEnable // MNetworkChangeCallback "OnClientPlayerChallengeProgressChanged" - int32_t m_CompendiumChallengeProgress[24]; // 0x6cc + int32_t m_CompendiumChallengeProgress[24]; // 0x6dc // MNetworkEnable - int32_t m_QueryIDForProgress[24]; // 0x72c + int32_t m_QueryIDForProgress[24]; // 0x73c private: - [[maybe_unused]] uint8_t __pad078c[0x4]; // 0x78c + [[maybe_unused]] uint8_t __pad079c[0x4]; // 0x79c public: // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< CDOTASubChallengeInfo > m_SubChallenges; // 0x790 + CUtlVectorEmbeddedNetworkVar< CDOTASubChallengeInfo > m_SubChallenges; // 0x7a0 // MNetworkEnable // MNetworkChangeCallback "OnWagerChanged" - int32_t m_CompendiumCoinWager[10]; // 0x7e0 + int32_t m_CompendiumCoinWager[10]; // 0x7f0 // MNetworkEnable // MNetworkChangeCallback "OnWagerChanged" - itemid_t m_CompendiumTokenWagerItemID[10]; // 0x808 + itemid_t m_CompendiumTokenWagerItemID[10]; // 0x818 // MNetworkEnable // MNetworkChangeCallback "OnWagerChanged" - int32_t m_CompendiumWagerTokenBonusPct[10]; // 0x858 + int32_t m_CompendiumWagerTokenBonusPct[10]; // 0x868 // MNetworkEnable - int32_t m_CompendiumCoinWagerResults[10]; // 0x880 + int32_t m_CompendiumCoinWagerResults[10]; // 0x890 // MNetworkEnable // MNetworkChangeCallback "OnWagerChanged" - int32_t m_CompendiumRankWagers[10]; // 0x8a8 + int32_t m_CompendiumRankWagers[10]; // 0x8b8 // MNetworkEnable // MNetworkChangeCallback "OnWagerTimeChanged" - float m_flWagerTimer; // 0x8d0 + float m_flWagerTimer; // 0x8e0 // MNetworkEnable - GameTime_t m_flWagerEndTime; // 0x8d4 + GameTime_t m_flWagerEndTime; // 0x8e4 // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< CDOTA_PlayerChallengeInfo > m_CompendiumChallengeInfo; // 0x8d8 + CUtlVectorEmbeddedNetworkVar< CDOTA_PlayerChallengeInfo > m_CompendiumChallengeInfo; // 0x8e8 // MNetworkEnable // MNetworkTypeAlias "DOTA_CombatLogQueryProgress" - CUtlVectorEmbeddedNetworkVar< CDOTA_CombatLogQueryProgress > m_PlayerQueryIDs; // 0x1398 + CUtlVectorEmbeddedNetworkVar< CDOTA_CombatLogQueryProgress > m_PlayerQueryIDs; // 0x13a8 // MNetworkEnable // MNetworkChangeCallback "OnClientPlayerChallengeProgressChanged" - int32_t m_ProgressForQueryID[100]; // 0x13e8 + int32_t m_ProgressForQueryID[100]; // 0x13f8 // MNetworkEnable - int32_t m_GoalForQueryID[100]; // 0x1578 + int32_t m_GoalForQueryID[100]; // 0x1588 // MNetworkEnable - int32_t m_PlayerQuestRankPreviouslyCompleted[10]; // 0x1708 + int32_t m_PlayerQuestRankPreviouslyCompleted[10]; // 0x1718 // MNetworkEnable // MNetworkChangeCallback "OnClientPlayerQuestRankChanged" - int32_t m_PlayerQuestRankCompleted[10]; // 0x1730 + int32_t m_PlayerQuestRankCompleted[10]; // 0x1740 // MNetworkEnable - PlayerID_t m_PlayerBountyTarget[10]; // 0x1758 + PlayerID_t m_PlayerBountyTarget[10]; // 0x1768 // MNetworkEnable - GameTime_t m_flPlayerBountyTimestamp[10]; // 0x1780 + GameTime_t m_flPlayerBountyTimestamp[10]; // 0x1790 // MNetworkEnable - int32_t m_PlayerBountyCount[10]; // 0x17a8 - bool m_bHasSpentWager[10]; // 0x17d0 - bool m_bPendingWagerSpend[10]; // 0x17da - bool m_bCavernCrawlActive[24]; // 0x17e4 - CavernCrawlMapVariant_t m_nCavernCrawlMapVariant[24]; // 0x17fc - bool m_bCavernHalfCredit; // 0x1814 - bool m_bBountyReminded[24]; // 0x1815 - bool m_bBountyAnnounced[24]; // 0x182d + int32_t m_PlayerBountyCount[10]; // 0x17b8 + bool m_bHasSpentWager[10]; // 0x17e0 + bool m_bPendingWagerSpend[10]; // 0x17ea + bool m_bCavernCrawlActive[24]; // 0x17f4 + CavernCrawlMapVariant_t m_nCavernCrawlMapVariant[24]; // 0x180c + bool m_bCavernHalfCredit; // 0x1824 + bool m_bBountyReminded[24]; // 0x1825 + bool m_bBountyAnnounced[24]; // 0x183d private: - [[maybe_unused]] uint8_t __pad1845[0x3]; // 0x1845 + [[maybe_unused]] uint8_t __pad1855[0x3]; // 0x1855 public: - uint32_t m_pCavernCrawlWinnings[24]; // 0x1848 - uint32_t m_pCavernCrawlPlusShardWinnings[24]; // 0x18a8 - CUtlVector< DOTACavernCrawlMapResult_t >* m_ppVecCavernCrawlMapResult[24]; // 0x1908 - int32_t m_event_lobby_updated; // 0x19c8 + uint32_t m_pCavernCrawlWinnings[24]; // 0x1858 + uint32_t m_pCavernCrawlPlusShardWinnings[24]; // 0x18b8 + CUtlVector< DOTACavernCrawlMapResult_t >* m_ppVecCavernCrawlMapResult[24]; // 0x1918 + int32_t m_event_lobby_updated; // 0x19d8 }; // Alignment: 0 -// Size: 0x1a10 +// Size: 0x1a20 class CIngameEvent_FM2015 : public CIngameEvent_Base { public: @@ -14082,7 +14442,7 @@ public: }; // Alignment: 0 -// Size: 0x1a10 +// Size: 0x1a20 class CIngameEvent_WM2016 : public CIngameEvent_Base { public: @@ -14090,7 +14450,7 @@ public: }; // Alignment: 0 -// Size: 0x1a10 +// Size: 0x1a20 class CIngameEvent_TI6 : public CIngameEvent_Base { public: @@ -14098,7 +14458,7 @@ public: }; // Alignment: 0 -// Size: 0x1a10 +// Size: 0x1a20 class CIngameEvent_FM2016 : public CIngameEvent_Base { public: @@ -14106,7 +14466,7 @@ public: }; // Alignment: 0 -// Size: 0x1a10 +// Size: 0x1a20 class CIngameEvent_WM2017 : public CIngameEvent_Base { public: @@ -14114,7 +14474,7 @@ public: }; // Alignment: 0 -// Size: 0x1a10 +// Size: 0x1a20 class CIngameEvent_TI7 : public CIngameEvent_Base { public: @@ -14122,7 +14482,7 @@ public: }; // Alignment: 0 -// Size: 0x1a18 +// Size: 0x1a28 class CIngameEvent_TI8 : public CIngameEvent_Base { public: @@ -14130,7 +14490,7 @@ public: }; // Alignment: 0 -// Size: 0x1a10 +// Size: 0x1a20 class CIngameEvent_DotaPlus : public CIngameEvent_Base { public: @@ -14138,7 +14498,7 @@ public: }; // Alignment: 0 -// Size: 0x1a10 +// Size: 0x1a20 class CIngameEvent_DotaPrime : public CIngameEvent_Base { public: @@ -14146,7 +14506,7 @@ public: }; // Alignment: 0 -// Size: 0x1a10 +// Size: 0x1a20 class CIngameEvent_FV2018 : public CIngameEvent_Base { public: @@ -14154,7 +14514,7 @@ public: }; // Alignment: 0 -// Size: 0x1a10 +// Size: 0x1a20 class CIngameEvent_NewBloom2019 : public CIngameEvent_Base { public: @@ -14162,7 +14522,7 @@ public: }; // Alignment: 0 -// Size: 0x1a10 +// Size: 0x1a20 class CIngameEvent_TI9 : public CIngameEvent_Base { public: @@ -14170,7 +14530,7 @@ public: }; // Alignment: 0 -// Size: 0x1a10 +// Size: 0x1a20 class CIngameEvent_FV2019 : public CIngameEvent_Base { public: @@ -14178,7 +14538,7 @@ public: }; // Alignment: 0 -// Size: 0x1a10 +// Size: 0x1a20 class CIngameEvent_NB2020 : public CIngameEvent_Base { public: @@ -14186,7 +14546,7 @@ public: }; // Alignment: 0 -// Size: 0x1a10 +// Size: 0x1a20 class CIngameEvent_TI2020 : public CIngameEvent_Base { public: @@ -14194,7 +14554,7 @@ public: }; // Alignment: 0 -// Size: 0x1a18 +// Size: 0x1a28 class CIngameEvent_Diretide2020 : public CIngameEvent_Base { public: @@ -14202,7 +14562,7 @@ public: }; // Alignment: 0 -// Size: 0x1a10 +// Size: 0x1a20 class CIngameEvent_Spring2021 : public CIngameEvent_Base { public: @@ -14210,7 +14570,7 @@ public: }; // Alignment: 0 -// Size: 0x1a10 +// Size: 0x1a20 class CIngameEvent_Fall2021 : public CIngameEvent_Base { public: @@ -14218,37 +14578,45 @@ public: }; // Alignment: 0 -// Size: 0x1a10 +// Size: 0x1a20 class CIngameEvent_TI2022 : public CIngameEvent_Base { public: // No members available }; +// Alignment: 0 +// Size: 0x1a20 +class CIngameEvent_10thAnniversary : public CIngameEvent_Base +{ +public: + // No members available +}; + // Alignment: 5 -// Size: 0x1a58 +// Size: 0x1a68 class CIngameEvent_MuertaReleaseSpring2023 : public CIngameEvent_Base { public: // MNetworkEnable // MNetworkChangeCallback "OnMuertaReleaseEventMiniGameActiveChanged" - bool m_bMiniGameActive; // 0x1a10 + bool m_bMiniGameActive; // 0x1a20 // MNetworkEnable // MNetworkChangeCallback "OnMuertaReleaseEventTargetAssignmentsChanged" - int8_t m_vecTargetAssignments[10]; // 0x1a11 + int8_t m_vecTargetAssignments[10]; // 0x1a21 // MNetworkEnable // MNetworkChangeCallback "OnMuertaReleaseEventMiniGamePointsChanged" - uint8_t m_vecMiniGamePoints[10]; // 0x1a1b + uint8_t m_vecMiniGamePoints[10]; // 0x1a2b // MNetworkEnable - uint8_t m_vecMiniGameKills[10]; // 0x1a25 + uint8_t m_vecMiniGameKills[10]; // 0x1a35 private: - [[maybe_unused]] uint8_t __pad1a2f[0x11]; // 0x1a2f + [[maybe_unused]] uint8_t __pad1a3f[0x11]; // 0x1a3f public: - CUtlVector< ParticleIndex_t > m_activeGravestones; // 0x1a40 + CUtlVector< ParticleIndex_t > m_activeGravestones; // 0x1a50 }; // Alignment: 7 -// Size: 0x278 +// Size: 0x290 class CDOTA_ModifierManager { private: @@ -14257,20 +14625,17 @@ public: // MNetworkEnable CHandle< CBaseEntity > m_hModifierParent; // 0x8 private: - [[maybe_unused]] uint8_t __pad000c[0x256]; // 0xc + [[maybe_unused]] uint8_t __pad000c[0x270]; // 0xc public: - uint16_t m_nHasTruesightForTeam; // 0x262 - uint16_t m_nHasTruesightForTeamValid; // 0x264 - uint16_t m_nProvidesFOWPositionForTeam; // 0x266 - uint16_t m_nProvidesFOWPositionForTeamValid; // 0x268 -private: - [[maybe_unused]] uint8_t __pad026a[0x2]; // 0x26a -public: - int32_t m_iBuffIndex; // 0x26c - int32_t m_iLockRefCount; // 0x270 + uint16_t m_nHasTruesightForTeam; // 0x27c + uint16_t m_nHasTruesightForTeamValid; // 0x27e + uint16_t m_nProvidesFOWPositionForTeam; // 0x280 + uint16_t m_nProvidesFOWPositionForTeamValid; // 0x282 + int32_t m_iBuffIndex; // 0x284 + int32_t m_iLockRefCount; // 0x288 }; -// Alignment: 67 +// Alignment: 70 // Size: 0x1d8 class CModifierParams { @@ -14289,8 +14654,9 @@ public: bool bIgnoreBaseArmor; // 0x1a bool bReincarnate; // 0x1b bool bDoNotConsume; // 0x1c + bool bReportMax; // 0x1d private: - [[maybe_unused]] uint8_t __pad001d[0x3]; // 0x1d + [[maybe_unused]] uint8_t __pad001e[0x2]; // 0x1e public: float fDistance; // 0x20 float fGain; // 0x24 @@ -14336,20 +14702,22 @@ public: bool bBloodstoneRegenApplied; // 0x198 bool bShroudManaRestoreApplied; // 0x199 bool bPhylacteryApplied; // 0x19a - bool bIgnoreNegativeValuesIfDebuffImmune; // 0x19b - bool bIgnorePositiveValuesIfDebuffImmune; // 0x19c - bool bIgnoreAllIfDebuffImmune; // 0x19d - bool bAlsoIgnoreBuffsIfDebuffImmune; // 0x19e - bool bIgnoreLowerIfDebuffImmune; // 0x19f - float flIgnoreLowerIfDebuffImmune; // 0x1a0 - bool bIgnoreHigherIfDebuffImmune; // 0x1a4 + bool bAllowZeroDamageFromPostReductionBlock; // 0x19b + bool bForceMagicStickProc; // 0x19c + bool bIgnoreNegativeValuesIfDebuffImmune; // 0x19d + bool bIgnorePositiveValuesIfDebuffImmune; // 0x19e + bool bIgnoreAllIfDebuffImmune; // 0x19f + bool bAlsoIgnoreBuffsIfDebuffImmune; // 0x1a0 + bool bIgnoreLowerIfDebuffImmune; // 0x1a1 private: - [[maybe_unused]] uint8_t __pad01a5[0x3]; // 0x1a5 + [[maybe_unused]] uint8_t __pad01a2[0x2]; // 0x1a2 public: - float flIgnoreHigherIfDebuffImmune; // 0x1a8 + float flIgnoreLowerIfDebuffImmune; // 0x1a4 + bool bIgnoreHigherIfDebuffImmune; // 0x1a8 private: - [[maybe_unused]] uint8_t __pad01ac[0x4]; // 0x1ac + [[maybe_unused]] uint8_t __pad01a9[0x3]; // 0x1a9 public: + float flIgnoreHigherIfDebuffImmune; // 0x1ac char* pszAbilitySpecialName; // 0x1b0 int32_t nAbilitySpecialLevel; // 0x1b8 CHandle< CBaseEntity > hattacker; // 0x1bc @@ -14506,75 +14874,75 @@ public: }; // Alignment: 10 -// Size: 0x548 +// Size: 0x558 class CDOTAAppCheers : public CBaseEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x96]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x96]; // 0x4a8 public: // MNetworkEnable - int16_t m_nRadiantCheers; // 0x52e + int16_t m_nRadiantCheers; // 0x53e // MNetworkEnable - int16_t m_nRadiantBronzeCheers; // 0x530 + int16_t m_nRadiantBronzeCheers; // 0x540 // MNetworkEnable - int16_t m_nRadiantSilverCheers; // 0x532 + int16_t m_nRadiantSilverCheers; // 0x542 // MNetworkEnable - int16_t m_nRadiantGoldCheers; // 0x534 + int16_t m_nRadiantGoldCheers; // 0x544 private: - [[maybe_unused]] uint8_t __pad0536[0x2]; // 0x536 + [[maybe_unused]] uint8_t __pad0546[0x2]; // 0x546 public: // MNetworkEnable - ECrowdLevel m_nRadiantCrowdLevel; // 0x538 + ECrowdLevel m_nRadiantCrowdLevel; // 0x548 // MNetworkEnable - int16_t m_nDireCheers; // 0x53c + int16_t m_nDireCheers; // 0x54c // MNetworkEnable - int16_t m_nDireBronzeCheers; // 0x53e + int16_t m_nDireBronzeCheers; // 0x54e // MNetworkEnable - int16_t m_nDireSilverCheers; // 0x540 + int16_t m_nDireSilverCheers; // 0x550 // MNetworkEnable - int16_t m_nDireGoldCheers; // 0x542 + int16_t m_nDireGoldCheers; // 0x552 // MNetworkEnable - ECrowdLevel m_nDireCrowdLevel; // 0x544 + ECrowdLevel m_nDireCrowdLevel; // 0x554 }; // Alignment: 6 -// Size: 0x4a8 +// Size: 0x4b8 class CDOTACheers : public CBaseEntity { public: // MNetworkEnable - int16_t m_nRadiantCheers; // 0x498 + int16_t m_nRadiantCheers; // 0x4a8 // MNetworkEnable - int16_t m_nDireCheers; // 0x49a + int16_t m_nDireCheers; // 0x4aa // MNetworkEnable - int16_t m_nRadiantPremiumCheers; // 0x49c + int16_t m_nRadiantPremiumCheers; // 0x4ac // MNetworkEnable - int16_t m_nDirePremiumCheers; // 0x49e + int16_t m_nDirePremiumCheers; // 0x4ae // MNetworkEnable - ECrowdLevel m_nRadiantCrowdLevel; // 0x4a0 + ECrowdLevel m_nRadiantCrowdLevel; // 0x4b0 // MNetworkEnable - ECrowdLevel m_nDireCrowdLevel; // 0x4a4 + ECrowdLevel m_nDireCrowdLevel; // 0x4b4 }; // Alignment: 4 -// Size: 0x4a8 +// Size: 0x4b8 class CDOTA_Hero_Recorder : public CBaseEntity { public: // MNetworkEnable - bool m_bStartRecording; // 0x498 + bool m_bStartRecording; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad0499[0x3]; // 0x499 + [[maybe_unused]] uint8_t __pad04a9[0x3]; // 0x4a9 public: // MNetworkEnable - CHandle< CDOTA_BaseNPC > m_hHero; // 0x49c + CHandle< CDOTA_BaseNPC > m_hHero; // 0x4ac // MNetworkEnable - CHandle< CDOTAPlayerController > m_hPlayer; // 0x4a0 - GameTime_t m_flStartRecordingTime; // 0x4a4 + CHandle< CDOTAPlayerController > m_hPlayer; // 0x4b0 + GameTime_t m_flStartRecordingTime; // 0x4b4 }; // Alignment: 0 -// Size: 0x170 +// Size: 0x158 class CDOTAPlayer_CameraServices : public CPlayer_CameraServices { public: @@ -14582,267 +14950,274 @@ public: }; // Alignment: 0 -// Size: 0x1b8 +// Size: 0x1d0 class CDOTAPlayer_MovementServices : public CPlayer_MovementServices { public: // No members available }; -// Alignment: 40 -// Size: 0x558 +// Alignment: 42 +// Size: 0x568 class CDOTABaseAbility : public CBaseEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x8]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x8]; // 0x4a8 public: - int32_t m_iAbilityIndex; // 0x4a0 - int32_t m_nStolenActivity; // 0x4a4 - bool m_bChanneling; // 0x4a8 - bool m_bReflection; // 0x4a9 + int32_t m_iAbilityIndex; // 0x4b0 + int32_t m_nStolenActivity; // 0x4b4 + bool m_bChanneling; // 0x4b8 + bool m_bReflection; // 0x4b9 // MNetworkEnable - bool m_bRefCountsModifiers; // 0x4aa + bool m_bRefCountsModifiers; // 0x4ba private: - [[maybe_unused]] uint8_t __pad04ab[0x1]; // 0x4ab + [[maybe_unused]] uint8_t __pad04bb[0x1]; // 0x4bb public: - int32_t m_iModifierRefCount; // 0x4ac - bool m_bWantsToNeutralCast; // 0x4b0 + int32_t m_iModifierRefCount; // 0x4bc + bool m_bWantsToNeutralCast; // 0x4c0 private: - [[maybe_unused]] uint8_t __pad04b1[0x3]; // 0x4b1 + [[maybe_unused]] uint8_t __pad04c1[0x3]; // 0x4c1 public: - CHandle< CBaseEntity > m_hNeutralCastTarget; // 0x4b4 - bool m_bServerOnlyAbility; // 0x4b8 - bool m_bGrantedAbilityChargesFromScepter; // 0x4b9 - bool m_bGrantedAbilityChargesFromShard; // 0x4ba - bool m_bIsDefaultHeroAbility; // 0x4bb - bool m_bConsiderOvershootInGetCastRange; // 0x4bc + CHandle< CBaseEntity > m_hNeutralCastTarget; // 0x4c4 + bool m_bServerOnlyAbility; // 0x4c8 + bool m_bGrantedAbilityChargesFromScepter; // 0x4c9 + bool m_bGrantedAbilityChargesFromShard; // 0x4ca + bool m_bIsDefaultHeroAbility; // 0x4cb + bool m_bConsiderOvershootInGetCastRange; // 0x4cc // MNetworkEnable - bool m_bHidden; // 0x4bd + bool m_bHidden; // 0x4cd // MNetworkEnable - bool m_bActivated; // 0x4be + bool m_bActivated; // 0x4ce private: - [[maybe_unused]] uint8_t __pad04bf[0x1]; // 0x4bf + [[maybe_unused]] uint8_t __pad04cf[0x1]; // 0x4cf public: // MNetworkEnable - AbilityBarType_t m_nAbilityBarType; // 0x4c0 + AbilityBarType_t m_nAbilityBarType; // 0x4d0 // MNetworkEnable - int32_t m_iDirtyButtons; // 0x4c4 + int32_t m_iDirtyButtons; // 0x4d4 // MNetworkEnable // MNetworkPriority "32" - int32_t m_iLevel; // 0x4c8 + int32_t m_iLevel; // 0x4d8 // MNetworkEnable - bool m_bToggleState; // 0x4cc + bool m_bToggleState; // 0x4dc // MNetworkEnable // MNetworkPriority "32" - bool m_bInAbilityPhase; // 0x4cd + bool m_bInAbilityPhase; // 0x4dd private: - [[maybe_unused]] uint8_t __pad04ce[0x2]; // 0x4ce + [[maybe_unused]] uint8_t __pad04de[0x2]; // 0x4de public: // MNetworkEnable - float m_flAbilityMuteDuration; // 0x4d0 + float m_flAbilityMuteDuration; // 0x4e0 // MNetworkEnable // MNetworkPriority "32" - float m_fCooldown; // 0x4d4 + float m_fCooldown; // 0x4e4 // MNetworkEnable // MNetworkBitCount "15" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1024.000000" - float m_flCooldownLength; // 0x4d8 + float m_flCooldownLength; // 0x4e8 // MNetworkEnable // MNetworkPriority "32" - int32_t m_iManaCost; // 0x4dc + int32_t m_iManaCost; // 0x4ec // MNetworkEnable // MNetworkPriority "32" - bool m_bAutoCastState; // 0x4e0 -private: - [[maybe_unused]] uint8_t __pad04e1[0x3]; // 0x4e1 -public: - // MNetworkEnable - GameTime_t m_flChannelStartTime; // 0x4e4 - // MNetworkEnable - GameTime_t m_flCastStartTime; // 0x4e8 - // MNetworkEnable - bool m_bInIndefiniteCooldown; // 0x4ec - // MNetworkEnable - bool m_bFrozenCooldown; // 0x4ed -private: - [[maybe_unused]] uint8_t __pad04ee[0x2]; // 0x4ee -public: - // MNetworkEnable - float m_flOverrideCastPoint; // 0x4f0 - // MNetworkEnable - bool m_bStolen; // 0x4f4 - // MNetworkEnable - bool m_bReplicated; // 0x4f5 - // MNetworkEnable - bool m_bStealable; // 0x4f6 -private: - [[maybe_unused]] uint8_t __pad04f7[0x1]; // 0x4f7 -public: - // MNetworkEnable - int32_t m_nAbilityCurrentCharges; // 0x4f8 + bool m_bAutoCastState; // 0x4f0 // MNetworkEnable // MNetworkPriority "32" - float m_fAbilityChargeRestoreTimeRemaining; // 0x4fc - // MNetworkEnable - bool m_bUpgradeRecommended; // 0x500 + bool m_bAltCastState; // 0x4f1 private: - [[maybe_unused]] uint8_t __pad0501[0x3]; // 0x501 + [[maybe_unused]] uint8_t __pad04f2[0x2]; // 0x4f2 public: // MNetworkEnable - int32_t m_nMaxLevelOverride; // 0x504 - CHandle< CBaseEntity > m_hReflectionCause; // 0x508 + GameTime_t m_flChannelStartTime; // 0x4f4 + // MNetworkEnable + GameTime_t m_flCastStartTime; // 0x4f8 + // MNetworkEnable + bool m_bInIndefiniteCooldown; // 0x4fc + // MNetworkEnable + bool m_bFrozenCooldown; // 0x4fd private: - [[maybe_unused]] uint8_t __pad050c[0x24]; // 0x50c + [[maybe_unused]] uint8_t __pad04fe[0x2]; // 0x4fe public: - CHandle< CBaseEntity > m_pReflectionSourceAbility; // 0x530 + // MNetworkEnable + float m_flOverrideCastPoint; // 0x500 + // MNetworkEnable + bool m_bStolen; // 0x504 + // MNetworkEnable + bool m_bReplicated; // 0x505 + // MNetworkEnable + bool m_bStealable; // 0x506 private: - [[maybe_unused]] uint8_t __pad0534[0xc]; // 0x534 + [[maybe_unused]] uint8_t __pad0507[0x1]; // 0x507 public: - item_definition_index_t m_nBackedByEconItemIndex; // 0x540 + // MNetworkEnable + int32_t m_nAbilityCurrentCharges; // 0x508 + // MNetworkEnable + // MNetworkPriority "32" + float m_fAbilityChargeRestoreTimeRemaining; // 0x50c + // MNetworkEnable + bool m_bUpgradeRecommended; // 0x510 +private: + [[maybe_unused]] uint8_t __pad0511[0x3]; // 0x511 +public: + // MNetworkEnable + int32_t m_nMaxLevelOverride; // 0x514 + CHandle< CBaseEntity > m_hReflectionCause; // 0x518 +private: + [[maybe_unused]] uint8_t __pad051c[0x24]; // 0x51c +public: + CHandle< CBaseEntity > m_pReflectionSourceAbility; // 0x540 +private: + [[maybe_unused]] uint8_t __pad0544[0xc]; // 0x544 +public: + item_definition_index_t m_nBackedByEconItemIndex; // 0x550 +private: + [[maybe_unused]] uint8_t __pad0554[0xd]; // 0x554 +public: + bool m_bAltCastOrdered; // 0x561 }; // Alignment: 56 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item : public CDOTABaseAbility { public: - int32_t m_iState; // 0x558 - int32_t m_CastAnimation; // 0x55c + int32_t m_iState; // 0x568 + int32_t m_CastAnimation; // 0x56c // MNetworkEnable - bool m_bCombinable; // 0x560 + bool m_bCombinable; // 0x570 // MNetworkEnable // MNetworkPriority "32" - bool m_bPermanent; // 0x561 + bool m_bPermanent; // 0x571 // MNetworkEnable // MNetworkPriority "32" - bool m_bStackable; // 0x562 + bool m_bStackable; // 0x572 private: - [[maybe_unused]] uint8_t __pad0563[0x1]; // 0x563 + [[maybe_unused]] uint8_t __pad0573[0x1]; // 0x573 public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_iStackableMax; // 0x564 + int32_t m_iStackableMax; // 0x574 // MNetworkEnable - bool m_bRecipe; // 0x568 + bool m_bRecipe; // 0x578 // MNetworkEnable - bool m_bRecipeConsumesCharges; // 0x569 + bool m_bRecipeConsumesCharges; // 0x579 private: - [[maybe_unused]] uint8_t __pad056a[0x2]; // 0x56a + [[maybe_unused]] uint8_t __pad057a[0x2]; // 0x57a public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_iSharability; // 0x56c + int32_t m_iSharability; // 0x57c // MNetworkEnable - bool m_bDroppable; // 0x570 + bool m_bDroppable; // 0x580 // MNetworkEnable - bool m_bPurchasable; // 0x571 + bool m_bPurchasable; // 0x581 // MNetworkEnable - bool m_bSellable; // 0x572 + bool m_bSellable; // 0x582 // MNetworkEnable - bool m_bInitiallySellable; // 0x573 + bool m_bInitiallySellable; // 0x583 // MNetworkEnable - bool m_bForceUnsellable; // 0x574 + bool m_bForceUnsellable; // 0x584 // MNetworkEnable - bool m_bRequiresCharges; // 0x575 + bool m_bRequiresCharges; // 0x585 // MNetworkEnable - bool m_bKillable; // 0x576 + bool m_bKillable; // 0x586 // MNetworkEnable - bool m_bGloballyCombinable; // 0x577 + bool m_bGloballyCombinable; // 0x587 // MNetworkEnable - bool m_bDisassemblable; // 0x578 - bool m_bNeverDisassemble; // 0x579 - bool m_bIsTempestDoubleClonable; // 0x57a + bool m_bDisassemblable; // 0x588 + bool m_bNeverDisassemble; // 0x589 + bool m_bIsTempestDoubleClonable; // 0x58a // MNetworkEnable - bool m_bIsNeutralDrop; // 0x57b + bool m_bIsNeutralDrop; // 0x58b // MNetworkEnable - int32_t m_nNeutralDropTeam; // 0x57c + int32_t m_nNeutralDropTeam; // 0x58c // MNetworkEnable - bool m_bAlertable; // 0x580 + bool m_bAlertable; // 0x590 private: - [[maybe_unused]] uint8_t __pad0581[0x3]; // 0x581 + [[maybe_unused]] uint8_t __pad0591[0x3]; // 0x591 public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_iInitialCharges; // 0x584 + int32_t m_iInitialCharges; // 0x594 // MNetworkEnable - bool m_bCastOnPickup; // 0x588 + bool m_bCastOnPickup; // 0x598 // MNetworkEnable - bool m_bOnlyPlayerHeroPickup; // 0x589 + bool m_bOnlyPlayerHeroPickup; // 0x599 // MNetworkEnable - bool m_bCreepHeroPickup; // 0x58a + bool m_bCreepHeroPickup; // 0x59a // MNetworkEnable - bool m_bCanBeUsedOutOfInventory; // 0x58b + bool m_bCanBeUsedOutOfInventory; // 0x59b // MNetworkEnable - bool m_bItemEnabled; // 0x58c + bool m_bItemEnabled; // 0x59c private: - [[maybe_unused]] uint8_t __pad058d[0x3]; // 0x58d + [[maybe_unused]] uint8_t __pad059d[0x3]; // 0x59d public: // MNetworkEnable // MNetworkPriority "32" - GameTime_t m_flEnableTime; // 0x590 + GameTime_t m_flEnableTime; // 0x5a0 // MNetworkEnable - GameTime_t m_flReclaimTime; // 0x594 + GameTime_t m_flReclaimTime; // 0x5a4 // MNetworkEnable - bool m_bDisplayOwnership; // 0x598 + bool m_bDisplayOwnership; // 0x5a8 // MNetworkEnable - bool m_bShowOnMinimap; // 0x599 + bool m_bShowOnMinimap; // 0x5a9 private: - [[maybe_unused]] uint8_t __pad059a[0x2]; // 0x59a + [[maybe_unused]] uint8_t __pad05aa[0x2]; // 0x5aa public: // MNetworkEnable - float m_flMinimapIconSize; // 0x59c + float m_flMinimapIconSize; // 0x5ac // MNetworkEnable - bool m_bIsUpgradeable; // 0x5a0 + bool m_bIsUpgradeable; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 + [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 public: // MNetworkEnable - int32_t m_nUpgradeProgress; // 0x5a4 + int32_t m_nUpgradeProgress; // 0x5b4 // MNetworkEnable - int32_t m_nUpgradeGoal; // 0x5a8 + int32_t m_nUpgradeGoal; // 0x5b8 private: - [[maybe_unused]] uint8_t __pad05ac[0x4]; // 0x5ac + [[maybe_unused]] uint8_t __pad05bc[0x4]; // 0x5bc public: // MNetworkEnable - CNetworkUtlVectorBase< uint8 > m_vecPreGameTransferPlayerIDs; // 0x5b0 - bool m_bStackWithOtherOwners; // 0x5c8 - bool m_bTemporarilyUncombinable; // 0x5c9 - bool m_bHasCommentedOnEquip; // 0x5ca + CNetworkUtlVectorBase< uint8 > m_vecPreGameTransferPlayerIDs; // 0x5c0 + bool m_bStackWithOtherOwners; // 0x5d8 + bool m_bTemporarilyUncombinable; // 0x5d9 + bool m_bHasCommentedOnEquip; // 0x5da private: - [[maybe_unused]] uint8_t __pad05cb[0x1]; // 0x5cb + [[maybe_unused]] uint8_t __pad05db[0x1]; // 0x5db public: - int32_t m_iDeclarationFlags; // 0x5cc - bool m_bCreatedByDisassemble; // 0x5d0 - bool m_bHasMixedOwnership; // 0x5d1 - bool m_bIsClonedItemProxy; // 0x5d2 - bool m_bNeutralItemRequestDrop; // 0x5d3 + int32_t m_iDeclarationFlags; // 0x5dc + bool m_bCreatedByDisassemble; // 0x5e0 + bool m_bHasMixedOwnership; // 0x5e1 + bool m_bIsClonedItemProxy; // 0x5e2 + bool m_bNeutralItemRequestDrop; // 0x5e3 // MNetworkEnable // MNetworkPriority "32" - GameTime_t m_flPurchaseTime; // 0x5d4 + GameTime_t m_flPurchaseTime; // 0x5e4 // MNetworkEnable - GameTime_t m_flAssembledTime; // 0x5d8 + GameTime_t m_flAssembledTime; // 0x5e8 // MNetworkEnable // MNetworkPriority "32" - int32_t m_iCurrentCharges; // 0x5dc + int32_t m_iCurrentCharges; // 0x5ec // MNetworkEnable - int32_t m_iValuelessCharges; // 0x5e0 + int32_t m_iValuelessCharges; // 0x5f0 // MNetworkEnable - int32_t m_iSecondaryCharges; // 0x5e4 + int32_t m_iSecondaryCharges; // 0x5f4 // MNetworkEnable - bool m_bCombineLocked; // 0x5e8 + bool m_bCombineLocked; // 0x5f8 private: - [[maybe_unused]] uint8_t __pad05e9[0x3]; // 0x5e9 + [[maybe_unused]] uint8_t __pad05f9[0x3]; // 0x5f9 public: - CHandle< CDOTA_Item_Physical > m_hContainer; // 0x5ec + CHandle< CDOTA_Item_Physical > m_hContainer; // 0x5fc // MNetworkEnable - PlayerID_t m_iPlayerOwnerID; // 0x5f0 + PlayerID_t m_iPlayerOwnerID; // 0x600 // MNetworkEnable - bool m_bPurchasedWhileDead; // 0x5f4 + bool m_bPurchasedWhileDead; // 0x604 private: - [[maybe_unused]] uint8_t __pad05f5[0x3]; // 0x5f5 + [[maybe_unused]] uint8_t __pad0605[0x3]; // 0x605 public: - int32_t m_nCombineVersion; // 0x5f8 + int32_t m_nCombineVersion; // 0x608 }; // Alignment: 3 @@ -14907,180 +15282,182 @@ public: uint8_t m_nEnemyBarracksKilled; // 0x9 }; -// Alignment: 122 -// Size: -0x2388 +// Alignment: 121 +// Size: -0x1d90 class CDOTA_PlayerResource : public CBaseEntity { public: // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< PlayerResourcePlayerTeamData_t > m_vecPlayerTeamData; // 0x498 + CUtlVectorEmbeddedNetworkVar< PlayerResourcePlayerTeamData_t > m_vecPlayerTeamData; // 0x4a8 // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< PlayerResourcePlayerData_t > m_vecPlayerData; // 0x4e8 + CUtlVectorEmbeddedNetworkVar< PlayerResourcePlayerData_t > m_vecPlayerData; // 0x4f8 // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< PlayerResourceBroadcasterData_t > m_vecBrodcasterData; // 0x538 + CUtlVectorEmbeddedNetworkVar< PlayerResourceBroadcasterData_t > m_vecBrodcasterData; // 0x548 // MNetworkEnable - CNetworkUtlVectorBase< uint32 > m_vecEventsForDisplay; // 0x588 + CNetworkUtlVectorBase< uint32 > m_vecEventsForDisplay; // 0x598 // MNetworkEnable - int8_t m_nPrimaryEventIndex; // 0x5a0 + int8_t m_nPrimaryEventIndex; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a1[0x13]; // 0x5a1 + [[maybe_unused]] uint8_t __pad05b1[0x13]; // 0x5b1 public: - CHandle< CBaseEntity > m_playerIDToPlayer[64]; // 0x5b4 + CHandle< CBaseEntity > m_playerIDToPlayer[64]; // 0x5c4 private: - [[maybe_unused]] uint8_t __pad06b4[0x244]; // 0x6b4 + [[maybe_unused]] uint8_t __pad06c4[0x244]; // 0x6c4 public: - CUtlVector< sPendingTreeRemoval > m_vecPendingTreeRemovals; // 0x8f8 - CUtlVector< sPendingTreeModelChange > m_vecPendingTreeModelChanges; // 0x910 - float m_flClaimedFarm[24]; // 0x928 - float m_flEarnedCreepFarm[24]; // 0x988 - int32_t m_iScaledPlayerDamage[24]; // 0x9e8 - int32_t m_iScaledTowerDamage[24]; // 0xa48 - int32_t m_iScaledHealing[24]; // 0xaa8 - int32_t m_iSupportAbilityValue[24]; // 0xb08 - int32_t m_nNumMouseClickCastOrders[24]; // 0xb68 - float m_flTimeWithUnspentSkillPoints[24]; // 0xbc8 - int32_t m_iRawPlayerDamage[24]; // 0xc28 - int32_t m_iRawTowerDamage[24]; // 0xc88 - int32_t m_iRawHealing[24]; // 0xce8 - int32_t m_iRawPlayerDamageReceivedPreReduction[3][24]; // 0xd48 - int32_t m_iRawPlayerDamageReceivedPostReduction[3][24]; // 0xe68 - int32_t m_iTotalPlayerDamageMatrix[24][24]; // 0xf88 - int32_t m_iRawPlayerDamageMatrix[24][24]; // 0x1888 - int32_t m_iAssistsMatrix[24][24]; // 0x2188 - int32_t m_iTimeLastSeen[24]; // 0x2a88 - int32_t m_iTotalDisconnectedTime[24]; // 0x2ae8 - double m_dTimeLastRecieved[24]; // 0x2b48 - int32_t m_iGoldBonusEarned[24]; // 0x2c08 - int32_t m_iExperimentalGoldEarned[24]; // 0x2c68 - int32_t m_iExperimental2GoldEarned[24]; // 0x2cc8 - int32_t m_iCreepDenyGoldEarned[24]; // 0x2d28 - int32_t m_iTPScrollsPurchased[24]; // 0x2d88 + CUtlVector< sPendingTreeRemoval > m_vecPendingTreeRemovals; // 0x908 + CUtlVector< sPendingTreeModelChange > m_vecPendingTreeModelChanges; // 0x920 + float m_flClaimedFarm[24]; // 0x938 + float m_flEarnedCreepFarm[24]; // 0x998 + int32_t m_iScaledPlayerDamage[24]; // 0x9f8 + int32_t m_iScaledTowerDamage[24]; // 0xa58 + int32_t m_iScaledHealing[24]; // 0xab8 + int32_t m_iSupportAbilityValue[24]; // 0xb18 + int32_t m_nNumMouseClickCastOrders[24]; // 0xb78 + float m_flTimeWithUnspentSkillPoints[24]; // 0xbd8 + int32_t m_iRawPlayerDamage[24]; // 0xc38 + int32_t m_iRawTowerDamage[24]; // 0xc98 + int32_t m_iRawHealing[24]; // 0xcf8 + int32_t m_iRawPlayerDamageReceivedPreReduction[3][24]; // 0xd58 + int32_t m_iRawPlayerDamageReceivedPostReduction[3][24]; // 0xe78 + int32_t m_iTotalPlayerDamageMatrix[24][24]; // 0xf98 + int32_t m_iRawPlayerDamageMatrix[24][24]; // 0x1898 + int32_t m_iAssistsMatrix[24][24]; // 0x2198 + int32_t m_iTimeLastSeen[24]; // 0x2a98 + int32_t m_iTotalDisconnectedTime[24]; // 0x2af8 + double m_dTimeLastRecieved[24]; // 0x2b58 + int32_t m_iGoldBonusEarned[24]; // 0x2c18 + int32_t m_iExperimentalGoldEarned[24]; // 0x2c78 + int32_t m_iExperimental2GoldEarned[24]; // 0x2cd8 + int32_t m_iCreepDenyGoldEarned[24]; // 0x2d38 + int32_t m_iTPScrollsPurchased[24]; // 0x2d98 private: - [[maybe_unused]] uint8_t __pad2de8[0x240]; // 0x2de8 + [[maybe_unused]] uint8_t __pad2df8[0x240]; // 0x2df8 public: - 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 + int32_t m_iAegisPickups[24]; // 0x3038 + int32_t m_iTeleportsUsed[24]; // 0x3098 + int32_t m_iNumConsumablesPurchased[24]; // 0x30f8 + int32_t m_iNumItemsPurchased[24]; // 0x3158 + CUtlVector< PurchasedItem_t > m_vecItemsPurchased[24]; // 0x31b8 + float m_flTimeOfLastItemPurchase[24]; // 0x33f8 + float m_flTimeOfLastConsumablePurchase[24]; // 0x3458 + float m_flTimeOfLastDeath[24]; // 0x34b8 + int32_t m_iTowerDamageTaken[24]; // 0x3518 + int32_t m_iCreepDamageTaken[24]; // 0x3578 + int32_t m_iHeroDamageTaken[24]; // 0x35d8 + int32_t m_iTotalTowerDamageTaken[24]; // 0x3638 + int32_t m_iTotalCreepDamageTaken[24]; // 0x3698 + int32_t m_iTotalHeroDamageTaken[24]; // 0x36f8 private: - [[maybe_unused]] uint8_t __pad3748[0x240]; // 0x3748 + [[maybe_unused]] uint8_t __pad3758[0x240]; // 0x3758 public: - 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 + int32_t m_iRank[24]; // 0x3998 + bool m_bRankCalibrated[24]; // 0x39f8 + bool m_bLowPriority[24]; // 0x3a10 + bool m_bWasHeroPickDotaPlusSuggestion[24]; // 0x3a28 + bool m_bIdleInFountain[24]; // 0x3a40 + bool m_bLoggedInElsewhere[24]; // 0x3a58 + bool m_bPlayerLoadedCompletely[64]; // 0x3a70 + int32_t m_iDisconnectionReason[64]; // 0x3ab0 private: - [[maybe_unused]] uint8_t __pad6a99[0x427]; // 0x6a99 + [[maybe_unused]] uint8_t __pad3bb0[0x600]; // 0x3bb0 public: - 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 + uint64_t m_SelectedGuide[64]; // 0x41b0 + bool m_bIsUsingPlusGuide[64]; // 0x43b0 + int32_t m_iCustomTeamAssignments[24]; // 0x43f0 + CUtlVector< float32 > m_vecPlayerLevelUpTimes[24]; // 0x4450 + int32_t m_iManaSpent[64][6]; // 0x4690 + int32_t m_iNeutralOption[64][6][6]; // 0x4c90 + bool m_bLeaverAlreadyDetected; // 0x7090 private: - [[maybe_unused]] uint8_t __pad70ec[0x5c]; // 0x70ec + [[maybe_unused]] uint8_t __pad7091[0x427]; // 0x7091 public: - CUtlVector< CHandle< CDOTA_Unit_Courier > > m_hTeamCouriers[15]; // 0x7148 - CUtlVector< CHandle< CDOTA_Unit_Courier > > m_hPlayerCouriers[64]; // 0x72b0 - float m_flAvailableLaneGold[15]; // 0x78b0 + CUtlVector< TimedKillEvent_t > m_TimedKillList; // 0x74b8 + CUtlVector< TimedKillEvent_t > m_TimedAssistList; // 0x74d0 + CUtlVector< TimedKillEvent_t > m_TimedDeathList; // 0x74e8 + uint32_t m_unLastHeroPickOrder; // 0x7500 + int32_t m_iBountyGoldEarned[24]; // 0x7504 + int32_t m_iRangeCreepUpgradeGoldEarned[24]; // 0x7564 + int32_t m_iObserverWardsDestroyed[24]; // 0x75c4 + int32_t m_iReliableGoldEarned[24]; // 0x7624 + int32_t m_iGoldLossPrevented[24]; // 0x7684 private: - [[maybe_unused]] uint8_t __pad78ec[0x4]; // 0x78ec + [[maybe_unused]] uint8_t __pad76e4[0x5c]; // 0x76e4 public: - 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 + CUtlVector< CHandle< CDOTA_Unit_Courier > > m_hTeamCouriers[15]; // 0x7740 + CUtlVector< CHandle< CDOTA_Unit_Courier > > m_hPlayerCouriers[64]; // 0x78a8 + float m_flAvailableLaneGold[15]; // 0x7ea8 private: - [[maybe_unused]] uint8_t __padaa70[0x40]; // 0xaa70 + [[maybe_unused]] uint8_t __pad7ee4[0x4]; // 0x7ee4 public: - 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 + CUtlVector< DamageShareEvent_t > m_DamageShareList[24]; // 0x7ee8 + DamageShareEvent_t m_AbsorbedDamageRollup[24][25]; // 0x8128 + AbilityID_t m_playerAbilityUpgradeOrder[24][25]; // 0x9d48 + int32_t m_playerAbilityUpgradeTimes[24][25]; // 0xa6a8 + int32_t m_playerAbilityUpgradeCount[24]; // 0xb008 private: - [[maybe_unused]] uint8_t __padad30[0x17c0]; // 0xad30 + [[maybe_unused]] uint8_t __padb068[0x40]; // 0xb068 public: - float m_fNextLaneDetectionUpdate; // 0xc4f0 - float m_fNextTimedHeroStatsUpdate; // 0xc4f4 + int32_t m_fullUpdateCount[64]; // 0xb0a8 + int32_t m_iCouriersDeployed[24]; // 0xb1a8 + int32_t m_iCouriersPotentiallyKilled[24]; // 0xb208 + int32_t m_iCommandsIssued[24]; // 0xb268 + uint32_t m_hHeroSpawnGroup[24]; // 0xb2c8 private: - [[maybe_unused]] uint8_t __padc4f8[0x2a0]; // 0xc4f8 + [[maybe_unused]] uint8_t __padb328[0x17c0]; // 0xb328 public: - bool m_bInitializedLaneWaypoints; // 0xc798 + float m_fNextLaneDetectionUpdate; // 0xcae8 + float m_fNextTimedHeroStatsUpdate; // 0xcaec private: - [[maybe_unused]] uint8_t __padc799[0x757]; // 0xc799 + [[maybe_unused]] uint8_t __padcaf0[0x2a0]; // 0xcaf0 public: - uint32_t m_nLastWardSuggestionBuildingState; // 0xcef0 - uint32_t m_nLastWardSuggestionUpdateNum; // 0xcef4 - bool m_bLastWardSuggestionRoshanAlive; // 0xcef8 - bool bDoFinalPregameSuggestion[10]; // 0xcef9 + bool m_bInitializedLaneWaypoints; // 0xcd90 private: - [[maybe_unused]] uint8_t __padcf03[0x1]; // 0xcf03 + [[maybe_unused]] uint8_t __padcd91[0x757]; // 0xcd91 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][5]; // 0xcfa4 - int32_t m_hLanesSuggestion[15]; // 0xd06c - int32_t m_hWinProbabilitySuggestion; // 0xd0a8 - int32_t m_hHeroSuggestion[10]; // 0xd0ac - int32_t m_hWardLocationsSuggestion[15]; // 0xd0d4 - float m_fNextCreepDistanceUpdate; // 0xd110 - float m_fCreepDistanceSafe[15]; // 0xd114 - float m_fCreepDistanceMid[15]; // 0xd150 - float m_fCreepDistanceOff[15]; // 0xd18c - GameTime_t m_fLastSuggestionTime; // 0xd1c8 - bool m_bHasRevealedAnonymizedEnemyPlayerInfo; // 0xd1cc + uint32_t m_nLastWardSuggestionBuildingState; // 0xd4e8 + uint32_t m_nLastWardSuggestionUpdateNum; // 0xd4ec + bool m_bLastWardSuggestionRoshanAlive; // 0xd4f0 + bool bDoFinalPregameSuggestion[10]; // 0xd4f1 private: - [[maybe_unused]] uint8_t __padd1cd[0x603]; // 0xd1cd + [[maybe_unused]] uint8_t __padd4fb[0x1]; // 0xd4fb public: - PlayerID_t m_nRequestedBotPlayerID; // 0xd7d0 - float m_fNextCombatLogLocationUpdateTime; // 0xd7d4 - float m_fNextAPMUpdateTime; // 0xd7d8 + int32_t m_hAbilitiesSuggestion[10]; // 0xd4fc + int32_t m_hPregameItemsSuggestion[10]; // 0xd524 + int32_t m_hItemsSuggestion[10]; // 0xd54c + int32_t m_hTopNItemsSuggestion[10]; // 0xd574 + int32_t m_hNeutralItemsSuggestion[10][5]; // 0xd59c + int32_t m_hLanesSuggestion[15]; // 0xd664 + int32_t m_hWinProbabilitySuggestion; // 0xd6a0 + int32_t m_hHeroSuggestion[10]; // 0xd6a4 + int32_t m_hWardLocationsSuggestion[15]; // 0xd6cc + float m_fNextCreepDistanceUpdate; // 0xd708 + float m_fCreepDistanceSafe[15]; // 0xd70c + float m_fCreepDistanceMid[15]; // 0xd748 + float m_fCreepDistanceOff[15]; // 0xd784 + GameTime_t m_fLastSuggestionTime; // 0xd7c0 + bool m_bHasRevealedAnonymizedEnemyPlayerInfo; // 0xd7c4 private: - [[maybe_unused]] uint8_t __padd7dc[0x4]; // 0xd7dc + [[maybe_unused]] uint8_t __padd7c5[0x603]; // 0xd7c5 public: - CUtlVector< uint32 > m_vecPendingPlayerResourceRequests; // 0xd7e0 - int32_t m_iRampages[24]; // 0xd7f8 - int32_t m_iTripleKills[24]; // 0xd858 - int32_t m_iCouriersKilled[24]; // 0xd8b8 - int32_t m_iAegisesSnatched[24]; // 0xd918 - int32_t m_iCheesesEaten[24]; // 0xd978 - int32_t m_iRapiersPurchased[24]; // 0xd9d8 - float m_flPushingDamage[24]; // 0xda38 - int32_t m_iRoshanKillsNight[24]; // 0xda98 - int32_t m_iRoshanKillsDay[24]; // 0xdaf8 - int32_t m_iPortalsUsed[24]; // 0xdb58 - int32_t m_iWisdomRunesGained[24]; // 0xdbb8 - int32_t m_iShieldRunesGained[24]; // 0xdc18 + PlayerID_t m_nRequestedBotPlayerID; // 0xddc8 + float m_fNextCombatLogLocationUpdateTime; // 0xddcc + float m_fNextAPMUpdateTime; // 0xddd0 +private: + [[maybe_unused]] uint8_t __padddd4[0x4]; // 0xddd4 +public: + CUtlVector< uint32 > m_vecPendingPlayerResourceRequests; // 0xddd8 + int32_t m_iRampages[24]; // 0xddf0 + int32_t m_iTripleKills[24]; // 0xde50 + int32_t m_iCouriersKilled[24]; // 0xdeb0 + int32_t m_iAegisesSnatched[24]; // 0xdf10 + int32_t m_iCheesesEaten[24]; // 0xdf70 + int32_t m_iRapiersPurchased[24]; // 0xdfd0 + float m_flPushingDamage[24]; // 0xe030 + int32_t m_iRoshanKillsNight[24]; // 0xe090 + int32_t m_iRoshanKillsDay[24]; // 0xe0f0 + int32_t m_iPortalsUsed[24]; // 0xe150 + int32_t m_iWisdomRunesGained[24]; // 0xe1b0 + int32_t m_iShieldRunesGained[24]; // 0xe210 // 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);}; @@ -15229,8 +15606,8 @@ public: int32_t m_nEntIndex; // 0x34 }; -// Alignment: 63 -// Size: 0x1f0 +// Alignment: 62 +// Size: 0x1e8 struct PlayerResourcePlayerTeamData_t { private: @@ -15271,137 +15648,132 @@ public: // MNetworkChangeCallback "OnSelectionDirty" bool m_bBanSuggestedHeroes[4]; // 0xdc // MNetworkEnable - bool m_bVoiceChatBanned; // 0xe0 + item_definition_index_t m_iTimedRewardDrops; // 0xe0 + // MNetworkEnable + int32_t m_iTimedRewardDropOrigins; // 0xe4 + // MNetworkEnable + item_definition_index_t m_iTimedRewardCrates; // 0xe8 + // MNetworkEnable + item_definition_index_t m_iTimedRewardEvents; // 0xec + // MNetworkEnable + uint16_t m_unCompendiumLevel; // 0xf0 + // MNetworkEnable + bool m_bCanRepick; // 0xf2 + // MNetworkEnable + bool m_bCanEarnRewards; // 0xf3 + // MNetworkEnable + bool m_bHasRandomed; // 0xf4 private: - [[maybe_unused]] uint8_t __pad00e1[0x3]; // 0xe1 + [[maybe_unused]] uint8_t __pad00f5[0x3]; // 0xf5 public: // MNetworkEnable - item_definition_index_t m_iTimedRewardDrops; // 0xe4 + int32_t m_nRandomedHeroID; // 0xf8 // MNetworkEnable - int32_t m_iTimedRewardDropOrigins; // 0xe8 - // MNetworkEnable - item_definition_index_t m_iTimedRewardCrates; // 0xec - // MNetworkEnable - item_definition_index_t m_iTimedRewardEvents; // 0xf0 - // MNetworkEnable - uint16_t m_unCompendiumLevel; // 0xf4 - // MNetworkEnable - bool m_bCanRepick; // 0xf6 - // MNetworkEnable - bool m_bCanEarnRewards; // 0xf7 - // MNetworkEnable - bool m_bHasRandomed; // 0xf8 + bool m_bBattleBonusActive; // 0xfc private: - [[maybe_unused]] uint8_t __pad00f9[0x3]; // 0xf9 + [[maybe_unused]] uint8_t __pad00fd[0x1]; // 0xfd public: // MNetworkEnable - int32_t m_nRandomedHeroID; // 0xfc + uint16_t m_iBattleBonusRate; // 0xfe // MNetworkEnable - bool m_bBattleBonusActive; // 0x100 + int32_t m_iCustomBuybackCost; // 0x100 + // MNetworkEnable + Color m_CustomPlayerColor; // 0x104 + // MNetworkEnable + bool m_bQualifiesForPAContractReward; // 0x108 + // MNetworkEnable + bool m_bHasPredictedVictory; // 0x109 private: - [[maybe_unused]] uint8_t __pad0101[0x1]; // 0x101 + [[maybe_unused]] uint8_t __pad010a[0x2]; // 0x10a public: // MNetworkEnable - uint16_t m_iBattleBonusRate; // 0x102 - // MNetworkEnable - int32_t m_iCustomBuybackCost; // 0x104 - // MNetworkEnable - Color m_CustomPlayerColor; // 0x108 - // MNetworkEnable - bool m_bQualifiesForPAContractReward; // 0x10c - // MNetworkEnable - bool m_bHasPredictedVictory; // 0x10d -private: - [[maybe_unused]] uint8_t __pad010e[0x2]; // 0x10e -public: - // MNetworkEnable - int32_t m_UnitShareMasks; // 0x110 + int32_t m_UnitShareMasks; // 0x10c // MNetworkEnable // MNetworkChangeCallback "OnTeamChanged" - int32_t m_iTeamSlot; // 0x114 + int32_t m_iTeamSlot; // 0x110 // MNetworkEnable - uint8_t m_iBattleCupWinStreak; // 0x118 + uint8_t m_iBattleCupWinStreak; // 0x114 private: - [[maybe_unused]] uint8_t __pad0119[0x7]; // 0x119 + [[maybe_unused]] uint8_t __pad0115[0x3]; // 0x115 public: // MNetworkEnable - uint64_t m_iBattleCupWinDate; // 0x120 + uint64_t m_iBattleCupWinDate; // 0x118 // MNetworkEnable - uint16_t m_iBattleCupSkillLevel; // 0x128 + uint16_t m_iBattleCupSkillLevel; // 0x120 private: - [[maybe_unused]] uint8_t __pad012a[0x2]; // 0x12a + [[maybe_unused]] uint8_t __pad0122[0x2]; // 0x122 public: // MNetworkEnable - uint32_t m_iBattleCupTeamID; // 0x12c + uint32_t m_iBattleCupTeamID; // 0x124 // MNetworkEnable - uint32_t m_iBattleCupTournamentID; // 0x130 + uint32_t m_iBattleCupTournamentID; // 0x128 // MNetworkEnable - uint8_t m_iBattleCupDivision; // 0x134 + uint8_t m_iBattleCupDivision; // 0x12c private: - [[maybe_unused]] uint8_t __pad0135[0x3]; // 0x135 + [[maybe_unused]] uint8_t __pad012d[0x3]; // 0x12d public: // MNetworkEnable - float m_flTeamFightParticipation; // 0x138 + float m_flTeamFightParticipation; // 0x130 // MNetworkEnable - int32_t m_iFirstBloodClaimed; // 0x13c + int32_t m_iFirstBloodClaimed; // 0x134 // MNetworkEnable - int32_t m_iFirstBloodGiven; // 0x140 + int32_t m_iFirstBloodGiven; // 0x138 // MNetworkEnable - uint32_t m_unPickOrder; // 0x144 + uint32_t m_unPickOrder; // 0x13c // MNetworkEnable - GameTime_t m_flTimeOfLastSaluteSent; // 0x148 + GameTime_t m_flTimeOfLastSaluteSent; // 0x140 private: - [[maybe_unused]] uint8_t __pad014c[0x4]; // 0x14c + [[maybe_unused]] uint8_t __pad0144[0x4]; // 0x144 public: // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< PlayerResourcePlayerEventData_t > m_vecPlayerEventData; // 0x150 + CUtlVectorEmbeddedNetworkVar< PlayerResourcePlayerEventData_t > m_vecPlayerEventData; // 0x148 // MNetworkEnable - uint32_t m_unSelectedHeroBadgeXP; // 0x1c0 + uint32_t m_unSelectedHeroBadgeXP; // 0x1b8 // MNetworkEnable - uint8_t m_iBountyRunes; // 0x1c4 + uint8_t m_iBountyRunes; // 0x1bc // MNetworkEnable - uint8_t m_iPowerRunes; // 0x1c5 + uint8_t m_iPowerRunes; // 0x1bd // MNetworkEnable - uint8_t m_iWaterRunes; // 0x1c6 + uint8_t m_iWaterRunes; // 0x1be // MNetworkEnable - uint8_t m_iOutpostsCaptured; // 0x1c7 + uint8_t m_iOutpostsCaptured; // 0x1bf // MNetworkEnable - uint8_t m_unGuildTier; // 0x1c8 + uint8_t m_unGuildTier; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01c9[0x1]; // 0x1c9 + [[maybe_unused]] uint8_t __pad01c1[0x1]; // 0x1c1 public: // MNetworkEnable - uint16_t m_unGuildLevel; // 0x1ca + uint16_t m_unGuildLevel; // 0x1c2 // MNetworkEnable - uint8_t m_unGuildPrimaryColor; // 0x1cc + uint8_t m_unGuildPrimaryColor; // 0x1c4 // MNetworkEnable - uint8_t m_unGuildSecondaryColor; // 0x1cd + uint8_t m_unGuildSecondaryColor; // 0x1c5 // MNetworkEnable - uint8_t m_unGuildPattern; // 0x1ce + uint8_t m_unGuildPattern; // 0x1c6 private: - [[maybe_unused]] uint8_t __pad01cf[0x1]; // 0x1cf + [[maybe_unused]] uint8_t __pad01c7[0x1]; // 0x1c7 public: // MNetworkEnable - uint64_t m_unGuildLogo; // 0x1d0 + uint64_t m_unGuildLogo; // 0x1c8 // MNetworkEnable - uint32_t m_unGuildFlags; // 0x1d8 + uint32_t m_unGuildFlags; // 0x1d0 // MNetworkEnable - bool m_bIsPartyGuild; // 0x1dc + bool m_bIsPartyGuild; // 0x1d4 private: - [[maybe_unused]] uint8_t __pad01dd[0x3]; // 0x1dd + [[maybe_unused]] uint8_t __pad01d5[0x3]; // 0x1d5 public: // MNetworkEnable - GuildID_t m_unGuildID; // 0x1e0 + GuildID_t m_unGuildID; // 0x1d8 // MNetworkEnable - item_definition_index_t m_unHeroStickerDefIndex; // 0x1e4 + item_definition_index_t m_unHeroStickerDefIndex; // 0x1dc // MNetworkEnable - uint8_t m_eHeroStickerQuality; // 0x1e8 + uint8_t m_eHeroStickerQuality; // 0x1e0 // MNetworkEnable - uint8_t m_eLaneSelectionFlags; // 0x1e9 + uint8_t m_eLaneSelectionFlags; // 0x1e1 // MNetworkEnable - uint8_t m_nPlayerDraftPreferredRoles; // 0x1ea + uint8_t m_nPlayerDraftPreferredRoles; // 0x1e2 // MNetworkEnable - int8_t m_nPlayerDraftPreferredTeam; // 0x1eb + int8_t m_nPlayerDraftPreferredTeam; // 0x1e3 }; // Alignment: 1 @@ -15410,6 +15782,9 @@ struct CavernCrawlMapVariant_t { public: uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CavernCrawlMapVariant_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 3 @@ -15642,59 +16017,59 @@ public: }; // Alignment: 21 -// Size: 0x13b0 +// Size: 0x13c0 class CDOTA_DataNonSpectator : public CBaseEntity { public: // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< DataTeamPlayer_t > m_vecDataTeam; // 0x498 + CUtlVectorEmbeddedNetworkVar< DataTeamPlayer_t > m_vecDataTeam; // 0x4a8 // MNetworkEnable // MNetworkEncoder - uint64_t m_bWorldTreeState[256]; // 0x4e8 + uint64_t m_bWorldTreeState[256]; // 0x4f8 // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< TreeModelReplacement_t > m_vecWorldTreeModelReplacements; // 0xce8 + CUtlVectorEmbeddedNetworkVar< TreeModelReplacement_t > m_vecWorldTreeModelReplacements; // 0xcf8 // MNetworkEnable - Vector2D m_vDesiredWardPlacement[2]; // 0xd38 + Vector2D m_vDesiredWardPlacement[2]; // 0xd48 // MNetworkEnable - int32_t m_nEnemyStartingPosition[5]; // 0xd48 + int32_t m_nEnemyStartingPosition[5]; // 0xd58 // MNetworkEnable - int32_t m_nCaptainInspectedHeroID; // 0xd5c + int32_t m_nCaptainInspectedHeroID; // 0xd6c // MNetworkEnable - float m_flSuggestedWardWeights[20]; // 0xd60 + float m_flSuggestedWardWeights[20]; // 0xd70 // MNetworkEnable - uint8_t m_nSuggestedWardIndexes[20]; // 0xdb0 + uint8_t m_nSuggestedWardIndexes[20]; // 0xdc0 // MNetworkEnable - int32_t m_iSuggestedLanes[5]; // 0xdc4 + int32_t m_iSuggestedLanes[5]; // 0xdd4 // MNetworkEnable - float m_iSuggestedLaneWeights[5]; // 0xdd8 + float m_iSuggestedLaneWeights[5]; // 0xde8 // MNetworkEnable - bool m_bSuggestedLaneRoam[5]; // 0xdec + bool m_bSuggestedLaneRoam[5]; // 0xdfc // MNetworkEnable - bool m_bSuggestedLaneJungle[5]; // 0xdf1 + bool m_bSuggestedLaneJungle[5]; // 0xe01 private: - [[maybe_unused]] uint8_t __pad0df6[0x2]; // 0xdf6 + [[maybe_unused]] uint8_t __pad0e06[0x2]; // 0xe06 public: // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< TierNeutralInfo_t > m_vecNeutralItemsTierInfo; // 0xdf8 + CUtlVectorEmbeddedNetworkVar< TierNeutralInfo_t > m_vecNeutralItemsTierInfo; // 0xe08 // MNetworkEnable - CNetworkUtlVectorBase< AbilityID_t > m_vecNeutralItemsEarned; // 0xe48 + CNetworkUtlVectorBase< AbilityID_t > m_vecNeutralItemsEarned; // 0xe58 // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_vecNeutralStashItems; // 0xe60 + CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_vecNeutralStashItems; // 0xe70 // MNetworkEnable - CNetworkUtlVectorBase< AbilityID_t > m_vecNeutralItemsConsumed; // 0xe78 + CNetworkUtlVectorBase< AbilityID_t > m_vecNeutralItemsConsumed; // 0xe88 // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< PingConfirmationState_t > m_PingConfirmationStates; // 0xe90 + CUtlVectorEmbeddedNetworkVar< PingConfirmationState_t > m_PingConfirmationStates; // 0xea0 // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_vecKnownClearCamps; // 0xee0 + CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_vecKnownClearCamps; // 0xef0 // MNetworkEnable - Vector2D m_vPossibleWardPlacement[100]; // 0xef8 + Vector2D m_vPossibleWardPlacement[100]; // 0xf08 // MNetworkEnable - float m_vPossibleWardRadii[100]; // 0x1218 - int32_t m_iTowerKills; // 0x13a8 + float m_vPossibleWardRadii[100]; // 0x1228 + int32_t m_iTowerKills; // 0x13b8 }; // Alignment: 0 -// Size: 0x13b0 +// Size: 0x13c0 class CDOTA_DataRadiant : public CDOTA_DataNonSpectator { public: @@ -15702,7 +16077,7 @@ public: }; // Alignment: 0 -// Size: 0x13b0 +// Size: 0x13c0 class CDOTA_DataDire : public CDOTA_DataNonSpectator { public: @@ -15710,7 +16085,7 @@ public: }; // Alignment: 0 -// Size: 0x13b0 +// Size: 0x13c0 class CDOTA_DataCustomTeam : public CDOTA_DataNonSpectator { public: @@ -15718,39 +16093,39 @@ public: }; // Alignment: 11 -// Size: 0x1488 +// Size: 0x1498 class CDOTA_DataSpectator : public CDOTA_DataNonSpectator { public: // MNetworkEnable - CHandle< CBaseEntity > m_hPowerupRune_1; // 0x13b0 + CHandle< CBaseEntity > m_hPowerupRune_1; // 0x13c0 // MNetworkEnable - CHandle< CBaseEntity > m_hPowerupRune_2; // 0x13b4 + CHandle< CBaseEntity > m_hPowerupRune_2; // 0x13c4 // MNetworkEnable - CHandle< CBaseEntity > m_hBountyRune_1; // 0x13b8 + CHandle< CBaseEntity > m_hBountyRune_1; // 0x13c8 // MNetworkEnable - CHandle< CBaseEntity > m_hBountyRune_2; // 0x13bc + CHandle< CBaseEntity > m_hBountyRune_2; // 0x13cc // MNetworkEnable - CHandle< CBaseEntity > m_hBountyRune_3; // 0x13c0 + CHandle< CBaseEntity > m_hBountyRune_3; // 0x13d0 // MNetworkEnable - CHandle< CBaseEntity > m_hBountyRune_4; // 0x13c4 + CHandle< CBaseEntity > m_hBountyRune_4; // 0x13d4 // MNetworkEnable - CHandle< CBaseEntity > m_hXPRune_1; // 0x13c8 + CHandle< CBaseEntity > m_hXPRune_1; // 0x13d8 // MNetworkEnable - CHandle< CBaseEntity > m_hXPRune_2; // 0x13cc + CHandle< CBaseEntity > m_hXPRune_2; // 0x13dc // MNetworkEnable - int32_t m_iNetWorth[24]; // 0x13d0 + int32_t m_iNetWorth[24]; // 0x13e0 // MNetworkEnable - float m_fRadiantWinProbability; // 0x1430 + float m_fRadiantWinProbability; // 0x1440 private: - [[maybe_unused]] uint8_t __pad1434[0x4]; // 0x1434 + [[maybe_unused]] uint8_t __pad1444[0x4]; // 0x1444 public: // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< DOTAThreatLevelInfo_t > m_ThreatLevelInfos; // 0x1438 + CUtlVectorEmbeddedNetworkVar< DOTAThreatLevelInfo_t > m_ThreatLevelInfos; // 0x1448 }; // Alignment: 0 -// Size: 0x4c0 +// Size: 0x4d0 class CDOTA_MapTree : public CDOTA_BinaryObject { public: @@ -15777,22 +16152,22 @@ public: }; // Alignment: 4 -// Size: 0x4f8 +// Size: 0x508 class CDOTAInGamePredictionState : public CBaseEntity { public: // MNetworkEnable - bool m_bVotingClosed; // 0x498 + bool m_bVotingClosed; // 0x4a8 // MNetworkEnable // MNetworkChangeCallback "OnAllPredictionsFinished" - bool m_bAllPredictionsFinished; // 0x499 + bool m_bAllPredictionsFinished; // 0x4a9 private: - [[maybe_unused]] uint8_t __pad049a[0x6]; // 0x49a + [[maybe_unused]] uint8_t __pad04aa[0x6]; // 0x4aa public: // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< InGamePredictionData_t > m_vecPredictions; // 0x4a0 + CUtlVectorEmbeddedNetworkVar< InGamePredictionData_t > m_vecPredictions; // 0x4b0 // MNetworkEnable - LeagueID_t m_nLeagueID; // 0x4f0 + LeagueID_t m_nLeagueID; // 0x500 }; // Alignment: 1 @@ -15830,56 +16205,56 @@ public: }; // Alignment: 1 -// Size: 0x510 +// Size: 0x520 class CFilterDotaEntities : public CBaseFilter { public: - CDotaEntityFilterFlags m_FilterFlags; // 0x4f0 + CDotaEntityFilterFlags m_FilterFlags; // 0x500 }; // Alignment: 1 -// Size: 0x4a0 +// Size: 0x4b0 class CDotaParticleRelay : public CBaseEntity { public: - CUtlSymbolLarge m_particleSystemName; // 0x498 + CUtlSymbolLarge m_particleSystemName; // 0x4a8 }; // Alignment: 11 -// Size: 0xc28 +// Size: 0xc38 class CDotaTutorialNetworker : public CBaseEntity { public: // MNetworkEnable - int32_t m_nTutorialState; // 0x498 + int32_t m_nTutorialState; // 0x4a8 // MNetworkEnable - int32_t m_nTaskProgress; // 0x49c + int32_t m_nTaskProgress; // 0x4ac // MNetworkEnable - int32_t m_nTaskSteps; // 0x4a0 + int32_t m_nTaskSteps; // 0x4b0 // MNetworkEnable - int32_t m_nTaskSecondsRemianing; // 0x4a4 + int32_t m_nTaskSecondsRemianing; // 0x4b4 // MNetworkEnable - int32_t m_nUIState; // 0x4a8 + int32_t m_nUIState; // 0x4b8 // MNetworkEnable - int32_t m_nShopState; // 0x4ac + int32_t m_nShopState; // 0x4bc // MNetworkEnable - Vector m_TargetLocation; // 0x4b0 + Vector m_TargetLocation; // 0x4c0 private: - [[maybe_unused]] uint8_t __pad04bc[0x4]; // 0x4bc + [[maybe_unused]] uint8_t __pad04cc[0x4]; // 0x4cc public: // MNetworkEnable // MNetworkTypeAlias "m_SpeechBubbles" - CUtlVectorEmbeddedNetworkVar< CSpeechBubbleInfo > m_SpeechBubbles; // 0x4c0 + CUtlVectorEmbeddedNetworkVar< CSpeechBubbleInfo > m_SpeechBubbles; // 0x4d0 // MNetworkEnable - int32_t m_nLocationID; // 0xa20 + int32_t m_nLocationID; // 0xa30 // MNetworkEnable - char m_GuideStr[256]; // 0xa24 + char m_GuideStr[256]; // 0xa34 // MNetworkEnable - char m_QuickBuyStr[256]; // 0xb24 + char m_QuickBuyStr[256]; // 0xb34 }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CDotaQuestBase : public CBaseEntity { public: @@ -15887,147 +16262,147 @@ public: }; // Alignment: 9 -// Size: 0x6f0 +// Size: 0x700 class CDotaSubquestBase : public CBaseEntity { public: // MNetworkEnable - char m_pszSubquestText[256]; // 0x498 + char m_pszSubquestText[256]; // 0x4a8 // MNetworkEnable - bool m_bHidden; // 0x598 + bool m_bHidden; // 0x5a8 // MNetworkEnable - bool m_bCompleted; // 0x599 + bool m_bCompleted; // 0x5a9 // MNetworkEnable - bool m_bShowProgressBar; // 0x59a + bool m_bShowProgressBar; // 0x5aa private: - [[maybe_unused]] uint8_t __pad059b[0x1]; // 0x59b + [[maybe_unused]] uint8_t __pad05ab[0x1]; // 0x5ab public: // MNetworkEnable - int32_t m_nProgressBarHueShift; // 0x59c + int32_t m_nProgressBarHueShift; // 0x5ac // MNetworkEnable - int32_t m_pnTextReplaceValuesCDotaSubquestBase[2]; // 0x5a0 + int32_t m_pnTextReplaceValuesCDotaSubquestBase[2]; // 0x5b0 // MNetworkEnable - char m_pszTextReplaceString[64]; // 0x5a8 + char m_pszTextReplaceString[64]; // 0x5b8 // MNetworkEnable - int32_t m_nTextReplaceValueVersion; // 0x5e8 - char m_pszSubquestName[256]; // 0x5ec + int32_t m_nTextReplaceValueVersion; // 0x5f8 + char m_pszSubquestName[256]; // 0x5fc }; // Alignment: 14 -// Size: 0x918 +// Size: 0x928 class CDotaQuest : public CBaseEntity { public: // MNetworkEnable - char m_pszQuestTitle[256]; // 0x498 + char m_pszQuestTitle[256]; // 0x4a8 // MNetworkEnable - char m_pszQuestText[256]; // 0x598 + char m_pszQuestText[256]; // 0x5a8 // MNetworkEnable - int32_t m_nQuestType; // 0x698 + int32_t m_nQuestType; // 0x6a8 // MNetworkEnable - CHandle< CDotaSubquestBase > m_hSubquests[8]; // 0x69c + CHandle< CDotaSubquestBase > m_hSubquests[8]; // 0x6ac // MNetworkEnable - bool m_bHidden; // 0x6bc + bool m_bHidden; // 0x6cc // MNetworkEnable - bool m_bCompleted; // 0x6bd + bool m_bCompleted; // 0x6cd // MNetworkEnable - bool m_bWinIfCompleted; // 0x6be + bool m_bWinIfCompleted; // 0x6ce // MNetworkEnable - bool m_bLoseIfCompleted; // 0x6bf + bool m_bLoseIfCompleted; // 0x6cf // MNetworkEnable - char m_pszGameEndText[256]; // 0x6c0 + char m_pszGameEndText[256]; // 0x6d0 // MNetworkEnable - int32_t m_pnTextReplaceValuesCDotaQuest[4]; // 0x7c0 + int32_t m_pnTextReplaceValuesCDotaQuest[4]; // 0x7d0 // MNetworkEnable - char m_pszTextReplaceString[64]; // 0x7d0 + char m_pszTextReplaceString[64]; // 0x7e0 // MNetworkEnable - int32_t m_nTextReplaceValueVersion; // 0x810 - int32_t m_nQuestCompleteFadeAlpha; // 0x814 - char m_pszQuestName[256]; // 0x818 + int32_t m_nTextReplaceValueVersion; // 0x820 + int32_t m_nQuestCompleteFadeAlpha; // 0x824 + char m_pszQuestName[256]; // 0x828 }; // Alignment: 1 -// Size: 0x708 +// Size: 0x718 class CDotaSubquestBuyItems : public CDotaSubquestBase { public: - CUtlVector< char* > m_itemList; // 0x6f0 + CUtlVector< char* > m_itemList; // 0x700 +}; + +// Alignment: 1 +// Size: 0x718 +class CDotaSubquestEntityDeath : public CDotaSubquestBase +{ +public: + CUtlVector< CUtlSymbolLarge > m_entityNameList; // 0x700 }; // Alignment: 1 // Size: 0x708 -class CDotaSubquestEntityDeath : public CDotaSubquestBase -{ -public: - CUtlVector< CUtlSymbolLarge > m_entityNameList; // 0x6f0 -}; - -// Alignment: 1 -// Size: 0x6f8 class CDotaSubquestTutorialEvent : public CDotaSubquestBase { public: - CUtlSymbolLarge m_sTutorialEvent; // 0x6f0 + CUtlSymbolLarge m_sTutorialEvent; // 0x700 }; // Alignment: 3 -// Size: 0x700 +// Size: 0x710 class CDotaSubquestPlayerStat : public CDotaSubquestBase { public: - subquest_player_stat_types_t m_ePlayerStatType; // 0x6f0 - int32_t m_nPlayerStatValue; // 0x6f4 - int32_t m_nStartingStatOffset; // 0x6f8 + subquest_player_stat_types_t m_ePlayerStatType; // 0x700 + int32_t m_nPlayerStatValue; // 0x704 + int32_t m_nStartingStatOffset; // 0x708 }; // Alignment: 4 -// Size: 0x700 +// Size: 0x710 class CDotaSubquestAbilityCastCount : public CDotaSubquestBase { public: - int32_t m_sAbilityNameSymbol; // 0x6f0 - int32_t m_nTargetCastCount; // 0x6f4 - int32_t m_nCurrentCastCount; // 0x6f8 - bool m_bRequiresChannelSuccess; // 0x6fc + int32_t m_sAbilityNameSymbol; // 0x700 + int32_t m_nTargetCastCount; // 0x704 + int32_t m_nCurrentCastCount; // 0x708 + bool m_bRequiresChannelSuccess; // 0x70c }; // Alignment: 7 -// Size: 0x4b0 +// Size: 0x4c0 class CDotaTutorialNPCBlocker : public CBaseEntity { public: - CHandle< CDOTA_BaseNPC > m_hAura; // 0x498 + CHandle< CDOTA_BaseNPC > m_hAura; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad049c[0x4]; // 0x49c + [[maybe_unused]] uint8_t __pad04ac[0x4]; // 0x4ac public: - CUtlSymbolLarge m_iOtherBlockerName; // 0x4a0 - CHandle< CBaseEntity > m_hOtherBlocker; // 0x4a8 - bool m_bEndPoint; // 0x4ac - bool m_bEnabled; // 0x4ad - bool m_bStartDisabled; // 0x4ae - bool m_bHidden; // 0x4af + CUtlSymbolLarge m_iOtherBlockerName; // 0x4b0 + CHandle< CBaseEntity > m_hOtherBlocker; // 0x4b8 + bool m_bEndPoint; // 0x4bc + bool m_bEnabled; // 0x4bd + bool m_bStartDisabled; // 0x4be + bool m_bHidden; // 0x4bf }; // Alignment: 2 -// Size: 0x4b0 +// Size: 0x4c0 class CDOTACameraBounds : public CBaseEntity { public: // MNetworkEnable - Vector m_vecBoundsMin; // 0x498 + Vector m_vecBoundsMin; // 0x4a8 // MNetworkEnable - Vector m_vecBoundsMax; // 0x4a4 + Vector m_vecBoundsMax; // 0x4b4 }; // Alignment: 2 -// Size: 0xa00 +// Size: 0xa10 class CSpeechBubbleManager : public CBaseEntity { public: // MNetworkEnable // MNetworkTypeAlias "m_SpeechBubbles" - CUtlVectorEmbeddedNetworkVar< CSpeechBubbleInfo > m_SpeechBubbles; // 0x498 - uint16_t m_unBubbleCount; // 0x9f8 + CUtlVectorEmbeddedNetworkVar< CSpeechBubbleInfo > m_SpeechBubbles; // 0x4a8 + uint16_t m_unBubbleCount; // 0xa08 }; // Alignment: 0 @@ -16039,7 +16414,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CFoWBlockerEntity : public CBaseEntity { public: @@ -16047,12 +16422,12 @@ public: }; // Alignment: 2 -// Size: 0x4a0 +// Size: 0x4b0 class CFoWRevealerEntity : public CBaseEntity { public: - uint32_t m_unViewerTeam; // 0x498 - int32_t m_nVisionRange; // 0x49c + uint32_t m_unViewerTeam; // 0x4a8 + int32_t m_nVisionRange; // 0x4ac }; // Alignment: 6 @@ -16077,26 +16452,26 @@ public: }; // Alignment: 6 -// Size: 0x500 +// Size: 0x510 class CFoWBlockerRegion : public CBaseEntity { public: // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< FowBlocker_t > m_vecFowBlockers; // 0x498 + CUtlVectorEmbeddedNetworkVar< FowBlocker_t > m_vecFowBlockers; // 0x4a8 // MNetworkEnable - float m_flMinX; // 0x4e8 + float m_flMinX; // 0x4f8 // MNetworkEnable - float m_flMaxX; // 0x4ec + float m_flMaxX; // 0x4fc // MNetworkEnable - float m_flMinY; // 0x4f0 + float m_flMinY; // 0x500 // MNetworkEnable - float m_flMaxY; // 0x4f4 + float m_flMaxY; // 0x504 // MNetworkEnable - float m_flGridSize; // 0x4f8 + float m_flGridSize; // 0x508 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AttributeBonus : public CDOTABaseAbility { public: @@ -16104,7 +16479,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Base : public CDOTABaseAbility { public: @@ -16112,7 +16487,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Undefined : public CDOTABaseAbility { public: @@ -16120,7 +16495,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Gold_Ability_Draft : public CDOTABaseAbility { public: @@ -16128,7 +16503,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Gold_lvl15_r : public CDOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: @@ -16136,7 +16511,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Gold_lvl20_r : public CDOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: @@ -16144,7 +16519,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Gold_lvl25_r : public CDOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: @@ -16152,7 +16527,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Gold_lvl10_l : public CDOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: @@ -16160,7 +16535,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Gold_lvl15_l : public CDOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: @@ -16168,7 +16543,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Gold_lvl20_l : public CDOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: @@ -16176,7 +16551,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Gold_lvl25_l : public CDOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: @@ -16184,7 +16559,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_100 : public CDOTABaseAbility { public: @@ -16192,7 +16567,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_125 : public CDOTABaseAbility { public: @@ -16200,7 +16575,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_150 : public CDOTABaseAbility { public: @@ -16208,7 +16583,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_175 : public CDOTABaseAbility { public: @@ -16216,7 +16591,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_200 : public CDOTABaseAbility { public: @@ -16224,7 +16599,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_225 : public CDOTABaseAbility { public: @@ -16232,7 +16607,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_250 : public CDOTABaseAbility { public: @@ -16240,7 +16615,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_275 : public CDOTABaseAbility { public: @@ -16248,7 +16623,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_300 : public CDOTABaseAbility { public: @@ -16256,7 +16631,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_325 : public CDOTABaseAbility { public: @@ -16264,7 +16639,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_350 : public CDOTABaseAbility { public: @@ -16272,7 +16647,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_375 : public CDOTABaseAbility { public: @@ -16280,7 +16655,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_400 : public CDOTABaseAbility { public: @@ -16288,7 +16663,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_450 : public CDOTABaseAbility { public: @@ -16296,7 +16671,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_475 : public CDOTABaseAbility { public: @@ -16304,7 +16679,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_500 : public CDOTABaseAbility { public: @@ -16312,7 +16687,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_600 : public CDOTABaseAbility { public: @@ -16320,7 +16695,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_650 : public CDOTABaseAbility { public: @@ -16328,7 +16703,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_700 : public CDOTABaseAbility { public: @@ -16336,7 +16711,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_800 : public CDOTABaseAbility { public: @@ -16344,7 +16719,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_900 : public CDOTABaseAbility { public: @@ -16352,7 +16727,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_1000 : public CDOTABaseAbility { public: @@ -16360,7 +16735,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_100 : public CDOTABaseAbility { public: @@ -16368,7 +16743,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_125 : public CDOTABaseAbility { public: @@ -16376,7 +16751,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_150 : public CDOTABaseAbility { public: @@ -16384,7 +16759,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_175 : public CDOTABaseAbility { public: @@ -16392,7 +16767,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_200 : public CDOTABaseAbility { public: @@ -16400,7 +16775,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_225 : public CDOTABaseAbility { public: @@ -16408,7 +16783,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_250 : public CDOTABaseAbility { public: @@ -16416,7 +16791,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_275 : public CDOTABaseAbility { public: @@ -16424,7 +16799,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_300 : public CDOTABaseAbility { public: @@ -16432,7 +16807,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_350 : public CDOTABaseAbility { public: @@ -16440,7 +16815,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_400 : public CDOTABaseAbility { public: @@ -16448,7 +16823,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_500 : public CDOTABaseAbility { public: @@ -16456,7 +16831,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_600 : public CDOTABaseAbility { public: @@ -16464,7 +16839,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_700 : public CDOTABaseAbility { public: @@ -16472,7 +16847,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_800 : public CDOTABaseAbility { public: @@ -16480,7 +16855,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_1000 : public CDOTABaseAbility { public: @@ -16488,7 +16863,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Base_Attack_Rate_1 : public CDOTABaseAbility { public: @@ -16496,7 +16871,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_10 : public CDOTABaseAbility { public: @@ -16504,7 +16879,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_15 : public CDOTABaseAbility { public: @@ -16512,7 +16887,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_20 : public CDOTABaseAbility { public: @@ -16520,7 +16895,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_25 : public CDOTABaseAbility { public: @@ -16528,7 +16903,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_30 : public CDOTABaseAbility { public: @@ -16536,7 +16911,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_35 : public CDOTABaseAbility { public: @@ -16544,7 +16919,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_40 : public CDOTABaseAbility { public: @@ -16552,7 +16927,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_45 : public CDOTABaseAbility { public: @@ -16560,7 +16935,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_50 : public CDOTABaseAbility { public: @@ -16568,7 +16943,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_55 : public CDOTABaseAbility { public: @@ -16576,7 +16951,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_60 : public CDOTABaseAbility { public: @@ -16584,7 +16959,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_70 : public CDOTABaseAbility { public: @@ -16592,7 +16967,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_80 : public CDOTABaseAbility { public: @@ -16600,7 +16975,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_100 : public CDOTABaseAbility { public: @@ -16608,7 +16983,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_110 : public CDOTABaseAbility { public: @@ -16616,7 +16991,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_120 : public CDOTABaseAbility { public: @@ -16624,7 +16999,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_140 : public CDOTABaseAbility { public: @@ -16632,7 +17007,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_160 : public CDOTABaseAbility { public: @@ -16640,7 +17015,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_175 : public CDOTABaseAbility { public: @@ -16648,7 +17023,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_200 : public CDOTABaseAbility { public: @@ -16656,7 +17031,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_225 : public CDOTABaseAbility { public: @@ -16664,7 +17039,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_250 : public CDOTABaseAbility { public: @@ -16672,7 +17047,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Corruption_25 : public CDOTABaseAbility { public: @@ -16680,7 +17055,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Corruption_3 : public CDOTABaseAbility { public: @@ -16688,7 +17063,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Corruption_4 : public CDOTABaseAbility { public: @@ -16696,7 +17071,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Corruption_5 : public CDOTABaseAbility { public: @@ -16704,7 +17079,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cleave_15 : public CDOTABaseAbility { public: @@ -16712,7 +17087,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cleave_20 : public CDOTABaseAbility { public: @@ -16720,7 +17095,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cleave_25 : public CDOTABaseAbility { public: @@ -16728,7 +17103,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cleave_30 : public CDOTABaseAbility { public: @@ -16736,7 +17111,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cleave_35 : public CDOTABaseAbility { public: @@ -16744,7 +17119,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cleave_40 : public CDOTABaseAbility { public: @@ -16752,7 +17127,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cleave_60 : public CDOTABaseAbility { public: @@ -16760,7 +17135,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cleave_100 : public CDOTABaseAbility { public: @@ -16768,7 +17143,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cleave_130 : public CDOTABaseAbility { public: @@ -16776,7 +17151,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cleave_140 : public CDOTABaseAbility { public: @@ -16784,7 +17159,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cleave_150 : public CDOTABaseAbility { public: @@ -16792,7 +17167,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cleave_175 : public CDOTABaseAbility { public: @@ -16800,7 +17175,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Haste : public CDOTABaseAbility { public: @@ -16808,7 +17183,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_TrueStrike : public CDOTABaseAbility { public: @@ -16816,7 +17191,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Reincarnation_200 : public CDOTABaseAbility { public: @@ -16824,7 +17199,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Reincarnation_250 : public CDOTABaseAbility { public: @@ -16832,7 +17207,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Reincarnation_300 : public CDOTABaseAbility { public: @@ -16840,7 +17215,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Block_15 : public CDOTABaseAbility { public: @@ -16848,7 +17223,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Block_18 : public CDOTABaseAbility { public: @@ -16856,7 +17231,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Block_20 : public CDOTABaseAbility { public: @@ -16864,7 +17239,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Mana_Break_15 : public CDOTABaseAbility { public: @@ -16872,7 +17247,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Mana_Break_20 : public CDOTABaseAbility { public: @@ -16880,7 +17255,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Mana_Break_25 : public CDOTABaseAbility { public: @@ -16888,7 +17263,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Mana_Break_35 : public CDOTABaseAbility { public: @@ -16896,7 +17271,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Mana_Break_40 : public CDOTABaseAbility { public: @@ -16904,7 +17279,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Immunity : public CDOTABaseAbility { public: @@ -16912,7 +17287,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_Regen_4 : public CDOTABaseAbility { public: @@ -16920,7 +17295,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_Regen_5 : public CDOTABaseAbility { public: @@ -16928,7 +17303,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_Regen_6 : public CDOTABaseAbility { public: @@ -16936,7 +17311,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_Regen_7 : public CDOTABaseAbility { public: @@ -16944,7 +17319,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_Regen_8 : public CDOTABaseAbility { public: @@ -16952,7 +17327,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_Regen_10 : public CDOTABaseAbility { public: @@ -16960,7 +17335,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_Regen_12 : public CDOTABaseAbility { public: @@ -16968,7 +17343,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_Regen_14 : public CDOTABaseAbility { public: @@ -16976,7 +17351,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_Regen_15 : public CDOTABaseAbility { public: @@ -16984,7 +17359,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_Regen_16 : public CDOTABaseAbility { public: @@ -16992,7 +17367,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_Regen_20 : public CDOTABaseAbility { public: @@ -17000,7 +17375,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_Regen_25 : public CDOTABaseAbility { public: @@ -17008,7 +17383,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_Regen_30 : public CDOTABaseAbility { public: @@ -17016,7 +17391,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_Regen_35 : public CDOTABaseAbility { public: @@ -17024,7 +17399,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_Regen_40 : public CDOTABaseAbility { public: @@ -17032,7 +17407,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_Regen_50 : public CDOTABaseAbility { public: @@ -17040,7 +17415,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_HP_Regen_80 : public CDOTABaseAbility { public: @@ -17048,7 +17423,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_Regen_1 : public CDOTABaseAbility { public: @@ -17056,7 +17431,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_Regen_125 : public CDOTABaseAbility { public: @@ -17064,7 +17439,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_Regen_150 : public CDOTABaseAbility { public: @@ -17072,7 +17447,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_Regen_175 : public CDOTABaseAbility { public: @@ -17080,7 +17455,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_Regen_2 : public CDOTABaseAbility { public: @@ -17088,7 +17463,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_Regen_250 : public CDOTABaseAbility { public: @@ -17096,7 +17471,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_Regen_Amp_10 : public CDOTABaseAbility { public: @@ -17104,7 +17479,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Mana_Reduction_8 : public CDOTABaseAbility { public: @@ -17112,7 +17487,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Mana_Reduction_9 : public CDOTABaseAbility { public: @@ -17120,7 +17495,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Mana_Reduction_11 : public CDOTABaseAbility { public: @@ -17128,7 +17503,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_Regen_3 : public CDOTABaseAbility { public: @@ -17136,7 +17511,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_Regen_4 : public CDOTABaseAbility { public: @@ -17144,7 +17519,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_Regen_5 : public CDOTABaseAbility { public: @@ -17152,7 +17527,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_Regen_6 : public CDOTABaseAbility { public: @@ -17160,7 +17535,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_Regen_8 : public CDOTABaseAbility { public: @@ -17168,7 +17543,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_Regen_10 : public CDOTABaseAbility { public: @@ -17176,7 +17551,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_MP_Regen_14 : public CDOTABaseAbility { public: @@ -17184,7 +17559,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_Percentage_5 : public CDOTABaseAbility { public: @@ -17192,7 +17567,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_Percentage_6 : public CDOTABaseAbility { public: @@ -17200,7 +17575,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_Percentage_8 : public CDOTABaseAbility { public: @@ -17208,7 +17583,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_Percentage_10 : public CDOTABaseAbility { public: @@ -17216,7 +17591,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_Percentage_12 : public CDOTABaseAbility { public: @@ -17224,7 +17599,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_Percentage_14 : public CDOTABaseAbility { public: @@ -17232,7 +17607,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_Percentage_16 : public CDOTABaseAbility { public: @@ -17240,7 +17615,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cast_Speed_30 : public CDOTABaseAbility { public: @@ -17248,7 +17623,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_10 : public CDOTABaseAbility { public: @@ -17256,7 +17631,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_15 : public CDOTABaseAbility { public: @@ -17264,7 +17639,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_20 : public CDOTABaseAbility { public: @@ -17272,7 +17647,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_25 : public CDOTABaseAbility { public: @@ -17280,7 +17655,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_30 : public CDOTABaseAbility { public: @@ -17288,7 +17663,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_35 : public CDOTABaseAbility { public: @@ -17296,7 +17671,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_40 : public CDOTABaseAbility { public: @@ -17304,7 +17679,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_45 : public CDOTABaseAbility { public: @@ -17312,7 +17687,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_50 : public CDOTABaseAbility { public: @@ -17320,7 +17695,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_60 : public CDOTABaseAbility { public: @@ -17328,7 +17703,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_65 : public CDOTABaseAbility { public: @@ -17336,7 +17711,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_75 : public CDOTABaseAbility { public: @@ -17344,7 +17719,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_90 : public CDOTABaseAbility { public: @@ -17352,7 +17727,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Movement_Speed_100 : public CDOTABaseAbility { public: @@ -17360,7 +17735,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_All_Stats_4 : public CDOTABaseAbility { public: @@ -17368,7 +17743,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_All_Stats_5 : public CDOTABaseAbility { public: @@ -17376,7 +17751,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_All_Stats_6 : public CDOTABaseAbility { public: @@ -17384,7 +17759,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_All_Stats_7 : public CDOTABaseAbility { public: @@ -17392,7 +17767,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_All_Stats_8 : public CDOTABaseAbility { public: @@ -17400,7 +17775,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_All_Stats_10 : public CDOTABaseAbility { public: @@ -17408,7 +17783,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_All_Stats_12 : public CDOTABaseAbility { public: @@ -17416,7 +17791,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_All_Stats_14 : public CDOTABaseAbility { public: @@ -17424,7 +17799,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_All_Stats_15 : public CDOTABaseAbility { public: @@ -17432,7 +17807,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_All_Stats_20 : public CDOTABaseAbility { public: @@ -17440,7 +17815,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attributes : public CDOTABaseAbility { public: @@ -17448,7 +17823,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Agility_And_Intelligence_6 : public CDOTABaseAbility { public: @@ -17456,7 +17831,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Intelligence_6 : public CDOTABaseAbility { public: @@ -17464,7 +17839,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Intelligence_7 : public CDOTABaseAbility { public: @@ -17472,7 +17847,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Intelligence_8 : public CDOTABaseAbility { public: @@ -17480,7 +17855,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Intelligence_10 : public CDOTABaseAbility { public: @@ -17488,7 +17863,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Intelligence_12 : public CDOTABaseAbility { public: @@ -17496,7 +17871,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Intelligence_13 : public CDOTABaseAbility { public: @@ -17504,7 +17879,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Intelligence_14 : public CDOTABaseAbility { public: @@ -17512,7 +17887,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Intelligence_15 : public CDOTABaseAbility { public: @@ -17520,7 +17895,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Intelligence_16 : public CDOTABaseAbility { public: @@ -17528,7 +17903,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Intelligence_20 : public CDOTABaseAbility { public: @@ -17536,7 +17911,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Intelligence_25 : public CDOTABaseAbility { public: @@ -17544,7 +17919,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Intelligence_30 : public CDOTABaseAbility { public: @@ -17552,7 +17927,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Intelligence_35 : public CDOTABaseAbility { public: @@ -17560,7 +17935,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Intelligence_75 : public CDOTABaseAbility { public: @@ -17568,7 +17943,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Strength_3 : public CDOTABaseAbility { public: @@ -17576,7 +17951,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Strength_4 : public CDOTABaseAbility { public: @@ -17584,7 +17959,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Strength_5 : public CDOTABaseAbility { public: @@ -17592,7 +17967,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Strength_6 : public CDOTABaseAbility { public: @@ -17600,7 +17975,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Strength_7 : public CDOTABaseAbility { public: @@ -17608,7 +17983,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Strength_8 : public CDOTABaseAbility { public: @@ -17616,7 +17991,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Strength_9 : public CDOTABaseAbility { public: @@ -17624,7 +17999,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Strength_10 : public CDOTABaseAbility { public: @@ -17632,7 +18007,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Strength_11 : public CDOTABaseAbility { public: @@ -17640,7 +18015,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Strength_12 : public CDOTABaseAbility { public: @@ -17648,7 +18023,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Strength_13 : public CDOTABaseAbility { public: @@ -17656,7 +18031,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Strength_14 : public CDOTABaseAbility { public: @@ -17664,7 +18039,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Strength_15 : public CDOTABaseAbility { public: @@ -17672,7 +18047,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Strength_16 : public CDOTABaseAbility { public: @@ -17680,7 +18055,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Strength_18 : public CDOTABaseAbility { public: @@ -17688,7 +18063,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Strength_20 : public CDOTABaseAbility { public: @@ -17696,7 +18071,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Strength_25 : public CDOTABaseAbility { public: @@ -17704,7 +18079,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Strength_30 : public CDOTABaseAbility { public: @@ -17712,7 +18087,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Strength_40 : public CDOTABaseAbility { public: @@ -17720,7 +18095,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Agility_5 : public CDOTABaseAbility { public: @@ -17728,7 +18103,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Agility_6 : public CDOTABaseAbility { public: @@ -17736,7 +18111,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Agility_7 : public CDOTABaseAbility { public: @@ -17744,7 +18119,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Agility_8 : public CDOTABaseAbility { public: @@ -17752,7 +18127,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Agility_9 : public CDOTABaseAbility { public: @@ -17760,7 +18135,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Agility_10 : public CDOTABaseAbility { public: @@ -17768,7 +18143,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Agility_12 : public CDOTABaseAbility { public: @@ -17776,7 +18151,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Agility_13 : public CDOTABaseAbility { public: @@ -17784,7 +18159,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Agility_14 : public CDOTABaseAbility { public: @@ -17792,7 +18167,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Agility_15 : public CDOTABaseAbility { public: @@ -17800,7 +18175,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Agility_16 : public CDOTABaseAbility { public: @@ -17808,7 +18183,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Agility_20 : public CDOTABaseAbility { public: @@ -17816,7 +18191,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Agility_25 : public CDOTABaseAbility { public: @@ -17824,7 +18199,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Agility_30 : public CDOTABaseAbility { public: @@ -17832,7 +18207,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Agility_40 : public CDOTABaseAbility { public: @@ -17840,7 +18215,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Agility_80 : public CDOTABaseAbility { public: @@ -17848,7 +18223,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Agility_100 : public CDOTABaseAbility { public: @@ -17856,7 +18231,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Armor_2 : public CDOTABaseAbility { public: @@ -17864,7 +18239,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Armor_3 : public CDOTABaseAbility { public: @@ -17872,7 +18247,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Armor_4 : public CDOTABaseAbility { public: @@ -17880,7 +18255,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Armor_5 : public CDOTABaseAbility { public: @@ -17888,7 +18263,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Armor_6 : public CDOTABaseAbility { public: @@ -17896,7 +18271,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Armor_7 : public CDOTABaseAbility { public: @@ -17904,7 +18279,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Armor_8 : public CDOTABaseAbility { public: @@ -17912,7 +18287,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Armor_9 : public CDOTABaseAbility { public: @@ -17920,7 +18295,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Armor_10 : public CDOTABaseAbility { public: @@ -17928,7 +18303,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Armor_12 : public CDOTABaseAbility { public: @@ -17936,7 +18311,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Armor_15 : public CDOTABaseAbility { public: @@ -17944,7 +18319,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Armor_20 : public CDOTABaseAbility { public: @@ -17952,7 +18327,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Armor_30 : public CDOTABaseAbility { public: @@ -17960,7 +18335,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Status_Resistance_10 : public CDOTABaseAbility { public: @@ -17968,7 +18343,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Status_Resistance_15 : public CDOTABaseAbility { public: @@ -17976,7 +18351,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Status_Resistance_20 : public CDOTABaseAbility { public: @@ -17984,7 +18359,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Status_Resistance_25 : public CDOTABaseAbility { public: @@ -17992,7 +18367,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Magic_Resistance_5 : public CDOTABaseAbility { public: @@ -18000,7 +18375,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Magic_Resistance_6 : public CDOTABaseAbility { public: @@ -18008,7 +18383,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Magic_Resistance_8 : public CDOTABaseAbility { public: @@ -18016,7 +18391,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Magic_Resistance_10 : public CDOTABaseAbility { public: @@ -18024,7 +18399,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Magic_Resistance_12 : public CDOTABaseAbility { public: @@ -18032,7 +18407,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Magic_Resistance_14 : public CDOTABaseAbility { public: @@ -18040,7 +18415,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Magic_Resistance_15 : public CDOTABaseAbility { public: @@ -18048,7 +18423,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Magic_Resistance_20 : public CDOTABaseAbility { public: @@ -18056,7 +18431,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Magic_Resistance_25 : public CDOTABaseAbility { public: @@ -18064,7 +18439,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Magic_Resistance_30 : public CDOTABaseAbility { public: @@ -18072,7 +18447,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Magic_Resistance_35 : public CDOTABaseAbility { public: @@ -18080,7 +18455,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Magic_Resistance_40 : public CDOTABaseAbility { public: @@ -18088,7 +18463,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Magic_Resistance_50 : public CDOTABaseAbility { public: @@ -18096,7 +18471,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Magic_Resistance_80 : public CDOTABaseAbility { public: @@ -18104,7 +18479,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Magic_Resistance_100 : public CDOTABaseAbility { public: @@ -18112,7 +18487,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Day_Vision_400 : public CDOTABaseAbility { public: @@ -18120,7 +18495,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Night_Vision_400 : public CDOTABaseAbility { public: @@ -18128,7 +18503,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Night_Vision_500 : public CDOTABaseAbility { public: @@ -18136,7 +18511,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Night_Vision_600 : public CDOTABaseAbility { public: @@ -18144,7 +18519,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Night_Vision_800 : public CDOTABaseAbility { public: @@ -18152,7 +18527,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Night_Vision_1000 : public CDOTABaseAbility { public: @@ -18160,7 +18535,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Vision_200 : public CDOTABaseAbility { public: @@ -18168,7 +18543,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Base_Damage_15 : public CDOTABaseAbility { public: @@ -18176,7 +18551,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Base_Damage_20 : public CDOTABaseAbility { public: @@ -18184,7 +18559,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Base_Damage_25 : public CDOTABaseAbility { public: @@ -18192,7 +18567,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Base_Damage_30 : public CDOTABaseAbility { public: @@ -18200,7 +18575,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Base_Damage_40 : public CDOTABaseAbility { public: @@ -18208,7 +18583,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Base_Damage_45 : public CDOTABaseAbility { public: @@ -18216,7 +18591,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Base_Damage_50 : public CDOTABaseAbility { public: @@ -18224,7 +18599,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Base_Damage_100 : public CDOTABaseAbility { public: @@ -18232,7 +18607,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_10 : public CDOTABaseAbility { public: @@ -18240,7 +18615,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_12 : public CDOTABaseAbility { public: @@ -18248,7 +18623,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_15 : public CDOTABaseAbility { public: @@ -18256,7 +18631,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_16 : public CDOTABaseAbility { public: @@ -18264,7 +18639,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_18 : public CDOTABaseAbility { public: @@ -18272,7 +18647,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_20 : public CDOTABaseAbility { public: @@ -18280,7 +18655,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_25 : public CDOTABaseAbility { public: @@ -18288,7 +18663,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_30 : public CDOTABaseAbility { public: @@ -18296,7 +18671,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_35 : public CDOTABaseAbility { public: @@ -18304,7 +18679,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_40 : public CDOTABaseAbility { public: @@ -18312,7 +18687,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_45 : public CDOTABaseAbility { public: @@ -18320,7 +18695,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_50 : public CDOTABaseAbility { public: @@ -18328,7 +18703,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_55 : public CDOTABaseAbility { public: @@ -18336,7 +18711,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_60 : public CDOTABaseAbility { public: @@ -18344,7 +18719,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_65 : public CDOTABaseAbility { public: @@ -18352,7 +18727,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_70 : public CDOTABaseAbility { public: @@ -18360,7 +18735,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_75 : public CDOTABaseAbility { public: @@ -18368,7 +18743,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_80 : public CDOTABaseAbility { public: @@ -18376,7 +18751,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_90 : public CDOTABaseAbility { public: @@ -18384,7 +18759,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_100 : public CDOTABaseAbility { public: @@ -18392,7 +18767,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_120 : public CDOTABaseAbility { public: @@ -18400,7 +18775,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_150 : public CDOTABaseAbility { public: @@ -18408,7 +18783,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_160 : public CDOTABaseAbility { public: @@ -18416,7 +18791,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_200 : public CDOTABaseAbility { public: @@ -18424,7 +18799,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_250 : public CDOTABaseAbility { public: @@ -18432,7 +18807,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_251 : public CDOTABaseAbility { public: @@ -18440,7 +18815,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_252 : public CDOTABaseAbility { public: @@ -18448,7 +18823,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Damage_400 : public CDOTABaseAbility { public: @@ -18456,7 +18831,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Range_50 : public CDOTABaseAbility { public: @@ -18464,7 +18839,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Range_75 : public CDOTABaseAbility { public: @@ -18472,7 +18847,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Range_100 : public CDOTABaseAbility { public: @@ -18480,7 +18855,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Range_125 : public CDOTABaseAbility { public: @@ -18488,7 +18863,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Range_150 : public CDOTABaseAbility { public: @@ -18496,7 +18871,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Range_175 : public CDOTABaseAbility { public: @@ -18504,7 +18879,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Range_200 : public CDOTABaseAbility { public: @@ -18512,7 +18887,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Range_250 : public CDOTABaseAbility { public: @@ -18520,7 +18895,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Range_275 : public CDOTABaseAbility { public: @@ -18528,7 +18903,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Range_300 : public CDOTABaseAbility { public: @@ -18536,7 +18911,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Range_325 : public CDOTABaseAbility { public: @@ -18544,7 +18919,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Range_400 : public CDOTABaseAbility { public: @@ -18552,7 +18927,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cast_Range_50 : public CDOTABaseAbility { public: @@ -18560,7 +18935,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cast_Range_60 : public CDOTABaseAbility { public: @@ -18568,7 +18943,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cast_Range_75 : public CDOTABaseAbility { public: @@ -18576,7 +18951,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cast_Range_100 : public CDOTABaseAbility { public: @@ -18584,7 +18959,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cast_Range_125 : public CDOTABaseAbility { public: @@ -18592,7 +18967,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cast_Range_150 : public CDOTABaseAbility { public: @@ -18600,7 +18975,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cast_Range_175 : public CDOTABaseAbility { public: @@ -18608,7 +18983,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cast_Range_200 : public CDOTABaseAbility { public: @@ -18616,7 +18991,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cast_Range_225 : public CDOTABaseAbility { public: @@ -18624,7 +18999,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cast_Range_250 : public CDOTABaseAbility { public: @@ -18632,7 +19007,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cast_Range_275 : public CDOTABaseAbility { public: @@ -18640,7 +19015,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cast_Range_300 : public CDOTABaseAbility { public: @@ -18648,7 +19023,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cast_Range_325 : public CDOTABaseAbility { public: @@ -18656,7 +19031,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cast_Range_350 : public CDOTABaseAbility { public: @@ -18664,7 +19039,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cast_Range_400 : public CDOTABaseAbility { public: @@ -18672,7 +19047,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Amplify_3 : public CDOTABaseAbility { public: @@ -18680,7 +19055,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Amplify_4 : public CDOTABaseAbility { public: @@ -18688,7 +19063,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Amplify_5 : public CDOTABaseAbility { public: @@ -18696,7 +19071,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Amplify_6 : public CDOTABaseAbility { public: @@ -18704,7 +19079,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Amplify_7 : public CDOTABaseAbility { public: @@ -18712,7 +19087,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Amplify_8 : public CDOTABaseAbility { public: @@ -18720,7 +19095,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Amplify_9 : public CDOTABaseAbility { public: @@ -18728,7 +19103,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Amplify_10 : public CDOTABaseAbility { public: @@ -18736,7 +19111,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Amplify_11 : public CDOTABaseAbility { public: @@ -18744,7 +19119,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Amplify_12 : public CDOTABaseAbility { public: @@ -18752,7 +19127,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Amplify_14 : public CDOTABaseAbility { public: @@ -18760,7 +19135,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Amplify_15 : public CDOTABaseAbility { public: @@ -18768,7 +19143,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Amplify_16 : public CDOTABaseAbility { public: @@ -18776,7 +19151,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Amplify_18 : public CDOTABaseAbility { public: @@ -18784,7 +19159,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Amplify_20 : public CDOTABaseAbility { public: @@ -18792,7 +19167,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Amplify_25 : public CDOTABaseAbility { public: @@ -18800,7 +19175,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cooldown_Reduction_6 : public CDOTABaseAbility { public: @@ -18808,7 +19183,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cooldown_Reduction_8 : public CDOTABaseAbility { public: @@ -18816,7 +19191,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cooldown_Reduction_10 : public CDOTABaseAbility { public: @@ -18824,7 +19199,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cooldown_Reduction_12 : public CDOTABaseAbility { public: @@ -18832,7 +19207,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cooldown_Reduction_14 : public CDOTABaseAbility { public: @@ -18840,7 +19215,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cooldown_Reduction_15 : public CDOTABaseAbility { public: @@ -18848,7 +19223,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cooldown_Reduction_20 : public CDOTABaseAbility { public: @@ -18856,7 +19231,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cooldown_Reduction_25 : public CDOTABaseAbility { public: @@ -18864,7 +19239,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cooldown_Reduction_30 : public CDOTABaseAbility { public: @@ -18872,7 +19247,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cooldown_Reduction_40 : public CDOTABaseAbility { public: @@ -18880,7 +19255,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cooldown_Reduction_50 : public CDOTABaseAbility { public: @@ -18888,7 +19263,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Cooldown_Reduction_65 : public CDOTABaseAbility { public: @@ -18896,7 +19271,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Respawn_Reduction_15 : public CDOTABaseAbility { public: @@ -18904,7 +19279,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Respawn_Reduction_20 : public CDOTABaseAbility { public: @@ -18912,7 +19287,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Respawn_Reduction_25 : public CDOTABaseAbility { public: @@ -18920,7 +19295,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Respawn_Reduction_30 : public CDOTABaseAbility { public: @@ -18928,7 +19303,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Respawn_Reduction_35 : public CDOTABaseAbility { public: @@ -18936,7 +19311,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Respawn_Reduction_40 : public CDOTABaseAbility { public: @@ -18944,7 +19319,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Respawn_Reduction_45 : public CDOTABaseAbility { public: @@ -18952,7 +19327,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Respawn_Reduction_50 : public CDOTABaseAbility { public: @@ -18960,7 +19335,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Respawn_Reduction_60 : public CDOTABaseAbility { public: @@ -18968,7 +19343,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Gold_Income_30 : public CDOTABaseAbility { public: @@ -18976,7 +19351,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Gold_Income_60 : public CDOTABaseAbility { public: @@ -18984,7 +19359,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Gold_Income_90 : public CDOTABaseAbility { public: @@ -18992,7 +19367,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Gold_Income_120 : public CDOTABaseAbility { public: @@ -19000,7 +19375,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Gold_Income_150 : public CDOTABaseAbility { public: @@ -19008,7 +19383,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Gold_Income_180 : public CDOTABaseAbility { public: @@ -19016,7 +19391,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Gold_Income_210 : public CDOTABaseAbility { public: @@ -19024,7 +19399,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Gold_Income_240 : public CDOTABaseAbility { public: @@ -19032,7 +19407,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Gold_Income_300 : public CDOTABaseAbility { public: @@ -19040,7 +19415,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Gold_Income_420 : public CDOTABaseAbility { public: @@ -19048,7 +19423,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Evasion_8 : public CDOTABaseAbility { public: @@ -19056,7 +19431,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Evasion_10 : public CDOTABaseAbility { public: @@ -19064,7 +19439,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Evasion_12 : public CDOTABaseAbility { public: @@ -19072,7 +19447,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Evasion_15 : public CDOTABaseAbility { public: @@ -19080,7 +19455,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Evasion_16 : public CDOTABaseAbility { public: @@ -19088,7 +19463,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Evasion_20 : public CDOTABaseAbility { public: @@ -19096,7 +19471,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Evasion_25 : public CDOTABaseAbility { public: @@ -19104,7 +19479,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Evasion_30 : public CDOTABaseAbility { public: @@ -19112,7 +19487,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Evasion_40 : public CDOTABaseAbility { public: @@ -19120,7 +19495,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Evasion_50 : public CDOTABaseAbility { public: @@ -19128,7 +19503,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Evasion_75 : public CDOTABaseAbility { public: @@ -19136,7 +19511,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Lifesteal_6 : public CDOTABaseAbility { public: @@ -19144,7 +19519,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Lifesteal_8 : public CDOTABaseAbility { public: @@ -19152,7 +19527,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Lifesteal_10 : public CDOTABaseAbility { public: @@ -19160,7 +19535,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Lifesteal_12 : public CDOTABaseAbility { public: @@ -19168,7 +19543,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Lifesteal_13 : public CDOTABaseAbility { public: @@ -19176,7 +19551,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Lifesteal_15 : public CDOTABaseAbility { public: @@ -19184,7 +19559,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Lifesteal_20 : public CDOTABaseAbility { public: @@ -19192,7 +19567,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Lifesteal_25 : public CDOTABaseAbility { public: @@ -19200,7 +19575,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Lifesteal_30 : public CDOTABaseAbility { public: @@ -19208,7 +19583,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Lifesteal_50 : public CDOTABaseAbility { public: @@ -19216,7 +19591,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Lifesteal_40 : public CDOTABaseAbility { public: @@ -19224,7 +19599,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Lifesteal_60 : public CDOTABaseAbility { public: @@ -19232,7 +19607,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Spell_Lifesteal_70 : public CDOTABaseAbility { public: @@ -19240,7 +19615,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Lifesteal_8 : public CDOTABaseAbility { public: @@ -19248,7 +19623,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Lifesteal_10 : public CDOTABaseAbility { public: @@ -19256,7 +19631,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Lifesteal_12 : public CDOTABaseAbility { public: @@ -19264,7 +19639,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Lifesteal_15 : public CDOTABaseAbility { public: @@ -19272,7 +19647,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Lifesteal_18 : public CDOTABaseAbility { public: @@ -19280,7 +19655,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Lifesteal_20 : public CDOTABaseAbility { public: @@ -19288,7 +19663,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Lifesteal_25 : public CDOTABaseAbility { public: @@ -19296,7 +19671,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Lifesteal_30 : public CDOTABaseAbility { public: @@ -19304,7 +19679,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Lifesteal_35 : public CDOTABaseAbility { public: @@ -19312,7 +19687,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Lifesteal_40 : public CDOTABaseAbility { public: @@ -19320,7 +19695,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Lifesteal_100 : public CDOTABaseAbility { public: @@ -19328,7 +19703,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_20_Bash_2 : public CDOTABaseAbility { public: @@ -19336,7 +19711,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_24_Crit_2 : public CDOTABaseAbility { public: @@ -19344,7 +19719,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_30_Crit_2 : public CDOTABaseAbility { public: @@ -19352,7 +19727,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_20_Crit_15 : public CDOTABaseAbility { public: @@ -19360,7 +19735,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_50_Crit_40 : public CDOTABaseAbility { public: @@ -19368,7 +19743,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Exp_Boost_5 : public CDOTABaseAbility { public: @@ -19376,7 +19751,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Exp_Boost_10 : public CDOTABaseAbility { public: @@ -19384,7 +19759,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Exp_Boost_15 : public CDOTABaseAbility { public: @@ -19392,7 +19767,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Exp_Boost_20 : public CDOTABaseAbility { public: @@ -19400,7 +19775,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Exp_Boost_25 : public CDOTABaseAbility { public: @@ -19408,7 +19783,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Exp_Boost_30 : public CDOTABaseAbility { public: @@ -19416,7 +19791,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Exp_Boost_35 : public CDOTABaseAbility { public: @@ -19424,7 +19799,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Exp_Boost_40 : public CDOTABaseAbility { public: @@ -19432,7 +19807,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Exp_Boost_50 : public CDOTABaseAbility { public: @@ -19440,7 +19815,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Exp_Boost_60 : public CDOTABaseAbility { public: @@ -19448,7 +19823,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain : public CDOTABaseAbility { public: @@ -19456,7 +19831,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_2 : public CDOTABaseAbility { public: @@ -19464,7 +19839,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_3 : public CDOTABaseAbility { public: @@ -19472,7 +19847,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_4 : public CDOTABaseAbility { public: @@ -19480,7 +19855,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_5 : public CDOTABaseAbility { public: @@ -19488,7 +19863,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_6 : public CDOTABaseAbility { public: @@ -19496,7 +19871,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Broodmother_1 : public CDOTABaseAbility { public: @@ -19504,7 +19879,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Broodmother_2 : public CDOTABaseAbility { public: @@ -19512,7 +19887,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Broodmother_3 : public CDOTABaseAbility { public: @@ -19520,7 +19895,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Broodmother_4 : public CDOTABaseAbility { public: @@ -19528,7 +19903,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Broodmother_5 : public CDOTABaseAbility { public: @@ -19536,7 +19911,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_1 : public CDOTABaseAbility { public: @@ -19544,7 +19919,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_2 : public CDOTABaseAbility { public: @@ -19552,7 +19927,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_3 : public CDOTABaseAbility { public: @@ -19560,7 +19935,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_4 : public CDOTABaseAbility { public: @@ -19568,7 +19943,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_5 : public CDOTABaseAbility { public: @@ -19576,7 +19951,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_6 : public CDOTABaseAbility { public: @@ -19584,7 +19959,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_7 : public CDOTABaseAbility { public: @@ -19592,7 +19967,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_8 : public CDOTABaseAbility { public: @@ -19600,7 +19975,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_9 : public CDOTABaseAbility { public: @@ -19608,7 +19983,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_10 : public CDOTABaseAbility { public: @@ -19616,7 +19991,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_12 : public CDOTABaseAbility { public: @@ -19624,7 +19999,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_11 : public CDOTABaseAbility { public: @@ -19632,7 +20007,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wisp : public CDOTABaseAbility { public: @@ -19640,7 +20015,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wisp_2 : public CDOTABaseAbility { public: @@ -19648,7 +20023,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wisp_3 : public CDOTABaseAbility { public: @@ -19656,7 +20031,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wisp_4 : public CDOTABaseAbility { public: @@ -19664,7 +20039,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wisp_5 : public CDOTABaseAbility { public: @@ -19672,7 +20047,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wisp_6 : public CDOTABaseAbility { public: @@ -19680,7 +20055,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wisp_7 : public CDOTABaseAbility { public: @@ -19688,7 +20063,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wisp_8 : public CDOTABaseAbility { public: @@ -19696,7 +20071,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wisp_9 : public CDOTABaseAbility { public: @@ -19704,7 +20079,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wisp_10 : public CDOTABaseAbility { public: @@ -19712,7 +20087,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Techies : public CDOTABaseAbility { public: @@ -19720,7 +20095,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Techies_2 : public CDOTABaseAbility { public: @@ -19728,7 +20103,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Techies_3 : public CDOTABaseAbility { public: @@ -19736,7 +20111,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Techies_4 : public CDOTABaseAbility { public: @@ -19744,7 +20119,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Techies_5 : public CDOTABaseAbility { public: @@ -19752,7 +20127,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Arc_Warden : public CDOTABaseAbility { public: @@ -19760,7 +20135,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Arc_Warden_2 : public CDOTABaseAbility { public: @@ -19768,7 +20143,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Arc_Warden_3 : public CDOTABaseAbility { public: @@ -19776,7 +20151,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Arc_Warden_4 : public CDOTABaseAbility { public: @@ -19784,7 +20159,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Arc_Warden_5 : public CDOTABaseAbility { public: @@ -19792,7 +20167,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Arc_Warden_6 : public CDOTABaseAbility { public: @@ -19800,7 +20175,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Invoker_1 : public CDOTABaseAbility { public: @@ -19808,7 +20183,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Invoker_2 : public CDOTABaseAbility { public: @@ -19816,7 +20191,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Invoker_3 : public CDOTABaseAbility { public: @@ -19824,7 +20199,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Invoker_4 : public CDOTABaseAbility { public: @@ -19832,7 +20207,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Invoker_5 : public CDOTABaseAbility { public: @@ -19840,7 +20215,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Invoker_6 : public CDOTABaseAbility { public: @@ -19848,7 +20223,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Invoker_7 : public CDOTABaseAbility { public: @@ -19856,7 +20231,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Invoker_8 : public CDOTABaseAbility { public: @@ -19864,7 +20239,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Invoker_9 : public CDOTABaseAbility { public: @@ -19872,7 +20247,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Invoker_10 : public CDOTABaseAbility { public: @@ -19880,7 +20255,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Invoker_11 : public CDOTABaseAbility { public: @@ -19888,7 +20263,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Invoker_12 : public CDOTABaseAbility { public: @@ -19896,7 +20271,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Invoker_13 : public CDOTABaseAbility { public: @@ -19904,7 +20279,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_1 : public CDOTABaseAbility { public: @@ -19912,7 +20287,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_2 : public CDOTABaseAbility { public: @@ -19920,7 +20295,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_3 : public CDOTABaseAbility { public: @@ -19928,7 +20303,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_4 : public CDOTABaseAbility { public: @@ -19936,7 +20311,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_5 : public CDOTABaseAbility { public: @@ -19944,7 +20319,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_6 : public CDOTABaseAbility { public: @@ -19952,7 +20327,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_7 : public CDOTABaseAbility { public: @@ -19960,7 +20335,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Gyrocopter_1 : public CDOTABaseAbility { public: @@ -19968,7 +20343,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Gyrocopter_2 : public CDOTABaseAbility { public: @@ -19976,7 +20351,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Gyrocopter_3 : public CDOTABaseAbility { public: @@ -19984,7 +20359,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Gyrocopter_4 : public CDOTABaseAbility { public: @@ -19992,7 +20367,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Gyrocopter_5 : public CDOTABaseAbility { public: @@ -20000,7 +20375,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Gyrocopter_6 : public CDOTABaseAbility { public: @@ -20008,7 +20383,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Legion_Commander : public CDOTABaseAbility { public: @@ -20016,7 +20391,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Legion_Commander_2 : public CDOTABaseAbility { public: @@ -20024,7 +20399,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Legion_Commander_3 : public CDOTABaseAbility { public: @@ -20032,7 +20407,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Legion_Commander_4 : public CDOTABaseAbility { public: @@ -20040,7 +20415,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Legion_Commander_5 : public CDOTABaseAbility { public: @@ -20048,7 +20423,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Legion_Commander_6 : public CDOTABaseAbility { public: @@ -20056,7 +20431,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Legion_Commander_7 : public CDOTABaseAbility { public: @@ -20064,7 +20439,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pugna_1 : public CDOTABaseAbility { public: @@ -20072,7 +20447,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pugna_2 : public CDOTABaseAbility { public: @@ -20080,7 +20455,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pugna_3 : public CDOTABaseAbility { public: @@ -20088,7 +20463,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pugna_4 : public CDOTABaseAbility { public: @@ -20096,7 +20471,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pugna_5 : public CDOTABaseAbility { public: @@ -20104,7 +20479,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pugna_6 : public CDOTABaseAbility { public: @@ -20112,7 +20487,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Windranger : public CDOTABaseAbility { public: @@ -20120,7 +20495,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Windranger_2 : public CDOTABaseAbility { public: @@ -20128,7 +20503,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Windranger_3 : public CDOTABaseAbility { public: @@ -20136,7 +20511,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Windranger_4 : public CDOTABaseAbility { public: @@ -20144,7 +20519,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Windranger_5 : public CDOTABaseAbility { public: @@ -20152,7 +20527,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Windranger_6 : public CDOTABaseAbility { public: @@ -20160,7 +20535,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Windranger_7 : public CDOTABaseAbility { public: @@ -20168,7 +20543,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Windranger_8 : public CDOTABaseAbility { public: @@ -20176,7 +20551,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Windranger_9 : public CDOTABaseAbility { public: @@ -20184,7 +20559,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Windranger_10 : public CDOTABaseAbility { public: @@ -20192,7 +20567,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Death_Prophet : public CDOTABaseAbility { public: @@ -20200,7 +20575,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Death_Prophet_2 : public CDOTABaseAbility { public: @@ -20208,7 +20583,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Death_Prophet_3 : public CDOTABaseAbility { public: @@ -20216,7 +20591,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Death_Prophet_4 : public CDOTABaseAbility { public: @@ -20224,7 +20599,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Death_Prophet_5 : public CDOTABaseAbility { public: @@ -20232,7 +20607,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sniper_1 : public CDOTABaseAbility { public: @@ -20240,7 +20615,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sniper_2 : public CDOTABaseAbility { public: @@ -20248,7 +20623,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sniper_3 : public CDOTABaseAbility { public: @@ -20256,7 +20631,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sniper_4 : public CDOTABaseAbility { public: @@ -20264,7 +20639,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sniper_5 : public CDOTABaseAbility { public: @@ -20272,7 +20647,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sniper_6 : public CDOTABaseAbility { public: @@ -20280,7 +20655,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Monkey_King : public CDOTABaseAbility { public: @@ -20288,7 +20663,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Monkey_King_2 : public CDOTABaseAbility { public: @@ -20296,7 +20671,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Monkey_King_3 : public CDOTABaseAbility { public: @@ -20304,7 +20679,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Monkey_King_4 : public CDOTABaseAbility { public: @@ -20312,7 +20687,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Monkey_King_5 : public CDOTABaseAbility { public: @@ -20320,7 +20695,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Monkey_King_6 : public CDOTABaseAbility { public: @@ -20328,7 +20703,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Monkey_King_7 : public CDOTABaseAbility { public: @@ -20336,7 +20711,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Monkey_King_8 : public CDOTABaseAbility { public: @@ -20344,7 +20719,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Monkey_King_9 : public CDOTABaseAbility { public: @@ -20352,7 +20727,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Monkey_King_10 : public CDOTABaseAbility { public: @@ -20360,7 +20735,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Monkey_King_11 : public CDOTABaseAbility { public: @@ -20368,7 +20743,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Riki_1 : public CDOTABaseAbility { public: @@ -20376,7 +20751,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Riki_2 : public CDOTABaseAbility { public: @@ -20384,7 +20759,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Riki_3 : public CDOTABaseAbility { public: @@ -20392,7 +20767,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Riki_4 : public CDOTABaseAbility { public: @@ -20400,7 +20775,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Riki_5 : public CDOTABaseAbility { public: @@ -20408,7 +20783,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Riki_6 : public CDOTABaseAbility { public: @@ -20416,7 +20791,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Riki_7 : public CDOTABaseAbility { public: @@ -20424,7 +20799,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Riki_8 : public CDOTABaseAbility { public: @@ -20432,7 +20807,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Riki_9 : public CDOTABaseAbility { public: @@ -20440,7 +20815,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tusk : public CDOTABaseAbility { public: @@ -20448,7 +20823,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tusk_2 : public CDOTABaseAbility { public: @@ -20456,7 +20831,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tusk_3 : public CDOTABaseAbility { public: @@ -20464,7 +20839,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tusk_4 : public CDOTABaseAbility { public: @@ -20472,7 +20847,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tusk_5 : public CDOTABaseAbility { public: @@ -20480,7 +20855,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tusk_6 : public CDOTABaseAbility { public: @@ -20488,7 +20863,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tusk_7 : public CDOTABaseAbility { public: @@ -20496,7 +20871,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Medusa : public CDOTABaseAbility { public: @@ -20504,7 +20879,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Medusa_2 : public CDOTABaseAbility { public: @@ -20512,7 +20887,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Medusa_3 : public CDOTABaseAbility { public: @@ -20520,7 +20895,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Medusa_4 : public CDOTABaseAbility { public: @@ -20528,7 +20903,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Medusa_5 : public CDOTABaseAbility { public: @@ -20536,7 +20911,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ogre_Magi : public CDOTABaseAbility { public: @@ -20544,7 +20919,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ogre_Magi_2 : public CDOTABaseAbility { public: @@ -20552,7 +20927,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ogre_Magi_3 : public CDOTABaseAbility { public: @@ -20560,7 +20935,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ogre_Magi_4 : public CDOTABaseAbility { public: @@ -20568,7 +20943,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ogre_Magi_5 : public CDOTABaseAbility { public: @@ -20576,7 +20951,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Silencer : public CDOTABaseAbility { public: @@ -20584,7 +20959,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Silencer_2 : public CDOTABaseAbility { public: @@ -20592,7 +20967,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Silencer_3 : public CDOTABaseAbility { public: @@ -20600,7 +20975,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Silencer_4 : public CDOTABaseAbility { public: @@ -20608,7 +20983,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Silencer_5 : public CDOTABaseAbility { public: @@ -20616,7 +20991,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Silencer_6 : public CDOTABaseAbility { public: @@ -20624,7 +20999,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Silencer_7 : public CDOTABaseAbility { public: @@ -20632,7 +21007,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Elder_Titan : public CDOTABaseAbility { public: @@ -20640,7 +21015,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Elder_Titan_2 : public CDOTABaseAbility { public: @@ -20648,7 +21023,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Elder_Titan_3 : public CDOTABaseAbility { public: @@ -20656,7 +21031,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Elder_Titan_4 : public CDOTABaseAbility { public: @@ -20664,7 +21039,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ember_Spirit_1 : public CDOTABaseAbility { public: @@ -20672,7 +21047,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ember_Spirit_2 : public CDOTABaseAbility { public: @@ -20680,7 +21055,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ember_Spirit_3 : public CDOTABaseAbility { public: @@ -20688,7 +21063,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ember_Spirit_4 : public CDOTABaseAbility { public: @@ -20696,7 +21071,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ember_Spirit_5 : public CDOTABaseAbility { public: @@ -20704,7 +21079,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ember_Spirit_6 : public CDOTABaseAbility { public: @@ -20712,7 +21087,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ember_Spirit_7 : public CDOTABaseAbility { public: @@ -20720,7 +21095,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lifestealer : public CDOTABaseAbility { public: @@ -20728,7 +21103,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lifestealer_2 : public CDOTABaseAbility { public: @@ -20736,7 +21111,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lifestealer_3 : public CDOTABaseAbility { public: @@ -20744,7 +21119,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lifestealer_4 : public CDOTABaseAbility { public: @@ -20752,7 +21127,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lifestealer_5 : public CDOTABaseAbility { public: @@ -20760,7 +21135,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lifestealer_6 : public CDOTABaseAbility { public: @@ -20768,7 +21143,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lifestealer_7 : public CDOTABaseAbility { public: @@ -20776,7 +21151,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Slark : public CDOTABaseAbility { public: @@ -20784,7 +21159,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Slark_2 : public CDOTABaseAbility { public: @@ -20792,7 +21167,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Slark_3 : public CDOTABaseAbility { public: @@ -20800,7 +21175,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Slark_4 : public CDOTABaseAbility { public: @@ -20808,7 +21183,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Slark_5 : public CDOTABaseAbility { public: @@ -20816,7 +21191,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Slark_6 : public CDOTABaseAbility { public: @@ -20824,7 +21199,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Slark_7 : public CDOTABaseAbility { public: @@ -20832,7 +21207,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Spectre : public CDOTABaseAbility { public: @@ -20840,7 +21215,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Spectre_2 : public CDOTABaseAbility { public: @@ -20848,7 +21223,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Spectre_3 : public CDOTABaseAbility { public: @@ -20856,7 +21231,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Spectre_4 : public CDOTABaseAbility { public: @@ -20864,7 +21239,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Spectre_5 : public CDOTABaseAbility { public: @@ -20872,7 +21247,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Spectre_6 : public CDOTABaseAbility { public: @@ -20880,7 +21255,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_1 : public CDOTABaseAbility { public: @@ -20888,7 +21263,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_2 : public CDOTABaseAbility { public: @@ -20896,7 +21271,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_3 : public CDOTABaseAbility { public: @@ -20904,7 +21279,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_4 : public CDOTABaseAbility { public: @@ -20912,7 +21287,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Storm_Spirit : public CDOTABaseAbility { public: @@ -20920,7 +21295,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Storm_Spirit_2 : public CDOTABaseAbility { public: @@ -20928,7 +21303,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Storm_Spirit_3 : public CDOTABaseAbility { public: @@ -20936,7 +21311,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Storm_Spirit_4 : public CDOTABaseAbility { public: @@ -20944,7 +21319,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Storm_Spirit_5 : public CDOTABaseAbility { public: @@ -20952,7 +21327,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Storm_Spirit_6 : public CDOTABaseAbility { public: @@ -20960,7 +21335,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Storm_Spirit_7 : public CDOTABaseAbility { public: @@ -20968,7 +21343,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Storm_Spirit_8 : public CDOTABaseAbility { public: @@ -20976,7 +21351,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tidehunter : public CDOTABaseAbility { public: @@ -20984,7 +21359,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tidehunter_2 : public CDOTABaseAbility { public: @@ -20992,7 +21367,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tidehunter_3 : public CDOTABaseAbility { public: @@ -21000,7 +21375,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tidehunter_4 : public CDOTABaseAbility { public: @@ -21008,7 +21383,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tidehunter_5 : public CDOTABaseAbility { public: @@ -21016,7 +21391,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tidehunter_6 : public CDOTABaseAbility { public: @@ -21024,7 +21399,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tidehunter_7 : public CDOTABaseAbility { public: @@ -21032,7 +21407,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tidehunter_8 : public CDOTABaseAbility { public: @@ -21040,7 +21415,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tinker : public CDOTABaseAbility { public: @@ -21048,7 +21423,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tinker_2 : public CDOTABaseAbility { public: @@ -21056,7 +21431,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tinker_3 : public CDOTABaseAbility { public: @@ -21064,7 +21439,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tinker_4 : public CDOTABaseAbility { public: @@ -21072,7 +21447,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tinker_5 : public CDOTABaseAbility { public: @@ -21080,7 +21455,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tinker_6 : public CDOTABaseAbility { public: @@ -21088,7 +21463,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tinker_7 : public CDOTABaseAbility { public: @@ -21096,7 +21471,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Troll_Warlord : public CDOTABaseAbility { public: @@ -21104,7 +21479,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Troll_Warlord_2 : public CDOTABaseAbility { public: @@ -21112,7 +21487,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Troll_Warlord_3 : public CDOTABaseAbility { public: @@ -21120,7 +21495,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Troll_Warlord_4 : public CDOTABaseAbility { public: @@ -21128,7 +21503,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Troll_Warlord_5 : public CDOTABaseAbility { public: @@ -21136,7 +21511,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Troll_Warlord_6 : public CDOTABaseAbility { public: @@ -21144,7 +21519,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Troll_Warlord_7 : public CDOTABaseAbility { public: @@ -21152,7 +21527,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Viper_1 : public CDOTABaseAbility { public: @@ -21160,7 +21535,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Viper_2 : public CDOTABaseAbility { public: @@ -21168,7 +21543,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Viper_3 : public CDOTABaseAbility { public: @@ -21176,7 +21551,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Viper_4 : public CDOTABaseAbility { public: @@ -21184,7 +21559,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Viper_5 : public CDOTABaseAbility { public: @@ -21192,7 +21567,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Viper_6 : public CDOTABaseAbility { public: @@ -21200,7 +21575,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Brewmaster : public CDOTABaseAbility { public: @@ -21208,7 +21583,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Brewmaster_2 : public CDOTABaseAbility { public: @@ -21216,7 +21591,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Brewmaster_3 : public CDOTABaseAbility { public: @@ -21224,7 +21599,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Brewmaster_4 : public CDOTABaseAbility { public: @@ -21232,7 +21607,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Brewmaster_5 : public CDOTABaseAbility { public: @@ -21240,7 +21615,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Brewmaster_6 : public CDOTABaseAbility { public: @@ -21248,7 +21623,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Brewmaster_7 : public CDOTABaseAbility { public: @@ -21256,7 +21631,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Luna_1 : public CDOTABaseAbility { public: @@ -21264,7 +21639,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Luna_2 : public CDOTABaseAbility { public: @@ -21272,7 +21647,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Luna_3 : public CDOTABaseAbility { public: @@ -21280,7 +21655,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Luna_4 : public CDOTABaseAbility { public: @@ -21288,7 +21663,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Luna_5 : public CDOTABaseAbility { public: @@ -21296,7 +21671,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Luna_6 : public CDOTABaseAbility { public: @@ -21304,7 +21679,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Luna_7 : public CDOTABaseAbility { public: @@ -21312,7 +21687,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Luna_8 : public CDOTABaseAbility { public: @@ -21320,7 +21695,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Faceless_Void : public CDOTABaseAbility { public: @@ -21328,7 +21703,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Faceless_Void_2 : public CDOTABaseAbility { public: @@ -21336,7 +21711,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Faceless_Void_3 : public CDOTABaseAbility { public: @@ -21344,7 +21719,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Faceless_Void_4 : public CDOTABaseAbility { public: @@ -21352,7 +21727,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Faceless_Void_5 : public CDOTABaseAbility { public: @@ -21360,7 +21735,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Faceless_Void_6 : public CDOTABaseAbility { public: @@ -21368,7 +21743,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Faceless_Void_7 : public CDOTABaseAbility { public: @@ -21376,7 +21751,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Faceless_Void_8 : public CDOTABaseAbility { public: @@ -21384,7 +21759,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Nyx : public CDOTABaseAbility { public: @@ -21392,7 +21767,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Nyx_2 : public CDOTABaseAbility { public: @@ -21400,7 +21775,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Nyx_3 : public CDOTABaseAbility { public: @@ -21408,7 +21783,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Nyx_4 : public CDOTABaseAbility { public: @@ -21416,7 +21791,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Nyx_5 : public CDOTABaseAbility { public: @@ -21424,7 +21799,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Nyx_6 : public CDOTABaseAbility { public: @@ -21432,7 +21807,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Weaver_1 : public CDOTABaseAbility { public: @@ -21440,7 +21815,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Weaver_2 : public CDOTABaseAbility { public: @@ -21448,7 +21823,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Weaver_3 : public CDOTABaseAbility { public: @@ -21456,7 +21831,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Weaver_4 : public CDOTABaseAbility { public: @@ -21464,7 +21839,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Weaver_5 : public CDOTABaseAbility { public: @@ -21472,7 +21847,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Weaver_6 : public CDOTABaseAbility { public: @@ -21480,7 +21855,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ursa : public CDOTABaseAbility { public: @@ -21488,7 +21863,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ursa_2 : public CDOTABaseAbility { public: @@ -21496,7 +21871,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ursa_3 : public CDOTABaseAbility { public: @@ -21504,7 +21879,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ursa_4 : public CDOTABaseAbility { public: @@ -21512,7 +21887,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ursa_5 : public CDOTABaseAbility { public: @@ -21520,7 +21895,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ursa_6 : public CDOTABaseAbility { public: @@ -21528,7 +21903,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ursa_7 : public CDOTABaseAbility { public: @@ -21536,7 +21911,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Ursa_8 : public CDOTABaseAbility { public: @@ -21544,7 +21919,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lycan_1 : public CDOTABaseAbility { public: @@ -21552,7 +21927,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lycan_2 : public CDOTABaseAbility { public: @@ -21560,7 +21935,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lycan_3 : public CDOTABaseAbility { public: @@ -21568,7 +21943,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lycan_4 : public CDOTABaseAbility { public: @@ -21576,7 +21951,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lycan_5 : public CDOTABaseAbility { public: @@ -21584,7 +21959,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lycan_6 : public CDOTABaseAbility { public: @@ -21592,7 +21967,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lycan_7 : public CDOTABaseAbility { public: @@ -21600,7 +21975,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lycan_8 : public CDOTABaseAbility { public: @@ -21608,7 +21983,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bristleback : public CDOTABaseAbility { public: @@ -21616,7 +21991,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bristleback_2 : public CDOTABaseAbility { public: @@ -21624,7 +21999,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bristleback_3 : public CDOTABaseAbility { public: @@ -21632,7 +22007,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bristleback_4 : public CDOTABaseAbility { public: @@ -21640,7 +22015,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Abaddon : public CDOTABaseAbility { public: @@ -21648,7 +22023,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Abaddon_2 : public CDOTABaseAbility { public: @@ -21656,7 +22031,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Abaddon_3 : public CDOTABaseAbility { public: @@ -21664,7 +22039,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Abaddon_4 : public CDOTABaseAbility { public: @@ -21672,7 +22047,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Abaddon_5 : public CDOTABaseAbility { public: @@ -21680,7 +22055,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Alchemist : public CDOTABaseAbility { public: @@ -21688,7 +22063,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Alchemist_2 : public CDOTABaseAbility { public: @@ -21696,7 +22071,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Alchemist_3 : public CDOTABaseAbility { public: @@ -21704,7 +22079,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Alchemist_4 : public CDOTABaseAbility { public: @@ -21712,7 +22087,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Alchemist_5 : public CDOTABaseAbility { public: @@ -21720,7 +22095,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Alchemist_6 : public CDOTABaseAbility { public: @@ -21728,7 +22103,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Juggernaut : public CDOTABaseAbility { public: @@ -21736,7 +22111,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Juggernaut_2 : public CDOTABaseAbility { public: @@ -21744,7 +22119,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Juggernaut_3 : public CDOTABaseAbility { public: @@ -21752,7 +22127,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Juggernaut_4 : public CDOTABaseAbility { public: @@ -21760,7 +22135,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Juggernaut_5 : public CDOTABaseAbility { public: @@ -21768,7 +22143,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_1 : public CDOTABaseAbility { public: @@ -21776,7 +22151,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_2 : public CDOTABaseAbility { public: @@ -21784,7 +22159,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_3 : public CDOTABaseAbility { public: @@ -21792,7 +22167,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_4 : public CDOTABaseAbility { public: @@ -21800,7 +22175,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_5 : public CDOTABaseAbility { public: @@ -21808,7 +22183,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_6 : public CDOTABaseAbility { public: @@ -21816,7 +22191,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_7 : public CDOTABaseAbility { public: @@ -21824,7 +22199,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Terrorblade : public CDOTABaseAbility { public: @@ -21832,7 +22207,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Terrorblade_2 : public CDOTABaseAbility { public: @@ -21840,7 +22215,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Terrorblade_3 : public CDOTABaseAbility { public: @@ -21848,7 +22223,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Terrorblade_4 : public CDOTABaseAbility { public: @@ -21856,7 +22231,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Terrorblade_5 : public CDOTABaseAbility { public: @@ -21864,7 +22239,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phoenix_1 : public CDOTABaseAbility { public: @@ -21872,7 +22247,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phoenix_2 : public CDOTABaseAbility { public: @@ -21880,7 +22255,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phoenix_3 : public CDOTABaseAbility { public: @@ -21888,7 +22263,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phoenix_4 : public CDOTABaseAbility { public: @@ -21896,7 +22271,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phoenix_5 : public CDOTABaseAbility { public: @@ -21904,7 +22279,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phoenix_6 : public CDOTABaseAbility { public: @@ -21912,7 +22287,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phoenix_7 : public CDOTABaseAbility { public: @@ -21920,7 +22295,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phoenix_8 : public CDOTABaseAbility { public: @@ -21928,7 +22303,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Enchantress_1 : public CDOTABaseAbility { public: @@ -21936,7 +22311,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Enchantress_2 : public CDOTABaseAbility { public: @@ -21944,7 +22319,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Enchantress_3 : public CDOTABaseAbility { public: @@ -21952,7 +22327,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Enchantress_4 : public CDOTABaseAbility { public: @@ -21960,7 +22335,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Enchantress_5 : public CDOTABaseAbility { public: @@ -21968,7 +22343,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wraith_King_1 : public CDOTABaseAbility { public: @@ -21976,7 +22351,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wraith_King_2 : public CDOTABaseAbility { public: @@ -21984,7 +22359,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wraith_King_3 : public CDOTABaseAbility { public: @@ -21992,7 +22367,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wraith_King_4 : public CDOTABaseAbility { public: @@ -22000,7 +22375,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wraith_King_5 : public CDOTABaseAbility { public: @@ -22008,7 +22383,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wraith_King_6 : public CDOTABaseAbility { public: @@ -22016,7 +22391,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wraith_King_7 : public CDOTABaseAbility { public: @@ -22024,7 +22399,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wraith_King_8 : public CDOTABaseAbility { public: @@ -22032,7 +22407,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wraith_King_9 : public CDOTABaseAbility { public: @@ -22040,7 +22415,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wraith_King_10 : public CDOTABaseAbility { public: @@ -22048,7 +22423,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Wraith_King_11 : public CDOTABaseAbility { public: @@ -22056,7 +22431,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Kunkka : public CDOTABaseAbility { public: @@ -22064,7 +22439,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Kunkka_2 : public CDOTABaseAbility { public: @@ -22072,7 +22447,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Kunkka_3 : public CDOTABaseAbility { public: @@ -22080,7 +22455,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Kunkka_4 : public CDOTABaseAbility { public: @@ -22088,7 +22463,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Kunkka_5 : public CDOTABaseAbility { public: @@ -22096,7 +22471,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Kunkka_6 : public CDOTABaseAbility { public: @@ -22104,7 +22479,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Kunkka_7 : public CDOTABaseAbility { public: @@ -22112,7 +22487,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bloodseeker : public CDOTABaseAbility { public: @@ -22120,7 +22495,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bloodseeker_2 : public CDOTABaseAbility { public: @@ -22128,7 +22503,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bloodseeker_3 : public CDOTABaseAbility { public: @@ -22136,7 +22511,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bloodseeker_4 : public CDOTABaseAbility { public: @@ -22144,7 +22519,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bloodseeker_5 : public CDOTABaseAbility { public: @@ -22152,7 +22527,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bloodseeker_6 : public CDOTABaseAbility { public: @@ -22160,7 +22535,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bloodseeker_7 : public CDOTABaseAbility { public: @@ -22168,7 +22543,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Earth_Spirit : public CDOTABaseAbility { public: @@ -22176,7 +22551,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Earth_Spirit_2 : public CDOTABaseAbility { public: @@ -22184,7 +22559,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Earth_Spirit_3 : public CDOTABaseAbility { public: @@ -22192,7 +22567,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Earth_Spirit_4 : public CDOTABaseAbility { public: @@ -22200,7 +22575,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Earth_Spirit_5 : public CDOTABaseAbility { public: @@ -22208,7 +22583,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Earth_Spirit_6 : public CDOTABaseAbility { public: @@ -22216,7 +22591,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Earth_Spirit_7 : public CDOTABaseAbility { public: @@ -22224,7 +22599,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Timbersaw : public CDOTABaseAbility { public: @@ -22232,7 +22607,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Timbersaw_2 : public CDOTABaseAbility { public: @@ -22240,7 +22615,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Timbersaw_3 : public CDOTABaseAbility { public: @@ -22248,7 +22623,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Timbersaw_4 : public CDOTABaseAbility { public: @@ -22256,7 +22631,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Huskar : public CDOTABaseAbility { public: @@ -22264,7 +22639,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Huskar_2 : public CDOTABaseAbility { public: @@ -22272,7 +22647,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Huskar_3 : public CDOTABaseAbility { public: @@ -22280,7 +22655,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Huskar_4 : public CDOTABaseAbility { public: @@ -22288,7 +22663,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Huskar_5 : public CDOTABaseAbility { public: @@ -22296,7 +22671,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Huskar_6 : public CDOTABaseAbility { public: @@ -22304,7 +22679,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Huskar_7 : public CDOTABaseAbility { public: @@ -22312,7 +22687,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Naga_Siren : public CDOTABaseAbility { public: @@ -22320,7 +22695,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Naga_Siren_2 : public CDOTABaseAbility { public: @@ -22328,7 +22703,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Naga_Siren_3 : public CDOTABaseAbility { public: @@ -22336,7 +22711,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Naga_Siren_4 : public CDOTABaseAbility { public: @@ -22344,7 +22719,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Naga_Siren_5 : public CDOTABaseAbility { public: @@ -22352,7 +22727,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Naga_Siren_6 : public CDOTABaseAbility { public: @@ -22360,7 +22735,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Naga_Siren_7 : public CDOTABaseAbility { public: @@ -22368,7 +22743,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sand_King : public CDOTABaseAbility { public: @@ -22376,7 +22751,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sand_King_2 : public CDOTABaseAbility { public: @@ -22384,7 +22759,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sand_King_3 : public CDOTABaseAbility { public: @@ -22392,7 +22767,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sand_King_4 : public CDOTABaseAbility { public: @@ -22400,7 +22775,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sand_King_5 : public CDOTABaseAbility { public: @@ -22408,7 +22783,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sand_King_6 : public CDOTABaseAbility { public: @@ -22416,7 +22791,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sand_King_7 : public CDOTABaseAbility { public: @@ -22424,7 +22799,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sand_King_8 : public CDOTABaseAbility { public: @@ -22432,7 +22807,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Shadow_Demon_1 : public CDOTABaseAbility { public: @@ -22440,7 +22815,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Shadow_Demon_2 : public CDOTABaseAbility { public: @@ -22448,7 +22823,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Shadow_Demon_3 : public CDOTABaseAbility { public: @@ -22456,7 +22831,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Shadow_Demon_4 : public CDOTABaseAbility { public: @@ -22464,7 +22839,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Shadow_Demon_5 : public CDOTABaseAbility { public: @@ -22472,7 +22847,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Shadow_Demon_6 : public CDOTABaseAbility { public: @@ -22480,7 +22855,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Shadow_Demon_7 : public CDOTABaseAbility { public: @@ -22488,7 +22863,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Shadow_Demon_8 : public CDOTABaseAbility { public: @@ -22496,7 +22871,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Shadow_Demon_9 : public CDOTABaseAbility { public: @@ -22504,7 +22879,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dragon_Knight : public CDOTABaseAbility { public: @@ -22512,7 +22887,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dragon_Knight_2 : public CDOTABaseAbility { public: @@ -22520,7 +22895,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dragon_Knight_3 : public CDOTABaseAbility { public: @@ -22528,7 +22903,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dragon_Knight_4 : public CDOTABaseAbility { public: @@ -22536,7 +22911,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dragon_Knight_5 : public CDOTABaseAbility { public: @@ -22544,7 +22919,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dragon_Knight_6 : public CDOTABaseAbility { public: @@ -22552,7 +22927,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dragon_Knight_7 : public CDOTABaseAbility { public: @@ -22560,7 +22935,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dragon_Knight_8 : public CDOTABaseAbility { public: @@ -22568,7 +22943,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morphling_1 : public CDOTABaseAbility { public: @@ -22576,7 +22951,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morphling_2 : public CDOTABaseAbility { public: @@ -22584,7 +22959,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morphling_3 : public CDOTABaseAbility { public: @@ -22592,7 +22967,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morphling_4 : public CDOTABaseAbility { public: @@ -22600,7 +22975,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morphling_5 : public CDOTABaseAbility { public: @@ -22608,7 +22983,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morphling_6 : public CDOTABaseAbility { public: @@ -22616,7 +22991,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morphling_7 : public CDOTABaseAbility { public: @@ -22624,7 +22999,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morphling_8 : public CDOTABaseAbility { public: @@ -22632,7 +23007,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morphling_9 : public CDOTABaseAbility { public: @@ -22640,7 +23015,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morphling_10 : public CDOTABaseAbility { public: @@ -22648,7 +23023,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bane_1 : public CDOTABaseAbility { public: @@ -22656,7 +23031,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bane_2 : public CDOTABaseAbility { public: @@ -22664,7 +23039,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bane_3 : public CDOTABaseAbility { public: @@ -22672,7 +23047,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bane_4 : public CDOTABaseAbility { public: @@ -22680,7 +23055,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bane_5 : public CDOTABaseAbility { public: @@ -22688,7 +23063,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bane_6 : public CDOTABaseAbility { public: @@ -22696,7 +23071,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bane_7 : public CDOTABaseAbility { public: @@ -22704,7 +23079,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bane_8 : public CDOTABaseAbility { public: @@ -22712,7 +23087,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bane_9 : public CDOTABaseAbility { public: @@ -22720,7 +23095,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Nevermore_1 : public CDOTABaseAbility { public: @@ -22728,7 +23103,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Nevermore_2 : public CDOTABaseAbility { public: @@ -22736,7 +23111,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Nevermore_3 : public CDOTABaseAbility { public: @@ -22744,7 +23119,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Nevermore_4 : public CDOTABaseAbility { public: @@ -22752,7 +23127,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Nevermore_5 : public CDOTABaseAbility { public: @@ -22760,7 +23135,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Nevermore_6 : public CDOTABaseAbility { public: @@ -22768,7 +23143,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Templar_Assassin : public CDOTABaseAbility { public: @@ -22776,7 +23151,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Templar_Assassin_2 : public CDOTABaseAbility { public: @@ -22784,7 +23159,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Templar_Assassin_3 : public CDOTABaseAbility { public: @@ -22792,7 +23167,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Templar_Assassin_4 : public CDOTABaseAbility { public: @@ -22800,7 +23175,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Templar_Assassin_5 : public CDOTABaseAbility { public: @@ -22808,7 +23183,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Templar_Assassin_6 : public CDOTABaseAbility { public: @@ -22816,7 +23191,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Templar_Assassin_7 : public CDOTABaseAbility { public: @@ -22824,7 +23199,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Templar_Assassin_8 : public CDOTABaseAbility { public: @@ -22832,7 +23207,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_1 : public CDOTABaseAbility { public: @@ -22840,7 +23215,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_2 : public CDOTABaseAbility { public: @@ -22848,7 +23223,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_3 : public CDOTABaseAbility { public: @@ -22856,7 +23231,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_4 : public CDOTABaseAbility { public: @@ -22864,7 +23239,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_5 : public CDOTABaseAbility { public: @@ -22872,7 +23247,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_6 : public CDOTABaseAbility { public: @@ -22880,7 +23255,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Doom_1 : public CDOTABaseAbility { public: @@ -22888,7 +23263,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Doom_2 : public CDOTABaseAbility { public: @@ -22896,7 +23271,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Doom_3 : public CDOTABaseAbility { public: @@ -22904,7 +23279,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Doom_4 : public CDOTABaseAbility { public: @@ -22912,7 +23287,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Doom_5 : public CDOTABaseAbility { public: @@ -22920,7 +23295,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Doom_6 : public CDOTABaseAbility { public: @@ -22928,7 +23303,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Doom_7 : public CDOTABaseAbility { public: @@ -22936,7 +23311,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Doom_8 : public CDOTABaseAbility { public: @@ -22944,7 +23319,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Doom_9 : public CDOTABaseAbility { public: @@ -22952,7 +23327,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_1 : public CDOTABaseAbility { public: @@ -22960,7 +23335,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_2 : public CDOTABaseAbility { public: @@ -22968,7 +23343,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_3 : public CDOTABaseAbility { public: @@ -22976,7 +23351,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_4 : public CDOTABaseAbility { public: @@ -22984,7 +23359,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_5 : public CDOTABaseAbility { public: @@ -22992,7 +23367,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_6 : public CDOTABaseAbility { public: @@ -23000,7 +23375,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_7 : public CDOTABaseAbility { public: @@ -23008,7 +23383,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_8 : public CDOTABaseAbility { public: @@ -23016,7 +23391,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_9 : public CDOTABaseAbility { public: @@ -23024,7 +23399,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Venomancer : public CDOTABaseAbility { public: @@ -23032,7 +23407,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Venomancer_2 : public CDOTABaseAbility { public: @@ -23040,7 +23415,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Venomancer_3 : public CDOTABaseAbility { public: @@ -23048,7 +23423,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Venomancer_4 : public CDOTABaseAbility { public: @@ -23056,7 +23431,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Venomancer_5 : public CDOTABaseAbility { public: @@ -23064,7 +23439,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Venomancer_6 : public CDOTABaseAbility { public: @@ -23072,7 +23447,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Venomancer_7 : public CDOTABaseAbility { public: @@ -23080,7 +23455,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Venomancer_8 : public CDOTABaseAbility { public: @@ -23088,7 +23463,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Earthshaker : public CDOTABaseAbility { public: @@ -23096,7 +23471,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Earthshaker_2 : public CDOTABaseAbility { public: @@ -23104,7 +23479,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Earthshaker_3 : public CDOTABaseAbility { public: @@ -23112,7 +23487,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Earthshaker_4 : public CDOTABaseAbility { public: @@ -23120,7 +23495,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Earthshaker_5 : public CDOTABaseAbility { public: @@ -23128,7 +23503,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Earthshaker_6 : public CDOTABaseAbility { public: @@ -23136,7 +23511,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_1 : public CDOTABaseAbility { public: @@ -23144,7 +23519,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_2 : public CDOTABaseAbility { public: @@ -23152,7 +23527,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_3 : public CDOTABaseAbility { public: @@ -23160,7 +23535,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_4 : public CDOTABaseAbility { public: @@ -23168,7 +23543,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_5 : public CDOTABaseAbility { public: @@ -23176,7 +23551,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_6 : public CDOTABaseAbility { public: @@ -23184,7 +23559,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_7 : public CDOTABaseAbility { public: @@ -23192,7 +23567,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_8 : public CDOTABaseAbility { public: @@ -23200,7 +23575,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Warlock_1 : public CDOTABaseAbility { public: @@ -23208,7 +23583,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Warlock_2 : public CDOTABaseAbility { public: @@ -23216,7 +23591,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Warlock_3 : public CDOTABaseAbility { public: @@ -23224,7 +23599,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Warlock_4 : public CDOTABaseAbility { public: @@ -23232,7 +23607,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Warlock_5 : public CDOTABaseAbility { public: @@ -23240,7 +23615,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Warlock_6 : public CDOTABaseAbility { public: @@ -23248,7 +23623,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Warlock_7 : public CDOTABaseAbility { public: @@ -23256,7 +23631,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Warlock_8 : public CDOTABaseAbility { public: @@ -23264,7 +23639,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Warlock_9 : public CDOTABaseAbility { public: @@ -23272,7 +23647,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Warlock_10 : public CDOTABaseAbility { public: @@ -23280,7 +23655,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dazzle_1 : public CDOTABaseAbility { public: @@ -23288,7 +23663,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dazzle_2 : public CDOTABaseAbility { public: @@ -23296,7 +23671,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dazzle_3 : public CDOTABaseAbility { public: @@ -23304,7 +23679,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dazzle_4 : public CDOTABaseAbility { public: @@ -23312,7 +23687,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dazzle_5 : public CDOTABaseAbility { public: @@ -23320,7 +23695,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Visage_1 : public CDOTABaseAbility { public: @@ -23328,7 +23703,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Visage_2 : public CDOTABaseAbility { public: @@ -23336,7 +23711,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Visage_3 : public CDOTABaseAbility { public: @@ -23344,7 +23719,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Visage_4 : public CDOTABaseAbility { public: @@ -23352,7 +23727,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Visage_5 : public CDOTABaseAbility { public: @@ -23360,7 +23735,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Visage_6 : public CDOTABaseAbility { public: @@ -23368,7 +23743,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Visage_7 : public CDOTABaseAbility { public: @@ -23376,7 +23751,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Visage_8 : public CDOTABaseAbility { public: @@ -23384,7 +23759,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Omniknight_1 : public CDOTABaseAbility { public: @@ -23392,7 +23767,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Omniknight_2 : public CDOTABaseAbility { public: @@ -23400,7 +23775,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Omniknight_3 : public CDOTABaseAbility { public: @@ -23408,7 +23783,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Omniknight_4 : public CDOTABaseAbility { public: @@ -23416,7 +23791,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Omniknight_5 : public CDOTABaseAbility { public: @@ -23424,7 +23799,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Omniknight_6 : public CDOTABaseAbility { public: @@ -23432,7 +23807,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Omniknight_7 : public CDOTABaseAbility { public: @@ -23440,7 +23815,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Necrophos : public CDOTABaseAbility { public: @@ -23448,7 +23823,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Necrophos_2 : public CDOTABaseAbility { public: @@ -23456,7 +23831,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Necrophos_3 : public CDOTABaseAbility { public: @@ -23464,7 +23839,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Necrophos_4 : public CDOTABaseAbility { public: @@ -23472,7 +23847,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Necrophos_5 : public CDOTABaseAbility { public: @@ -23480,7 +23855,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Necrophos_6 : public CDOTABaseAbility { public: @@ -23488,7 +23863,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Antimage : public CDOTABaseAbility { public: @@ -23496,7 +23871,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Antimage_2 : public CDOTABaseAbility { public: @@ -23504,7 +23879,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Antimage_3 : public CDOTABaseAbility { public: @@ -23512,7 +23887,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Antimage_4 : public CDOTABaseAbility { public: @@ -23520,7 +23895,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Antimage_5 : public CDOTABaseAbility { public: @@ -23528,7 +23903,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Antimage_6 : public CDOTABaseAbility { public: @@ -23536,7 +23911,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Antimage_7 : public CDOTABaseAbility { public: @@ -23544,7 +23919,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Antimage_8 : public CDOTABaseAbility { public: @@ -23552,7 +23927,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Mirana_1 : public CDOTABaseAbility { public: @@ -23560,7 +23935,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Mirana_2 : public CDOTABaseAbility { public: @@ -23568,7 +23943,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Mirana_3 : public CDOTABaseAbility { public: @@ -23576,7 +23951,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Mirana_4 : public CDOTABaseAbility { public: @@ -23584,7 +23959,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Mirana_5 : public CDOTABaseAbility { public: @@ -23592,7 +23967,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Mirana_6 : public CDOTABaseAbility { public: @@ -23600,7 +23975,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Mirana_7 : public CDOTABaseAbility { public: @@ -23608,7 +23983,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bounty_Hunter : public CDOTABaseAbility { public: @@ -23616,7 +23991,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_2 : public CDOTABaseAbility { public: @@ -23624,7 +23999,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_3 : public CDOTABaseAbility { public: @@ -23632,7 +24007,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_4 : public CDOTABaseAbility { public: @@ -23640,7 +24015,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_5 : public CDOTABaseAbility { public: @@ -23648,7 +24023,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_6 : public CDOTABaseAbility { public: @@ -23656,7 +24031,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_7 : public CDOTABaseAbility { public: @@ -23664,7 +24039,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_8 : public CDOTABaseAbility { public: @@ -23672,7 +24047,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Treant : public CDOTABaseAbility { public: @@ -23680,7 +24055,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Treant_2 : public CDOTABaseAbility { public: @@ -23688,7 +24063,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Treant_3 : public CDOTABaseAbility { public: @@ -23696,7 +24071,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Treant_4 : public CDOTABaseAbility { public: @@ -23704,7 +24079,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Treant_5 : public CDOTABaseAbility { public: @@ -23712,7 +24087,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Treant_6 : public CDOTABaseAbility { public: @@ -23720,7 +24095,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Treant_7 : public CDOTABaseAbility { public: @@ -23728,7 +24103,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Treant_8 : public CDOTABaseAbility { public: @@ -23736,7 +24111,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Treant_9 : public CDOTABaseAbility { public: @@ -23744,7 +24119,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Treant_10 : public CDOTABaseAbility { public: @@ -23752,7 +24127,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Treant_11 : public CDOTABaseAbility { public: @@ -23760,7 +24135,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Treant_12 : public CDOTABaseAbility { public: @@ -23768,7 +24143,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Treant_13 : public CDOTABaseAbility { public: @@ -23776,7 +24151,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pangolier : public CDOTABaseAbility { public: @@ -23784,7 +24159,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pangolier_2 : public CDOTABaseAbility { public: @@ -23792,7 +24167,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pangolier_3 : public CDOTABaseAbility { public: @@ -23800,7 +24175,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pangolier_4 : public CDOTABaseAbility { public: @@ -23808,7 +24183,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pangolier_5 : public CDOTABaseAbility { public: @@ -23816,7 +24191,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pangolier_6 : public CDOTABaseAbility { public: @@ -23824,24 +24199,88 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pangolier_7 : public CDOTABaseAbility { public: // No members available }; +// Alignment: 0 +// Size: 0x568 +class CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_1 : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x568 +class CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_2 : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x568 +class CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_3 : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x568 +class CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_4 : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x568 +class CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_5 : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x568 +class CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_6 : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x568 +class CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_7 : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x568 +class CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_8 : public CDOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 3 -// Size: 0x6a0 +// Size: 0x6b0 class CDOTASpecGraphPlayerData : public CBaseEntity { public: // MNetworkEnable - int32_t m_rgGoldPerMinute[64]; // 0x498 + int32_t m_rgGoldPerMinute[64]; // 0x4a8 // MNetworkEnable - int32_t m_rgXPPerMinute[64]; // 0x598 + int32_t m_rgXPPerMinute[64]; // 0x5a8 // MNetworkEnable - PlayerID_t m_nCreatedByPlayerID; // 0x698 + PlayerID_t m_nCreatedByPlayerID; // 0x6a8 }; // Alignment: 6 @@ -23915,13 +24354,13 @@ public: }; // Alignment: 1 -// Size: 0x4a0 +// Size: 0x4b0 class CDOTASpectatorGraphManagerProxy : public CBaseEntity { public: // MNetworkEnable // MNetworkTypeAlias "CDOTASpectatorGraphManager*" - CDOTASpectatorGraphManager* m_pGraphManager; // 0x498 + CDOTASpectatorGraphManager* m_pGraphManager; // 0x4a8 // Static fields: static CDOTASpectatorGraphManagerProxy* &Get_s_pDotaSpectatorGraphProxy(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CDOTASpectatorGraphManagerProxy")->m_static_fields[0]->m_instance);}; @@ -23963,22 +24402,22 @@ public: }; // Alignment: 3 -// Size: 0x518 +// Size: 0x528 class CDOTAFogOfWarTempViewers : public CBaseEntity { public: // MNetworkEnable - uint32_t m_FoWTempViewerVersion; // 0x498 + uint32_t m_FoWTempViewerVersion; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad049c[0x4]; // 0x49c + [[maybe_unused]] uint8_t __pad04ac[0x4]; // 0x4ac public: // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< TempViewerInfo_t > m_TempViewerInfo; // 0x4a0 - GameTime_t m_flEndTimeMin; // 0x4f0 + CUtlVectorEmbeddedNetworkVar< TempViewerInfo_t > m_TempViewerInfo; // 0x4b0 + GameTime_t m_flEndTimeMin; // 0x500 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Consumable_Hidden : public CDOTABaseAbility { public: @@ -23986,7 +24425,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Throw_Snowball : public CDOTABaseAbility { public: @@ -23994,7 +24433,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Throw_Coal : public CDOTABaseAbility { public: @@ -24002,7 +24441,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Healing_Campfire : public CDOTABaseAbility { public: @@ -24010,7 +24449,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_ShootFirework : public CDOTABaseAbility { public: @@ -24018,7 +24457,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Seasonal_Throw_Snowball : public CDOTABaseAbility { public: @@ -24026,7 +24465,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Seasonal_Summon_Snowman : public CDOTABaseAbility { public: @@ -24034,15 +24473,15 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Seasonal_Summon_Penguin : public CDOTABaseAbility { public: - int32_t spawn_offset; // 0x558 + int32_t spawn_offset; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Seasonal_Decorate_Tree : public CDOTABaseAbility { public: @@ -24050,7 +24489,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Seasonal_Festive_Firework : public CDOTABaseAbility { public: @@ -24058,7 +24497,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Seasonal_Firecrackers : public CDOTABaseAbility { public: @@ -24066,7 +24505,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Seasonal_Summon_Dragon : public CDOTABaseAbility { public: @@ -24074,7 +24513,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Seasonal_Summon_CNY_Tree : public CDOTABaseAbility { public: @@ -24082,7 +24521,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Seasonal_Summon_CNY_Balloon : public CDOTABaseAbility { public: @@ -24090,7 +24529,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Seasonal_Summon_TI9_Balloon : public CDOTABaseAbility { public: @@ -24098,15 +24537,15 @@ public: }; // Alignment: 1 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_Seasonal_TI9_Banner : public CDOTABaseAbility { public: - CUtlVectorFixedGrowable< CHandle< CBaseEntity > > m_vecBanners; // 0x558 + CUtlVectorFixedGrowable< CHandle< CBaseEntity > > m_vecBanners; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Seasonal_TI9_Instruments : public CDOTABaseAbility { public: @@ -24114,20 +24553,20 @@ public: }; // Alignment: 3 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Seasonal_TI9_Shovel : public CDOTABaseAbility { public: - Vector m_vChannelPos; // 0x558 - bool m_bIsUnderwater; // 0x564 + Vector m_vChannelPos; // 0x568 + bool m_bIsUnderwater; // 0x574 private: - [[maybe_unused]] uint8_t __pad0565[0x3]; // 0x565 + [[maybe_unused]] uint8_t __pad0575[0x3]; // 0x575 public: - ParticleIndex_t m_nPhaseStartFXIndex; // 0x568 + ParticleIndex_t m_nPhaseStartFXIndex; // 0x578 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Seasonal_TI9_Monkey : public CDOTABaseAbility { public: @@ -24148,7 +24587,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Lesser_NightCrawler_Pounce : public CDOTABaseAbility { public: @@ -24156,7 +24595,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Zombie_Berserk : public CDOTABaseAbility { public: @@ -24164,7 +24603,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Corspselord_Revive : public CDOTABaseAbility { public: @@ -24172,7 +24611,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Slithereen_Riptide : public CDOTABaseAbility { public: @@ -24180,41 +24619,41 @@ public: }; // Alignment: 8 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Creature_Fire_Breath : public CDOTABaseAbility { public: - int32_t speed; // 0x558 - int32_t projectile_count; // 0x55c - float rotation_angle; // 0x560 - float damage; // 0x564 - float radius; // 0x568 + int32_t speed; // 0x568 + int32_t projectile_count; // 0x56c + float rotation_angle; // 0x570 + float damage; // 0x574 + float radius; // 0x578 private: - [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c + [[maybe_unused]] uint8_t __pad057c[0x4]; // 0x57c public: - CountdownTimer ctTimer; // 0x570 - Vector m_vecStartRot; // 0x588 - Vector m_vecEndRot; // 0x594 + CountdownTimer ctTimer; // 0x580 + Vector m_vecStartRot; // 0x598 + Vector m_vecEndRot; // 0x5a4 }; // Alignment: 9 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Creature_Ice_Breath : public CDOTABaseAbility { public: - int32_t speed; // 0x558 - int32_t projectile_count; // 0x55c - float rotation_angle; // 0x560 - float damage; // 0x564 - float radius; // 0x568 - float slow_duration; // 0x56c - CountdownTimer ctTimer; // 0x570 - Vector m_vecStartRot; // 0x588 - Vector m_vecEndRot; // 0x594 + int32_t speed; // 0x568 + int32_t projectile_count; // 0x56c + float rotation_angle; // 0x570 + float damage; // 0x574 + float radius; // 0x578 + float slow_duration; // 0x57c + CountdownTimer ctTimer; // 0x580 + Vector m_vecStartRot; // 0x598 + Vector m_vecEndRot; // 0x5a4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Creature_IceSlam : public CDOTABaseAbility { public: @@ -24222,7 +24661,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_GreaterClarity : public CDOTA_Item { public: @@ -24230,7 +24669,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_UpgradedMortar : public CDOTA_Item { public: @@ -24238,7 +24677,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_UpgradedBarricade : public CDOTA_Item { public: @@ -24246,7 +24685,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_BagOfGold : public CDOTA_Item { public: @@ -24254,7 +24693,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_Throw_Snowball : public CDOTABaseAbility { public: @@ -24262,7 +24701,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_Summon_Snowman : public CDOTABaseAbility { public: @@ -24270,7 +24709,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_Decorate_Tree : public CDOTABaseAbility { public: @@ -24278,7 +24717,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_Festive_Firework : public CDOTABaseAbility { public: @@ -24286,7 +24725,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_FacelessVoid_TimeLock : public CDOTABaseAbility { public: @@ -24303,23 +24742,23 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Frostivus2018_Luna_LucentBeam : public CDOTABaseAbility { public: - int32_t radius; // 0x558 + int32_t radius; // 0x568 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Frostivus2018_Luna_Eclipse : public CDOTABaseAbility { public: - bool m_bIsScepterCast; // 0x558 + bool m_bIsScepterCast; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_Clinkz_Strafe : public CDOTABaseAbility { public: @@ -24327,7 +24766,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_Clinkz_SearingArrows : public CDOTABaseAbility { public: @@ -24335,7 +24774,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_Clinkz_WindWalk : public CDOTABaseAbility { public: @@ -24343,55 +24782,55 @@ public: }; // Alignment: 5 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_Frostivus2018_Clinkz_Burning_Army : public CDOTABaseAbility { public: - int32_t range; // 0x558 - Vector m_vEndpoint; // 0x55c - Vector m_vSlashDir; // 0x568 - int32_t m_nDashProjectileID; // 0x574 - Vector m_vDashProjectileLocation; // 0x578 + int32_t range; // 0x568 + Vector m_vEndpoint; // 0x56c + Vector m_vSlashDir; // 0x578 + int32_t m_nDashProjectileID; // 0x584 + Vector m_vDashProjectileLocation; // 0x588 }; // Alignment: 7 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Tusk_SnowballMeteor : public CDOTABaseAbility { public: - int32_t area_of_effect; // 0x558 - float damage_interval; // 0x55c - int32_t vision_distance; // 0x560 - float end_vision_duration; // 0x564 - float main_damage; // 0x568 - float burn_duration; // 0x56c - float burn_dps; // 0x570 + int32_t area_of_effect; // 0x568 + float damage_interval; // 0x56c + int32_t vision_distance; // 0x570 + float end_vision_duration; // 0x574 + float main_damage; // 0x578 + float burn_duration; // 0x57c + float burn_dps; // 0x580 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Frostivus2018_Tusk_WalrusKick : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXKickIndex; // 0x558 + ParticleIndex_t m_nFXKickIndex; // 0x568 }; // Alignment: 4 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_Frostivus2018_Windrunner_Shackleshot : public CDOTABaseAbility { public: - int32_t shackle_count; // 0x558 - Vector m_vArrowStartPos; // 0x55c - CHandle< CBaseEntity > m_hTarget; // 0x568 + int32_t shackle_count; // 0x568 + Vector m_vArrowStartPos; // 0x56c + CHandle< CBaseEntity > m_hTarget; // 0x578 private: - [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c + [[maybe_unused]] uint8_t __pad057c[0x4]; // 0x57c public: - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x570 + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x580 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_DarkWillow_ShadowRealm : public CDOTABaseAbility { public: @@ -24399,7 +24838,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_DarkWillow_BrambleMaze : public CDOTABaseAbility { public: @@ -24407,7 +24846,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_DarkWillow_Bedlam : public CDOTABaseAbility { public: @@ -24415,41 +24854,41 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Frostivus2018_Puck_DreamCoil : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hThinker; // 0x558 + CHandle< CBaseEntity > m_hThinker; // 0x568 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Frostivus2018_Spectre_ActiveDispersion : public CDOTABaseAbility { public: - ParticleIndex_t m_nPreviewFX; // 0x558 - float duration; // 0x55c + ParticleIndex_t m_nPreviewFX; // 0x568 + float duration; // 0x56c }; // Alignment: 10 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_Frostivus2018_Centaur_Stampede : public CDOTABaseAbility { public: - float duration; // 0x558 - int32_t base_damage; // 0x55c - float strength_damage; // 0x560 - float slow_duration; // 0x564 - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x568 - int32_t armor_amount; // 0x580 - float armor_duration; // 0x584 - int32_t max_armor_stacks; // 0x588 - int32_t m_nHeroesHit; // 0x58c - bool m_bHitInvisibleHero; // 0x590 + float duration; // 0x568 + int32_t base_damage; // 0x56c + float strength_damage; // 0x570 + float slow_duration; // 0x574 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x578 + int32_t armor_amount; // 0x590 + float armor_duration; // 0x594 + int32_t max_armor_stacks; // 0x598 + int32_t m_nHeroesHit; // 0x59c + bool m_bHitInvisibleHero; // 0x5a0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_Centaur_Return : public CDOTABaseAbility { public: @@ -24457,7 +24896,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_Centaur_DoubleEdge : public CDOTABaseAbility { public: @@ -24465,7 +24904,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_Huskar_Inner_Fire : public CDOTABaseAbility { public: @@ -24473,7 +24912,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_Huskar_Burning_Spear : public CDOTABaseAbility { public: @@ -24481,7 +24920,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_Omniknight_Purification : public CDOTABaseAbility { public: @@ -24489,7 +24928,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_Omniknight_Degen_Aura : public CDOTABaseAbility { public: @@ -24497,7 +24936,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_Omniknight_Repel : public CDOTABaseAbility { public: @@ -24505,21 +24944,21 @@ public: }; // Alignment: 7 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Frostivus2018_Magnataur_Skewer : public CDOTABaseAbility { public: - int32_t skewer_radius; // 0x558 - int32_t skewer_speed; // 0x55c - int32_t range; // 0x560 - int32_t tree_radius; // 0x564 - int32_t m_nProjectileID; // 0x568 - int32_t m_nVisibleTargetCount; // 0x56c - int32_t m_nTargetsHit; // 0x570 + int32_t skewer_radius; // 0x568 + int32_t skewer_speed; // 0x56c + int32_t range; // 0x570 + int32_t tree_radius; // 0x574 + int32_t m_nProjectileID; // 0x578 + int32_t m_nVisibleTargetCount; // 0x57c + int32_t m_nTargetsHit; // 0x580 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_Pangolier_ShieldCrash : public CDOTABaseAbility { public: @@ -24527,15 +24966,15 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Frostivus2018_TrollWarlord_BattleTrance : public CDOTABaseAbility { public: - float trance_duration; // 0x558 + float trance_duration; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_TrollWarlord_Fervor : public CDOTABaseAbility { public: @@ -24543,21 +24982,21 @@ public: }; // Alignment: 7 -// Size: 0x590 +// Size: 0x5a0 class CDOTA_Ability_Frostivus2018_Rubick_GhostShip : public CDOTABaseAbility { public: - float buff_duration; // 0x558 - float stun_duration; // 0x55c - int32_t ghostship_width; // 0x560 - int32_t ghostship_speed; // 0x564 - int32_t ghostship_distance; // 0x568 - Vector m_vFinalDestination; // 0x56c - Vector m_vStartingPoint; // 0x578 + float buff_duration; // 0x568 + float stun_duration; // 0x56c + int32_t ghostship_width; // 0x570 + int32_t ghostship_speed; // 0x574 + int32_t ghostship_distance; // 0x578 + Vector m_vFinalDestination; // 0x57c + Vector m_vStartingPoint; // 0x588 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Frostivus2018_Weaver_GeminateAttack : public CDOTABaseAbility { public: @@ -24565,16 +25004,16 @@ public: }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_Tower_BlastWave : public CDOTABaseAbility { public: - ParticleIndex_t m_nPreviewFX; // 0x558 - float duration; // 0x55c + ParticleIndex_t m_nPreviewFX; // 0x568 + float duration; // 0x56c }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_TempBuff_CorpseExplosion : public CDOTABaseAbility { public: @@ -24582,7 +25021,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Reward_HPAura : public CDOTABaseAbility { public: @@ -24590,7 +25029,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Reward_CritAura : public CDOTABaseAbility { public: @@ -24598,7 +25037,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Reward_MagicResistAura : public CDOTABaseAbility { public: @@ -24606,7 +25045,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Reward_ArmorAura : public CDOTABaseAbility { public: @@ -24614,7 +25053,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Ascension_PlasmaField : public CDOTABaseAbility { public: @@ -24622,7 +25061,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Ascension_Bulwark : public CDOTABaseAbility { public: @@ -24630,7 +25069,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Ascension_AcidBlood : public CDOTABaseAbility { public: @@ -24638,7 +25077,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Ascension_Firefly : public CDOTABaseAbility { public: @@ -24646,15 +25085,15 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_Ascension_Silence : public CDOTABaseAbility { public: - ParticleIndex_t m_nPreviewFX; // 0x558 + ParticleIndex_t m_nPreviewFX; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Ascension_MagneticField : public CDOTABaseAbility { public: @@ -24662,25 +25101,25 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_Ascension_Invis : public CDOTABaseAbility { public: - float warning_duration; // 0x558 + float warning_duration; // 0x568 }; // Alignment: 3 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Morty_Hop : public CDOTABaseAbility { public: - float max_distance; // 0x558 - Vector m_vTarget; // 0x55c - int32_t m_iTrackerProjectile; // 0x568 + float max_distance; // 0x568 + Vector m_vTarget; // 0x56c + int32_t m_iTrackerProjectile; // 0x578 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Morty_Hop_Launch : public CDOTABaseAbility { public: @@ -24688,7 +25127,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_ExplosiveBarrel : public CDOTABaseAbility { public: @@ -24696,54 +25135,54 @@ public: }; // Alignment: 4 -// Size: 0x628 +// Size: 0x638 class CDOTA_Ability_AghsFort_Ravage_Potion : public CDOTA_Item { public: - CUtlVector< CHandle< CBaseEntity > > m_hEntsHit; // 0x600 - int32_t damage; // 0x618 - float duration; // 0x61c - float spend_charge_delay; // 0x620 + CUtlVector< CHandle< CBaseEntity > > m_hEntsHit; // 0x610 + int32_t damage; // 0x628 + float duration; // 0x62c + float spend_charge_delay; // 0x630 }; // Alignment: 7 -// Size: 0x620 +// Size: 0x630 class CDOTA_Ability_AghsFort_Dragon_Potion : public CDOTA_Item { public: - int32_t bonus_movement_speed; // 0x600 - int32_t bonus_attack_damage; // 0x604 - int32_t bonus_attack_range; // 0x608 - int32_t magic_resistance; // 0x60c - int32_t model_scale; // 0x610 - int32_t skin_number; // 0x614 - bool flying_movement; // 0x618 + int32_t bonus_movement_speed; // 0x610 + int32_t bonus_attack_damage; // 0x614 + int32_t bonus_attack_range; // 0x618 + int32_t magic_resistance; // 0x61c + int32_t model_scale; // 0x620 + int32_t skin_number; // 0x624 + bool flying_movement; // 0x628 }; // Alignment: 2 -// Size: 0x608 +// Size: 0x618 class CDOTA_Ability_AghsFort_Arcanist_Potion : public CDOTA_Item { public: - int32_t cooldown_reduction_pct; // 0x600 - int32_t manacost_reduction_pct; // 0x604 + int32_t cooldown_reduction_pct; // 0x610 + int32_t manacost_reduction_pct; // 0x614 }; // Alignment: 6 -// Size: 0x618 +// Size: 0x628 class CDOTA_Ability_AghsFort_EchoSlamPotion : public CDOTA_Item { public: - int32_t echo_slam_damage_range; // 0x600 - int32_t echo_slam_echo_search_range; // 0x604 - int32_t echo_slam_echo_range; // 0x608 - int32_t echo_slam_echo_damage; // 0x60c - int32_t echo_slam_initial_damage; // 0x610 - float spend_charge_delay; // 0x614 + int32_t echo_slam_damage_range; // 0x610 + int32_t echo_slam_echo_search_range; // 0x614 + int32_t echo_slam_echo_range; // 0x618 + int32_t echo_slam_echo_damage; // 0x61c + int32_t echo_slam_initial_damage; // 0x620 + float spend_charge_delay; // 0x624 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Ability_AghsFort_ShadowWaveEffectPotion : public CDOTA_Item { public: @@ -24751,7 +25190,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_AghsFort_RefresherOrb_Shard : public CDOTA_Item { public: @@ -24759,7 +25198,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Minor_Stats_Upgrade : public CDOTABaseAbility { public: @@ -24767,7 +25206,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Aghsfort_BootsOfTravel : public CDOTA_Item { public: @@ -24775,7 +25214,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Aghsfort_BootsOfTravel_2 : public CDOTA_Item_Aghsfort_BootsOfTravel { public: @@ -24783,7 +25222,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_RestorativeFlower : public CDOTABaseAbility { public: @@ -24791,70 +25230,70 @@ public: }; // Alignment: 6 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_AghsFort_StonehallGeneral_OverwhelmingOdds : public CDOTABaseAbility { public: - int32_t max_steps; // 0x558 - Vector m_vTarget; // 0x55c - Vector m_vDir; // 0x568 - int32_t m_nSteps; // 0x574 - GameTime_t m_flChannelStartTime; // 0x578 - ParticleIndex_t m_nFXIndex; // 0x57c + int32_t max_steps; // 0x568 + Vector m_vTarget; // 0x56c + Vector m_vDir; // 0x578 + int32_t m_nSteps; // 0x584 + GameTime_t m_flChannelStartTime; // 0x588 + ParticleIndex_t m_nFXIndex; // 0x58c }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_Spectre_ActiveDispersion : public CDOTABaseAbility { public: - ParticleIndex_t m_nPreviewFX; // 0x558 - float duration; // 0x55c + ParticleIndex_t m_nPreviewFX; // 0x568 + float duration; // 0x56c }; // Alignment: 3 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_AghsFort_RockGolem_Smash : public CDOTABaseAbility { public: - ParticleIndex_t m_nPreviewFX; // 0x558 - Vector m_vTargetLoc; // 0x55c + ParticleIndex_t m_nPreviewFX; // 0x568 + Vector m_vTargetLoc; // 0x56c private: - [[maybe_unused]] uint8_t __pad0568[0x8]; // 0x568 + [[maybe_unused]] uint8_t __pad0578[0x8]; // 0x578 public: - int32_t radius; // 0x570 + int32_t radius; // 0x580 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_Creature_Phoenix_FireSpirits : public CDOTABaseAbility { public: - int32_t hp_cost_perc; // 0x558 + int32_t hp_cost_perc; // 0x568 }; // Alignment: 5 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_AghsFort_Creature_Phoenix_LaunchFireSpirit : public CDOTABaseAbility { public: - int32_t spirit_speed; // 0x558 - float duration; // 0x55c - int32_t radius; // 0x560 - int32_t hp_cost_perc; // 0x564 - ParticleIndex_t m_nFXIndex; // 0x568 + int32_t spirit_speed; // 0x568 + float duration; // 0x56c + int32_t radius; // 0x570 + int32_t hp_cost_perc; // 0x574 + ParticleIndex_t m_nFXIndex; // 0x578 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_Creature_Phoenix_Supernova : public CDOTABaseAbility { public: - ParticleIndex_t m_nPreviewFX; // 0x558 + ParticleIndex_t m_nPreviewFX; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_PudgeMiniboss_HatefulStrike : public CDOTABaseAbility { public: @@ -24862,7 +25301,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_PudgeMiniboss_ArmorCorruption : public CDOTABaseAbility { public: @@ -24870,22 +25309,22 @@ public: }; // Alignment: 5 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_AghsFort_Wave_Blast : public CDOTABaseAbility { public: - int32_t damage; // 0x558 - float knockback_duration; // 0x55c - float disarm_duration; // 0x560 + int32_t damage; // 0x568 + float knockback_duration; // 0x56c + float disarm_duration; // 0x570 private: - [[maybe_unused]] uint8_t __pad0564[0x4]; // 0x564 + [[maybe_unused]] uint8_t __pad0574[0x4]; // 0x574 public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x568 - ParticleIndex_t m_nPreviewFX; // 0x580 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x578 + ParticleIndex_t m_nPreviewFX; // 0x590 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Waveblaster_Leap : public CDOTABaseAbility { public: @@ -24893,19 +25332,19 @@ public: }; // Alignment: 5 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_AghsFort_Creature_Impale : public CDOTABaseAbility { public: - ParticleIndex_t m_nPreviewFX; // 0x558 - int32_t width; // 0x55c - float duration; // 0x560 - int32_t length; // 0x564 - int32_t speed; // 0x568 + ParticleIndex_t m_nPreviewFX; // 0x568 + int32_t width; // 0x56c + float duration; // 0x570 + int32_t length; // 0x574 + int32_t speed; // 0x578 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Creature_SpikedCarapace : public CDOTABaseAbility { public: @@ -24913,28 +25352,28 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Creature_Flamestrike : public CDOTABaseAbility { public: - ParticleIndex_t m_nPreviewFX; // 0x558 + ParticleIndex_t m_nPreviewFX; // 0x568 }; // Alignment: 6 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_AghsFort_DragonKnight_BreatheFire : public CDOTABaseAbility { public: - ParticleIndex_t m_nPreviewFX; // 0x558 - int32_t start_radius; // 0x55c - int32_t end_radius; // 0x560 - Vector m_vStartPos; // 0x564 - GameTime_t m_fStartTime; // 0x570 - float m_fTotalTime; // 0x574 + ParticleIndex_t m_nPreviewFX; // 0x568 + int32_t start_radius; // 0x56c + int32_t end_radius; // 0x570 + Vector m_vStartPos; // 0x574 + GameTime_t m_fStartTime; // 0x580 + float m_fTotalTime; // 0x584 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Gyrocopter_Multi_Homing_Missile : public CDOTABaseAbility { public: @@ -24942,30 +25381,30 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_PineCone_ShieldBash : public CDOTABaseAbility { public: - ParticleIndex_t m_nPreviewFX; // 0x558 + ParticleIndex_t m_nPreviewFX; // 0x568 }; // Alignment: 5 -// Size: 0x590 +// Size: 0x5a0 class CDOTA_Ability_PineCone_AcornShot : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x20]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x20]; // 0x568 public: // MNetworkEnable - uint32_t m_nAcornTree; // 0x578 - float projectile_speed; // 0x57c - float bounce_delay; // 0x580 - int32_t bounce_range; // 0x584 - int32_t bounce_count; // 0x588 + uint32_t m_nAcornTree; // 0x588 + float projectile_speed; // 0x58c + float bounce_delay; // 0x590 + int32_t bounce_range; // 0x594 + int32_t bounce_count; // 0x598 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Lifestealer_Enraged_Pulse : public CDOTABaseAbility { public: @@ -24973,28 +25412,28 @@ public: }; // Alignment: 11 -// Size: 0x5c0 +// Size: 0x5d0 class CDOTA_Ability_Aghanim_UrnUpheaval : public CDOTABaseAbility { public: - Vector m_vPosition; // 0x558 - float aoe; // 0x564 - float slow_rate; // 0x568 - float slow_rate_duration; // 0x56c - float duration; // 0x570 - float max_slow; // 0x574 - float burn_damage; // 0x578 - float m_flCurrentSlow; // 0x57c - ParticleIndex_t m_nFXIndex; // 0x580 + Vector m_vPosition; // 0x568 + float aoe; // 0x574 + float slow_rate; // 0x578 + float slow_rate_duration; // 0x57c + float duration; // 0x580 + float max_slow; // 0x584 + float burn_damage; // 0x588 + float m_flCurrentSlow; // 0x58c + ParticleIndex_t m_nFXIndex; // 0x590 private: - [[maybe_unused]] uint8_t __pad0584[0x4]; // 0x584 + [[maybe_unused]] uint8_t __pad0594[0x4]; // 0x594 public: - CountdownTimer m_SlowTimer; // 0x588 - CountdownTimer m_timer; // 0x5a0 + CountdownTimer m_SlowTimer; // 0x598 + CountdownTimer m_timer; // 0x5b0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_UpheavalUrn_Reincarnation : public CDOTABaseAbility { public: @@ -25002,7 +25441,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghanimsFortress_SkeletonKing_VampiricAura : public CDOTABaseAbility { public: @@ -25010,20 +25449,20 @@ public: }; // Alignment: 3 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_AghsFort_Shadow_Demon_Shadow_Poison : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_hPoisonedUnits; // 0x558 - int32_t radius; // 0x570 + CUtlVector< CHandle< CBaseEntity > > m_hPoisonedUnits; // 0x568 + int32_t radius; // 0x580 private: - [[maybe_unused]] uint8_t __pad0574[0x4]; // 0x574 + [[maybe_unused]] uint8_t __pad0584[0x4]; // 0x584 public: - CUtlVector< CHandle< CBaseEntity > > m_hHitUnits; // 0x578 + CUtlVector< CHandle< CBaseEntity > > m_hHitUnits; // 0x588 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Shadow_Demon_Shadow_Poison_Release : public CDOTABaseAbility { public: @@ -25031,42 +25470,42 @@ public: }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_ShadowShaman_Shackles : public CDOTABaseAbility { public: // MNetworkEnable - CHandle< CBaseEntity > m_hShackleTarget; // 0x558 - ParticleIndex_t nShackleFXIndex; // 0x55c + CHandle< CBaseEntity > m_hShackleTarget; // 0x568 + ParticleIndex_t nShackleFXIndex; // 0x56c }; // Alignment: 5 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Aghanim_Spear : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x558 - CUtlVector< int32 > m_vecProjectileHandles; // 0x570 + CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x568 + CUtlVector< int32 > m_vecProjectileHandles; // 0x580 private: - [[maybe_unused]] uint8_t __pad0588[0x8]; // 0x588 + [[maybe_unused]] uint8_t __pad0598[0x8]; // 0x598 public: - Vector m_vTarget; // 0x590 - Vector m_vSourcePosition; // 0x59c - int32_t damage; // 0x5a8 + Vector m_vTarget; // 0x5a0 + Vector m_vSourcePosition; // 0x5ac + int32_t damage; // 0x5b8 }; // Alignment: 3 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Aghsfort_Wildwing_Tornado_Blast : public CDOTABaseAbility { public: - float disable_duration; // 0x558 - float damage; // 0x55c - ParticleIndex_t m_nPreviewFX; // 0x560 + float disable_duration; // 0x568 + float damage; // 0x56c + ParticleIndex_t m_nPreviewFX; // 0x570 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_TreantMiniboss_NaturesGuise : public CDOTABaseAbility { public: @@ -25074,16 +25513,16 @@ public: }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_Creature_Venomancer_PoisonNova : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXPreview; // 0x558 - int32_t radius; // 0x55c + ParticleIndex_t m_nFXPreview; // 0x568 + int32_t radius; // 0x56c }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_AghsFort_Ability_Creature_Venomancer_PoisonSting : public CDOTABaseAbility { public: @@ -25091,68 +25530,68 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Aghsfort_Aziyog_Underlord_Firestorm : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 + ParticleIndex_t m_nFXIndex; // 0x568 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Aghsfort_Aziyog_Underlord_Portal_Warp : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hTarget; // 0x558 + CHandle< CBaseEntity > m_hTarget; // 0x568 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Aghsfort_Aziyog_Underlord_Dark_Portal : public CDOTABaseAbility { public: - float duration; // 0x558 + float duration; // 0x568 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Aghsfort_Ability_CrystalMaiden_CrystalNova : public CDOTABaseAbility { public: - int32_t nova_damage; // 0x558 + int32_t nova_damage; // 0x568 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Aghsfort_AbilityCrystalMaiden_FreezingField : public CDOTABaseAbility { public: - ParticleIndex_t m_nWarningFX; // 0x558 - ParticleIndex_t m_nRadiusFX; // 0x55c + ParticleIndex_t m_nWarningFX; // 0x568 + ParticleIndex_t m_nRadiusFX; // 0x56c }; // Alignment: 5 -// Size: 0x570 +// Size: 0x580 class CDOTA_Aghsfort_Ability_Creature_Magnus_Push_Skewer : public CDOTABaseAbility { public: - int32_t skewer_radius; // 0x558 - int32_t skewer_speed; // 0x55c - int32_t range; // 0x560 - int32_t tree_radius; // 0x564 - int32_t m_nProjectileID; // 0x568 + int32_t skewer_radius; // 0x568 + int32_t skewer_speed; // 0x56c + int32_t range; // 0x570 + int32_t tree_radius; // 0x574 + int32_t m_nProjectileID; // 0x578 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Aghsfort_Ability_Hoodwink_HuntersBoomerang : public CDOTABaseAbility { public: - int32_t min_distance; // 0x558 + int32_t min_distance; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Pugna_Grandmaster_NetherWard : public CDOTABaseAbility { public: @@ -25160,16 +25599,16 @@ public: }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_AssaultCaptain_SearingChains : public CDOTABaseAbility { public: - ParticleIndex_t m_nWarningFX; // 0x558 - ParticleIndex_t m_nRadiusFX; // 0x55c + ParticleIndex_t m_nWarningFX; // 0x568 + ParticleIndex_t m_nRadiusFX; // 0x56c }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_AssaultCaptain_SunRay : public CDOTABaseAbility { public: @@ -25177,46 +25616,46 @@ public: }; // Alignment: 4 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_AghsFort_TrapRoom_Hookshot : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 - Vector m_vProjectileVelocity; // 0x55c - bool m_bRetract; // 0x568 + ParticleIndex_t m_nFXIndex; // 0x568 + Vector m_vProjectileVelocity; // 0x56c + bool m_bRetract; // 0x578 private: - [[maybe_unused]] uint8_t __pad0569[0xb]; // 0x569 + [[maybe_unused]] uint8_t __pad0579[0xb]; // 0x579 public: - CHandle< CBaseEntity > m_hSourceCaster; // 0x574 + CHandle< CBaseEntity > m_hSourceCaster; // 0x584 }; // Alignment: 5 -// Size: 0x4b8 +// Size: 0x4c8 class CDOTA_AghsFort_BossPreview : public CBaseEntity { public: - CUtlSymbolLarge m_strBossUnit; // 0x498 - CUtlSymbolLarge m_strModelName; // 0x4a0 - float m_flBossModelScale; // 0x4a8 - float m_flExtraModelScale; // 0x4ac - int32_t m_nEncounterType; // 0x4b0 + CUtlSymbolLarge m_strBossUnit; // 0x4a8 + CUtlSymbolLarge m_strModelName; // 0x4b0 + float m_flBossModelScale; // 0x4b8 + float m_flExtraModelScale; // 0x4bc + int32_t m_nEncounterType; // 0x4c0 }; // Alignment: 2 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_AghsFort_Capture : public CDOTABaseAbility { public: // MNetworkEnable - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x558 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c public: - CDOTA_Buff* m_pMyBuff; // 0x560 + CDOTA_Buff* m_pMyBuff; // 0x570 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_HighFive : public CDOTABaseAbility { public: @@ -25224,7 +25663,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Jungle_Spirit_Reductions : public CDOTABaseAbility { public: @@ -25232,7 +25671,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Jungle_Spirit_RiverRejuvenation : public CDOTABaseAbility { public: @@ -25240,7 +25679,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morokai_TreantLevel : public CDOTABaseAbility { public: @@ -25248,15 +25687,15 @@ public: }; // Alignment: 1 -// Size: 0x608 +// Size: 0x618 class CDOTA_CDOTA_Item_BagOfGold_Caster_Only : public CDOTA_Item { public: - CHandle< CBaseEntity > m_hThinker; // 0x600 + CHandle< CBaseEntity > m_hThinker; // 0x610 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Morokai_JungleHealBeam : public CDOTABaseAbility { public: @@ -25264,7 +25703,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_SummonCreeps : public CDOTABaseAbility { public: @@ -25272,7 +25711,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_SecondBeam : public CDOTABaseAbility { public: @@ -25280,7 +25719,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_ThirdBeam : public CDOTABaseAbility { public: @@ -25288,7 +25727,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_BeamRange : public CDOTABaseAbility { public: @@ -25296,7 +25735,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_BeamHeal : public CDOTABaseAbility { public: @@ -25304,7 +25743,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_SummonCreeps_Interval : public CDOTABaseAbility { public: @@ -25312,7 +25751,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_Treant_Level : public CDOTABaseAbility { public: @@ -25320,22 +25759,22 @@ public: }; // Alignment: 6 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_JungleSpirit_Volcano_Eruption : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x8]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x8]; // 0x568 public: - int32_t m_iProjectile; // 0x560 - int32_t primary_explosion_radius; // 0x564 - int32_t secondary_explosion_radius; // 0x568 - int32_t split_radius; // 0x56c - char* szProjectileFXName; // 0x570 - char* szGroundMarkerFXName; // 0x578 + int32_t m_iProjectile; // 0x570 + int32_t primary_explosion_radius; // 0x574 + int32_t secondary_explosion_radius; // 0x578 + int32_t split_radius; // 0x57c + char* szProjectileFXName; // 0x580 + char* szGroundMarkerFXName; // 0x588 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_JungleSpirit_Volcano_Multitarget : public CDOTABaseAbility { public: @@ -25343,7 +25782,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_JungleSpirit_Volcano_Splinter : public CDOTABaseAbility { public: @@ -25351,7 +25790,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_JungleSpirit_Volcano_Damage_Bonus : public CDOTABaseAbility { public: @@ -25359,7 +25798,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_JungleSpirit_Storm_Cyclone : public CDOTABaseAbility { public: @@ -25367,7 +25806,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Jungle_Spirit_Storm_Cyclone_Damage : public CDOTABaseAbility { public: @@ -25375,7 +25814,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Jungle_Spirit_Storm_Cyclone_Projectiles : public CDOTABaseAbility { public: @@ -25383,7 +25822,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Jungle_Spirit_Storm_Cyclone_Debuff_Duration : public CDOTABaseAbility { public: @@ -25391,7 +25830,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Jungle_Spirit_Range_Attack : public CDOTABaseAbility { public: @@ -25399,7 +25838,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morokai_Range_Attack_Projectile_Duration : public CDOTABaseAbility { public: @@ -25407,7 +25846,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Morokai_Range_Attack_Aoe_Damage : public CDOTABaseAbility { public: @@ -25415,7 +25854,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Movement_Speed : public CDOTABaseAbility { public: @@ -25423,7 +25862,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Spell_Lifesteal : public CDOTABaseAbility { public: @@ -25431,7 +25870,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Evasion : public CDOTABaseAbility { public: @@ -25439,7 +25878,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Bonus_Health : public CDOTABaseAbility { public: @@ -25447,7 +25886,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Cooldown_Reduction : public CDOTABaseAbility { public: @@ -25455,7 +25894,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Magic_Resistance : public CDOTABaseAbility { public: @@ -25463,7 +25902,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Spell_Amplify : public CDOTABaseAbility { public: @@ -25471,7 +25910,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Attack_Damage : public CDOTABaseAbility { public: @@ -25479,7 +25918,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Health_Regen : public CDOTABaseAbility { public: @@ -25487,7 +25926,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Bonus_Armor : public CDOTABaseAbility { public: @@ -25495,7 +25934,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Seasonal_TI10_Portal : public CDOTABaseAbility { public: @@ -25503,7 +25942,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Seasonal_TI10_DiscoBall : public CDOTABaseAbility { public: @@ -25511,22 +25950,22 @@ public: }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_TI10_DiscoBall_Channel : public CDOTABaseAbility { public: // MNetworkEnable - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x558 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x568 // MNetworkEnable - float m_flChannelTime; // 0x55c + float m_flChannelTime; // 0x56c }; // Alignment: 1 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Seasonal_TI10_SoccerBall : public CDOTABaseAbility { public: - Vector m_vEndpoint; // 0x558 + Vector m_vEndpoint; // 0x568 // Static fields: static char* &Get_PARTICLE_SPAWN(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CDOTA_Ability_Seasonal_TI10_SoccerBall")->m_static_fields[0]->m_instance);}; @@ -25540,21 +25979,21 @@ public: }; // Alignment: 4 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Seasonal_TI10_HotPotato : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hTarget; // 0x558 + CHandle< CBaseEntity > m_hTarget; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0x8]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0x8]; // 0x56c public: - int32_t projectile_speed; // 0x564 - float time_to_explode; // 0x568 - GameTime_t throw_time; // 0x56c + int32_t projectile_speed; // 0x574 + float time_to_explode; // 0x578 + GameTime_t throw_time; // 0x57c }; // Alignment: 0 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Seasonal_TI10_HotPotato_ThrowExistingPotato : public CDOTA_Ability_Seasonal_TI10_HotPotato { public: @@ -25562,7 +26001,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_TI10_HighFive : public CDOTABaseAbility { public: @@ -25570,15 +26009,15 @@ public: }; // Alignment: 1 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_Seasonal_TI10_GuildBanner : public CDOTABaseAbility { public: - CUtlVectorFixedGrowable< CHandle< CBaseEntity > > m_vecBanners; // 0x558 + CUtlVectorFixedGrowable< CHandle< CBaseEntity > > m_vecBanners; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Seasonal_TI11_BubbleGun : public CDOTABaseAbility { public: @@ -25586,7 +26025,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Seasonal_TI11_RockPaperScissors : public CDOTABaseAbility { public: @@ -25594,7 +26033,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Seasonal_TI11_RockPaperScissors_Base : public CDOTABaseAbility { public: @@ -25602,7 +26041,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Seasonal_TI11_Rock : public CDOTA_Ability_Seasonal_TI11_RockPaperScissors_Base { public: @@ -25610,7 +26049,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Seasonal_TI11_Paper : public CDOTA_Ability_Seasonal_TI11_RockPaperScissors_Base { public: @@ -25618,7 +26057,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Seasonal_TI11_Scissors : public CDOTA_Ability_Seasonal_TI11_RockPaperScissors_Base { public: @@ -25626,48 +26065,48 @@ public: }; // Alignment: 4 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Seasonal_TI11_Balloon : public CDOTABaseAbility { public: - float charge_use_interval; // 0x558 - float max_usable_charges; // 0x55c - GameTime_t m_flLastChargeUseTime; // 0x560 - CHandle< CBaseEntity > m_hBalloon; // 0x564 + float charge_use_interval; // 0x568 + float max_usable_charges; // 0x56c + GameTime_t m_flLastChargeUseTime; // 0x570 + CHandle< CBaseEntity > m_hBalloon; // 0x574 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Seasonal_TI11_Duel : public CDOTABaseAbility { public: - float model_scale; // 0x558 + float model_scale; // 0x568 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Seasonal_TI11_CongaLine : public CDOTABaseAbility { public: - float max_duration; // 0x558 + float max_duration; // 0x568 }; // Alignment: 7 -// Size: 0x628 +// Size: 0x638 class CDOTA_Item_SpookyTeleportScroll : public CDOTA_Item { public: - CHandle< CBaseEntity > m_hTeleportTarget; // 0x600 - ParticleIndex_t m_nFXOrigin; // 0x604 - ParticleIndex_t m_nFXDestination; // 0x608 - Vector m_vDestination; // 0x60c - int32_t m_iMinDistance; // 0x618 - float m_flBaseTeleportTime; // 0x61c - float m_flExtraTeleportTime; // 0x620 + CHandle< CBaseEntity > m_hTeleportTarget; // 0x610 + ParticleIndex_t m_nFXOrigin; // 0x614 + ParticleIndex_t m_nFXDestination; // 0x618 + Vector m_vDestination; // 0x61c + int32_t m_iMinDistance; // 0x628 + float m_flBaseTeleportTime; // 0x62c + float m_flExtraTeleportTime; // 0x630 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Diretide_Portal : public CDOTABaseAbility { public: @@ -25675,20 +26114,20 @@ public: }; // Alignment: 5 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Diretide_Portal_Channel : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 - CHandle< CBaseEntity > m_hInitialPortal; // 0x55c - Vector m_vDestination; // 0x560 + ParticleIndex_t m_nFXIndex; // 0x568 + CHandle< CBaseEntity > m_hInitialPortal; // 0x56c + Vector m_vDestination; // 0x570 // MNetworkEnable - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x56c - CDOTA_Buff* m_pMyBuff; // 0x570 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x57c + CDOTA_Buff* m_pMyBuff; // 0x580 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Diretide2020_HighFive : public CDOTABaseAbility { public: @@ -25696,26 +26135,26 @@ public: }; // Alignment: 3 -// Size: 0x610 +// Size: 0x620 class CDOTA_Item_Spring2021_DefusalBomb : public CDOTA_Item { public: - CHandle< CBaseEntity > m_hThinker; // 0x600 - int32_t m_nOwnerTeamNumber; // 0x604 - bool m_bInBombSite; // 0x608 + CHandle< CBaseEntity > m_hThinker; // 0x610 + int32_t m_nOwnerTeamNumber; // 0x614 + bool m_bInBombSite; // 0x618 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Spring2021_DefusalBomb_Defuse : public CDOTABaseAbility { public: // MNetworkEnable - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x558 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Spring2021_TowerDeathRing : public CDOTABaseAbility { public: @@ -25723,7 +26162,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Plus_HighFive : public CDOTABaseAbility { public: @@ -25731,40 +26170,40 @@ public: }; // Alignment: 1 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_Plus_GuildBanner : public CDOTABaseAbility { public: - CUtlVectorFixedGrowable< CHandle< CBaseEntity > > m_vecBanners; // 0x558 + CUtlVectorFixedGrowable< CHandle< CBaseEntity > > m_vecBanners; // 0x568 }; // Alignment: 12 -// Size: 0x650 +// Size: 0x660 class CDOTA_Item_Muertas_Gun : public CDOTA_Item { public: - int32_t radius; // 0x600 - int32_t ricochet_radius_start; // 0x604 - int32_t ricochet_radius_end; // 0x608 - int32_t speed; // 0x60c - Vector m_vTargetPos; // 0x610 - Vector m_vEndpoint; // 0x61c - CHandle< CBaseEntity > m_hTreeTarget; // 0x628 - bool m_bHasRicocheted; // 0x62c - bool m_bHasRicochetDamaged; // 0x62d + int32_t radius; // 0x610 + int32_t ricochet_radius_start; // 0x614 + int32_t ricochet_radius_end; // 0x618 + int32_t speed; // 0x61c + Vector m_vTargetPos; // 0x620 + Vector m_vEndpoint; // 0x62c + CHandle< CBaseEntity > m_hTreeTarget; // 0x638 + bool m_bHasRicocheted; // 0x63c + bool m_bHasRicochetDamaged; // 0x63d private: - [[maybe_unused]] uint8_t __pad062e[0x2]; // 0x62e + [[maybe_unused]] uint8_t __pad063e[0x2]; // 0x63e public: - Vector m_vRicochetDir; // 0x630 + Vector m_vRicochetDir; // 0x640 private: - [[maybe_unused]] uint8_t __pad063c[0x8]; // 0x63c + [[maybe_unused]] uint8_t __pad064c[0x8]; // 0x64c public: - int32_t m_iTempViewerRadiant; // 0x644 - int32_t m_iTempViewerDire; // 0x648 + int32_t m_iTempViewerRadiant; // 0x654 + int32_t m_iTempViewerDire; // 0x658 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Ofrenda_Pledge : public CDOTA_Item { public: @@ -25772,7 +26211,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Ofrenda : public CDOTA_Item { public: @@ -25780,21 +26219,29 @@ public: }; // Alignment: 4 -// Size: 0x620 +// Size: 0x630 class CDOTA_Item_Ofrenda_Shovel : public CDOTA_Item { public: - Vector m_vTreasurePos; // 0x600 - Vector m_vChannelPos; // 0x60c - bool m_bIsUnderwater; // 0x618 + Vector m_vTreasurePos; // 0x610 + Vector m_vChannelPos; // 0x61c + bool m_bIsUnderwater; // 0x628 private: - [[maybe_unused]] uint8_t __pad0619[0x3]; // 0x619 + [[maybe_unused]] uint8_t __pad0629[0x3]; // 0x629 public: - ParticleIndex_t m_nPhaseStartFXIndex; // 0x61c + ParticleIndex_t m_nPhaseStartFXIndex; // 0x62c }; // Alignment: 0 -// Size: 0x600 +// Size: 0x568 +class CDOTA_Ability_Seasonal_10thAnniversary_PartyHat : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x610 class CDOTA_Item_Recipe_AghsFort_Bloodstone : public CDOTA_Item { public: @@ -25802,15 +26249,15 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_AghsFort_Bloodstone : public CDOTA_Item { public: // No members available }; -// Alignment: 28 -// Size: 0xd8 +// Alignment: 31 +// Size: 0xe8 struct PlayerResourcePlayerData_t { private: @@ -25897,6 +26344,15 @@ public: bool m_bHasNeutralTier[5]; // 0xcd // MNetworkEnable bool m_bHasRedeemedNeutralTier[5]; // 0xd2 +private: + [[maybe_unused]] uint8_t __pad00d7[0x1]; // 0xd7 +public: + // MNetworkEnable + int32_t m_nCommLevel; // 0xd8 + // MNetworkEnable + int32_t m_nBehaviorLevel; // 0xdc + // MNetworkEnable + float m_flLastCommsTime; // 0xe0 }; // Alignment: 1 @@ -25905,6 +26361,9 @@ struct CavernCrawlPathID_t { public: uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CavernCrawlPathID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 @@ -25922,6 +26381,9 @@ struct CavernCrawlRewardType_t { public: uint8_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CavernCrawlRewardType_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 12 @@ -25979,6 +26441,9 @@ struct BlessingTypeID_t { public: int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("BlessingTypeID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 @@ -25987,6 +26452,9 @@ struct BlessingID_t { public: int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("BlessingID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 5 @@ -26119,6 +26587,9 @@ struct BlessingPathID_t { public: int32_t m_Value; // 0x0 + + // Static fields: + static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("BlessingPathID_t")->m_static_fields[0]->m_instance);}; }; // Alignment: 3 @@ -26257,6 +26728,125 @@ public: int32_t nMinimapIcon; // 0x20c }; +// Alignment: 1 +// Size: 0x4 +struct TrackedStatKillEaterData_t +{ +public: + // MPropertyDescription "the kill eater id" + uint32_t unKillEaterEvent; // 0x0 +}; + +// Alignment: 1 +// Size: 0x8 +struct TrackedStatCombatQueryData_t +{ +public: + // MPropertyDescription "the combat query file" + CUtlString strCombatQueryPath; // 0x0 +}; + +// Alignment: 1 +// Size: 0x10 +struct TrackedStatExpressionData_t +{ +public: + // MPropertyDescription "The expression" + CUtlString strExpression; // 0x0 +}; + +// Alignment: 2 +// Size: 0x10 +struct TrackedStatAggregateData_t +{ +public: + // MPropertyDescription "The stat to aggregate" + CUtlString m_strIndividualStat; // 0x0 + // MPropertyDescription "The aggregate function" + ETrackedStatAggregate m_eAggregate; // 0x8 +}; + +// Alignment: 1 +// Size: 0x8 +struct TrackedStatHeroAdjectiveData_t +{ +public: + // MPropertyDescription "The adjective" + CUtlString m_strAdjective; // 0x0 +}; + +// Alignment: 6 +// Size: 0x38 +class CPlayerTrackedStatDefinition +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + // MPropertyDescription "unique integer ID of this stat" + // MVDataUniqueMonotonicInt + // MPropertyAttributeEditor "locked_int()" + TrackedStatID_t m_unStatID; // 0x8 + // MPropertyDescription "how this stat is implemented" + EPlayerTrackedStatImpl m_eStatImpl; // 0xc + // MPropertyDescription "For k_ePlayerTrackedStatImpl_KillEater, what is the kill eater information." + // MPropertySuppressExpr "m_eStatImpl != k_ePlayerTrackedStatImpl_KillEater" + TrackedStatKillEaterData_t m_killEaterData; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: + // MPropertyDescription "For k_ePlayerTrackedStatImpl_CombatQuery, what is the combat query information." + // MPropertySuppressExpr "m_eStatImpl != k_ePlayerTrackedStatImpl_CombatQuery" + TrackedStatCombatQueryData_t m_combatQueryData; // 0x18 + // MPropertyDescription "For k_ePlayerTrackedStatImpl_Expression, what is the expression information." + // MPropertySuppressExpr "m_eStatImpl != k_ePlayerTrackedStatImpl_Expression" + TrackedStatExpressionData_t m_expressionData; // 0x20 + // MPropertyDescription "For k_ePlayerTrackedStatImpl_HeroAdjective, what is the adjective information." + // MPropertySuppressExpr "m_eStatImpl != k_ePlayerTrackedStatImpl_HeroAdjective" + TrackedStatHeroAdjectiveData_t m_heroAdjectiveData; // 0x30 +}; + +// Alignment: 4 +// Size: 0x30 +class CTeamTrackedStatDefinition +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + // MPropertyDescription "unique integer ID of this stat" + // MVDataUniqueMonotonicInt + // MPropertyAttributeEditor "locked_int()" + TrackedStatID_t m_unStatID; // 0x8 + // MPropertyDescription "how this stat is implemented" + ETeamTrackedStatImpl m_eStatImpl; // 0xc + // MPropertyDescription "For k_eTeamTrackedStatImpl_Expression, what is the expression information." + // MPropertySuppressExpr "m_eStatImpl != k_ePlayerTrackedStatImpl_Expression" + TrackedStatExpressionData_t m_expressionData; // 0x10 + // MPropertyDescription "For k_eTeamTrackedStatImpl_PlayerAggregate, what is the aggregate information." + // MPropertySuppressExpr "m_eStatImpl != k_eTeamTrackedStatImpl_PlayerAggregate" + TrackedStatAggregateData_t m_aggregateData; // 0x20 +}; + +// Alignment: 4 +// Size: 0x30 +class CMatchTrackedStatDefinition +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + // MPropertyDescription "unique integer ID of this stat" + // MVDataUniqueMonotonicInt + // MPropertyAttributeEditor "locked_int()" + TrackedStatID_t m_unStatID; // 0x8 + // MPropertyDescription "how this stat is implemented" + EMatchTrackedStatImpl m_eStatImpl; // 0xc + // MPropertyDescription "For k_eMatchTrackedStatImpl_Expression, what is the expression information." + // MPropertySuppressExpr "m_eStatImpl != k_eMatchTrackedStatImpl_Expression" + TrackedStatExpressionData_t m_expressionData; // 0x10 + // MPropertyDescription "For k_eMatchTrackedStatImpl_PlayerAggregate or k_eMatchTrackedStatImpl_TeamAggregate, what is the aggregate information." + // MPropertySuppressExpr "m_eStatImpl != k_eMatchTrackedStatImpl_PlayerAggregate && m_eStatImpl != k_eMatchTrackedStatImpl_TeamAggregate" + TrackedStatAggregateData_t m_aggregateData; // 0x20 +}; + // Alignment: 68 // Size: -0x78e8 class CDOTA_Bot @@ -27187,7 +27777,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CPointEntity : public CBaseEntity { public: @@ -27195,136 +27785,136 @@ public: }; // Alignment: 25 -// Size: 0x1618 +// Size: 0x1628 class CEnvCombinedLightProbeVolume : public CBaseEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x10d0]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x10d0]; // 0x4a8 public: // MNetworkEnable // MNetworkChangeCallback "StateChanged" - Color m_Color; // 0x1568 + Color m_Color; // 0x1578 // MNetworkEnable // MNetworkChangeCallback "StateChanged" - float m_flBrightness; // 0x156c + float m_flBrightness; // 0x157c // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x1570 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x1580 // MNetworkEnable - bool m_bCustomCubemapTexture; // 0x1578 + bool m_bCustomCubemapTexture; // 0x1588 private: - [[maybe_unused]] uint8_t __pad1579[0x7]; // 0x1579 + [[maybe_unused]] uint8_t __pad1589[0x7]; // 0x1589 public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1580 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1590 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1588 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1598 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1590 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x15a0 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1598 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x15a8 // MNetworkEnable - Vector m_vBoxMins; // 0x15a0 + Vector m_vBoxMins; // 0x15b0 // MNetworkEnable - Vector m_vBoxMaxs; // 0x15ac + Vector m_vBoxMaxs; // 0x15bc // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x15b8 + CUtlSymbolLarge m_LightGroups; // 0x15c8 // MNetworkEnable - bool m_bMoveable; // 0x15c0 -private: - [[maybe_unused]] uint8_t __pad15c1[0x3]; // 0x15c1 -public: - // MNetworkEnable - int32_t m_nHandshake; // 0x15c4 - // MNetworkEnable - int32_t m_nEnvCubeMapArrayIndex; // 0x15c8 - // MNetworkEnable - int32_t m_nPriority; // 0x15cc - // MNetworkEnable - bool m_bStartDisabled; // 0x15d0 + bool m_bMoveable; // 0x15d0 private: [[maybe_unused]] uint8_t __pad15d1[0x3]; // 0x15d1 public: // MNetworkEnable - float m_flEdgeFadeDist; // 0x15d4 + int32_t m_nHandshake; // 0x15d4 // MNetworkEnable - Vector m_vEdgeFadeDists; // 0x15d8 + int32_t m_nEnvCubeMapArrayIndex; // 0x15d8 // MNetworkEnable - int32_t m_nLightProbeSizeX; // 0x15e4 + int32_t m_nPriority; // 0x15dc // MNetworkEnable - int32_t m_nLightProbeSizeY; // 0x15e8 - // MNetworkEnable - int32_t m_nLightProbeSizeZ; // 0x15ec - // MNetworkEnable - int32_t m_nLightProbeAtlasX; // 0x15f0 - // MNetworkEnable - int32_t m_nLightProbeAtlasY; // 0x15f4 - // MNetworkEnable - int32_t m_nLightProbeAtlasZ; // 0x15f8 + bool m_bStartDisabled; // 0x15e0 private: - [[maybe_unused]] uint8_t __pad15fc[0x15]; // 0x15fc + [[maybe_unused]] uint8_t __pad15e1[0x3]; // 0x15e1 public: // MNetworkEnable - bool m_bEnabled; // 0x1611 + float m_flEdgeFadeDist; // 0x15e4 + // MNetworkEnable + Vector m_vEdgeFadeDists; // 0x15e8 + // MNetworkEnable + int32_t m_nLightProbeSizeX; // 0x15f4 + // MNetworkEnable + int32_t m_nLightProbeSizeY; // 0x15f8 + // MNetworkEnable + int32_t m_nLightProbeSizeZ; // 0x15fc + // MNetworkEnable + int32_t m_nLightProbeAtlasX; // 0x1600 + // MNetworkEnable + int32_t m_nLightProbeAtlasY; // 0x1604 + // MNetworkEnable + int32_t m_nLightProbeAtlasZ; // 0x1608 +private: + [[maybe_unused]] uint8_t __pad160c[0x15]; // 0x160c +public: + // MNetworkEnable + bool m_bEnabled; // 0x1621 }; // Alignment: 19 -// Size: 0x5f8 +// Size: 0x608 class CEnvCubemap : public CBaseEntity { private: - [[maybe_unused]] uint8_t __pad0498[0xf0]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0xf0]; // 0x4a8 public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x588 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x598 // MNetworkEnable - bool m_bCustomCubemapTexture; // 0x590 + bool m_bCustomCubemapTexture; // 0x5a0 private: - [[maybe_unused]] uint8_t __pad0591[0x3]; // 0x591 + [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 public: // MNetworkEnable - float m_flInfluenceRadius; // 0x594 + float m_flInfluenceRadius; // 0x5a4 // MNetworkEnable - Vector m_vBoxProjectMins; // 0x598 + Vector m_vBoxProjectMins; // 0x5a8 // MNetworkEnable - Vector m_vBoxProjectMaxs; // 0x5a4 + Vector m_vBoxProjectMaxs; // 0x5b4 // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x5b0 + CUtlSymbolLarge m_LightGroups; // 0x5c0 // MNetworkEnable - bool m_bMoveable; // 0x5b8 + bool m_bMoveable; // 0x5c8 private: - [[maybe_unused]] uint8_t __pad05b9[0x3]; // 0x5b9 + [[maybe_unused]] uint8_t __pad05c9[0x3]; // 0x5c9 public: // MNetworkEnable - int32_t m_nHandshake; // 0x5bc + int32_t m_nHandshake; // 0x5cc // MNetworkEnable - int32_t m_nEnvCubeMapArrayIndex; // 0x5c0 + int32_t m_nEnvCubeMapArrayIndex; // 0x5d0 // MNetworkEnable - int32_t m_nPriority; // 0x5c4 + int32_t m_nPriority; // 0x5d4 // MNetworkEnable - float m_flEdgeFadeDist; // 0x5c8 + float m_flEdgeFadeDist; // 0x5d8 // MNetworkEnable - Vector m_vEdgeFadeDists; // 0x5cc + Vector m_vEdgeFadeDists; // 0x5dc // MNetworkEnable - float m_flDiffuseScale; // 0x5d8 + float m_flDiffuseScale; // 0x5e8 // MNetworkEnable - bool m_bStartDisabled; // 0x5dc + bool m_bStartDisabled; // 0x5ec // MNetworkEnable - bool m_bDefaultEnvMap; // 0x5dd + bool m_bDefaultEnvMap; // 0x5ed // MNetworkEnable - bool m_bDefaultSpecEnvMap; // 0x5de + bool m_bDefaultSpecEnvMap; // 0x5ee // MNetworkEnable - bool m_bIndoorCubeMap; // 0x5df + bool m_bIndoorCubeMap; // 0x5ef // MNetworkEnable - bool m_bCopyDiffuseFromDefaultCubemap; // 0x5e0 + bool m_bCopyDiffuseFromDefaultCubemap; // 0x5f0 private: - [[maybe_unused]] uint8_t __pad05e1[0xf]; // 0x5e1 + [[maybe_unused]] uint8_t __pad05f1[0xf]; // 0x5f1 public: // MNetworkEnable - bool m_bEnabled; // 0x5f0 + bool m_bEnabled; // 0x600 }; // Alignment: 0 -// Size: 0x5f8 +// Size: 0x608 class CEnvCubemapBox : public CEnvCubemap { public: @@ -27332,241 +27922,264 @@ public: }; // Alignment: 18 -// Size: 0x4e8 +// Size: 0x4f8 class CEnvCubemapFog : public CBaseEntity { public: // MNetworkEnable - float m_flEndDistance; // 0x498 + float m_flEndDistance; // 0x4a8 // MNetworkEnable - float m_flStartDistance; // 0x49c + float m_flStartDistance; // 0x4ac // MNetworkEnable - float m_flFogFalloffExponent; // 0x4a0 + float m_flFogFalloffExponent; // 0x4b0 // MNetworkEnable - bool m_bHeightFogEnabled; // 0x4a4 -private: - [[maybe_unused]] uint8_t __pad04a5[0x3]; // 0x4a5 -public: - // MNetworkEnable - float m_flFogHeightWidth; // 0x4a8 - // MNetworkEnable - float m_flFogHeightEnd; // 0x4ac - // MNetworkEnable - float m_flFogHeightStart; // 0x4b0 - // MNetworkEnable - float m_flFogHeightExponent; // 0x4b4 - // MNetworkEnable - float m_flLODBias; // 0x4b8 - // MNetworkEnable - bool m_bActive; // 0x4bc - // MNetworkEnable - bool m_bStartDisabled; // 0x4bd -private: - [[maybe_unused]] uint8_t __pad04be[0x2]; // 0x4be -public: - // MNetworkEnable - float m_flFogMaxOpacity; // 0x4c0 - // MNetworkEnable - int32_t m_nCubemapSourceType; // 0x4c4 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x4c8 - // MNetworkEnable - CUtlSymbolLarge m_iszSkyEntity; // 0x4d0 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogCubemapTexture; // 0x4d8 - // MNetworkEnable - bool m_bHasHeightFogEnd; // 0x4e0 - bool m_bFirstTime; // 0x4e1 -}; - -// Alignment: 18 -// Size: 0x14f0 -class CEnvLightProbeVolume : public CBaseEntity -{ -private: - [[maybe_unused]] uint8_t __pad0498[0xfe0]; // 0x498 -public: - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1478 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1480 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1488 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1490 - // MNetworkEnable - Vector m_vBoxMins; // 0x1498 - // MNetworkEnable - Vector m_vBoxMaxs; // 0x14a4 - // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x14b0 - // MNetworkEnable - bool m_bMoveable; // 0x14b8 -private: - [[maybe_unused]] uint8_t __pad14b9[0x3]; // 0x14b9 -public: - // MNetworkEnable - int32_t m_nHandshake; // 0x14bc - // MNetworkEnable - int32_t m_nPriority; // 0x14c0 - // MNetworkEnable - bool m_bStartDisabled; // 0x14c4 -private: - [[maybe_unused]] uint8_t __pad14c5[0x3]; // 0x14c5 -public: - // MNetworkEnable - int32_t m_nLightProbeSizeX; // 0x14c8 - // MNetworkEnable - int32_t m_nLightProbeSizeY; // 0x14cc - // MNetworkEnable - int32_t m_nLightProbeSizeZ; // 0x14d0 - // MNetworkEnable - int32_t m_nLightProbeAtlasX; // 0x14d4 - // MNetworkEnable - int32_t m_nLightProbeAtlasY; // 0x14d8 - // MNetworkEnable - int32_t m_nLightProbeAtlasZ; // 0x14dc -private: - [[maybe_unused]] uint8_t __pad14e0[0x9]; // 0x14e0 -public: - // MNetworkEnable - bool m_bEnabled; // 0x14e9 -}; - -// Alignment: 8 -// Size: 0x4c0 -class CTonemapController2 : public CBaseEntity -{ -public: - // MNetworkEnable - float m_flAutoExposureMin; // 0x498 - // MNetworkEnable - float m_flAutoExposureMax; // 0x49c - // MNetworkEnable - float m_flTonemapPercentTarget; // 0x4a0 - // MNetworkEnable - float m_flTonemapPercentBrightPixels; // 0x4a4 - // MNetworkEnable - float m_flTonemapMinAvgLum; // 0x4a8 - // MNetworkEnable - float m_flExposureAdaptationSpeedUp; // 0x4ac - // MNetworkEnable - float m_flExposureAdaptationSpeedDown; // 0x4b0 - // MNetworkEnable - float m_flTonemapEVSmoothingRange; // 0x4b4 -}; - -// Alignment: 28 -// Size: 0x518 -class CEnvVolumetricFogController : public CBaseEntity -{ -public: - // MNetworkEnable - float m_flScattering; // 0x498 - // MNetworkEnable - float m_flAnisotropy; // 0x49c - // MNetworkEnable - float m_flFadeSpeed; // 0x4a0 - // MNetworkEnable - float m_flDrawDistance; // 0x4a4 - // MNetworkEnable - float m_flFadeInStart; // 0x4a8 - // MNetworkEnable - float m_flFadeInEnd; // 0x4ac - // MNetworkEnable - float m_flIndirectStrength; // 0x4b0 - // MNetworkEnable - int32_t m_nIndirectTextureDimX; // 0x4b4 - // MNetworkEnable - int32_t m_nIndirectTextureDimY; // 0x4b8 - // MNetworkEnable - int32_t m_nIndirectTextureDimZ; // 0x4bc - // MNetworkEnable - Vector m_vBoxMins; // 0x4c0 - // MNetworkEnable - Vector m_vBoxMaxs; // 0x4cc - // MNetworkEnable - bool m_bActive; // 0x4d8 -private: - [[maybe_unused]] uint8_t __pad04d9[0x3]; // 0x4d9 -public: - // MNetworkEnable - GameTime_t m_flStartAnisoTime; // 0x4dc - // MNetworkEnable - GameTime_t m_flStartScatterTime; // 0x4e0 - // MNetworkEnable - GameTime_t m_flStartDrawDistanceTime; // 0x4e4 - // MNetworkEnable - float m_flStartAnisotropy; // 0x4e8 - // MNetworkEnable - float m_flStartScattering; // 0x4ec - // MNetworkEnable - float m_flStartDrawDistance; // 0x4f0 - // MNetworkEnable - float m_flDefaultAnisotropy; // 0x4f4 - // MNetworkEnable - float m_flDefaultScattering; // 0x4f8 - // MNetworkEnable - float m_flDefaultDrawDistance; // 0x4fc - // MNetworkEnable - bool m_bStartDisabled; // 0x500 - // MNetworkEnable - bool m_bEnableIndirect; // 0x501 - // MNetworkEnable - bool m_bIsMaster; // 0x502 -private: - [[maybe_unused]] uint8_t __pad0503[0x5]; // 0x503 -public: - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogIndirectTexture; // 0x508 - // MNetworkEnable - int32_t m_nForceRefreshCount; // 0x510 - bool m_bFirstTime; // 0x514 -}; - -// Alignment: 7 -// Size: 0x4c8 -class CEnvVolumetricFogVolume : public CBaseEntity -{ -public: - // MNetworkEnable - bool m_bActive; // 0x498 -private: - [[maybe_unused]] uint8_t __pad0499[0x3]; // 0x499 -public: - // MNetworkEnable - Vector m_vBoxMins; // 0x49c - // MNetworkEnable - Vector m_vBoxMaxs; // 0x4a8 - // MNetworkEnable - bool m_bStartDisabled; // 0x4b4 + bool m_bHeightFogEnabled; // 0x4b4 private: [[maybe_unused]] uint8_t __pad04b5[0x3]; // 0x4b5 public: // MNetworkEnable - float m_flStrength; // 0x4b8 + float m_flFogHeightWidth; // 0x4b8 // MNetworkEnable - int32_t m_nFalloffShape; // 0x4bc + float m_flFogHeightEnd; // 0x4bc // MNetworkEnable - float m_flFalloffExponent; // 0x4c0 + float m_flFogHeightStart; // 0x4c0 + // MNetworkEnable + float m_flFogHeightExponent; // 0x4c4 + // MNetworkEnable + float m_flLODBias; // 0x4c8 + // MNetworkEnable + bool m_bActive; // 0x4cc + // MNetworkEnable + bool m_bStartDisabled; // 0x4cd +private: + [[maybe_unused]] uint8_t __pad04ce[0x2]; // 0x4ce +public: + // MNetworkEnable + float m_flFogMaxOpacity; // 0x4d0 + // MNetworkEnable + int32_t m_nCubemapSourceType; // 0x4d4 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x4d8 + // MNetworkEnable + CUtlSymbolLarge m_iszSkyEntity; // 0x4e0 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogCubemapTexture; // 0x4e8 + // MNetworkEnable + bool m_bHasHeightFogEnd; // 0x4f0 + bool m_bFirstTime; // 0x4f1 +}; + +// Alignment: 18 +// Size: 0x1500 +class CEnvLightProbeVolume : public CBaseEntity +{ +private: + [[maybe_unused]] uint8_t __pad04a8[0xfe0]; // 0x4a8 +public: + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1488 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1490 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1498 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x14a0 + // MNetworkEnable + Vector m_vBoxMins; // 0x14a8 + // MNetworkEnable + Vector m_vBoxMaxs; // 0x14b4 + // MNetworkEnable + CUtlSymbolLarge m_LightGroups; // 0x14c0 + // MNetworkEnable + bool m_bMoveable; // 0x14c8 +private: + [[maybe_unused]] uint8_t __pad14c9[0x3]; // 0x14c9 +public: + // MNetworkEnable + int32_t m_nHandshake; // 0x14cc + // MNetworkEnable + int32_t m_nPriority; // 0x14d0 + // MNetworkEnable + bool m_bStartDisabled; // 0x14d4 +private: + [[maybe_unused]] uint8_t __pad14d5[0x3]; // 0x14d5 +public: + // MNetworkEnable + int32_t m_nLightProbeSizeX; // 0x14d8 + // MNetworkEnable + int32_t m_nLightProbeSizeY; // 0x14dc + // MNetworkEnable + int32_t m_nLightProbeSizeZ; // 0x14e0 + // MNetworkEnable + int32_t m_nLightProbeAtlasX; // 0x14e4 + // MNetworkEnable + int32_t m_nLightProbeAtlasY; // 0x14e8 + // MNetworkEnable + int32_t m_nLightProbeAtlasZ; // 0x14ec +private: + [[maybe_unused]] uint8_t __pad14f0[0x9]; // 0x14f0 +public: + // MNetworkEnable + bool m_bEnabled; // 0x14f9 +}; + +// Alignment: 6 +// Size: 0x4c0 +class CPlayerVisibility : public CBaseEntity +{ +public: + // MNetworkEnable + // MNetworkChangeCallback "PlayerVisibilityStateChanged" + float m_flVisibilityStrength; // 0x4a8 + // MNetworkEnable + // MNetworkChangeCallback "PlayerVisibilityStateChanged" + float m_flFogDistanceMultiplier; // 0x4ac + // MNetworkEnable + // MNetworkChangeCallback "PlayerVisibilityStateChanged" + float m_flFogMaxDensityMultiplier; // 0x4b0 + // MNetworkEnable + // MNetworkChangeCallback "PlayerVisibilityStateChanged" + float m_flFadeTime; // 0x4b4 + // MNetworkEnable + bool m_bStartDisabled; // 0x4b8 + // MNetworkEnable + bool m_bIsEnabled; // 0x4b9 +}; + +// Alignment: 8 +// Size: 0x4d0 +class CTonemapController2 : public CBaseEntity +{ +public: + // MNetworkEnable + float m_flAutoExposureMin; // 0x4a8 + // MNetworkEnable + float m_flAutoExposureMax; // 0x4ac + // MNetworkEnable + float m_flTonemapPercentTarget; // 0x4b0 + // MNetworkEnable + float m_flTonemapPercentBrightPixels; // 0x4b4 + // MNetworkEnable + float m_flTonemapMinAvgLum; // 0x4b8 + // MNetworkEnable + float m_flExposureAdaptationSpeedUp; // 0x4bc + // MNetworkEnable + float m_flExposureAdaptationSpeedDown; // 0x4c0 + // MNetworkEnable + float m_flTonemapEVSmoothingRange; // 0x4c4 +}; + +// Alignment: 28 +// Size: 0x528 +class CEnvVolumetricFogController : public CBaseEntity +{ +public: + // MNetworkEnable + float m_flScattering; // 0x4a8 + // MNetworkEnable + float m_flAnisotropy; // 0x4ac + // MNetworkEnable + float m_flFadeSpeed; // 0x4b0 + // MNetworkEnable + float m_flDrawDistance; // 0x4b4 + // MNetworkEnable + float m_flFadeInStart; // 0x4b8 + // MNetworkEnable + float m_flFadeInEnd; // 0x4bc + // MNetworkEnable + float m_flIndirectStrength; // 0x4c0 + // MNetworkEnable + int32_t m_nIndirectTextureDimX; // 0x4c4 + // MNetworkEnable + int32_t m_nIndirectTextureDimY; // 0x4c8 + // MNetworkEnable + int32_t m_nIndirectTextureDimZ; // 0x4cc + // MNetworkEnable + Vector m_vBoxMins; // 0x4d0 + // MNetworkEnable + Vector m_vBoxMaxs; // 0x4dc + // MNetworkEnable + bool m_bActive; // 0x4e8 +private: + [[maybe_unused]] uint8_t __pad04e9[0x3]; // 0x4e9 +public: + // MNetworkEnable + GameTime_t m_flStartAnisoTime; // 0x4ec + // MNetworkEnable + GameTime_t m_flStartScatterTime; // 0x4f0 + // MNetworkEnable + GameTime_t m_flStartDrawDistanceTime; // 0x4f4 + // MNetworkEnable + float m_flStartAnisotropy; // 0x4f8 + // MNetworkEnable + float m_flStartScattering; // 0x4fc + // MNetworkEnable + float m_flStartDrawDistance; // 0x500 + // MNetworkEnable + float m_flDefaultAnisotropy; // 0x504 + // MNetworkEnable + float m_flDefaultScattering; // 0x508 + // MNetworkEnable + float m_flDefaultDrawDistance; // 0x50c + // MNetworkEnable + bool m_bStartDisabled; // 0x510 + // MNetworkEnable + bool m_bEnableIndirect; // 0x511 + // MNetworkEnable + bool m_bIsMaster; // 0x512 +private: + [[maybe_unused]] uint8_t __pad0513[0x5]; // 0x513 +public: + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogIndirectTexture; // 0x518 + // MNetworkEnable + int32_t m_nForceRefreshCount; // 0x520 + bool m_bFirstTime; // 0x524 +}; + +// Alignment: 7 +// Size: 0x4d8 +class CEnvVolumetricFogVolume : public CBaseEntity +{ +public: + // MNetworkEnable + bool m_bActive; // 0x4a8 +private: + [[maybe_unused]] uint8_t __pad04a9[0x3]; // 0x4a9 +public: + // MNetworkEnable + Vector m_vBoxMins; // 0x4ac + // MNetworkEnable + Vector m_vBoxMaxs; // 0x4b8 + // MNetworkEnable + bool m_bStartDisabled; // 0x4c4 +private: + [[maybe_unused]] uint8_t __pad04c5[0x3]; // 0x4c5 +public: + // MNetworkEnable + float m_flStrength; // 0x4c8 + // MNetworkEnable + int32_t m_nFalloffShape; // 0x4cc + // MNetworkEnable + float m_flFalloffExponent; // 0x4d0 }; // Alignment: 3 -// Size: 0x508 +// Size: 0x518 class CFogController : public CBaseEntity { public: // MNetworkEnable - fogparams_t m_fog; // 0x498 - bool m_bUseAngles; // 0x500 + fogparams_t m_fog; // 0x4a8 + bool m_bUseAngles; // 0x510 private: - [[maybe_unused]] uint8_t __pad0501[0x3]; // 0x501 + [[maybe_unused]] uint8_t __pad0511[0x3]; // 0x511 public: - int32_t m_iChangedVariables; // 0x504 + int32_t m_iChangedVariables; // 0x514 }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoTarget : public CPointEntity { public: @@ -27574,7 +28187,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoTargetServerOnly : public CServerOnlyPointEntity { public: @@ -27582,7 +28195,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoParticleTarget : public CPointEntity { public: @@ -27590,295 +28203,298 @@ public: }; // Alignment: 3 -// Size: 0x4b0 +// Size: 0x4c0 class CInfoVisibilityBox : public CBaseEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x4]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x4]; // 0x4a8 public: // MNetworkEnable - int32_t m_nMode; // 0x49c + int32_t m_nMode; // 0x4ac // MNetworkEnable - Vector m_vBoxSize; // 0x4a0 + Vector m_vBoxSize; // 0x4b0 // MNetworkEnable - bool m_bEnabled; // 0x4ac + bool m_bEnabled; // 0x4bc }; // Alignment: 7 -// Size: 0x4d8 +// Size: 0x4e8 class CInfoWorldLayer : public CBaseEntity { public: - CEntityIOOutput m_pOutputOnEntitiesSpawned; // 0x498 + CEntityIOOutput m_pOutputOnEntitiesSpawned; // 0x4a8 // MNetworkEnable - CUtlSymbolLarge m_worldName; // 0x4c0 + CUtlSymbolLarge m_worldName; // 0x4d0 // MNetworkEnable - CUtlSymbolLarge m_layerName; // 0x4c8 + CUtlSymbolLarge m_layerName; // 0x4d8 // MNetworkEnable - bool m_bWorldLayerVisible; // 0x4d0 + bool m_bWorldLayerVisible; // 0x4e0 // MNetworkEnable - bool m_bEntitiesSpawned; // 0x4d1 - bool m_bCreateAsChildSpawnGroup; // 0x4d2 + bool m_bEntitiesSpawned; // 0x4e1 + bool m_bCreateAsChildSpawnGroup; // 0x4e2 private: - [[maybe_unused]] uint8_t __pad04d3[0x1]; // 0x4d3 + [[maybe_unused]] uint8_t __pad04e3[0x1]; // 0x4e3 public: - uint32_t m_hLayerSpawnGroup; // 0x4d4 + uint32_t m_hLayerSpawnGroup; // 0x4e4 }; // Alignment: 8 -// Size: 0x4d8 +// Size: 0x4e8 class CMultiLightProxy : public CLogicalEntity { public: - CUtlSymbolLarge m_iszLightNameFilter; // 0x498 - CUtlSymbolLarge m_iszLightClassFilter; // 0x4a0 - float m_flLightRadiusFilter; // 0x4a8 - float m_flBrightnessDelta; // 0x4ac - bool m_bPerformScreenFade; // 0x4b0 + CUtlSymbolLarge m_iszLightNameFilter; // 0x4a8 + CUtlSymbolLarge m_iszLightClassFilter; // 0x4b0 + float m_flLightRadiusFilter; // 0x4b8 + float m_flBrightnessDelta; // 0x4bc + bool m_bPerformScreenFade; // 0x4c0 private: - [[maybe_unused]] uint8_t __pad04b1[0x3]; // 0x4b1 + [[maybe_unused]] uint8_t __pad04c1[0x3]; // 0x4c1 public: - float m_flTargetBrightnessMultiplier; // 0x4b4 - float m_flCurrentBrightnessMultiplier; // 0x4b8 + float m_flTargetBrightnessMultiplier; // 0x4c4 + float m_flCurrentBrightnessMultiplier; // 0x4c8 private: - [[maybe_unused]] uint8_t __pad04bc[0x4]; // 0x4bc + [[maybe_unused]] uint8_t __pad04cc[0x4]; // 0x4cc public: - CUtlVector< CHandle< CLightEntity > > m_vecLights; // 0x4c0 + CUtlVector< CHandle< CLightEntity > > m_vecLights; // 0x4d0 }; // Alignment: 25 -// Size: 0x500 +// Size: 0x510 class CPointCamera : public CBaseEntity { public: // MNetworkEnable - float m_FOV; // 0x498 + float m_FOV; // 0x4a8 // MNetworkEnable - float m_Resolution; // 0x49c + float m_Resolution; // 0x4ac // MNetworkEnable - bool m_bFogEnable; // 0x4a0 + bool m_bFogEnable; // 0x4b0 // MNetworkEnable - Color m_FogColor; // 0x4a1 -private: - [[maybe_unused]] uint8_t __pad04a5[0x3]; // 0x4a5 -public: - // MNetworkEnable - float m_flFogStart; // 0x4a8 - // MNetworkEnable - float m_flFogEnd; // 0x4ac - // MNetworkEnable - float m_flFogMaxDensity; // 0x4b0 - // MNetworkEnable - bool m_bActive; // 0x4b4 - // MNetworkEnable - bool m_bUseScreenAspectRatio; // 0x4b5 -private: - [[maybe_unused]] uint8_t __pad04b6[0x2]; // 0x4b6 -public: - // MNetworkEnable - float m_flAspectRatio; // 0x4b8 - // MNetworkEnable - bool m_bNoSky; // 0x4bc -private: - [[maybe_unused]] uint8_t __pad04bd[0x3]; // 0x4bd -public: - // MNetworkEnable - float m_fBrightness; // 0x4c0 - // MNetworkEnable - float m_flZFar; // 0x4c4 - // MNetworkEnable - float m_flZNear; // 0x4c8 - // MNetworkEnable - float m_flOverrideShadowFarZ; // 0x4cc - // MNetworkEnable - bool m_bDofEnabled; // 0x4d0 -private: - [[maybe_unused]] uint8_t __pad04d1[0x3]; // 0x4d1 -public: - // MNetworkEnable - float m_flDofNearBlurry; // 0x4d4 - // MNetworkEnable - float m_flDofNearCrisp; // 0x4d8 - // MNetworkEnable - float m_flDofFarCrisp; // 0x4dc - // MNetworkEnable - float m_flDofFarBlurry; // 0x4e0 - // MNetworkEnable - float m_flDofTiltToGround; // 0x4e4 - float m_TargetFOV; // 0x4e8 - float m_DegreesPerSecond; // 0x4ec - bool m_bIsOn; // 0x4f0 -private: - [[maybe_unused]] uint8_t __pad04f1[0x7]; // 0x4f1 -public: - CPointCamera* m_pNext; // 0x4f8 -}; - -// Alignment: 1 -// Size: 0x508 -class CPointCameraVFOV : public CPointCamera -{ -public: - float m_flVerticalFOV; // 0x500 -}; - -// Alignment: 12 -// Size: 0x528 -class CPointTemplate : public CLogicalEntity -{ -public: - CUtlSymbolLarge m_iszWorldName; // 0x498 - CUtlSymbolLarge m_iszSource2EntityLumpName; // 0x4a0 - CUtlSymbolLarge m_iszEntityFilterName; // 0x4a8 - float m_flTimeoutInterval; // 0x4b0 - bool m_bAsynchronouslySpawnEntities; // 0x4b4 + Color m_FogColor; // 0x4b1 private: [[maybe_unused]] uint8_t __pad04b5[0x3]; // 0x4b5 public: - CEntityIOOutput m_pOutputOnSpawned; // 0x4b8 - PointTemplateClientOnlyEntityBehavior_t m_clientOnlyEntityBehavior; // 0x4e0 - PointTemplateOwnerSpawnGroupType_t m_ownerSpawnGroupType; // 0x4e4 - CUtlVector< uint32 > m_createdSpawnGroupHandles; // 0x4e8 - CUtlVector< CEntityHandle > m_SpawnedEntityHandles; // 0x500 - HSCRIPT m_ScriptSpawnCallback; // 0x518 - HSCRIPT m_ScriptCallbackScope; // 0x520 + // MNetworkEnable + float m_flFogStart; // 0x4b8 + // MNetworkEnable + float m_flFogEnd; // 0x4bc + // MNetworkEnable + float m_flFogMaxDensity; // 0x4c0 + // MNetworkEnable + bool m_bActive; // 0x4c4 + // MNetworkEnable + bool m_bUseScreenAspectRatio; // 0x4c5 +private: + [[maybe_unused]] uint8_t __pad04c6[0x2]; // 0x4c6 +public: + // MNetworkEnable + float m_flAspectRatio; // 0x4c8 + // MNetworkEnable + bool m_bNoSky; // 0x4cc +private: + [[maybe_unused]] uint8_t __pad04cd[0x3]; // 0x4cd +public: + // MNetworkEnable + float m_fBrightness; // 0x4d0 + // MNetworkEnable + float m_flZFar; // 0x4d4 + // MNetworkEnable + float m_flZNear; // 0x4d8 + // MNetworkEnable + float m_flOverrideShadowFarZ; // 0x4dc + // MNetworkEnable + bool m_bDofEnabled; // 0x4e0 +private: + [[maybe_unused]] uint8_t __pad04e1[0x3]; // 0x4e1 +public: + // MNetworkEnable + float m_flDofNearBlurry; // 0x4e4 + // MNetworkEnable + float m_flDofNearCrisp; // 0x4e8 + // MNetworkEnable + float m_flDofFarCrisp; // 0x4ec + // MNetworkEnable + float m_flDofFarBlurry; // 0x4f0 + // MNetworkEnable + float m_flDofTiltToGround; // 0x4f4 + float m_TargetFOV; // 0x4f8 + float m_DegreesPerSecond; // 0x4fc + bool m_bIsOn; // 0x500 +private: + [[maybe_unused]] uint8_t __pad0501[0x7]; // 0x501 +public: + CPointCamera* m_pNext; // 0x508 +}; + +// Alignment: 1 +// Size: 0x518 +class CPointCameraVFOV : public CPointCamera +{ +public: + float m_flVerticalFOV; // 0x510 +}; + +// Alignment: 12 +// Size: 0x538 +class CPointTemplate : public CLogicalEntity +{ +public: + CUtlSymbolLarge m_iszWorldName; // 0x4a8 + CUtlSymbolLarge m_iszSource2EntityLumpName; // 0x4b0 + CUtlSymbolLarge m_iszEntityFilterName; // 0x4b8 + float m_flTimeoutInterval; // 0x4c0 + bool m_bAsynchronouslySpawnEntities; // 0x4c4 +private: + [[maybe_unused]] uint8_t __pad04c5[0x3]; // 0x4c5 +public: + CEntityIOOutput m_pOutputOnSpawned; // 0x4c8 + PointTemplateClientOnlyEntityBehavior_t m_clientOnlyEntityBehavior; // 0x4f0 + PointTemplateOwnerSpawnGroupType_t m_ownerSpawnGroupType; // 0x4f4 + CUtlVector< uint32 > m_createdSpawnGroupHandles; // 0x4f8 + CUtlVector< CEntityHandle > m_SpawnedEntityHandles; // 0x510 + HSCRIPT m_ScriptSpawnCallback; // 0x528 + HSCRIPT m_ScriptCallbackScope; // 0x530 }; // Alignment: 4 -// Size: 0x4c8 +// Size: 0x4d8 class CGameGibManager : public CBaseEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x20]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x20]; // 0x4a8 public: - bool m_bAllowNewGibs; // 0x4b8 + bool m_bAllowNewGibs; // 0x4c8 private: - [[maybe_unused]] uint8_t __pad04b9[0x3]; // 0x4b9 + [[maybe_unused]] uint8_t __pad04c9[0x3]; // 0x4c9 public: - int32_t m_iCurrentMaxPieces; // 0x4bc - int32_t m_iMaxPieces; // 0x4c0 - int32_t m_iLastFrame; // 0x4c4 + int32_t m_iCurrentMaxPieces; // 0x4cc + int32_t m_iMaxPieces; // 0x4d0 + int32_t m_iLastFrame; // 0x4d4 }; // Alignment: 3 -// Size: 0x4b8 +// Size: 0x4c8 class CSoundAreaEntityBase : public CBaseEntity { public: // MNetworkEnable - bool m_bDisabled; // 0x498 + bool m_bDisabled; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad0499[0x7]; // 0x499 + [[maybe_unused]] uint8_t __pad04a9[0x7]; // 0x4a9 public: // MNetworkEnable - CUtlSymbolLarge m_iszSoundAreaType; // 0x4a0 + CUtlSymbolLarge m_iszSoundAreaType; // 0x4b0 // MNetworkEnable - Vector m_vPos; // 0x4a8 + Vector m_vPos; // 0x4b8 }; // Alignment: 1 -// Size: 0x4c0 +// Size: 0x4d0 class CSoundAreaEntitySphere : public CSoundAreaEntityBase { public: // MNetworkEnable - float m_flRadius; // 0x4b8 + float m_flRadius; // 0x4c8 }; // Alignment: 2 -// Size: 0x4d0 +// Size: 0x4e0 class CSoundAreaEntityOrientedBox : public CSoundAreaEntityBase { public: // MNetworkEnable - Vector m_vMin; // 0x4b8 + Vector m_vMin; // 0x4c8 // MNetworkEnable - Vector m_vMax; // 0x4c4 + Vector m_vMax; // 0x4d4 }; // Alignment: 4 -// Size: 0x550 +// Size: 0x560 class CTeam : public CBaseEntity { public: // MNetworkEnable // MNetworkAlias "m_aPlayers" - CNetworkUtlVectorBase< CHandle< CBasePlayerController > > m_aPlayerControllers; // 0x498 + CNetworkUtlVectorBase< CHandle< CBasePlayerController > > m_aPlayerControllers; // 0x4a8 // MNetworkEnable // MNetworkAlias "m_aPawns" - CNetworkUtlVectorBase< CHandle< CBasePlayerPawn > > m_aPlayers; // 0x4b0 + CNetworkUtlVectorBase< CHandle< CBasePlayerPawn > > m_aPlayers; // 0x4c0 // MNetworkEnable - int32_t m_iScore; // 0x4c8 + int32_t m_iScore; // 0x4d8 // MNetworkEnable - char m_szTeamname[129]; // 0x4cc + char m_szTeamname[129]; // 0x4dc }; // Alignment: 25 -// Size: 0x658 +// Size: 0x680 class CBasePlayerController : public CBaseEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x8]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x8]; // 0x4a8 public: - uint64_t m_nInButtonsWhichAreToggles; // 0x4a0 + uint64_t m_nInButtonsWhichAreToggles; // 0x4b0 // MNetworkEnable // MNetworkPriority "1" // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_nTickBase; // 0x4a8 + uint32_t m_nTickBase; // 0x4b8 private: - [[maybe_unused]] uint8_t __pad04ac[0x2c]; // 0x4ac + [[maybe_unused]] uint8_t __pad04bc[0x2c]; // 0x4bc public: // MNetworkEnable // MNetworkChangeCallback "OnPawnChanged" - CHandle< CBasePlayerPawn > m_hPawn; // 0x4d8 - CSplitScreenSlot m_nSplitScreenSlot; // 0x4dc - CHandle< CBasePlayerController > m_hSplitOwner; // 0x4e0 + CHandle< CBasePlayerPawn > m_hPawn; // 0x4e8 + CSplitScreenSlot m_nSplitScreenSlot; // 0x4ec + CHandle< CBasePlayerController > m_hSplitOwner; // 0x4f0 private: - [[maybe_unused]] uint8_t __pad04e4[0x4]; // 0x4e4 + [[maybe_unused]] uint8_t __pad04f4[0x4]; // 0x4f4 public: - CUtlVector< CHandle< CBasePlayerController > > m_hSplitScreenPlayers; // 0x4e8 - bool m_bIsHLTV; // 0x500 + CUtlVector< CHandle< CBasePlayerController > > m_hSplitScreenPlayers; // 0x4f8 + bool m_bIsHLTV; // 0x510 private: - [[maybe_unused]] uint8_t __pad0501[0x3]; // 0x501 + [[maybe_unused]] uint8_t __pad0511[0x3]; // 0x511 public: // MNetworkEnable // MNetworkChangeCallback "OnConnectionStateChanged" - PlayerConnectedState m_iConnected; // 0x504 + PlayerConnectedState m_iConnected; // 0x514 // MNetworkEnable // MNetworkChangeCallback "OnPlayerControllerNameChanged" - char m_iszPlayerName[128]; // 0x508 - CUtlString m_szNetworkIDString; // 0x588 - float m_fLerpTime; // 0x590 - bool m_bLagCompensation; // 0x594 - bool m_bPredict; // 0x595 - bool m_bAutoKickDisabled; // 0x596 - bool m_bIsLowViolence; // 0x597 - bool m_bGamePaused; // 0x598 + char m_iszPlayerName[128]; // 0x518 + CUtlString m_szNetworkIDString; // 0x598 + float m_fLerpTime; // 0x5a0 + bool m_bLagCompensation; // 0x5a4 + bool m_bPredict; // 0x5a5 + bool m_bAutoKickDisabled; // 0x5a6 + bool m_bIsLowViolence; // 0x5a7 + bool m_bGamePaused; // 0x5a8 private: - [[maybe_unused]] uint8_t __pad0599[0x6f]; // 0x599 + [[maybe_unused]] uint8_t __pad05a9[0x6f]; // 0x5a9 public: - int32_t m_nHighestCommandNumberReceived; // 0x608 + int32_t m_nHighestCommandNumberReceived; // 0x618 private: - [[maybe_unused]] uint8_t __pad060c[0x4]; // 0x60c + [[maybe_unused]] uint8_t __pad061c[0x4]; // 0x61c public: - int64_t m_nUsecTimestampLastUserCmdReceived; // 0x610 + int64_t m_nUsecTimestampLastUserCmdReceived; // 0x620 private: - [[maybe_unused]] uint8_t __pad0618[0x10]; // 0x618 + [[maybe_unused]] uint8_t __pad0628[0x10]; // 0x628 public: - ChatIgnoreType_t m_iIgnoreGlobalChat; // 0x628 - float m_flLastPlayerTalkTime; // 0x62c - float m_flLastEntitySteadyState; // 0x630 - int32_t m_nAvailableEntitySteadyState; // 0x634 - bool m_bHasAnySteadyStateEnts; // 0x638 + ChatIgnoreType_t m_iIgnoreGlobalChat; // 0x638 + float m_flLastPlayerTalkTime; // 0x63c + float m_flLastEntitySteadyState; // 0x640 + int32_t m_nAvailableEntitySteadyState; // 0x644 + bool m_bHasAnySteadyStateEnts; // 0x648 private: - [[maybe_unused]] uint8_t __pad0639[0xf]; // 0x639 + [[maybe_unused]] uint8_t __pad0649[0xf]; // 0x649 public: // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "OnSteamIDChanged" - uint64_t m_steamID; // 0x648 + uint64_t m_steamID; // 0x658 // MNetworkEnable - uint32_t m_iDesiredFOV; // 0x650 + uint32_t m_iDesiredFOV; // 0x660 + + // Static fields: + static bool &Get_sm_bRunningPredictedClientStringCommands(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBasePlayerController")->m_static_fields[0]->m_instance);}; }; // Alignment: 14 @@ -27915,21 +28531,21 @@ public: }; // Alignment: 2 -// Size: 0x4a8 +// Size: 0x4b8 class CInfoGameEventProxy : public CPointEntity { public: - CUtlSymbolLarge m_iszEventName; // 0x498 - float m_flRange; // 0x4a0 + CUtlSymbolLarge m_iszEventName; // 0x4a8 + float m_flRange; // 0x4b0 }; // Alignment: 2 -// Size: 0x4a0 +// Size: 0x4b0 class CProjectedDecal : public CPointEntity { public: - int32_t m_nTexture; // 0x498 - float m_flDistance; // 0x49c + int32_t m_nTexture; // 0x4a8 + float m_flDistance; // 0x4ac }; // Alignment: 2 @@ -27949,7 +28565,7 @@ public: }; // Alignment: 30 -// Size: 0x748 +// Size: 0x758 class CBaseModelEntity : public CBaseEntity { public: @@ -27957,85 +28573,85 @@ public: // MNetworkUserGroup "CRenderComponent" // MNetworkAlias "CRenderComponent" // MNetworkTypeAlias "CRenderComponent" - CRenderComponent* m_CRenderComponent; // 0x498 + CRenderComponent* m_CRenderComponent; // 0x4a8 // MNetworkEnable // MNetworkUserGroup "CHitboxComponent" // MNetworkAlias "CHitboxComponent" // MNetworkTypeAlias "CHitboxComponent" - CHitboxComponent m_CHitboxComponent; // 0x4a0 - GameTime_t m_flDissolveStartTime; // 0x4c8 + CHitboxComponent m_CHitboxComponent; // 0x4b0 + GameTime_t m_flDissolveStartTime; // 0x4d8 private: - [[maybe_unused]] uint8_t __pad04cc[0x4]; // 0x4cc + [[maybe_unused]] uint8_t __pad04dc[0x4]; // 0x4dc public: - CEntityIOOutput m_OnIgnite; // 0x4d0 - int32_t m_iViewerID; // 0x4f8 + CEntityIOOutput m_OnIgnite; // 0x4e0 + int32_t m_iViewerID; // 0x508 private: - [[maybe_unused]] uint8_t __pad04fc[0x44]; // 0x4fc + [[maybe_unused]] uint8_t __pad050c[0x44]; // 0x50c public: - int32_t m_iTeamVisibilityBitmask; // 0x540 + int32_t m_iTeamVisibilityBitmask; // 0x550 // MNetworkEnable - RenderMode_t m_nRenderMode; // 0x544 - bool m_bVisibilityDirtyFlag; // 0x545 - int16_t m_iFOWTempViewerID[10]; // 0x546 + RenderMode_t m_nRenderMode; // 0x554 + bool m_bVisibilityDirtyFlag; // 0x555 + int16_t m_iFOWTempViewerID[10]; // 0x556 // MNetworkEnable - RenderFx_t m_nRenderFX; // 0x55a - bool m_bAllowFadeInView; // 0x55b + RenderFx_t m_nRenderFX; // 0x56a + bool m_bAllowFadeInView; // 0x56b // MNetworkEnable // MNetworkChangeCallback "OnColorChanged" - Color m_clrRender; // 0x55c + Color m_clrRender; // 0x56c // MNetworkEnable // MNetworkChangeCallback "OnRenderAttributesChanged" - CUtlVectorEmbeddedNetworkVar< EntityRenderAttribute_t > m_vecRenderAttributes; // 0x560 + CUtlVectorEmbeddedNetworkVar< EntityRenderAttribute_t > m_vecRenderAttributes; // 0x570 // MNetworkEnable // MNetworkChangeCallback "OnLightGroupChanged" - CUtlStringToken m_LightGroup; // 0x5b0 + CUtlStringToken m_LightGroup; // 0x5c0 // MNetworkEnable - bool m_bRenderToCubemaps; // 0x5b4 + bool m_bRenderToCubemaps; // 0x5c4 private: - [[maybe_unused]] uint8_t __pad05b5[0x3]; // 0x5b5 + [[maybe_unused]] uint8_t __pad05c5[0x3]; // 0x5c5 public: // MNetworkEnable - CCollisionProperty m_Collision; // 0x5b8 + CCollisionProperty m_Collision; // 0x5c8 // MNetworkEnable - CGlowProperty m_Glow; // 0x668 + CGlowProperty m_Glow; // 0x678 // MNetworkEnable - float m_flGlowBackfaceMult; // 0x6c0 + float m_flGlowBackfaceMult; // 0x6d0 // MNetworkEnable - float m_fadeMinDist; // 0x6c4 + float m_fadeMinDist; // 0x6d4 // MNetworkEnable - float m_fadeMaxDist; // 0x6c8 + float m_fadeMaxDist; // 0x6d8 // MNetworkEnable - float m_flFadeScale; // 0x6cc + float m_flFadeScale; // 0x6dc // MNetworkEnable - float m_flShadowStrength; // 0x6d0 + float m_flShadowStrength; // 0x6e0 // MNetworkEnable - uint8_t m_nObjectCulling; // 0x6d4 + uint8_t m_nObjectCulling; // 0x6e4 private: - [[maybe_unused]] uint8_t __pad06d5[0x3]; // 0x6d5 + [[maybe_unused]] uint8_t __pad06e5[0x3]; // 0x6e5 public: // MNetworkEnable - int32_t m_nAddDecal; // 0x6d8 + int32_t m_nAddDecal; // 0x6e8 // MNetworkEnable - Vector m_vDecalPosition; // 0x6dc + Vector m_vDecalPosition; // 0x6ec // MNetworkEnable - Vector m_vDecalForwardAxis; // 0x6e8 + Vector m_vDecalForwardAxis; // 0x6f8 // MNetworkEnable - float m_flDecalHealBloodRate; // 0x6f4 + float m_flDecalHealBloodRate; // 0x704 // MNetworkEnable - float m_flDecalHealHeightRate; // 0x6f8 + float m_flDecalHealHeightRate; // 0x708 private: - [[maybe_unused]] uint8_t __pad06fc[0x4]; // 0x6fc + [[maybe_unused]] uint8_t __pad070c[0x4]; // 0x70c public: // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_ConfigEntitiesToPropagateMaterialDecalsTo; // 0x700 + CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_ConfigEntitiesToPropagateMaterialDecalsTo; // 0x710 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" - CNetworkViewOffsetVector m_vecViewOffset; // 0x718 + CNetworkViewOffsetVector m_vecViewOffset; // 0x728 }; // Alignment: 0 -// Size: 0x748 +// Size: 0x758 class CServerOnlyModelEntity : public CBaseModelEntity { public: @@ -28043,7 +28659,7 @@ public: }; // Alignment: 0 -// Size: 0x748 +// Size: 0x758 class CModelPointEntity : public CBaseModelEntity { public: @@ -28051,118 +28667,117 @@ public: }; // Alignment: 7 -// Size: 0x4f0 +// Size: 0x500 class CLogicRelay : public CLogicalEntity { public: - CEntityIOOutput m_OnTrigger; // 0x498 - CEntityIOOutput m_OnSpawn; // 0x4c0 - bool m_bDisabled; // 0x4e8 - bool m_bWaitForRefire; // 0x4e9 - bool m_bTriggerOnce; // 0x4ea - bool m_bFastRetrigger; // 0x4eb - bool m_bPassthoughCaller; // 0x4ec + CEntityIOOutput m_OnTrigger; // 0x4a8 + CEntityIOOutput m_OnSpawn; // 0x4d0 + bool m_bDisabled; // 0x4f8 + bool m_bWaitForRefire; // 0x4f9 + bool m_bTriggerOnce; // 0x4fa + bool m_bFastRetrigger; // 0x4fb + bool m_bPassthoughCaller; // 0x4fc }; -// Alignment: 21 -// Size: 0xcc0 +// Alignment: 22 +// Size: 0xcd0 class CParticleSystem : public CBaseModelEntity { public: // MNetworkEnable - char m_szSnapshotFileName[512]; // 0x748 + char m_szSnapshotFileName[512]; // 0x758 // MNetworkEnable - bool m_bActive; // 0x948 + bool m_bActive; // 0x958 // MNetworkEnable - bool m_bFrozen; // 0x949 + bool m_bFrozen; // 0x959 private: - [[maybe_unused]] uint8_t __pad094a[0x2]; // 0x94a + [[maybe_unused]] uint8_t __pad095a[0x2]; // 0x95a public: // MNetworkEnable - float m_flFreezeTransitionDuration; // 0x94c + float m_flFreezeTransitionDuration; // 0x95c // MNetworkEnable - int32_t m_nStopType; // 0x950 + int32_t m_nStopType; // 0x960 // MNetworkEnable - bool m_bAnimateDuringGameplayPause; // 0x954 + bool m_bAnimateDuringGameplayPause; // 0x964 private: - [[maybe_unused]] uint8_t __pad0955[0x3]; // 0x955 + [[maybe_unused]] uint8_t __pad0965[0x3]; // 0x965 public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x958 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x968 // MNetworkEnable - GameTime_t m_flStartTime; // 0x960 + GameTime_t m_flStartTime; // 0x970 // MNetworkEnable - float m_flPreSimTime; // 0x964 + float m_flPreSimTime; // 0x974 // MNetworkEnable - Vector m_vServerControlPoints[4]; // 0x968 + Vector m_vServerControlPoints[4]; // 0x978 // MNetworkEnable - uint8_t m_iServerControlPointAssignments[4]; // 0x998 + uint8_t m_iServerControlPointAssignments[4]; // 0x9a8 // MNetworkEnable - CHandle< CBaseEntity > m_hControlPointEnts[64]; // 0x99c + CHandle< CBaseEntity > m_hControlPointEnts[64]; // 0x9ac // MNetworkEnable - bool m_bNoSave; // 0xa9c + bool m_bNoSave; // 0xaac // MNetworkEnable - bool m_bNoFreeze; // 0xa9d - bool m_bStartActive; // 0xa9e -private: - [[maybe_unused]] uint8_t __pad0a9f[0x1]; // 0xa9f -public: - CUtlSymbolLarge m_iszEffectName; // 0xaa0 - CUtlSymbolLarge m_iszControlPointNames[64]; // 0xaa8 - int32_t m_nDataCP; // 0xca8 - Vector m_vecDataCPValue; // 0xcac - int32_t m_nTintCP; // 0xcb8 - Color m_clrTint; // 0xcbc + bool m_bNoFreeze; // 0xaad + // MNetworkEnable + bool m_bNoRamp; // 0xaae + bool m_bStartActive; // 0xaaf + CUtlSymbolLarge m_iszEffectName; // 0xab0 + CUtlSymbolLarge m_iszControlPointNames[64]; // 0xab8 + int32_t m_nDataCP; // 0xcb8 + Vector m_vecDataCPValue; // 0xcbc + int32_t m_nTintCP; // 0xcc8 + Color m_clrTint; // 0xccc }; // Alignment: 16 -// Size: 0x578 +// Size: 0x588 class CPathParticleRope : public CBaseEntity { public: - bool m_bStartActive; // 0x498 + bool m_bStartActive; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad0499[0x3]; // 0x499 + [[maybe_unused]] uint8_t __pad04a9[0x3]; // 0x4a9 public: - float m_flMaxSimulationTime; // 0x49c - CUtlSymbolLarge m_iszEffectName; // 0x4a0 - CUtlVector< CUtlSymbolLarge > m_PathNodes_Name; // 0x4a8 + float m_flMaxSimulationTime; // 0x4ac + CUtlSymbolLarge m_iszEffectName; // 0x4b0 + CUtlVector< CUtlSymbolLarge > m_PathNodes_Name; // 0x4b8 // MNetworkEnable - float m_flParticleSpacing; // 0x4c0 + float m_flParticleSpacing; // 0x4d0 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" - float m_flSlack; // 0x4c4 + float m_flSlack; // 0x4d4 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" - float m_flRadius; // 0x4c8 + float m_flRadius; // 0x4d8 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" - Color m_ColorTint; // 0x4cc + Color m_ColorTint; // 0x4dc // MNetworkEnable // MNetworkChangeCallback "effectStateChanged" - int32_t m_nEffectState; // 0x4d0 + int32_t m_nEffectState; // 0x4e0 private: - [[maybe_unused]] uint8_t __pad04d4[0x4]; // 0x4d4 + [[maybe_unused]] uint8_t __pad04e4[0x4]; // 0x4e4 public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x4d8 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x4e8 // MNetworkEnable - CNetworkUtlVectorBase< Vector > m_PathNodes_Position; // 0x4e0 + CNetworkUtlVectorBase< Vector > m_PathNodes_Position; // 0x4f0 // MNetworkEnable - CNetworkUtlVectorBase< Vector > m_PathNodes_TangentIn; // 0x4f8 + CNetworkUtlVectorBase< Vector > m_PathNodes_TangentIn; // 0x508 // MNetworkEnable - CNetworkUtlVectorBase< Vector > m_PathNodes_TangentOut; // 0x510 + CNetworkUtlVectorBase< Vector > m_PathNodes_TangentOut; // 0x520 // MNetworkEnable - CNetworkUtlVectorBase< Vector > m_PathNodes_Color; // 0x528 + CNetworkUtlVectorBase< Vector > m_PathNodes_Color; // 0x538 // MNetworkEnable // MNetworkChangeCallback "pinStateChanged" - CNetworkUtlVectorBase< bool > m_PathNodes_PinEnabled; // 0x540 + CNetworkUtlVectorBase< bool > m_PathNodes_PinEnabled; // 0x550 // MNetworkEnable - CNetworkUtlVectorBase< float32 > m_PathNodes_RadiusScale; // 0x558 + CNetworkUtlVectorBase< float32 > m_PathNodes_RadiusScale; // 0x568 }; // Alignment: 0 -// Size: 0x578 +// Size: 0x588 class CPathParticleRopeAlias_path_particle_rope_clientside : public CPathParticleRope { public: @@ -28170,15 +28785,15 @@ public: }; // Alignment: 1 -// Size: 0x750 +// Size: 0x760 class CFuncWall : public CBaseModelEntity { public: - int32_t m_nState; // 0x748 + int32_t m_nState; // 0x758 }; // Alignment: 0 -// Size: 0x750 +// Size: 0x760 class CFuncWallToggle : public CFuncWall { public: @@ -28186,7 +28801,7 @@ public: }; // Alignment: 0 -// Size: 0x748 +// Size: 0x758 class CFuncVehicleClip : public CBaseModelEntity { public: @@ -28194,7 +28809,7 @@ public: }; // Alignment: 0 -// Size: 0x748 +// Size: 0x758 class CFuncIllusionary : public CBaseModelEntity { public: @@ -28202,99 +28817,99 @@ public: }; // Alignment: 1 -// Size: 0x750 +// Size: 0x760 class CFuncVPhysicsClip : public CBaseModelEntity { public: - bool m_bDisabled; // 0x748 + bool m_bDisabled; // 0x758 }; // Alignment: 3 -// Size: 0x760 +// Size: 0x770 class CFuncInteractionLayerClip : public CBaseModelEntity { public: - bool m_bDisabled; // 0x748 + bool m_bDisabled; // 0x758 private: - [[maybe_unused]] uint8_t __pad0749[0x7]; // 0x749 + [[maybe_unused]] uint8_t __pad0759[0x7]; // 0x759 public: - CUtlSymbolLarge m_iszInteractsAs; // 0x750 - CUtlSymbolLarge m_iszInteractsWith; // 0x758 + CUtlSymbolLarge m_iszInteractsAs; // 0x760 + CUtlSymbolLarge m_iszInteractsWith; // 0x768 }; // Alignment: 3 -// Size: 0x510 +// Size: 0x520 class CCommentaryAuto : public CBaseEntity { public: - CEntityIOOutput m_OnCommentaryNewGame; // 0x498 - CEntityIOOutput m_OnCommentaryMidGame; // 0x4c0 - CEntityIOOutput m_OnCommentaryMultiplayerSpawn; // 0x4e8 + CEntityIOOutput m_OnCommentaryNewGame; // 0x4a8 + CEntityIOOutput m_OnCommentaryMidGame; // 0x4d0 + CEntityIOOutput m_OnCommentaryMultiplayerSpawn; // 0x4f8 }; // Alignment: 9 -// Size: 0x760 +// Size: 0x770 class CDynamicLight : public CBaseModelEntity { public: - uint8_t m_ActualFlags; // 0x748 + uint8_t m_ActualFlags; // 0x758 // MNetworkEnable - uint8_t m_Flags; // 0x749 + uint8_t m_Flags; // 0x759 // MNetworkEnable - uint8_t m_LightStyle; // 0x74a - bool m_On; // 0x74b + uint8_t m_LightStyle; // 0x75a + bool m_On; // 0x75b // MNetworkEnable - float m_Radius; // 0x74c + float m_Radius; // 0x75c // MNetworkEnable - int32_t m_Exponent; // 0x750 + int32_t m_Exponent; // 0x760 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "360.000000" - float m_InnerAngle; // 0x754 + float m_InnerAngle; // 0x764 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "360.000000" - float m_OuterAngle; // 0x758 + float m_OuterAngle; // 0x768 // MNetworkEnable - float m_SpotRadius; // 0x75c + float m_SpotRadius; // 0x76c }; // Alignment: 1 -// Size: 0x5480 +// Size: 0x5490 class CDebugHistory : public CBaseEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x1f4040]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x1f4040]; // 0x4a8 public: - int32_t m_nNpcEvents; // 0x1f44d8 + int32_t m_nNpcEvents; // 0x1f44e8 }; // Alignment: 12 -// Size: 0x538 +// Size: 0x548 class CEnvEntityMaker : public CPointEntity { public: - Vector m_vecEntityMins; // 0x498 - Vector m_vecEntityMaxs; // 0x4a4 - CHandle< CBaseEntity > m_hCurrentInstance; // 0x4b0 - CHandle< CBaseEntity > m_hCurrentBlocker; // 0x4b4 - Vector m_vecBlockerOrigin; // 0x4b8 - QAngle m_angPostSpawnDirection; // 0x4c4 - float m_flPostSpawnDirectionVariance; // 0x4d0 - float m_flPostSpawnSpeed; // 0x4d4 - bool m_bPostSpawnUseAngles; // 0x4d8 + Vector m_vecEntityMins; // 0x4a8 + Vector m_vecEntityMaxs; // 0x4b4 + CHandle< CBaseEntity > m_hCurrentInstance; // 0x4c0 + CHandle< CBaseEntity > m_hCurrentBlocker; // 0x4c4 + Vector m_vecBlockerOrigin; // 0x4c8 + QAngle m_angPostSpawnDirection; // 0x4d4 + float m_flPostSpawnDirectionVariance; // 0x4e0 + float m_flPostSpawnSpeed; // 0x4e4 + bool m_bPostSpawnUseAngles; // 0x4e8 private: - [[maybe_unused]] uint8_t __pad04d9[0x7]; // 0x4d9 + [[maybe_unused]] uint8_t __pad04e9[0x7]; // 0x4e9 public: - CUtlSymbolLarge m_iszTemplate; // 0x4e0 - CEntityIOOutput m_pOutputOnSpawned; // 0x4e8 - CEntityIOOutput m_pOutputOnFailedSpawn; // 0x510 + CUtlSymbolLarge m_iszTemplate; // 0x4f0 + CEntityIOOutput m_pOutputOnSpawned; // 0x4f8 + CEntityIOOutput m_pOutputOnFailedSpawn; // 0x520 }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoInstructorHintTarget : public CPointEntity { public: @@ -28302,176 +28917,167 @@ public: }; // Alignment: 24 -// Size: 0x508 +// Size: 0x518 class CEnvInstructorHint : public CPointEntity { public: - CUtlSymbolLarge m_iszName; // 0x498 - CUtlSymbolLarge m_iszReplace_Key; // 0x4a0 - CUtlSymbolLarge m_iszHintTargetEntity; // 0x4a8 - int32_t m_iTimeout; // 0x4b0 - int32_t m_iDisplayLimit; // 0x4b4 - CUtlSymbolLarge m_iszIcon_Onscreen; // 0x4b8 - CUtlSymbolLarge m_iszIcon_Offscreen; // 0x4c0 - CUtlSymbolLarge m_iszCaption; // 0x4c8 - CUtlSymbolLarge m_iszActivatorCaption; // 0x4d0 - Color m_Color; // 0x4d8 - float m_fIconOffset; // 0x4dc - float m_fRange; // 0x4e0 - uint8_t m_iPulseOption; // 0x4e4 - uint8_t m_iAlphaOption; // 0x4e5 - uint8_t m_iShakeOption; // 0x4e6 - bool m_bStatic; // 0x4e7 - bool m_bNoOffscreen; // 0x4e8 - bool m_bForceCaption; // 0x4e9 + CUtlSymbolLarge m_iszName; // 0x4a8 + CUtlSymbolLarge m_iszReplace_Key; // 0x4b0 + CUtlSymbolLarge m_iszHintTargetEntity; // 0x4b8 + int32_t m_iTimeout; // 0x4c0 + int32_t m_iDisplayLimit; // 0x4c4 + CUtlSymbolLarge m_iszIcon_Onscreen; // 0x4c8 + CUtlSymbolLarge m_iszIcon_Offscreen; // 0x4d0 + CUtlSymbolLarge m_iszCaption; // 0x4d8 + CUtlSymbolLarge m_iszActivatorCaption; // 0x4e0 + Color m_Color; // 0x4e8 + float m_fIconOffset; // 0x4ec + float m_fRange; // 0x4f0 + uint8_t m_iPulseOption; // 0x4f4 + uint8_t m_iAlphaOption; // 0x4f5 + uint8_t m_iShakeOption; // 0x4f6 + bool m_bStatic; // 0x4f7 + bool m_bNoOffscreen; // 0x4f8 + bool m_bForceCaption; // 0x4f9 private: - [[maybe_unused]] uint8_t __pad04ea[0x2]; // 0x4ea + [[maybe_unused]] uint8_t __pad04fa[0x2]; // 0x4fa public: - int32_t m_iInstanceType; // 0x4ec - bool m_bSuppressRest; // 0x4f0 + int32_t m_iInstanceType; // 0x4fc + bool m_bSuppressRest; // 0x500 private: - [[maybe_unused]] uint8_t __pad04f1[0x7]; // 0x4f1 + [[maybe_unused]] uint8_t __pad0501[0x7]; // 0x501 public: - CUtlSymbolLarge m_iszBinding; // 0x4f8 - bool m_bAllowNoDrawTarget; // 0x500 - bool m_bAutoStart; // 0x501 - bool m_bLocalPlayerOnly; // 0x502 + CUtlSymbolLarge m_iszBinding; // 0x508 + bool m_bAllowNoDrawTarget; // 0x510 + bool m_bAutoStart; // 0x511 + bool m_bLocalPlayerOnly; // 0x512 }; // Alignment: 9 -// Size: 0x4d8 +// Size: 0x4e8 class CEnvInstructorVRHint : public CPointEntity { public: - CUtlSymbolLarge m_iszName; // 0x498 - CUtlSymbolLarge m_iszHintTargetEntity; // 0x4a0 - int32_t m_iTimeout; // 0x4a8 + CUtlSymbolLarge m_iszName; // 0x4a8 + CUtlSymbolLarge m_iszHintTargetEntity; // 0x4b0 + int32_t m_iTimeout; // 0x4b8 private: - [[maybe_unused]] uint8_t __pad04ac[0x4]; // 0x4ac + [[maybe_unused]] uint8_t __pad04bc[0x4]; // 0x4bc public: - CUtlSymbolLarge m_iszCaption; // 0x4b0 - CUtlSymbolLarge m_iszStartSound; // 0x4b8 - int32_t m_iLayoutFileType; // 0x4c0 + CUtlSymbolLarge m_iszCaption; // 0x4c0 + CUtlSymbolLarge m_iszStartSound; // 0x4c8 + int32_t m_iLayoutFileType; // 0x4d0 private: - [[maybe_unused]] uint8_t __pad04c4[0x4]; // 0x4c4 + [[maybe_unused]] uint8_t __pad04d4[0x4]; // 0x4d4 public: - CUtlSymbolLarge m_iszCustomLayoutFile; // 0x4c8 - int32_t m_iAttachType; // 0x4d0 - float m_flHeightOffset; // 0x4d4 + CUtlSymbolLarge m_iszCustomLayoutFile; // 0x4d8 + int32_t m_iAttachType; // 0x4e0 + float m_flHeightOffset; // 0x4e4 }; // Alignment: 3 -// Size: 0x4b0 +// Size: 0x4c0 class CInstructorEventEntity : public CPointEntity { public: - CUtlSymbolLarge m_iszName; // 0x498 - CUtlSymbolLarge m_iszHintTargetEntity; // 0x4a0 - CHandle< CBasePlayerPawn > m_hTargetPlayer; // 0x4a8 + CUtlSymbolLarge m_iszName; // 0x4a8 + CUtlSymbolLarge m_iszHintTargetEntity; // 0x4b0 + CHandle< CBasePlayerPawn > m_hTargetPlayer; // 0x4b8 }; // Alignment: 5 -// Size: 0x520 +// Size: 0x530 class CEnvScreenOverlay : public CPointEntity { public: // MNetworkEnable - CUtlSymbolLarge m_iszOverlayNames[10]; // 0x498 + CUtlSymbolLarge m_iszOverlayNames[10]; // 0x4a8 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "-1.000000" // MNetworkMaxValue "63.000000" - float m_flOverlayTimes[10]; // 0x4e8 + float m_flOverlayTimes[10]; // 0x4f8 // MNetworkEnable - GameTime_t m_flStartTime; // 0x510 + GameTime_t m_flStartTime; // 0x520 // MNetworkEnable - int32_t m_iDesiredOverlay; // 0x514 + int32_t m_iDesiredOverlay; // 0x524 // MNetworkEnable - bool m_bIsActive; // 0x518 -}; - -// Alignment: 2 -// Size: 0x4a0 -class CEnvZoom : public CPointEntity -{ -public: - float m_flSpeed; // 0x498 - int32_t m_nFOV; // 0x49c + bool m_bIsActive; // 0x528 }; // Alignment: 4 -// Size: 0x4d0 +// Size: 0x4e0 class CEnvFade : public CLogicalEntity { public: // MNetworkEnable - Color m_fadeColor; // 0x498 - float m_Duration; // 0x49c - float m_HoldDuration; // 0x4a0 + Color m_fadeColor; // 0x4a8 + float m_Duration; // 0x4ac + float m_HoldDuration; // 0x4b0 private: - [[maybe_unused]] uint8_t __pad04a4[0x4]; // 0x4a4 + [[maybe_unused]] uint8_t __pad04b4[0x4]; // 0x4b4 public: - CEntityIOOutput m_OnBeginFade; // 0x4a8 + CEntityIOOutput m_OnBeginFade; // 0x4b8 }; // Alignment: 3 -// Size: 0x4c8 +// Size: 0x4d8 class CCredits : public CPointEntity { public: - CEntityIOOutput m_OnCreditsDone; // 0x498 - bool m_bRolledOutroCredits; // 0x4c0 + CEntityIOOutput m_OnCreditsDone; // 0x4a8 + bool m_bRolledOutroCredits; // 0x4d0 private: - [[maybe_unused]] uint8_t __pad04c1[0x3]; // 0x4c1 + [[maybe_unused]] uint8_t __pad04d1[0x3]; // 0x4d1 public: - float m_flLogoLength; // 0x4c4 + float m_flLogoLength; // 0x4d4 }; // Alignment: 10 -// Size: 0x4e8 +// Size: 0x4f8 class CEnvShake : public CPointEntity { public: - CUtlSymbolLarge m_limitToEntity; // 0x498 - float m_Amplitude; // 0x4a0 - float m_Frequency; // 0x4a4 - float m_Duration; // 0x4a8 - float m_Radius; // 0x4ac - GameTime_t m_stopTime; // 0x4b0 - GameTime_t m_nextShake; // 0x4b4 - float m_currentAmp; // 0x4b8 - Vector m_maxForce; // 0x4bc + CUtlSymbolLarge m_limitToEntity; // 0x4a8 + float m_Amplitude; // 0x4b0 + float m_Frequency; // 0x4b4 + float m_Duration; // 0x4b8 + float m_Radius; // 0x4bc + GameTime_t m_stopTime; // 0x4c0 + GameTime_t m_nextShake; // 0x4c4 + float m_currentAmp; // 0x4c8 + Vector m_maxForce; // 0x4cc private: - [[maybe_unused]] uint8_t __pad04c8[0x8]; // 0x4c8 + [[maybe_unused]] uint8_t __pad04d8[0x8]; // 0x4d8 public: - CPhysicsShake m_shakeCallback; // 0x4d0 + CPhysicsShake m_shakeCallback; // 0x4e0 }; // Alignment: 4 -// Size: 0x4a8 +// Size: 0x4b8 class CEnvTilt : public CPointEntity { public: - float m_Duration; // 0x498 - float m_Radius; // 0x49c - float m_TiltTime; // 0x4a0 - GameTime_t m_stopTime; // 0x4a4 + float m_Duration; // 0x4a8 + float m_Radius; // 0x4ac + float m_TiltTime; // 0x4b0 + GameTime_t m_stopTime; // 0x4b4 }; // Alignment: 5 -// Size: 0x4d0 +// Size: 0x4e0 class CEnvSpark : public CPointEntity { public: - float m_flDelay; // 0x498 - int32_t m_nMagnitude; // 0x49c - int32_t m_nTrailLength; // 0x4a0 - int32_t m_nType; // 0x4a4 - CEntityIOOutput m_OnSpark; // 0x4a8 + float m_flDelay; // 0x4a8 + int32_t m_nMagnitude; // 0x4ac + int32_t m_nTrailLength; // 0x4b0 + int32_t m_nType; // 0x4b4 + CEntityIOOutput m_OnSpark; // 0x4b8 }; // Alignment: 0 -// Size: 0x748 +// Size: 0x758 class CShower : public CModelPointEntity { public: @@ -28479,324 +29085,324 @@ public: }; // Alignment: 15 -// Size: 0x7a0 +// Size: 0x7b0 class CEnvExplosion : public CModelPointEntity { public: - int32_t m_iMagnitude; // 0x748 - float m_flPlayerDamage; // 0x74c - int32_t m_iRadiusOverride; // 0x750 - float m_flInnerRadius; // 0x754 - int32_t m_spriteScale; // 0x758 - float m_flDamageForce; // 0x75c - CHandle< CBaseEntity > m_hInflictor; // 0x760 - int32_t m_iCustomDamageType; // 0x764 + int32_t m_iMagnitude; // 0x758 + float m_flPlayerDamage; // 0x75c + int32_t m_iRadiusOverride; // 0x760 + float m_flInnerRadius; // 0x764 + int32_t m_spriteScale; // 0x768 + float m_flDamageForce; // 0x76c + CHandle< CBaseEntity > m_hInflictor; // 0x770 + int32_t m_iCustomDamageType; // 0x774 private: - [[maybe_unused]] uint8_t __pad0768[0x8]; // 0x768 + [[maybe_unused]] uint8_t __pad0778[0x8]; // 0x778 public: - CUtlSymbolLarge m_iszExplosionType; // 0x770 - CUtlSymbolLarge m_iszCustomEffectName; // 0x778 - CUtlSymbolLarge m_iszCustomSoundName; // 0x780 - Class_T m_iClassIgnore; // 0x788 - Class_T m_iClassIgnore2; // 0x78c - CUtlSymbolLarge m_iszEntityIgnoreName; // 0x790 - CHandle< CBaseEntity > m_hEntityIgnore; // 0x798 + CUtlSymbolLarge m_iszExplosionType; // 0x780 + CUtlSymbolLarge m_iszCustomEffectName; // 0x788 + CUtlSymbolLarge m_iszCustomSoundName; // 0x790 + Class_T m_iClassIgnore; // 0x798 + Class_T m_iClassIgnore2; // 0x79c + CUtlSymbolLarge m_iszEntityIgnoreName; // 0x7a0 + CHandle< CBaseEntity > m_hEntityIgnore; // 0x7a8 }; // Alignment: 1 -// Size: 0x4f8 +// Size: 0x508 class CFilterName : public CBaseFilter { public: - CUtlSymbolLarge m_iFilterName; // 0x4f0 + CUtlSymbolLarge m_iFilterName; // 0x500 }; // Alignment: 1 -// Size: 0x4f8 +// Size: 0x508 class CFilterModel : public CBaseFilter { public: - CUtlSymbolLarge m_iFilterModel; // 0x4f0 + CUtlSymbolLarge m_iFilterModel; // 0x500 }; // Alignment: 1 -// Size: 0x4f8 +// Size: 0x508 class CFilterContext : public CBaseFilter { public: - CUtlSymbolLarge m_iFilterContext; // 0x4f0 + CUtlSymbolLarge m_iFilterContext; // 0x500 }; // Alignment: 1 -// Size: 0x4f8 +// Size: 0x508 class FilterTeam : public CBaseFilter { public: - int32_t m_iFilterTeam; // 0x4f0 + int32_t m_iFilterTeam; // 0x500 }; // Alignment: 1 -// Size: 0x4f8 +// Size: 0x508 class CFilterMassGreater : public CBaseFilter { public: - float m_fFilterMass; // 0x4f0 + float m_fFilterMass; // 0x500 }; // Alignment: 1 -// Size: 0x4f8 +// Size: 0x508 class FilterDamageType : public CBaseFilter { public: - int32_t m_iDamageType; // 0x4f0 + int32_t m_iDamageType; // 0x500 }; // Alignment: 3 -// Size: 0x500 +// Size: 0x510 class FilterHealth : public CBaseFilter { public: - bool m_bAdrenalineActive; // 0x4f0 + bool m_bAdrenalineActive; // 0x500 private: - [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 + [[maybe_unused]] uint8_t __pad0501[0x3]; // 0x501 public: - int32_t m_iHealthMin; // 0x4f4 - int32_t m_iHealthMax; // 0x4f8 + int32_t m_iHealthMin; // 0x504 + int32_t m_iHealthMax; // 0x508 }; // Alignment: 5 -// Size: 0x510 +// Size: 0x520 class CFilterEnemy : public CBaseFilter { public: - CUtlSymbolLarge m_iszEnemyName; // 0x4f0 - float m_flRadius; // 0x4f8 - float m_flOuterRadius; // 0x4fc - int32_t m_nMaxSquadmatesPerEnemy; // 0x500 + CUtlSymbolLarge m_iszEnemyName; // 0x500 + float m_flRadius; // 0x508 + float m_flOuterRadius; // 0x50c + int32_t m_nMaxSquadmatesPerEnemy; // 0x510 private: - [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 + [[maybe_unused]] uint8_t __pad0514[0x4]; // 0x514 public: - CUtlSymbolLarge m_iszPlayerName; // 0x508 + CUtlSymbolLarge m_iszPlayerName; // 0x518 }; // Alignment: 1 -// Size: 0x4f8 +// Size: 0x508 class CFilterAttributeInt : public CBaseFilter { public: - CUtlStringToken m_sAttributeName; // 0x4f0 + CUtlStringToken m_sAttributeName; // 0x500 }; // Alignment: 5 -// Size: 0x4b0 +// Size: 0x4c0 class CFuncTimescale : public CBaseEntity { public: - float m_flDesiredTimescale; // 0x498 - float m_flAcceleration; // 0x49c - float m_flMinBlendRate; // 0x4a0 - float m_flBlendDeltaMultiplier; // 0x4a4 - bool m_isStarted; // 0x4a8 + float m_flDesiredTimescale; // 0x4a8 + float m_flAcceleration; // 0x4ac + float m_flMinBlendRate; // 0x4b0 + float m_flBlendDeltaMultiplier; // 0x4b4 + bool m_isStarted; // 0x4b8 }; // Alignment: 5 -// Size: 0x4d0 +// Size: 0x4e0 class CGameWeaponManager : public CBaseEntity { public: - CUtlSymbolLarge m_iszWeaponName; // 0x498 + CUtlSymbolLarge m_iszWeaponName; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad04a0[0x8]; // 0x4a0 + [[maybe_unused]] uint8_t __pad04b0[0x8]; // 0x4b0 public: - int32_t m_iMaxPieces; // 0x4a8 - float m_flAmmoMod; // 0x4ac - bool m_bExpectingWeapon; // 0x4b0 + int32_t m_iMaxPieces; // 0x4b8 + float m_flAmmoMod; // 0x4bc + bool m_bExpectingWeapon; // 0x4c0 private: - [[maybe_unused]] uint8_t __pad04b1[0x7]; // 0x4b1 + [[maybe_unused]] uint8_t __pad04c1[0x7]; // 0x4c1 public: - CUtlVector< CHandle< CBaseEntity > > m_ManagedNonWeapons; // 0x4b8 + CUtlVector< CHandle< CBaseEntity > > m_ManagedNonWeapons; // 0x4c8 }; // Alignment: 7 -// Size: 0x768 +// Size: 0x778 class CLightGlow : public CBaseModelEntity { public: // MNetworkEnable - uint32_t m_nHorizontalSize; // 0x748 + uint32_t m_nHorizontalSize; // 0x758 // MNetworkEnable - uint32_t m_nVerticalSize; // 0x74c + uint32_t m_nVerticalSize; // 0x75c // MNetworkEnable - uint32_t m_nMinDist; // 0x750 + uint32_t m_nMinDist; // 0x760 // MNetworkEnable - uint32_t m_nMaxDist; // 0x754 + uint32_t m_nMaxDist; // 0x764 // MNetworkEnable - uint32_t m_nOuterMaxDist; // 0x758 + uint32_t m_nOuterMaxDist; // 0x768 // MNetworkEnable // MNetworkBitCount "6" // MNetworkMinValue "0.000000" // MNetworkMaxValue "64.000000" // MNetworkEncodeFlags - float m_flGlowProxySize; // 0x75c + float m_flGlowProxySize; // 0x76c // MNetworkEnable // MNetworkMinValue "0.000000" // MNetworkMaxValue "100.000000" - float m_flHDRColorScale; // 0x760 + float m_flHDRColorScale; // 0x770 }; // Alignment: 3 -// Size: 0x4d0 +// Size: 0x4e0 class CLogicAchievement : public CLogicalEntity { public: - bool m_bDisabled; // 0x498 + bool m_bDisabled; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad0499[0x7]; // 0x499 + [[maybe_unused]] uint8_t __pad04a9[0x7]; // 0x4a9 public: - CUtlSymbolLarge m_iszAchievementEventID; // 0x4a0 - CEntityIOOutput m_OnFired; // 0x4a8 + CUtlSymbolLarge m_iszAchievementEventID; // 0x4b0 + CEntityIOOutput m_OnFired; // 0x4b8 }; // Alignment: 5 -// Size: 0x4e8 +// Size: 0x4f8 class CLogicGameEventListener : public CLogicalEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x10]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x10]; // 0x4a8 public: - CEntityIOOutput m_OnEventFired; // 0x4a8 - CUtlSymbolLarge m_iszGameEventName; // 0x4d0 - CUtlSymbolLarge m_iszGameEventItem; // 0x4d8 + CEntityIOOutput m_OnEventFired; // 0x4b8 + CUtlSymbolLarge m_iszGameEventName; // 0x4e0 + CUtlSymbolLarge m_iszGameEventItem; // 0x4e8 // MNetworkEnable - bool m_bEnabled; // 0x4e0 - bool m_bStartDisabled; // 0x4e1 + bool m_bEnabled; // 0x4f0 + bool m_bStartDisabled; // 0x4f1 }; // Alignment: 9 -// Size: 0x4c8 +// Size: 0x4d8 class CLogicMeasureMovement : public CLogicalEntity { public: - CUtlSymbolLarge m_strMeasureTarget; // 0x498 - CUtlSymbolLarge m_strMeasureReference; // 0x4a0 - CUtlSymbolLarge m_strTargetReference; // 0x4a8 - CHandle< CBaseEntity > m_hMeasureTarget; // 0x4b0 - CHandle< CBaseEntity > m_hMeasureReference; // 0x4b4 - CHandle< CBaseEntity > m_hTarget; // 0x4b8 - CHandle< CBaseEntity > m_hTargetReference; // 0x4bc - float m_flScale; // 0x4c0 - int32_t m_nMeasureType; // 0x4c4 + CUtlSymbolLarge m_strMeasureTarget; // 0x4a8 + CUtlSymbolLarge m_strMeasureReference; // 0x4b0 + CUtlSymbolLarge m_strTargetReference; // 0x4b8 + CHandle< CBaseEntity > m_hMeasureTarget; // 0x4c0 + CHandle< CBaseEntity > m_hMeasureReference; // 0x4c4 + CHandle< CBaseEntity > m_hTarget; // 0x4c8 + CHandle< CBaseEntity > m_hTargetReference; // 0x4cc + float m_flScale; // 0x4d0 + int32_t m_nMeasureType; // 0x4d4 }; // Alignment: 2 -// Size: 0x4a8 +// Size: 0x4b8 class CLogicNavigation : public CLogicalEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x8]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x8]; // 0x4a8 public: - bool m_isOn; // 0x4a0 + bool m_isOn; // 0x4b0 private: - [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 + [[maybe_unused]] uint8_t __pad04b1[0x3]; // 0x4b1 public: - navproperties_t m_navProperty; // 0x4a4 + navproperties_t m_navProperty; // 0x4b4 }; // Alignment: 48 -// Size: 0x7d8 +// Size: 0x7e8 class CLogicNPCCounter : public CBaseEntity { public: - CEntityIOOutput m_OnMinCountAll; // 0x498 - CEntityIOOutput m_OnMaxCountAll; // 0x4c0 - CEntityOutputTemplate< float32 > m_OnFactorAll; // 0x4e8 - CEntityOutputTemplate< float32 > m_OnMinPlayerDistAll; // 0x510 - CEntityIOOutput m_OnMinCount_1; // 0x538 - CEntityIOOutput m_OnMaxCount_1; // 0x560 - CEntityOutputTemplate< float32 > m_OnFactor_1; // 0x588 - CEntityOutputTemplate< float32 > m_OnMinPlayerDist_1; // 0x5b0 - CEntityIOOutput m_OnMinCount_2; // 0x5d8 - CEntityIOOutput m_OnMaxCount_2; // 0x600 - CEntityOutputTemplate< float32 > m_OnFactor_2; // 0x628 - CEntityOutputTemplate< float32 > m_OnMinPlayerDist_2; // 0x650 - CEntityIOOutput m_OnMinCount_3; // 0x678 - CEntityIOOutput m_OnMaxCount_3; // 0x6a0 - CEntityOutputTemplate< float32 > m_OnFactor_3; // 0x6c8 - CEntityOutputTemplate< float32 > m_OnMinPlayerDist_3; // 0x6f0 - CEntityHandle m_hSource; // 0x718 + CEntityIOOutput m_OnMinCountAll; // 0x4a8 + CEntityIOOutput m_OnMaxCountAll; // 0x4d0 + CEntityOutputTemplate< float32 > m_OnFactorAll; // 0x4f8 + CEntityOutputTemplate< float32 > m_OnMinPlayerDistAll; // 0x520 + CEntityIOOutput m_OnMinCount_1; // 0x548 + CEntityIOOutput m_OnMaxCount_1; // 0x570 + CEntityOutputTemplate< float32 > m_OnFactor_1; // 0x598 + CEntityOutputTemplate< float32 > m_OnMinPlayerDist_1; // 0x5c0 + CEntityIOOutput m_OnMinCount_2; // 0x5e8 + CEntityIOOutput m_OnMaxCount_2; // 0x610 + CEntityOutputTemplate< float32 > m_OnFactor_2; // 0x638 + CEntityOutputTemplate< float32 > m_OnMinPlayerDist_2; // 0x660 + CEntityIOOutput m_OnMinCount_3; // 0x688 + CEntityIOOutput m_OnMaxCount_3; // 0x6b0 + CEntityOutputTemplate< float32 > m_OnFactor_3; // 0x6d8 + CEntityOutputTemplate< float32 > m_OnMinPlayerDist_3; // 0x700 + CEntityHandle m_hSource; // 0x728 private: - [[maybe_unused]] uint8_t __pad071c[0x4]; // 0x71c + [[maybe_unused]] uint8_t __pad072c[0x4]; // 0x72c public: - CUtlSymbolLarge m_iszSourceEntityName; // 0x720 - float m_flDistanceMax; // 0x728 - bool m_bDisabled; // 0x72c + CUtlSymbolLarge m_iszSourceEntityName; // 0x730 + float m_flDistanceMax; // 0x738 + bool m_bDisabled; // 0x73c private: - [[maybe_unused]] uint8_t __pad072d[0x3]; // 0x72d + [[maybe_unused]] uint8_t __pad073d[0x3]; // 0x73d public: - int32_t m_nMinCountAll; // 0x730 - int32_t m_nMaxCountAll; // 0x734 - int32_t m_nMinFactorAll; // 0x738 - int32_t m_nMaxFactorAll; // 0x73c + int32_t m_nMinCountAll; // 0x740 + int32_t m_nMaxCountAll; // 0x744 + int32_t m_nMinFactorAll; // 0x748 + int32_t m_nMaxFactorAll; // 0x74c private: - [[maybe_unused]] uint8_t __pad0740[0x8]; // 0x740 + [[maybe_unused]] uint8_t __pad0750[0x8]; // 0x750 public: - CUtlSymbolLarge m_iszNPCClassname_1; // 0x748 - int32_t m_nNPCState_1; // 0x750 - bool m_bInvertState_1; // 0x754 + CUtlSymbolLarge m_iszNPCClassname_1; // 0x758 + int32_t m_nNPCState_1; // 0x760 + bool m_bInvertState_1; // 0x764 private: - [[maybe_unused]] uint8_t __pad0755[0x3]; // 0x755 + [[maybe_unused]] uint8_t __pad0765[0x3]; // 0x765 public: - int32_t m_nMinCount_1; // 0x758 - int32_t m_nMaxCount_1; // 0x75c - int32_t m_nMinFactor_1; // 0x760 - int32_t m_nMaxFactor_1; // 0x764 + int32_t m_nMinCount_1; // 0x768 + int32_t m_nMaxCount_1; // 0x76c + int32_t m_nMinFactor_1; // 0x770 + int32_t m_nMaxFactor_1; // 0x774 private: - [[maybe_unused]] uint8_t __pad0768[0x4]; // 0x768 + [[maybe_unused]] uint8_t __pad0778[0x4]; // 0x778 public: - float m_flDefaultDist_1; // 0x76c - CUtlSymbolLarge m_iszNPCClassname_2; // 0x770 - int32_t m_nNPCState_2; // 0x778 - bool m_bInvertState_2; // 0x77c + float m_flDefaultDist_1; // 0x77c + CUtlSymbolLarge m_iszNPCClassname_2; // 0x780 + int32_t m_nNPCState_2; // 0x788 + bool m_bInvertState_2; // 0x78c private: - [[maybe_unused]] uint8_t __pad077d[0x3]; // 0x77d + [[maybe_unused]] uint8_t __pad078d[0x3]; // 0x78d public: - int32_t m_nMinCount_2; // 0x780 - int32_t m_nMaxCount_2; // 0x784 - int32_t m_nMinFactor_2; // 0x788 - int32_t m_nMaxFactor_2; // 0x78c + int32_t m_nMinCount_2; // 0x790 + int32_t m_nMaxCount_2; // 0x794 + int32_t m_nMinFactor_2; // 0x798 + int32_t m_nMaxFactor_2; // 0x79c private: - [[maybe_unused]] uint8_t __pad0790[0x4]; // 0x790 + [[maybe_unused]] uint8_t __pad07a0[0x4]; // 0x7a0 public: - float m_flDefaultDist_2; // 0x794 - CUtlSymbolLarge m_iszNPCClassname_3; // 0x798 - int32_t m_nNPCState_3; // 0x7a0 - bool m_bInvertState_3; // 0x7a4 + float m_flDefaultDist_2; // 0x7a4 + CUtlSymbolLarge m_iszNPCClassname_3; // 0x7a8 + int32_t m_nNPCState_3; // 0x7b0 + bool m_bInvertState_3; // 0x7b4 private: - [[maybe_unused]] uint8_t __pad07a5[0x3]; // 0x7a5 + [[maybe_unused]] uint8_t __pad07b5[0x3]; // 0x7b5 public: - int32_t m_nMinCount_3; // 0x7a8 - int32_t m_nMaxCount_3; // 0x7ac - int32_t m_nMinFactor_3; // 0x7b0 - int32_t m_nMaxFactor_3; // 0x7b4 + int32_t m_nMinCount_3; // 0x7b8 + int32_t m_nMaxCount_3; // 0x7bc + int32_t m_nMinFactor_3; // 0x7c0 + int32_t m_nMaxFactor_3; // 0x7c4 private: - [[maybe_unused]] uint8_t __pad07b8[0x4]; // 0x7b8 + [[maybe_unused]] uint8_t __pad07c8[0x4]; // 0x7c8 public: - float m_flDefaultDist_3; // 0x7bc + float m_flDefaultDist_3; // 0x7cc }; // Alignment: 4 -// Size: 0x808 +// Size: 0x818 class CLogicNPCCounterAABB : public CLogicNPCCounter { public: - Vector m_vDistanceOuterMins; // 0x7d8 - Vector m_vDistanceOuterMaxs; // 0x7e4 - Vector m_vOuterMins; // 0x7f0 - Vector m_vOuterMaxs; // 0x7fc + Vector m_vDistanceOuterMins; // 0x7e8 + Vector m_vDistanceOuterMaxs; // 0x7f4 + Vector m_vOuterMins; // 0x800 + Vector m_vOuterMaxs; // 0x80c }; // Alignment: 0 -// Size: 0x808 +// Size: 0x818 class CLogicNPCCounterOBB : public CLogicNPCCounterAABB { public: @@ -28804,40 +29410,40 @@ public: }; // Alignment: 5 -// Size: 0x540 +// Size: 0x550 class CLogicPlayerProxy : public CLogicalEntity { public: - CHandle< CBaseEntity > m_hPlayer; // 0x498 + CHandle< CBaseEntity > m_hPlayer; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad049c[0x4]; // 0x49c + [[maybe_unused]] uint8_t __pad04ac[0x4]; // 0x4ac public: - CEntityIOOutput m_PlayerHasAmmo; // 0x4a0 - CEntityIOOutput m_PlayerHasNoAmmo; // 0x4c8 - CEntityIOOutput m_PlayerDied; // 0x4f0 - CEntityOutputTemplate< int32 > m_RequestedPlayerHealth; // 0x518 + CEntityIOOutput m_PlayerHasAmmo; // 0x4b0 + CEntityIOOutput m_PlayerHasNoAmmo; // 0x4d8 + CEntityIOOutput m_PlayerDied; // 0x500 + CEntityOutputTemplate< int32 > m_RequestedPlayerHealth; // 0x528 }; // Alignment: 11 -// Size: 0x630 +// Size: 0x640 class CLogicAuto : public CBaseEntity { public: - CEntityIOOutput m_OnMapSpawn; // 0x498 - CEntityIOOutput m_OnDemoMapSpawn; // 0x4c0 - CEntityIOOutput m_OnNewGame; // 0x4e8 - CEntityIOOutput m_OnLoadGame; // 0x510 - CEntityIOOutput m_OnMapTransition; // 0x538 - CEntityIOOutput m_OnBackgroundMap; // 0x560 - CEntityIOOutput m_OnMultiNewMap; // 0x588 - CEntityIOOutput m_OnMultiNewRound; // 0x5b0 - CEntityIOOutput m_OnVREnabled; // 0x5d8 - CEntityIOOutput m_OnVRNotEnabled; // 0x600 - CUtlSymbolLarge m_globalstate; // 0x628 + CEntityIOOutput m_OnMapSpawn; // 0x4a8 + CEntityIOOutput m_OnDemoMapSpawn; // 0x4d0 + CEntityIOOutput m_OnNewGame; // 0x4f8 + CEntityIOOutput m_OnLoadGame; // 0x520 + CEntityIOOutput m_OnMapTransition; // 0x548 + CEntityIOOutput m_OnBackgroundMap; // 0x570 + CEntityIOOutput m_OnMultiNewMap; // 0x598 + CEntityIOOutput m_OnMultiNewRound; // 0x5c0 + CEntityIOOutput m_OnVREnabled; // 0x5e8 + CEntityIOOutput m_OnVRNotEnabled; // 0x610 + CUtlSymbolLarge m_globalstate; // 0x638 }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CLogicScript : public CPointEntity { public: @@ -28845,425 +29451,425 @@ public: }; // Alignment: 13 -// Size: 0x538 +// Size: 0x548 class CTimerEntity : public CLogicalEntity { public: - CEntityIOOutput m_OnTimer; // 0x498 - CEntityIOOutput m_OnTimerHigh; // 0x4c0 - CEntityIOOutput m_OnTimerLow; // 0x4e8 - int32_t m_iDisabled; // 0x510 - float m_flInitialDelay; // 0x514 - float m_flRefireTime; // 0x518 - bool m_bUpDownState; // 0x51c + CEntityIOOutput m_OnTimer; // 0x4a8 + CEntityIOOutput m_OnTimerHigh; // 0x4d0 + CEntityIOOutput m_OnTimerLow; // 0x4f8 + int32_t m_iDisabled; // 0x520 + float m_flInitialDelay; // 0x524 + float m_flRefireTime; // 0x528 + bool m_bUpDownState; // 0x52c private: - [[maybe_unused]] uint8_t __pad051d[0x3]; // 0x51d + [[maybe_unused]] uint8_t __pad052d[0x3]; // 0x52d public: - int32_t m_iUseRandomTime; // 0x520 - bool m_bPauseAfterFiring; // 0x524 + int32_t m_iUseRandomTime; // 0x530 + bool m_bPauseAfterFiring; // 0x534 private: - [[maybe_unused]] uint8_t __pad0525[0x3]; // 0x525 + [[maybe_unused]] uint8_t __pad0535[0x3]; // 0x535 public: - float m_flLowerRandomBound; // 0x528 - float m_flUpperRandomBound; // 0x52c - float m_flRemainingTime; // 0x530 - bool m_bPaused; // 0x534 + float m_flLowerRandomBound; // 0x538 + float m_flUpperRandomBound; // 0x53c + float m_flRemainingTime; // 0x540 + bool m_bPaused; // 0x544 }; // Alignment: 4 -// Size: 0x4d0 +// Size: 0x4e0 class CLogicLineToEntity : public CLogicalEntity { public: - CEntityOutputTemplate< Vector > m_Line; // 0x498 - CUtlSymbolLarge m_SourceName; // 0x4c0 - CHandle< CBaseEntity > m_StartEntity; // 0x4c8 - CHandle< CBaseEntity > m_EndEntity; // 0x4cc + CEntityOutputTemplate< Vector > m_Line; // 0x4a8 + CUtlSymbolLarge m_SourceName; // 0x4d0 + CHandle< CBaseEntity > m_StartEntity; // 0x4d8 + CHandle< CBaseEntity > m_EndEntity; // 0x4dc }; // Alignment: 11 -// Size: 0x578 +// Size: 0x588 class CMathRemap : public CLogicalEntity { public: - float m_flInMin; // 0x498 - float m_flInMax; // 0x49c - float m_flOut1; // 0x4a0 - float m_flOut2; // 0x4a4 - float m_flOldInValue; // 0x4a8 - bool m_bEnabled; // 0x4ac + float m_flInMin; // 0x4a8 + float m_flInMax; // 0x4ac + float m_flOut1; // 0x4b0 + float m_flOut2; // 0x4b4 + float m_flOldInValue; // 0x4b8 + bool m_bEnabled; // 0x4bc private: - [[maybe_unused]] uint8_t __pad04ad[0x3]; // 0x4ad + [[maybe_unused]] uint8_t __pad04bd[0x3]; // 0x4bd public: - CEntityOutputTemplate< float32 > m_OutValue; // 0x4b0 - CEntityIOOutput m_OnRoseAboveMin; // 0x4d8 - CEntityIOOutput m_OnRoseAboveMax; // 0x500 - CEntityIOOutput m_OnFellBelowMin; // 0x528 - CEntityIOOutput m_OnFellBelowMax; // 0x550 + CEntityOutputTemplate< float32 > m_OutValue; // 0x4c0 + CEntityIOOutput m_OnRoseAboveMin; // 0x4e8 + CEntityIOOutput m_OnRoseAboveMax; // 0x510 + CEntityIOOutput m_OnFellBelowMin; // 0x538 + CEntityIOOutput m_OnFellBelowMax; // 0x560 }; // Alignment: 5 -// Size: 0x4d0 +// Size: 0x4e0 class CMathColorBlend : public CLogicalEntity { public: - float m_flInMin; // 0x498 - float m_flInMax; // 0x49c - Color m_OutColor1; // 0x4a0 - Color m_OutColor2; // 0x4a4 - CEntityOutputTemplate< Color > m_OutValue; // 0x4a8 + float m_flInMin; // 0x4a8 + float m_flInMax; // 0x4ac + Color m_OutColor1; // 0x4b0 + Color m_OutColor2; // 0x4b4 + CEntityOutputTemplate< Color > m_OutValue; // 0x4b8 }; // Alignment: 5 -// Size: 0x4d8 +// Size: 0x4e8 class CEnvGlobal : public CLogicalEntity { public: - CEntityOutputTemplate< int32 > m_outCounter; // 0x498 - CUtlSymbolLarge m_globalstate; // 0x4c0 - int32_t m_triggermode; // 0x4c8 - int32_t m_initialstate; // 0x4cc - int32_t m_counter; // 0x4d0 + CEntityOutputTemplate< int32 > m_outCounter; // 0x4a8 + CUtlSymbolLarge m_globalstate; // 0x4d0 + int32_t m_triggermode; // 0x4d8 + int32_t m_initialstate; // 0x4dc + int32_t m_counter; // 0x4e0 }; // Alignment: 5 -// Size: 0x5d0 +// Size: 0x5e0 class CMultiSource : public CLogicalEntity { public: - CHandle< CBaseEntity > m_rgEntities[32]; // 0x498 - int32_t m_rgTriggered[32]; // 0x518 - CEntityIOOutput m_OnTrigger; // 0x598 - int32_t m_iTotal; // 0x5c0 + CHandle< CBaseEntity > m_rgEntities[32]; // 0x4a8 + int32_t m_rgTriggered[32]; // 0x528 + CEntityIOOutput m_OnTrigger; // 0x5a8 + int32_t m_iTotal; // 0x5d0 private: - [[maybe_unused]] uint8_t __pad05c4[0x4]; // 0x5c4 + [[maybe_unused]] uint8_t __pad05d4[0x4]; // 0x5d4 public: - CUtlSymbolLarge m_globalstate; // 0x5c8 + CUtlSymbolLarge m_globalstate; // 0x5d8 }; // Alignment: 11 -// Size: 0x598 +// Size: 0x5a8 class CMathCounter : public CLogicalEntity { public: - float m_flMin; // 0x498 - float m_flMax; // 0x49c - bool m_bHitMin; // 0x4a0 - bool m_bHitMax; // 0x4a1 - bool m_bDisabled; // 0x4a2 + float m_flMin; // 0x4a8 + float m_flMax; // 0x4ac + bool m_bHitMin; // 0x4b0 + bool m_bHitMax; // 0x4b1 + bool m_bDisabled; // 0x4b2 private: - [[maybe_unused]] uint8_t __pad04a3[0x5]; // 0x4a3 + [[maybe_unused]] uint8_t __pad04b3[0x5]; // 0x4b3 public: - CEntityOutputTemplate< float32 > m_OutValue; // 0x4a8 - CEntityOutputTemplate< float32 > m_OnGetValue; // 0x4d0 - CEntityIOOutput m_OnHitMin; // 0x4f8 - CEntityIOOutput m_OnHitMax; // 0x520 - CEntityIOOutput m_OnChangedFromMin; // 0x548 - CEntityIOOutput m_OnChangedFromMax; // 0x570 + CEntityOutputTemplate< float32 > m_OutValue; // 0x4b8 + CEntityOutputTemplate< float32 > m_OnGetValue; // 0x4e0 + CEntityIOOutput m_OnHitMin; // 0x508 + CEntityIOOutput m_OnHitMax; // 0x530 + CEntityIOOutput m_OnChangedFromMin; // 0x558 + CEntityIOOutput m_OnChangedFromMax; // 0x580 }; // Alignment: 6 -// Size: 0xae8 +// Size: 0xaf8 class CLogicCase : public CLogicalEntity { public: - CUtlSymbolLarge m_nCase[32]; // 0x498 - int32_t m_nShuffleCases; // 0x598 - int32_t m_nLastShuffleCase; // 0x59c - uint8_t m_uchShuffleCaseMap[32]; // 0x5a0 - CEntityIOOutput m_OnCase[32]; // 0x5c0 - CEntityOutputTemplate< CVariantBase< CVariantDefaultAllocator > > m_OnDefault; // 0xac0 + CUtlSymbolLarge m_nCase[32]; // 0x4a8 + int32_t m_nShuffleCases; // 0x5a8 + int32_t m_nLastShuffleCase; // 0x5ac + uint8_t m_uchShuffleCaseMap[32]; // 0x5b0 + CEntityIOOutput m_OnCase[32]; // 0x5d0 + CEntityOutputTemplate< CVariantBase< CVariantDefaultAllocator > > m_OnDefault; // 0xad0 }; // Alignment: 6 -// Size: 0x540 +// Size: 0x550 class CLogicCompare : public CLogicalEntity { public: - float m_flInValue; // 0x498 - float m_flCompareValue; // 0x49c - CEntityOutputTemplate< float32 > m_OnLessThan; // 0x4a0 - CEntityOutputTemplate< float32 > m_OnEqualTo; // 0x4c8 - CEntityOutputTemplate< float32 > m_OnNotEqualTo; // 0x4f0 - CEntityOutputTemplate< float32 > m_OnGreaterThan; // 0x518 + float m_flInValue; // 0x4a8 + float m_flCompareValue; // 0x4ac + CEntityOutputTemplate< float32 > m_OnLessThan; // 0x4b0 + CEntityOutputTemplate< float32 > m_OnEqualTo; // 0x4d8 + CEntityOutputTemplate< float32 > m_OnNotEqualTo; // 0x500 + CEntityOutputTemplate< float32 > m_OnGreaterThan; // 0x528 }; // Alignment: 3 -// Size: 0x4a8 +// Size: 0x4b8 class CLogicAutosave : public CLogicalEntity { public: - bool m_bForceNewLevelUnit; // 0x498 + bool m_bForceNewLevelUnit; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad0499[0x3]; // 0x499 + [[maybe_unused]] uint8_t __pad04a9[0x3]; // 0x4a9 public: - int32_t m_minHitPoints; // 0x49c - int32_t m_minHitPointsToCommit; // 0x4a0 + int32_t m_minHitPoints; // 0x4ac + int32_t m_minHitPointsToCommit; // 0x4b0 }; // Alignment: 4 -// Size: 0x4b8 +// Size: 0x4c8 class CLogicActiveAutosave : public CLogicAutosave { public: - int32_t m_TriggerHitPoints; // 0x4a8 - float m_flTimeToTrigger; // 0x4ac - GameTime_t m_flStartTime; // 0x4b0 - float m_flDangerousTime; // 0x4b4 + int32_t m_TriggerHitPoints; // 0x4b8 + float m_flTimeToTrigger; // 0x4bc + GameTime_t m_flStartTime; // 0x4c0 + float m_flDangerousTime; // 0x4c4 }; // Alignment: 6 -// Size: 0x4b0 +// Size: 0x4c0 class CLogicDistanceAutosave : public CLogicalEntity { public: - CUtlSymbolLarge m_iszTargetEntity; // 0x498 - float m_flDistanceToPlayer; // 0x4a0 - bool m_bForceNewLevelUnit; // 0x4a4 - bool m_bCheckCough; // 0x4a5 - bool m_bThinkDangerous; // 0x4a6 + CUtlSymbolLarge m_iszTargetEntity; // 0x4a8 + float m_flDistanceToPlayer; // 0x4b0 + bool m_bForceNewLevelUnit; // 0x4b4 + bool m_bCheckCough; // 0x4b5 + bool m_bThinkDangerous; // 0x4b6 private: - [[maybe_unused]] uint8_t __pad04a7[0x1]; // 0x4a7 + [[maybe_unused]] uint8_t __pad04b7[0x1]; // 0x4b7 public: - float m_flDangerousTime; // 0x4a8 + float m_flDangerousTime; // 0x4b8 }; // Alignment: 4 -// Size: 0x4b0 +// Size: 0x4c0 class CLogicCollisionPair : public CLogicalEntity { public: - CUtlSymbolLarge m_nameAttach1; // 0x498 - CUtlSymbolLarge m_nameAttach2; // 0x4a0 - bool m_disabled; // 0x4a8 - bool m_succeeded; // 0x4a9 + CUtlSymbolLarge m_nameAttach1; // 0x4a8 + CUtlSymbolLarge m_nameAttach2; // 0x4b0 + bool m_disabled; // 0x4b8 + bool m_succeeded; // 0x4b9 }; // Alignment: 6 -// Size: 0x5b0 +// Size: 0x5c0 class CLogicBranchList : public CLogicalEntity { public: - CUtlSymbolLarge m_nLogicBranchNames[16]; // 0x498 - CUtlVector< CHandle< CBaseEntity > > m_LogicBranchList; // 0x518 - CLogicBranchList::LogicBranchListenerLastState_t m_eLastState; // 0x530 + CUtlSymbolLarge m_nLogicBranchNames[16]; // 0x4a8 + CUtlVector< CHandle< CBaseEntity > > m_LogicBranchList; // 0x528 + CLogicBranchList::LogicBranchListenerLastState_t m_eLastState; // 0x540 private: - [[maybe_unused]] uint8_t __pad0534[0x4]; // 0x534 + [[maybe_unused]] uint8_t __pad0544[0x4]; // 0x544 public: - CEntityIOOutput m_OnAllTrue; // 0x538 - CEntityIOOutput m_OnAllFalse; // 0x560 - CEntityIOOutput m_OnMixed; // 0x588 + CEntityIOOutput m_OnAllTrue; // 0x548 + CEntityIOOutput m_OnAllFalse; // 0x570 + CEntityIOOutput m_OnMixed; // 0x598 }; // Alignment: 1 -// Size: 0x4a0 +// Size: 0x4b0 class CLogicGameEvent : public CLogicalEntity { public: - CUtlSymbolLarge m_iszEventName; // 0x498 + CUtlSymbolLarge m_iszEventName; // 0x4a8 }; // Alignment: 5 -// Size: 0x4b0 +// Size: 0x4c0 class CMessageEntity : public CPointEntity { public: - int32_t m_radius; // 0x498 + int32_t m_radius; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad049c[0x4]; // 0x49c + [[maybe_unused]] uint8_t __pad04ac[0x4]; // 0x4ac public: - CUtlSymbolLarge m_messageText; // 0x4a0 - bool m_drawText; // 0x4a8 - bool m_bDeveloperOnly; // 0x4a9 - bool m_bEnabled; // 0x4aa + CUtlSymbolLarge m_messageText; // 0x4b0 + bool m_drawText; // 0x4b8 + bool m_bDeveloperOnly; // 0x4b9 + bool m_bEnabled; // 0x4ba }; // Alignment: 5 -// Size: 0x7c8 +// Size: 0x7d8 class CTriggerBrush : public CBaseModelEntity { public: - CEntityIOOutput m_OnStartTouch; // 0x748 - CEntityIOOutput m_OnEndTouch; // 0x770 - CEntityIOOutput m_OnUse; // 0x798 - int32_t m_iInputFilter; // 0x7c0 - int32_t m_iDontMessageParent; // 0x7c4 + CEntityIOOutput m_OnStartTouch; // 0x758 + CEntityIOOutput m_OnEndTouch; // 0x780 + CEntityIOOutput m_OnUse; // 0x7a8 + int32_t m_iInputFilter; // 0x7d0 + int32_t m_iDontMessageParent; // 0x7d4 }; // Alignment: 8 -// Size: 0x4f0 +// Size: 0x500 class CPathKeyFrame : public CLogicalEntity { public: - Vector m_Origin; // 0x498 - QAngle m_Angles; // 0x4a4 - Quaternion m_qAngle; // 0x4b0 - CUtlSymbolLarge m_iNextKey; // 0x4c0 - float m_flNextTime; // 0x4c8 + Vector m_Origin; // 0x4a8 + QAngle m_Angles; // 0x4b4 + Quaternion m_qAngle; // 0x4c0 + CUtlSymbolLarge m_iNextKey; // 0x4d0 + float m_flNextTime; // 0x4d8 private: - [[maybe_unused]] uint8_t __pad04cc[0x4]; // 0x4cc + [[maybe_unused]] uint8_t __pad04dc[0x4]; // 0x4dc public: - CPathKeyFrame* m_pNextKey; // 0x4d0 - CPathKeyFrame* m_pPrevKey; // 0x4d8 - float m_flSpeed; // 0x4e0 + CPathKeyFrame* m_pNextKey; // 0x4e0 + CPathKeyFrame* m_pPrevKey; // 0x4e8 + float m_flSpeed; // 0x4f0 }; // Alignment: 11 -// Size: 0x530 +// Size: 0x540 class CBaseMoveBehavior : public CPathKeyFrame { public: - int32_t m_iPositionInterpolator; // 0x4f0 - int32_t m_iRotationInterpolator; // 0x4f4 - float m_flAnimStartTime; // 0x4f8 - float m_flAnimEndTime; // 0x4fc - float m_flAverageSpeedAcrossFrame; // 0x500 + int32_t m_iPositionInterpolator; // 0x500 + int32_t m_iRotationInterpolator; // 0x504 + float m_flAnimStartTime; // 0x508 + float m_flAnimEndTime; // 0x50c + float m_flAverageSpeedAcrossFrame; // 0x510 private: - [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 + [[maybe_unused]] uint8_t __pad0514[0x4]; // 0x514 public: - CPathKeyFrame* m_pCurrentKeyFrame; // 0x508 - CPathKeyFrame* m_pTargetKeyFrame; // 0x510 - CPathKeyFrame* m_pPreKeyFrame; // 0x518 - CPathKeyFrame* m_pPostKeyFrame; // 0x520 - float m_flTimeIntoFrame; // 0x528 - int32_t m_iDirection; // 0x52c + CPathKeyFrame* m_pCurrentKeyFrame; // 0x518 + CPathKeyFrame* m_pTargetKeyFrame; // 0x520 + CPathKeyFrame* m_pPreKeyFrame; // 0x528 + CPathKeyFrame* m_pPostKeyFrame; // 0x530 + float m_flTimeIntoFrame; // 0x538 + int32_t m_iDirection; // 0x53c }; // Alignment: 3 -// Size: 0x4c8 +// Size: 0x4d8 class CPathCorner : public CPointEntity { public: - float m_flWait; // 0x498 - float m_flRadius; // 0x49c - CEntityIOOutput m_OnPass; // 0x4a0 + float m_flWait; // 0x4a8 + float m_flRadius; // 0x4ac + CEntityIOOutput m_OnPass; // 0x4b0 }; // Alignment: 6 -// Size: 0x4f8 +// Size: 0x508 class CPhysForce : public CPointEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x8]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x8]; // 0x4a8 public: - CUtlSymbolLarge m_nameAttach; // 0x4a0 - float m_force; // 0x4a8 - float m_forceTime; // 0x4ac - CHandle< CBaseEntity > m_attachedObject; // 0x4b0 - bool m_wasRestored; // 0x4b4 + CUtlSymbolLarge m_nameAttach; // 0x4b0 + float m_force; // 0x4b8 + float m_forceTime; // 0x4bc + CHandle< CBaseEntity > m_attachedObject; // 0x4c0 + bool m_wasRestored; // 0x4c4 private: - [[maybe_unused]] uint8_t __pad04b5[0x3]; // 0x4b5 + [[maybe_unused]] uint8_t __pad04c5[0x3]; // 0x4c5 public: - CConstantForceController m_integrator; // 0x4b8 + CConstantForceController m_integrator; // 0x4c8 }; // Alignment: 1 -// Size: 0x508 +// Size: 0x518 class CPhysThruster : public CPhysForce { public: - Vector m_localOrigin; // 0x4f8 + Vector m_localOrigin; // 0x508 }; // Alignment: 1 -// Size: 0x508 +// Size: 0x518 class CPhysTorque : public CPhysForce { public: - Vector m_axis; // 0x4f8 + Vector m_axis; // 0x508 +}; + +// Alignment: 7 +// Size: 0x4f8 +class CPhysMotor : public CLogicalEntity +{ +public: + CUtlSymbolLarge m_nameAttach; // 0x4a8 + CHandle< CBaseEntity > m_hAttachedObject; // 0x4b0 + float m_spinUp; // 0x4b4 + float m_additionalAcceleration; // 0x4b8 + float m_angularAcceleration; // 0x4bc + GameTime_t m_lastTime; // 0x4c0 +private: + [[maybe_unused]] uint8_t __pad04c4[0x14]; // 0x4c4 +public: + CMotorController m_motor; // 0x4d8 }; // Alignment: 7 // Size: 0x4e8 -class CPhysMotor : public CLogicalEntity -{ -public: - CUtlSymbolLarge m_nameAttach; // 0x498 - CHandle< CBaseEntity > m_hAttachedObject; // 0x4a0 - float m_spinUp; // 0x4a4 - float m_additionalAcceleration; // 0x4a8 - float m_angularAcceleration; // 0x4ac - GameTime_t m_lastTime; // 0x4b0 -private: - [[maybe_unused]] uint8_t __pad04b4[0x14]; // 0x4b4 -public: - CMotorController m_motor; // 0x4c8 -}; - -// Alignment: 7 -// Size: 0x4d8 class CKeepUpright : public CPointEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x8]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x8]; // 0x4a8 public: - Vector m_worldGoalAxis; // 0x4a0 - Vector m_localTestAxis; // 0x4ac + Vector m_worldGoalAxis; // 0x4b0 + Vector m_localTestAxis; // 0x4bc private: - [[maybe_unused]] uint8_t __pad04b8[0x8]; // 0x4b8 + [[maybe_unused]] uint8_t __pad04c8[0x8]; // 0x4c8 public: - CUtlSymbolLarge m_nameAttach; // 0x4c0 - CHandle< CBaseEntity > m_attachedObject; // 0x4c8 - float m_angularLimit; // 0x4cc - bool m_bActive; // 0x4d0 - bool m_bDampAllRotation; // 0x4d1 + CUtlSymbolLarge m_nameAttach; // 0x4d0 + CHandle< CBaseEntity > m_attachedObject; // 0x4d8 + float m_angularLimit; // 0x4dc + bool m_bActive; // 0x4e0 + bool m_bDampAllRotation; // 0x4e1 }; // Alignment: 8 -// Size: 0x4f0 +// Size: 0x500 class CPhysConstraint : public CLogicalEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x8]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x8]; // 0x4a8 public: - CUtlSymbolLarge m_nameAttach1; // 0x4a0 - CUtlSymbolLarge m_nameAttach2; // 0x4a8 - CUtlSymbolLarge m_breakSound; // 0x4b0 - float m_forceLimit; // 0x4b8 - float m_torqueLimit; // 0x4bc - uint32_t m_teleportTick; // 0x4c0 - float m_minTeleportDistance; // 0x4c4 - CEntityIOOutput m_OnBreak; // 0x4c8 + CUtlSymbolLarge m_nameAttach1; // 0x4b0 + CUtlSymbolLarge m_nameAttach2; // 0x4b8 + CUtlSymbolLarge m_breakSound; // 0x4c0 + float m_forceLimit; // 0x4c8 + float m_torqueLimit; // 0x4cc + uint32_t m_teleportTick; // 0x4d0 + float m_minTeleportDistance; // 0x4d4 + CEntityIOOutput m_OnBreak; // 0x4d8 }; // Alignment: 18 -// Size: 0x690 +// Size: 0x6a0 class CPhysHinge : public CPhysConstraint { private: - [[maybe_unused]] uint8_t __pad04f0[0x8]; // 0x4f0 + [[maybe_unused]] uint8_t __pad0500[0x8]; // 0x500 public: - ConstraintSoundInfo m_soundInfo; // 0x4f8 - CEntityIOOutput m_NotifyMinLimitReached; // 0x580 - CEntityIOOutput m_NotifyMaxLimitReached; // 0x5a8 - bool m_bAtMinLimit; // 0x5d0 - bool m_bAtMaxLimit; // 0x5d1 + ConstraintSoundInfo m_soundInfo; // 0x508 + CEntityIOOutput m_NotifyMinLimitReached; // 0x590 + CEntityIOOutput m_NotifyMaxLimitReached; // 0x5b8 + bool m_bAtMinLimit; // 0x5e0 + bool m_bAtMaxLimit; // 0x5e1 private: - [[maybe_unused]] uint8_t __pad05d2[0x2]; // 0x5d2 + [[maybe_unused]] uint8_t __pad05e2[0x2]; // 0x5e2 public: - constraint_hingeparams_t m_hinge; // 0x5d4 - float m_hingeFriction; // 0x614 - float m_systemLoadScale; // 0x618 - bool m_bIsAxisLocal; // 0x61c + constraint_hingeparams_t m_hinge; // 0x5e4 + float m_hingeFriction; // 0x624 + float m_systemLoadScale; // 0x628 + bool m_bIsAxisLocal; // 0x62c private: - [[maybe_unused]] uint8_t __pad061d[0x3]; // 0x61d + [[maybe_unused]] uint8_t __pad062d[0x3]; // 0x62d public: - float m_flMinRotation; // 0x620 - float m_flMaxRotation; // 0x624 - float m_flInitialRotation; // 0x628 - float m_flMotorFrequency; // 0x62c - float m_flMotorDampingRatio; // 0x630 - float m_flAngleSpeed; // 0x634 - float m_flAngleSpeedThreshold; // 0x638 + float m_flMinRotation; // 0x630 + float m_flMaxRotation; // 0x634 + float m_flInitialRotation; // 0x638 + float m_flMotorFrequency; // 0x63c + float m_flMotorDampingRatio; // 0x640 + float m_flAngleSpeed; // 0x644 + float m_flAngleSpeedThreshold; // 0x648 private: - [[maybe_unused]] uint8_t __pad063c[0x4]; // 0x63c + [[maybe_unused]] uint8_t __pad064c[0x4]; // 0x64c public: - CEntityIOOutput m_OnStartMoving; // 0x640 - CEntityIOOutput m_OnStopMoving; // 0x668 + CEntityIOOutput m_OnStartMoving; // 0x650 + CEntityIOOutput m_OnStopMoving; // 0x678 }; // Alignment: 0 -// Size: 0x690 +// Size: 0x6a0 class CPhysHingeAlias_phys_hinge_local : public CPhysHinge { public: @@ -29271,167 +29877,167 @@ public: }; // Alignment: 6 -// Size: 0x508 +// Size: 0x518 class CPhysBallSocket : public CPhysConstraint { public: - float m_flFriction; // 0x4f0 - bool m_bEnableSwingLimit; // 0x4f4 + float m_flFriction; // 0x500 + bool m_bEnableSwingLimit; // 0x504 private: - [[maybe_unused]] uint8_t __pad04f5[0x3]; // 0x4f5 + [[maybe_unused]] uint8_t __pad0505[0x3]; // 0x505 public: - float m_flSwingLimit; // 0x4f8 - bool m_bEnableTwistLimit; // 0x4fc + float m_flSwingLimit; // 0x508 + bool m_bEnableTwistLimit; // 0x50c private: - [[maybe_unused]] uint8_t __pad04fd[0x3]; // 0x4fd + [[maybe_unused]] uint8_t __pad050d[0x3]; // 0x50d public: - float m_flMinTwistAngle; // 0x500 - float m_flMaxTwistAngle; // 0x504 + float m_flMinTwistAngle; // 0x510 + float m_flMaxTwistAngle; // 0x514 }; // Alignment: 10 -// Size: 0x5a8 +// Size: 0x5b8 class CPhysSlideConstraint : public CPhysConstraint { private: - [[maybe_unused]] uint8_t __pad04f0[0x8]; // 0x4f0 + [[maybe_unused]] uint8_t __pad0500[0x8]; // 0x500 public: - Vector m_axisEnd; // 0x4f8 - float m_slideFriction; // 0x504 - float m_systemLoadScale; // 0x508 - float m_initialOffset; // 0x50c - bool m_bEnableLinearConstraint; // 0x510 - bool m_bEnableAngularConstraint; // 0x511 + Vector m_axisEnd; // 0x508 + float m_slideFriction; // 0x514 + float m_systemLoadScale; // 0x518 + float m_initialOffset; // 0x51c + bool m_bEnableLinearConstraint; // 0x520 + bool m_bEnableAngularConstraint; // 0x521 private: - [[maybe_unused]] uint8_t __pad0512[0x2]; // 0x512 + [[maybe_unused]] uint8_t __pad0522[0x2]; // 0x522 public: - float m_flMotorFrequency; // 0x514 - float m_flMotorDampingRatio; // 0x518 - bool m_bUseEntityPivot; // 0x51c + float m_flMotorFrequency; // 0x524 + float m_flMotorDampingRatio; // 0x528 + bool m_bUseEntityPivot; // 0x52c private: - [[maybe_unused]] uint8_t __pad051d[0x3]; // 0x51d + [[maybe_unused]] uint8_t __pad052d[0x3]; // 0x52d public: - ConstraintSoundInfo m_soundInfo; // 0x520 + ConstraintSoundInfo m_soundInfo; // 0x530 }; // Alignment: 6 -// Size: 0x508 +// Size: 0x518 class CPhysFixed : public CPhysConstraint { public: - float m_flLinearFrequency; // 0x4f0 - float m_flLinearDampingRatio; // 0x4f4 - float m_flAngularFrequency; // 0x4f8 - float m_flAngularDampingRatio; // 0x4fc - bool m_bEnableLinearConstraint; // 0x500 - bool m_bEnableAngularConstraint; // 0x501 + float m_flLinearFrequency; // 0x500 + float m_flLinearDampingRatio; // 0x504 + float m_flAngularFrequency; // 0x508 + float m_flAngularDampingRatio; // 0x50c + bool m_bEnableLinearConstraint; // 0x510 + bool m_bEnableAngularConstraint; // 0x511 }; // Alignment: 4 -// Size: 0x520 +// Size: 0x530 class CPhysPulley : public CPhysConstraint { public: - Vector m_position2; // 0x4f0 - Vector m_offset[2]; // 0x4fc - float m_addLength; // 0x514 - float m_gearRatio; // 0x518 + Vector m_position2; // 0x500 + Vector m_offset[2]; // 0x50c + float m_addLength; // 0x524 + float m_gearRatio; // 0x528 }; // Alignment: 6 -// Size: 0x528 +// Size: 0x538 class CPhysLength : public CPhysConstraint { public: - Vector m_offset[2]; // 0x4f0 - Vector m_vecAttach; // 0x508 - float m_addLength; // 0x514 - float m_minLength; // 0x518 - float m_totalLength; // 0x51c - bool m_bEnableCollision; // 0x520 + Vector m_offset[2]; // 0x500 + Vector m_vecAttach; // 0x518 + float m_addLength; // 0x524 + float m_minLength; // 0x528 + float m_totalLength; // 0x52c + bool m_bEnableCollision; // 0x530 }; // Alignment: 9 -// Size: 0x518 +// Size: 0x528 class CRagdollConstraint : public CPhysConstraint { public: - float m_xmin; // 0x4f0 - float m_xmax; // 0x4f4 - float m_ymin; // 0x4f8 - float m_ymax; // 0x4fc - float m_zmin; // 0x500 - float m_zmax; // 0x504 - float m_xfriction; // 0x508 - float m_yfriction; // 0x50c - float m_zfriction; // 0x510 + float m_xmin; // 0x500 + float m_xmax; // 0x504 + float m_ymin; // 0x508 + float m_ymax; // 0x50c + float m_zmin; // 0x510 + float m_zmax; // 0x514 + float m_xfriction; // 0x518 + float m_yfriction; // 0x51c + float m_zfriction; // 0x520 }; // Alignment: 48 -// Size: 0x620 +// Size: 0x630 class CGenericConstraint : public CPhysConstraint { private: - [[maybe_unused]] uint8_t __pad04f0[0x8]; // 0x4f0 + [[maybe_unused]] uint8_t __pad0500[0x8]; // 0x500 public: - JointMotion_t m_nLinearMotionX; // 0x4f8 - JointMotion_t m_nLinearMotionY; // 0x4fc - JointMotion_t m_nLinearMotionZ; // 0x500 - float m_flLinearFrequencyX; // 0x504 - float m_flLinearFrequencyY; // 0x508 - float m_flLinearFrequencyZ; // 0x50c - float m_flLinearDampingRatioX; // 0x510 - float m_flLinearDampingRatioY; // 0x514 - float m_flLinearDampingRatioZ; // 0x518 - float m_flMaxLinearImpulseX; // 0x51c - float m_flMaxLinearImpulseY; // 0x520 - float m_flMaxLinearImpulseZ; // 0x524 - float m_flBreakAfterTimeX; // 0x528 - float m_flBreakAfterTimeY; // 0x52c - float m_flBreakAfterTimeZ; // 0x530 - GameTime_t m_flBreakAfterTimeStartTimeX; // 0x534 - GameTime_t m_flBreakAfterTimeStartTimeY; // 0x538 - GameTime_t m_flBreakAfterTimeStartTimeZ; // 0x53c - float m_flBreakAfterTimeThresholdX; // 0x540 - float m_flBreakAfterTimeThresholdY; // 0x544 - float m_flBreakAfterTimeThresholdZ; // 0x548 - float m_flNotifyForceX; // 0x54c - float m_flNotifyForceY; // 0x550 - float m_flNotifyForceZ; // 0x554 - float m_flNotifyForceMinTimeX; // 0x558 - float m_flNotifyForceMinTimeY; // 0x55c - float m_flNotifyForceMinTimeZ; // 0x560 - GameTime_t m_flNotifyForceLastTimeX; // 0x564 - GameTime_t m_flNotifyForceLastTimeY; // 0x568 - GameTime_t m_flNotifyForceLastTimeZ; // 0x56c - bool m_bAxisNotifiedX; // 0x570 - bool m_bAxisNotifiedY; // 0x571 - bool m_bAxisNotifiedZ; // 0x572 + JointMotion_t m_nLinearMotionX; // 0x508 + JointMotion_t m_nLinearMotionY; // 0x50c + JointMotion_t m_nLinearMotionZ; // 0x510 + float m_flLinearFrequencyX; // 0x514 + float m_flLinearFrequencyY; // 0x518 + float m_flLinearFrequencyZ; // 0x51c + float m_flLinearDampingRatioX; // 0x520 + float m_flLinearDampingRatioY; // 0x524 + float m_flLinearDampingRatioZ; // 0x528 + float m_flMaxLinearImpulseX; // 0x52c + float m_flMaxLinearImpulseY; // 0x530 + float m_flMaxLinearImpulseZ; // 0x534 + float m_flBreakAfterTimeX; // 0x538 + float m_flBreakAfterTimeY; // 0x53c + float m_flBreakAfterTimeZ; // 0x540 + GameTime_t m_flBreakAfterTimeStartTimeX; // 0x544 + GameTime_t m_flBreakAfterTimeStartTimeY; // 0x548 + GameTime_t m_flBreakAfterTimeStartTimeZ; // 0x54c + float m_flBreakAfterTimeThresholdX; // 0x550 + float m_flBreakAfterTimeThresholdY; // 0x554 + float m_flBreakAfterTimeThresholdZ; // 0x558 + float m_flNotifyForceX; // 0x55c + float m_flNotifyForceY; // 0x560 + float m_flNotifyForceZ; // 0x564 + float m_flNotifyForceMinTimeX; // 0x568 + float m_flNotifyForceMinTimeY; // 0x56c + float m_flNotifyForceMinTimeZ; // 0x570 + GameTime_t m_flNotifyForceLastTimeX; // 0x574 + GameTime_t m_flNotifyForceLastTimeY; // 0x578 + GameTime_t m_flNotifyForceLastTimeZ; // 0x57c + bool m_bAxisNotifiedX; // 0x580 + bool m_bAxisNotifiedY; // 0x581 + bool m_bAxisNotifiedZ; // 0x582 private: - [[maybe_unused]] uint8_t __pad0573[0x1]; // 0x573 + [[maybe_unused]] uint8_t __pad0583[0x1]; // 0x583 public: - JointMotion_t m_nAngularMotionX; // 0x574 - JointMotion_t m_nAngularMotionY; // 0x578 - JointMotion_t m_nAngularMotionZ; // 0x57c - float m_flAngularFrequencyX; // 0x580 - float m_flAngularFrequencyY; // 0x584 - float m_flAngularFrequencyZ; // 0x588 - float m_flAngularDampingRatioX; // 0x58c - float m_flAngularDampingRatioY; // 0x590 - float m_flAngularDampingRatioZ; // 0x594 - float m_flMaxAngularImpulseX; // 0x598 - float m_flMaxAngularImpulseY; // 0x59c - float m_flMaxAngularImpulseZ; // 0x5a0 + JointMotion_t m_nAngularMotionX; // 0x584 + JointMotion_t m_nAngularMotionY; // 0x588 + JointMotion_t m_nAngularMotionZ; // 0x58c + float m_flAngularFrequencyX; // 0x590 + float m_flAngularFrequencyY; // 0x594 + float m_flAngularFrequencyZ; // 0x598 + float m_flAngularDampingRatioX; // 0x59c + float m_flAngularDampingRatioY; // 0x5a0 + float m_flAngularDampingRatioZ; // 0x5a4 + float m_flMaxAngularImpulseX; // 0x5a8 + float m_flMaxAngularImpulseY; // 0x5ac + float m_flMaxAngularImpulseZ; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 + [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: - CEntityIOOutput m_NotifyForceReachedX; // 0x5a8 - CEntityIOOutput m_NotifyForceReachedY; // 0x5d0 - CEntityIOOutput m_NotifyForceReachedZ; // 0x5f8 + CEntityIOOutput m_NotifyForceReachedX; // 0x5b8 + CEntityIOOutput m_NotifyForceReachedY; // 0x5e0 + CEntityIOOutput m_NotifyForceReachedZ; // 0x608 }; // Alignment: 0 -// Size: 0x538 +// Size: 0x548 class CSplineConstraint : public CPhysConstraint { public: @@ -29439,296 +30045,272 @@ public: }; // Alignment: 11 -// Size: 0x520 +// Size: 0x530 class CPhysWheelConstraint : public CPhysConstraint { public: - float m_flSuspensionFrequency; // 0x4f0 - float m_flSuspensionDampingRatio; // 0x4f4 - float m_flSuspensionHeightOffset; // 0x4f8 - bool m_bEnableSuspensionLimit; // 0x4fc + float m_flSuspensionFrequency; // 0x500 + float m_flSuspensionDampingRatio; // 0x504 + float m_flSuspensionHeightOffset; // 0x508 + bool m_bEnableSuspensionLimit; // 0x50c private: - [[maybe_unused]] uint8_t __pad04fd[0x3]; // 0x4fd + [[maybe_unused]] uint8_t __pad050d[0x3]; // 0x50d public: - float m_flMinSuspensionOffset; // 0x500 - float m_flMaxSuspensionOffset; // 0x504 - bool m_bEnableSteeringLimit; // 0x508 + float m_flMinSuspensionOffset; // 0x510 + float m_flMaxSuspensionOffset; // 0x514 + bool m_bEnableSteeringLimit; // 0x518 private: - [[maybe_unused]] uint8_t __pad0509[0x3]; // 0x509 + [[maybe_unused]] uint8_t __pad0519[0x3]; // 0x519 public: - float m_flMinSteeringAngle; // 0x50c - float m_flMaxSteeringAngle; // 0x510 - float m_flSteeringAxisFriction; // 0x514 - float m_flSpinAxisFriction; // 0x518 + float m_flMinSteeringAngle; // 0x51c + float m_flMaxSteeringAngle; // 0x520 + float m_flSteeringAxisFriction; // 0x524 + float m_flSpinAxisFriction; // 0x528 }; // Alignment: 4 -// Size: 0x4b0 +// Size: 0x4c0 class CPhysicsEntitySolver : public CLogicalEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x8]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x8]; // 0x4a8 public: - CHandle< CBaseEntity > m_hMovingEntity; // 0x4a0 - CHandle< CBaseEntity > m_hPhysicsBlocker; // 0x4a4 - float m_separationDuration; // 0x4a8 - GameTime_t m_cancelTime; // 0x4ac + CHandle< CBaseEntity > m_hMovingEntity; // 0x4b0 + CHandle< CBaseEntity > m_hPhysicsBlocker; // 0x4b4 + float m_separationDuration; // 0x4b8 + GameTime_t m_cancelTime; // 0x4bc }; // Alignment: 8 -// Size: 0x4e0 +// Size: 0x4f0 class CPhysicsSpring : public CBaseEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x8]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x8]; // 0x4a8 public: - float m_flFrequency; // 0x4a0 - float m_flDampingRatio; // 0x4a4 - float m_flRestLength; // 0x4a8 + float m_flFrequency; // 0x4b0 + float m_flDampingRatio; // 0x4b4 + float m_flRestLength; // 0x4b8 private: - [[maybe_unused]] uint8_t __pad04ac[0x4]; // 0x4ac + [[maybe_unused]] uint8_t __pad04bc[0x4]; // 0x4bc public: - CUtlSymbolLarge m_nameAttachStart; // 0x4b0 - CUtlSymbolLarge m_nameAttachEnd; // 0x4b8 - Vector m_start; // 0x4c0 - Vector m_end; // 0x4cc - uint32_t m_teleportTick; // 0x4d8 + CUtlSymbolLarge m_nameAttachStart; // 0x4c0 + CUtlSymbolLarge m_nameAttachEnd; // 0x4c8 + Vector m_start; // 0x4d0 + Vector m_end; // 0x4dc + uint32_t m_teleportTick; // 0x4e8 }; // Alignment: 7 -// Size: 0x4c0 +// Size: 0x4d0 class CPointPush : public CPointEntity { public: - bool m_bEnabled; // 0x498 -private: - [[maybe_unused]] uint8_t __pad0499[0x3]; // 0x499 -public: - float m_flMagnitude; // 0x49c - float m_flRadius; // 0x4a0 - float m_flInnerRadius; // 0x4a4 - float m_flConeOfInfluence; // 0x4a8 -private: - [[maybe_unused]] uint8_t __pad04ac[0x4]; // 0x4ac -public: - CUtlSymbolLarge m_iszFilterName; // 0x4b0 - CHandle< CBaseFilter > m_hFilter; // 0x4b8 -}; - -// Alignment: 1 -// Size: 0x4a0 -class CInfoPlayerStart : public CPointEntity -{ -public: - bool m_bDisabled; // 0x498 -}; - -// Alignment: 7 -// Size: 0x4e8 -class CPointEntityFinder : public CBaseEntity -{ -public: - CHandle< CBaseEntity > m_hEntity; // 0x498 -private: - [[maybe_unused]] uint8_t __pad049c[0x4]; // 0x49c -public: - CUtlSymbolLarge m_iFilterName; // 0x4a0 - CHandle< CBaseFilter > m_hFilter; // 0x4a8 -private: - [[maybe_unused]] uint8_t __pad04ac[0x4]; // 0x4ac -public: - CUtlSymbolLarge m_iRefName; // 0x4b0 - CHandle< CBaseEntity > m_hReference; // 0x4b8 - EntFinderMethod_t m_FindMethod; // 0x4bc - CEntityIOOutput m_OnFoundEntity; // 0x4c0 -}; - -// Alignment: 3 -// Size: 0x4a8 -class CPointHMDAnchor : public CBaseEntity -{ -public: - // MNetworkEnable - bool m_bDisabled; // 0x498 -private: - [[maybe_unused]] uint8_t __pad0499[0x3]; // 0x499 -public: - // MNetworkEnable - GameTime_t m_flEnableTime; // 0x49c - // MNetworkEnable - int32_t m_nPlayerIndex; // 0x4a0 -}; - -// Alignment: 0 -// Size: 0x4a8 -class CPointHMDAnchorOverride : public CPointHMDAnchor -{ -public: - // No members available -}; - -// Alignment: 44 -// Size: 0x690 -class CPointValueRemapper : public CBaseEntity -{ -public: - // MNetworkEnable - bool m_bDisabled; // 0x498 - // MNetworkEnable - bool m_bUpdateOnClient; // 0x499 -private: - [[maybe_unused]] uint8_t __pad049a[0x2]; // 0x49a -public: - // MNetworkEnable - ValueRemapperInputType_t m_nInputType; // 0x49c - CUtlSymbolLarge m_iszRemapLineStartName; // 0x4a0 - CUtlSymbolLarge m_iszRemapLineEndName; // 0x4a8 - // MNetworkEnable - CHandle< CBaseEntity > m_hRemapLineStart; // 0x4b0 - // MNetworkEnable - CHandle< CBaseEntity > m_hRemapLineEnd; // 0x4b4 - // MNetworkEnable - float m_flMaximumChangePerSecond; // 0x4b8 - // MNetworkEnable - float m_flDisengageDistance; // 0x4bc - // MNetworkEnable - float m_flEngageDistance; // 0x4c0 - // MNetworkEnable - bool m_bRequiresUseKey; // 0x4c4 -private: - [[maybe_unused]] uint8_t __pad04c5[0x3]; // 0x4c5 -public: - // MNetworkEnable - ValueRemapperOutputType_t m_nOutputType; // 0x4c8 -private: - [[maybe_unused]] uint8_t __pad04cc[0x4]; // 0x4cc -public: - CUtlSymbolLarge m_iszOutputEntityName; // 0x4d0 - CUtlSymbolLarge m_iszOutputEntity2Name; // 0x4d8 - CUtlSymbolLarge m_iszOutputEntity3Name; // 0x4e0 - CUtlSymbolLarge m_iszOutputEntity4Name; // 0x4e8 - // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_hOutputEntities; // 0x4f0 - // MNetworkEnable - ValueRemapperHapticsType_t m_nHapticsType; // 0x508 - // MNetworkEnable - ValueRemapperMomentumType_t m_nMomentumType; // 0x50c - // MNetworkEnable - float m_flMomentumModifier; // 0x510 - // MNetworkEnable - float m_flSnapValue; // 0x514 - float m_flCurrentMomentum; // 0x518 - // MNetworkEnable - ValueRemapperRatchetType_t m_nRatchetType; // 0x51c - float m_flRatchetOffset; // 0x520 - // MNetworkEnable - float m_flInputOffset; // 0x524 - bool m_bEngaged; // 0x528 - bool m_bFirstUpdate; // 0x529 -private: - [[maybe_unused]] uint8_t __pad052a[0x2]; // 0x52a -public: - float m_flPreviousValue; // 0x52c - GameTime_t m_flPreviousUpdateTickTime; // 0x530 - Vector m_vecPreviousTestPoint; // 0x534 - CHandle< CBasePlayerPawn > m_hUsingPlayer; // 0x540 - float m_flCustomOutputValue; // 0x544 - CUtlSymbolLarge m_iszSoundEngage; // 0x548 - CUtlSymbolLarge m_iszSoundDisengage; // 0x550 - CUtlSymbolLarge m_iszSoundReachedValueZero; // 0x558 - CUtlSymbolLarge m_iszSoundReachedValueOne; // 0x560 - CUtlSymbolLarge m_iszSoundMovingLoop; // 0x568 -private: - [[maybe_unused]] uint8_t __pad0570[0x8]; // 0x570 -public: - CEntityOutputTemplate< float32 > m_Position; // 0x578 - CEntityOutputTemplate< float32 > m_PositionDelta; // 0x5a0 - CEntityIOOutput m_OnReachedValueZero; // 0x5c8 - CEntityIOOutput m_OnReachedValueOne; // 0x5f0 - CEntityIOOutput m_OnReachedValueCustom; // 0x618 - CEntityIOOutput m_OnEngage; // 0x640 - CEntityIOOutput m_OnDisengage; // 0x668 -}; - -// Alignment: 11 -// Size: 0x9a8 -class CPointWorldText : public CModelPointEntity -{ -public: - // MNetworkEnable - char m_messageText[512]; // 0x748 - // MNetworkEnable - char m_FontName[64]; // 0x948 - // MNetworkEnable - bool m_bEnabled; // 0x988 - // MNetworkEnable - bool m_bFullbright; // 0x989 -private: - [[maybe_unused]] uint8_t __pad098a[0x2]; // 0x98a -public: - // MNetworkEnable - float m_flWorldUnitsPerPx; // 0x98c - // MNetworkEnable - float m_flFontSize; // 0x990 - // MNetworkEnable - float m_flDepthOffset; // 0x994 - // MNetworkEnable - Color m_Color; // 0x998 - // MNetworkEnable - PointWorldTextJustifyHorizontal_t m_nJustifyHorizontal; // 0x99c - // MNetworkEnable - PointWorldTextJustifyVertical_t m_nJustifyVertical; // 0x9a0 - // MNetworkEnable - PointWorldTextReorientMode_t m_nReorientMode; // 0x9a4 -}; - -// Alignment: 16 -// Size: 0x5c0 -class CPointAngularVelocitySensor : public CPointEntity -{ -public: - CHandle< CBaseEntity > m_hTargetEntity; // 0x498 - float m_flThreshold; // 0x49c - int32_t m_nLastCompareResult; // 0x4a0 - int32_t m_nLastFireResult; // 0x4a4 - GameTime_t m_flFireTime; // 0x4a8 - float m_flFireInterval; // 0x4ac - float m_flLastAngVelocity; // 0x4b0 - QAngle m_lastOrientation; // 0x4b4 - Vector m_vecAxis; // 0x4c0 - bool m_bUseHelper; // 0x4cc -private: - [[maybe_unused]] uint8_t __pad04cd[0x3]; // 0x4cd -public: - CEntityOutputTemplate< float32 > m_AngularVelocity; // 0x4d0 - CEntityIOOutput m_OnLessThan; // 0x4f8 - CEntityIOOutput m_OnLessThanOrEqualTo; // 0x520 - CEntityIOOutput m_OnGreaterThan; // 0x548 - CEntityIOOutput m_OnGreaterThanOrEqualTo; // 0x570 - CEntityIOOutput m_OnEqualTo; // 0x598 -}; - -// Alignment: 6 -// Size: 0x4e0 -class CPointVelocitySensor : public CPointEntity -{ -public: - CHandle< CBaseEntity > m_hTargetEntity; // 0x498 - Vector m_vecAxis; // 0x49c bool m_bEnabled; // 0x4a8 private: [[maybe_unused]] uint8_t __pad04a9[0x3]; // 0x4a9 public: - float m_fPrevVelocity; // 0x4ac - float m_flAvgInterval; // 0x4b0 + float m_flMagnitude; // 0x4ac + float m_flRadius; // 0x4b0 + float m_flInnerRadius; // 0x4b4 + float m_flConeOfInfluence; // 0x4b8 private: - [[maybe_unused]] uint8_t __pad04b4[0x4]; // 0x4b4 + [[maybe_unused]] uint8_t __pad04bc[0x4]; // 0x4bc public: - CEntityOutputTemplate< float32 > m_Velocity; // 0x4b8 + CUtlSymbolLarge m_iszFilterName; // 0x4c0 + CHandle< CBaseFilter > m_hFilter; // 0x4c8 +}; + +// Alignment: 1 +// Size: 0x4b0 +class CInfoPlayerStart : public CPointEntity +{ +public: + bool m_bDisabled; // 0x4a8 +}; + +// Alignment: 7 +// Size: 0x4f8 +class CPointEntityFinder : public CBaseEntity +{ +public: + CHandle< CBaseEntity > m_hEntity; // 0x4a8 +private: + [[maybe_unused]] uint8_t __pad04ac[0x4]; // 0x4ac +public: + CUtlSymbolLarge m_iFilterName; // 0x4b0 + CHandle< CBaseFilter > m_hFilter; // 0x4b8 +private: + [[maybe_unused]] uint8_t __pad04bc[0x4]; // 0x4bc +public: + CUtlSymbolLarge m_iRefName; // 0x4c0 + CHandle< CBaseEntity > m_hReference; // 0x4c8 + EntFinderMethod_t m_FindMethod; // 0x4cc + CEntityIOOutput m_OnFoundEntity; // 0x4d0 +}; + +// Alignment: 44 +// Size: 0x6a0 +class CPointValueRemapper : public CBaseEntity +{ +public: + // MNetworkEnable + bool m_bDisabled; // 0x4a8 + // MNetworkEnable + bool m_bUpdateOnClient; // 0x4a9 +private: + [[maybe_unused]] uint8_t __pad04aa[0x2]; // 0x4aa +public: + // MNetworkEnable + ValueRemapperInputType_t m_nInputType; // 0x4ac + CUtlSymbolLarge m_iszRemapLineStartName; // 0x4b0 + CUtlSymbolLarge m_iszRemapLineEndName; // 0x4b8 + // MNetworkEnable + CHandle< CBaseEntity > m_hRemapLineStart; // 0x4c0 + // MNetworkEnable + CHandle< CBaseEntity > m_hRemapLineEnd; // 0x4c4 + // MNetworkEnable + float m_flMaximumChangePerSecond; // 0x4c8 + // MNetworkEnable + float m_flDisengageDistance; // 0x4cc + // MNetworkEnable + float m_flEngageDistance; // 0x4d0 + // MNetworkEnable + bool m_bRequiresUseKey; // 0x4d4 +private: + [[maybe_unused]] uint8_t __pad04d5[0x3]; // 0x4d5 +public: + // MNetworkEnable + ValueRemapperOutputType_t m_nOutputType; // 0x4d8 +private: + [[maybe_unused]] uint8_t __pad04dc[0x4]; // 0x4dc +public: + CUtlSymbolLarge m_iszOutputEntityName; // 0x4e0 + CUtlSymbolLarge m_iszOutputEntity2Name; // 0x4e8 + CUtlSymbolLarge m_iszOutputEntity3Name; // 0x4f0 + CUtlSymbolLarge m_iszOutputEntity4Name; // 0x4f8 + // MNetworkEnable + CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_hOutputEntities; // 0x500 + // MNetworkEnable + ValueRemapperHapticsType_t m_nHapticsType; // 0x518 + // MNetworkEnable + ValueRemapperMomentumType_t m_nMomentumType; // 0x51c + // MNetworkEnable + float m_flMomentumModifier; // 0x520 + // MNetworkEnable + float m_flSnapValue; // 0x524 + float m_flCurrentMomentum; // 0x528 + // MNetworkEnable + ValueRemapperRatchetType_t m_nRatchetType; // 0x52c + float m_flRatchetOffset; // 0x530 + // MNetworkEnable + float m_flInputOffset; // 0x534 + bool m_bEngaged; // 0x538 + bool m_bFirstUpdate; // 0x539 +private: + [[maybe_unused]] uint8_t __pad053a[0x2]; // 0x53a +public: + float m_flPreviousValue; // 0x53c + GameTime_t m_flPreviousUpdateTickTime; // 0x540 + Vector m_vecPreviousTestPoint; // 0x544 + CHandle< CBasePlayerPawn > m_hUsingPlayer; // 0x550 + float m_flCustomOutputValue; // 0x554 + CUtlSymbolLarge m_iszSoundEngage; // 0x558 + CUtlSymbolLarge m_iszSoundDisengage; // 0x560 + CUtlSymbolLarge m_iszSoundReachedValueZero; // 0x568 + CUtlSymbolLarge m_iszSoundReachedValueOne; // 0x570 + CUtlSymbolLarge m_iszSoundMovingLoop; // 0x578 +private: + [[maybe_unused]] uint8_t __pad0580[0x8]; // 0x580 +public: + CEntityOutputTemplate< float32 > m_Position; // 0x588 + CEntityOutputTemplate< float32 > m_PositionDelta; // 0x5b0 + CEntityIOOutput m_OnReachedValueZero; // 0x5d8 + CEntityIOOutput m_OnReachedValueOne; // 0x600 + CEntityIOOutput m_OnReachedValueCustom; // 0x628 + CEntityIOOutput m_OnEngage; // 0x650 + CEntityIOOutput m_OnDisengage; // 0x678 +}; + +// Alignment: 11 +// Size: 0x9b8 +class CPointWorldText : public CModelPointEntity +{ +public: + // MNetworkEnable + char m_messageText[512]; // 0x758 + // MNetworkEnable + char m_FontName[64]; // 0x958 + // MNetworkEnable + bool m_bEnabled; // 0x998 + // MNetworkEnable + bool m_bFullbright; // 0x999 +private: + [[maybe_unused]] uint8_t __pad099a[0x2]; // 0x99a +public: + // MNetworkEnable + float m_flWorldUnitsPerPx; // 0x99c + // MNetworkEnable + float m_flFontSize; // 0x9a0 + // MNetworkEnable + float m_flDepthOffset; // 0x9a4 + // MNetworkEnable + Color m_Color; // 0x9a8 + // MNetworkEnable + PointWorldTextJustifyHorizontal_t m_nJustifyHorizontal; // 0x9ac + // MNetworkEnable + PointWorldTextJustifyVertical_t m_nJustifyVertical; // 0x9b0 + // MNetworkEnable + PointWorldTextReorientMode_t m_nReorientMode; // 0x9b4 +}; + +// Alignment: 16 +// Size: 0x5d0 +class CPointAngularVelocitySensor : public CPointEntity +{ +public: + CHandle< CBaseEntity > m_hTargetEntity; // 0x4a8 + float m_flThreshold; // 0x4ac + int32_t m_nLastCompareResult; // 0x4b0 + int32_t m_nLastFireResult; // 0x4b4 + GameTime_t m_flFireTime; // 0x4b8 + float m_flFireInterval; // 0x4bc + float m_flLastAngVelocity; // 0x4c0 + QAngle m_lastOrientation; // 0x4c4 + Vector m_vecAxis; // 0x4d0 + bool m_bUseHelper; // 0x4dc +private: + [[maybe_unused]] uint8_t __pad04dd[0x3]; // 0x4dd +public: + CEntityOutputTemplate< float32 > m_AngularVelocity; // 0x4e0 + CEntityIOOutput m_OnLessThan; // 0x508 + CEntityIOOutput m_OnLessThanOrEqualTo; // 0x530 + CEntityIOOutput m_OnGreaterThan; // 0x558 + CEntityIOOutput m_OnGreaterThanOrEqualTo; // 0x580 + CEntityIOOutput m_OnEqualTo; // 0x5a8 +}; + +// Alignment: 6 +// Size: 0x4f0 +class CPointVelocitySensor : public CPointEntity +{ +public: + CHandle< CBaseEntity > m_hTargetEntity; // 0x4a8 + Vector m_vecAxis; // 0x4ac + bool m_bEnabled; // 0x4b8 +private: + [[maybe_unused]] uint8_t __pad04b9[0x3]; // 0x4b9 +public: + float m_fPrevVelocity; // 0x4bc + float m_flAvgInterval; // 0x4c0 +private: + [[maybe_unused]] uint8_t __pad04c4[0x4]; // 0x4c4 +public: + CEntityOutputTemplate< float32 > m_Velocity; // 0x4c8 }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CEnableMotionFixup : public CBaseEntity { public: @@ -29736,7 +30318,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CFuncPropRespawnZone : public CBaseEntity { public: @@ -29744,302 +30326,300 @@ public: }; // Alignment: 3 -// Size: 0x4a8 +// Size: 0x4b8 class CRagdollManager : public CBaseEntity { public: // MNetworkEnable - int8_t m_iCurrentMaxRagdollCount; // 0x498 + int8_t m_iCurrentMaxRagdollCount; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad0499[0x3]; // 0x499 + [[maybe_unused]] uint8_t __pad04a9[0x3]; // 0x4a9 public: - int32_t m_iMaxRagdollCount; // 0x49c - bool m_bSaveImportant; // 0x4a0 + int32_t m_iMaxRagdollCount; // 0x4ac + bool m_bSaveImportant; // 0x4b0 }; // Alignment: 3 -// Size: 0x758 +// Size: 0x768 class CRevertSaved : public CModelPointEntity { public: - float m_loadTime; // 0x748 - float m_Duration; // 0x74c - float m_HoldTime; // 0x750 + float m_loadTime; // 0x758 + float m_Duration; // 0x75c + float m_HoldTime; // 0x760 }; // Alignment: 3 -// Size: 0x570 +// Size: 0x580 class CSceneListManager : public CLogicalEntity { public: - CUtlVector< CHandle< CSceneListManager > > m_hListManagers; // 0x498 - CUtlSymbolLarge m_iszScenes[16]; // 0x4b0 - CHandle< CBaseEntity > m_hScenes[16]; // 0x530 + CUtlVector< CHandle< CSceneListManager > > m_hListManagers; // 0x4a8 + CUtlSymbolLarge m_iszScenes[16]; // 0x4c0 + CHandle< CBaseEntity > m_hScenes[16]; // 0x540 }; -// Alignment: 64 -// Size: 0x9f8 +// Alignment: 63 +// Size: 0xa00 class CSceneEntity : public CPointEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x8]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x8]; // 0x4a8 public: - CUtlSymbolLarge m_iszSceneFile; // 0x4a0 - CUtlSymbolLarge m_iszResumeSceneFile; // 0x4a8 - CUtlSymbolLarge m_iszTarget1; // 0x4b0 - CUtlSymbolLarge m_iszTarget2; // 0x4b8 - CUtlSymbolLarge m_iszTarget3; // 0x4c0 - CUtlSymbolLarge m_iszTarget4; // 0x4c8 - CUtlSymbolLarge m_iszTarget5; // 0x4d0 - CUtlSymbolLarge m_iszTarget6; // 0x4d8 - CUtlSymbolLarge m_iszTarget7; // 0x4e0 - CUtlSymbolLarge m_iszTarget8; // 0x4e8 - CHandle< CBaseEntity > m_hTarget1; // 0x4f0 - CHandle< CBaseEntity > m_hTarget2; // 0x4f4 - CHandle< CBaseEntity > m_hTarget3; // 0x4f8 - CHandle< CBaseEntity > m_hTarget4; // 0x4fc - CHandle< CBaseEntity > m_hTarget5; // 0x500 - CHandle< CBaseEntity > m_hTarget6; // 0x504 - CHandle< CBaseEntity > m_hTarget7; // 0x508 - CHandle< CBaseEntity > m_hTarget8; // 0x50c + CUtlSymbolLarge m_iszSceneFile; // 0x4b0 + CUtlSymbolLarge m_iszResumeSceneFile; // 0x4b8 + CUtlSymbolLarge m_iszTarget1; // 0x4c0 + CUtlSymbolLarge m_iszTarget2; // 0x4c8 + CUtlSymbolLarge m_iszTarget3; // 0x4d0 + CUtlSymbolLarge m_iszTarget4; // 0x4d8 + CUtlSymbolLarge m_iszTarget5; // 0x4e0 + CUtlSymbolLarge m_iszTarget6; // 0x4e8 + CUtlSymbolLarge m_iszTarget7; // 0x4f0 + CUtlSymbolLarge m_iszTarget8; // 0x4f8 + CHandle< CBaseEntity > m_hTarget1; // 0x500 + CHandle< CBaseEntity > m_hTarget2; // 0x504 + CHandle< CBaseEntity > m_hTarget3; // 0x508 + CHandle< CBaseEntity > m_hTarget4; // 0x50c + CHandle< CBaseEntity > m_hTarget5; // 0x510 + CHandle< CBaseEntity > m_hTarget6; // 0x514 + CHandle< CBaseEntity > m_hTarget7; // 0x518 + CHandle< CBaseEntity > m_hTarget8; // 0x51c // MNetworkEnable - bool m_bIsPlayingBack; // 0x510 + bool m_bIsPlayingBack; // 0x520 // MNetworkEnable - bool m_bPaused; // 0x511 + bool m_bPaused; // 0x521 // MNetworkEnable - bool m_bMultiplayer; // 0x512 + bool m_bMultiplayer; // 0x522 // MNetworkEnable - bool m_bAutogenerated; // 0x513 + bool m_bAutogenerated; // 0x523 // MNetworkEnable - float m_flForceClientTime; // 0x514 - float m_flCurrentTime; // 0x518 - float m_flFrameTime; // 0x51c - bool m_bCancelAtNextInterrupt; // 0x520 + float m_flForceClientTime; // 0x524 + float m_flCurrentTime; // 0x528 + float m_flFrameTime; // 0x52c + bool m_bCancelAtNextInterrupt; // 0x530 private: - [[maybe_unused]] uint8_t __pad0521[0x3]; // 0x521 + [[maybe_unused]] uint8_t __pad0531[0x3]; // 0x531 public: - float m_fPitch; // 0x524 - bool m_bAutomated; // 0x528 + float m_fPitch; // 0x534 + bool m_bAutomated; // 0x538 private: - [[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529 + [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 public: - int32_t m_nAutomatedAction; // 0x52c - float m_flAutomationDelay; // 0x530 - float m_flAutomationTime; // 0x534 - CHandle< CBaseEntity > m_hWaitingForThisResumeScene; // 0x538 - bool m_bWaitingForResumeScene; // 0x53c - bool m_bPausedViaInput; // 0x53d - bool m_bPauseAtNextInterrupt; // 0x53e - bool m_bWaitingForActor; // 0x53f - bool m_bWaitingForInterrupt; // 0x540 - bool m_bInterruptedActorsScenes; // 0x541 - bool m_bBreakOnNonIdle; // 0x542 + int32_t m_nAutomatedAction; // 0x53c + float m_flAutomationDelay; // 0x540 + float m_flAutomationTime; // 0x544 + CHandle< CBaseEntity > m_hWaitingForThisResumeScene; // 0x548 + bool m_bWaitingForResumeScene; // 0x54c + bool m_bPausedViaInput; // 0x54d + bool m_bPauseAtNextInterrupt; // 0x54e + bool m_bWaitingForActor; // 0x54f + bool m_bWaitingForInterrupt; // 0x550 + bool m_bInterruptedActorsScenes; // 0x551 + bool m_bBreakOnNonIdle; // 0x552 private: - [[maybe_unused]] uint8_t __pad0543[0x5]; // 0x543 + [[maybe_unused]] uint8_t __pad0553[0x5]; // 0x553 public: // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseFlex > > m_hActorList; // 0x548 - CUtlVector< CHandle< CBaseEntity > > m_hRemoveActorList; // 0x560 + CNetworkUtlVectorBase< CHandle< CBaseFlex > > m_hActorList; // 0x558 + CUtlVector< CHandle< CBaseEntity > > m_hRemoveActorList; // 0x570 private: - [[maybe_unused]] uint8_t __pad0578[0x10]; // 0x578 + [[maybe_unused]] uint8_t __pad0588[0x10]; // 0x588 public: - int32_t m_nSceneFlushCounter; // 0x588 + int32_t m_nSceneFlushCounter; // 0x598 // MNetworkEnable - uint16_t m_nSceneStringIndex; // 0x58c + uint16_t m_nSceneStringIndex; // 0x59c private: - [[maybe_unused]] uint8_t __pad058e[0x2]; // 0x58e + [[maybe_unused]] uint8_t __pad059e[0x2]; // 0x59e public: - CEntityIOOutput m_OnStart; // 0x590 - CEntityIOOutput m_OnCompletion; // 0x5b8 - CEntityIOOutput m_OnCanceled; // 0x5e0 - CEntityIOOutput m_OnPaused; // 0x608 - CEntityIOOutput m_OnResumed; // 0x630 - CEntityIOOutput m_OnTrigger[16]; // 0x658 + CEntityIOOutput m_OnStart; // 0x5a0 + CEntityIOOutput m_OnCompletion; // 0x5c8 + CEntityIOOutput m_OnCanceled; // 0x5f0 + CEntityIOOutput m_OnPaused; // 0x618 + CEntityIOOutput m_OnResumed; // 0x640 + CEntityIOOutput m_OnTrigger[16]; // 0x668 private: - [[maybe_unused]] uint8_t __pad08d8[0x90]; // 0x8d8 + [[maybe_unused]] uint8_t __pad08e8[0x90]; // 0x8e8 public: - CHandle< CSceneEntity > m_hInterruptScene; // 0x968 - int32_t m_nInterruptCount; // 0x96c - bool m_bSceneMissing; // 0x970 - bool m_bInterrupted; // 0x971 - bool m_bCompletedEarly; // 0x972 - bool m_bInterruptSceneFinished; // 0x973 - bool m_bRestoring; // 0x974 + CHandle< CSceneEntity > m_hInterruptScene; // 0x978 + int32_t m_nInterruptCount; // 0x97c + bool m_bSceneMissing; // 0x980 + bool m_bInterrupted; // 0x981 + bool m_bCompletedEarly; // 0x982 + bool m_bInterruptSceneFinished; // 0x983 + bool m_bRestoring; // 0x984 private: - [[maybe_unused]] uint8_t __pad0975[0x3]; // 0x975 + [[maybe_unused]] uint8_t __pad0985[0x3]; // 0x985 public: - CUtlVector< CHandle< CSceneEntity > > m_hNotifySceneCompletion; // 0x978 - CUtlVector< CHandle< CSceneListManager > > m_hListManagers; // 0x990 + CUtlVector< CHandle< CSceneEntity > > m_hNotifySceneCompletion; // 0x988 + CUtlVector< CHandle< CSceneListManager > > m_hListManagers; // 0x9a0 private: - [[maybe_unused]] uint8_t __pad09a8[0x28]; // 0x9a8 + [[maybe_unused]] uint8_t __pad09b8[0x28]; // 0x9b8 public: - CUtlSymbolLarge m_iszSoundName; // 0x9d0 - CHandle< CBaseFlex > m_hActor; // 0x9d8 - CHandle< CBaseEntity > m_hActivator; // 0x9dc - CHandle< CBaseEntity > m_hCamera; // 0x9e0 - int32_t m_BusyActor; // 0x9e4 - SceneOnPlayerDeath_t m_iPlayerDeathBehavior; // 0x9e8 + CUtlSymbolLarge m_iszSoundName; // 0x9e0 + CHandle< CBaseFlex > m_hActor; // 0x9e8 + CHandle< CBaseEntity > m_hActivator; // 0x9ec + int32_t m_BusyActor; // 0x9f0 + SceneOnPlayerDeath_t m_iPlayerDeathBehavior; // 0x9f4 // Static fields: static int32_t &Get_s_nSceneFlushCounter(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CSceneEntity")->m_static_fields[0]->m_instance);}; }; -// Alignment: 57 -// Size: 0x7a0 +// Alignment: 62 +// Size: 0x7b0 class CScriptedSequence : public CBaseEntity { public: - CUtlSymbolLarge m_iszEntry; // 0x498 - CUtlSymbolLarge m_iszPreIdle; // 0x4a0 - CUtlSymbolLarge m_iszPlay; // 0x4a8 - CUtlSymbolLarge m_iszPostIdle; // 0x4b0 - 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 __pad04e3[0x1]; // 0x4e3 -public: - 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 __pad0501[0x3]; // 0x501 -public: - 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 + CUtlSymbolLarge m_iszEntry; // 0x4a8 + CUtlSymbolLarge m_iszPreIdle; // 0x4b0 + CUtlSymbolLarge m_iszPlay; // 0x4b8 + CUtlSymbolLarge m_iszPostIdle; // 0x4c0 + CUtlSymbolLarge m_iszModifierToAddOnPlay; // 0x4c8 + CUtlSymbolLarge m_iszNextScript; // 0x4d0 + CUtlSymbolLarge m_iszEntity; // 0x4d8 + CUtlSymbolLarge m_iszSyncGroup; // 0x4e0 + ScriptedMoveTo_t m_nMoveTo; // 0x4e8 + bool m_bIsPlayingPreIdle; // 0x4ec + bool m_bIsPlayingEntry; // 0x4ed + bool m_bIsPlayingAction; // 0x4ee + bool m_bIsPlayingPostIdle; // 0x4ef + bool m_bLoopPreIdleSequence; // 0x4f0 + bool m_bLoopActionSequence; // 0x4f1 + bool m_bLoopPostIdleSequence; // 0x4f2 + bool m_bSynchPostIdles; // 0x4f3 + bool m_bIgnoreGravity; // 0x4f4 + bool m_bDisableNPCCollisions; // 0x4f5 + bool m_bKeepAnimgraphLockedPost; // 0x4f6 + bool m_bDontAddModifiers; // 0x4f7 + float m_flRadius; // 0x4f8 + float m_flRepeat; // 0x4fc + float m_flPlayAnimFadeInTime; // 0x500 + float m_flMoveInterpTime; // 0x504 + float m_flAngRate; // 0x508 + int32_t m_iDelay; // 0x50c + GameTime_t m_startTime; // 0x510 + bool m_bWaitForBeginSequence; // 0x514 private: [[maybe_unused]] uint8_t __pad0515[0x3]; // 0x515 public: - 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 + int32_t m_saved_effects; // 0x518 + int32_t m_savedFlags; // 0x51c + int32_t m_savedCollisionGroup; // 0x520 + bool m_interruptable; // 0x524 + bool m_sequenceStarted; // 0x525 + bool m_bPrevAnimatedEveryTick; // 0x526 + bool m_bForcedAnimatedEveryTick; // 0x527 + bool m_bPositionRelativeToOtherEntity; // 0x528 private: - [[maybe_unused]] uint8_t __pad0531[0x3]; // 0x531 + [[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529 public: - ScriptedOnDeath_t m_onDeathBehavior; // 0x534 - ScriptedConflictResponse_t m_ConflictResponse; // 0x538 + CHandle< CBaseEntity > m_hTargetEnt; // 0x52c + CHandle< CScriptedSequence > m_hNextCine; // 0x530 + bool m_bThinking; // 0x534 + bool m_bInitiatedSelfDelete; // 0x535 + bool m_bIsTeleportingDueToMoveTo; // 0x536 + bool m_bAllowCustomInterruptConditions; // 0x537 + CHandle< CBaseEntity > m_hLastFoundEntity; // 0x538 + CHandle< CBaseAnimGraph > m_hForcedTarget; // 0x53c + bool m_bDontCancelOtherSequences; // 0x540 + bool m_bForceSynch; // 0x541 + bool m_bTargetWasAsleep; // 0x542 + bool m_bPreventUpdateYawOnFinish; // 0x543 + bool m_bEnsureOnNavmeshOnFinish; // 0x544 private: - [[maybe_unused]] uint8_t __pad053c[0x4]; // 0x53c + [[maybe_unused]] uint8_t __pad0545[0x3]; // 0x545 public: - 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 + ScriptedOnDeath_t m_onDeathBehavior; // 0x548 + ScriptedConflictResponse_t m_ConflictResponse; // 0x54c + CEntityIOOutput m_OnBeginSequence; // 0x550 + CEntityIOOutput m_OnActionStartOrLoop; // 0x578 + CEntityIOOutput m_OnEndSequence; // 0x5a0 + CEntityIOOutput m_OnPostIdleEndSequence; // 0x5c8 + CEntityIOOutput m_OnCancelSequence; // 0x5f0 + CEntityIOOutput m_OnCancelFailedSequence; // 0x618 + CEntityIOOutput m_OnScriptEvent[8]; // 0x640 + CTransform m_matOtherToMain; // 0x780 + CHandle< CBaseEntity > m_hInteractionMainEntity; // 0x7a0 + int32_t m_iPlayerDeathBehavior; // 0x7a4 }; // Alignment: 8 -// Size: 0x4e0 +// Size: 0x4f0 class CSoundOpvarSetEntity : public CBaseEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x8]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x8]; // 0x4a8 public: - CUtlSymbolLarge m_iszStackName; // 0x4a0 - CUtlSymbolLarge m_iszOperatorName; // 0x4a8 - CUtlSymbolLarge m_iszOpvarName; // 0x4b0 - int32_t m_nOpvarType; // 0x4b8 - int32_t m_nOpvarIndex; // 0x4bc - float m_flOpvarValue; // 0x4c0 + CUtlSymbolLarge m_iszStackName; // 0x4b0 + CUtlSymbolLarge m_iszOperatorName; // 0x4b8 + CUtlSymbolLarge m_iszOpvarName; // 0x4c0 + int32_t m_nOpvarType; // 0x4c8 + int32_t m_nOpvarIndex; // 0x4cc + float m_flOpvarValue; // 0x4d0 private: - [[maybe_unused]] uint8_t __pad04c4[0x4]; // 0x4c4 + [[maybe_unused]] uint8_t __pad04d4[0x4]; // 0x4d4 public: - CUtlSymbolLarge m_OpvarValueString; // 0x4c8 - bool m_bSetOnSpawn; // 0x4d0 + CUtlSymbolLarge m_OpvarValueString; // 0x4d8 + bool m_bSetOnSpawn; // 0x4e0 }; // Alignment: 6 -// Size: 0x4b8 +// Size: 0x4c8 class CAISound : public CPointEntity { public: - int32_t m_iSoundType; // 0x498 - int32_t m_iSoundContext; // 0x49c - int32_t m_iVolume; // 0x4a0 - int32_t m_iSoundIndex; // 0x4a4 - float m_flDuration; // 0x4a8 + int32_t m_iSoundType; // 0x4a8 + int32_t m_iSoundContext; // 0x4ac + int32_t m_iVolume; // 0x4b0 + int32_t m_iSoundIndex; // 0x4b4 + float m_flDuration; // 0x4b8 private: - [[maybe_unused]] uint8_t __pad04ac[0x4]; // 0x4ac + [[maybe_unused]] uint8_t __pad04bc[0x4]; // 0x4bc public: - CUtlSymbolLarge m_iszProxyEntityName; // 0x4b0 + CUtlSymbolLarge m_iszProxyEntityName; // 0x4c0 }; // Alignment: 1 -// Size: 0x4a0 +// Size: 0x4b0 class CSoundStackSave : public CLogicalEntity { public: - CUtlSymbolLarge m_iszStackName; // 0x498 + CUtlSymbolLarge m_iszStackName; // 0x4a8 }; // Alignment: 12 -// Size: 0x540 +// Size: 0x550 class CSoundEventEntity : public CBaseEntity { public: - bool m_bStartOnSpawn; // 0x498 - bool m_bToLocalPlayer; // 0x499 - bool m_bStopOnNew; // 0x49a - bool m_bSaveRestore; // 0x49b - bool m_bSavedIsPlaying; // 0x49c + bool m_bStartOnSpawn; // 0x4a8 + bool m_bToLocalPlayer; // 0x4a9 + bool m_bStopOnNew; // 0x4aa + bool m_bSaveRestore; // 0x4ab + bool m_bSavedIsPlaying; // 0x4ac private: - [[maybe_unused]] uint8_t __pad049d[0x3]; // 0x49d + [[maybe_unused]] uint8_t __pad04ad[0x3]; // 0x4ad public: - float m_flSavedElapsedTime; // 0x4a0 + float m_flSavedElapsedTime; // 0x4b0 private: - [[maybe_unused]] uint8_t __pad04a4[0x4]; // 0x4a4 + [[maybe_unused]] uint8_t __pad04b4[0x4]; // 0x4b4 public: - CUtlSymbolLarge m_iszSourceEntityName; // 0x4a8 - CUtlSymbolLarge m_iszAttachmentName; // 0x4b0 - CEntityOutputTemplate< uint64 > m_onGUIDChanged; // 0x4b8 - CEntityIOOutput m_onSoundFinished; // 0x4e0 + CUtlSymbolLarge m_iszSourceEntityName; // 0x4b8 + CUtlSymbolLarge m_iszAttachmentName; // 0x4c0 + CEntityOutputTemplate< uint64 > m_onGUIDChanged; // 0x4c8 + CEntityIOOutput m_onSoundFinished; // 0x4f0 private: - [[maybe_unused]] uint8_t __pad0508[0x20]; // 0x508 + [[maybe_unused]] uint8_t __pad0518[0x20]; // 0x518 public: - CUtlSymbolLarge m_iszSoundName; // 0x528 + CUtlSymbolLarge m_iszSoundName; // 0x538 private: - [[maybe_unused]] uint8_t __pad0530[0x8]; // 0x530 + [[maybe_unused]] uint8_t __pad0540[0x8]; // 0x540 public: - CEntityHandle m_hSource; // 0x538 + CEntityHandle m_hSource; // 0x548 }; // Alignment: 0 -// Size: 0x540 +// Size: 0x550 class CSoundEventEntityAlias_snd_event_point : public CSoundEventEntity { public: @@ -30047,40 +30627,49 @@ public: }; // Alignment: 2 -// Size: 0x558 +// Size: 0x568 class CSoundEventAABBEntity : public CSoundEventEntity { public: - Vector m_vMins; // 0x540 - Vector m_vMaxs; // 0x54c -}; - -// Alignment: 6 -// Size: 0x580 -class CSoundEventPathCornerEntity : public CSoundEventEntity -{ -public: - CUtlSymbolLarge m_iszPathCorner; // 0x540 - int32_t m_iCountMax; // 0x548 - float m_flDistanceMax; // 0x54c - float m_flDistMaxSqr; // 0x550 - float m_flDotProductMax; // 0x554 - bool bPlaying; // 0x558 + Vector m_vMins; // 0x550 + Vector m_vMaxs; // 0x55c }; // Alignment: 2 -// Size: 0x4b0 +// Size: 0x568 +class CSoundEventOBBEntity : public CSoundEventEntity +{ +public: + Vector m_vMins; // 0x550 + Vector m_vMaxs; // 0x55c +}; + +// Alignment: 6 +// Size: 0x590 +class CSoundEventPathCornerEntity : public CSoundEventEntity +{ +public: + CUtlSymbolLarge m_iszPathCorner; // 0x550 + int32_t m_iCountMax; // 0x558 + float m_flDistanceMax; // 0x55c + float m_flDistMaxSqr; // 0x560 + float m_flDotProductMax; // 0x564 + bool bPlaying; // 0x568 +}; + +// Alignment: 2 +// Size: 0x4c0 class CSoundEventParameter : public CBaseEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x8]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x8]; // 0x4a8 public: - CUtlSymbolLarge m_iszParamName; // 0x4a0 - float m_flFloatValue; // 0x4a8 + CUtlSymbolLarge m_iszParamName; // 0x4b0 + float m_flFloatValue; // 0x4b8 }; // Alignment: 0 -// Size: 0x538 +// Size: 0x548 class CEnvSoundscapeProxyAlias_snd_soundscape_proxy : public CEnvSoundscapeProxy { public: @@ -30088,7 +30677,7 @@ public: }; // Alignment: 0 -// Size: 0x530 +// Size: 0x540 class CEnvSoundscapeAlias_snd_soundscape : public CEnvSoundscape { public: @@ -30096,7 +30685,7 @@ public: }; // Alignment: 0 -// Size: 0x530 +// Size: 0x540 class CEnvSoundscapeTriggerableAlias_snd_soundscape_triggerable : public CEnvSoundscapeTriggerable { public: @@ -30104,7 +30693,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CNullEntity : public CBaseEntity { public: @@ -30112,15 +30701,15 @@ public: }; // Alignment: 1 -// Size: 0x4a0 +// Size: 0x4b0 class CBaseDMStart : public CPointEntity { public: - CUtlSymbolLarge m_Master; // 0x498 + CUtlSymbolLarge m_Master; // 0x4a8 }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoLandmark : public CPointEntity { public: @@ -30128,15 +30717,15 @@ public: }; // Alignment: 1 -// Size: 0x750 +// Size: 0x760 class CPlatTrigger : public CBaseModelEntity { public: - CHandle< CFuncPlat > m_pPlatform; // 0x748 + CHandle< CFuncPlat > m_pPlatform; // 0x758 }; // Alignment: 0 -// Size: 0x748 +// Size: 0x758 class CFuncTrainControls : public CBaseModelEntity { public: @@ -30144,16 +30733,16 @@ public: }; // Alignment: 2 -// Size: 0x758 +// Size: 0x768 class CTriggerVolume : public CBaseModelEntity { public: - CUtlSymbolLarge m_iFilterName; // 0x748 - CHandle< CBaseFilter > m_hFilter; // 0x750 + CUtlSymbolLarge m_iFilterName; // 0x758 + CHandle< CBaseFilter > m_hFilter; // 0x760 }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoTeleportDestination : public CPointEntity { public: @@ -30161,29 +30750,29 @@ public: }; // Alignment: 1 -// Size: 0x4a0 +// Size: 0x4b0 class CAI_ChangeTarget : public CBaseEntity { public: - CUtlSymbolLarge m_iszNewTarget; // 0x498 + CUtlSymbolLarge m_iszNewTarget; // 0x4a8 }; // Alignment: 4 -// Size: 0x4b8 +// Size: 0x4c8 class CAI_ChangeHintGroup : public CBaseEntity { public: - int32_t m_iSearchType; // 0x498 + int32_t m_iSearchType; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad049c[0x4]; // 0x49c + [[maybe_unused]] uint8_t __pad04ac[0x4]; // 0x4ac public: - CUtlSymbolLarge m_strSearchName; // 0x4a0 - CUtlSymbolLarge m_strNewHintGroup; // 0x4a8 - float m_flRadius; // 0x4b0 + CUtlSymbolLarge m_strSearchName; // 0x4b0 + CUtlSymbolLarge m_strNewHintGroup; // 0x4b8 + float m_flRadius; // 0x4c0 }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CLogicProximity : public CPointEntity { public: @@ -30191,7 +30780,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoSpawnGroupLandmark : public CPointEntity { public: @@ -30199,25 +30788,25 @@ public: }; // Alignment: 11 -// Size: 0x598 +// Size: 0x5a8 class CInfoSpawnGroupLoadUnload : public CLogicalEntity { public: - CEntityIOOutput m_OnSpawnGroupLoadStarted; // 0x498 - CEntityIOOutput m_OnSpawnGroupLoadFinished; // 0x4c0 - CEntityIOOutput m_OnSpawnGroupUnloadStarted; // 0x4e8 - CEntityIOOutput m_OnSpawnGroupUnloadFinished; // 0x510 - CUtlSymbolLarge m_iszSpawnGroupName; // 0x538 - CUtlSymbolLarge m_iszSpawnGroupFilterName; // 0x540 - CUtlSymbolLarge m_iszLandmarkName; // 0x548 - CUtlString m_sFixedSpawnGroupName; // 0x550 - float m_flTimeoutInterval; // 0x558 - bool m_bStreamingStarted; // 0x55c - bool m_bUnloadingStarted; // 0x55d + CEntityIOOutput m_OnSpawnGroupLoadStarted; // 0x4a8 + CEntityIOOutput m_OnSpawnGroupLoadFinished; // 0x4d0 + CEntityIOOutput m_OnSpawnGroupUnloadStarted; // 0x4f8 + CEntityIOOutput m_OnSpawnGroupUnloadFinished; // 0x520 + CUtlSymbolLarge m_iszSpawnGroupName; // 0x548 + CUtlSymbolLarge m_iszSpawnGroupFilterName; // 0x550 + CUtlSymbolLarge m_iszLandmarkName; // 0x558 + CUtlString m_sFixedSpawnGroupName; // 0x560 + float m_flTimeoutInterval; // 0x568 + bool m_bStreamingStarted; // 0x56c + bool m_bUnloadingStarted; // 0x56d }; // Alignment: 0 -// Size: 0x598 +// Size: 0x5a8 class CInfoSpawnGroupLoadUnloadAlias_info_spawngroup_load : public CInfoSpawnGroupLoadUnload { public: @@ -30225,7 +30814,7 @@ public: }; // Alignment: 0 -// Size: 0x598 +// Size: 0x5a8 class CInfoSpawnGroupLoadUnloadAlias_info_spawngroup_unload : public CInfoSpawnGroupLoadUnload { public: @@ -30233,33 +30822,33 @@ public: }; // Alignment: 1 -// Size: 0x758 +// Size: 0x768 class CFuncNavObstruction : public CBaseModelEntity { private: - [[maybe_unused]] uint8_t __pad0748[0x8]; // 0x748 + [[maybe_unused]] uint8_t __pad0758[0x8]; // 0x758 public: - bool m_bDisabled; // 0x750 + bool m_bDisabled; // 0x760 }; // Alignment: 10 -// Size: 0x530 +// Size: 0x540 class CAmbientGeneric : public CPointEntity { public: - float m_radius; // 0x498 - float m_flMaxRadius; // 0x49c - soundlevel_t m_iSoundLevel; // 0x4a0 - dynpitchvol_t m_dpv; // 0x4a4 - bool m_fActive; // 0x508 - bool m_fLooping; // 0x509 + float m_radius; // 0x4a8 + float m_flMaxRadius; // 0x4ac + soundlevel_t m_iSoundLevel; // 0x4b0 + dynpitchvol_t m_dpv; // 0x4b4 + bool m_fActive; // 0x518 + bool m_fLooping; // 0x519 private: - [[maybe_unused]] uint8_t __pad050a[0x6]; // 0x50a + [[maybe_unused]] uint8_t __pad051a[0x6]; // 0x51a public: - CUtlSymbolLarge m_iszSound; // 0x510 - CUtlSymbolLarge m_sSourceEntName; // 0x518 - CHandle< CBaseEntity > m_hSoundSource; // 0x520 - CEntityIndex m_nSoundSourceEntIndex; // 0x524 + CUtlSymbolLarge m_iszSound; // 0x520 + CUtlSymbolLarge m_sSourceEntName; // 0x528 + CHandle< CBaseEntity > m_hSoundSource; // 0x530 + CEntityIndex m_nSoundSourceEntIndex; // 0x534 }; // Alignment: 2 @@ -30272,50 +30861,50 @@ public: }; // Alignment: 16 -// Size: 0x7c8 +// Size: 0x7d8 class CBaseToggle : public CBaseModelEntity { public: - TOGGLE_STATE m_toggle_state; // 0x748 - float m_flMoveDistance; // 0x74c - float m_flWait; // 0x750 - float m_flLip; // 0x754 - bool m_bAlwaysFireBlockedOutputs; // 0x758 + TOGGLE_STATE m_toggle_state; // 0x758 + float m_flMoveDistance; // 0x75c + float m_flWait; // 0x760 + float m_flLip; // 0x764 + bool m_bAlwaysFireBlockedOutputs; // 0x768 private: - [[maybe_unused]] uint8_t __pad0759[0x3]; // 0x759 + [[maybe_unused]] uint8_t __pad0769[0x3]; // 0x769 public: - Vector m_vecPosition1; // 0x75c - Vector m_vecPosition2; // 0x768 - QAngle m_vecMoveAng; // 0x774 - QAngle m_vecAngle1; // 0x780 - QAngle m_vecAngle2; // 0x78c - float m_flHeight; // 0x798 - CHandle< CBaseEntity > m_hActivator; // 0x79c - Vector m_vecFinalDest; // 0x7a0 - QAngle m_vecFinalAngle; // 0x7ac - int32_t m_movementType; // 0x7b8 + Vector m_vecPosition1; // 0x76c + Vector m_vecPosition2; // 0x778 + QAngle m_vecMoveAng; // 0x784 + QAngle m_vecAngle1; // 0x790 + QAngle m_vecAngle2; // 0x79c + float m_flHeight; // 0x7a8 + CHandle< CBaseEntity > m_hActivator; // 0x7ac + Vector m_vecFinalDest; // 0x7b0 + QAngle m_vecFinalAngle; // 0x7bc + int32_t m_movementType; // 0x7c8 private: - [[maybe_unused]] uint8_t __pad07bc[0x4]; // 0x7bc + [[maybe_unused]] uint8_t __pad07cc[0x4]; // 0x7cc public: - CUtlSymbolLarge m_sMaster; // 0x7c0 + CUtlSymbolLarge m_sMaster; // 0x7d0 }; // Alignment: 4 -// Size: 0x4b0 +// Size: 0x4c0 class CRagdollMagnet : public CPointEntity { public: - bool m_bDisabled; // 0x498 + bool m_bDisabled; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad0499[0x3]; // 0x499 + [[maybe_unused]] uint8_t __pad04a9[0x3]; // 0x4a9 public: - float m_radius; // 0x49c - float m_force; // 0x4a0 - Vector m_axis; // 0x4a4 + float m_radius; // 0x4ac + float m_force; // 0x4b0 + Vector m_axis; // 0x4b4 }; // Alignment: 0 -// Size: 0x748 +// Size: 0x758 class CEntityBlocker : public CBaseModelEntity { public: @@ -30323,637 +30912,640 @@ public: }; // Alignment: 10 -// Size: 0x778 +// Size: 0x788 class CEntityDissolve : public CBaseModelEntity { public: // MNetworkEnable - float m_flFadeInStart; // 0x748 + float m_flFadeInStart; // 0x758 // MNetworkEnable - float m_flFadeInLength; // 0x74c + float m_flFadeInLength; // 0x75c // MNetworkEnable - float m_flFadeOutModelStart; // 0x750 + float m_flFadeOutModelStart; // 0x760 // MNetworkEnable - float m_flFadeOutModelLength; // 0x754 + float m_flFadeOutModelLength; // 0x764 // MNetworkEnable - float m_flFadeOutStart; // 0x758 + float m_flFadeOutStart; // 0x768 // MNetworkEnable - float m_flFadeOutLength; // 0x75c + float m_flFadeOutLength; // 0x76c // MNetworkEnable - GameTime_t m_flStartTime; // 0x760 + GameTime_t m_flStartTime; // 0x770 // MNetworkEnable - EntityDisolveType_t m_nDissolveType; // 0x764 + EntityDisolveType_t m_nDissolveType; // 0x774 // MNetworkEnable - Vector m_vDissolverOrigin; // 0x768 + Vector m_vDissolverOrigin; // 0x778 // MNetworkEnable - uint32_t m_nMagnitude; // 0x774 + uint32_t m_nMagnitude; // 0x784 }; // Alignment: 30 -// Size: 0x9b0 +// Size: 0x9c0 class CEnvProjectedTexture : public CModelPointEntity { public: // MNetworkEnable - CHandle< CBaseEntity > m_hTargetEntity; // 0x748 + CHandle< CBaseEntity > m_hTargetEntity; // 0x758 // MNetworkEnable - bool m_bState; // 0x74c + bool m_bState; // 0x75c // MNetworkEnable - bool m_bAlwaysUpdate; // 0x74d + bool m_bAlwaysUpdate; // 0x75d private: - [[maybe_unused]] uint8_t __pad074e[0x2]; // 0x74e + [[maybe_unused]] uint8_t __pad075e[0x2]; // 0x75e public: // MNetworkEnable - float m_flLightFOV; // 0x750 + float m_flLightFOV; // 0x760 // MNetworkEnable - bool m_bEnableShadows; // 0x754 + bool m_bEnableShadows; // 0x764 // MNetworkEnable - bool m_bSimpleProjection; // 0x755 + bool m_bSimpleProjection; // 0x765 // MNetworkEnable - bool m_bLightOnlyTarget; // 0x756 + bool m_bLightOnlyTarget; // 0x766 // MNetworkEnable - bool m_bLightWorld; // 0x757 + bool m_bLightWorld; // 0x767 // MNetworkEnable - bool m_bCameraSpace; // 0x758 + bool m_bCameraSpace; // 0x768 private: - [[maybe_unused]] uint8_t __pad0759[0x3]; // 0x759 + [[maybe_unused]] uint8_t __pad0769[0x3]; // 0x769 public: // MNetworkEnable - float m_flBrightnessScale; // 0x75c + float m_flBrightnessScale; // 0x76c // MNetworkEnable - Color m_LightColor; // 0x760 + Color m_LightColor; // 0x770 // MNetworkEnable - float m_flIntensity; // 0x764 + float m_flIntensity; // 0x774 // MNetworkEnable - float m_flLinearAttenuation; // 0x768 + float m_flLinearAttenuation; // 0x778 // MNetworkEnable - float m_flQuadraticAttenuation; // 0x76c + float m_flQuadraticAttenuation; // 0x77c // MNetworkEnable - bool m_bVolumetric; // 0x770 + bool m_bVolumetric; // 0x780 private: - [[maybe_unused]] uint8_t __pad0771[0x3]; // 0x771 + [[maybe_unused]] uint8_t __pad0781[0x3]; // 0x781 public: // MNetworkEnable - float m_flNoiseStrength; // 0x774 + float m_flNoiseStrength; // 0x784 // MNetworkEnable - float m_flFlashlightTime; // 0x778 + float m_flFlashlightTime; // 0x788 // MNetworkEnable - uint32_t m_nNumPlanes; // 0x77c + uint32_t m_nNumPlanes; // 0x78c // MNetworkEnable - float m_flPlaneOffset; // 0x780 + float m_flPlaneOffset; // 0x790 // MNetworkEnable - float m_flVolumetricIntensity; // 0x784 + float m_flVolumetricIntensity; // 0x794 // MNetworkEnable - float m_flColorTransitionTime; // 0x788 + float m_flColorTransitionTime; // 0x798 // MNetworkEnable - float m_flAmbient; // 0x78c + float m_flAmbient; // 0x79c // MNetworkEnable - char m_SpotlightTextureName[512]; // 0x790 + char m_SpotlightTextureName[512]; // 0x7a0 // MNetworkEnable - int32_t m_nSpotlightTextureFrame; // 0x990 + int32_t m_nSpotlightTextureFrame; // 0x9a0 // MNetworkEnable - uint32_t m_nShadowQuality; // 0x994 + uint32_t m_nShadowQuality; // 0x9a4 // MNetworkEnable // MNetworkBitCount "16" // MNetworkMinValue "0.000000" // MNetworkMaxValue "500.000000" // MNetworkEncodeFlags - float m_flNearZ; // 0x998 + float m_flNearZ; // 0x9a8 // MNetworkEnable // MNetworkBitCount "18" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1500.000000" // MNetworkEncodeFlags - float m_flFarZ; // 0x99c + float m_flFarZ; // 0x9ac // MNetworkEnable - float m_flProjectionSize; // 0x9a0 + float m_flProjectionSize; // 0x9b0 // MNetworkEnable - float m_flRotation; // 0x9a4 + float m_flRotation; // 0x9b4 // MNetworkEnable - bool m_bFlipHorizontal; // 0x9a8 + bool m_bFlipHorizontal; // 0x9b8 }; // Alignment: 9 -// Size: 0x768 +// Size: 0x778 class CEnvDecal : public CBaseModelEntity { public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hDecalMaterial; // 0x748 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hDecalMaterial; // 0x758 // MNetworkEnable // MNetworkChangeCallback "OnDecalDimensionsChanged" - float m_flWidth; // 0x750 + float m_flWidth; // 0x760 // MNetworkEnable // MNetworkChangeCallback "OnDecalDimensionsChanged" - float m_flHeight; // 0x754 + float m_flHeight; // 0x764 // MNetworkEnable // MNetworkChangeCallback "OnDecalDimensionsChanged" - float m_flDepth; // 0x758 + float m_flDepth; // 0x768 // MNetworkEnable - uint32_t m_nRenderOrder; // 0x75c + uint32_t m_nRenderOrder; // 0x76c // MNetworkEnable - bool m_bProjectOnWorld; // 0x760 + bool m_bProjectOnWorld; // 0x770 // MNetworkEnable - bool m_bProjectOnCharacters; // 0x761 + bool m_bProjectOnCharacters; // 0x771 // MNetworkEnable - bool m_bProjectOnWater; // 0x762 + bool m_bProjectOnWater; // 0x772 private: - [[maybe_unused]] uint8_t __pad0763[0x1]; // 0x763 + [[maybe_unused]] uint8_t __pad0773[0x1]; // 0x773 public: // MNetworkEnable - float m_flDepthSortBias; // 0x764 + float m_flDepthSortBias; // 0x774 }; // Alignment: 6 -// Size: 0x4e0 +// Size: 0x4f0 class CMessage : public CPointEntity { public: - CUtlSymbolLarge m_iszMessage; // 0x498 - float m_MessageVolume; // 0x4a0 - int32_t m_MessageAttenuation; // 0x4a4 - float m_Radius; // 0x4a8 + CUtlSymbolLarge m_iszMessage; // 0x4a8 + float m_MessageVolume; // 0x4b0 + int32_t m_MessageAttenuation; // 0x4b4 + float m_Radius; // 0x4b8 private: - [[maybe_unused]] uint8_t __pad04ac[0x4]; // 0x4ac + [[maybe_unused]] uint8_t __pad04bc[0x4]; // 0x4bc public: - CUtlSymbolLarge m_sNoise; // 0x4b0 - CEntityIOOutput m_OnShowMessage; // 0x4b8 + CUtlSymbolLarge m_sNoise; // 0x4c0 + CEntityIOOutput m_OnShowMessage; // 0x4c8 }; // Alignment: 17 -// Size: 0x658 +// Size: 0x668 class CEnvMicrophone : public CPointEntity { public: - bool m_bDisabled; // 0x498 + bool m_bDisabled; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad0499[0x3]; // 0x499 + [[maybe_unused]] uint8_t __pad04a9[0x3]; // 0x4a9 public: - CHandle< CBaseEntity > m_hMeasureTarget; // 0x49c - int32_t m_nSoundMask; // 0x4a0 - float m_flSensitivity; // 0x4a4 - float m_flSmoothFactor; // 0x4a8 - float m_flMaxRange; // 0x4ac - CUtlSymbolLarge m_iszSpeakerName; // 0x4b0 - CHandle< CBaseEntity > m_hSpeaker; // 0x4b8 - bool m_bAvoidFeedback; // 0x4bc + CHandle< CBaseEntity > m_hMeasureTarget; // 0x4ac + int32_t m_nSoundMask; // 0x4b0 + float m_flSensitivity; // 0x4b4 + float m_flSmoothFactor; // 0x4b8 + float m_flMaxRange; // 0x4bc + CUtlSymbolLarge m_iszSpeakerName; // 0x4c0 + CHandle< CBaseEntity > m_hSpeaker; // 0x4c8 + bool m_bAvoidFeedback; // 0x4cc private: - [[maybe_unused]] uint8_t __pad04bd[0x3]; // 0x4bd + [[maybe_unused]] uint8_t __pad04cd[0x3]; // 0x4cd public: - int32_t m_iSpeakerDSPPreset; // 0x4c0 -private: - [[maybe_unused]] uint8_t __pad04c4[0x4]; // 0x4c4 -public: - CUtlSymbolLarge m_iszListenFilter; // 0x4c8 - CHandle< CBaseFilter > m_hListenFilter; // 0x4d0 + int32_t m_iSpeakerDSPPreset; // 0x4d0 private: [[maybe_unused]] uint8_t __pad04d4[0x4]; // 0x4d4 public: - CEntityOutputTemplate< float32 > m_SoundLevel; // 0x4d8 - CEntityIOOutput m_OnRoutedSound; // 0x500 - CEntityIOOutput m_OnHeardSound; // 0x528 - char m_szLastSound[256]; // 0x550 - int32_t m_iLastRoutedFrame; // 0x650 + CUtlSymbolLarge m_iszListenFilter; // 0x4d8 + CHandle< CBaseFilter > m_hListenFilter; // 0x4e0 +private: + [[maybe_unused]] uint8_t __pad04e4[0x4]; // 0x4e4 +public: + CEntityOutputTemplate< float32 > m_SoundLevel; // 0x4e8 + CEntityIOOutput m_OnRoutedSound; // 0x510 + CEntityIOOutput m_OnHeardSound; // 0x538 + char m_szLastSound[256]; // 0x560 + int32_t m_iLastRoutedFrame; // 0x660 }; // Alignment: 21 -// Size: 0x808 +// Size: 0x818 class CBreakable : public CBaseModelEntity { private: - [[maybe_unused]] uint8_t __pad0748[0x10]; // 0x748 + [[maybe_unused]] uint8_t __pad0758[0x10]; // 0x758 public: - Materials m_Material; // 0x758 - CHandle< CBaseEntity > m_hBreaker; // 0x75c - Explosions m_Explosion; // 0x760 + Materials m_Material; // 0x768 + CHandle< CBaseEntity > m_hBreaker; // 0x76c + Explosions m_Explosion; // 0x770 private: - [[maybe_unused]] uint8_t __pad0764[0x4]; // 0x764 + [[maybe_unused]] uint8_t __pad0774[0x4]; // 0x774 public: - CUtlSymbolLarge m_iszSpawnObject; // 0x768 - float m_flPressureDelay; // 0x770 - int32_t m_iMinHealthDmg; // 0x774 - CUtlSymbolLarge m_iszPropData; // 0x778 - float m_impactEnergyScale; // 0x780 - EOverrideBlockLOS_t m_nOverrideBlockLOS; // 0x784 - CEntityIOOutput m_OnBreak; // 0x788 - CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0x7b0 - float m_flDmgModBullet; // 0x7d8 - float m_flDmgModClub; // 0x7dc - float m_flDmgModExplosive; // 0x7e0 - float m_flDmgModFire; // 0x7e4 - CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0x7e8 - CUtlSymbolLarge m_iszBasePropData; // 0x7f0 - int32_t m_iInteractions; // 0x7f8 - PerformanceMode_t m_PerformanceMode; // 0x7fc - CHandle< CBasePlayerPawn > m_hPhysicsAttacker; // 0x800 - GameTime_t m_flLastPhysicsInfluenceTime; // 0x804 + CUtlSymbolLarge m_iszSpawnObject; // 0x778 + float m_flPressureDelay; // 0x780 + int32_t m_iMinHealthDmg; // 0x784 + CUtlSymbolLarge m_iszPropData; // 0x788 + float m_impactEnergyScale; // 0x790 + EOverrideBlockLOS_t m_nOverrideBlockLOS; // 0x794 + CEntityIOOutput m_OnBreak; // 0x798 + CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0x7c0 + float m_flDmgModBullet; // 0x7e8 + float m_flDmgModClub; // 0x7ec + float m_flDmgModExplosive; // 0x7f0 + float m_flDmgModFire; // 0x7f4 + CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0x7f8 + CUtlSymbolLarge m_iszBasePropData; // 0x800 + int32_t m_iInteractions; // 0x808 + PerformanceMode_t m_PerformanceMode; // 0x80c + CHandle< CBasePlayerPawn > m_hPhysicsAttacker; // 0x810 + GameTime_t m_flLastPhysicsInfluenceTime; // 0x814 }; -// Alignment: 12 -// Size: 0x878 +// Alignment: 13 +// Size: 0x888 class CFuncMoveLinear : public CBaseToggle { public: - MoveLinearAuthoredPos_t m_authoredPosition; // 0x7c8 - QAngle m_angMoveEntitySpace; // 0x7cc - Vector m_vecMoveDirParentSpace; // 0x7d8 + MoveLinearAuthoredPos_t m_authoredPosition; // 0x7d8 + QAngle m_angMoveEntitySpace; // 0x7dc + Vector m_vecMoveDirParentSpace; // 0x7e8 private: - [[maybe_unused]] uint8_t __pad07e4[0x4]; // 0x7e4 + [[maybe_unused]] uint8_t __pad07f4[0x4]; // 0x7f4 public: - CUtlSymbolLarge m_soundStart; // 0x7e8 - CUtlSymbolLarge m_soundStop; // 0x7f0 - CUtlSymbolLarge m_currentSound; // 0x7f8 - float m_flBlockDamage; // 0x800 - float m_flStartPosition; // 0x804 - float m_flMoveDistance; // 0x808 + CUtlSymbolLarge m_soundStart; // 0x7f8 + CUtlSymbolLarge m_soundStop; // 0x800 + CUtlSymbolLarge m_currentSound; // 0x808 + float m_flBlockDamage; // 0x810 + float m_flStartPosition; // 0x814 + float m_flMoveDistance; // 0x818 private: - [[maybe_unused]] uint8_t __pad080c[0xc]; // 0x80c + [[maybe_unused]] uint8_t __pad081c[0xc]; // 0x81c public: - CEntityIOOutput m_OnFullyOpen; // 0x818 - CEntityIOOutput m_OnFullyClosed; // 0x840 - bool m_bCreateNavObstacle; // 0x868 + CEntityIOOutput m_OnFullyOpen; // 0x828 + CEntityIOOutput m_OnFullyClosed; // 0x850 + bool m_bCreateMovableNavMesh; // 0x878 + bool m_bCreateNavObstacle; // 0x879 }; // Alignment: 14 -// Size: 0x7b0 +// Size: 0x7c0 class CFuncRotating : public CBaseModelEntity { public: - QAngle m_vecMoveAng; // 0x748 - float m_flFanFriction; // 0x754 - float m_flAttenuation; // 0x758 - float m_flVolume; // 0x75c - float m_flTargetSpeed; // 0x760 - float m_flMaxSpeed; // 0x764 - float m_flBlockDamage; // 0x768 - float m_flTimeScale; // 0x76c - CUtlSymbolLarge m_NoiseRunning; // 0x770 - bool m_bReversed; // 0x778 + QAngle m_vecMoveAng; // 0x758 + float m_flFanFriction; // 0x764 + float m_flAttenuation; // 0x768 + float m_flVolume; // 0x76c + float m_flTargetSpeed; // 0x770 + float m_flMaxSpeed; // 0x774 + float m_flBlockDamage; // 0x778 + float m_flTimeScale; // 0x77c + CUtlSymbolLarge m_NoiseRunning; // 0x780 + bool m_bReversed; // 0x788 private: - [[maybe_unused]] uint8_t __pad0779[0xb]; // 0x779 + [[maybe_unused]] uint8_t __pad0789[0xb]; // 0x789 public: - QAngle m_angStart; // 0x784 - bool m_bStopAtStartPos; // 0x790 + QAngle m_angStart; // 0x794 + bool m_bStopAtStartPos; // 0x7a0 private: - [[maybe_unused]] uint8_t __pad0791[0x3]; // 0x791 + [[maybe_unused]] uint8_t __pad07a1[0x3]; // 0x7a1 public: - Vector m_vecClientOrigin; // 0x794 - QAngle m_vecClientAngles; // 0x7a0 + Vector m_vecClientOrigin; // 0x7a4 + QAngle m_vecClientAngles; // 0x7b0 }; // Alignment: 1 -// Size: 0x750 +// Size: 0x760 class CItemGenericTriggerHelper : public CBaseModelEntity { public: - CHandle< CItemGeneric > m_hParentItem; // 0x748 + CHandle< CItemGeneric > m_hParentItem; // 0x758 }; // Alignment: 1 -// Size: 0x750 +// Size: 0x760 class CMarkupVolume : public CBaseModelEntity { public: - bool m_bEnabled; // 0x748 + bool m_bEnabled; // 0x758 }; // Alignment: 5 -// Size: 0x788 +// Size: 0x798 class CMarkupVolumeTagged : public CMarkupVolume { private: - [[maybe_unused]] uint8_t __pad0750[0x30]; // 0x750 + [[maybe_unused]] uint8_t __pad0760[0x30]; // 0x760 public: - bool m_bIsGroup; // 0x780 - bool m_bGroupByPrefab; // 0x781 - bool m_bGroupByVolume; // 0x782 - bool m_bGroupOtherGroups; // 0x783 - bool m_bIsInGroup; // 0x784 + bool m_bIsGroup; // 0x790 + bool m_bGroupByPrefab; // 0x791 + bool m_bGroupByVolume; // 0x792 + bool m_bGroupOtherGroups; // 0x793 + bool m_bIsInGroup; // 0x794 }; // Alignment: 3 -// Size: 0x7a0 +// Size: 0x7b0 class CMarkupVolumeWithRef : public CMarkupVolumeTagged { public: - bool m_bUseRef; // 0x788 + bool m_bUseRef; // 0x798 private: - [[maybe_unused]] uint8_t __pad0789[0x3]; // 0x789 + [[maybe_unused]] uint8_t __pad0799[0x3]; // 0x799 public: - Vector m_vRefPos; // 0x78c - float m_flRefDot; // 0x798 + Vector m_vRefPos; // 0x79c + float m_flRefDot; // 0x7a8 }; // Alignment: 6 -// Size: 0x768 +// Size: 0x778 class CFuncBrush : public CBaseModelEntity { public: - BrushSolidities_e m_iSolidity; // 0x748 - int32_t m_iDisabled; // 0x74c - bool m_bSolidBsp; // 0x750 + BrushSolidities_e m_iSolidity; // 0x758 + int32_t m_iDisabled; // 0x75c + bool m_bSolidBsp; // 0x760 private: - [[maybe_unused]] uint8_t __pad0751[0x7]; // 0x751 + [[maybe_unused]] uint8_t __pad0761[0x7]; // 0x761 public: - CUtlSymbolLarge m_iszExcludedClass; // 0x758 - bool m_bInvertExclusion; // 0x760 - bool m_bScriptedMovement; // 0x761 + CUtlSymbolLarge m_iszExcludedClass; // 0x768 + bool m_bInvertExclusion; // 0x770 + bool m_bScriptedMovement; // 0x771 }; // Alignment: 15 -// Size: 0x918 +// Size: 0x928 class CPhysBox : public CBreakable { public: - int32_t m_damageType; // 0x808 - float m_massScale; // 0x80c - int32_t m_damageToEnableMotion; // 0x810 - float m_flForceToEnableMotion; // 0x814 - QAngle m_angPreferredCarryAngles; // 0x818 - bool m_bNotSolidToWorld; // 0x824 - bool m_bEnableUseOutput; // 0x825 + int32_t m_damageType; // 0x818 + float m_massScale; // 0x81c + int32_t m_damageToEnableMotion; // 0x820 + float m_flForceToEnableMotion; // 0x824 + QAngle m_angPreferredCarryAngles; // 0x828 + bool m_bNotSolidToWorld; // 0x834 + bool m_bEnableUseOutput; // 0x835 private: - [[maybe_unused]] uint8_t __pad0826[0x2]; // 0x826 + [[maybe_unused]] uint8_t __pad0836[0x2]; // 0x836 public: - int32_t m_iExploitableByPlayer; // 0x828 - float m_flTouchOutputPerEntityDelay; // 0x82c - CEntityIOOutput m_OnDamaged; // 0x830 - CEntityIOOutput m_OnAwakened; // 0x858 - CEntityIOOutput m_OnMotionEnabled; // 0x880 - CEntityIOOutput m_OnPlayerUse; // 0x8a8 - CEntityIOOutput m_OnStartTouch; // 0x8d0 - CHandle< CBasePlayerPawn > m_hCarryingPlayer; // 0x8f8 + int32_t m_iExploitableByPlayer; // 0x838 + float m_flTouchOutputPerEntityDelay; // 0x83c + CEntityIOOutput m_OnDamaged; // 0x840 + CEntityIOOutput m_OnAwakened; // 0x868 + CEntityIOOutput m_OnMotionEnabled; // 0x890 + CEntityIOOutput m_OnPlayerUse; // 0x8b8 + CEntityIOOutput m_OnStartTouch; // 0x8e0 + CHandle< CBasePlayerPawn > m_hCarryingPlayer; // 0x908 }; // Alignment: 9 -// Size: 0x4e8 +// Size: 0x4f8 class CPhysExplosion : public CPointEntity { public: - bool m_bExplodeOnSpawn; // 0x498 + bool m_bExplodeOnSpawn; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad0499[0x3]; // 0x499 + [[maybe_unused]] uint8_t __pad04a9[0x3]; // 0x4a9 public: - float m_flMagnitude; // 0x49c - float m_flDamage; // 0x4a0 - float m_radius; // 0x4a4 - CUtlSymbolLarge m_targetEntityName; // 0x4a8 - float m_flInnerRadius; // 0x4b0 - float m_flPushScale; // 0x4b4 - bool m_bConvertToDebrisWhenPossible; // 0x4b8 + float m_flMagnitude; // 0x4ac + float m_flDamage; // 0x4b0 + float m_radius; // 0x4b4 + CUtlSymbolLarge m_targetEntityName; // 0x4b8 + float m_flInnerRadius; // 0x4c0 + float m_flPushScale; // 0x4c4 + bool m_bConvertToDebrisWhenPossible; // 0x4c8 private: - [[maybe_unused]] uint8_t __pad04b9[0x7]; // 0x4b9 + [[maybe_unused]] uint8_t __pad04c9[0x7]; // 0x4c9 public: - CEntityIOOutput m_OnPushedPlayer; // 0x4c0 + CEntityIOOutput m_OnPushedPlayer; // 0x4d0 }; // Alignment: 3 -// Size: 0x4a8 +// Size: 0x4b8 class CPhysImpact : public CPointEntity { public: - float m_damage; // 0x498 - float m_distance; // 0x49c - CUtlSymbolLarge m_directionEntityName; // 0x4a0 + float m_damage; // 0x4a8 + float m_distance; // 0x4ac + CUtlSymbolLarge m_directionEntityName; // 0x4b0 }; // Alignment: 21 -// Size: 0x7a0 +// Size: 0x7b0 class CRopeKeyframe : public CBaseModelEntity { private: - [[maybe_unused]] uint8_t __pad0748[0x8]; // 0x748 + [[maybe_unused]] uint8_t __pad0758[0x8]; // 0x758 public: // MNetworkEnable - uint16_t m_RopeFlags; // 0x750 + uint16_t m_RopeFlags; // 0x760 private: - [[maybe_unused]] uint8_t __pad0752[0x6]; // 0x752 + [[maybe_unused]] uint8_t __pad0762[0x6]; // 0x762 public: - CUtlSymbolLarge m_iNextLinkName; // 0x758 + CUtlSymbolLarge m_iNextLinkName; // 0x768 // MNetworkEnable - int16_t m_Slack; // 0x760 + int16_t m_Slack; // 0x770 private: - [[maybe_unused]] uint8_t __pad0762[0x2]; // 0x762 + [[maybe_unused]] uint8_t __pad0772[0x2]; // 0x772 public: // MNetworkEnable - float m_Width; // 0x764 + float m_Width; // 0x774 // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.100000" // MNetworkMaxValue "10.000000" - float m_TextureScale; // 0x768 + float m_TextureScale; // 0x778 // MNetworkEnable - uint8_t m_nSegments; // 0x76c + uint8_t m_nSegments; // 0x77c // MNetworkEnable - bool m_bConstrainBetweenEndpoints; // 0x76d + bool m_bConstrainBetweenEndpoints; // 0x77d private: - [[maybe_unused]] uint8_t __pad076e[0x2]; // 0x76e + [[maybe_unused]] uint8_t __pad077e[0x2]; // 0x77e public: - CUtlSymbolLarge m_strRopeMaterialModel; // 0x770 + CUtlSymbolLarge m_strRopeMaterialModel; // 0x780 // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_iRopeMaterialModelIndex; // 0x778 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_iRopeMaterialModelIndex; // 0x788 // MNetworkEnable - uint8_t m_Subdiv; // 0x780 + uint8_t m_Subdiv; // 0x790 // MNetworkEnable - uint8_t m_nChangeCount; // 0x781 + uint8_t m_nChangeCount; // 0x791 // MNetworkEnable - int16_t m_RopeLength; // 0x782 + int16_t m_RopeLength; // 0x792 // MNetworkEnable - uint8_t m_fLockedPoints; // 0x784 - bool m_bCreatedFromMapFile; // 0x785 + uint8_t m_fLockedPoints; // 0x794 + bool m_bCreatedFromMapFile; // 0x795 private: - [[maybe_unused]] uint8_t __pad0786[0x2]; // 0x786 + [[maybe_unused]] uint8_t __pad0796[0x2]; // 0x796 public: // MNetworkEnable - float m_flScrollSpeed; // 0x788 - bool m_bStartPointValid; // 0x78c - bool m_bEndPointValid; // 0x78d + float m_flScrollSpeed; // 0x798 + bool m_bStartPointValid; // 0x79c + bool m_bEndPointValid; // 0x79d private: - [[maybe_unused]] uint8_t __pad078e[0x2]; // 0x78e + [[maybe_unused]] uint8_t __pad079e[0x2]; // 0x79e public: // MNetworkEnable - CHandle< CBaseEntity > m_hStartPoint; // 0x790 + CHandle< CBaseEntity > m_hStartPoint; // 0x7a0 // MNetworkEnable - CHandle< CBaseEntity > m_hEndPoint; // 0x794 + CHandle< CBaseEntity > m_hEndPoint; // 0x7a4 // MNetworkEnable - AttachmentHandle_t m_iStartAttachment; // 0x798 + AttachmentHandle_t m_iStartAttachment; // 0x7a8 // MNetworkEnable - AttachmentHandle_t m_iEndAttachment; // 0x799 + AttachmentHandle_t m_iEndAttachment; // 0x7a9 }; // Alignment: 4 -// Size: 0x1ea8 +// Size: 0x1eb8 class CSoundEnt : public CPointEntity { public: - int32_t m_iFreeSound; // 0x498 - int32_t m_iActiveSound; // 0x49c - int32_t m_cLastActiveSounds; // 0x4a0 - CSound m_SoundPool[128]; // 0x4a4 + int32_t m_iFreeSound; // 0x4a8 + int32_t m_iActiveSound; // 0x4ac + int32_t m_cLastActiveSounds; // 0x4b0 + CSound m_SoundPool[128]; // 0x4b4 }; // Alignment: 4 -// Size: 0x768 +// Size: 0x778 class CSpotlightEnd : public CBaseModelEntity { public: // MNetworkEnable - float m_flLightScale; // 0x748 + float m_flLightScale; // 0x758 // MNetworkEnable - float m_Radius; // 0x74c - Vector m_vSpotlightDir; // 0x750 - Vector m_vSpotlightOrg; // 0x75c + float m_Radius; // 0x75c + Vector m_vSpotlightDir; // 0x760 + Vector m_vSpotlightOrg; // 0x76c }; -// Alignment: 36 -// Size: 0x880 +// Alignment: 38 +// Size: 0x8a8 class CFuncTrackTrain : public CBaseModelEntity { public: - CHandle< CPathTrack > m_ppath; // 0x748 - float m_length; // 0x74c - Vector m_controlMins; // 0x750 - Vector m_controlMaxs; // 0x75c - Vector m_lastBlockPos; // 0x768 - int32_t m_lastBlockTick; // 0x774 - float m_flVolume; // 0x778 - float m_flBank; // 0x77c - float m_oldSpeed; // 0x780 - float m_flBlockDamage; // 0x784 - float m_height; // 0x788 - float m_maxSpeed; // 0x78c - float m_dir; // 0x790 + CHandle< CPathTrack > m_ppath; // 0x758 + float m_length; // 0x75c + Vector m_vPosPrev; // 0x760 + QAngle m_angPrev; // 0x76c + Vector m_controlMins; // 0x778 + Vector m_controlMaxs; // 0x784 + Vector m_lastBlockPos; // 0x790 + int32_t m_lastBlockTick; // 0x79c + float m_flVolume; // 0x7a0 + float m_flBank; // 0x7a4 + float m_oldSpeed; // 0x7a8 + float m_flBlockDamage; // 0x7ac + float m_height; // 0x7b0 + float m_maxSpeed; // 0x7b4 + float m_dir; // 0x7b8 private: - [[maybe_unused]] uint8_t __pad0794[0x4]; // 0x794 + [[maybe_unused]] uint8_t __pad07bc[0x4]; // 0x7bc public: - CUtlSymbolLarge m_iszSoundMove; // 0x798 - CUtlSymbolLarge m_iszSoundMovePing; // 0x7a0 - CUtlSymbolLarge m_iszSoundStart; // 0x7a8 - CUtlSymbolLarge m_iszSoundStop; // 0x7b0 - CUtlSymbolLarge m_strPathTarget; // 0x7b8 - float m_flMoveSoundMinDuration; // 0x7c0 - float m_flMoveSoundMaxDuration; // 0x7c4 - GameTime_t m_flNextMoveSoundTime; // 0x7c8 - float m_flMoveSoundMinPitch; // 0x7cc - float m_flMoveSoundMaxPitch; // 0x7d0 - TrainOrientationType_t m_eOrientationType; // 0x7d4 - TrainVelocityType_t m_eVelocityType; // 0x7d8 + CUtlSymbolLarge m_iszSoundMove; // 0x7c0 + CUtlSymbolLarge m_iszSoundMovePing; // 0x7c8 + CUtlSymbolLarge m_iszSoundStart; // 0x7d0 + CUtlSymbolLarge m_iszSoundStop; // 0x7d8 + CUtlSymbolLarge m_strPathTarget; // 0x7e0 + float m_flMoveSoundMinDuration; // 0x7e8 + float m_flMoveSoundMaxDuration; // 0x7ec + GameTime_t m_flNextMoveSoundTime; // 0x7f0 + float m_flMoveSoundMinPitch; // 0x7f4 + float m_flMoveSoundMaxPitch; // 0x7f8 + TrainOrientationType_t m_eOrientationType; // 0x7fc + TrainVelocityType_t m_eVelocityType; // 0x800 private: - [[maybe_unused]] uint8_t __pad07dc[0xc]; // 0x7dc + [[maybe_unused]] uint8_t __pad0804[0xc]; // 0x804 public: - CEntityIOOutput m_OnStart; // 0x7e8 - CEntityIOOutput m_OnNext; // 0x810 - CEntityIOOutput m_OnArrivedAtDestinationNode; // 0x838 - bool m_bManualSpeedChanges; // 0x860 + CEntityIOOutput m_OnStart; // 0x810 + CEntityIOOutput m_OnNext; // 0x838 + CEntityIOOutput m_OnArrivedAtDestinationNode; // 0x860 + bool m_bManualSpeedChanges; // 0x888 private: - [[maybe_unused]] uint8_t __pad0861[0x3]; // 0x861 + [[maybe_unused]] uint8_t __pad0889[0x3]; // 0x889 public: - float m_flDesiredSpeed; // 0x864 - GameTime_t m_flSpeedChangeTime; // 0x868 - float m_flAccelSpeed; // 0x86c - float m_flDecelSpeed; // 0x870 - bool m_bAccelToSpeed; // 0x874 + float m_flDesiredSpeed; // 0x88c + GameTime_t m_flSpeedChangeTime; // 0x890 + float m_flAccelSpeed; // 0x894 + float m_flDecelSpeed; // 0x898 + bool m_bAccelToSpeed; // 0x89c private: - [[maybe_unused]] uint8_t __pad0875[0x3]; // 0x875 + [[maybe_unused]] uint8_t __pad089d[0x3]; // 0x89d public: - float m_flTimeScale; // 0x878 - GameTime_t m_flNextMPSoundTime; // 0x87c + float m_flTimeScale; // 0x8a0 + GameTime_t m_flNextMPSoundTime; // 0x8a4 }; // Alignment: 11 -// Size: 0x8f0 +// Size: 0x900 class CBaseTrigger : public CBaseToggle { public: // MNetworkEnable - bool m_bDisabled; // 0x7c8 + bool m_bDisabled; // 0x7d8 private: - [[maybe_unused]] uint8_t __pad07c9[0x7]; // 0x7c9 + [[maybe_unused]] uint8_t __pad07d9[0x7]; // 0x7d9 public: - CUtlSymbolLarge m_iFilterName; // 0x7d0 - CHandle< CBaseFilter > m_hFilter; // 0x7d8 + CUtlSymbolLarge m_iFilterName; // 0x7e0 + CHandle< CBaseFilter > m_hFilter; // 0x7e8 private: - [[maybe_unused]] uint8_t __pad07dc[0x4]; // 0x7dc + [[maybe_unused]] uint8_t __pad07ec[0x4]; // 0x7ec public: - CEntityIOOutput m_OnStartTouch; // 0x7e0 - CEntityIOOutput m_OnStartTouchAll; // 0x808 - CEntityIOOutput m_OnEndTouch; // 0x830 - CEntityIOOutput m_OnEndTouchAll; // 0x858 - CEntityIOOutput m_OnTouching; // 0x880 - CEntityIOOutput m_OnNotTouching; // 0x8a8 - CUtlVector< CHandle< CBaseEntity > > m_hTouchingEntities; // 0x8d0 + CEntityIOOutput m_OnStartTouch; // 0x7f0 + CEntityIOOutput m_OnStartTouchAll; // 0x818 + CEntityIOOutput m_OnEndTouch; // 0x840 + CEntityIOOutput m_OnEndTouchAll; // 0x868 + CEntityIOOutput m_OnTouching; // 0x890 + CEntityIOOutput m_OnNotTouching; // 0x8b8 + CUtlVector< CHandle< CBaseEntity > > m_hTouchingEntities; // 0x8e0 // MNetworkEnable - bool m_bClientSidePredicted; // 0x8e8 + bool m_bClientSidePredicted; // 0x8f8 }; // Alignment: 1 -// Size: 0x918 +// Size: 0x928 class CTriggerMultiple : public CBaseTrigger { public: - CEntityIOOutput m_OnTrigger; // 0x8f0 + CEntityIOOutput m_OnTrigger; // 0x900 }; // Alignment: 15 -// Size: 0xc58 +// Size: 0xc68 class CTriggerSndSosOpvar : public CBaseTrigger { public: - CUtlVector< CHandle< CBaseEntity > > m_hTouchingPlayers; // 0x8f0 - Vector m_flPosition; // 0x908 - float m_flCenterSize; // 0x914 - float m_flMinVal; // 0x918 - float m_flMaxVal; // 0x91c - float m_flWait; // 0x920 + CUtlVector< CHandle< CBaseEntity > > m_hTouchingPlayers; // 0x900 + Vector m_flPosition; // 0x918 + float m_flCenterSize; // 0x924 + float m_flMinVal; // 0x928 + float m_flMaxVal; // 0x92c + float m_flWait; // 0x930 private: - [[maybe_unused]] uint8_t __pad0924[0x4]; // 0x924 + [[maybe_unused]] uint8_t __pad0934[0x4]; // 0x934 public: - CUtlSymbolLarge m_opvarName; // 0x928 - CUtlSymbolLarge m_stackName; // 0x930 - CUtlSymbolLarge m_operatorName; // 0x938 - bool m_bVolIs2D; // 0x940 - char m_opvarNameChar[256]; // 0x941 - char m_stackNameChar[256]; // 0xa41 - char m_operatorNameChar[256]; // 0xb41 + CUtlSymbolLarge m_opvarName; // 0x938 + CUtlSymbolLarge m_stackName; // 0x940 + CUtlSymbolLarge m_operatorName; // 0x948 + bool m_bVolIs2D; // 0x950 + char m_opvarNameChar[256]; // 0x951 + char m_stackNameChar[256]; // 0xa51 + char m_operatorNameChar[256]; // 0xb51 private: - [[maybe_unused]] uint8_t __pad0c41[0x3]; // 0xc41 + [[maybe_unused]] uint8_t __pad0c51[0x3]; // 0xc51 public: - Vector m_VecNormPos; // 0xc44 - float m_flNormCenterSize; // 0xc50 + Vector m_VecNormPos; // 0xc54 + float m_flNormCenterSize; // 0xc60 }; // Alignment: 14 -// Size: 0x990 +// Size: 0x9a0 class CTriggerHurt : public CBaseTrigger { public: - float m_flOriginalDamage; // 0x8f0 - float m_flDamage; // 0x8f4 - float m_flDamageCap; // 0x8f8 - GameTime_t m_flLastDmgTime; // 0x8fc - float m_flForgivenessDelay; // 0x900 - int32_t m_bitsDamageInflict; // 0x904 - int32_t m_damageModel; // 0x908 - bool m_bNoDmgForce; // 0x90c -private: - [[maybe_unused]] uint8_t __pad090d[0x3]; // 0x90d -public: - Vector m_vDamageForce; // 0x910 - bool m_thinkAlways; // 0x91c + float m_flOriginalDamage; // 0x900 + float m_flDamage; // 0x904 + float m_flDamageCap; // 0x908 + GameTime_t m_flLastDmgTime; // 0x90c + float m_flForgivenessDelay; // 0x910 + int32_t m_bitsDamageInflict; // 0x914 + int32_t m_damageModel; // 0x918 + bool m_bNoDmgForce; // 0x91c private: [[maybe_unused]] uint8_t __pad091d[0x3]; // 0x91d public: - float m_hurtThinkPeriod; // 0x920 + Vector m_vDamageForce; // 0x920 + bool m_thinkAlways; // 0x92c private: - [[maybe_unused]] uint8_t __pad0924[0x4]; // 0x924 + [[maybe_unused]] uint8_t __pad092d[0x3]; // 0x92d public: - CEntityIOOutput m_OnHurt; // 0x928 - CEntityIOOutput m_OnHurtPlayer; // 0x950 - CUtlVector< CHandle< CBaseEntity > > m_hurtEntities; // 0x978 + float m_hurtThinkPeriod; // 0x930 +private: + [[maybe_unused]] uint8_t __pad0934[0x4]; // 0x934 +public: + CEntityIOOutput m_OnHurt; // 0x938 + CEntityIOOutput m_OnHurtPlayer; // 0x960 + CUtlVector< CHandle< CBaseEntity > > m_hurtEntities; // 0x988 }; // Alignment: 0 -// Size: 0x990 +// Size: 0x9a0 class CTriggerHurtGhost : public CTriggerHurt { public: @@ -30961,7 +31553,7 @@ public: }; // Alignment: 0 -// Size: 0x8f8 +// Size: 0x908 class CTriggerCallback : public CBaseTrigger { public: @@ -30969,88 +31561,80 @@ public: }; // Alignment: 12 -// Size: 0x990 +// Size: 0x9a0 class CTriggerLerpObject : public CBaseTrigger { public: - CUtlSymbolLarge m_iszLerpTarget; // 0x8f0 - CHandle< CBaseEntity > m_hLerpTarget; // 0x8f8 + CUtlSymbolLarge m_iszLerpTarget; // 0x900 + CHandle< CBaseEntity > m_hLerpTarget; // 0x908 private: - [[maybe_unused]] uint8_t __pad08fc[0x4]; // 0x8fc + [[maybe_unused]] uint8_t __pad090c[0x4]; // 0x90c public: - CUtlSymbolLarge m_iszLerpTargetAttachment; // 0x900 - AttachmentHandle_t m_hLerpTargetAttachment; // 0x908 + CUtlSymbolLarge m_iszLerpTargetAttachment; // 0x910 + AttachmentHandle_t m_hLerpTargetAttachment; // 0x918 private: - [[maybe_unused]] uint8_t __pad0909[0x3]; // 0x909 + [[maybe_unused]] uint8_t __pad0919[0x3]; // 0x919 public: - float m_flLerpDuration; // 0x90c - bool m_bLerpRestoreMoveType; // 0x910 - bool m_bSingleLerpObject; // 0x911 + float m_flLerpDuration; // 0x91c + bool m_bLerpRestoreMoveType; // 0x920 + bool m_bSingleLerpObject; // 0x921 private: - [[maybe_unused]] uint8_t __pad0912[0x6]; // 0x912 + [[maybe_unused]] uint8_t __pad0922[0x6]; // 0x922 public: - CUtlVector< lerpdata_t > m_vecLerpingObjects; // 0x918 - CUtlSymbolLarge m_iszLerpEffect; // 0x930 - CUtlSymbolLarge m_iszLerpSound; // 0x938 - CEntityIOOutput m_OnLerpStarted; // 0x940 - CEntityIOOutput m_OnLerpFinished; // 0x968 + CUtlVector< lerpdata_t > m_vecLerpingObjects; // 0x928 + CUtlSymbolLarge m_iszLerpEffect; // 0x940 + CUtlSymbolLarge m_iszLerpSound; // 0x948 + CEntityIOOutput m_OnLerpStarted; // 0x950 + CEntityIOOutput m_OnLerpFinished; // 0x978 }; // Alignment: 7 -// Size: 0x930 +// Size: 0x940 class CChangeLevel : public CBaseTrigger { public: - CUtlString m_sMapName; // 0x8f0 - CUtlString m_sLandmarkName; // 0x8f8 - CEntityIOOutput m_OnChangeLevel; // 0x900 - bool m_bTouched; // 0x928 - bool m_bNoTouch; // 0x929 - bool m_bNewChapter; // 0x92a - bool m_bOnChangeLevelFired; // 0x92b + CUtlString m_sMapName; // 0x900 + CUtlString m_sLandmarkName; // 0x908 + CEntityIOOutput m_OnChangeLevel; // 0x910 + bool m_bTouched; // 0x938 + bool m_bNoTouch; // 0x939 + bool m_bNewChapter; // 0x93a + bool m_bOnChangeLevelFired; // 0x93b }; // Alignment: 3 -// Size: 0x900 +// Size: 0x910 class CTriggerTeleport : public CBaseTrigger { public: - CUtlSymbolLarge m_iLandmark; // 0x8f0 - bool m_bUseLandmarkAngles; // 0x8f8 - bool m_bMirrorPlayer; // 0x8f9 + CUtlSymbolLarge m_iLandmark; // 0x900 + bool m_bUseLandmarkAngles; // 0x908 + bool m_bMirrorPlayer; // 0x909 }; // Alignment: 11 -// Size: 0x940 +// Size: 0x950 class CTriggerFan : public CBaseTrigger { public: - Vector m_vFanOrigin; // 0x8f0 - Vector m_vFanEnd; // 0x8fc - Vector m_vNoise; // 0x908 - float m_flForce; // 0x914 - float m_flPlayerForce; // 0x918 - float m_flRampTime; // 0x91c - bool m_bFalloff; // 0x920 - bool m_bPushPlayer; // 0x921 - bool m_bRampDown; // 0x922 - bool m_bAddNoise; // 0x923 + Vector m_vFanOrigin; // 0x900 + Vector m_vFanEnd; // 0x90c + Vector m_vNoise; // 0x918 + float m_flForce; // 0x924 + float m_flPlayerForce; // 0x928 + float m_flRampTime; // 0x92c + bool m_bFalloff; // 0x930 + bool m_bPushPlayer; // 0x931 + bool m_bRampDown; // 0x932 + bool m_bAddNoise; // 0x933 private: - [[maybe_unused]] uint8_t __pad0924[0x4]; // 0x924 + [[maybe_unused]] uint8_t __pad0934[0x4]; // 0x934 public: - CountdownTimer m_RampTimer; // 0x928 + CountdownTimer m_RampTimer; // 0x938 }; // Alignment: 0 -// Size: 0x8f0 -class CTriggerBuoyancy : public CBaseTrigger -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CNavWalkable : public CPointEntity { public: @@ -31058,60 +31642,56 @@ public: }; // Alignment: 2 -// Size: 0x758 +// Size: 0x768 class CFuncNavBlocker : public CBaseModelEntity { public: - bool m_bDisabled; // 0x748 + bool m_bDisabled; // 0x758 private: - [[maybe_unused]] uint8_t __pad0749[0x3]; // 0x749 + [[maybe_unused]] uint8_t __pad0759[0x3]; // 0x759 public: - int32_t m_nBlockedTeamNumber; // 0x74c + int32_t m_nBlockedTeamNumber; // 0x75c }; -// Alignment: 12 -// Size: 0x538 +// Alignment: 13 +// Size: 0x550 class CNavLinkAreaEntity : public CPointEntity { public: - float m_flWidth; // 0x498 - Vector m_vLocatorOffset; // 0x49c - QAngle m_qLocatorAnglesOffset; // 0x4a8 + float m_flWidth; // 0x4a8 + Vector m_vLocatorOffset; // 0x4ac + QAngle m_qLocatorAnglesOffset; // 0x4b8 private: - [[maybe_unused]] uint8_t __pad04b4[0x4]; // 0x4b4 + [[maybe_unused]] uint8_t __pad04c4[0x4]; // 0x4c4 public: - CUtlSymbolLarge m_strMovementForward; // 0x4b8 - CUtlSymbolLarge m_strMovementReverse; // 0x4c0 - int32_t m_nNavLinkIdForward; // 0x4c8 - int32_t m_nNavLinkIdReverse; // 0x4cc - bool m_bEnabled; // 0x4d0 + CUtlSymbolLarge m_strMovementForward; // 0x4c8 + CUtlSymbolLarge m_strMovementReverse; // 0x4d0 + int32_t m_nNavLinkIdForward; // 0x4d8 + int32_t m_nNavLinkIdReverse; // 0x4dc + bool m_bEnabled; // 0x4e0 private: - [[maybe_unused]] uint8_t __pad04d1[0x7]; // 0x4d1 + [[maybe_unused]] uint8_t __pad04e1[0x7]; // 0x4e1 public: - CUtlSymbolLarge m_strFilterName; // 0x4d8 - CHandle< CBaseFilter > m_hFilter; // 0x4e0 + CUtlSymbolLarge m_strFilterName; // 0x4e8 + CHandle< CBaseFilter > m_hFilter; // 0x4f0 private: - [[maybe_unused]] uint8_t __pad04e4[0x4]; // 0x4e4 + [[maybe_unused]] uint8_t __pad04f4[0x4]; // 0x4f4 public: - CEntityIOOutput m_OnNavLinkStart; // 0x4e8 - CEntityIOOutput m_OnNavLinkFinish; // 0x510 + CEntityIOOutput m_OnNavLinkStart; // 0x4f8 + CEntityIOOutput m_OnNavLinkFinish; // 0x520 + bool m_bIsTerminus; // 0x548 }; -// Alignment: 3 -// Size: 0x4a0 +// Alignment: 1 +// Size: 0x4b0 class CNavSpaceInfo : public CPointEntity { public: - bool m_bCreateTacticalConnections; // 0x498 - bool m_bCreateFlightSpace; // 0x499 -private: - [[maybe_unused]] uint8_t __pad049a[0x2]; // 0x49a -public: - float m_flPhysicsOverheadBufferDist; // 0x49c + bool m_bCreateFlightSpace; // 0x4a8 }; // Alignment: 24 -// Size: 0x7e8 +// Size: 0x7f8 class CBeam : public CBaseModelEntity { public: @@ -31120,83 +31700,83 @@ public: // MNetworkMinValue "-25.000000" // MNetworkMaxValue "25.000000" // MNetworkEncodeFlags - float m_flFrameRate; // 0x748 + float m_flFrameRate; // 0x758 // MNetworkEnable - float m_flHDRColorScale; // 0x74c - GameTime_t m_flFireTime; // 0x750 - float m_flDamage; // 0x754 + float m_flHDRColorScale; // 0x75c + GameTime_t m_flFireTime; // 0x760 + float m_flDamage; // 0x764 // MNetworkEnable - uint8_t m_nNumBeamEnts; // 0x758 + uint8_t m_nNumBeamEnts; // 0x768 private: - [[maybe_unused]] uint8_t __pad0759[0x7]; // 0x759 + [[maybe_unused]] uint8_t __pad0769[0x7]; // 0x769 public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hBaseMaterial; // 0x760 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hBaseMaterial; // 0x770 // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_nHaloIndex; // 0x768 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_nHaloIndex; // 0x778 // MNetworkEnable - BeamType_t m_nBeamType; // 0x770 + BeamType_t m_nBeamType; // 0x780 // MNetworkEnable - uint32_t m_nBeamFlags; // 0x774 + uint32_t m_nBeamFlags; // 0x784 // MNetworkEnable - CHandle< CBaseEntity > m_hAttachEntity[10]; // 0x778 + CHandle< CBaseEntity > m_hAttachEntity[10]; // 0x788 // MNetworkEnable - AttachmentHandle_t m_nAttachIndex[10]; // 0x7a0 + AttachmentHandle_t m_nAttachIndex[10]; // 0x7b0 private: - [[maybe_unused]] uint8_t __pad07aa[0x2]; // 0x7aa + [[maybe_unused]] uint8_t __pad07ba[0x2]; // 0x7ba public: // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.000000" // MNetworkMaxValue "102.300003" // MNetworkEncodeFlags - float m_fWidth; // 0x7ac + float m_fWidth; // 0x7bc // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.000000" // MNetworkMaxValue "102.300003" // MNetworkEncodeFlags - float m_fEndWidth; // 0x7b0 + float m_fEndWidth; // 0x7c0 // MNetworkEnable - float m_fFadeLength; // 0x7b4 + float m_fFadeLength; // 0x7c4 // MNetworkEnable - float m_fHaloScale; // 0x7b8 + float m_fHaloScale; // 0x7c8 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "64.000000" // MNetworkEncodeFlags - float m_fAmplitude; // 0x7bc + float m_fAmplitude; // 0x7cc // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "256.000000" // MNetworkEncodeFlags - float m_fStartFrame; // 0x7c0 + float m_fStartFrame; // 0x7d0 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "100.000000" - float m_fSpeed; // 0x7c4 + float m_fSpeed; // 0x7d4 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0.000000" // MNetworkMaxValue "256.000000" // MNetworkEncodeFlags // MNetworkPriority "32" - float m_flFrame; // 0x7c8 + float m_flFrame; // 0x7d8 // MNetworkEnable - BeamClipStyle_t m_nClipStyle; // 0x7cc + BeamClipStyle_t m_nClipStyle; // 0x7dc // MNetworkEnable - bool m_bTurnedOff; // 0x7d0 + bool m_bTurnedOff; // 0x7e0 private: - [[maybe_unused]] uint8_t __pad07d1[0x3]; // 0x7d1 + [[maybe_unused]] uint8_t __pad07e1[0x3]; // 0x7e1 public: // MNetworkEnable // MNetworkEncoder - Vector m_vecEndPos; // 0x7d4 - CHandle< CBaseEntity > m_hEndEntity; // 0x7e0 - int32_t m_nDissolveType; // 0x7e4 + Vector m_vecEndPos; // 0x7e4 + CHandle< CBaseEntity > m_hEndEntity; // 0x7f0 + int32_t m_nDissolveType; // 0x7f4 }; // Alignment: 7 @@ -31219,94 +31799,72 @@ public: CUtlString m_szModifier; // 0x120 }; -// Alignment: 9 -// Size: 0x80 -class CRagdoll : public IRagdoll -{ -public: - ragdoll_t m_ragdoll; // 0x8 - Vector m_mins; // 0x40 - Vector m_maxs; // 0x4c - Vector m_origin; // 0x58 - float m_lastUpdate; // 0x64 - bool m_allAsleep; // 0x68 -private: - [[maybe_unused]] uint8_t __pad0069[0x3]; // 0x69 -public: - Vector m_vecLastOrigin; // 0x6c - float m_flLastOriginChangeTime; // 0x78 - float m_flAwakeTime; // 0x7c - - // Static fields: - static uint32_t &Get_s_globalCount(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CRagdoll")->m_static_fields[0]->m_instance);}; -}; - // Alignment: 23 -// Size: 0x7b8 +// Size: 0x7c8 class CSprite : public CBaseModelEntity { public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSpriteMaterial; // 0x748 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSpriteMaterial; // 0x758 // MNetworkEnable - CHandle< CBaseEntity > m_hAttachedToEntity; // 0x750 + CHandle< CBaseEntity > m_hAttachedToEntity; // 0x760 // MNetworkEnable - AttachmentHandle_t m_nAttachment; // 0x754 + AttachmentHandle_t m_nAttachment; // 0x764 private: - [[maybe_unused]] uint8_t __pad0755[0x3]; // 0x755 + [[maybe_unused]] uint8_t __pad0765[0x3]; // 0x765 public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "60.000000" // MNetworkEncodeFlags - float m_flSpriteFramerate; // 0x758 + float m_flSpriteFramerate; // 0x768 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0.000000" // MNetworkMaxValue "256.000000" // MNetworkEncodeFlags - float m_flFrame; // 0x75c - GameTime_t m_flDieTime; // 0x760 + float m_flFrame; // 0x76c + GameTime_t m_flDieTime; // 0x770 private: - [[maybe_unused]] uint8_t __pad0764[0xc]; // 0x764 + [[maybe_unused]] uint8_t __pad0774[0xc]; // 0x774 public: // MNetworkEnable - uint32_t m_nBrightness; // 0x770 + uint32_t m_nBrightness; // 0x780 // MNetworkEnable - float m_flBrightnessDuration; // 0x774 + float m_flBrightnessDuration; // 0x784 // MNetworkEnable // MNetworkChangeCallback "OnSpriteScaleChanged" - float m_flSpriteScale; // 0x778 + float m_flSpriteScale; // 0x788 // MNetworkEnable - float m_flScaleDuration; // 0x77c + float m_flScaleDuration; // 0x78c // MNetworkEnable - bool m_bWorldSpaceScale; // 0x780 + bool m_bWorldSpaceScale; // 0x790 private: - [[maybe_unused]] uint8_t __pad0781[0x3]; // 0x781 + [[maybe_unused]] uint8_t __pad0791[0x3]; // 0x791 public: // MNetworkEnable // MNetworkBitCount "6" // MNetworkMinValue "0.000000" // MNetworkMaxValue "64.000000" // MNetworkEncodeFlags - float m_flGlowProxySize; // 0x784 + float m_flGlowProxySize; // 0x794 // MNetworkEnable - float m_flHDRColorScale; // 0x788 - GameTime_t m_flLastTime; // 0x78c - float m_flMaxFrame; // 0x790 - float m_flStartScale; // 0x794 - float m_flDestScale; // 0x798 - GameTime_t m_flScaleTimeStart; // 0x79c - int32_t m_nStartBrightness; // 0x7a0 - int32_t m_nDestBrightness; // 0x7a4 - GameTime_t m_flBrightnessTimeStart; // 0x7a8 - int32_t m_nSpriteWidth; // 0x7ac - int32_t m_nSpriteHeight; // 0x7b0 + float m_flHDRColorScale; // 0x798 + GameTime_t m_flLastTime; // 0x79c + float m_flMaxFrame; // 0x7a0 + float m_flStartScale; // 0x7a4 + float m_flDestScale; // 0x7a8 + GameTime_t m_flScaleTimeStart; // 0x7ac + int32_t m_nStartBrightness; // 0x7b0 + int32_t m_nDestBrightness; // 0x7b4 + GameTime_t m_flBrightnessTimeStart; // 0x7b8 + int32_t m_nSpriteWidth; // 0x7bc + int32_t m_nSpriteHeight; // 0x7c0 }; // Alignment: 0 -// Size: 0x7b8 +// Size: 0x7c8 class CSpriteOriented : public CSprite { public: @@ -31314,152 +31872,144 @@ public: }; // Alignment: 14 -// Size: 0x8f8 +// Size: 0x908 class CBaseClientUIEntity : public CBaseModelEntity { public: // MNetworkEnable - bool m_bEnabled; // 0x748 + bool m_bEnabled; // 0x758 private: - [[maybe_unused]] uint8_t __pad0749[0x7]; // 0x749 + [[maybe_unused]] uint8_t __pad0759[0x7]; // 0x759 public: // MNetworkEnable - CUtlSymbolLarge m_DialogXMLName; // 0x750 + CUtlSymbolLarge m_DialogXMLName; // 0x760 // MNetworkEnable - CUtlSymbolLarge m_PanelClassName; // 0x758 + CUtlSymbolLarge m_PanelClassName; // 0x768 // MNetworkEnable - CUtlSymbolLarge m_PanelID; // 0x760 - CEntityIOOutput m_CustomOutput0; // 0x768 - CEntityIOOutput m_CustomOutput1; // 0x790 - CEntityIOOutput m_CustomOutput2; // 0x7b8 - CEntityIOOutput m_CustomOutput3; // 0x7e0 - CEntityIOOutput m_CustomOutput4; // 0x808 - CEntityIOOutput m_CustomOutput5; // 0x830 - CEntityIOOutput m_CustomOutput6; // 0x858 - CEntityIOOutput m_CustomOutput7; // 0x880 - CEntityIOOutput m_CustomOutput8; // 0x8a8 - CEntityIOOutput m_CustomOutput9; // 0x8d0 + CUtlSymbolLarge m_PanelID; // 0x770 + CEntityIOOutput m_CustomOutput0; // 0x778 + CEntityIOOutput m_CustomOutput1; // 0x7a0 + CEntityIOOutput m_CustomOutput2; // 0x7c8 + CEntityIOOutput m_CustomOutput3; // 0x7f0 + CEntityIOOutput m_CustomOutput4; // 0x818 + CEntityIOOutput m_CustomOutput5; // 0x840 + CEntityIOOutput m_CustomOutput6; // 0x868 + CEntityIOOutput m_CustomOutput7; // 0x890 + CEntityIOOutput m_CustomOutput8; // 0x8b8 + CEntityIOOutput m_CustomOutput9; // 0x8e0 }; // Alignment: 2 -// Size: 0x900 +// Size: 0x910 class CPointClientUIDialog : public CBaseClientUIEntity { public: // MNetworkEnable // MNetworkChangeCallback "OnDialogActivatorChanged" - CHandle< CBaseEntity > m_hActivator; // 0x8f8 - bool m_bStartEnabled; // 0x8fc + CHandle< CBaseEntity > m_hActivator; // 0x908 + bool m_bStartEnabled; // 0x90c }; // Alignment: 23 -// Size: 0x950 +// Size: 0x960 class CPointClientUIWorldPanel : public CBaseClientUIEntity { public: // MNetworkEnable - bool m_bIgnoreInput; // 0x8f8 + bool m_bIgnoreInput; // 0x908 // MNetworkEnable - bool m_bLit; // 0x8f9 + bool m_bLit; // 0x909 // MNetworkEnable - bool m_bFollowPlayerAcrossTeleport; // 0x8fa + bool m_bFollowPlayerAcrossTeleport; // 0x90a private: - [[maybe_unused]] uint8_t __pad08fb[0x1]; // 0x8fb + [[maybe_unused]] uint8_t __pad090b[0x1]; // 0x90b public: // MNetworkEnable - float m_flWidth; // 0x8fc + float m_flWidth; // 0x90c // MNetworkEnable - float m_flHeight; // 0x900 + float m_flHeight; // 0x910 // MNetworkEnable - float m_flDPI; // 0x904 + float m_flDPI; // 0x914 // MNetworkEnable - float m_flInteractDistance; // 0x908 + float m_flInteractDistance; // 0x918 // MNetworkEnable - float m_flDepthOffset; // 0x90c + float m_flDepthOffset; // 0x91c // MNetworkEnable - uint32_t m_unOwnerContext; // 0x910 + uint32_t m_unOwnerContext; // 0x920 // MNetworkEnable - uint32_t m_unHorizontalAlign; // 0x914 + uint32_t m_unHorizontalAlign; // 0x924 // MNetworkEnable - uint32_t m_unVerticalAlign; // 0x918 + uint32_t m_unVerticalAlign; // 0x928 // MNetworkEnable - uint32_t m_unOrientation; // 0x91c + uint32_t m_unOrientation; // 0x92c // MNetworkEnable - bool m_bAllowInteractionFromAllSceneWorlds; // 0x920 + bool m_bAllowInteractionFromAllSceneWorlds; // 0x930 private: - [[maybe_unused]] uint8_t __pad0921[0x7]; // 0x921 + [[maybe_unused]] uint8_t __pad0931[0x7]; // 0x931 public: // MNetworkEnable - CNetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x928 + CNetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x938 // MNetworkEnable - bool m_bOpaque; // 0x940 + bool m_bOpaque; // 0x950 // MNetworkEnable - bool m_bNoDepth; // 0x941 + bool m_bNoDepth; // 0x951 // MNetworkEnable - bool m_bRenderBackface; // 0x942 + bool m_bRenderBackface; // 0x952 // MNetworkEnable - bool m_bUseOffScreenIndicator; // 0x943 + bool m_bUseOffScreenIndicator; // 0x953 // MNetworkEnable - bool m_bExcludeFromSaveGames; // 0x944 + bool m_bExcludeFromSaveGames; // 0x954 // MNetworkEnable - bool m_bGrabbable; // 0x945 + bool m_bGrabbable; // 0x955 // MNetworkEnable - bool m_bOnlyRenderToTexture; // 0x946 + bool m_bOnlyRenderToTexture; // 0x956 // MNetworkEnable - bool m_bDisableMipGen; // 0x947 + bool m_bDisableMipGen; // 0x957 // MNetworkEnable - int32_t m_nExplicitImageLayout; // 0x948 + int32_t m_nExplicitImageLayout; // 0x958 }; // Alignment: 1 -// Size: 0xb50 +// Size: 0xb60 class CPointClientUIWorldTextPanel : public CPointClientUIWorldPanel { public: // MNetworkEnable - char m_messageText[512]; // 0x950 -}; - -// Alignment: 0 -// Size: 0x958 -class CPointHintUi : public CPointClientUIWorldPanel -{ -public: - // No members available + char m_messageText[512]; // 0x960 }; // Alignment: 10 -// Size: 0x510 +// Size: 0x520 class CInfoOffscreenPanoramaTexture : public CPointEntity { public: // MNetworkEnable - bool m_bDisabled; // 0x498 + bool m_bDisabled; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad0499[0x3]; // 0x499 + [[maybe_unused]] uint8_t __pad04a9[0x3]; // 0x4a9 public: // MNetworkEnable - int32_t m_nResolutionX; // 0x49c + int32_t m_nResolutionX; // 0x4ac // MNetworkEnable - int32_t m_nResolutionY; // 0x4a0 + int32_t m_nResolutionY; // 0x4b0 private: - [[maybe_unused]] uint8_t __pad04a4[0x4]; // 0x4a4 + [[maybe_unused]] uint8_t __pad04b4[0x4]; // 0x4b4 public: // MNetworkEnable - CUtlSymbolLarge m_szLayoutFileName; // 0x4a8 + CUtlSymbolLarge m_szLayoutFileName; // 0x4b8 // MNetworkEnable - CUtlSymbolLarge m_RenderAttrName; // 0x4b0 + CUtlSymbolLarge m_RenderAttrName; // 0x4c0 // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_TargetEntities; // 0x4b8 + CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_TargetEntities; // 0x4c8 // MNetworkEnable - int32_t m_nTargetChangeCount; // 0x4d0 + int32_t m_nTargetChangeCount; // 0x4e0 private: - [[maybe_unused]] uint8_t __pad04d4[0x4]; // 0x4d4 + [[maybe_unused]] uint8_t __pad04e4[0x4]; // 0x4e4 public: // MNetworkEnable - CNetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x4d8 - CUtlSymbolLarge m_szTargetsName; // 0x4f0 - CUtlVector< CHandle< CBaseModelEntity > > m_AdditionalTargetEntities; // 0x4f8 + CNetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x4e8 + CUtlSymbolLarge m_szTargetsName; // 0x500 + CUtlVector< CHandle< CBaseModelEntity > > m_AdditionalTargetEntities; // 0x508 }; // Alignment: 1 @@ -31499,22 +32049,22 @@ public: }; // Alignment: 3 -// Size: 0x758 +// Size: 0x768 class CBaseAnimatingActivity : public CBaseModelEntity { public: // MNetworkEnable - bool m_bShouldAnimateDuringGameplayPause; // 0x748 + bool m_bShouldAnimateDuringGameplayPause; // 0x758 // MNetworkEnable - bool m_bInitiallyPopulateInterpHistory; // 0x749 + bool m_bInitiallyPopulateInterpHistory; // 0x759 private: - [[maybe_unused]] uint8_t __pad074a[0x6]; // 0x74a + [[maybe_unused]] uint8_t __pad075a[0x6]; // 0x75a public: - CUtlVector< CUtlString >* m_pSuppressedAnimEventTags; // 0x750 + CUtlVector< CUtlString >* m_pSuppressedAnimEventTags; // 0x760 }; // Alignment: 0 -// Size: 0x758 +// Size: 0x768 class CBaseAnimatingOverlay : public CBaseAnimatingActivity { public: @@ -31522,7 +32072,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Courier_AutoDeliver : public CDOTABaseAbility { public: @@ -31530,66 +32080,66 @@ public: }; // Alignment: 9 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_Brewmaster_PrimalSplit : public CDOTABaseAbility { public: // MNetworkEnable - CHandle< CBaseEntity > m_hPrimary; // 0x558 + CHandle< CBaseEntity > m_hPrimary; // 0x568 // MNetworkEnable - CHandle< CBaseEntity > m_hSecondary; // 0x55c + CHandle< CBaseEntity > m_hSecondary; // 0x56c // MNetworkEnable - CHandle< CBaseEntity > m_hTertiary; // 0x560 + CHandle< CBaseEntity > m_hTertiary; // 0x570 // MNetworkEnable - CHandle< CBaseEntity > m_hFourth; // 0x564 - GameTime_t m_fHurlBoulder_CooldownTime; // 0x568 - GameTime_t m_fHDispelMagic_CooldownTime; // 0x56c - GameTime_t m_fCyclone_CooldownTime; // 0x570 - GameTime_t m_fWindWalk_CooldownTime; // 0x574 - GameTime_t m_fAstralPulse_CooldownTime; // 0x578 + CHandle< CBaseEntity > m_hFourth; // 0x574 + GameTime_t m_fHurlBoulder_CooldownTime; // 0x578 + GameTime_t m_fHDispelMagic_CooldownTime; // 0x57c + GameTime_t m_fCyclone_CooldownTime; // 0x580 + GameTime_t m_fWindWalk_CooldownTime; // 0x584 + GameTime_t m_fAstralPulse_CooldownTime; // 0x588 }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_DeathProphet_Exorcism : public CDOTABaseAbility { public: - CUtlVector< sSpiritInfo* > m_SpiritInfos; // 0x558 + CUtlVector< sSpiritInfo* > m_SpiritInfos; // 0x568 }; // Alignment: 3 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Wisp_Spirits : public CDOTABaseAbility { public: - CUtlVector< sSpiritDef > m_SpiritDefs; // 0x558 - int32_t m_nWispDirection; // 0x570 - int32_t spirit_amount; // 0x574 + CUtlVector< sSpiritDef > m_SpiritDefs; // 0x568 + int32_t m_nWispDirection; // 0x580 + int32_t spirit_amount; // 0x584 }; // Alignment: 8 -// Size: 0x590 +// Size: 0x5a0 class CDOTA_Ability_MonkeyKing_FurArmy : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hThinker; // 0x558 - ParticleIndex_t m_nFXIndex; // 0x55c - int32_t num_first_soldiers; // 0x560 - int32_t num_second_soldiers; // 0x564 - bool m_bCreateMonkeys; // 0x568 + CHandle< CBaseEntity > m_hThinker; // 0x568 + ParticleIndex_t m_nFXIndex; // 0x56c + int32_t num_first_soldiers; // 0x570 + int32_t num_second_soldiers; // 0x574 + bool m_bCreateMonkeys; // 0x578 private: - [[maybe_unused]] uint8_t __pad0569[0x3]; // 0x569 + [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 public: - GameTime_t m_flNextCreationTime; // 0x56c - GameTime_t m_flScepterTime; // 0x570 + GameTime_t m_flNextCreationTime; // 0x57c + GameTime_t m_flScepterTime; // 0x580 private: - [[maybe_unused]] uint8_t __pad0574[0x4]; // 0x574 + [[maybe_unused]] uint8_t __pad0584[0x4]; // 0x584 public: - CUtlVector< CHandle< CBaseEntity > > m_vecSoldiers; // 0x578 + CUtlVector< CHandle< CBaseEntity > > m_vecSoldiers; // 0x588 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Generic_Hidden : public CDOTABaseAbility { public: @@ -31597,7 +32147,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Book : public CDOTA_Item { public: @@ -31605,7 +32155,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_BookStrength : public CDOTA_Item_Book { public: @@ -31613,7 +32163,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_BookAgility : public CDOTA_Item_Book { public: @@ -31621,7 +32171,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_BookIntelligence : public CDOTA_Item_Book { public: @@ -31629,7 +32179,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Jungle_Varmint_Dive : public CDOTABaseAbility { public: @@ -31637,68 +32187,68 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Pudge_FleshHeap : public CDOTABaseAbility { public: - int32_t m_iKills; // 0x558 + int32_t m_iKills; // 0x568 }; // Alignment: 6 -// Size: 0x620 +// Size: 0x630 class CDOTA_Item_Tombstone : public CDOTA_Item { public: - float m_flTimer; // 0x600 - CHandle< CDOTA_Item_Tombstone > m_hParent; // 0x604 - CHandle< CDOTA_Item_Tombstone > m_hNextChild; // 0x608 - Vector m_vContainerPosition; // 0x60c - ParticleIndex_t m_nFXIndex; // 0x618 - ParticleIndex_t m_nFXIndex2; // 0x61c + float m_flTimer; // 0x610 + CHandle< CDOTA_Item_Tombstone > m_hParent; // 0x614 + CHandle< CDOTA_Item_Tombstone > m_hNextChild; // 0x618 + Vector m_vContainerPosition; // 0x61c + ParticleIndex_t m_nFXIndex; // 0x628 + ParticleIndex_t m_nFXIndex2; // 0x62c }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_VengefulSpirit_Command_Aura : public CDOTABaseAbility { public: // MNetworkEnable // MNetworkChangeCallback "OnScepterIllusionChanged" - CHandle< CBaseEntity > m_hScepterIllusion; // 0x558 + CHandle< CBaseEntity > m_hScepterIllusion; // 0x568 }; // Alignment: 2 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Capture : public CDOTABaseAbility { public: // MNetworkEnable - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x558 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c public: - CDOTA_Buff* m_pMyBuff; // 0x560 + CDOTA_Buff* m_pMyBuff; // 0x570 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Lamp_Use : public CDOTABaseAbility { public: - GameTime_t m_flLastCaptureTime; // 0x558 - ParticleIndex_t m_nChannelFXIndex; // 0x55c + GameTime_t m_flLastCaptureTime; // 0x568 + ParticleIndex_t m_nChannelFXIndex; // 0x56c }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Twin_Gate_Portal_Warp : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hTarget; // 0x558 + CHandle< CBaseEntity > m_hTarget; // 0x568 }; // Alignment: 0 -// Size: 0x620 +// Size: 0x630 class CDOTA_Item_Tombstone_Mutation : public CDOTA_Item_Tombstone { public: @@ -31706,55 +32256,55 @@ public: }; // Alignment: 0 -// Size: 0x760 +// Size: 0x770 class CDOTA_Item_DeathGoldDropped : public CBaseAnimatingActivity { public: // No members available }; -// Alignment: 4 +// Alignment: 5 // Size: 0x20 class CDOTA_Tree : public CObstructionObject { public: bool m_bStanding; // 0x18 bool m_bSpecialConsume; // 0x19 - bool m_bSpecialPathing; // 0x1a -private: - [[maybe_unused]] uint8_t __pad001b[0x1]; // 0x1b -public: + bool m_bSpecialToxic; // 0x1a + bool m_bSpecialPathing; // 0x1b uint32_t m_unOccluderID; // 0x1c // Static fields: static int32_t &Get_s_nNextChangeToken(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CDOTA_Tree")->m_static_fields[0]->m_instance);}; }; -// Alignment: 7 -// Size: 0x7d0 +// Alignment: 8 +// Size: 0x7e8 class CDOTA_TempTree : public CBaseAnimatingActivity { private: - [[maybe_unused]] uint8_t __pad0758[0x20]; // 0x758 + [[maybe_unused]] uint8_t __pad0768[0x20]; // 0x768 public: - GameTime_t m_fExpireTime; // 0x778 + GameTime_t m_fExpireTime; // 0x788 // MNetworkEnable - Vector m_vecTreeCircleCenter; // 0x77c + Vector m_vecTreeCircleCenter; // 0x78c // MNetworkEnable - bool m_bCanApplyTreeCostume; // 0x788 + bool m_bCanApplyTreeCostume; // 0x798 // MNetworkEnable - bool m_bIsMangoTree; // 0x789 + bool m_bIsMangoTree; // 0x799 private: - [[maybe_unused]] uint8_t __pad078a[0x6]; // 0x78a + [[maybe_unused]] uint8_t __pad079a[0x6]; // 0x79a public: - CUtlVector< ParticleIndex_t > m_Particles; // 0x790 + CUtlVector< ParticleIndex_t > m_Particles; // 0x7a0 // MNetworkEnable - bool m_bIsPartOfFowSystem; // 0x7a8 - bool m_bForceVisible[15]; // 0x7a9 + bool m_bIsPartOfFowSystem; // 0x7b8 + // MNetworkEnable + bool m_bHasClientSideAnimation; // 0x7b9 + bool m_bForceVisible[15]; // 0x7ba }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_KoboldTaskmaster_SpeedAura : public CDOTABaseAbility { public: @@ -31762,7 +32312,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_CentaurKhan_EnduranceAura : public CDOTABaseAbility { public: @@ -31770,7 +32320,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_CentaurKhan_WarStomp : public CDOTABaseAbility { public: @@ -31778,7 +32328,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Spawnlord_Master_Stomp : public CDOTABaseAbility { public: @@ -31786,7 +32336,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Spawnlord_Master_Freeze : public CDOTABaseAbility { public: @@ -31794,7 +32344,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_GnollAssassin_EnvenomedWeapon : public CDOTABaseAbility { public: @@ -31802,7 +32352,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Ghost_FrostAttack : public CDOTABaseAbility { public: @@ -31810,7 +32360,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_PolarFurbolgUrsaWarrior_ThunderClap : public CDOTABaseAbility { public: @@ -31818,16 +32368,16 @@ public: }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_WarpineRaider_SeedShot : public CDOTABaseAbility { public: - int32_t m_iBounces; // 0x558 - int32_t bounces; // 0x55c + int32_t m_iBounces; // 0x568 + int32_t bounces; // 0x56c }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Neutral_SpellImmunity : public CDOTABaseAbility { public: @@ -31835,7 +32385,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_OgreMagi_FrostArmor : public CDOTABaseAbility { public: @@ -31843,7 +32393,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DarkTrollWarlord_Ensnare : public CDOTABaseAbility { public: @@ -31851,7 +32401,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DarkTrollWarlord_RaiseDead : public CDOTABaseAbility { public: @@ -31859,7 +32409,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_GiantWolf_CriticalStrike : public CDOTABaseAbility { public: @@ -31867,7 +32417,7 @@ public: }; // Alignment: 0 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AncientGolem_Rockslide : public CDOTABaseAbility { public: @@ -31875,7 +32425,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_MudGolem_RockDestroy : public CDOTABaseAbility { public: @@ -31883,7 +32433,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_MudGolem_HurlBoulder : public CDOTABaseAbility { public: @@ -31891,7 +32441,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AlphaWolf_CriticalStrike : public CDOTABaseAbility { public: @@ -31899,7 +32449,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AncientRockGolem_Weakening_Aura : public CDOTABaseAbility { public: @@ -31907,7 +32457,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_BlackDrake_MagicAmplification_Aura : public CDOTABaseAbility { public: @@ -31915,7 +32465,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AlphaWolf_CommandAura : public CDOTABaseAbility { public: @@ -31923,7 +32473,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_FrostbittenGolem_TimeWarpAura : public CDOTABaseAbility { public: @@ -31931,15 +32481,15 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_IceShaman_IncendiaryBomb : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 + ParticleIndex_t m_nFXIndex; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Tornado_Tempest : public CDOTABaseAbility { public: @@ -31947,30 +32497,30 @@ public: }; // Alignment: 3 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_EnragedWildkin_Tornado : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hTornado; // 0x558 - CHandle< CBaseEntity > m_hNeutralTarget; // 0x55c - ParticleIndex_t m_nFXIndex; // 0x560 + CHandle< CBaseEntity > m_hTornado; // 0x568 + CHandle< CBaseEntity > m_hNeutralTarget; // 0x56c + ParticleIndex_t m_nFXIndex; // 0x570 }; // Alignment: 6 -// Size: 0x590 +// Size: 0x5a0 class CDOTA_Ability_EnragedWildkin_Hurricane : public CDOTABaseAbility { public: - float distance; // 0x558 - Vector m_vEndpoint; // 0x55c - Vector m_vDashPosition; // 0x568 - Vector m_vFacePosition; // 0x574 - Vector m_vTravelDir; // 0x580 - float m_fTravelDistance; // 0x58c + float distance; // 0x568 + Vector m_vEndpoint; // 0x56c + Vector m_vDashPosition; // 0x578 + Vector m_vFacePosition; // 0x584 + Vector m_vTravelDir; // 0x590 + float m_fTravelDistance; // 0x59c }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_BerserkerTroll_Break : public CDOTABaseAbility { public: @@ -31978,7 +32528,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Kobold_Disarm : public CDOTABaseAbility { public: @@ -31986,7 +32536,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_EnragedWildkin_ToughnessAura : public CDOTABaseAbility { public: @@ -31994,7 +32544,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_GraniteGolem_HPAura : public CDOTABaseAbility { public: @@ -32002,7 +32552,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_GraniteGolem_Bash : public CDOTABaseAbility { public: @@ -32010,7 +32560,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Spawnlord_Master_Bash : public CDOTABaseAbility { public: @@ -32018,24 +32568,24 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_SatyrTrickster_Purge : public CDOTABaseAbility { public: - GameTime_t m_flTargetTime; // 0x558 + GameTime_t m_flTargetTime; // 0x568 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_SatyrSoulstealer_ManaBurn : public CDOTABaseAbility { public: - CHandle< CBaseEntity > hNeutralTarget; // 0x558 - GameTime_t m_flTimeBuffer; // 0x55c + CHandle< CBaseEntity > hNeutralTarget; // 0x568 + GameTime_t m_flTimeBuffer; // 0x56c }; // Alignment: 0 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_SatyrHellcaller_Shockwave : public CDOTABaseAbility { public: @@ -32043,7 +32593,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_SatyrHellcaller_UnholyAura : public CDOTABaseAbility { public: @@ -32051,7 +32601,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Spawnlord_Aura : public CDOTABaseAbility { public: @@ -32059,7 +32609,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_ForestTrollHighPriest_Heal : public CDOTABaseAbility { public: @@ -32067,7 +32617,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_ForestTrollHighPriest_ManaAura : public CDOTABaseAbility { public: @@ -32075,7 +32625,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_ForestTrollHighPriest_HealAmp_Aura : public CDOTABaseAbility { public: @@ -32083,7 +32633,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Furbolg_Enrage_AttackSpeed : public CDOTABaseAbility { public: @@ -32091,7 +32641,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Furbolg_Enrage_Damage : public CDOTABaseAbility { public: @@ -32099,16 +32649,16 @@ public: }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_FelBeast_Haunt : public CDOTABaseAbility { public: - int32_t radius; // 0x558 - float duration; // 0x55c + int32_t radius; // 0x568 + float duration; // 0x56c }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_KoboldTunneler_Prospecting : public CDOTABaseAbility { public: @@ -32116,7 +32666,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_HillTroll_Rally : public CDOTABaseAbility { public: @@ -32124,7 +32674,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_HarpyScout_TakeOff : public CDOTABaseAbility { public: @@ -32132,28 +32682,28 @@ public: }; // Alignment: 5 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_OgreBruiser_OgreSmash : public CDOTABaseAbility { public: - int32_t radius; // 0x558 - float hero_stun_duration; // 0x55c - int32_t damage; // 0x560 - float damage_pct; // 0x564 - GameTime_t flCooldown; // 0x568 + int32_t radius; // 0x568 + float hero_stun_duration; // 0x56c + int32_t damage; // 0x570 + float damage_pct; // 0x574 + GameTime_t flCooldown; // 0x578 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_GiantWolf_Intimidate : public CDOTABaseAbility { public: - int32_t radius; // 0x558 - float duration; // 0x55c + int32_t radius; // 0x568 + float duration; // 0x56c }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_HarpyStorm_ChainLightning : public CDOTABaseAbility { public: @@ -32161,7 +32711,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_BlackDragon_Fireball : public CDOTABaseAbility { public: @@ -32169,7 +32719,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_BlackDragon_SplashAttack : public CDOTABaseAbility { public: @@ -32177,7 +32727,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_BlackDragon_DragonhideAura : public CDOTABaseAbility { public: @@ -32185,7 +32735,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_MudGolem_CloakAura : public CDOTABaseAbility { public: @@ -32193,7 +32743,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_BlueDragonspawnSorcerer_Evasion : public CDOTABaseAbility { public: @@ -32201,7 +32751,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_BlueDragonspawnOverseer_Evasion : public CDOTABaseAbility { public: @@ -32209,7 +32759,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_BlueDragonspawnOverseer_DevotionAura : public CDOTABaseAbility { public: @@ -32217,7 +32767,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_BigThunderLizard_Wardrums : public CDOTABaseAbility { public: @@ -32225,7 +32775,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_BigThunderLizard_Slam : public CDOTABaseAbility { public: @@ -32233,7 +32783,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_BigThunderLizard_Frenzy : public CDOTABaseAbility { public: @@ -32241,7 +32791,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Greevil_Miniboss_Black_Nightmare : public CDOTABaseAbility { public: @@ -32249,7 +32799,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Greevil_Miniboss_Black_BrainSap : public CDOTABaseAbility { public: @@ -32257,7 +32807,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Greevil_Miniboss_Blue_ColdFeet : public CDOTABaseAbility { public: @@ -32265,15 +32815,15 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Greevil_Miniboss_Blue_IceVortex : public CDOTABaseAbility { public: - int32_t vision_aoe; // 0x558 + int32_t vision_aoe; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Greevil_Miniboss_Red_Earthshock : public CDOTABaseAbility { public: @@ -32281,7 +32831,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Greevil_Miniboss_Red_Overpower : public CDOTABaseAbility { public: @@ -32289,7 +32839,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Greevil_Miniboss_Yellow_IonShell : public CDOTABaseAbility { public: @@ -32297,7 +32847,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Greevil_Miniboss_Yellow_Surge : public CDOTABaseAbility { public: @@ -32305,7 +32855,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Greevil_Miniboss_White_Purification : public CDOTABaseAbility { public: @@ -32313,7 +32863,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Greevil_Miniboss_White_Degen_Aura : public CDOTABaseAbility { public: @@ -32321,7 +32871,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Greevil_Miniboss_Green_LivingArmor : public CDOTABaseAbility { public: @@ -32329,7 +32879,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Greevil_Miniboss_Green_Overgrowth : public CDOTABaseAbility { public: @@ -32337,7 +32887,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Greevil_Miniboss_Orange_DragonSlave : public CDOTABaseAbility { public: @@ -32345,7 +32895,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Greevil_Miniboss_Orange_LightStrikeArray : public CDOTABaseAbility { public: @@ -32353,15 +32903,15 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Greevil_Miniboss_Purple_VenomousGale : public CDOTABaseAbility { public: - float duration; // 0x558 + float duration; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Greevil_Miniboss_Purple_PlagueWard : public CDOTABaseAbility { public: @@ -32369,7 +32919,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Greevil_Miniboss_Sight : public CDOTABaseAbility { public: @@ -32377,7 +32927,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Neutral_Upgrade : public CDOTABaseAbility { public: @@ -32385,7 +32935,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Creep_Siege : public CDOTABaseAbility { public: @@ -32393,7 +32943,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Creep_Piercing : public CDOTABaseAbility { public: @@ -32401,7 +32951,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Creep_Irresolute : public CDOTABaseAbility { public: @@ -32409,7 +32959,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_FlagBearer_Creep_Aura_Effect : public CDOTABaseAbility { public: @@ -32417,7 +32967,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Filler_Tooltip : public CDOTABaseAbility { public: @@ -32425,7 +32975,7 @@ public: }; // Alignment: 34 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Buff : public CHorizontalMotionController { private: @@ -32477,13 +33027,13 @@ public: CUtlVector< CDOTA_BuffParticle > m_iParticles; // 0xa0 CUtlVector< CHandle< CBaseEntity > > m_hAuraUnits; // 0xb8 private: - [[maybe_unused]] uint8_t __pad00d0[0x1110]; // 0xd0 + [[maybe_unused]] uint8_t __pad00d0[0x11e0]; // 0xd0 public: - HSCRIPT m_hScriptScope; // 0x11e0 + HSCRIPT m_hScriptScope; // 0x12b0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Buff_Item : public CDOTA_Buff { public: @@ -32491,33 +33041,33 @@ public: }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Stacking_Base : public CDOTA_Buff { public: - int32_t max_stacks; // 0x11e8 - bool destroy_on_zero_stacks; // 0x11ec + int32_t max_stacks; // 0x12b8 + bool destroy_on_zero_stacks; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - float sub_modifier_forced_duration; // 0x11f0 + float sub_modifier_forced_duration; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlString m_szSubModifierName; // 0x11f8 - KeyValues* m_pSubModifierKV; // 0x1200 + CUtlString m_szSubModifierName; // 0x12c8 + KeyValues* m_pSubModifierKV; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Stacking_Multiple_Buff_Base : public CDOTA_Buff { public: - int32_t m_nParentBuffIndex; // 0x11e8 + int32_t m_nParentBuffIndex; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Glyph_Reset : public CDOTA_Buff { public: @@ -32525,16 +33075,16 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_SetScaleset : public CDOTA_Buff { public: - CUtlString m_Scaleset; // 0x11e8 - bool m_bActive; // 0x11f0 + CUtlString m_Scaleset; // 0x12b8 + bool m_bActive; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_StackedNeutral : public CDOTA_Buff { public: @@ -32542,31 +33092,31 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Filler_LastDitch : public CDOTA_Buff { public: - float melee_number; // 0x11e8 - float ranged_number; // 0x11ec - float siege_number; // 0x11f0 - int32_t lane; // 0x11f4 + float melee_number; // 0x12b8 + float ranged_number; // 0x12bc + float siege_number; // 0x12c0 + int32_t lane; // 0x12c4 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_FillerThinker : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > hCasterList; // 0x11e8 - bool bStarted; // 0x1200 + CUtlVector< CHandle< CBaseEntity > > hCasterList; // 0x12b8 + bool bStarted; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t nCount; // 0x1204 + int32_t nCount; // 0x12d4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Filler_Buff_Icon : public CDOTA_Buff { public: @@ -32574,38 +33124,38 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Filler_Heal_Aura : public CDOTA_Buff_Item { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Filler_Heal : public CDOTA_Buff { public: - int32_t hp_heal; // 0x11e8 - int32_t mp_heal; // 0x11ec - int32_t hp_heal_growth; // 0x11f0 - float mp_heal_growth; // 0x11f4 - int32_t hp_heal_pct; // 0x11f8 - int32_t mp_heal_pct; // 0x11fc - int32_t tota_hp_per_second; // 0x1200 - int32_t tota_mp_per_second; // 0x1204 + int32_t hp_heal; // 0x12b8 + int32_t mp_heal; // 0x12bc + int32_t hp_heal_growth; // 0x12c0 + float mp_heal_growth; // 0x12c4 + int32_t hp_heal_pct; // 0x12c8 + int32_t mp_heal_pct; // 0x12cc + int32_t tota_hp_per_second; // 0x12d0 + int32_t tota_mp_per_second; // 0x12d4 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_FountainInvulnerabilityBuff : public CDOTA_Buff { public: - Vector m_vecPosition; // 0x11e8 + Vector m_vecPosition; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Building_DispelsSmoke : public CDOTA_Buff { public: @@ -32613,15 +33163,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Truesight_Aura : public CDOTA_Buff { public: - int32_t m_nAuraRadius; // 0x11e8 + int32_t m_nAuraRadius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tower_Truesight_Aura : public CDOTA_Modifier_Truesight_Aura { public: @@ -32629,7 +33179,7 @@ public: }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Fountain_Truesight_Aura : public CDOTA_Modifier_Truesight_Aura { public: @@ -32637,45 +33187,45 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Tower_Aura : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 - bool m_bOverrideArmor; // 0x11ec + int32_t bonus_armor; // 0x12b8 + bool m_bOverrideArmor; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - float hp_regen; // 0x11f0 - bool m_bOverrideRegen; // 0x11f4 + float hp_regen; // 0x12c0 + bool m_bOverrideRegen; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - int32_t m_nRadius; // 0x11f8 + int32_t m_nRadius; // 0x12c8 }; // Alignment: 5 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Tower_Aura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 - float hp_regen; // 0x11ec - bool m_bOverrideArmor; // 0x11f0 - bool m_bOverrideRegen; // 0x11f1 - bool m_bSentFirstRefresh; // 0x11f2 + int32_t bonus_armor; // 0x12b8 + float hp_regen; // 0x12bc + bool m_bOverrideArmor; // 0x12c0 + bool m_bOverrideRegen; // 0x12c1 + bool m_bSentFirstRefresh; // 0x12c2 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tower_Armor_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Scout_Bonuses : public CDOTABaseAbility { public: @@ -32683,27 +33233,27 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ScoutVisible : public CDOTA_Buff { public: - int32_t reveal_radius; // 0x11e8 + int32_t reveal_radius; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_ScoutBonuses : public CDOTA_Buff { public: - int32_t reveal_radius; // 0x11e8 - float increase_health; // 0x11ec - int32_t max_health; // 0x11f0 - float increase_armor; // 0x11f4 - float max_armor; // 0x11f8 + int32_t reveal_radius; // 0x12b8 + float increase_health; // 0x12bc + int32_t max_health; // 0x12c0 + float increase_armor; // 0x12c4 + float max_armor; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_BackdoorProtection : public CDOTABaseAbility { public: @@ -32711,7 +33261,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_BackdoorProtectionInBase : public CDOTABaseAbility { public: @@ -32719,7 +33269,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_FillerAbility : public CDOTABaseAbility { public: @@ -32727,26 +33277,26 @@ public: }; // Alignment: 6 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_BackdoorProtection : public CDOTA_Buff { public: - bool m_bActivated; // 0x11e8 + bool m_bActivated; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - float m_flHealthToRestore; // 0x11ec - int32_t radius; // 0x11f0 - float activation_time; // 0x11f4 - int32_t regen_rate; // 0x11f8 + float m_flHealthToRestore; // 0x12bc + int32_t radius; // 0x12c0 + float activation_time; // 0x12c4 + int32_t regen_rate; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CountdownTimer m_TimerToActivate; // 0x1200 + CountdownTimer m_TimerToActivate; // 0x12d0 }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_BackdoorProtectionInBase : public CDOTA_Modifier_BackdoorProtection { public: @@ -32754,7 +33304,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BackdoorProtectionActive : public CDOTA_Buff { public: @@ -32762,7 +33312,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_ProjectileVision : public CDOTA_Buff { public: @@ -32770,7 +33320,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_ProjectileVisionOnMinimap : public CDOTA_Modifier_ProjectileVision { public: @@ -32778,7 +33328,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pet : public CDOTA_Buff { public: @@ -32786,16 +33336,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_HeroStatue : public CDOTA_Buff { public: - uint32_t m_unStatusEffectIndex; // 0x11e8 - CHandle< CBaseEntity > m_hPedestal; // 0x11ec + uint32_t m_unStatusEffectIndex; // 0x12b8 + CHandle< CBaseEntity > m_hPedestal; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_HeroStatuePedestal : public CDOTA_Buff { public: @@ -32803,7 +33353,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BattleCupEffigy : public CDOTA_Buff { public: @@ -32811,7 +33361,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Hidden_NoDamage : public CDOTA_Buff { public: @@ -32819,7 +33369,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tutorial_Disable_Healing : public CDOTA_Buff { public: @@ -32827,33 +33377,33 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tutorial_SpeechBubble : public CDOTA_Buff { public: - bool m_bFacePlayer; // 0x11e8 + bool m_bFacePlayer; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tutorial_ForceAnimation : public CDOTA_Buff { public: - int32_t m_nActivity; // 0x11e8 - bool m_bLoop; // 0x11ec - bool m_bFacePlayer; // 0x11ed + int32_t m_nActivity; // 0x12b8 + bool m_bLoop; // 0x12bc + bool m_bFacePlayer; // 0x12bd }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tutorial_HideNPC : public CDOTA_Buff { public: - bool m_bRemoveOnDeath; // 0x11e8 + bool m_bRemoveOnDeath; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tutorial_LowAttackPriority : public CDOTA_Buff { public: @@ -32861,15 +33411,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tutorial_LastHittable : public CDOTA_Buff { public: - bool m_bIsFriend; // 0x11e8 + bool m_bIsFriend; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Creep_Slow : public CDOTA_Buff { public: @@ -32877,7 +33427,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Creep_Haste : public CDOTA_Buff { public: @@ -32885,7 +33435,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Buyback_Gold_Penalty : public CDOTA_Buff { public: @@ -32893,7 +33443,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Provide_Vision : public CDOTA_Buff { public: @@ -32901,18 +33451,18 @@ public: }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_ScriptedMotionController : public CDOTA_Buff { public: - HSCRIPT m_hHorizontalControlFunction; // 0x11e8 - HSCRIPT m_hVerticalControlFunction; // 0x11f0 - HSCRIPT m_hOnDestroyFunction; // 0x11f8 - CVariantBase< CVariantDefaultAllocator > m_parameterTable; // 0x1200 + HSCRIPT m_hHorizontalControlFunction; // 0x12b8 + HSCRIPT m_hVerticalControlFunction; // 0x12c0 + HSCRIPT m_hOnDestroyFunction; // 0x12c8 + CVariantBase< CVariantDefaultAllocator > m_parameterTable; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Generic_Hidden : public CDOTA_Buff { public: @@ -32920,7 +33470,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Disable_Healing : public CDOTA_Buff { public: @@ -32928,7 +33478,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BaseBlocker_Thinker : public CDOTA_Buff { public: @@ -32936,15 +33486,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BaseBlocker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BaseBlocker_Effect : public CDOTA_Buff { public: @@ -32952,20 +33502,20 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Rune_Shield : public CDOTA_Buff { public: - int32_t damage_absorb; // 0x11e8 - bool m_bStartedTimer; // 0x11ec + int32_t damage_absorb; // 0x12b8 + bool m_bStartedTimer; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - int32_t m_nDamageAbsorbed; // 0x11f0 + int32_t m_nDamageAbsorbed; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bonus_Armor : public CDOTA_Buff { public: @@ -32973,7 +33523,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bonus_Mres : public CDOTA_Buff { public: @@ -32981,7 +33531,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bonus_Damage : public CDOTA_Buff { public: @@ -32989,7 +33539,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_HP_Regen : public CDOTA_Buff { public: @@ -32997,7 +33547,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MP_Regen : public CDOTA_Buff { public: @@ -33005,7 +33555,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MagicImmune : public CDOTA_Buff { public: @@ -33013,7 +33563,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DebuffImmune : public CDOTA_Buff { public: @@ -33021,7 +33571,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_CameraFollow : public CDOTA_Buff { public: @@ -33029,7 +33579,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Hexed : public CDOTA_Buff { public: @@ -33037,7 +33587,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Editor : public CDOTA_Buff { public: @@ -33045,7 +33595,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Prosperous_Soul : public CDOTA_Buff { public: @@ -33053,23 +33603,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MoveSpeed_Percentage : public CDOTA_Buff { public: - int32_t movespeed; // 0x11e8 + int32_t movespeed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Kill : public CDOTA_Buff { public: - bool m_bHideOnKill; // 0x11e8 + bool m_bHideOnKill; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Phased : public CDOTA_Buff { public: @@ -33077,7 +33627,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Dominated : public CDOTA_Buff { public: @@ -33085,7 +33635,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TrueSight : public CDOTA_Buff { public: @@ -33093,7 +33643,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TrueSightFoW : public CDOTA_Buff { public: @@ -33101,7 +33651,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TrueSightAll : public CDOTA_Buff { public: @@ -33109,7 +33659,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Stunned : public CDOTA_Buff { public: @@ -33117,7 +33667,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bashed : public CDOTA_Modifier_Stunned { public: @@ -33125,7 +33675,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Taunt : public CDOTA_Buff { public: @@ -33133,30 +33683,30 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_PersistentInvisibility : public CDOTA_Buff { public: - float fade_delay; // 0x11e8 - float m_flFadeTime; // 0x11ec - GameTime_t m_flLastActionTime; // 0x11f0 + float fade_delay; // 0x12b8 + float m_flFadeTime; // 0x12bc + GameTime_t m_flLastActionTime; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Invisible : public CDOTA_Buff { public: - bool m_bSubtle; // 0x11e8 + bool m_bSubtle; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - GameTime_t m_flFadeTime; // 0x11ec - float m_flFadeTimeValue; // 0x11f0 + GameTime_t m_flFadeTime; // 0x12bc + float m_flFadeTimeValue; // 0x12c0 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_InvisibleTrueSightImmune : public CDOTA_Modifier_Invisible { public: @@ -33164,7 +33714,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Followthrough : public CDOTA_Buff { public: @@ -33172,7 +33722,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Silence : public CDOTA_Buff { public: @@ -33180,7 +33730,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Fear : public CDOTA_Buff { public: @@ -33188,7 +33738,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Invulnerable : public CDOTA_Buff { public: @@ -33196,7 +33746,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AttackImmune : public CDOTA_Buff { public: @@ -33204,7 +33754,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Disarmed : public CDOTA_Buff { public: @@ -33212,7 +33762,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Break : public CDOTA_Buff { public: @@ -33220,7 +33770,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Muted : public CDOTA_Buff { public: @@ -33228,7 +33778,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rooted : public CDOTA_Buff { public: @@ -33236,7 +33786,15 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 +class CDOTA_Modifier_RootedUndispellable : public CDOTA_Modifier_Rooted +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12b8 class CDOTA_Modifier_NoHealthBar : public CDOTA_Buff { public: @@ -33244,7 +33802,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_NotOnMinimap : public CDOTA_Buff { public: @@ -33252,7 +33810,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aura : public CDOTA_Buff { public: @@ -33260,7 +33818,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_FountainAura : public CDOTA_Buff { public: @@ -33268,30 +33826,31 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_FountainAuraBuff : public CDOTA_Buff { public: // No members available }; -// Alignment: 8 -// Size: 0x1248 +// Alignment: 9 +// Size: 0x1320 class CDOTA_Modifier_Illusion : public CDOTA_Buff { public: - int32_t outgoing_damage; // 0x11e8 - int32_t outgoing_damage_structure; // 0x11ec - int32_t outgoing_damage_roshan; // 0x11f0 - int32_t incoming_damage; // 0x11f4 - int32_t bounty_base; // 0x11f8 - int32_t bounty_growth; // 0x11fc - CUtlString m_strIllusionType; // 0x1200 - char m_szIllusionLabel[64]; // 0x1208 + int32_t outgoing_damage; // 0x12b8 + int32_t outgoing_damage_structure; // 0x12bc + int32_t outgoing_damage_roshan; // 0x12c0 + int32_t incoming_damage; // 0x12c4 + int32_t bounty_base; // 0x12c8 + int32_t bounty_growth; // 0x12cc + CUtlString m_strIllusionType; // 0x12d0 + char m_szIllusionLabel[64]; // 0x12d8 + bool m_bHidden; // 0x1318 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rune_DoubleDamage : public CDOTA_Buff { public: @@ -33299,15 +33858,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rune_ExtraDamage : public CDOTA_Modifier_Rune_DoubleDamage { public: - int32_t m_iAdditionalDamagePct; // 0x11e8 + int32_t m_iAdditionalDamagePct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rune_Illusion : public CDOTA_Buff { public: @@ -33315,7 +33874,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rune_Haste : public CDOTA_Buff { public: @@ -33323,7 +33882,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rune_FlyingHaste : public CDOTA_Modifier_Rune_Haste { public: @@ -33331,7 +33890,7 @@ public: }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Rune_Invisibility : public CDOTA_Modifier_Invisible { public: @@ -33339,7 +33898,7 @@ public: }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Rune_Super_Invisibility : public CDOTA_Modifier_PersistentInvisibility { public: @@ -33347,7 +33906,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rune_Regen : public CDOTA_Buff { public: @@ -33355,7 +33914,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rune_SuperRegen : public CDOTA_Modifier_Rune_Regen { public: @@ -33363,16 +33922,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rune_Arcane : public CDOTA_Buff { public: - int32_t m_iCooldownReductionPct; // 0x11e8 - int32_t m_iCostReductionPct; // 0x11ec + int32_t m_iCooldownReductionPct; // 0x12b8 + int32_t m_iCostReductionPct; // 0x12bc }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rune_SuperArcane : public CDOTA_Modifier_Rune_Arcane { public: @@ -33380,30 +33939,30 @@ public: }; // Alignment: 11 -// Size: 0x1640 +// Size: 0x1710 class CDOTA_Modifier_Teleporting : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x20]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x20]; // 0x12b8 public: - float m_fStartTime; // 0x1208 - char m_iszPortalLoopAppear[260]; // 0x120c - char m_iszPortalLoopDisappear[260]; // 0x1310 - char m_iszHeroLoopAppear[260]; // 0x1414 - char m_iszHeroLoopDisappear[260]; // 0x1518 - bool m_bSkipTeleportAnim; // 0x161c - bool m_bPlayingCoopAnim; // 0x161d - bool m_bIsPlayingTauntGesture; // 0x161e + float m_fStartTime; // 0x12d8 + char m_iszPortalLoopAppear[260]; // 0x12dc + char m_iszPortalLoopDisappear[260]; // 0x13e0 + char m_iszHeroLoopAppear[260]; // 0x14e4 + char m_iszHeroLoopDisappear[260]; // 0x15e8 + bool m_bSkipTeleportAnim; // 0x16ec + bool m_bPlayingCoopAnim; // 0x16ed + bool m_bIsPlayingTauntGesture; // 0x16ee private: - [[maybe_unused]] uint8_t __pad161f[0x1]; // 0x161f + [[maybe_unused]] uint8_t __pad16ef[0x1]; // 0x16ef public: - float m_fChannelTime; // 0x1620 - Vector m_vStart; // 0x1624 - Vector m_vEnd; // 0x1630 + float m_fChannelTime; // 0x16f0 + Vector m_vStart; // 0x16f4 + Vector m_vEnd; // 0x1700 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Teleporting_Root_Logic : public CDOTA_Buff { public: @@ -33411,52 +33970,52 @@ public: }; // Alignment: 10 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Knockback : public CDOTA_Buff { public: - float knockback_distance; // 0x11e8 - int32_t knockback_height; // 0x11ec - float knockback_duration; // 0x11f0 - Vector m_vHorizOffset; // 0x11f4 - Vector m_vStartPosition; // 0x1200 - float m_fCurrentTimeHoriz; // 0x120c - float m_fCurrentTimeVert; // 0x1210 - bool m_bShouldStun; // 0x1214 - bool m_bRespectLeash; // 0x1215 - bool m_bReversePolarity; // 0x1216 + float knockback_distance; // 0x12b8 + int32_t knockback_height; // 0x12bc + float knockback_duration; // 0x12c0 + Vector m_vHorizOffset; // 0x12c4 + Vector m_vStartPosition; // 0x12d0 + float m_fCurrentTimeHoriz; // 0x12dc + float m_fCurrentTimeVert; // 0x12e0 + bool m_bShouldStun; // 0x12e4 + bool m_bRespectLeash; // 0x12e5 + bool m_bReversePolarity; // 0x12e6 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Cyclone : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x11e8 - Vector m_vStartPos; // 0x11ec - float m_flCurTime; // 0x11f8 - float m_flHeightT; // 0x11fc + GameTime_t m_flStartTime; // 0x12b8 + Vector m_vStartPos; // 0x12bc + float m_flCurTime; // 0x12c8 + float m_flHeightT; // 0x12cc }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_IceSlide : public CDOTA_Buff { public: - GameTime_t m_fLastUpdateTime; // 0x11e8 - Vector m_vVelocity; // 0x11ec + GameTime_t m_fLastUpdateTime; // 0x12b8 + Vector m_vVelocity; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tutorial_LastHitHelper : public CDOTA_Buff { public: - bool m_bTargetFriendlies; // 0x11e8 + bool m_bTargetFriendlies; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TeamShowcase_Global : public CDOTA_Buff { public: @@ -33464,7 +34023,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TeamShowcase_Showcase : public CDOTA_Buff { public: @@ -33472,16 +34031,16 @@ public: }; // Alignment: 2 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_HallOfFame_Glow : public CDOTA_Buff { public: - CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs; // 0x11e8 - CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs2; // 0x1200 + CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs; // 0x12b8 + CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs2; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DisableTauntAnimationCancel : public CDOTA_Buff { public: @@ -33489,7 +34048,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_PreventTaunts : public CDOTA_Buff { public: @@ -33497,15 +34056,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Activity_Modifier : public CDOTA_Buff { public: - CUtlSymbolLarge m_activityModifier; // 0x11e8 + CUtlSymbolLarge m_activityModifier; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_SecondaryUnit_Taunt : public CDOTA_Buff { public: @@ -33513,24 +34072,24 @@ public: }; // Alignment: 7 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_BouncePerch : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTree; // 0x11e8 - bool m_bGroundToTree; // 0x11ec - bool m_bTreeToGround; // 0x11ed - bool m_bTreeToTree; // 0x11ee + CHandle< CBaseEntity > m_hTree; // 0x12b8 + bool m_bGroundToTree; // 0x12bc + bool m_bTreeToGround; // 0x12bd + bool m_bTreeToTree; // 0x12be private: - [[maybe_unused]] uint8_t __pad11ef[0x1]; // 0x11ef + [[maybe_unused]] uint8_t __pad12bf[0x1]; // 0x12bf public: - float perched_day_vision; // 0x11f0 - float perched_night_vision; // 0x11f4 - bool m_bAbilityIsStolen; // 0x11f8 + float perched_day_vision; // 0x12c0 + float perched_night_vision; // 0x12c4 + bool m_bAbilityIsStolen; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BookOfStrength : public CDOTA_Buff { public: @@ -33538,7 +34097,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BookOfAgility : public CDOTA_Buff { public: @@ -33546,7 +34105,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BookOfIntelligence : public CDOTA_Buff { public: @@ -33554,7 +34113,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_No_Invisibility : public CDOTA_Buff { public: @@ -33562,28 +34121,28 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hide_On_Minimap : public CDOTA_Buff { public: - bool m_bEnemiesOnly; // 0x11e8 + bool m_bEnemiesOnly; // 0x12b8 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_ChangeTreeModel_Thinker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTree; // 0x11e8 + CHandle< CBaseEntity > m_hTree; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlString m_strModel; // 0x11f0 - int32_t m_nModelChangeToken; // 0x11f8 + CUtlString m_strModel; // 0x12c0 + int32_t m_nModelChangeToken; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_LegacyChargeCounter : public CDOTA_Buff { public: @@ -33591,191 +34150,191 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FixedNumberOfHitsToKill : public CDOTA_Buff { public: - int32_t creep_attack_divisor; // 0x11e8 - int32_t attack_count; // 0x11ec + int32_t creep_attack_divisor; // 0x12b8 + int32_t attack_count; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_NPXBuff : public CDOTA_Buff { public: - int32_t m_nCurReduction; // 0x11e8 + int32_t m_nCurReduction; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Muerta_PartingShot_PhysicalBodyDebuff : public CDOTA_Modifier_Stunned { public: - CHandle< CBaseEntity > m_hSoulEntity; // 0x11e8 - int32_t damage_reduction_percent; // 0x11ec + CHandle< CBaseEntity > m_hSoulEntity; // 0x12b8 + int32_t damage_reduction_percent; // 0x12bc }; // Alignment: 20 -// Size: 0x608 +// Size: 0x618 class CDOTA_Ability_DataDriven : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x18]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x18]; // 0x568 public: - bool m_bProcsMagicStick; // 0x570 - bool m_bIsSharedWithTeammates; // 0x571 - bool m_bCastFilterRejectCaster; // 0x572 + bool m_bProcsMagicStick; // 0x580 + bool m_bIsSharedWithTeammates; // 0x581 + bool m_bCastFilterRejectCaster; // 0x582 private: - [[maybe_unused]] uint8_t __pad0573[0x1]; // 0x573 + [[maybe_unused]] uint8_t __pad0583[0x1]; // 0x583 public: - float m_fAOERadius; // 0x574 - int32_t m_CastAnimation; // 0x578 + float m_fAOERadius; // 0x584 + int32_t m_CastAnimation; // 0x588 private: - [[maybe_unused]] uint8_t __pad057c[0x4]; // 0x57c + [[maybe_unused]] uint8_t __pad058c[0x4]; // 0x58c public: - CUtlVector< KeyValues* > m_ModifierKVDescriptions; // 0x580 - KeyValues* m_pOnChannelFinishKV; // 0x598 - KeyValues* m_pOnChannelSucceededKV; // 0x5a0 - KeyValues* m_pOnChannelInterruptedKV; // 0x5a8 - KeyValues* m_pOnOwnerSpawnedKV; // 0x5b0 - KeyValues* m_pOnOwnerDiedKV; // 0x5b8 - KeyValues* m_pOnUpgradeKV; // 0x5c0 - KeyValues* m_pOnProjectileHitUnitKV; // 0x5c8 - KeyValues* m_pOnProjectileFinishKV; // 0x5d0 - KeyValues* m_pOnSpellStartKV; // 0x5d8 - KeyValues* m_pOnAbilityPhaseStartKV; // 0x5e0 - KeyValues* m_pOnAbilityPhaseInterruptedKV; // 0x5e8 - KeyValues* m_pOnToggleOnKV; // 0x5f0 - KeyValues* m_pOnToggleOffKV; // 0x5f8 - KeyValues* m_pOnCreatedKV; // 0x600 + CUtlVector< KeyValues* > m_ModifierKVDescriptions; // 0x590 + KeyValues* m_pOnChannelFinishKV; // 0x5a8 + KeyValues* m_pOnChannelSucceededKV; // 0x5b0 + KeyValues* m_pOnChannelInterruptedKV; // 0x5b8 + KeyValues* m_pOnOwnerSpawnedKV; // 0x5c0 + KeyValues* m_pOnOwnerDiedKV; // 0x5c8 + KeyValues* m_pOnUpgradeKV; // 0x5d0 + KeyValues* m_pOnProjectileHitUnitKV; // 0x5d8 + KeyValues* m_pOnProjectileFinishKV; // 0x5e0 + KeyValues* m_pOnSpellStartKV; // 0x5e8 + KeyValues* m_pOnAbilityPhaseStartKV; // 0x5f0 + KeyValues* m_pOnAbilityPhaseInterruptedKV; // 0x5f8 + KeyValues* m_pOnToggleOnKV; // 0x600 + KeyValues* m_pOnToggleOffKV; // 0x608 + KeyValues* m_pOnCreatedKV; // 0x610 }; // Alignment: 21 -// Size: 0x6b0 +// Size: 0x6c0 class CDOTA_Item_DataDriven : public CDOTA_Item { private: - [[maybe_unused]] uint8_t __pad0600[0x18]; // 0x600 + [[maybe_unused]] uint8_t __pad0610[0x18]; // 0x610 public: - bool m_bProcsMagicStick; // 0x618 - bool m_bIsSharedWithTeammates; // 0x619 - bool m_bCastFilterRejectCaster; // 0x61a + bool m_bProcsMagicStick; // 0x628 + bool m_bIsSharedWithTeammates; // 0x629 + bool m_bCastFilterRejectCaster; // 0x62a private: - [[maybe_unused]] uint8_t __pad061b[0x1]; // 0x61b + [[maybe_unused]] uint8_t __pad062b[0x1]; // 0x62b public: - float m_fAnimationPlaybackRate; // 0x61c - float m_fAOERadius; // 0x620 - int32_t m_CastAnimation; // 0x624 - CUtlVector< KeyValues* > m_ModifierKVDescriptions; // 0x628 - KeyValues* m_pOnChannelFinishKV; // 0x640 - KeyValues* m_pOnChannelSucceededKV; // 0x648 - KeyValues* m_pOnChannelInterruptedKV; // 0x650 - KeyValues* m_pOnOwnerSpawnedKV; // 0x658 - KeyValues* m_pOnOwnerDiedKV; // 0x660 - KeyValues* m_pOnProjectileHitUnitKV; // 0x668 - KeyValues* m_pOnProjectileFinishKV; // 0x670 - KeyValues* m_pOnSpellStartKV; // 0x678 - KeyValues* m_pOnAbilityPhaseStartKV; // 0x680 - KeyValues* m_pOnToggleOnKV; // 0x688 - KeyValues* m_pOnToggleOffKV; // 0x690 - KeyValues* m_pOnEquipKV; // 0x698 - KeyValues* m_pOnUnequipKV; // 0x6a0 - KeyValues* m_pOnCreatedKV; // 0x6a8 + float m_fAnimationPlaybackRate; // 0x62c + float m_fAOERadius; // 0x630 + int32_t m_CastAnimation; // 0x634 + CUtlVector< KeyValues* > m_ModifierKVDescriptions; // 0x638 + KeyValues* m_pOnChannelFinishKV; // 0x650 + KeyValues* m_pOnChannelSucceededKV; // 0x658 + KeyValues* m_pOnChannelInterruptedKV; // 0x660 + KeyValues* m_pOnOwnerSpawnedKV; // 0x668 + KeyValues* m_pOnOwnerDiedKV; // 0x670 + KeyValues* m_pOnProjectileHitUnitKV; // 0x678 + KeyValues* m_pOnProjectileFinishKV; // 0x680 + KeyValues* m_pOnSpellStartKV; // 0x688 + KeyValues* m_pOnAbilityPhaseStartKV; // 0x690 + KeyValues* m_pOnToggleOnKV; // 0x698 + KeyValues* m_pOnToggleOffKV; // 0x6a0 + KeyValues* m_pOnEquipKV; // 0x6a8 + KeyValues* m_pOnUnequipKV; // 0x6b0 + KeyValues* m_pOnCreatedKV; // 0x6b8 }; // Alignment: 63 -// Size: 0x35a8 +// Size: 0x3818 class CDOTA_Modifier_DataDriven : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x18]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x18]; // 0x12b8 public: - AbilityID_t m_nAbilityID; // 0x1200 - int32_t m_nIndexInAbility; // 0x1204 - bool m_bIsHidden; // 0x1208 - bool m_bIsDebuff; // 0x1209 - bool m_bIsPurgable; // 0x120a - bool m_bIsStunDebuff; // 0x120b - bool m_bAllowIllusionDuplicate; // 0x120c - bool m_bRemoveOnDeath; // 0x120d + AbilityID_t m_nAbilityID; // 0x12d0 + int32_t m_nIndexInAbility; // 0x12d4 + bool m_bIsHidden; // 0x12d8 + bool m_bIsDebuff; // 0x12d9 + bool m_bIsPurgable; // 0x12da + bool m_bIsStunDebuff; // 0x12db + bool m_bAllowIllusionDuplicate; // 0x12dc + bool m_bRemoveOnDeath; // 0x12dd private: - [[maybe_unused]] uint8_t __pad120e[0x2]; // 0x120e + [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de public: - char* m_pszAuraModifier; // 0x1210 - int32_t m_nAuraModifierIndex; // 0x1218 - int32_t m_nAuraRadius; // 0x121c - int32_t m_nAuraSearchTeam; // 0x1220 - int32_t m_nAuraSearchType; // 0x1224 - int32_t m_nAuraSearchFlags; // 0x1228 - bool m_bAuraApplyToCaster; // 0x122c - bool m_bAuraApplyToParent; // 0x122d + char* m_pszAuraModifier; // 0x12e0 + int32_t m_nAuraModifierIndex; // 0x12e8 + int32_t m_nAuraRadius; // 0x12ec + int32_t m_nAuraSearchTeam; // 0x12f0 + int32_t m_nAuraSearchType; // 0x12f4 + int32_t m_nAuraSearchFlags; // 0x12f8 + bool m_bAuraApplyToCaster; // 0x12fc + bool m_bAuraApplyToParent; // 0x12fd private: - [[maybe_unused]] uint8_t __pad122e[0x2]; // 0x122e + [[maybe_unused]] uint8_t __pad12fe[0x2]; // 0x12fe public: - int32_t m_nAttributes; // 0x1230 + int32_t m_nAttributes; // 0x1300 private: - [[maybe_unused]] uint8_t __pad1234[0x4]; // 0x1234 + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 public: - char* m_pszEffectName; // 0x1238 - int32_t m_nEffectAttachType; // 0x1240 - int32_t m_nPriority; // 0x1244 - char* m_pszStatusEffectName; // 0x1248 - int32_t m_nStatusEffectPriority; // 0x1250 - int32_t m_nOverrideAnimation; // 0x1254 - int32_t m_nOrbPriority; // 0x1258 - int32_t m_nOrbLabel; // 0x125c - bool m_bOrbIsCastAttack; // 0x1260 + char* m_pszEffectName; // 0x1308 + int32_t m_nEffectAttachType; // 0x1310 + int32_t m_nPriority; // 0x1314 + char* m_pszStatusEffectName; // 0x1318 + int32_t m_nStatusEffectPriority; // 0x1320 + int32_t m_nOverrideAnimation; // 0x1324 + int32_t m_nOrbPriority; // 0x1328 + int32_t m_nOrbLabel; // 0x132c + bool m_bOrbIsCastAttack; // 0x1330 private: - [[maybe_unused]] uint8_t __pad1261[0x3]; // 0x1261 + [[maybe_unused]] uint8_t __pad1331[0x3]; // 0x1331 public: - float m_flThinkInterval; // 0x1264 - bool m_bNeedsReParseIfRefreshed; // 0x1268 + float m_flThinkInterval; // 0x1334 + bool m_bNeedsReParseIfRefreshed; // 0x1338 private: - [[maybe_unused]] uint8_t __pad1269[0x7]; // 0x1269 + [[maybe_unused]] uint8_t __pad1339[0x7]; // 0x1339 public: - char* m_pszModelName; // 0x1270 - char* m_pszOrbProjectileName; // 0x1278 + char* m_pszModelName; // 0x1340 + char* m_pszOrbProjectileName; // 0x1348 private: - [[maybe_unused]] uint8_t __pad1280[0x2220]; // 0x1280 + [[maybe_unused]] uint8_t __pad1350[0x23c0]; // 0x1350 public: - uint64_t m_nModifierStatesEnabled; // 0x34a0 - uint64_t m_nModifierStatesDisabled; // 0x34a8 - KeyValues* m_pOnCreated; // 0x34b0 - KeyValues* m_pOnIntervalThink; // 0x34b8 - KeyValues* m_pOnDestroy; // 0x34c0 - KeyValues* m_pOnAttackStart; // 0x34c8 - KeyValues* m_pOnAttack; // 0x34d0 - KeyValues* m_pOnAttackLanded; // 0x34d8 - KeyValues* m_pOnAttackFailed; // 0x34e0 - KeyValues* m_pOnAttackAllied; // 0x34e8 - KeyValues* m_pOnProjectileDodge; // 0x34f0 - KeyValues* m_pOnOrder; // 0x34f8 - KeyValues* m_pOnUnitMoved; // 0x3500 - KeyValues* m_pOnAbilityStart; // 0x3508 - KeyValues* m_pOnAbilityExecuted; // 0x3510 - KeyValues* m_pOnBreakInvisibility; // 0x3518 - KeyValues* m_pOnAbilityEndChannel; // 0x3520 - KeyValues* m_pOnTakeDamage; // 0x3528 - KeyValues* m_pOnDealDamage; // 0x3530 - KeyValues* m_pOnStateChanged; // 0x3538 - KeyValues* m_pOnAttacked; // 0x3540 - KeyValues* m_pOnDeath; // 0x3548 - KeyValues* m_pOnKill; // 0x3550 - KeyValues* m_pOnRespawn; // 0x3558 - KeyValues* m_pOnSpentMana; // 0x3560 - KeyValues* m_pOnTeleporting; // 0x3568 - KeyValues* m_pOnTeleported; // 0x3570 - KeyValues* m_pOnHealthGained; // 0x3578 - KeyValues* m_pOnManaGained; // 0x3580 - KeyValues* m_pOnHeroKilled; // 0x3588 - KeyValues* m_pOnHealReceived; // 0x3590 - KeyValues* m_pOnAttackFinished; // 0x3598 - KeyValues* m_pOnAttackCancelled; // 0x35a0 + uint64_t m_nModifierStatesEnabled; // 0x3710 + uint64_t m_nModifierStatesDisabled; // 0x3718 + KeyValues* m_pOnCreated; // 0x3720 + KeyValues* m_pOnIntervalThink; // 0x3728 + KeyValues* m_pOnDestroy; // 0x3730 + KeyValues* m_pOnAttackStart; // 0x3738 + KeyValues* m_pOnAttack; // 0x3740 + KeyValues* m_pOnAttackLanded; // 0x3748 + KeyValues* m_pOnAttackFailed; // 0x3750 + KeyValues* m_pOnAttackAllied; // 0x3758 + KeyValues* m_pOnProjectileDodge; // 0x3760 + KeyValues* m_pOnOrder; // 0x3768 + KeyValues* m_pOnUnitMoved; // 0x3770 + KeyValues* m_pOnAbilityStart; // 0x3778 + KeyValues* m_pOnAbilityExecuted; // 0x3780 + KeyValues* m_pOnBreakInvisibility; // 0x3788 + KeyValues* m_pOnAbilityEndChannel; // 0x3790 + KeyValues* m_pOnTakeDamage; // 0x3798 + KeyValues* m_pOnDealDamage; // 0x37a0 + KeyValues* m_pOnStateChanged; // 0x37a8 + KeyValues* m_pOnAttacked; // 0x37b0 + KeyValues* m_pOnDeath; // 0x37b8 + KeyValues* m_pOnKill; // 0x37c0 + KeyValues* m_pOnRespawn; // 0x37c8 + KeyValues* m_pOnSpentMana; // 0x37d0 + KeyValues* m_pOnTeleporting; // 0x37d8 + KeyValues* m_pOnTeleported; // 0x37e0 + KeyValues* m_pOnHealthGained; // 0x37e8 + KeyValues* m_pOnManaGained; // 0x37f0 + KeyValues* m_pOnHeroKilled; // 0x37f8 + KeyValues* m_pOnHealReceived; // 0x3800 + KeyValues* m_pOnAttackFinished; // 0x3808 + KeyValues* m_pOnAttackCancelled; // 0x3810 }; // Alignment: 0 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Lua : public CDOTABaseAbility { public: @@ -33783,17 +34342,17 @@ public: }; // Alignment: 1 -// Size: 0x12d8 +// Size: 0x13a8 class CDOTA_Modifier_Lua : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0xe8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0xe8]; // 0x12b8 public: - bool m_bHasCustomTransmitterData; // 0x12d0 + bool m_bHasCustomTransmitterData; // 0x13a0 }; // Alignment: 0 -// Size: 0x12d8 +// Size: 0x13a8 class CDOTA_Modifier_Lua_Horizontal_Motion : public CDOTA_Modifier_Lua { public: @@ -33801,7 +34360,7 @@ public: }; // Alignment: 0 -// Size: 0x12d8 +// Size: 0x13a8 class CDOTA_Modifier_Lua_Vertical_Motion : public CDOTA_Modifier_Lua { public: @@ -33809,7 +34368,7 @@ public: }; // Alignment: 0 -// Size: 0x12d8 +// Size: 0x13a8 class CDOTA_Modifier_Lua_Motion_Both : public CDOTA_Modifier_Lua { public: @@ -33817,7 +34376,7 @@ public: }; // Alignment: 0 -// Size: 0x648 +// Size: 0x658 class CDOTA_Item_Lua : public CDOTA_Item { public: @@ -33825,7 +34384,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Disruptor_Thunder_Strike_Interval_Upgrade : public CDOTABaseAbility { public: @@ -33833,7 +34392,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Disruptor_Thunder_Strike_Mana_Restore : public CDOTABaseAbility { public: @@ -33841,7 +34400,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Disruptor_Thunder_Strike_Crit_Chance : public CDOTABaseAbility { public: @@ -33849,7 +34408,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Disruptor_Thunder_Strike_On_Attack : public CDOTABaseAbility { public: @@ -33857,7 +34416,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Disruptor_Thunder_Strike : public CDOTABaseAbility { public: @@ -33865,33 +34424,33 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Disruptor_Thunder_Strike : public CDOTA_Buff { public: - float strike_interval; // 0x11e8 - int32_t radius; // 0x11ec - int32_t strike_damage; // 0x11f0 + float strike_interval; // 0x12b8 + int32_t radius; // 0x12bc + int32_t strike_damage; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Disruptor_Thunder_Strike_On_Attack : public CDOTA_Buff { public: - int32_t strike_chance; // 0x11e8 + int32_t strike_chance; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Disruptor_Thunder_Strike_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x11e8 + int32_t slow_amount; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Disruptor_Glimpse_Cast_AoE : public CDOTABaseAbility { public: @@ -33899,7 +34458,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Disruptor_Glimpse_Hit_On_Arrival : public CDOTABaseAbility { public: @@ -33907,7 +34466,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Disruptor_Glimpse_Travel_Damage : public CDOTABaseAbility { public: @@ -33915,51 +34474,51 @@ public: }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Aghsfort_Disruptor_Glimpse : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - int32_t m_nNPCSpawnedID; // 0x568 + int32_t m_nNPCSpawnedID; // 0x578 }; // Alignment: 1 -// Size: 0x1258 +// Size: 0x1328 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse : public CDOTA_Buff { public: - Vector m_PositionIndex[9]; // 0x11e8 + Vector m_PositionIndex[9]; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Attack_Buff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x11e8 - CHandle< CBaseEntity > m_hEntity; // 0x11f4 + Vector m_vStartLoc; // 0x12b8 + CHandle< CBaseEntity > m_hEntity; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Travel_Damage : public CDOTA_Buff { public: - float damage; // 0x11e8 - int32_t max_ticks; // 0x11ec + float damage; // 0x12b8 + int32_t max_ticks; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_Instant_Setup : public CDOTABaseAbility { public: @@ -33967,7 +34526,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_Damage : public CDOTABaseAbility { public: @@ -33975,7 +34534,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_DoubleRing : public CDOTABaseAbility { public: @@ -33983,7 +34542,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_Allied_Heal : public CDOTABaseAbility { public: @@ -33991,7 +34550,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_Allied_AttackBuff : public CDOTABaseAbility { public: @@ -33999,7 +34558,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Disruptor_KineticField : public CDOTABaseAbility { public: @@ -34007,32 +34566,32 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Disruptor_KineticFieldThinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float formation_time; // 0x11ec - bool m_bActive; // 0x11f0 + int32_t radius; // 0x12b8 + float formation_time; // 0x12bc + bool m_bActive; // 0x12c0 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Disruptor_KineticField : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - Vector m_vOriginLoc; // 0x11ec - bool m_bCanBeAffected; // 0x11f8 - bool m_bTruesight; // 0x11f9 + int32_t radius; // 0x12b8 + Vector m_vOriginLoc; // 0x12bc + bool m_bCanBeAffected; // 0x12c8 + bool m_bTruesight; // 0x12c9 private: - [[maybe_unused]] uint8_t __pad11fa[0x2]; // 0x11fa + [[maybe_unused]] uint8_t __pad12ca[0x2]; // 0x12ca public: - int32_t intellect_bonus; // 0x11fc + int32_t intellect_bonus; // 0x12cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Disruptor_StaticStorm_Kinetic_Field_On_Cast : public CDOTABaseAbility { public: @@ -34040,7 +34599,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Disruptor_StaticStorm_Crits_On_Attack : public CDOTABaseAbility { public: @@ -34048,7 +34607,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Disruptor_StaticStorm_Damage_Reduction : public CDOTABaseAbility { public: @@ -34056,7 +34615,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Disruptor_StaticStorm : public CDOTABaseAbility { public: @@ -34064,30 +34623,30 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStormThinker : public CDOTA_Buff { public: - int32_t m_nCurrentPulse; // 0x11e8 - int32_t radius; // 0x11ec - int32_t damage_max; // 0x11f0 - int32_t pulses; // 0x11f4 - float duration; // 0x11f8 + int32_t m_nCurrentPulse; // 0x12b8 + int32_t radius; // 0x12bc + int32_t damage_max; // 0x12c0 + int32_t pulses; // 0x12c4 + float duration; // 0x12c8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStorm : public CDOTA_Buff { public: - int32_t miss_rate; // 0x11e8 - int32_t movement_speed_reduction; // 0x11ec - int32_t attack_speed_reduction; // 0x11f0 - bool m_bHasScepter; // 0x11f4 + int32_t miss_rate; // 0x12b8 + int32_t movement_speed_reduction; // 0x12bc + int32_t attack_speed_reduction; // 0x12c0 + bool m_bHasScepter; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStormMute : public CDOTA_Buff { public: @@ -34095,24 +34654,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStorm_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x11e8 - int32_t move_slow_pct; // 0x11ec + int32_t damage_reduction_pct; // 0x12b8 + int32_t move_slow_pct; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Disruptor_ThunderStrike_Int_Increase : public CDOTA_Buff { public: - int32_t int_increase_amount; // 0x11e8 + int32_t int_increase_amount; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Special_Disruptor_ThunderStrike_Int_Increase_Counter : public CDOTA_Buff { public: @@ -34120,7 +34679,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Magnataur_Horn_Toss : public CDOTABaseAbility { public: @@ -34128,23 +34687,23 @@ public: }; // Alignment: 9 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_Magnataur_Horn_Toss : public CDOTA_Buff { public: - float air_duration; // 0x11e8 - int32_t air_height; // 0x11ec - int32_t travel_distance; // 0x11f0 - Vector m_vDestination; // 0x11f4 - float m_flStartZ; // 0x1200 - float m_flCurTime; // 0x1204 - float m_flJumpDuration; // 0x1208 - float m_flJumpHeight; // 0x120c - Vector m_vTargetHorizontalDirection; // 0x1210 + float air_duration; // 0x12b8 + int32_t air_height; // 0x12bc + int32_t travel_distance; // 0x12c0 + Vector m_vDestination; // 0x12c4 + float m_flStartZ; // 0x12d0 + float m_flCurTime; // 0x12d4 + float m_flJumpDuration; // 0x12d8 + float m_flJumpHeight; // 0x12dc + Vector m_vTargetHorizontalDirection; // 0x12e0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Magnataur_Horn_Toss_Slow : public CDOTA_Buff { public: @@ -34152,15 +34711,15 @@ public: }; // Alignment: 1 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Aghsfort_Magnataur_Shockwave : public CDOTABaseAbility { public: - CUtlVector< ParticleIndex_t > m_nFXIndices; // 0x558 + CUtlVector< ParticleIndex_t > m_nFXIndices; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Magnataur_Shockwave_Multishot : public CDOTABaseAbility { public: @@ -34168,7 +34727,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Magnataur_Shockwave_Damage_Reduction : public CDOTABaseAbility { public: @@ -34176,7 +34735,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Magnataur_Shockwave_Damage_Increase : public CDOTABaseAbility { public: @@ -34184,15 +34743,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Magnataur_Shockwave_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x11e8 + int32_t damage_reduction_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Magnataur_Shockwave_Boomerang : public CDOTABaseAbility { public: @@ -34200,61 +34759,61 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Magnataur_Shockwave : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Magnataur_Shockwave_Pull : public CDOTA_Buff { public: - Vector m_vDirection; // 0x11e8 - float m_flEndTime; // 0x11f4 - float m_flCurTime; // 0x11f8 - float pull_duration; // 0x11fc - float effective_distance; // 0x1200 + Vector m_vDirection; // 0x12b8 + float m_flEndTime; // 0x12c4 + float m_flCurTime; // 0x12c8 + float pull_duration; // 0x12cc + float effective_distance; // 0x12d0 }; // Alignment: 2 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Aghsfort_Magnataur_ReversePolarity : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 - Vector m_vPullLocation; // 0x55c + ParticleIndex_t m_nFXIndex; // 0x568 + Vector m_vPullLocation; // 0x56c }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Aghsfort_Magnataur_Empower : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 + ParticleIndex_t m_nFXIndex; // 0x568 }; // Alignment: 10 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Magnataur_Empower : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x11e8 - float cleave_damage_pct; // 0x11ec - int32_t cleave_starting_width; // 0x11f0 - int32_t cleave_ending_width; // 0x11f4 - int32_t cleave_distance; // 0x11f8 - float splash_damage_pct; // 0x11fc - int32_t splash_radius; // 0x1200 - float self_multiplier; // 0x1204 - int32_t lifesteal_pct; // 0x1208 - GameTime_t m_fLastShockwaveProcTime; // 0x120c + int32_t bonus_damage_pct; // 0x12b8 + float cleave_damage_pct; // 0x12bc + int32_t cleave_starting_width; // 0x12c0 + int32_t cleave_ending_width; // 0x12c4 + int32_t cleave_distance; // 0x12c8 + float splash_damage_pct; // 0x12cc + int32_t splash_radius; // 0x12d0 + float self_multiplier; // 0x12d4 + int32_t lifesteal_pct; // 0x12d8 + GameTime_t m_fLastShockwaveProcTime; // 0x12dc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Magnataur_Empower_All_Allies : public CDOTABaseAbility { public: @@ -34262,7 +34821,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Magnataur_Empower_Charges : public CDOTABaseAbility { public: @@ -34270,7 +34829,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Magnataur_Empower_Lifesteal : public CDOTABaseAbility { public: @@ -34278,7 +34837,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Magnataur_Empower_ShockwaveOnAttack : public CDOTABaseAbility { public: @@ -34286,74 +34845,74 @@ public: }; // Alignment: 8 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_Aghsfort_Magnataur_Skewer : public CDOTABaseAbility { public: - int32_t skewer_radius; // 0x558 - int32_t skewer_speed; // 0x55c - int32_t range; // 0x560 - int32_t tree_radius; // 0x564 - int32_t m_nProjectileID; // 0x568 - int32_t m_nVisibleTargetCount; // 0x56c - Vector m_vSkewerDirection; // 0x570 - int32_t m_nTargetsHit; // 0x57c + int32_t skewer_radius; // 0x568 + int32_t skewer_speed; // 0x56c + int32_t range; // 0x570 + int32_t tree_radius; // 0x574 + int32_t m_nProjectileID; // 0x578 + int32_t m_nVisibleTargetCount; // 0x57c + Vector m_vSkewerDirection; // 0x580 + int32_t m_nTargetsHit; // 0x58c }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t m_nProjectileID; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Impact : public CDOTA_Buff { public: - float slow_duration; // 0x11e8 - int32_t skewer_damage; // 0x11ec - Vector m_vDirection; // 0x11f0 - float m_flEndTime; // 0x11fc - float m_flCurTime; // 0x1200 + float slow_duration; // 0x12b8 + int32_t skewer_damage; // 0x12bc + Vector m_vDirection; // 0x12c0 + float m_flEndTime; // 0x12cc + float m_flCurTime; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Slow : public CDOTA_Buff { public: - int32_t slow_pct; // 0x11e8 + int32_t slow_pct; // 0x12b8 }; // Alignment: 8 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Aghsfort_Magnataur_FriendlySkewer : public CDOTABaseAbility { public: - int32_t skewer_radius; // 0x558 - int32_t skewer_speed; // 0x55c - int32_t max_targets; // 0x560 - int32_t range; // 0x564 - int32_t tree_radius; // 0x568 - int32_t affects_creeps; // 0x56c - int32_t m_nProjectileID; // 0x570 - int32_t m_nTargetsHit; // 0x574 + int32_t skewer_radius; // 0x568 + int32_t skewer_speed; // 0x56c + int32_t max_targets; // 0x570 + int32_t range; // 0x574 + int32_t tree_radius; // 0x578 + int32_t affects_creeps; // 0x57c + int32_t m_nProjectileID; // 0x580 + int32_t m_nTargetsHit; // 0x584 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Magnataur_Skewer_Bonus_Strength : public CDOTA_Buff { public: - int32_t strength_gain; // 0x11e8 + int32_t strength_gain; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_OriginalScepter : public CDOTABaseAbility { public: @@ -34361,7 +34920,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_BonusStrength : public CDOTABaseAbility { public: @@ -34369,7 +34928,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_Heal : public CDOTABaseAbility { public: @@ -34377,7 +34936,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_Shockwave : public CDOTABaseAbility { public: @@ -34385,7 +34944,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_HornToss : public CDOTABaseAbility { public: @@ -34393,7 +34952,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity : public CDOTA_Buff { public: @@ -34401,7 +34960,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity_Stun : public CDOTA_Modifier_Stunned { public: @@ -34409,7 +34968,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Magnataur_Reverse_Polarity_Radius : public CDOTABaseAbility { public: @@ -34417,7 +34976,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Magnataur_Reverse_Polarity_Allies_Crit : public CDOTABaseAbility { public: @@ -34425,7 +34984,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Magnataur_Reverse_Polarity_Steroid : public CDOTABaseAbility { public: @@ -34433,16 +34992,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity_Steroid : public CDOTA_Buff { public: - int32_t move_speed_percent; // 0x11e8 - int32_t attack_speed; // 0x11ec + int32_t move_speed_percent; // 0x12b8 + int32_t attack_speed; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Magnataur_Reverse_Polarity_Polarity_Dummy : public CDOTABaseAbility { public: @@ -34450,7 +35009,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_Magnataur_Reverse_Polarity_Polarity_Dummy : public CDOTA_Buff { public: @@ -34458,17 +35017,17 @@ public: }; // Alignment: 3 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Aghsfort_Special_Magnataur_ReversePolarity_Polarity : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 - Vector m_vPullLocation; // 0x55c - CDOTABaseAbility* pAbilityPrimaryPolarity; // 0x568 + ParticleIndex_t m_nFXIndex; // 0x568 + Vector m_vPullLocation; // 0x56c + CDOTABaseAbility* pAbilityPrimaryPolarity; // 0x578 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_No_Secondary_Dagger_Restriction : public CDOTABaseAbility { public: @@ -34476,7 +35035,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_On_Attack : public CDOTABaseAbility { public: @@ -34484,7 +35043,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_AutoDagger : public CDOTABaseAbility { public: @@ -34492,7 +35051,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_PhantomAssassin_Stifling_Dagger : public CDOTABaseAbility { public: @@ -34500,41 +35059,41 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_StiflingDagger_Caster : public CDOTA_Buff { public: - int32_t base_damage; // 0x11e8 - int32_t attack_factor; // 0x11ec + int32_t base_damage; // 0x12b8 + int32_t attack_factor; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_StiflingDagger : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_On_Attack : public CDOTA_Buff { public: - int32_t strike_chance; // 0x11e8 + int32_t strike_chance; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_AutoDagger : public CDOTA_Buff { public: - float fire_rate; // 0x11e8 - int32_t radius; // 0x11ec + float fire_rate; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_PhantomStrike_Buff_Allies : public CDOTABaseAbility { public: @@ -34542,7 +35101,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_PhantomStrike_Mastery : public CDOTABaseAbility { public: @@ -34550,7 +35109,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_PhantomStrike_Damage_Reduction : public CDOTABaseAbility { public: @@ -34558,7 +35117,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_PhantomAssassin_PhantomStrike : public CDOTABaseAbility { public: @@ -34566,24 +35125,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_PhantomStrike : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_evasion; // 0x11ec + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_evasion; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_PhantomStrike_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x11e8 + int32_t damage_reduction_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Blur_Regen_When_Active : public CDOTABaseAbility { public: @@ -34591,7 +35150,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Blur_Dagger_On_End : public CDOTABaseAbility { public: @@ -34599,7 +35158,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Blur_Immediate : public CDOTABaseAbility { public: @@ -34607,7 +35166,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_PhantomAssassin_Blur : public CDOTABaseAbility { public: @@ -34615,25 +35174,25 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_Blur : public CDOTA_Buff { public: - int32_t bonus_evasion; // 0x11e8 + int32_t bonus_evasion; // 0x12b8 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_PhantomAssassin_BlurActive : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x11f8 - float fade_duration; // 0x11fc - bool m_bDestroyNext; // 0x1200 + int32_t radius; // 0x12c8 + float fade_duration; // 0x12cc + bool m_bDestroyNext; // 0x12d0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_PhantomAssassin_CoupdeGrace : public CDOTABaseAbility { public: @@ -34641,21 +35200,21 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PhantomAssassin_CoupdeGrace : public CDOTA_Buff { public: - int32_t crit_bonus; // 0x11e8 - int32_t crit_chance; // 0x11ec - bool crit_active; // 0x11f0 + int32_t crit_bonus; // 0x12b8 + int32_t crit_chance; // 0x12bc + bool crit_active; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - int32_t m_nAttackRecord; // 0x11f4 + int32_t m_nAttackRecord; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_PhantomAssassin_MarkedForDeath : public CDOTA_Buff { public: @@ -34663,7 +35222,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_PhantomAssassin_CoupDeGrace_MarksTarget : public CDOTABaseAbility { public: @@ -34671,7 +35230,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_PhantomAssassin_CoupDeGrace_Execute : public CDOTABaseAbility { public: @@ -34679,7 +35238,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_PhantomAssassin_CoupDeGrace_KillsRefresh : public CDOTABaseAbility { public: @@ -34687,7 +35246,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_PhantomAssassin_CoupDeGrace_BloodyDebuff : public CDOTABaseAbility { public: @@ -34695,15 +35254,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_PhantomAssassin_CoupDeGrace_BloodyDebuff : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 + int32_t damage_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_Splitshot : public CDOTABaseAbility { public: @@ -34711,17 +35270,17 @@ public: }; // Alignment: 3 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_Splitshot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x11e8 - int32_t split_shot_bonus_range; // 0x11ec - int32_t arrow_count; // 0x11f0 + int32_t damage_modifier; // 0x12b8 + int32_t split_shot_bonus_range; // 0x12bc + int32_t arrow_count; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_DoubleAttack : public CDOTABaseAbility { public: @@ -34729,16 +35288,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_DoubleAttack : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - int32_t m_iAttacksRemaining; // 0x11ec + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + int32_t m_iAttacksRemaining; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_NoMana : public CDOTABaseAbility { public: @@ -34746,7 +35305,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_Splash_Damage : public CDOTABaseAbility { public: @@ -34754,44 +35313,44 @@ public: }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Aghsfort_Winter_Wyvern_Arctic_Burn : public CDOTABaseAbility { public: - CUtlVector< CEntityIndex > m_BurnedTargets; // 0x558 + CUtlVector< CEntityIndex > m_BurnedTargets; // 0x568 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Frost_Attack : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Flight : public CDOTA_Buff { public: - float attack_point; // 0x11e8 - int32_t attack_range_bonus; // 0x11ec - int32_t projectile_speed_bonus; // 0x11f0 - int32_t night_vision_bonus; // 0x11f4 - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11f8 + float attack_point; // 0x12b8 + int32_t attack_range_bonus; // 0x12bc + int32_t projectile_speed_bonus; // 0x12c0 + int32_t night_vision_bonus; // 0x12c4 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Slow : public CDOTA_Buff { public: - float damage_per_second; // 0x11e8 - int32_t move_slow; // 0x11ec + float damage_per_second; // 0x12b8 + int32_t move_slow; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Main_Target_Hit : public CDOTABaseAbility { public: @@ -34799,7 +35358,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Heal : public CDOTABaseAbility { public: @@ -34807,7 +35366,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Vacuum : public CDOTABaseAbility { public: @@ -34815,35 +35374,35 @@ public: }; // Alignment: 2 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Aghsfort_Winter_Wyvern_Splinter_Blast : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x8]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x8]; // 0x568 public: - int32_t splinter_damage; // 0x560 - CHandle< CBaseEntity > m_hMainTarget; // 0x564 + int32_t splinter_damage; // 0x570 + CHandle< CBaseEntity > m_hMainTarget; // 0x574 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Splinter_Blast_Slow : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x11e8 + int32_t bonus_movespeed; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x11e8 - Vector vPullLocation; // 0x11ec + float pull_speed; // 0x12b8 + Vector vPullLocation; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Blast_On_End : public CDOTABaseAbility { public: @@ -34851,7 +35410,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Charges : public CDOTABaseAbility { public: @@ -34859,7 +35418,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Magic_Damage_Block : public CDOTABaseAbility { public: @@ -34867,7 +35426,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Winter_Wyvern_Cold_Embrace : public CDOTABaseAbility { public: @@ -34875,34 +35434,34 @@ public: }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Cold_Embrace : public CDOTA_Buff { public: - int32_t m_nOriginalAttackCapability; // 0x11e8 + int32_t m_nOriginalAttackCapability; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x8]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x8]; // 0x12bc public: - bool m_bDidBlast; // 0x11f4 + bool m_bDidBlast; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - int32_t heal_additive; // 0x11f8 - float heal_percentage; // 0x11fc + int32_t heal_additive; // 0x12c8 + float heal_percentage; // 0x12cc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Magic_Damage_Block : public CDOTA_Buff { public: - int32_t barrier_amount; // 0x11e8 - int32_t barrier_block; // 0x11ec - int32_t m_nMaxMovementSpeed; // 0x11f0 + int32_t barrier_amount; // 0x12b8 + int32_t barrier_block; // 0x12bc + int32_t m_nMaxMovementSpeed; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Winters_Curse_Transfer : public CDOTABaseAbility { public: @@ -34910,7 +35469,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Winters_Curse_Damage_Amp : public CDOTABaseAbility { public: @@ -34918,7 +35477,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Winters_Curse_Heal_On_Death : public CDOTABaseAbility { public: @@ -34926,7 +35485,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Winter_Wyvern_Winters_Curse : public CDOTABaseAbility { public: @@ -34934,85 +35493,85 @@ public: }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse_Kill_Credit : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse_Aura : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - int32_t m_nAlliesTaunted; // 0x11ec - bool m_bRelicTriggered; // 0x11f0 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + int32_t m_nAlliesTaunted; // 0x12bc + bool m_bRelicTriggered; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - int32_t radius; // 0x11f4 - int32_t damage_amplification; // 0x11f8 - int32_t damage_reduction; // 0x11fc + int32_t radius; // 0x12c4 + int32_t damage_amplification; // 0x12c8 + int32_t damage_reduction; // 0x12cc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hZombieTarget; // 0x11e8 - CHandle< CBaseEntity > m_hDesiredTarget; // 0x11ec - int32_t damage_reduction; // 0x11f0 - int32_t bonus_attack_speed; // 0x11f4 + CHandle< CBaseEntity > m_hZombieTarget; // 0x12b8 + CHandle< CBaseEntity > m_hDesiredTarget; // 0x12bc + int32_t damage_reduction; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c4 }; // Alignment: 11 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Aghsfort_Snapfire_MortimerKisses : public CDOTABaseAbility { public: - int32_t m_nDamagePerProjectile; // 0x558 - int32_t damage_per_impact; // 0x55c - int32_t impact_radius; // 0x560 - int32_t projectile_vision; // 0x564 - int32_t m_nFragmentationImpactRadius; // 0x568 - int32_t firetrail_radius; // 0x56c - int32_t firetrail_damage; // 0x570 - int32_t firetrail_tick_interval; // 0x574 - CUtlVector< Vector > m_vFirePoolLocations; // 0x578 - float m_fNextDamageTick; // 0x590 - Vector m_vLastFirePoolLoc; // 0x594 + int32_t m_nDamagePerProjectile; // 0x568 + int32_t damage_per_impact; // 0x56c + int32_t impact_radius; // 0x570 + int32_t projectile_vision; // 0x574 + int32_t m_nFragmentationImpactRadius; // 0x578 + int32_t firetrail_radius; // 0x57c + int32_t firetrail_damage; // 0x580 + int32_t firetrail_tick_interval; // 0x584 + CUtlVector< Vector > m_vFirePoolLocations; // 0x588 + float m_fNextDamageTick; // 0x5a0 + Vector m_vLastFirePoolLoc; // 0x5a4 }; // Alignment: 5 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Aghsfort_Snapfire_Scatterblast : public CDOTABaseAbility { public: - int32_t damage; // 0x558 - float debuff_duration; // 0x55c - int32_t point_blank_range; // 0x560 - float point_blank_dmg_bonus_pct; // 0x564 - int32_t blast_width_end; // 0x568 + int32_t damage; // 0x568 + float debuff_duration; // 0x56c + int32_t point_blank_range; // 0x570 + float point_blank_dmg_bonus_pct; // 0x574 + int32_t blast_width_end; // 0x578 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Snapfire_Scatterblast_Slow : public CDOTA_Buff { public: - bool m_bIsPointBlank; // 0x11e8 + bool m_bIsPointBlank; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t movement_slow_pct; // 0x11ec - int32_t attack_slow_pct; // 0x11f0 + int32_t movement_slow_pct; // 0x12bc + int32_t attack_slow_pct; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Snapfire_Scatterblast_Disarm : public CDOTA_Buff { public: @@ -35020,53 +35579,53 @@ public: }; // Alignment: 4 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Aghsfort_Snapfire_FiresnapCookie : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hTarget; // 0x558 + CHandle< CBaseEntity > m_hTarget; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0x8]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0x8]; // 0x56c public: - int32_t projectile_speed; // 0x564 - float pre_hop_duration; // 0x568 - float cast_on_ally_gesture_time; // 0x56c + int32_t projectile_speed; // 0x574 + float pre_hop_duration; // 0x578 + float cast_on_ally_gesture_time; // 0x57c }; // Alignment: 3 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_PreHop : public CDOTA_Buff { public: - float jump_duration; // 0x11e8 - bool m_bMovesHorizontal; // 0x11ec - bool m_bSecondaryCookie; // 0x11ed + float jump_duration; // 0x12b8 + bool m_bMovesHorizontal; // 0x12bc + bool m_bSecondaryCookie; // 0x12bd }; // Alignment: 15 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_ShortHop : public CDOTA_Buff { public: - float jump_duration; // 0x11e8 - int32_t jump_height; // 0x11ec - int32_t jump_horizontal_distance; // 0x11f0 - float pre_land_anim_time; // 0x11f4 - float landing_gesture_duration; // 0x11f8 - int32_t impact_radius; // 0x11fc - int32_t impact_damage; // 0x1200 - float impact_stun_duration; // 0x1204 - float m_flStartZ; // 0x1208 - float m_flCurTime; // 0x120c - float m_flJumpDuration; // 0x1210 - float m_flJumpDistance; // 0x1214 - float m_flJumpHeight; // 0x1218 - Vector m_vTargetHorizontalDirection; // 0x121c - bool m_bSecondaryCookie; // 0x1228 + float jump_duration; // 0x12b8 + int32_t jump_height; // 0x12bc + int32_t jump_horizontal_distance; // 0x12c0 + float pre_land_anim_time; // 0x12c4 + float landing_gesture_duration; // 0x12c8 + int32_t impact_radius; // 0x12cc + int32_t impact_damage; // 0x12d0 + float impact_stun_duration; // 0x12d4 + float m_flStartZ; // 0x12d8 + float m_flCurTime; // 0x12dc + float m_flJumpDuration; // 0x12e0 + float m_flJumpDistance; // 0x12e4 + float m_flJumpHeight; // 0x12e8 + Vector m_vTargetHorizontalDirection; // 0x12ec + bool m_bSecondaryCookie; // 0x12f8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_AllyFlailAnim : public CDOTA_Buff { public: @@ -35074,7 +35633,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_LandingGesture : public CDOTA_Buff { public: @@ -35082,96 +35641,96 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Snapfire_FiresnapCookie_AlliedBuff : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x11e8 - int32_t bonus_attack_damage; // 0x11ec + int32_t bonus_attack_range; // 0x12b8 + int32_t bonus_attack_damage; // 0x12bc }; // Alignment: 2 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Aghsfort_Snapfire_LilShredder : public CDOTABaseAbility { public: - int32_t m_iAttackIndex; // 0x558 + int32_t m_iAttackIndex; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c public: - CUtlVector< sLilShredderBounceInfo > m_BounceInfo; // 0x560 + CUtlVector< sLilShredderBounceInfo > m_BounceInfo; // 0x570 }; // Alignment: 11 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Buff : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 - int32_t m_nIsActive; // 0x1208 - bool m_bHasAttackTalent; // 0x120c + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + int32_t m_nIsActive; // 0x12d8 + bool m_bHasAttackTalent; // 0x12dc private: - [[maybe_unused]] uint8_t __pad120d[0x3]; // 0x120d + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - int32_t attack_range_bonus; // 0x1210 - int32_t buffed_attacks; // 0x1214 - float base_attack_time; // 0x1218 - int32_t attack_speed_bonus; // 0x121c - float armor_duration; // 0x1220 - int32_t damage; // 0x1224 - int32_t bounce_range; // 0x1228 - int32_t bounces; // 0x122c + int32_t attack_range_bonus; // 0x12e0 + int32_t buffed_attacks; // 0x12e4 + float base_attack_time; // 0x12e8 + int32_t attack_speed_bonus; // 0x12ec + float armor_duration; // 0x12f0 + int32_t damage; // 0x12f4 + int32_t bounce_range; // 0x12f8 + int32_t bounces; // 0x12fc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Attack : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 + int32_t damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Debuff : public CDOTA_Buff { public: - float armor_reduction_per_attack; // 0x11e8 + float armor_reduction_per_attack; // 0x12b8 }; // Alignment: 16 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_Snapfire_MortimerKisses : public CDOTA_Buff { public: - float m_fIntervalPerRocket; // 0x11e8 - float m_flFacingTarget; // 0x11ec - ParticleIndex_t m_nBeamFXIndex; // 0x11f0 - CHandle< CBaseEntity > m_hBeamEnd; // 0x11f4 - float m_flCurDistance; // 0x11f8 - Vector m_vAimTarget; // 0x11fc - float m_fLastTurnAmount; // 0x1208 - int32_t m_nProjectilesLaunched; // 0x120c - bool m_bDestroyOnNextThink; // 0x1210 + float m_fIntervalPerRocket; // 0x12b8 + float m_flFacingTarget; // 0x12bc + ParticleIndex_t m_nBeamFXIndex; // 0x12c0 + CHandle< CBaseEntity > m_hBeamEnd; // 0x12c4 + float m_flCurDistance; // 0x12c8 + Vector m_vAimTarget; // 0x12cc + float m_fLastTurnAmount; // 0x12d8 + int32_t m_nProjectilesLaunched; // 0x12dc + bool m_bDestroyOnNextThink; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t m_nProjectilesToLaunch; // 0x1214 - bool m_bHasProjectileTalent; // 0x1218 + int32_t m_nProjectilesToLaunch; // 0x12e4 + bool m_bHasProjectileTalent; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1219[0xb]; // 0x1219 + [[maybe_unused]] uint8_t __pad12e9[0xb]; // 0x12e9 public: - int32_t projectile_count; // 0x1224 - int32_t projectile_vision; // 0x1228 - float turn_rate; // 0x122c - int32_t min_range; // 0x1230 - float delay_after_last_projectile; // 0x1234 + int32_t projectile_count; // 0x12f4 + int32_t projectile_vision; // 0x12f8 + float turn_rate; // 0x12fc + int32_t min_range; // 0x1300 + float delay_after_last_projectile; // 0x1304 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Snapfire_MortimerKisses_VisionSource : public CDOTA_Buff { public: @@ -35179,40 +35738,40 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Snapfire_Magma_Thinker : public CDOTA_Buff { public: - float burn_interval; // 0x11e8 - int32_t impact_radius; // 0x11ec - int32_t move_slow_pct; // 0x11f0 - float burn_linger_duration; // 0x11f4 - ParticleIndex_t m_nPathEffectIndex; // 0x11f8 + float burn_interval; // 0x12b8 + int32_t impact_radius; // 0x12bc + int32_t move_slow_pct; // 0x12c0 + float burn_linger_duration; // 0x12c4 + ParticleIndex_t m_nPathEffectIndex; // 0x12c8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Snapfire_Magma_Burn_Slow : public CDOTA_Buff { public: - int32_t m_nMoveSlowPct; // 0x11e8 - float m_fBurnDamagePerTick; // 0x11ec - int32_t move_slow_pct; // 0x11f0 - float burn_interval; // 0x11f4 - int32_t burn_damage; // 0x11f8 + int32_t m_nMoveSlowPct; // 0x12b8 + float m_fBurnDamagePerTick; // 0x12bc + int32_t move_slow_pct; // 0x12c0 + float burn_interval; // 0x12c4 + int32_t burn_damage; // 0x12c8 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Aghsfort_Snapfire_GobbleUp : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hGobbledUnit; // 0x558 - float max_time_in_belly; // 0x55c + CHandle< CBaseEntity > m_hGobbledUnit; // 0x568 + float max_time_in_belly; // 0x56c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Snapfire_GobbleUp_Creep : public CDOTA_Buff { public: @@ -35220,60 +35779,60 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Snapfire_GobbleUp_BellyHasUnit : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hGobbledUnit; // 0x11e8 - float max_time_in_belly; // 0x11ec + CHandle< CBaseEntity > m_hGobbledUnit; // 0x12b8 + float max_time_in_belly; // 0x12bc }; // Alignment: 3 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Aghsfort_Snapfire_SpitCreep : public CDOTABaseAbility { public: - int32_t m_nDamagePerProjectile; // 0x558 - CHandle< CBaseEntity > m_hGobbledUnit; // 0x55c - int32_t m_nProjectileID; // 0x560 + int32_t m_nDamagePerProjectile; // 0x568 + CHandle< CBaseEntity > m_hGobbledUnit; // 0x56c + int32_t m_nProjectileID; // 0x570 }; // Alignment: 24 -// Size: 0x1258 +// Size: 0x1328 class CDOTA_Modifier_Aghsfort_Snapfire_SpitCreep_ArcingUnit : public CDOTA_Buff { public: - float m_flPredictedTotalTime; // 0x11e8 - Vector m_vStartPosition; // 0x11ec - float m_flCurrentTimeHoriz; // 0x11f8 - float m_flCurrentTimeVert; // 0x11fc - bool m_bHorizontalMotionInterrupted; // 0x1200 - bool m_bDamageApplied; // 0x1201 - bool m_bTargetTeleported; // 0x1202 + float m_flPredictedTotalTime; // 0x12b8 + Vector m_vStartPosition; // 0x12bc + float m_flCurrentTimeHoriz; // 0x12c8 + float m_flCurrentTimeVert; // 0x12cc + bool m_bHorizontalMotionInterrupted; // 0x12d0 + bool m_bDamageApplied; // 0x12d1 + bool m_bTargetTeleported; // 0x12d2 private: - [[maybe_unused]] uint8_t __pad1203[0x1]; // 0x1203 + [[maybe_unused]] uint8_t __pad12d3[0x1]; // 0x12d3 public: - Vector m_vHorizontalVelocity; // 0x1204 - Vector m_vLastKnownTargetPosition; // 0x1210 - float m_flInitialVelocityZ; // 0x121c - float m_fClampedProjectileSpeed; // 0x1220 - ParticleIndex_t m_nFXIndex; // 0x1224 - float m_fAcceleration; // 0x1228 - int32_t min_range; // 0x122c - float min_lob_travel_time; // 0x1230 - float max_lob_travel_time; // 0x1234 - int32_t impact_radius; // 0x1238 - int32_t projectile_vision; // 0x123c - float stun_duration; // 0x1240 - int32_t impact_damage; // 0x1244 - float min_height_above_lowest; // 0x1248 - float min_height_above_highest; // 0x124c - float min_acceleration; // 0x1250 - float max_acceleration; // 0x1254 + Vector m_vHorizontalVelocity; // 0x12d4 + Vector m_vLastKnownTargetPosition; // 0x12e0 + float m_flInitialVelocityZ; // 0x12ec + float m_fClampedProjectileSpeed; // 0x12f0 + ParticleIndex_t m_nFXIndex; // 0x12f4 + float m_fAcceleration; // 0x12f8 + int32_t min_range; // 0x12fc + float min_lob_travel_time; // 0x1300 + float max_lob_travel_time; // 0x1304 + int32_t impact_radius; // 0x1308 + int32_t projectile_vision; // 0x130c + float stun_duration; // 0x1310 + int32_t impact_damage; // 0x1314 + float min_height_above_lowest; // 0x1318 + float min_height_above_highest; // 0x131c + float min_acceleration; // 0x1320 + float max_acceleration; // 0x1324 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Snapfire_Scatterblast_Double_Barrel : public CDOTABaseAbility { public: @@ -35281,7 +35840,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Snapfire_Scatterblast_Knockback : public CDOTABaseAbility { public: @@ -35289,7 +35848,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Snapfire_Scatterblast_FullRange_PointBlank : public CDOTABaseAbility { public: @@ -35297,7 +35856,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Snapfire_Scatterblast_Barrage : public CDOTABaseAbility { public: @@ -35305,7 +35864,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Snapfire_FiresnapCookie_MultiCookie : public CDOTABaseAbility { public: @@ -35313,7 +35872,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Snapfire_FiresnapCookie_EnemyTarget : public CDOTABaseAbility { public: @@ -35321,7 +35880,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Snapfire_FiresnapCookie_Allied_Buff : public CDOTABaseAbility { public: @@ -35329,7 +35888,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Snapfire_LilShredder_Explosives : public CDOTABaseAbility { public: @@ -35337,7 +35896,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Snapfire_LilShredder_AllyCast : public CDOTABaseAbility { public: @@ -35345,7 +35904,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Snapfire_LilShredder_Bouncing_Bullets : public CDOTABaseAbility { public: @@ -35353,7 +35912,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Snapfire_MortimerKisses_Fragmentation : public CDOTABaseAbility { public: @@ -35361,7 +35920,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Snapfire_MortimerKisses_Incoming_Damage_Reduction : public CDOTABaseAbility { public: @@ -35369,7 +35928,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Snapfire_MortimerKisses_Fire_Trail : public CDOTABaseAbility { public: @@ -35377,7 +35936,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Snapfire_MortimerKisses_Autoattack : public CDOTABaseAbility { public: @@ -35385,52 +35944,52 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Snapfire_MortimerKisses_Autoattack : public CDOTA_Buff { public: - float fire_rate; // 0x11e8 - int32_t radius; // 0x11ec + float fire_rate; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Snapfire_MortimerKisses_Incoming_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 + int32_t damage_reduction; // 0x12b8 }; // Alignment: 15 -// Size: 0x658 +// Size: 0x668 class CDOTA_Ability_Aghsfort_Tusk_Snowball_Dummy : public CDOTABaseAbility { public: - int32_t snowball_radius; // 0x558 - int32_t snowball_grow_rate; // 0x55c - int32_t snowball_damage; // 0x560 - int32_t snowball_damage_bonus; // 0x564 - float stun_duration; // 0x568 - int32_t bonus_damage; // 0x56c - float bonus_stun; // 0x570 - int32_t snowball_speed; // 0x574 - float snowball_duration; // 0x578 - bool m_bIsExpired; // 0x57c + int32_t snowball_radius; // 0x568 + int32_t snowball_grow_rate; // 0x56c + int32_t snowball_damage; // 0x570 + int32_t snowball_damage_bonus; // 0x574 + float stun_duration; // 0x578 + int32_t bonus_damage; // 0x57c + float bonus_stun; // 0x580 + int32_t snowball_speed; // 0x584 + float snowball_duration; // 0x588 + bool m_bIsExpired; // 0x58c private: - [[maybe_unused]] uint8_t __pad057d[0x3]; // 0x57d + [[maybe_unused]] uint8_t __pad058d[0x3]; // 0x58d public: - Vector m_vProjectileLocation; // 0x580 + Vector m_vProjectileLocation; // 0x590 private: - [[maybe_unused]] uint8_t __pad058c[0x4]; // 0x58c + [[maybe_unused]] uint8_t __pad059c[0x4]; // 0x59c public: - CountdownTimer ctSnowball; // 0x590 - CUtlVector< CHandle< CBaseEntity > > m_hSnowballedUnits; // 0x5a8 - ParticleIndex_t m_nFXIndex; // 0x5c0 - CHandle< CBaseEntity > m_hPrimaryTarget; // 0x5c4 + CountdownTimer ctSnowball; // 0x5a0 + CUtlVector< CHandle< CBaseEntity > > m_hSnowballedUnits; // 0x5b8 + ParticleIndex_t m_nFXIndex; // 0x5d0 + CHandle< CBaseEntity > m_hPrimaryTarget; // 0x5d4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Tusk_IceShards_Stop : public CDOTABaseAbility { public: @@ -35438,78 +35997,78 @@ public: }; // Alignment: 12 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Aghsfort_Tusk_IceShards : public CDOTABaseAbility { public: - int32_t m_iProjectile; // 0x558 - int32_t shard_width; // 0x55c - int32_t shard_damage; // 0x560 - int32_t shard_count; // 0x564 - float shard_speed; // 0x568 - float shard_duration; // 0x56c - float shard_angle_step; // 0x570 - int32_t shard_distance; // 0x574 - int32_t secondary_damage_pct; // 0x578 - Vector m_vSpawnOrigin; // 0x57c - Vector m_vDirection; // 0x588 + int32_t m_iProjectile; // 0x568 + int32_t shard_width; // 0x56c + int32_t shard_damage; // 0x570 + int32_t shard_count; // 0x574 + float shard_speed; // 0x578 + float shard_duration; // 0x57c + float shard_angle_step; // 0x580 + int32_t shard_distance; // 0x584 + int32_t secondary_damage_pct; // 0x588 + Vector m_vSpawnOrigin; // 0x58c + Vector m_vDirection; // 0x598 private: - [[maybe_unused]] uint8_t __pad0594[0xc]; // 0x594 + [[maybe_unused]] uint8_t __pad05a4[0xc]; // 0x5a4 public: - CDOTABaseAbility* m_pIceShardsStop; // 0x5a0 + CDOTABaseAbility* m_pIceShardsStop; // 0x5b0 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Tusk_IceShard : public CDOTA_Buff { public: - Vector m_vPos; // 0x11e8 - int32_t radius; // 0x11f4 - float damage; // 0x11f8 - float explosion_interval; // 0x11fc + Vector m_vPos; // 0x12b8 + int32_t radius; // 0x12c4 + float damage; // 0x12c8 + float explosion_interval; // 0x12cc }; // Alignment: 20 -// Size: 0x678 +// Size: 0x688 class CDOTA_Ability_Aghsfort_Tusk_Snowball : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - int32_t snowball_windup_radius; // 0x568 - int32_t snowball_radius; // 0x56c - int32_t snowball_grow_rate; // 0x570 - int32_t snowball_damage; // 0x574 - int32_t snowball_damage_bonus; // 0x578 - float stun_duration; // 0x57c - int32_t bonus_damage; // 0x580 - float bonus_stun; // 0x584 - int32_t snowball_speed; // 0x588 - float snowball_duration; // 0x58c - Vector m_vProjectileLocation; // 0x590 + int32_t snowball_windup_radius; // 0x578 + int32_t snowball_radius; // 0x57c + int32_t snowball_grow_rate; // 0x580 + int32_t snowball_damage; // 0x584 + int32_t snowball_damage_bonus; // 0x588 + float stun_duration; // 0x58c + int32_t bonus_damage; // 0x590 + float bonus_stun; // 0x594 + int32_t snowball_speed; // 0x598 + float snowball_duration; // 0x59c + Vector m_vProjectileLocation; // 0x5a0 private: - [[maybe_unused]] uint8_t __pad059c[0x4]; // 0x59c + [[maybe_unused]] uint8_t __pad05ac[0x4]; // 0x5ac public: - CUtlVector< CHandle< CBaseEntity > > m_hSnowballedUnits; // 0x5a0 - ParticleIndex_t m_nFXIndex; // 0x5b8 + CUtlVector< CHandle< CBaseEntity > > m_hSnowballedUnits; // 0x5b0 + ParticleIndex_t m_nFXIndex; // 0x5c8 private: - [[maybe_unused]] uint8_t __pad05bc[0x4]; // 0x5bc + [[maybe_unused]] uint8_t __pad05cc[0x4]; // 0x5cc public: - CountdownTimer ctSnowball; // 0x5c0 - bool m_bSpeakAlly; // 0x5d8 - bool m_bIsExpired; // 0x5d9 - bool m_bInWindup; // 0x5da + CountdownTimer ctSnowball; // 0x5d0 + bool m_bSpeakAlly; // 0x5e8 + bool m_bIsExpired; // 0x5e9 + bool m_bInWindup; // 0x5ea private: - [[maybe_unused]] uint8_t __pad05db[0x1]; // 0x5db + [[maybe_unused]] uint8_t __pad05eb[0x1]; // 0x5eb public: - CHandle< CBaseEntity > m_hPrimaryTarget; // 0x5dc - int32_t m_nContainedValidUnits; // 0x5e0 - bool m_bEndingSnowball; // 0x5e4 + CHandle< CBaseEntity > m_hPrimaryTarget; // 0x5ec + int32_t m_nContainedValidUnits; // 0x5f0 + bool m_bEndingSnowball; // 0x5f4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Target : public CDOTA_Buff { public: @@ -35517,7 +36076,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Tusk_Launch_Snowball : public CDOTABaseAbility { public: @@ -35525,7 +36084,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Visible : public CDOTA_Buff { public: @@ -35533,7 +36092,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Movement : public CDOTA_Buff { public: @@ -35541,7 +36100,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Movement_Friendly : public CDOTA_Buff { public: @@ -35549,7 +36108,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Tusk_WalrusPunch : public CDOTABaseAbility { public: @@ -35557,57 +36116,57 @@ public: }; // Alignment: 10 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch : public CDOTA_Buff { public: - int32_t crit_multiplier; // 0x11e8 - float air_time; // 0x11ec - float slow_duration; // 0x11f0 + int32_t crit_multiplier; // 0x12b8 + float air_time; // 0x12bc + float slow_duration; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11f8 - CHandle< CBaseEntity > m_hTarget; // 0x1200 - bool m_bWalrusPunch; // 0x1204 - bool m_bPunchKill; // 0x1205 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12d0 + bool m_bWalrusPunch; // 0x12d4 + bool m_bPunchKill; // 0x12d5 private: - [[maybe_unused]] uint8_t __pad1206[0x2]; // 0x1206 + [[maybe_unused]] uint8_t __pad12d6[0x2]; // 0x12d6 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 - ParticleIndex_t m_nFXIndex; // 0x1220 - int32_t m_nAttackRecord; // 0x1224 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12f0 + int32_t m_nAttackRecord; // 0x12f4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 12 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x11e8 - float m_flStartZ; // 0x11ec - float m_flCurTime; // 0x11f0 - float m_flOldPitch; // 0x11f4 - QAngle m_qRotation; // 0x11f8 - int32_t m_nRotations; // 0x1204 - Vector m_vDirection; // 0x1208 - float flAirTime; // 0x1214 - float m_flEndTime; // 0x1218 - float m_fHorizontalDistance; // 0x121c - float m_fVerticalDistance; // 0x1220 - float m_fDamage; // 0x1224 + int32_t hp_threshold; // 0x12b8 + float m_flStartZ; // 0x12bc + float m_flCurTime; // 0x12c0 + float m_flOldPitch; // 0x12c4 + QAngle m_qRotation; // 0x12c8 + int32_t m_nRotations; // 0x12d4 + Vector m_vDirection; // 0x12d8 + float flAirTime; // 0x12e4 + float m_flEndTime; // 0x12e8 + float m_fHorizontalDistance; // 0x12ec + float m_fVerticalDistance; // 0x12f0 + float m_fDamage; // 0x12f4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Tusk_Tag_Team : public CDOTABaseAbility { public: @@ -35615,32 +36174,32 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - float slow_duration; // 0x11ec + int32_t bonus_damage; // 0x12b8 + float slow_duration; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Circle : public CDOTABaseAbility { public: @@ -35648,7 +36207,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Explode : public CDOTABaseAbility { public: @@ -35656,7 +36215,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Stun : public CDOTABaseAbility { public: @@ -35664,7 +36223,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Snowball : public CDOTABaseAbility { public: @@ -35672,7 +36231,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Secondary : public CDOTABaseAbility { public: @@ -35680,7 +36239,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Tusk_Snowball_Heal : public CDOTABaseAbility { public: @@ -35688,15 +36247,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_SpellLifesteal : public CDOTA_Buff { public: - float spell_lifesteal_pct; // 0x11e8 + float spell_lifesteal_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Tusk_Snowball_End_Damage : public CDOTABaseAbility { public: @@ -35704,7 +36263,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Tusk_Snowball_Global : public CDOTABaseAbility { public: @@ -35712,7 +36271,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Tusk_TagTeam_Lifesteal : public CDOTABaseAbility { public: @@ -35720,7 +36279,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Tusk_TagTeam_Toggle : public CDOTABaseAbility { public: @@ -35728,7 +36287,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Tusk_TagTeam_DeathCooldown : public CDOTABaseAbility { public: @@ -35736,7 +36295,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Tusk_TagTeam_Global : public CDOTABaseAbility { public: @@ -35744,7 +36303,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Tusk_Walrus_Punch_Reset : public CDOTABaseAbility { public: @@ -35752,7 +36311,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Tusk_Walrus_Punch_Land_Damage : public CDOTABaseAbility { public: @@ -35760,7 +36319,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Tusk_Walrus_Punch_Wallop : public CDOTABaseAbility { public: @@ -35768,7 +36327,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_Tusk_Ice_Shards_Explode_Dummy : public CDOTA_Buff { public: @@ -35776,7 +36335,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Ursa_Overpower : public CDOTABaseAbility { public: @@ -35784,7 +36343,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Ursa_Fury_Swipes : public CDOTABaseAbility { public: @@ -35792,28 +36351,28 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ursa_Fury_Swipes : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x11e8 - float bonus_reset_time; // 0x11ec - float bonus_reset_time_roshan; // 0x11f0 - int32_t max_swipe_stack; // 0x11f4 + int32_t damage_per_stack; // 0x12b8 + float bonus_reset_time; // 0x12bc + float bonus_reset_time_roshan; // 0x12c0 + int32_t max_swipe_stack; // 0x12c4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ursa_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x11e8 - int32_t m_nArmorReductionPerStack; // 0x11ec - int32_t m_nLifestealPerStack; // 0x11f0 + int32_t damage_per_stack; // 0x12b8 + int32_t m_nArmorReductionPerStack; // 0x12bc + int32_t m_nLifestealPerStack; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Ursa_Earthshock : public CDOTABaseAbility { public: @@ -35821,57 +36380,57 @@ public: }; // Alignment: 9 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_Move : public CDOTA_Buff { public: - float hop_duration; // 0x11e8 - int32_t hop_height; // 0x11ec - int32_t hop_distance; // 0x11f0 - int32_t impact_damage; // 0x11f4 - float m_flStartZ; // 0x11f8 - float m_flCurTime; // 0x11fc - float m_flJumpDuration; // 0x1200 - float m_flJumpHeight; // 0x1204 - Vector m_vTargetHorizontalDirection; // 0x1208 + float hop_duration; // 0x12b8 + int32_t hop_height; // 0x12bc + int32_t hop_distance; // 0x12c0 + int32_t impact_damage; // 0x12c4 + float m_flStartZ; // 0x12c8 + float m_flCurTime; // 0x12cc + float m_flJumpDuration; // 0x12d0 + float m_flJumpHeight; // 0x12d4 + Vector m_vTargetHorizontalDirection; // 0x12d8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ursa_Overpower : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x11e8 - int32_t m_nEarthshockAttacks; // 0x11ec - int32_t m_nOverpowerCritMultiplier; // 0x11f0 + int32_t attack_speed_bonus_pct; // 0x12b8 + int32_t m_nEarthshockAttacks; // 0x12bc + int32_t m_nOverpowerCritMultiplier; // 0x12c0 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Ursa_Earthshock : public CDOTA_Buff { public: - int32_t m_nMissChance; // 0x11e8 - bool m_bAddOverpower; // 0x11ec + int32_t m_nMissChance; // 0x12b8 + bool m_bAddOverpower; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - float m_flOverpowerDuration; // 0x11f0 - int32_t m_nNumOverpowerAttacks; // 0x11f4 - int32_t movement_slow; // 0x11f8 + float m_flOverpowerDuration; // 0x12c0 + int32_t m_nNumOverpowerAttacks; // 0x12c4 + int32_t movement_slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_DeepInvis : public CDOTA_Modifier_Invisible { public: - CHandle< CBaseEntity > m_hVisibleEntity; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc + CHandle< CBaseEntity > m_hVisibleEntity; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_DeepInvis_Visual : public CDOTA_Buff { public: @@ -35879,40 +36438,40 @@ public: }; // Alignment: 1 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_Special_Ursa_Earthshock_Knockback : public CDOTA_Modifier_Knockback { public: - float value3; // 0x1218 + float value3; // 0x12e8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Ursa_Overpower_Evasion : public CDOTA_Buff { public: - int32_t value2; // 0x11e8 + int32_t value2; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Ursa_Overpower_Taunt : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hZombieTarget; // 0x11e8 - bool m_bDidSetAttackTarget; // 0x11ec + CHandle< CBaseEntity > m_hZombieTarget; // 0x12b8 + bool m_bDidSetAttackTarget; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Ursa_Overpower_Taunt_Armor : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Ursa_Enrage : public CDOTABaseAbility { public: @@ -35920,48 +36479,48 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Ursa_Enrage : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 - int32_t status_resistance; // 0x11ec + int32_t damage_reduction; // 0x12b8 + int32_t status_resistance; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Ursa_Enrage_Magic_Immunity : public CDOTA_Modifier_MagicImmune { public: - int32_t m_nModelScale; // 0x11e8 + int32_t m_nModelScale; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ursa_Enrage_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x11e8 + Vector m_vOriginal; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Ursa_Enrage_Armor : public CDOTA_Buff { public: - int32_t value2; // 0x11e8 + int32_t value2; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Ursa_Enrage_AttackSpeed : public CDOTA_Buff { public: - int32_t value2; // 0x11e8 + int32_t value2; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_Invis : public CDOTABaseAbility { public: @@ -35969,7 +36528,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_ApplyFurySwipes : public CDOTABaseAbility { public: @@ -35977,7 +36536,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_OverpowerStack : public CDOTABaseAbility { public: @@ -35985,7 +36544,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_Knockback : public CDOTABaseAbility { public: @@ -35993,7 +36552,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_MissChance : public CDOTABaseAbility { public: @@ -36001,7 +36560,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Ursa_Overpower_Crit : public CDOTABaseAbility { public: @@ -36009,7 +36568,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Ursa_Overpower_Evasion : public CDOTABaseAbility { public: @@ -36017,7 +36576,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Ursa_Overpower_Taunt : public CDOTABaseAbility { public: @@ -36025,7 +36584,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Ursa_Overpower_Cleave : public CDOTABaseAbility { public: @@ -36033,7 +36592,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Ursa_FurySwipes_ArmorReduction : public CDOTABaseAbility { public: @@ -36041,7 +36600,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Ursa_FurySwipes_Lifesteal : public CDOTABaseAbility { public: @@ -36049,7 +36608,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Ursa_FurySwipes_UrsaMinor : public CDOTABaseAbility { public: @@ -36057,7 +36616,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Magic_Immunity : public CDOTABaseAbility { public: @@ -36065,7 +36624,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Allies : public CDOTABaseAbility { public: @@ -36073,7 +36632,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Fear : public CDOTABaseAbility { public: @@ -36081,7 +36640,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Armor : public CDOTABaseAbility { public: @@ -36089,7 +36648,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Ursa_Enrage_AttackSpeed : public CDOTABaseAbility { public: @@ -36097,7 +36656,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Earthshock : public CDOTABaseAbility { public: @@ -36105,38 +36664,38 @@ public: }; // Alignment: 9 -// Size: 0x5d0 +// Size: 0x5e0 class CDOTA_Ability_Aghsfort_Mars_Spear : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x558 - CUtlVector< int32 > m_vecProjectileHandles; // 0x570 + CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x568 + CUtlVector< int32 > m_vecProjectileHandles; // 0x580 private: - [[maybe_unused]] uint8_t __pad0588[0x8]; // 0x588 + [[maybe_unused]] uint8_t __pad0598[0x8]; // 0x598 public: - int32_t damage; // 0x590 + int32_t damage; // 0x5a0 private: - [[maybe_unused]] uint8_t __pad0594[0x4]; // 0x594 + [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 public: - CUtlVector< CHandle< CBaseEntity > > hImpaledTargetList; // 0x598 - int32_t m_nTargetsImpaled; // 0x5b0 - int32_t m_nMaxImpaleTargets; // 0x5b4 - int32_t m_nBurningTrailRadius; // 0x5b8 - Vector m_vLastTrailThinkerLocation; // 0x5bc - bool bHasStartedBurning; // 0x5c8 + CUtlVector< CHandle< CBaseEntity > > hImpaledTargetList; // 0x5a8 + int32_t m_nTargetsImpaled; // 0x5c0 + int32_t m_nMaxImpaleTargets; // 0x5c4 + int32_t m_nBurningTrailRadius; // 0x5c8 + Vector m_vLastTrailThinkerLocation; // 0x5cc + bool bHasStartedBurning; // 0x5d8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Mars_Spear_Impale : public CDOTA_Buff { public: - int32_t m_nProjectileHandle; // 0x11e8 - bool m_bLatched; // 0x11ec + int32_t m_nProjectileHandle; // 0x12b8 + bool m_bLatched; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Mars_Spear_Stun : public CDOTA_Modifier_Stunned { public: @@ -36144,7 +36703,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Mars_ArenaOfBlood : public CDOTABaseAbility { public: @@ -36152,31 +36711,31 @@ public: }; // Alignment: 6 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Thinker : public CDOTA_Buff { public: - float radius; // 0x11e8 - float formation_time; // 0x11ec - float m_flInitialZ; // 0x11f0 - float m_flFinalZ; // 0x11f4 + float radius; // 0x12b8 + float formation_time; // 0x12bc + float m_flInitialZ; // 0x12c0 + float m_flFinalZ; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f8[0x10]; // 0x11f8 + [[maybe_unused]] uint8_t __pad12c8[0x10]; // 0x12c8 public: - bool m_bCaughtOne; // 0x1208 - bool m_bKilledOne; // 0x1209 + bool m_bCaughtOne; // 0x12d8 + bool m_bKilledOne; // 0x12d9 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_AnimationAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Animation : public CDOTA_Buff { public: @@ -36184,45 +36743,45 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_BuffAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Buff : public CDOTA_Buff { public: - int32_t health_regen; // 0x11e8 - int32_t attack_speed; // 0x11ec - int32_t bonus_damage; // 0x11f0 + int32_t health_regen; // 0x12b8 + int32_t attack_speed; // 0x12bc + int32_t bonus_damage; // 0x12c0 }; // Alignment: 7 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t width; // 0x11ec - int32_t spear_damage; // 0x11f0 - int32_t spear_distance_from_wall; // 0x11f4 - float spear_attack_interval; // 0x11f8 + int32_t radius; // 0x12b8 + int32_t width; // 0x12bc + int32_t spear_damage; // 0x12c0 + int32_t spear_distance_from_wall; // 0x12c4 + float spear_attack_interval; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x34]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x34]; // 0x12cc public: - int32_t m_hObstruction; // 0x1230 + int32_t m_hObstruction; // 0x1300 private: - [[maybe_unused]] uint8_t __pad1234[0x4]; // 0x1234 + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 public: - CUtlVector< Vector > m_vecAvoidLocations; // 0x1238 + CUtlVector< Vector > m_vecAvoidLocations; // 0x1308 }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Spear : public CDOTA_Modifier_Knockback { public: @@ -36230,25 +36789,25 @@ public: }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x11e8 + Vector m_vOriginal; // 0x12b8 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Leash : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float width; // 0x11ec - Vector m_vOriginLoc; // 0x11f0 + int32_t radius; // 0x12b8 + float width; // 0x12bc + Vector m_vOriginLoc; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Marker : public CDOTA_Buff { public: @@ -36256,7 +36815,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Mars_GodsRebuke : public CDOTABaseAbility { public: @@ -36264,31 +36823,31 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Mars_Gods_Rebuke : public CDOTA_Buff { public: - int32_t knockback_slow; // 0x11e8 + int32_t knockback_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Mars_GodsRebuke_Crit : public CDOTA_Buff { public: - int32_t crit_mult; // 0x11e8 + int32_t crit_mult; // 0x12b8 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Aghsfort_Mars_Bulwark : public CDOTABaseAbility { public: - float active_duration; // 0x558 + float active_duration; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Mars_Bulwark_Stop : public CDOTABaseAbility { public: @@ -36296,57 +36855,57 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Mars_Bulwark : public CDOTA_Buff { public: - float physical_damage_reduction; // 0x11e8 - float physical_damage_reduction_side; // 0x11ec - float forward_angle; // 0x11f0 - float side_angle; // 0x11f4 + float physical_damage_reduction; // 0x12b8 + float physical_damage_reduction_side; // 0x12bc + float forward_angle; // 0x12c0 + float side_angle; // 0x12c4 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Mars_Bulwark_Active : public CDOTA_Buff { public: - int32_t redirect_chance; // 0x11e8 - int32_t redirect_range; // 0x11ec - float forward_angle; // 0x11f0 - float side_angle; // 0x11f4 - int32_t redirect_speed_penatly; // 0x11f8 + int32_t redirect_chance; // 0x12b8 + int32_t redirect_range; // 0x12bc + float forward_angle; // 0x12c0 + float side_angle; // 0x12c4 + int32_t redirect_speed_penatly; // 0x12c8 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x11e8 - int32_t path_radius; // 0x11f4 - float linger_duration; // 0x11f8 - float flDamage; // 0x11fc + Vector m_vPathDir; // 0x12b8 + int32_t path_radius; // 0x12c4 + float linger_duration; // 0x12c8 + float flDamage; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x11e8 + float flDamage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Mars_Gods_Rebuke_Strength_Buff : public CDOTA_Buff { public: - int32_t strength_gain; // 0x11e8 + int32_t strength_gain; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Mars_Spear_MultiSkewer : public CDOTABaseAbility { public: @@ -36354,7 +36913,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Mars_Spear_ImpaleExplosion : public CDOTABaseAbility { public: @@ -36362,7 +36921,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Mars_Spear_BurningTrail : public CDOTABaseAbility { public: @@ -36370,7 +36929,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Mars_GodsRebuke_FullCircle : public CDOTABaseAbility { public: @@ -36378,7 +36937,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Mars_GodsRebuke_Stun : public CDOTABaseAbility { public: @@ -36386,7 +36945,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Mars_GodsRebuke_Strength_Buff : public CDOTABaseAbility { public: @@ -36394,7 +36953,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Counter_Rebuke : public CDOTABaseAbility { public: @@ -36402,7 +36961,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Healing : public CDOTABaseAbility { public: @@ -36410,7 +36969,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Return : public CDOTABaseAbility { public: @@ -36418,7 +36977,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Spears : public CDOTABaseAbility { public: @@ -36426,7 +36985,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Soldiers : public CDOTABaseAbility { public: @@ -36434,7 +36993,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Mars_Arena_Of_Blood_Fear : public CDOTABaseAbility { public: @@ -36442,7 +37001,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Mars_Arena_Of_Blood_Global : public CDOTABaseAbility { public: @@ -36450,7 +37009,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Mars_Arena_Of_Blood_Attack_Buff : public CDOTABaseAbility { public: @@ -36458,7 +37017,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Mars_Arena_Of_Blood_Outside_Perimeter : public CDOTABaseAbility { public: @@ -36466,26 +37025,26 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_Mars_Bulwark_Spears : public CDOTA_Buff { public: - int32_t stack_limit; // 0x11e8 - float stack_interval; // 0x11ec - ParticleIndex_t m_nFxIndexB; // 0x11f0 - int32_t iCur_stack; // 0x11f4 + int32_t stack_limit; // 0x12b8 + float stack_interval; // 0x12bc + ParticleIndex_t m_nFxIndexB; // 0x12c0 + int32_t iCur_stack; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Mars_Bulwark_Soldier_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Aghsfort_Weaver_TheSwarm : public CDOTABaseAbility { public: @@ -36493,63 +37052,63 @@ public: }; // Alignment: 6 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Weaver_Swarm : public CDOTA_Buff { public: - int32_t m_iMaxDist; // 0x11e8 - int32_t m_iAttackCount; // 0x11ec - int32_t destroy_attacks; // 0x11f0 - Vector m_vDirection; // 0x11f4 - Vector m_vStartLoc; // 0x1200 - CHandle< CBaseEntity > m_hAttachTarget; // 0x120c + int32_t m_iMaxDist; // 0x12b8 + int32_t m_iAttackCount; // 0x12bc + int32_t destroy_attacks; // 0x12c0 + Vector m_vDirection; // 0x12c4 + Vector m_vStartLoc; // 0x12d0 + CHandle< CBaseEntity > m_hAttachTarget; // 0x12dc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Weaver_Swarm_Debuff : public CDOTA_Buff { public: - float armor_reduction; // 0x11e8 - int32_t damage; // 0x11ec - int32_t damage_share_percentage; // 0x11f0 - float m_flCurrentArmorReduction; // 0x11f4 - float flTotalDamage; // 0x11f8 + float armor_reduction; // 0x12b8 + int32_t damage; // 0x12bc + int32_t damage_share_percentage; // 0x12c0 + float m_flCurrentArmorReduction; // 0x12c4 + float flTotalDamage; // 0x12c8 }; // Alignment: 4 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Aghsfort_Weaver_Shukuchi : public CDOTABaseAbility { public: - float duration; // 0x558 - int32_t radius; // 0x55c - int32_t damage; // 0x560 - float fade_time; // 0x564 + float duration; // 0x568 + int32_t radius; // 0x56c + int32_t damage; // 0x570 + float fade_time; // 0x574 }; // Alignment: 7 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_Weaver_Shukuchi : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x11f8 - int32_t damage; // 0x11fc - int32_t speed; // 0x1200 + int32_t radius; // 0x12c8 + int32_t damage; // 0x12cc + int32_t speed; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x1208 - bool bHasStartedBurning; // 0x1220 + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x12d8 + bool bHasStartedBurning; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad1221[0x3]; // 0x1221 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - int32_t m_nBurningTrailRadius; // 0x1224 - Vector m_vLastTrailThinkerLocation; // 0x1228 + int32_t m_nBurningTrailRadius; // 0x12f4 + Vector m_vLastTrailThinkerLocation; // 0x12f8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Weaver_GeminateAttack : public CDOTABaseAbility { public: @@ -36557,64 +37116,64 @@ public: }; // Alignment: 2 -// Size: 0x1260 +// Size: 0x1330 class CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - int32_t m_iAttacksRemaining; // 0x11ec + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + int32_t m_iAttacksRemaining; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Aghsfort_Weaver_TimeLapse : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - int32_t m_nNPCSpawnedID; // 0x568 + int32_t m_nNPCSpawnedID; // 0x578 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x1398 class CDOTA_Modifier_Aghsfort_Weaver_TimeLapse : public CDOTA_Buff { public: - Vector m_PositionIndex[11]; // 0x11e8 - float m_flLife[11]; // 0x126c - float m_flMana[11]; // 0x1298 - bool m_bHasValidHistory; // 0x12c4 + Vector m_PositionIndex[11]; // 0x12b8 + float m_flLife[11]; // 0x133c + float m_flMana[11]; // 0x1368 + bool m_bHasValidHistory; // 0x1394 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Weaver_Shukuchi_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x11e8 - int32_t path_radius; // 0x11f4 - float linger_duration; // 0x11f8 - float flDamage; // 0x11fc + Vector m_vPathDir; // 0x12b8 + int32_t path_radius; // 0x12c4 + float linger_duration; // 0x12c8 + float flDamage; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Weaver_Shukuchi_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x11e8 + float flDamage; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Weaver_Swarm_Allies : public CDOTABaseAbility { public: @@ -36622,7 +37181,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Weaver_Swarm_Explosion : public CDOTABaseAbility { public: @@ -36630,7 +37189,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Weaver_Swarm_Damage_Transfer : public CDOTABaseAbility { public: @@ -36638,7 +37197,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Weaver_Geminate_Attack_Splitshot : public CDOTABaseAbility { public: @@ -36646,7 +37205,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Weaver_Geminate_Attack_Applies_Swarm : public CDOTABaseAbility { public: @@ -36654,7 +37213,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Weaver_Geminate_Attack_Knockback : public CDOTABaseAbility { public: @@ -36662,7 +37221,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Weaver_Geminate_Attack_Lifesteal : public CDOTABaseAbility { public: @@ -36670,7 +37229,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Pull : public CDOTABaseAbility { public: @@ -36678,7 +37237,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Trail : public CDOTABaseAbility { public: @@ -36686,7 +37245,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Heal : public CDOTABaseAbility { public: @@ -36694,7 +37253,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Attack_On_Completion : public CDOTABaseAbility { public: @@ -36702,7 +37261,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Swarm : public CDOTABaseAbility { public: @@ -36710,7 +37269,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Greater_Invisibility : public CDOTABaseAbility { public: @@ -36718,7 +37277,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Weaver_Time_Lapse_Allies : public CDOTABaseAbility { public: @@ -36726,7 +37285,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Weaver_Time_Lapse_Restoration : public CDOTABaseAbility { public: @@ -36734,7 +37293,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Weaver_Time_Lapse_Explosion : public CDOTABaseAbility { public: @@ -36742,7 +37301,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Viper_PoisonAttackExplode : public CDOTABaseAbility { public: @@ -36750,7 +37309,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Viper_PoisonAttackSpread : public CDOTABaseAbility { public: @@ -36758,7 +37317,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Viper_PoisonSnap : public CDOTABaseAbility { public: @@ -36766,7 +37325,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Viper_PoisonAttack : public CDOTABaseAbility { public: @@ -36774,32 +37333,32 @@ public: }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Viper_PoisonAttack : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Viper_PoisonAttack_Slow : public CDOTA_Buff { public: - float damage; // 0x11e8 - int32_t movement_speed; // 0x11ec - int32_t magic_resistance; // 0x11f0 - float m_flAccumDamage; // 0x11f4 - float m_flPoisonSnapCounter; // 0x11f8 - int32_t m_nPoisonSnapThreshold; // 0x11fc + float damage; // 0x12b8 + int32_t movement_speed; // 0x12bc + int32_t magic_resistance; // 0x12c0 + float m_flAccumDamage; // 0x12c4 + float m_flPoisonSnapCounter; // 0x12c8 + int32_t m_nPoisonSnapThreshold; // 0x12cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Viper_NethertoxinCharges : public CDOTABaseAbility { public: @@ -36807,7 +37366,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Viper_NethertoxinLifesteal : public CDOTABaseAbility { public: @@ -36815,7 +37374,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Viper_Nethertoxin_Persist : public CDOTABaseAbility { public: @@ -36823,7 +37382,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Viper_Nethertoxin : public CDOTABaseAbility { public: @@ -36831,28 +37390,28 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Viper_Nethertoxin_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Viper_Nethertoxin : public CDOTA_Buff { public: - int32_t min_damage; // 0x11e8 - int32_t max_damage; // 0x11ec - float max_duration; // 0x11f0 - float m_flDamageInterval; // 0x11f4 - float m_flTimeIncrement; // 0x11f8 + int32_t min_damage; // 0x12b8 + int32_t max_damage; // 0x12bc + float max_duration; // 0x12c0 + float m_flDamageInterval; // 0x12c4 + float m_flTimeIncrement; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Viper_NethertoxinMute : public CDOTA_Buff { public: @@ -36860,7 +37419,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Viper_CorrosiveSkinFlying : public CDOTABaseAbility { public: @@ -36868,7 +37427,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Viper_CorrosiveSkinSpeedSteal : public CDOTABaseAbility { public: @@ -36876,7 +37435,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Viper_CorrosiveSkin_Aura : public CDOTABaseAbility { public: @@ -36884,16 +37443,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Flying : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x11e8 - float duration; // 0x11ec + int32_t m_nRadius; // 0x12b8 + float duration; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Viper_CorrosiveSkin : public CDOTABaseAbility { public: @@ -36901,7 +37460,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Aura : public CDOTA_Buff { public: @@ -36909,33 +37468,33 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin : public CDOTA_Buff { public: - int32_t bonus_magic_resistance; // 0x11e8 + int32_t bonus_magic_resistance; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Speed_Steal : public CDOTA_Buff { public: - float m_flFactor; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec + float m_flFactor; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Slow : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t damage; // 0x11ec + int32_t bonus_attack_speed; // 0x12b8 + int32_t damage; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Viper_ViperStrikeAllies : public CDOTABaseAbility { public: @@ -36943,7 +37502,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Viper_ChainViperStrike : public CDOTABaseAbility { public: @@ -36951,7 +37510,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Viper_ChanneledViperStrike : public CDOTABaseAbility { public: @@ -36959,7 +37518,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Viper_PeriodicViperStrike : public CDOTABaseAbility { public: @@ -36967,42 +37526,42 @@ public: }; // Alignment: 3 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Aghsfort_Viper_Aghsfort_ViperStrike : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 - int32_t m_nTargetTeam; // 0x55c - float m_flNextViperStrikeTime; // 0x560 + ParticleIndex_t m_nFXIndex; // 0x568 + int32_t m_nTargetTeam; // 0x56c + float m_flNextViperStrikeTime; // 0x570 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Viper_ViperStrike_Slow : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t damage; // 0x11f0 - bool m_bTargetedAlly; // 0x11f4 + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t damage; // 0x12c0 + bool m_bTargetedAlly; // 0x12c4 }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Special_Viper_Periodic_Strike : public CDOTA_Buff { public: - float fire_rate; // 0x11e8 - int32_t radius; // 0x11ec - int32_t m_nTargetTeam; // 0x11f0 + float fire_rate; // 0x12b8 + int32_t radius; // 0x12bc + int32_t m_nTargetTeam; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< CHandle< CBaseEntity > > m_hAlreadyHit; // 0x11f8 + CUtlVector< CHandle< CBaseEntity > > m_hAlreadyHit; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_VoidSpiritBoss_Passive : public CDOTABaseAbility { public: @@ -37010,7 +37569,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Passive : public CDOTA_Buff { public: @@ -37018,92 +37577,92 @@ public: }; // Alignment: 8 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_AghsFort_VoidSpiritBoss_AetherRemnant : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXPreview; // 0x558 + ParticleIndex_t m_nFXPreview; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0x8]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0x8]; // 0x56c public: - Vector m_vDashPosition; // 0x564 - Vector m_vFacePosition; // 0x570 - Vector m_vEndpoint; // 0x57c - int32_t start_radius; // 0x588 - int32_t end_radius; // 0x58c - int32_t remnant_watch_distance; // 0x590 - int32_t projectile_speed; // 0x594 + Vector m_vDashPosition; // 0x574 + Vector m_vFacePosition; // 0x580 + Vector m_vEndpoint; // 0x58c + int32_t start_radius; // 0x598 + int32_t end_radius; // 0x59c + int32_t remnant_watch_distance; // 0x5a0 + int32_t projectile_speed; // 0x5a4 }; // Alignment: 11 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_Unit : public CDOTA_Buff { public: - Vector m_vFacingDir; // 0x11e8 + Vector m_vFacingDir; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< CHandle< CBaseEntity > > m_hWatchPathThinkers; // 0x11f8 - ParticleIndex_t m_nBeamFXIndex; // 0x1210 + CUtlVector< CHandle< CBaseEntity > > m_hWatchPathThinkers; // 0x12c8 + ParticleIndex_t m_nBeamFXIndex; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< int32 > m_nViewerIDs; // 0x1218 - int32_t remnant_watch_distance; // 0x1230 - int32_t remnant_watch_radius; // 0x1234 - float duration; // 0x1238 - int32_t watch_path_vision_radius; // 0x123c - int32_t impact_damage; // 0x1240 - float pull_duration; // 0x1244 - float activation_delay; // 0x1248 + CUtlVector< int32 > m_nViewerIDs; // 0x12e8 + int32_t remnant_watch_distance; // 0x1300 + int32_t remnant_watch_radius; // 0x1304 + float duration; // 0x1308 + int32_t watch_path_vision_radius; // 0x130c + int32_t impact_damage; // 0x1310 + float pull_duration; // 0x1314 + float activation_delay; // 0x1318 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_WatchThinker : public CDOTA_Buff { public: - int32_t remnant_watch_radius; // 0x11e8 + int32_t remnant_watch_radius; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_Pull : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - PlayerID_t m_nPlayerID; // 0x11ec - float m_fMovementSpeed; // 0x11f0 - CHandle< CDOTA_BaseNPC > m_hPullTarget; // 0x11f4 - float think_interval; // 0x11f8 + ParticleIndex_t m_nFXIndex; // 0x12b8 + PlayerID_t m_nPlayerID; // 0x12bc + float m_fMovementSpeed; // 0x12c0 + CHandle< CDOTA_BaseNPC > m_hPullTarget; // 0x12c4 + float think_interval; // 0x12c8 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnantThinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - Vector m_vFacingDir; // 0x11ec - CHandle< CBaseEntity > m_hRemnant; // 0x11f8 - bool m_bTriggered; // 0x11fc + int32_t radius; // 0x12b8 + Vector m_vFacingDir; // 0x12bc + CHandle< CBaseEntity > m_hRemnant; // 0x12c8 + bool m_bTriggered; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float m_flCurThink; // 0x1200 + float m_flCurThink; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x11e8 + int32_t m_nRadius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -37111,83 +37670,83 @@ public: }; // Alignment: 10 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_AghsFort_VoidSpiritBoss_AstralStep : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXPreview; // 0x558 - ParticleIndex_t m_nFXDestinationPreview; // 0x55c - Vector m_vStartPos; // 0x560 - Vector m_vDestination; // 0x56c - Vector m_vDirection; // 0x578 - int32_t radius; // 0x584 - int32_t min_travel_distance; // 0x588 - int32_t max_travel_distance; // 0x58c - float debuff_duration; // 0x590 - float pop_damage_delay; // 0x594 + ParticleIndex_t m_nFXPreview; // 0x568 + ParticleIndex_t m_nFXDestinationPreview; // 0x56c + Vector m_vStartPos; // 0x570 + Vector m_vDestination; // 0x57c + Vector m_vDirection; // 0x588 + int32_t radius; // 0x594 + int32_t min_travel_distance; // 0x598 + int32_t max_travel_distance; // 0x59c + float debuff_duration; // 0x5a0 + float pop_damage_delay; // 0x5a4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x11e8 - int32_t movement_slow_pct; // 0x11ec - int32_t pop_damage; // 0x11f0 + ParticleIndex_t m_nFXStackIndex; // 0x12b8 + int32_t movement_slow_pct; // 0x12bc + int32_t pop_damage; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Caster : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_VoidSpiritBoss_Dissimilate : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXPreview; // 0x558 - float phase_duration; // 0x55c + ParticleIndex_t m_nFXPreview; // 0x568 + float phase_duration; // 0x56c }; // Alignment: 19 -// Size: 0x1288 +// Size: 0x1358 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Phase : public CDOTA_Buff { public: - Vector m_vFirstPortalPos; // 0x11e8 + Vector m_vFirstPortalPos; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< Vector > m_vecDestinations; // 0x11f8 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x1210 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1228 - int32_t m_nCurrentDestinationIndex; // 0x1240 - int32_t m_nClosestIndexPosToClick; // 0x1244 - int32_t m_nPortalHeightOffset; // 0x1248 + CUtlVector< Vector > m_vecDestinations; // 0x12c8 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x12e0 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x12f8 + int32_t m_nCurrentDestinationIndex; // 0x1310 + int32_t m_nClosestIndexPosToClick; // 0x1314 + int32_t m_nPortalHeightOffset; // 0x1318 private: - [[maybe_unused]] uint8_t __pad124c[0x4]; // 0x124c + [[maybe_unused]] uint8_t __pad131c[0x4]; // 0x131c public: - char* m_szAlliesPortalFX; // 0x1250 - char* m_szEnemiesPortalFX; // 0x1258 - int32_t m_nPortalRadius; // 0x1260 - int32_t m_nPortalPadding; // 0x1264 - int32_t m_nFinalImpactDamageRadius; // 0x1268 - int32_t m_nFinalImpactFXRadius; // 0x126c - int32_t destination_fx_radius; // 0x1270 - int32_t damage_radius; // 0x1274 - int32_t portals_per_ring; // 0x1278 - int32_t angle_per_ring_portal; // 0x127c - int32_t first_ring_distance_offset; // 0x1280 - float debuff_duration; // 0x1284 + char* m_szAlliesPortalFX; // 0x1320 + char* m_szEnemiesPortalFX; // 0x1328 + int32_t m_nPortalRadius; // 0x1330 + int32_t m_nPortalPadding; // 0x1334 + int32_t m_nFinalImpactDamageRadius; // 0x1338 + int32_t m_nFinalImpactFXRadius; // 0x133c + int32_t destination_fx_radius; // 0x1340 + int32_t damage_radius; // 0x1344 + int32_t portals_per_ring; // 0x1348 + int32_t angle_per_ring_portal; // 0x134c + int32_t first_ring_distance_offset; // 0x1350 + float debuff_duration; // 0x1354 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: @@ -37195,46 +37754,46 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: - int32_t base_absorb_amount; // 0x11e8 - int32_t m_nAbsorbRemaining; // 0x11ec + int32_t base_absorb_amount; // 0x12b8 + int32_t m_nAbsorbRemaining; // 0x12bc }; // Alignment: 5 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_AghsFort_VoidSpiritBoss_ResonantPulse : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXPreview; // 0x558 - bool m_bGrantedScepterCharges; // 0x55c + ParticleIndex_t m_nFXPreview; // 0x568 + bool m_bGrantedScepterCharges; // 0x56c private: - [[maybe_unused]] uint8_t __pad055d[0x3]; // 0x55d + [[maybe_unused]] uint8_t __pad056d[0x3]; // 0x56d public: - float buff_duration; // 0x560 - int32_t base_absorb_amount; // 0x564 - int32_t absorb_per_hero_hit; // 0x568 + float buff_duration; // 0x570 + int32_t base_absorb_amount; // 0x574 + int32_t absorb_per_hero_hit; // 0x578 }; // Alignment: 8 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_Ring : public CDOTA_Buff { public: - float m_fLastRadius; // 0x11e8 - float m_fCurRadius; // 0x11ec - GameTime_t m_fLastThink; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x11f8 - int32_t speed; // 0x1210 - int32_t radius; // 0x1214 - int32_t damage; // 0x1218 + float m_fLastRadius; // 0x12b8 + float m_fCurRadius; // 0x12bc + GameTime_t m_fLastThink; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12c8 + int32_t speed; // 0x12e0 + int32_t radius; // 0x12e4 + int32_t damage; // 0x12e8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Sniper_Shrapnel : public CDOTABaseAbility { public: @@ -37242,19 +37801,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float duration; // 0x11ec - float damage_delay; // 0x11f0 - int32_t m_nShrapnelPct; // 0x11f4 - bool m_bExploded; // 0x11f8 + int32_t radius; // 0x12b8 + float duration; // 0x12bc + float damage_delay; // 0x12c0 + int32_t m_nShrapnelPct; // 0x12c4 + bool m_bExploded; // 0x12c8 }; // Alignment: 0 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Thinker : public CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Thinker { public: @@ -37262,18 +37821,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Slow : public CDOTA_Buff { public: - float m_fAccumulatedDamage; // 0x11e8 - int32_t shrapnel_damage; // 0x11ec - int32_t slow_movement_speed; // 0x11f0 - int32_t miss_chance; // 0x11f4 + float m_fAccumulatedDamage; // 0x12b8 + int32_t shrapnel_damage; // 0x12bc + int32_t slow_movement_speed; // 0x12c0 + int32_t miss_chance; // 0x12c4 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Slow : public CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Slow { public: @@ -37281,17 +37840,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed : public CDOTA_Buff { public: - int32_t value; // 0x11e8 - float value2; // 0x11ec - int32_t m_nAttackSpeedBonus; // 0x11f0 + int32_t value; // 0x12b8 + float value2; // 0x12bc + int32_t m_nAttackSpeedBonus; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed_Decrementer : public CDOTA_Buff { public: @@ -37299,7 +37858,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Sniper_Headshot : public CDOTABaseAbility { public: @@ -37307,25 +37866,25 @@ public: }; // Alignment: 8 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_AghsFort_Sniper_Headshot : public CDOTA_Buff { public: - int32_t proc_chance; // 0x11e8 - float slow_duration; // 0x11ec - int32_t damage; // 0x11f0 - int32_t knockback_distance; // 0x11f4 - GameTime_t m_fLastStunProcTime; // 0x11f8 + int32_t proc_chance; // 0x12b8 + float slow_duration; // 0x12bc + int32_t damage; // 0x12c0 + int32_t knockback_distance; // 0x12c4 + GameTime_t m_fLastStunProcTime; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_vHeadshotRecords; // 0x1200 - CUtlVector< int16 > m_vHeadshotAssassinateRecords; // 0x1218 - int32_t m_nCritPct; // 0x1230 + CUtlVector< int16 > m_vHeadshotRecords; // 0x12d0 + CUtlVector< int16 > m_vHeadshotAssassinateRecords; // 0x12e8 + int32_t m_nCritPct; // 0x1300 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Sniper_Shotgun : public CDOTA_Buff { public: @@ -37333,16 +37892,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Sniper_Headshot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t slow_vs_considered_hero; // 0x11ec + int32_t slow; // 0x12b8 + int32_t slow_vs_considered_hero; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Sniper_TakeAim : public CDOTABaseAbility { public: @@ -37350,48 +37909,48 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Sniper_TakeAim : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x11e8 - int32_t active_attack_range_multiplier; // 0x11ec + int32_t bonus_attack_range; // 0x12b8 + int32_t active_attack_range_multiplier; // 0x12bc }; // Alignment: 5 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_Bonus : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t m_nAttackSpeedPerAttack; // 0x11ec - int32_t m_nShrapnelPct; // 0x11f0 - bool m_bNoCollision; // 0x11f4 + int32_t slow; // 0x12b8 + int32_t m_nAttackSpeedPerAttack; // 0x12bc + int32_t m_nShrapnelPct; // 0x12c0 + bool m_bNoCollision; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - CUtlVector< CHandle< CBaseEntity > > m_vecArtilleryEnemies; // 0x11f8 + CUtlVector< CHandle< CBaseEntity > > m_vecArtilleryEnemies; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_ArmorReduction : public CDOTA_Buff { public: - int32_t value2; // 0x11e8 + int32_t value2; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_RapidFire : public CDOTA_Buff { public: - int32_t value2; // 0x11e8 - int32_t value3; // 0x11ec + int32_t value2; // 0x12b8 + int32_t value3; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_AOE_Marked : public CDOTA_Buff { public: @@ -37399,49 +37958,49 @@ public: }; // Alignment: 11 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_HopBackwards : public CDOTA_Buff { public: - Vector m_vLoc; // 0x11e8 - float m_flPredictedTotalTime; // 0x11f4 - Vector m_vStartPosition; // 0x11f8 - float m_flCurrentTimeHoriz; // 0x1204 - float m_flCurrentTimeVert; // 0x1208 - bool m_bHorizontalMotionInterrupted; // 0x120c - bool m_bDamageApplied; // 0x120d - bool m_bTargetTeleported; // 0x120e + Vector m_vLoc; // 0x12b8 + float m_flPredictedTotalTime; // 0x12c4 + Vector m_vStartPosition; // 0x12c8 + float m_flCurrentTimeHoriz; // 0x12d4 + float m_flCurrentTimeVert; // 0x12d8 + bool m_bHorizontalMotionInterrupted; // 0x12dc + bool m_bDamageApplied; // 0x12dd + bool m_bTargetTeleported; // 0x12de private: - [[maybe_unused]] uint8_t __pad120f[0x1]; // 0x120f + [[maybe_unused]] uint8_t __pad12df[0x1]; // 0x12df public: - Vector m_vHorizontalVelocity; // 0x1210 - Vector m_vLastKnownTargetPosition; // 0x121c - float m_flInitialVelocityZ; // 0x1228 + Vector m_vHorizontalVelocity; // 0x12e0 + Vector m_vLastKnownTargetPosition; // 0x12ec + float m_flInitialVelocityZ; // 0x12f8 }; // Alignment: 9 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_AghsFort_Sniper_Assassinate : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x8]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x8]; // 0x568 public: - CHandle< CBaseEntity > m_hTarget; // 0x560 - ParticleIndex_t m_iIndex; // 0x564 - bool m_bHasBuckshotAbility; // 0x568 - bool m_bInBuckshot; // 0x569 + CHandle< CBaseEntity > m_hTarget; // 0x570 + ParticleIndex_t m_iIndex; // 0x574 + bool m_bHasBuckshotAbility; // 0x578 + bool m_bInBuckshot; // 0x579 private: - [[maybe_unused]] uint8_t __pad056a[0x2]; // 0x56a + [[maybe_unused]] uint8_t __pad057a[0x2]; // 0x57a public: - int32_t m_nScatterRange; // 0x56c - int32_t m_nScatterWidth; // 0x570 - int32_t m_nBuckshotDamagePct; // 0x574 - int32_t m_nDamageType; // 0x578 - int32_t damage; // 0x57c + int32_t m_nScatterRange; // 0x57c + int32_t m_nScatterWidth; // 0x580 + int32_t m_nBuckshotDamagePct; // 0x584 + int32_t m_nDamageType; // 0x588 + int32_t damage; // 0x58c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Sniper_Assassinate : public CDOTA_Buff { public: @@ -37449,7 +38008,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Special_Sniper_Assassinate_Killshot : public CDOTA_Buff { public: @@ -37457,7 +38016,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Sniper_Shrapnel_Bombs : public CDOTABaseAbility { public: @@ -37465,7 +38024,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Sniper_Shrapnel_AttackSpeed : public CDOTABaseAbility { public: @@ -37473,7 +38032,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Sniper_Shrapnel_MissChance : public CDOTABaseAbility { public: @@ -37481,7 +38040,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Sniper_Shrapnel_MoveSpeed : public CDOTABaseAbility { public: @@ -37489,7 +38048,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Sniper_Headshot_Crits : public CDOTABaseAbility { public: @@ -37497,7 +38056,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Sniper_Headshot_Stuns : public CDOTABaseAbility { public: @@ -37505,7 +38064,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_SelfPurge : public CDOTABaseAbility { public: @@ -37513,7 +38072,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_Shrapnel : public CDOTABaseAbility { public: @@ -37521,7 +38080,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_AOE : public CDOTABaseAbility { public: @@ -37529,7 +38088,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_HopBackwards : public CDOTABaseAbility { public: @@ -37537,7 +38096,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_ArmorReduction : public CDOTABaseAbility { public: @@ -37545,7 +38104,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_RapidFire : public CDOTABaseAbility { public: @@ -37553,7 +38112,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Sniper_Assassinate_Buckshot : public CDOTABaseAbility { public: @@ -37561,7 +38120,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Sniper_Assassinate_OriginalScepter : public CDOTABaseAbility { public: @@ -37569,7 +38128,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Sniper_Assassinate_Killshot : public CDOTABaseAbility { public: @@ -37577,7 +38136,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Sniper_Assassinate_ConcussiveDummy : public CDOTABaseAbility { public: @@ -37585,7 +38144,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Sniper_Headshot_Shotgun : public CDOTABaseAbility { public: @@ -37593,23 +38152,23 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_Sniper_Concussive_Grenade : public CDOTABaseAbility { public: - int32_t m_iProjectile; // 0x558 + int32_t m_iProjectile; // 0x568 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Sniper_Concussive_Grenade : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Sniper_Headshot_Assassinate : public CDOTABaseAbility { public: @@ -37617,7 +38176,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Sniper_Headshot_ArmorReduction : public CDOTABaseAbility { public: @@ -37625,15 +38184,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Sniper_Headshot_ArmorReduction : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 + int32_t armor_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_EarthSpiritBoss_StoneCaller : public CDOTABaseAbility { public: @@ -37641,83 +38200,83 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_StoneThinker : public CDOTA_Buff { public: - bool m_bHasBeenMagnetized; // 0x11e8 + bool m_bHasBeenMagnetized; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - ParticleIndex_t m_nFXIndex; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 12 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_AghsFort_EarthSpiritBoss_BoulderSmash : public CDOTABaseAbility { public: - int32_t speed; // 0x558 - int32_t rock_damage; // 0x55c - int32_t radius; // 0x560 - int32_t rock_search_aoe; // 0x564 - float unit_distance; // 0x568 - float rock_distance; // 0x56c - int32_t m_nProjectileID; // 0x570 - CHandle< CBaseEntity > m_hCursorTarget; // 0x574 - bool m_bUsedStone; // 0x578 -private: - [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 -public: - CHandle< CBaseEntity > m_hTarget; // 0x57c - bool m_bTargetStone; // 0x580 -private: - [[maybe_unused]] uint8_t __pad0581[0x7]; // 0x581 -public: - CUtlVector< CHandle< CBaseEntity > > m_vecBoulderSmashedEnts; // 0x588 -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash : public CDOTA_Buff -{ -public: - bool m_bInterrupted; // 0x11e8 -private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 -public: - int32_t m_nProjectileID; // 0x11ec -}; - -// Alignment: 15 -// Size: 0x5c8 -class CDOTA_Ability_AghsFort_EarthSpiritBoss_RollingBoulder : public CDOTABaseAbility -{ -private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 -public: - int32_t radius; // 0x568 - int32_t speed; // 0x56c - int32_t rock_speed; // 0x570 - int32_t damage; // 0x574 - float distance; // 0x578 + int32_t speed; // 0x568 + int32_t rock_damage; // 0x56c + int32_t radius; // 0x570 + int32_t rock_search_aoe; // 0x574 + float unit_distance; // 0x578 float rock_distance; // 0x57c - float slow_duration; // 0x580 - ParticleIndex_t m_nFXIndex; // 0x584 - bool m_boulderSetposBool; // 0x588 + int32_t m_nProjectileID; // 0x580 + CHandle< CBaseEntity > m_hCursorTarget; // 0x584 + bool m_bUsedStone; // 0x588 private: [[maybe_unused]] uint8_t __pad0589[0x3]; // 0x589 public: - int32_t m_nProjectileID; // 0x58c - Vector m_vStartingLocation; // 0x590 - Vector m_vProjectileLocation; // 0x59c - Vector m_vDir; // 0x5a8 - Vector m_vVel; // 0x5b4 - bool m_bUsedStone; // 0x5c0 + CHandle< CBaseEntity > m_hTarget; // 0x58c + bool m_bTargetStone; // 0x590 +private: + [[maybe_unused]] uint8_t __pad0591[0x7]; // 0x591 +public: + CUtlVector< CHandle< CBaseEntity > > m_vecBoulderSmashedEnts; // 0x598 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash : public CDOTA_Buff +{ +public: + bool m_bInterrupted; // 0x12b8 +private: + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 +public: + int32_t m_nProjectileID; // 0x12bc +}; + +// Alignment: 15 +// Size: 0x5d8 +class CDOTA_Ability_AghsFort_EarthSpiritBoss_RollingBoulder : public CDOTABaseAbility +{ +private: + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 +public: + int32_t radius; // 0x578 + int32_t speed; // 0x57c + int32_t rock_speed; // 0x580 + int32_t damage; // 0x584 + float distance; // 0x588 + float rock_distance; // 0x58c + float slow_duration; // 0x590 + ParticleIndex_t m_nFXIndex; // 0x594 + bool m_boulderSetposBool; // 0x598 +private: + [[maybe_unused]] uint8_t __pad0599[0x3]; // 0x599 +public: + int32_t m_nProjectileID; // 0x59c + Vector m_vStartingLocation; // 0x5a0 + Vector m_vProjectileLocation; // 0x5ac + Vector m_vDir; // 0x5b8 + Vector m_vVel; // 0x5c4 + bool m_bUsedStone; // 0x5d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_RollingBoulder_Caster : public CDOTA_Buff { public: @@ -37725,15 +38284,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash_Debuff : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeogmagneticGrip_Debuff : public CDOTA_Modifier_Silence { public: @@ -37741,77 +38300,77 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_EarthSpiritBoss_GeomagneticGrip : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hTarget; // 0x558 + CHandle< CBaseEntity > m_hTarget; // 0x568 }; // Alignment: 10 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeomagneticGrip : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t rock_damage; // 0x11ec - float pull_units_per_second; // 0x11f0 - float pull_units_per_second_heroes; // 0x11f4 - float total_pull_distance; // 0x11f8 - float duration; // 0x11fc - bool m_bUsedStone; // 0x1200 + int32_t radius; // 0x12b8 + int32_t rock_damage; // 0x12bc + float pull_units_per_second; // 0x12c0 + float pull_units_per_second_heroes; // 0x12c4 + float total_pull_distance; // 0x12c8 + float duration; // 0x12cc + bool m_bUsedStone; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - Vector m_vDestination; // 0x1204 - Vector m_vLocation; // 0x1210 + Vector m_vDestination; // 0x12d4 + Vector m_vLocation; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1220 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12f0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_Petrify : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - bool m_bHasBeenMagnetized; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12b8 + bool m_bHasBeenMagnetized; // 0x12bc }; // Alignment: 3 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_AghsFort_EarthSpiritBoss_Magnetize : public CDOTABaseAbility { public: - int32_t cast_radius; // 0x558 - int32_t rock_explosion_radius; // 0x55c - float damage_duration; // 0x560 + int32_t cast_radius; // 0x568 + int32_t rock_explosion_radius; // 0x56c + float damage_duration; // 0x570 }; // Alignment: 10 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_Magnetize : public CDOTA_Buff { public: - int32_t rock_search_radius; // 0x11e8 - int32_t damage_per_second; // 0x11ec - float damage_interval; // 0x11f0 - float rock_explosion_delay; // 0x11f4 - float damage_duration; // 0x11f8 - int32_t cast_radius; // 0x11fc - int32_t rock_explosion_radius; // 0x1200 + int32_t rock_search_radius; // 0x12b8 + int32_t damage_per_second; // 0x12bc + float damage_interval; // 0x12c0 + float rock_explosion_delay; // 0x12c4 + float damage_duration; // 0x12c8 + int32_t cast_radius; // 0x12cc + int32_t rock_explosion_radius; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< CBaseEntity > > m_hExplodedRocks; // 0x1208 - float duration; // 0x1220 - bool m_bShowOverhead; // 0x1224 + CUtlVector< CHandle< CBaseEntity > > m_hExplodedRocks; // 0x12d8 + float duration; // 0x12f0 + bool m_bShowOverhead; // 0x12f4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_EarthSpiritBoss_Petrify : public CDOTABaseAbility { public: @@ -37819,7 +38378,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Omniknight_Purification_Cast_Radius : public CDOTABaseAbility { public: @@ -37827,7 +38386,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Omniknight_Purification_Charges : public CDOTABaseAbility { public: @@ -37835,7 +38394,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Omniknight_Purification_Cooldown_Reduction : public CDOTABaseAbility { public: @@ -37843,15 +38402,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Cooldown_Reduction : public CDOTA_Buff { public: - float cooldown_reduction_per_hit; // 0x11e8 + float cooldown_reduction_per_hit; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Omniknight_Purification_Multicast : public CDOTABaseAbility { public: @@ -37859,7 +38418,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Omniknight_Purification : public CDOTABaseAbility { public: @@ -37867,7 +38426,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Multicast : public CDOTA_Buff { public: @@ -37875,7 +38434,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Omniknight_Degen_Aura : public CDOTABaseAbility { public: @@ -37883,28 +38442,28 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t move_speed_bonus; // 0x11e8 - int32_t attack_speed_bonus; // 0x11ec - float damage_interval; // 0x11f0 - int32_t attack_damage_pct; // 0x11f4 - int32_t death_heal; // 0x11f8 - bool bIsAllied; // 0x11fc + int32_t move_speed_bonus; // 0x12b8 + int32_t attack_speed_bonus; // 0x12bc + float damage_interval; // 0x12c0 + int32_t attack_damage_pct; // 0x12c4 + int32_t death_heal; // 0x12c8 + bool bIsAllied; // 0x12cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Omniknight_Repel : public CDOTABaseAbility { public: @@ -37912,18 +38471,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Omniknight_Repel : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 - float hp_regen; // 0x11ec - int32_t bonus_str; // 0x11f0 - int32_t damage_increase_outgoing_pct; // 0x11f4 + int32_t damage_reduction; // 0x12b8 + float hp_regen; // 0x12bc + int32_t bonus_str; // 0x12c0 + int32_t damage_increase_outgoing_pct; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Omniknight_GuardianAngel : public CDOTABaseAbility { public: @@ -37931,19 +38490,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Omniknight_GuardianAngel : public CDOTA_Buff { public: - int32_t hp_regen; // 0x11e8 - int32_t magic_resistance; // 0x11ec - int32_t purification_trigger_chance; // 0x11f0 - float purification_trigger_cooldown; // 0x11f4 - GameTime_t m_fLastProc; // 0x11f8 + int32_t hp_regen; // 0x12b8 + int32_t magic_resistance; // 0x12bc + int32_t purification_trigger_chance; // 0x12c0 + float purification_trigger_cooldown; // 0x12c4 + GameTime_t m_fLastProc; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Procs_Purification : public CDOTABaseAbility { public: @@ -37951,7 +38510,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Outgoing_Damage : public CDOTABaseAbility { public: @@ -37959,7 +38518,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Applies_Degen_Aura : public CDOTABaseAbility { public: @@ -37967,7 +38526,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Damage_Instance_Refraction : public CDOTABaseAbility { public: @@ -37975,15 +38534,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Omniknight_Repel_Damage_Instance_Refraction : public CDOTA_Buff { public: - int32_t damage_threshold; // 0x11e8 + int32_t damage_threshold; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Knockback_On_Cast : public CDOTABaseAbility { public: @@ -37991,7 +38550,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Omniknight_Degen_Aura_Toggle : public CDOTABaseAbility { public: @@ -37999,7 +38558,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Omniknight_Degen_Aura_Damage : public CDOTABaseAbility { public: @@ -38007,7 +38566,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Omniknight_Degen_Aura_Restoration : public CDOTABaseAbility { public: @@ -38015,7 +38574,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Omniknight_Guardian_Angel_Purification : public CDOTABaseAbility { public: @@ -38023,7 +38582,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Omniknight_Guardian_Angel_Immune_Flight : public CDOTABaseAbility { public: @@ -38031,7 +38590,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Omniknight_Guardian_Angel_Single_Target : public CDOTABaseAbility { public: @@ -38039,7 +38598,7 @@ public: }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Omniknight_Repel_Knockback : public CDOTA_Modifier_Knockback { public: @@ -38047,7 +38606,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Omniknight_Guardian_Angel_Single_Target_Dummy : public CDOTABaseAbility { public: @@ -38055,7 +38614,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_Omniknight_Guardian_Angel_Single_Target_Dummy : public CDOTA_Buff { public: @@ -38063,26 +38622,26 @@ public: }; // Alignment: 3 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Aghsfort_WitchDoctor_ParalyzingCask : public CDOTABaseAbility { public: - int32_t bounces; // 0x558 - int32_t bounce_bonus_damage; // 0x55c - int32_t damage; // 0x560 + int32_t bounces; // 0x568 + int32_t bounce_bonus_damage; // 0x56c + int32_t damage; // 0x570 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_WitchDoctor_Cask_Thinker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - int32_t remaining_bounces; // 0x11ec + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + int32_t remaining_bounces; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_WitchDoctor_VoodooRestoration : public CDOTABaseAbility { public: @@ -38090,7 +38649,7 @@ public: }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Aura : public CDOTA_Buff { public: @@ -38098,19 +38657,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Heal : public CDOTA_Buff { public: - int32_t heal; // 0x11e8 - float mana_per_second; // 0x11ec - float heal_interval; // 0x11f0 - int32_t lifesteal_percent; // 0x11f4 - int32_t spell_lifesteal_pct; // 0x11f8 + int32_t heal; // 0x12b8 + float mana_per_second; // 0x12bc + float heal_interval; // 0x12c0 + int32_t lifesteal_percent; // 0x12c4 + int32_t spell_lifesteal_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_WitchDoctor_Maledict : public CDOTABaseAbility { public: @@ -38118,7 +38677,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_WitchDoctor_MaledictDoT : public CDOTA_Buff { public: @@ -38126,51 +38685,51 @@ public: }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_WitchDoctor_Maledict : public CDOTA_Buff { public: - int32_t m_iStartHealth; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t bonus_damage_threshold; // 0x11f0 - int32_t max_bonus_damage; // 0x11f4 - int32_t ticks; // 0x11f8 - int32_t iCurrentTick; // 0x11fc + int32_t m_iStartHealth; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t bonus_damage_threshold; // 0x12c0 + int32_t max_bonus_damage; // 0x12c4 + int32_t ticks; // 0x12c8 + int32_t iCurrentTick; // 0x12cc }; // Alignment: 9 -// Size: 0x590 +// Size: 0x5a0 class CDOTA_Ability_Aghsfort_WitchDoctor_DeathWard : public CDOTABaseAbility { public: - int32_t m_iDamage; // 0x558 - int32_t m_iBounceRadius; // 0x55c - int32_t m_iProjectileSpeed; // 0x560 - int32_t m_iBounces; // 0x564 - CHandle< CBaseEntity > m_hWard; // 0x568 - GameTime_t m_fWardExpireTime; // 0x56c - ParticleIndex_t m_nFXIndex; // 0x570 - int32_t m_iAttackIndex; // 0x574 - CUtlVector< sAghsfortWardBounceInfo > m_BounceInfo; // 0x578 + int32_t m_iDamage; // 0x568 + int32_t m_iBounceRadius; // 0x56c + int32_t m_iProjectileSpeed; // 0x570 + int32_t m_iBounces; // 0x574 + CHandle< CBaseEntity > m_hWard; // 0x578 + GameTime_t m_fWardExpireTime; // 0x57c + ParticleIndex_t m_nFXIndex; // 0x580 + int32_t m_iAttackIndex; // 0x584 + CUtlVector< sAghsfortWardBounceInfo > m_BounceInfo; // 0x588 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_WitchDoctor_DeathWard : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t m_iBounceRadius; // 0x11ec - bool m_bFirstAttack; // 0x11f0 + int32_t bonus_damage; // 0x12b8 + int32_t m_iBounceRadius; // 0x12bc + bool m_bFirstAttack; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - int32_t m_iBounces; // 0x11f4 - ParticleIndex_t m_nStaffParticle; // 0x11f8 + int32_t m_iBounces; // 0x12c4 + ParticleIndex_t m_nStaffParticle; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_ParalyzingCask_Multicask : public CDOTABaseAbility { public: @@ -38178,7 +38737,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_ParalyzingCask_Applies_Maledict : public CDOTABaseAbility { public: @@ -38186,7 +38745,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_ParalyzingCask_AoE_Damage : public CDOTABaseAbility { public: @@ -38194,7 +38753,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_ParalyzingCask_Attack_Procs : public CDOTABaseAbility { public: @@ -38202,7 +38761,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_Ground_Curse : public CDOTABaseAbility { public: @@ -38210,7 +38769,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_AoE_Procs : public CDOTABaseAbility { public: @@ -38218,7 +38777,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_Death_Restoration : public CDOTABaseAbility { public: @@ -38226,7 +38785,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_Affects_Allies : public CDOTABaseAbility { public: @@ -38234,7 +38793,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_Infectious : public CDOTABaseAbility { public: @@ -38242,7 +38801,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Voodoo_Restoration_Enemy_Damage : public CDOTABaseAbility { public: @@ -38250,7 +38809,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Voodoo_Restoration_Lifesteal : public CDOTABaseAbility { public: @@ -38258,7 +38817,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Voodoo_Restoration_Damage_Amp : public CDOTABaseAbility { public: @@ -38266,7 +38825,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Voodoo_Restoration_Mana_Restore : public CDOTABaseAbility { public: @@ -38274,7 +38833,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Death_Ward_No_Channel : public CDOTABaseAbility { public: @@ -38282,7 +38841,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Death_Ward_Splitshot : public CDOTABaseAbility { public: @@ -38290,7 +38849,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Death_Ward_Damage_Resist : public CDOTABaseAbility { public: @@ -38298,7 +38857,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Death_Ward_Bounce : public CDOTABaseAbility { public: @@ -38306,41 +38865,41 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_WitchDoctor_ParalyzingCask_Attack_Procs : public CDOTA_Buff { public: - int32_t cask_chance; // 0x11e8 - int32_t cask_cooldown; // 0x11ec - GameTime_t flLastProcTime; // 0x11f0 + int32_t cask_chance; // 0x12b8 + int32_t cask_cooldown; // 0x12bc + GameTime_t flLastProcTime; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_WitchDoctor_DeathWard_Damage_Resist : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 + int32_t damage_reduction; // 0x12b8 }; // Alignment: 9 -// Size: 0x590 +// Size: 0x5a0 class CDOTA_Ability_Aghsfort_WitchDoctor_DeathWard_No_Channel : public CDOTABaseAbility { public: - int32_t m_iDamage; // 0x558 - int32_t m_iBounceRadius; // 0x55c - int32_t m_iProjectileSpeed; // 0x560 - int32_t m_iBounces; // 0x564 - CHandle< CBaseEntity > m_hWard; // 0x568 - float m_fWardExpireTime; // 0x56c - ParticleIndex_t m_nFXIndex; // 0x570 - int32_t m_iAttackIndex; // 0x574 - CUtlVector< sAghsfortWardBounceInfo > m_BounceInfo; // 0x578 + int32_t m_iDamage; // 0x568 + int32_t m_iBounceRadius; // 0x56c + int32_t m_iProjectileSpeed; // 0x570 + int32_t m_iBounces; // 0x574 + CHandle< CBaseEntity > m_hWard; // 0x578 + float m_fWardExpireTime; // 0x57c + ParticleIndex_t m_nFXIndex; // 0x580 + int32_t m_iAttackIndex; // 0x584 + CUtlVector< sAghsfortWardBounceInfo > m_BounceInfo; // 0x588 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Aghsfort_Modifier_WitchDoctor_ForceKill : public CDOTA_Modifier_Invisible { public: @@ -38348,7 +38907,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_Witch_Doctor_Death_Ward_No_Channel : public CDOTA_Buff { public: @@ -38356,17 +38915,17 @@ public: }; // Alignment: 3 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Special_Witch_Doctor_Death_Ward_Splitshot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x11e8 - int32_t split_shot_bonus_range; // 0x11ec - int32_t split_shot_count; // 0x11f0 + int32_t damage_modifier; // 0x12b8 + int32_t split_shot_bonus_range; // 0x12bc + int32_t split_shot_count; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_TemplarAssassin_PsionicTrap : public CDOTABaseAbility { public: @@ -38374,7 +38933,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_TemplarAssassin_Refraction : public CDOTABaseAbility { public: @@ -38382,24 +38941,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionDamage : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionAbsorb : public CDOTA_Buff { public: - int32_t damage_threshold; // 0x11e8 - int32_t max_damage_absorb; // 0x11ec + int32_t damage_threshold; // 0x12b8 + int32_t max_damage_absorb; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_TemplarAssassin_Meld : public CDOTABaseAbility { public: @@ -38407,36 +38966,36 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld_Animation : public CDOTA_Buff { public: - bool launched_attack; // 0x11e8 + bool launched_attack; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - bool launched_attack; // 0x11ec + int32_t bonus_damage; // 0x12b8 + bool launched_attack; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - CHandle< CBaseEntity > m_hTarget; // 0x11f0 + CHandle< CBaseEntity > m_hTarget; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_MeldArmor : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_TemplarAssassin_PsiBlades : public CDOTABaseAbility { public: @@ -38444,49 +39003,49 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x11e8 - float attack_spill_range; // 0x11ec - int32_t attack_spill_width; // 0x11f0 - int32_t attack_spill_pct; // 0x11f4 - int32_t attack_spill_penalty; // 0x11f8 + int32_t bonus_attack_range; // 0x12b8 + float attack_spill_range; // 0x12bc + int32_t attack_spill_width; // 0x12c0 + int32_t attack_spill_pct; // 0x12c4 + int32_t attack_spill_penalty; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades_Slow : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Psionic_Trap_Thinker : public CDOTA_Buff { public: - int32_t trap_radius; // 0x11e8 - float trap_delay_time; // 0x11ec - float slow_duration; // 0x11f0 - int32_t max_pulses; // 0x11f4 - int32_t iCurrentPulse; // 0x11f8 - CHandle< CBaseEntity > m_hImage; // 0x11fc + int32_t trap_radius; // 0x12b8 + float trap_delay_time; // 0x12bc + float slow_duration; // 0x12c0 + int32_t max_pulses; // 0x12c4 + int32_t iCurrentPulse; // 0x12c8 + CHandle< CBaseEntity > m_hImage; // 0x12cc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Trap_Slow : public CDOTA_Buff { public: - int32_t movement_speed_slow; // 0x11e8 - int32_t trap_damage; // 0x11ec + int32_t movement_speed_slow; // 0x12b8 + int32_t trap_damage; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_TemplarAssassin_Refraction_Holdout : public CDOTABaseAbility { public: @@ -38494,17 +39053,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Refraction_Holdout : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t damage_absorb; // 0x11ec - float m_flDamageAbsorbed; // 0x11f0 + int32_t bonus_damage; // 0x12b8 + int32_t damage_absorb; // 0x12bc + float m_flDamageAbsorbed; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Refraction_Allies : public CDOTABaseAbility { public: @@ -38512,7 +39071,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Refraction_KillRefresh : public CDOTABaseAbility { public: @@ -38520,7 +39079,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Refraction_Counter_Attack : public CDOTABaseAbility { public: @@ -38528,7 +39087,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Refraction_Detonate_Trap : public CDOTABaseAbility { public: @@ -38536,7 +39095,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Psionic_Trap_Area_Attack : public CDOTABaseAbility { public: @@ -38544,7 +39103,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Meld_Attack_On_Activation : public CDOTABaseAbility { public: @@ -38552,7 +39111,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Meld_Teleport : public CDOTABaseAbility { public: @@ -38560,7 +39119,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Meld_Refraction_On_Kill : public CDOTABaseAbility { public: @@ -38568,7 +39127,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_PsiBlades_Trap : public CDOTABaseAbility { public: @@ -38576,7 +39135,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_PsiBlades_Splash : public CDOTABaseAbility { public: @@ -38584,7 +39143,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Psionic_Trap_Damage_Heals : public CDOTABaseAbility { public: @@ -38592,7 +39151,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Psionic_Trap_MultiPulse : public CDOTABaseAbility { public: @@ -38600,7 +39159,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_PsiBlades_AutoAttack : public CDOTABaseAbility { public: @@ -38608,17 +39167,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_Templar_Assassin_PsiBlades_AutoAttack : public CDOTA_Buff { public: - float fire_rate; // 0x11e8 - int32_t radius; // 0x11ec - int32_t m_iAttackRecord; // 0x11f0 + float fire_rate; // 0x12b8 + int32_t radius; // 0x12bc + int32_t m_iAttackRecord; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_Templar_Assassin_Trap_Illusion : public CDOTA_Buff { public: @@ -38626,7 +39185,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Slark_DarkPact : public CDOTABaseAbility { public: @@ -38634,7 +39193,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Slark_DarkPact : public CDOTA_Buff { public: @@ -38642,21 +39201,21 @@ public: }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Slark_DarkPact_Pulses : public CDOTA_Buff { public: - int32_t m_iPulseCount; // 0x11e8 - int32_t radius; // 0x11ec - float total_damage; // 0x11f0 - int32_t total_pulses; // 0x11f4 - int32_t heal_pct; // 0x11f8 - float pulse_interval; // 0x11fc - bool bIsBaseAbility; // 0x1200 + int32_t m_iPulseCount; // 0x12b8 + int32_t radius; // 0x12bc + float total_damage; // 0x12c0 + int32_t total_pulses; // 0x12c4 + int32_t heal_pct; // 0x12c8 + float pulse_interval; // 0x12cc + bool bIsBaseAbility; // 0x12d0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Slark_Pounce : public CDOTABaseAbility { public: @@ -38664,59 +39223,59 @@ public: }; // Alignment: 16 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_Aghsfort_Slark_Pounce : public CDOTA_Buff { public: - float m_flTotalTime; // 0x11e8 - float m_flInitialVelocity; // 0x11ec - Vector m_vStartPosition; // 0x11f0 - Vector m_vTargetHorizontalDirection; // 0x11fc - float m_flCurrentTimeHoriz; // 0x1208 - float m_flCurrentTimeVert; // 0x120c - bool m_bInterrupted; // 0x1210 - bool m_bFoundUnit; // 0x1211 + float m_flTotalTime; // 0x12b8 + float m_flInitialVelocity; // 0x12bc + Vector m_vStartPosition; // 0x12c0 + Vector m_vTargetHorizontalDirection; // 0x12cc + float m_flCurrentTimeHoriz; // 0x12d8 + float m_flCurrentTimeVert; // 0x12dc + bool m_bInterrupted; // 0x12e0 + bool m_bFoundUnit; // 0x12e1 private: - [[maybe_unused]] uint8_t __pad1212[0x6]; // 0x1212 + [[maybe_unused]] uint8_t __pad12e2[0x6]; // 0x12e2 public: - CUtlVector< CHandle< CBaseEntity > > hitEntities; // 0x1218 - int32_t pounce_distance; // 0x1230 - int32_t pounce_distance_default; // 0x1234 - float pounce_speed; // 0x1238 - float pounce_acceleration; // 0x123c - int32_t pounce_radius; // 0x1240 - int32_t pounce_damage; // 0x1244 - float leash_duration; // 0x1248 + CUtlVector< CHandle< CBaseEntity > > hitEntities; // 0x12e8 + int32_t pounce_distance; // 0x1300 + int32_t pounce_distance_default; // 0x1304 + float pounce_speed; // 0x1308 + float pounce_acceleration; // 0x130c + int32_t pounce_radius; // 0x1310 + int32_t pounce_damage; // 0x1314 + float leash_duration; // 0x1318 }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Slark_Pounce_Leash : public CDOTA_Buff { public: - int32_t leash_radius; // 0x11e8 - Vector vLeashLocation; // 0x11ec - bool m_bEscaped; // 0x11f8 + int32_t leash_radius; // 0x12b8 + Vector vLeashLocation; // 0x12bc + bool m_bEscaped; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - float pounce_damage_multiplier; // 0x11fc - int32_t pounce_damage; // 0x1200 + float pounce_damage_multiplier; // 0x12cc + int32_t pounce_damage; // 0x12d0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Counter : public CDOTA_Buff { public: - int32_t max_stacks; // 0x11e8 - int32_t passive_agility; // 0x11ec - GameTime_t flLastProcTime; // 0x11f0 - float debuff_duration; // 0x11f4 + int32_t max_stacks; // 0x12b8 + int32_t passive_agility; // 0x12bc + GameTime_t flLastProcTime; // 0x12c0 + float debuff_duration; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Slark_EssenceShift : public CDOTABaseAbility { public: @@ -38724,25 +39283,25 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Active : public CDOTA_Buff { public: - int32_t agi_gain; // 0x11e8 - int32_t iPrimaryAttribute; // 0x11ec - float model_scale; // 0x11f0 + int32_t agi_gain; // 0x12b8 + int32_t iPrimaryAttribute; // 0x12bc + float model_scale; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Slark_Essence_Shift_Debuff : public CDOTA_Buff { public: - int32_t reduction; // 0x11e8 + int32_t reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Slark_ShadowDance : public CDOTABaseAbility { public: @@ -38750,42 +39309,42 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Aura : public CDOTA_Buff { public: - int32_t scepter_aoe; // 0x11e8 + int32_t scepter_aoe; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_PassiveRegen : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_regen_pct; // 0x11ec + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_regen_pct; // 0x12bc }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance : public CDOTA_Modifier_Invisible { public: - CHandle< CBaseEntity > m_hVisibleEntity; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc - GameTime_t flLastPulseTime; // 0x1200 + CHandle< CBaseEntity > m_hVisibleEntity; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + GameTime_t flLastPulseTime; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Visual : public CDOTA_Buff { public: - bool m_bScepter; // 0x11e8 + bool m_bScepter; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Slark_Dark_Pact_Essence_Shift : public CDOTABaseAbility { public: @@ -38793,7 +39352,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Slark_Dark_Pact_Push_Stun : public CDOTABaseAbility { public: @@ -38801,7 +39360,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Slark_Dark_Pact_Dispells_Allies : public CDOTABaseAbility { public: @@ -38809,7 +39368,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Slark_Dark_Pact_Unit_Target : public CDOTABaseAbility { public: @@ -38817,7 +39376,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Slark_Pounce_Attack_All : public CDOTABaseAbility { public: @@ -38825,7 +39384,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Slark_Pounce_Pounce_Projectiles : public CDOTABaseAbility { public: @@ -38833,7 +39392,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Slark_Pounce_Leashed_Bonus : public CDOTABaseAbility { public: @@ -38841,7 +39400,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Slark_Essence_Shift_AoE_Attack : public CDOTABaseAbility { public: @@ -38849,7 +39408,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Slark_Essence_Shift_Leash_Chance : public CDOTABaseAbility { public: @@ -38857,7 +39416,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Slark_Essence_Shift_Allied_Buff : public CDOTABaseAbility { public: @@ -38865,7 +39424,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Slark_Shadow_Dance_Essence_Shift_Bonus : public CDOTABaseAbility { public: @@ -38873,7 +39432,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Slark_Shadow_Dance_Dark_Pact_Pulses : public CDOTABaseAbility { public: @@ -38881,7 +39440,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Slark_Shadow_Dance_Leash : public CDOTABaseAbility { public: @@ -38889,24 +39448,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Leashed_Bonus : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x11e8 + int32_t attack_speed_bonus; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_Slark_Shadow_Dance_Leash : public CDOTA_Buff { public: - Vector m_vPullLocation; // 0x11e8 - float pull_speed; // 0x11f4 + Vector m_vPullLocation; // 0x12b8 + float pull_speed; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Projectiles : public CDOTA_Buff { public: @@ -38914,100 +39473,100 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_QueenOfPain_ScreamOfPain : public CDOTABaseAbility { public: - int32_t damage; // 0x558 + int32_t damage; // 0x568 }; // Alignment: 2 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_AghsFort_QueenOfPain_ShadowStrike : public CDOTABaseAbility { public: - Vector projectile_speed; // 0x558 + Vector projectile_speed; // 0x568 private: - [[maybe_unused]] uint8_t __pad0564[0x4]; // 0x564 + [[maybe_unused]] uint8_t __pad0574[0x4]; // 0x574 +public: + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x578 +}; + +// Alignment: 6 +// Size: 0x12e8 +class CDOTA_Modifier_AghsFort_QueenOfPain_ShadowStrike : public CDOTA_Buff +{ +public: + int32_t duration_damage; // 0x12b8 + int32_t duration_heal; // 0x12bc + int32_t movement_slow; // 0x12c0 +private: + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 +public: + CountdownTimer m_SlowInterval; // 0x12c8 + float m_flSlowStep; // 0x12e0 + float m_flSlowStepStep; // 0x12e4 +}; + +// Alignment: 1 +// Size: 0x580 +class CDOTA_Ability_AghsFort_QueenOfPain_Blink : public CDOTABaseAbility +{ public: CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x568 }; -// Alignment: 6 -// Size: 0x1218 -class CDOTA_Modifier_AghsFort_QueenOfPain_ShadowStrike : public CDOTA_Buff -{ -public: - int32_t duration_damage; // 0x11e8 - int32_t duration_heal; // 0x11ec - int32_t movement_slow; // 0x11f0 -private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 -public: - CountdownTimer m_SlowInterval; // 0x11f8 - float m_flSlowStep; // 0x1210 - float m_flSlowStepStep; // 0x1214 -}; - // Alignment: 1 -// Size: 0x570 -class CDOTA_Ability_AghsFort_QueenOfPain_Blink : public CDOTABaseAbility -{ -public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x558 -}; - -// Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_QueenOfPain_Blink_AttackSpeed : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 + int32_t bonus_attack_speed; // 0x12b8 }; // Alignment: 9 -// Size: 0x590 +// Size: 0x5a0 class CDOTA_Ability_AghsFort_QueenOfPain_SonicWave : public CDOTABaseAbility { public: - GameTime_t m_fStartTime; // 0x558 - float m_fTotalTime; // 0x55c - ParticleIndex_t m_nFXIndex; // 0x560 - int32_t m_nSonicTrailRadius; // 0x564 - Vector m_vLastTrailThinkerLocation; // 0x568 - bool bTrailStartedBurning; // 0x574 + GameTime_t m_fStartTime; // 0x568 + float m_fTotalTime; // 0x56c + ParticleIndex_t m_nFXIndex; // 0x570 + int32_t m_nSonicTrailRadius; // 0x574 + Vector m_vLastTrailThinkerLocation; // 0x578 + bool bTrailStartedBurning; // 0x584 private: - [[maybe_unused]] uint8_t __pad0575[0x3]; // 0x575 + [[maybe_unused]] uint8_t __pad0585[0x3]; // 0x585 public: - int32_t damage; // 0x578 - int32_t starting_aoe; // 0x57c - int32_t final_aoe; // 0x580 + int32_t damage; // 0x588 + int32_t starting_aoe; // 0x58c + int32_t final_aoe; // 0x590 }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x11e8 - int32_t m_nRadius; // 0x11f4 - ParticleIndex_t m_nTrailFX; // 0x11f8 - float linger_duration; // 0x11fc - float flDamage; // 0x1200 - float damage_pct; // 0x1204 + Vector m_vPathDir; // 0x12b8 + int32_t m_nRadius; // 0x12c4 + ParticleIndex_t m_nTrailFX; // 0x12c8 + float linger_duration; // 0x12cc + float flDamage; // 0x12d0 + float damage_pct; // 0x12d4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x11e8 - float burn_interval; // 0x11ec + float flDamage; // 0x12b8 + float burn_interval; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_ShadowStrike_On_Attack : public CDOTA_Buff { public: @@ -39015,7 +39574,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ShadowStrike_On_Attack : public CDOTABaseAbility { public: @@ -39023,7 +39582,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_QueenOfPain_Blink_Generates_Scream : public CDOTABaseAbility { public: @@ -39031,7 +39590,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_QueenOfPain_Blink_Attack_Speed : public CDOTABaseAbility { public: @@ -39039,7 +39598,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_QueenOfPain_Sonic_Wave_Trail : public CDOTABaseAbility { public: @@ -39047,7 +39606,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ShadowStrike_Chain : public CDOTABaseAbility { public: @@ -39055,7 +39614,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ShadowStrike_Scream : public CDOTABaseAbility { public: @@ -39063,7 +39622,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ScreamOfPain_Resets_Blink : public CDOTABaseAbility { public: @@ -39071,7 +39630,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ScreamOfPain_Restores_Caster : public CDOTABaseAbility { public: @@ -39079,7 +39638,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ScreamOfPain_Knockback : public CDOTABaseAbility { public: @@ -39087,7 +39646,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ScreamOfPain_Stun : public CDOTABaseAbility { public: @@ -39095,7 +39654,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_QueenOfPain_Sonic_Wave_Circle : public CDOTABaseAbility { public: @@ -39103,7 +39662,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_QueenOfPain_Sonic_Wave_Attack_Buff : public CDOTABaseAbility { public: @@ -39111,7 +39670,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_QueenOfPain_Blink_Shadow_Strike : public CDOTABaseAbility { public: @@ -39119,7 +39678,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_QueenOfPain_Blink_Scream_Thinker : public CDOTA_Buff { public: @@ -39127,7 +39686,7 @@ public: }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_QueenOfPain_Scream_Knockback : public CDOTA_Modifier_Knockback { public: @@ -39135,16 +39694,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_SonicWave_AttackBuff : public CDOTA_Buff { public: - int32_t spell_amp; // 0x11e8 - int32_t bonus_damage; // 0x11ec + int32_t spell_amp; // 0x12b8 + int32_t bonus_damage; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_TuskBoss_IceShards_Stop : public CDOTABaseAbility { public: @@ -39152,77 +39711,77 @@ public: }; // Alignment: 11 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_Aghsfort_TuskBoss_IceShards : public CDOTABaseAbility { public: - int32_t m_iProjectile; // 0x558 - int32_t shard_width; // 0x55c - int32_t shard_damage; // 0x560 - int32_t shard_count; // 0x564 - float shard_speed; // 0x568 - float shard_duration; // 0x56c - float shard_angle_step; // 0x570 - int32_t shard_distance; // 0x574 - Vector m_vSpawnOrigin; // 0x578 - Vector m_vDirection; // 0x584 + int32_t m_iProjectile; // 0x568 + int32_t shard_width; // 0x56c + int32_t shard_damage; // 0x570 + int32_t shard_count; // 0x574 + float shard_speed; // 0x578 + float shard_duration; // 0x57c + float shard_angle_step; // 0x580 + int32_t shard_distance; // 0x584 + Vector m_vSpawnOrigin; // 0x588 + Vector m_vDirection; // 0x594 private: - [[maybe_unused]] uint8_t __pad0590[0x8]; // 0x590 + [[maybe_unused]] uint8_t __pad05a0[0x8]; // 0x5a0 public: - CDOTABaseAbility* m_pIceShardsStop; // 0x598 + CDOTABaseAbility* m_pIceShardsStop; // 0x5a8 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_TuskBoss_IceShard : public CDOTA_Buff { public: - Vector m_vPos; // 0x11e8 - int32_t radius; // 0x11f4 - float damage; // 0x11f8 - float explosion_interval; // 0x11fc + Vector m_vPos; // 0x12b8 + int32_t radius; // 0x12c4 + float damage; // 0x12c8 + float explosion_interval; // 0x12cc }; // Alignment: 20 -// Size: 0x678 +// Size: 0x688 class CDOTA_Ability_Aghsfort_TuskBoss_Snowball : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - int32_t snowball_windup_radius; // 0x568 - int32_t snowball_radius; // 0x56c - int32_t snowball_grow_rate; // 0x570 - int32_t snowball_damage; // 0x574 - int32_t snowball_damage_bonus; // 0x578 - float stun_duration; // 0x57c - int32_t bonus_damage; // 0x580 - float bonus_stun; // 0x584 - int32_t snowball_speed; // 0x588 - float snowball_duration; // 0x58c - Vector m_vProjectileLocation; // 0x590 + int32_t snowball_windup_radius; // 0x578 + int32_t snowball_radius; // 0x57c + int32_t snowball_grow_rate; // 0x580 + int32_t snowball_damage; // 0x584 + int32_t snowball_damage_bonus; // 0x588 + float stun_duration; // 0x58c + int32_t bonus_damage; // 0x590 + float bonus_stun; // 0x594 + int32_t snowball_speed; // 0x598 + float snowball_duration; // 0x59c + Vector m_vProjectileLocation; // 0x5a0 private: - [[maybe_unused]] uint8_t __pad059c[0x4]; // 0x59c + [[maybe_unused]] uint8_t __pad05ac[0x4]; // 0x5ac public: - CUtlVector< CHandle< CBaseEntity > > m_hSnowballedUnits; // 0x5a0 - ParticleIndex_t m_nFXIndex; // 0x5b8 + CUtlVector< CHandle< CBaseEntity > > m_hSnowballedUnits; // 0x5b0 + ParticleIndex_t m_nFXIndex; // 0x5c8 private: - [[maybe_unused]] uint8_t __pad05bc[0x4]; // 0x5bc + [[maybe_unused]] uint8_t __pad05cc[0x4]; // 0x5cc public: - CountdownTimer ctSnowball; // 0x5c0 - bool m_bSpeakAlly; // 0x5d8 - bool m_bIsExpired; // 0x5d9 - bool m_bInWindup; // 0x5da + CountdownTimer ctSnowball; // 0x5d0 + bool m_bSpeakAlly; // 0x5e8 + bool m_bIsExpired; // 0x5e9 + bool m_bInWindup; // 0x5ea private: - [[maybe_unused]] uint8_t __pad05db[0x1]; // 0x5db + [[maybe_unused]] uint8_t __pad05eb[0x1]; // 0x5eb public: - CHandle< CBaseEntity > m_hPrimaryTarget; // 0x5dc - int32_t m_nContainedValidUnits; // 0x5e0 - bool m_bEndingSnowball; // 0x5e4 + CHandle< CBaseEntity > m_hPrimaryTarget; // 0x5ec + int32_t m_nContainedValidUnits; // 0x5f0 + bool m_bEndingSnowball; // 0x5f4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Target : public CDOTA_Buff { public: @@ -39230,7 +39789,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_TuskBoss_Launch_Snowball : public CDOTABaseAbility { public: @@ -39238,7 +39797,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Visible : public CDOTA_Buff { public: @@ -39246,7 +39805,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement : public CDOTA_Buff { public: @@ -39254,7 +39813,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement_Friendly : public CDOTA_Buff { public: @@ -39262,7 +39821,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_TuskBoss_WalrusPunch : public CDOTABaseAbility { public: @@ -39270,58 +39829,58 @@ public: }; // Alignment: 10 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch : public CDOTA_Buff { public: - int32_t crit_multiplier; // 0x11e8 - float air_time; // 0x11ec - float slow_duration; // 0x11f0 + int32_t crit_multiplier; // 0x12b8 + float air_time; // 0x12bc + float slow_duration; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11f8 - CHandle< CBaseEntity > m_hTarget; // 0x1200 - bool m_bWalrusPunch; // 0x1204 - bool m_bPunchKill; // 0x1205 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12d0 + bool m_bWalrusPunch; // 0x12d4 + bool m_bPunchKill; // 0x12d5 private: - [[maybe_unused]] uint8_t __pad1206[0x2]; // 0x1206 + [[maybe_unused]] uint8_t __pad12d6[0x2]; // 0x12d6 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 - ParticleIndex_t m_nFXIndex; // 0x1220 - int32_t m_nAttackRecord; // 0x1224 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12f0 + int32_t m_nAttackRecord; // 0x12f4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 13 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x11e8 - float m_flStartZ; // 0x11ec - float m_flCurTime; // 0x11f0 - float m_flOldPitch; // 0x11f4 - QAngle m_qRotation; // 0x11f8 - int32_t m_nRotations; // 0x1204 - Vector m_vDirection; // 0x1208 - float flAirTime; // 0x1214 - float m_flEndTime; // 0x1218 - float m_fHorizontalDistance; // 0x121c - float m_fVerticalDistance; // 0x1220 - float m_fDamage; // 0x1224 - Vector m_vLandingPos; // 0x1228 + int32_t hp_threshold; // 0x12b8 + float m_flStartZ; // 0x12bc + float m_flCurTime; // 0x12c0 + float m_flOldPitch; // 0x12c4 + QAngle m_qRotation; // 0x12c8 + int32_t m_nRotations; // 0x12d4 + Vector m_vDirection; // 0x12d8 + float flAirTime; // 0x12e4 + float m_flEndTime; // 0x12e8 + float m_fHorizontalDistance; // 0x12ec + float m_fVerticalDistance; // 0x12f0 + float m_fDamage; // 0x12f4 + Vector m_vLandingPos; // 0x12f8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_TuskBoss_Tag_Team : public CDOTABaseAbility { public: @@ -39329,32 +39888,32 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - float slow_duration; // 0x11ec + int32_t bonus_damage; // 0x12b8 + float slow_duration; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_TuskBoss_IceShards_Circle : public CDOTABaseAbility { public: @@ -39362,7 +39921,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_TuskBoss_IceShards_Explode : public CDOTABaseAbility { public: @@ -39370,7 +39929,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_TuskBoss_IceShards_Stun : public CDOTABaseAbility { public: @@ -39378,7 +39937,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_TuskBoss_IceShards_Secondary : public CDOTABaseAbility { public: @@ -39386,7 +39945,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_TuskBoss_Snowball_Heal : public CDOTABaseAbility { public: @@ -39394,7 +39953,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_TuskBoss_Snowball_End_Damage : public CDOTABaseAbility { public: @@ -39402,7 +39961,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_TuskBoss_Snowball_Global : public CDOTABaseAbility { public: @@ -39410,7 +39969,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_TuskBoss_TagTeam_Lifesteal : public CDOTABaseAbility { public: @@ -39418,7 +39977,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_TuskBoss_TagTeam_Toggle : public CDOTABaseAbility { public: @@ -39426,7 +39985,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_TuskBoss_TagTeam_Global : public CDOTABaseAbility { public: @@ -39434,7 +39993,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_TuskBoss_Walrus_Punch_Reset : public CDOTABaseAbility { public: @@ -39442,7 +40001,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_TuskBoss_Walrus_Punch_Land_Damage : public CDOTABaseAbility { public: @@ -39450,7 +40009,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_TuskBoss_Walrus_Punch_Wallop : public CDOTABaseAbility { public: @@ -39458,7 +40017,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_TuskBoss_Ice_Shards_Explode_Dummy : public CDOTA_Buff { public: @@ -39466,64 +40025,64 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float health_threshold_pct; // 0x11ec - float duration; // 0x11f0 - CHandle< CDOTABaseAbility > m_hTombstoneSourceAbility; // 0x11f4 - CHandle< CBaseEntity > m_hChaseUnit; // 0x11f8 + int32_t radius; // 0x12b8 + float health_threshold_pct; // 0x12bc + float duration; // 0x12c0 + CHandle< CDOTABaseAbility > m_hTombstoneSourceAbility; // 0x12c4 + CHandle< CBaseEntity > m_hChaseUnit; // 0x12c8 }; // Alignment: 3 -// Size: 0x578 +// Size: 0x588 class CDOTA_AghsFort_Ability_Undying_Tombstone : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_vZombies; // 0x558 - CHandle< CBaseEntity > hTombstone; // 0x570 - float duration; // 0x574 + CUtlVector< CHandle< CBaseEntity > > m_vZombies; // 0x568 + CHandle< CBaseEntity > hTombstone; // 0x580 + float duration; // 0x584 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_HP : public CDOTA_Buff { public: - int32_t tombstone_health; // 0x11e8 - int32_t bonus_health; // 0x11ec + int32_t tombstone_health; // 0x12b8 + int32_t bonus_health; // 0x12bc }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float zombie_interval; // 0x11ec - int32_t spawn_at_parent; // 0x11f0 - int32_t remove_on_death; // 0x11f4 - float knockback_duration; // 0x11f8 - int32_t knockback_distance; // 0x11fc - int32_t knockback_height; // 0x1200 - int32_t spawn_distance; // 0x1204 + int32_t radius; // 0x12b8 + float zombie_interval; // 0x12bc + int32_t spawn_at_parent; // 0x12c0 + int32_t remove_on_death; // 0x12c4 + float knockback_duration; // 0x12c8 + int32_t knockback_distance; // 0x12cc + int32_t knockback_height; // 0x12d0 + int32_t spawn_distance; // 0x12d4 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hLoadedUnit; // 0x11e8 - float heal_percent_per_tick; // 0x11ec - int32_t tombstone_grab_radius; // 0x11f0 - ParticleIndex_t m_nBunkerEnterFXIndex; // 0x11f4 + CHandle< CBaseEntity > m_hLoadedUnit; // 0x12b8 + float heal_percent_per_tick; // 0x12bc + int32_t tombstone_grab_radius; // 0x12c0 + ParticleIndex_t m_nBunkerEnterFXIndex; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker_Friendly : public CDOTA_Buff { public: @@ -39531,51 +40090,51 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Undying_Decay_BuffCounter : public CDOTA_Buff { public: - float m_fStrengthStolen; // 0x11e8 - float model_scale_per_strength; // 0x11ec - float model_scale_max; // 0x11f0 + float m_fStrengthStolen; // 0x12b8 + float model_scale_per_strength; // 0x12bc + float model_scale_max; // 0x12c0 }; // Alignment: 6 -// Size: 0x570 +// Size: 0x580 class CDOTA_AghsFort_Ability_Undying_Decay : public CDOTABaseAbility { public: - int32_t decay_damage; // 0x558 - int32_t radius; // 0x55c - float decay_duration; // 0x560 - float str_steal; // 0x564 - float str_steal_captain_mult; // 0x568 - float str_steal_boss_mult; // 0x56c + int32_t decay_damage; // 0x568 + int32_t radius; // 0x56c + float decay_duration; // 0x570 + float str_steal; // 0x574 + float str_steal_captain_mult; // 0x578 + float str_steal_boss_mult; // 0x57c }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Undying_Decay_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x11e8 - float interval; // 0x11ec - int32_t extra_decays; // 0x11f0 - int32_t radius; // 0x11f4 - int32_t decay_strength_percent; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc + int32_t m_iCount; // 0x12b8 + float interval; // 0x12bc + int32_t extra_decays; // 0x12c0 + int32_t radius; // 0x12c4 + int32_t decay_strength_percent; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Undying_Decay_Buff : public CDOTA_Buff { public: - float str_stolen; // 0x11e8 + float str_stolen; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Undying_Decay_On_Attack : public CDOTA_Buff { public: @@ -39583,55 +40142,55 @@ public: }; // Alignment: 5 -// Size: 0x570 +// Size: 0x580 class CDOTA_AghsFort_Ability_Undying_SoulRip : public CDOTABaseAbility { public: - int32_t damage_per_unit; // 0x558 - int32_t radius; // 0x55c - int32_t max_units; // 0x560 - int32_t tombstone_heal; // 0x564 - int32_t damage_bonus_percent; // 0x568 + int32_t damage_per_unit; // 0x568 + int32_t radius; // 0x56c + int32_t max_units; // 0x570 + int32_t tombstone_heal; // 0x574 + int32_t damage_bonus_percent; // 0x578 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Undying_SoulRipWard : public CDOTA_Buff { public: - int32_t ward_radius; // 0x11e8 - int32_t explosion_damage; // 0x11ec - float taunt_interval; // 0x11f0 + int32_t ward_radius; // 0x12b8 + int32_t explosion_damage; // 0x12bc + float taunt_interval; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Undying_SoulRip_Share_Strength : public CDOTA_Buff { public: - float str_gain; // 0x11e8 - int32_t model_scale; // 0x11ec + float str_gain; // 0x12b8 + int32_t model_scale; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - float m_flDecrementTime; // 0x11ec + int32_t slow; // 0x12b8 + float m_flDecrementTime; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow_Counter : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_AghsFort_Ability_Undying_Tombstone_Zombie_DeathStrike : public CDOTABaseAbility { public: @@ -39639,16 +40198,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathlust : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec + int32_t bonus_move_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Modifier : public CDOTA_Buff { public: @@ -39656,7 +40215,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Undying_Exploding_Zombie : public CDOTA_Buff { public: @@ -39664,7 +40223,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Undying_ConsumeZombies_Counter : public CDOTA_Buff { public: @@ -39672,7 +40231,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Undying_ConsumeZombies : public CDOTABaseAbility { public: @@ -39680,16 +40239,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Undying_ConsumeZombies_Buff : public CDOTA_Buff { public: - int32_t bonus_move_speed_per_stack; // 0x11e8 - int32_t bonus_attack_speed_per_stack; // 0x11ec + int32_t bonus_move_speed_per_stack; // 0x12b8 + int32_t bonus_attack_speed_per_stack; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_AghsFort_Ability_Undying_FleshGolem : public CDOTABaseAbility { public: @@ -39697,35 +40256,35 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Undying_FleshGolem : public CDOTA_Buff { public: - int32_t str_percentage; // 0x11e8 - int32_t movement_bonus; // 0x11ec + int32_t str_percentage; // 0x12b8 + int32_t movement_bonus; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Undying_FleshGolem_Slow : public CDOTA_Buff { public: - int32_t damage_amp; // 0x11e8 - int32_t slow; // 0x11ec + int32_t damage_amp; // 0x12b8 + int32_t slow; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Undying_FleshGolem_PlagueAura : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t damage; // 0x11ec - float tick_rate; // 0x11f0 + int32_t slow; // 0x12b8 + int32_t damage; // 0x12bc + float tick_rate; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Death_Trigger : public CDOTA_Buff { public: @@ -39733,7 +40292,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Aghsfort_Ability_Special_Bonus_Unique_Undying_TombstoneOnDeath : public CDOTABaseAbility { public: @@ -39741,7 +40300,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Undying_Decay_Spawn_Zombies : public CDOTABaseAbility { public: @@ -39749,7 +40308,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Undying_Decay_On_Attack : public CDOTABaseAbility { public: @@ -39757,7 +40316,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Undying_Decay_Reverberation : public CDOTABaseAbility { public: @@ -39765,7 +40324,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Aghsfort_Ability_Special_Bonus_Unique_Undying_SoulRip_Charges : public CDOTABaseAbility { public: @@ -39773,7 +40332,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Undying_SoulRip_Spawn_Zombies : public CDOTABaseAbility { public: @@ -39781,7 +40340,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Undying_SoulRip_Share_Strength : public CDOTABaseAbility { public: @@ -39789,7 +40348,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Undying_SoulRip_Ward : public CDOTABaseAbility { public: @@ -39797,7 +40356,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Undying_Tombstone_Exploding_Zombies : public CDOTABaseAbility { public: @@ -39805,7 +40364,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Undying_Tombstone_Bunker : public CDOTABaseAbility { public: @@ -39813,7 +40372,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Undying_FleshGolem_SpawnZombies : public CDOTABaseAbility { public: @@ -39821,7 +40380,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Undying_FleshGolem_HealOnEnemyDeath : public CDOTABaseAbility { public: @@ -39829,7 +40388,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Undying_FleshGolem_Smash : public CDOTABaseAbility { public: @@ -39837,7 +40396,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Undying_ConsumeZombies_Dummy : public CDOTABaseAbility { public: @@ -39845,7 +40404,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Special_Undying_ConsumeZombies_Dummy : public CDOTA_Buff { public: @@ -39853,7 +40412,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Lina_LightStrikeArray : public CDOTABaseAbility { public: @@ -39861,120 +40420,120 @@ public: }; // Alignment: 6 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_Lina_DragonSlave : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x8]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x8]; // 0x568 public: - int32_t dragon_slave_distance; // 0x560 - Vector m_vLastTrailThinkerLocation; // 0x564 - int32_t dragon_slave_damage; // 0x570 - float m_flLSADistance; // 0x574 - int32_t m_nLSAPower; // 0x578 - float m_flLSADelay; // 0x57c + int32_t dragon_slave_distance; // 0x570 + Vector m_vLastTrailThinkerLocation; // 0x574 + int32_t dragon_slave_damage; // 0x580 + float m_flLSADistance; // 0x584 + int32_t m_nLSAPower; // 0x588 + float m_flLSADelay; // 0x58c }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Lina_DragonSlave_Ignite : public CDOTA_Buff { public: - float burn_interval; // 0x11e8 - float burn_damage; // 0x11ec - int32_t mana_restore; // 0x11f0 + float burn_interval; // 0x12b8 + float burn_damage; // 0x12bc + int32_t mana_restore; // 0x12c0 }; // Alignment: 11 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Lina_LightStrikeArray_Thinker : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 - int32_t m_iDamage; // 0x1200 - float m_flStunDuration; // 0x1204 - int32_t light_strike_array_damage; // 0x1208 - float light_strike_array_stun_duration; // 0x120c - float light_strike_array_delay; // 0x1210 - int32_t m_nLSARadius; // 0x1214 - int32_t m_nCount; // 0x1218 - int32_t max_count; // 0x121c - int32_t iPower; // 0x1220 - float pulse_interval; // 0x1224 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + int32_t m_iDamage; // 0x12d0 + float m_flStunDuration; // 0x12d4 + int32_t light_strike_array_damage; // 0x12d8 + float light_strike_array_stun_duration; // 0x12dc + float light_strike_array_delay; // 0x12e0 + int32_t m_nLSARadius; // 0x12e4 + int32_t m_nCount; // 0x12e8 + int32_t max_count; // 0x12ec + int32_t iPower; // 0x12f0 + float pulse_interval; // 0x12f4 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_Lina_Light_Strike_Array_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x11e8 - Vector vPullLocation; // 0x11ec + float pull_speed; // 0x12b8 + Vector vPullLocation; // 0x12bc }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Aghsfort_Lina_FierySoul : public CDOTABaseAbility { public: - float active_duration; // 0x558 + float active_duration; // 0x568 }; // Alignment: 7 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Lina_FierySoul_Active : public CDOTA_Buff { public: - int32_t attack_range_per_stack; // 0x11e8 - bool m_bShouldReset; // 0x11ec - bool m_bIsActive; // 0x11ed + int32_t attack_range_per_stack; // 0x12b8 + bool m_bShouldReset; // 0x12bc + bool m_bIsActive; // 0x12bd private: - [[maybe_unused]] uint8_t __pad11ee[0x2]; // 0x11ee + [[maybe_unused]] uint8_t __pad12be[0x2]; // 0x12be public: - int32_t fiery_soul_attack_speed_bonus; // 0x11f0 - float fiery_soul_move_speed_bonus; // 0x11f4 - ParticleIndex_t m_nFXIndex; // 0x11f8 + int32_t fiery_soul_attack_speed_bonus; // 0x12c0 + float fiery_soul_move_speed_bonus; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Lina_FierySoul : public CDOTA_Buff { public: - int32_t fiery_soul_attack_speed_bonus; // 0x11e8 - float fiery_soul_move_speed_bonus; // 0x11ec - int32_t fiery_soul_max_stacks; // 0x11f0 - float fiery_soul_stack_duration; // 0x11f4 - ParticleIndex_t m_nFXIndex; // 0x11f8 - GameTime_t m_flFierySoulDieTime; // 0x11fc + int32_t fiery_soul_attack_speed_bonus; // 0x12b8 + float fiery_soul_move_speed_bonus; // 0x12bc + int32_t fiery_soul_max_stacks; // 0x12c0 + float fiery_soul_stack_duration; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + GameTime_t m_flFierySoulDieTime; // 0x12cc }; // Alignment: 2 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Aghsfort_Lina_LagunaBlade : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x558 - int32_t m_nMaxBounces; // 0x570 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x568 + int32_t m_nMaxBounces; // 0x580 }; // Alignment: 4 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Lina_LagunaBlade_Line : public CDOTA_Buff { public: - Vector vStart; // 0x11e8 - Vector vEnd; // 0x11f4 - float damage_delay; // 0x1200 - CHandle< CBaseEntity > m_hMainTarget; // 0x1204 + Vector vStart; // 0x12b8 + Vector vEnd; // 0x12c4 + float damage_delay; // 0x12d0 + CHandle< CBaseEntity > m_hMainTarget; // 0x12d4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Lina_LagunaBlade : public CDOTA_Buff { public: @@ -39982,7 +40541,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lina_DragonSlave_LSA_Trail : public CDOTABaseAbility { public: @@ -39990,7 +40549,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lina_DragonSlave_Triwave : public CDOTABaseAbility { public: @@ -39998,7 +40557,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lina_DragonSlave_Ignite : public CDOTABaseAbility { public: @@ -40006,7 +40565,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lina_LightStrikeArray_Pulsate : public CDOTABaseAbility { public: @@ -40014,7 +40573,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lina_LightStrikeArray_Attacks : public CDOTABaseAbility { public: @@ -40022,7 +40581,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lina_LightStrikeArray_Vacuum : public CDOTABaseAbility { public: @@ -40030,7 +40589,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_Multishot : public CDOTABaseAbility { public: @@ -40038,7 +40597,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_DragonSlave_On_Cast : public CDOTABaseAbility { public: @@ -40046,7 +40605,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_Mini_Lagunas : public CDOTABaseAbility { public: @@ -40054,7 +40613,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_LSA_Attacks : public CDOTABaseAbility { public: @@ -40062,7 +40621,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_Ally_Cast : public CDOTABaseAbility { public: @@ -40070,7 +40629,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lina_Laguna_Blade_Bounce : public CDOTABaseAbility { public: @@ -40078,7 +40637,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lina_Laguna_Blade_LSA : public CDOTABaseAbility { public: @@ -40086,7 +40645,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lina_Laguna_Blade_Channel : public CDOTABaseAbility { public: @@ -40094,7 +40653,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lina_Laguna_Blade_Line : public CDOTABaseAbility { public: @@ -40102,7 +40661,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lina_Dragon_Slave_Booster : public CDOTABaseAbility { public: @@ -40110,55 +40669,55 @@ public: }; // Alignment: 3 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Special_Lina_Fiery_Soul_Splitshot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x11e8 - int32_t split_shot_bonus_range; // 0x11ec - int32_t arrow_count; // 0x11f0 + int32_t damage_modifier; // 0x12b8 + int32_t split_shot_bonus_range; // 0x12bc + int32_t arrow_count; // 0x12c0 }; // Alignment: 7 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Special_Lina_Laguna_Blade_Channel : public CDOTA_Buff { public: - int32_t stack_limit; // 0x11e8 - float stack_interval; // 0x11ec - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesToHit; // 0x11f0 - ParticleIndex_t m_nFxIndexB; // 0x1208 + int32_t stack_limit; // 0x12b8 + float stack_interval; // 0x12bc + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesToHit; // 0x12c0 + ParticleIndex_t m_nFxIndexB; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlVector< ParticleIndex_t > m_nFXIndices; // 0x1210 - int32_t bounces_remaining; // 0x1228 - int32_t iCur_stack; // 0x122c + CUtlVector< ParticleIndex_t > m_nFXIndices; // 0x12e0 + int32_t bounces_remaining; // 0x12f8 + int32_t iCur_stack; // 0x12fc }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Special_Lina_Laguna_Blade_Bounce : public CDOTA_Buff { public: - int32_t bounces_remaining; // 0x11e8 + int32_t bounces_remaining; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x11f0 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Lina_Light_Strike_Array_Attacks_Bonus : public CDOTA_Buff { public: - float attack_damage; // 0x11e8 - int32_t damage_penalty; // 0x11ec + float attack_damage; // 0x12b8 + int32_t damage_penalty; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Lina_LightStrikeArray_Stun : public CDOTA_Buff { public: @@ -40166,18 +40725,18 @@ public: }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Lina_DragonSlave_Movement : public CDOTA_Buff { public: - Vector m_vDirection; // 0x11e8 - float m_flEndTime; // 0x11f4 - float m_flCurTime; // 0x11f8 - float m_flPushDistance; // 0x11fc + Vector m_vDirection; // 0x12b8 + float m_flEndTime; // 0x12c4 + float m_flCurTime; // 0x12c8 + float m_flPushDistance; // 0x12cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_AghsFort_Ability_Juggernaut_BladeFury : public CDOTABaseAbility { public: @@ -40185,42 +40744,42 @@ public: }; // Alignment: 8 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury : public CDOTA_Buff { public: - int32_t blade_fury_radius; // 0x11e8 - int32_t blade_fury_damage; // 0x11ec - float blade_fury_damage_tick; // 0x11f0 - int32_t movement_bonus; // 0x11f4 - int32_t spark_radius; // 0x11f8 - int32_t spark_damage_percent; // 0x11fc - bool m_bDestroyParentThinkerOnDeath; // 0x1200 - bool m_bPreIntervalThink; // 0x1201 + int32_t blade_fury_radius; // 0x12b8 + int32_t blade_fury_damage; // 0x12bc + float blade_fury_damage_tick; // 0x12c0 + int32_t movement_bonus; // 0x12c4 + int32_t spark_radius; // 0x12c8 + int32_t spark_damage_percent; // 0x12cc + bool m_bDestroyParentThinkerOnDeath; // 0x12d0 + bool m_bPreIntervalThink; // 0x12d1 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury_Force : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury_Force_Pull : public CDOTA_Buff { public: - int32_t blade_fury_radius; // 0x11e8 - int32_t pull_speed; // 0x11ec - int32_t pull_stop; // 0x11f0 - Vector pull_origin; // 0x11f4 - GameTime_t m_flLastThinkTime; // 0x1200 + int32_t blade_fury_radius; // 0x12b8 + int32_t pull_speed; // 0x12bc + int32_t pull_stop; // 0x12c0 + Vector pull_origin; // 0x12c4 + GameTime_t m_flLastThinkTime; // 0x12d0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Juggernaut_HealingWard : public CDOTABaseAbility { public: @@ -40228,33 +40787,33 @@ public: }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Juggernaut_Healing_Ward : public CDOTA_Buff { public: - int32_t healing_ward_aura_radius; // 0x11e8 - float healing_ward_heal_amount; // 0x11ec - float healing_ward_interval; // 0x11f0 - int32_t m_nTotalHealing; // 0x11f4 + int32_t healing_ward_aura_radius; // 0x12b8 + float healing_ward_heal_amount; // 0x12bc + float healing_ward_interval; // 0x12c0 + int32_t m_nTotalHealing; // 0x12c4 }; // Alignment: 8 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Juggernaut_Healing_Ward_Primed : public CDOTA_Buff { public: - int32_t healing_ward_aura_radius; // 0x11e8 - int32_t trigger_radius; // 0x11ec - int32_t search_radius; // 0x11f0 - int32_t damage_percent; // 0x11f4 - int32_t movement_bonus; // 0x11f8 - int32_t power; // 0x11fc - CHandle< CBaseEntity > m_hTarget; // 0x1200 - bool m_bPlayerControlled; // 0x1204 + int32_t healing_ward_aura_radius; // 0x12b8 + int32_t trigger_radius; // 0x12bc + int32_t search_radius; // 0x12c0 + int32_t damage_percent; // 0x12c4 + int32_t movement_bonus; // 0x12c8 + int32_t power; // 0x12cc + CHandle< CBaseEntity > m_hTarget; // 0x12d0 + bool m_bPlayerControlled; // 0x12d4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Juggernaut_ZenWard : public CDOTABaseAbility { public: @@ -40262,67 +40821,67 @@ public: }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Juggernaut_Zen_Ward : public CDOTA_Buff { public: - int32_t healing_ward_aura_radius; // 0x11e8 - float healing_ward_heal_amount; // 0x11ec - float healing_ward_interval; // 0x11f0 - int32_t m_nTotalRegen; // 0x11f4 + int32_t healing_ward_aura_radius; // 0x12b8 + float healing_ward_heal_amount; // 0x12bc + float healing_ward_interval; // 0x12c0 + int32_t m_nTotalRegen; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Juggernaut_Zen_Ward_Armor : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x11e8 + int32_t armor_bonus; // 0x12b8 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_Juggernaut_BladeDance : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hBladeFuryThinker; // 0x558 + CHandle< CBaseEntity > m_hBladeFuryThinker; // 0x568 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeDance : public CDOTA_Buff { public: - int32_t blade_dance_crit_mult; // 0x11e8 - int32_t blade_dance_crit_chance; // 0x11ec - bool m_bDidBladeDanceCrit; // 0x11f0 + int32_t blade_dance_crit_mult; // 0x12b8 + int32_t blade_dance_crit_chance; // 0x12bc + bool m_bDidBladeDanceCrit; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeDance_Buff : public CDOTA_Buff { public: - int32_t evasion_per_stack; // 0x11e8 - int32_t movespeed_per_stack; // 0x11ec - int32_t evasion_bonus; // 0x11f0 - int32_t movespeed_bonus; // 0x11f4 + int32_t evasion_per_stack; // 0x12b8 + int32_t movespeed_per_stack; // 0x12bc + int32_t evasion_bonus; // 0x12c0 + int32_t movespeed_bonus; // 0x12c4 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Juggernaut_Double_Attack : public CDOTA_Buff { public: - int32_t range; // 0x11e8 - float bonus_attack_duration; // 0x11ec - int32_t bonus_attack_count; // 0x11f0 - int32_t bonus_attack_speed; // 0x11f4 - float m_fBonusRange; // 0x11f8 + int32_t range; // 0x12b8 + float bonus_attack_duration; // 0x12bc + int32_t bonus_attack_count; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c4 + float m_fBonusRange; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Juggernaut_Omnislash : public CDOTABaseAbility { public: @@ -40330,44 +40889,44 @@ public: }; // Alignment: 16 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_modifier_aghsfort_juggernaut_omnislash : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - CHandle< CBaseEntity > m_hLastTarget; // 0x11ec - int32_t m_nJumps; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - int32_t bonus_attack_speed; // 0x11f8 - int32_t omni_slash_radius; // 0x11fc - float attack_rate_multiplier; // 0x1200 - int32_t upgraded_radius; // 0x1204 - int32_t m_iTotalDamage; // 0x1208 - int32_t m_iHeroDamage; // 0x120c - bool m_bReflection; // 0x1210 - bool m_bFirstHit; // 0x1211 - bool m_bEndNext; // 0x1212 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + CHandle< CBaseEntity > m_hLastTarget; // 0x12bc + int32_t m_nJumps; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + int32_t bonus_attack_speed; // 0x12c8 + int32_t omni_slash_radius; // 0x12cc + float attack_rate_multiplier; // 0x12d0 + int32_t upgraded_radius; // 0x12d4 + int32_t m_iTotalDamage; // 0x12d8 + int32_t m_iHeroDamage; // 0x12dc + bool m_bReflection; // 0x12e0 + bool m_bFirstHit; // 0x12e1 + bool m_bEndNext; // 0x12e2 private: - [[maybe_unused]] uint8_t __pad1213[0x1]; // 0x1213 + [[maybe_unused]] uint8_t __pad12e3[0x1]; // 0x12e3 public: - GameTime_t m_fNextAttackTime; // 0x1214 - Vector m_vCastOrigin; // 0x1218 + GameTime_t m_fNextAttackTime; // 0x12e4 + Vector m_vCastOrigin; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1224[0x4]; // 0x1224 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CUtlVector< CHandle< CBaseEntity > > m_hIllusions; // 0x1228 + CUtlVector< CHandle< CBaseEntity > > m_hIllusions; // 0x12f8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_modifier_aghsfort_juggernaut_omnislash_Camera : public CDOTA_Buff { public: - bool m_bIsDone; // 0x11e8 + bool m_bIsDone; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_modifier_aghsfort_juggernaut_omnislash_Invulnerability : public CDOTA_Buff { public: @@ -40375,16 +40934,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x11e8 - float tick_damage; // 0x11ec + int32_t slow_movement_speed_pct; // 0x12b8 + float tick_damage; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite_Invuln : public CDOTA_Buff { public: @@ -40392,7 +40951,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite_Disarm : public CDOTA_Buff { public: @@ -40400,7 +40959,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Fury_Sparks : public CDOTABaseAbility { public: @@ -40408,7 +40967,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Fury_Force : public CDOTABaseAbility { public: @@ -40416,7 +40975,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Fury_Shared : public CDOTABaseAbility { public: @@ -40424,7 +40983,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Fury_Lifesteal_Hit : public CDOTABaseAbility { public: @@ -40432,7 +40991,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Healing_Ward_Blade_Fury : public CDOTABaseAbility { public: @@ -40440,7 +40999,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Healing_Ward_Crit : public CDOTABaseAbility { public: @@ -40448,7 +41007,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Healing_Ward_Detonate : public CDOTABaseAbility { public: @@ -40456,7 +41015,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Cooldown : public CDOTABaseAbility { public: @@ -40464,7 +41023,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Buff : public CDOTABaseAbility { public: @@ -40472,7 +41031,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Launches_Blade_Fury : public CDOTABaseAbility { public: @@ -40480,7 +41039,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Shared : public CDOTABaseAbility { public: @@ -40488,7 +41047,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Teleport : public CDOTABaseAbility { public: @@ -40496,7 +41055,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Range : public CDOTABaseAbility { public: @@ -40504,7 +41063,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Illusion : public CDOTABaseAbility { public: @@ -40512,7 +41071,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Crit_Extend : public CDOTABaseAbility { public: @@ -40520,7 +41079,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Shared : public CDOTABaseAbility { public: @@ -40528,7 +41087,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Spin : public CDOTABaseAbility { public: @@ -40536,7 +41095,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Ignite : public CDOTABaseAbility { public: @@ -40544,7 +41103,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Zen_Ward : public CDOTABaseAbility { public: @@ -40552,7 +41111,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort2_DrowRanger_FrostArrows : public CDOTABaseAbility { public: @@ -40560,15 +41119,15 @@ public: }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows_Slow : public CDOTA_Buff { public: @@ -40576,43 +41135,43 @@ public: }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows_Chill : public CDOTA_Buff { public: - float interval; // 0x11e8 - int32_t max_stacks; // 0x11ec - int32_t damage_percent; // 0x11f0 - int32_t movement_damage_percent; // 0x11f4 - int32_t m_nDamage; // 0x11f8 - ParticleIndex_t m_nFXStackIndex; // 0x11fc - Vector m_vLastPosition; // 0x1200 + float interval; // 0x12b8 + int32_t max_stacks; // 0x12bc + int32_t damage_percent; // 0x12c0 + int32_t movement_damage_percent; // 0x12c4 + int32_t m_nDamage; // 0x12c8 + ParticleIndex_t m_nFXStackIndex; // 0x12cc + Vector m_vLastPosition; // 0x12d0 }; // Alignment: 7 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_Aghsfort2_DrowRanger_WaveOfSilence : public CDOTABaseAbility { public: - int32_t wave_length; // 0x558 - int32_t wave_width; // 0x55c - float wave_speed; // 0x560 - float silence_duration; // 0x564 - float knockback_distance_max; // 0x568 - float knockback_duration; // 0x56c - Vector m_vVectorTarget; // 0x570 + int32_t wave_length; // 0x568 + int32_t wave_width; // 0x56c + float wave_speed; // 0x570 + float silence_duration; // 0x574 + float knockback_distance_max; // 0x578 + float knockback_duration; // 0x57c + Vector m_vVectorTarget; // 0x580 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence : public CDOTA_Buff { public: - int32_t blind_percent; // 0x11e8 + int32_t blind_percent; // 0x12b8 }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Knockback : public CDOTA_Modifier_Knockback { public: @@ -40620,93 +41179,93 @@ public: }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Echo_Thinker : public CDOTA_Buff { public: - Vector m_vTarget; // 0x11e8 + Vector m_vTarget; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Movement : public CDOTA_Buff { public: - int32_t movespeed_percent; // 0x11e8 + int32_t movespeed_percent; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Frost : public CDOTA_Buff { public: - float m_fDamagePerSecond; // 0x11e8 + float m_fDamagePerSecond; // 0x12b8 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Agility : public CDOTA_Buff { public: - CUtlVector< GameTime_t > m_AgilityTimers; // 0x11e8 + CUtlVector< GameTime_t > m_AgilityTimers; // 0x12b8 }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Aghsfort2_DrowRanger_Multishot : public CDOTABaseAbility { public: - CUtlVector< CUtlVector< CHandle< CBaseEntity > > > m_vHitTargets; // 0x558 + CUtlVector< CUtlVector< CHandle< CBaseEntity > > > m_vHitTargets; // 0x568 }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_Buff : public CDOTA_Buff { public: - int32_t damage_percent; // 0x11e8 - int32_t knockback_distance; // 0x11ec - float knockback_duration; // 0x11f0 - int32_t move_speed_percent; // 0x11f4 - int32_t max_move_speed_percent; // 0x11f8 - int32_t model_scale; // 0x11fc - int32_t max_model_scale; // 0x1200 - bool m_bActive; // 0x1204 + int32_t damage_percent; // 0x12b8 + int32_t knockback_distance; // 0x12bc + float knockback_duration; // 0x12c0 + int32_t move_speed_percent; // 0x12c4 + int32_t max_move_speed_percent; // 0x12c8 + int32_t model_scale; // 0x12cc + int32_t max_model_scale; // 0x12d0 + bool m_bActive; // 0x12d4 }; // Alignment: 15 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot : public CDOTA_Buff { public: - int32_t arrow_width; // 0x11e8 - float arrow_speed; // 0x11ec - int32_t range; // 0x11f0 - int32_t wave_count; // 0x11f4 - float wave_delay; // 0x11f8 - int32_t arrow_count_per_wave; // 0x11fc - float arrow_delay; // 0x1200 - float per_arrow_angle; // 0x1204 - float m_fYawOffset; // 0x1208 - int32_t m_iWaveIndex; // 0x120c - int32_t m_iArrowIndex; // 0x1210 - Vector m_vTarget; // 0x1214 - QAngle m_vWaveAngle; // 0x1220 - float m_flInterval; // 0x122c - GameTime_t m_flNextThink; // 0x1230 + int32_t arrow_width; // 0x12b8 + float arrow_speed; // 0x12bc + int32_t range; // 0x12c0 + int32_t wave_count; // 0x12c4 + float wave_delay; // 0x12c8 + int32_t arrow_count_per_wave; // 0x12cc + float arrow_delay; // 0x12d0 + float per_arrow_angle; // 0x12d4 + float m_fYawOffset; // 0x12d8 + int32_t m_iWaveIndex; // 0x12dc + int32_t m_iArrowIndex; // 0x12e0 + Vector m_vTarget; // 0x12e4 + QAngle m_vWaveAngle; // 0x12f0 + float m_flInterval; // 0x12fc + GameTime_t m_flNextThink; // 0x1300 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_SideLine : public CDOTA_Buff { public: - int32_t m_iWaveIndex; // 0x11e8 - float m_fYawOffset; // 0x11ec + int32_t m_iWaveIndex; // 0x12b8 + float m_fYawOffset; // 0x12bc }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort2_DrowRanger_Multishot_Buff_Knockback : public CDOTA_Modifier_Knockback { public: @@ -40714,7 +41273,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_Refire : public CDOTA_Buff { public: @@ -40722,7 +41281,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort2_DrowRanger_Marksmanship : public CDOTABaseAbility { public: @@ -40730,40 +41289,40 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Marksmanship_Aura : public CDOTA_Buff { public: - int32_t aura_disable_range; // 0x11e8 - int32_t aura_range; // 0x11ec - int32_t bonus_damage; // 0x11f0 - int32_t m_nBonusFactor; // 0x11f4 - GameTime_t m_fLastEnableTime; // 0x11f8 - ParticleIndex_t m_nFxIndex; // 0x11fc + int32_t aura_disable_range; // 0x12b8 + int32_t aura_range; // 0x12bc + int32_t bonus_damage; // 0x12c0 + int32_t m_nBonusFactor; // 0x12c4 + GameTime_t m_fLastEnableTime; // 0x12c8 + ParticleIndex_t m_nFxIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Marksmanship_Aura_Bonus : public CDOTA_Buff { public: - int32_t aura_agility_multiplier; // 0x11e8 + int32_t aura_agility_multiplier; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_Active : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_range; // 0x11ec - int32_t attack_speed_reduction; // 0x11f0 - float duration; // 0x11f4 - int32_t charges; // 0x11f8 + int32_t bonus_damage; // 0x12b8 + int32_t bonus_range; // 0x12bc + int32_t attack_speed_reduction; // 0x12c0 + float duration; // 0x12c4 + int32_t charges; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_AoE : public CDOTA_Buff { public: @@ -40771,15 +41330,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_WaveOfSilence_Primed : public CDOTA_Buff { public: - int32_t aura_disable_range; // 0x11e8 + int32_t aura_disable_range; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort2_Talent_DrowRanger_WaveOfSilence_Blind : public CDOTABaseAbility { public: @@ -40787,7 +41346,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort2_Talent_DrowRanger_Multishot_Range : public CDOTABaseAbility { public: @@ -40795,7 +41354,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort2_Talent_DrowRanger_Marksmanship_Attack_Count : public CDOTABaseAbility { public: @@ -40803,7 +41362,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_DrowRanger_FrostArrows_Split : public CDOTABaseAbility { public: @@ -40811,7 +41370,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_DrowRanger_FrostArrows_MoveDamage : public CDOTABaseAbility { public: @@ -40819,7 +41378,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_DrowRanger_FrostArrows_Wave : public CDOTABaseAbility { public: @@ -40827,7 +41386,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_DrowRanger_WaveOfSilence_Echo : public CDOTABaseAbility { public: @@ -40835,7 +41394,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_DrowRanger_WaveOfSilence_Movement : public CDOTABaseAbility { public: @@ -40843,7 +41402,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_DrowRanger_WaveOfSilence_Cooldown : public CDOTABaseAbility { public: @@ -40851,7 +41410,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_DrowRanger_WaveOfSilence_Frost : public CDOTABaseAbility { public: @@ -40859,7 +41418,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_DrowRanger_Multishot_Move : public CDOTABaseAbility { public: @@ -40867,7 +41426,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_DrowRanger_Multishot_SideLine : public CDOTABaseAbility { public: @@ -40875,7 +41434,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_DrowRanger_Multishot_Refire : public CDOTABaseAbility { public: @@ -40883,7 +41442,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_DrowRanger_Multishot_Buff : public CDOTABaseAbility { public: @@ -40891,7 +41450,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_DrowRanger_Marksmanship_WaveOfSilence : public CDOTABaseAbility { public: @@ -40899,7 +41458,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_DrowRanger_Marksmanship_AoE : public CDOTABaseAbility { public: @@ -40907,7 +41466,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_LucentBeam : public CDOTABaseAbility { public: @@ -40915,46 +41474,46 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_LucentBeam_Moonglow : public CDOTA_Buff { public: - int32_t bonus_aspd; // 0x11e8 - int32_t lifesteal; // 0x11ec + int32_t bonus_aspd; // 0x12b8 + int32_t lifesteal; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t bonus_damage; // 0x11ec + int32_t radius; // 0x12b8 + int32_t bonus_damage; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t night_bonus_pct; // 0x11ec + int32_t bonus_damage; // 0x12b8 + int32_t night_bonus_pct; // 0x12bc }; // Alignment: 2 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_AghsFort_Luna_MoonGlaive : public CDOTABaseAbility { public: - int32_t m_iAttackIndex; // 0x558 + int32_t m_iAttackIndex; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c public: - CUtlVector< sAghsFortGlaiveInfo > m_GlaiveInfo; // 0x560 + CUtlVector< sAghsFortGlaiveInfo > m_GlaiveInfo; // 0x570 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Active : public CDOTA_Buff { public: @@ -40962,7 +41521,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback_Buff : public CDOTA_Buff { public: @@ -40970,73 +41529,73 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback : public CDOTA_Buff { public: - int32_t attack_speed_slow; // 0x11e8 - int32_t move_speed_slow_pct; // 0x11ec + int32_t attack_speed_slow; // 0x12b8 + int32_t move_speed_slow_pct; // 0x12bc }; // Alignment: 11 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback_Bounce : public CDOTA_Buff { public: - Vector m_vLoc; // 0x11e8 - float m_flPredictedTotalTime; // 0x11f4 - Vector m_vStartPosition; // 0x11f8 - float m_flCurrentTimeHoriz; // 0x1204 - float m_flCurrentTimeVert; // 0x1208 - bool m_bHorizontalMotionInterrupted; // 0x120c - bool m_bTargetTeleported; // 0x120d + Vector m_vLoc; // 0x12b8 + float m_flPredictedTotalTime; // 0x12c4 + Vector m_vStartPosition; // 0x12c8 + float m_flCurrentTimeHoriz; // 0x12d4 + float m_flCurrentTimeVert; // 0x12d8 + bool m_bHorizontalMotionInterrupted; // 0x12dc + bool m_bTargetTeleported; // 0x12dd private: - [[maybe_unused]] uint8_t __pad120e[0x2]; // 0x120e + [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de public: - Vector m_vHorizontalVelocity; // 0x1210 - Vector m_vLastKnownTargetPosition; // 0x121c - float m_flInitialVelocityZ; // 0x1228 - float stun_duration; // 0x122c + Vector m_vHorizontalVelocity; // 0x12e0 + Vector m_vLastKnownTargetPosition; // 0x12ec + float m_flInitialVelocityZ; // 0x12f8 + float stun_duration; // 0x12fc }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive : public CDOTA_Buff { public: - int32_t range; // 0x11e8 - int32_t bounces; // 0x11ec - int32_t damage_reduction_percent; // 0x11f0 - int32_t bounce_pct; // 0x11f4 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 + int32_t range; // 0x12b8 + int32_t bounces; // 0x12bc + int32_t damage_reduction_percent; // 0x12c0 + int32_t bounce_pct; // 0x12c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x11e8 + ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_MoonMark : public CDOTA_Buff { public: - int32_t spell_resist_pct; // 0x11e8 + int32_t spell_resist_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_LunarRemnant : public CDOTA_Buff { public: - int32_t m_nBonusDamage; // 0x11e8 + int32_t m_nBonusDamage; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_LunarBlessing : public CDOTABaseAbility { public: @@ -41044,15 +41603,15 @@ public: }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Moonfright : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x11e8 + Vector m_vOriginal; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_LunarPower : public CDOTA_Buff { public: @@ -41060,15 +41619,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_MoonShield_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura_MoonShield_Trigger : public CDOTA_Buff { public: @@ -41076,23 +41635,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura_MoonShield : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Active_Buff : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 + int32_t attack_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_Lunar_Grace : public CDOTABaseAbility { public: @@ -41100,16 +41659,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_Lunar_Grace : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 - float night_multiplier; // 0x11ec + int32_t attack_speed; // 0x12b8 + float night_multiplier; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_Eclipse : public CDOTABaseAbility { public: @@ -41117,32 +41676,32 @@ public: }; // Alignment: 15 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_AghsFort_Luna_Eclipse : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - int32_t radius; // 0x11ec - int32_t beams; // 0x11f0 - int32_t hit_count; // 0x11f4 - int32_t m_iBeamDamage; // 0x11f8 - float m_flBeamStun; // 0x11fc - Vector vPosition; // 0x1200 - bool m_bAreaTarget; // 0x120c - bool m_bMoonWell; // 0x120d + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + int32_t radius; // 0x12bc + int32_t beams; // 0x12c0 + int32_t hit_count; // 0x12c4 + int32_t m_iBeamDamage; // 0x12c8 + float m_flBeamStun; // 0x12cc + Vector vPosition; // 0x12d0 + bool m_bAreaTarget; // 0x12dc + bool m_bMoonWell; // 0x12dd private: - [[maybe_unused]] uint8_t __pad120e[0x2]; // 0x120e + [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de public: - int32_t m_iTickCount; // 0x1210 - ParticleIndex_t m_nMoonlightFXIndex; // 0x1214 - CUtlVector< CHandle< CBaseEntity > > m_HitTargets; // 0x1218 - CUtlVector< CHandle< CBaseEntity > > m_HitAllies; // 0x1230 - float beam_interval; // 0x1248 - float m_flInterval; // 0x124c + int32_t m_iTickCount; // 0x12e0 + ParticleIndex_t m_nMoonlightFXIndex; // 0x12e4 + CUtlVector< CHandle< CBaseEntity > > m_HitTargets; // 0x12e8 + CUtlVector< CHandle< CBaseEntity > > m_HitAllies; // 0x1300 + float beam_interval; // 0x1318 + float m_flInterval; // 0x131c }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_LucentBeam_Bloodmoon : public CDOTABaseAbility { public: @@ -41150,7 +41709,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_LucentBeam_Diffusion : public CDOTABaseAbility { public: @@ -41158,7 +41717,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_LucentBeam_Moonglow : public CDOTABaseAbility { public: @@ -41166,7 +41725,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_LunarBlessing_MoonMark : public CDOTABaseAbility { public: @@ -41174,7 +41733,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_LunarBlessing_LunarRemnant : public CDOTABaseAbility { public: @@ -41182,7 +41741,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_MoonGlaive_AllyBounce : public CDOTABaseAbility { public: @@ -41190,7 +41749,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_MoonGlaive_DoubleMoon : public CDOTABaseAbility { public: @@ -41198,7 +41757,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_MoonGlaive_Knockback : public CDOTABaseAbility { public: @@ -41206,7 +41765,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_LunarBlessing_MoonShield : public CDOTABaseAbility { public: @@ -41214,7 +41773,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_LunarBlessing_Moonfright : public CDOTABaseAbility { public: @@ -41222,7 +41781,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_LunarBlessing_LunarPower : public CDOTABaseAbility { public: @@ -41230,7 +41789,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_Eclipse_Moonstruck : public CDOTABaseAbility { public: @@ -41238,7 +41797,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_Eclipse_LunarCycle : public CDOTABaseAbility { public: @@ -41246,7 +41805,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_Eclipse_LunarFavor : public CDOTABaseAbility { public: @@ -41254,7 +41813,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_Eclipse_LunarFocus : public CDOTABaseAbility { public: @@ -41262,7 +41821,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_LucentBeam_Glaives : public CDOTABaseAbility { public: @@ -41270,7 +41829,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_Glaives_MoonWell : public CDOTABaseAbility { public: @@ -41278,7 +41837,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Eclispe_Hide : public CDOTABaseAbility { public: @@ -41286,7 +41845,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Luna_LunarBlessing_Leap : public CDOTABaseAbility { public: @@ -41294,63 +41853,63 @@ public: }; // Alignment: 16 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Leap : public CDOTA_Buff { public: - float m_flTotalTime; // 0x11e8 - float m_flInitialVelocity; // 0x11ec - Vector m_vStartPosition; // 0x11f0 - Vector m_vTargetHorizontalDirection; // 0x11fc - float m_flCurrentTimeHoriz; // 0x1208 - float m_flCurrentTimeVert; // 0x120c - bool m_bInterrupted; // 0x1210 + float m_flTotalTime; // 0x12b8 + float m_flInitialVelocity; // 0x12bc + Vector m_vStartPosition; // 0x12c0 + Vector m_vTargetHorizontalDirection; // 0x12cc + float m_flCurrentTimeHoriz; // 0x12d8 + float m_flCurrentTimeVert; // 0x12dc + bool m_bInterrupted; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t leap_distance; // 0x1214 - float leap_speed; // 0x1218 - float leap_acceleration; // 0x121c - int32_t leap_radius; // 0x1220 - int32_t search_range; // 0x1224 - float damage_multiplier; // 0x1228 - float m_flPowerLevelPct; // 0x122c - bool m_bLaunched; // 0x1230 + int32_t leap_distance; // 0x12e4 + float leap_speed; // 0x12e8 + float leap_acceleration; // 0x12ec + int32_t leap_radius; // 0x12f0 + int32_t search_range; // 0x12f4 + float damage_multiplier; // 0x12f8 + float m_flPowerLevelPct; // 0x12fc + bool m_bLaunched; // 0x1300 private: - [[maybe_unused]] uint8_t __pad1231[0x7]; // 0x1231 + [[maybe_unused]] uint8_t __pad1301[0x7]; // 0x1301 public: - CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x1238 + CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x1308 }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_AghsFort_Luna_GlaiveShield : public CDOTABaseAbility { public: - CUtlVector< sGlaiveDef > m_GlaiveDefs; // 0x558 + CUtlVector< sGlaiveDef > m_GlaiveDefs; // 0x568 }; // Alignment: 9 -// Size: 0x13f0 +// Size: 0x14c0 class CDOTA_Modifier_AghsFort_Luna_GlaiveShield : public CDOTA_Buff { public: - bool m_bSpiritsExplode; // 0x11e8 + bool m_bSpiritsExplode; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t hit_radius; // 0x11ec - int32_t rotate_range; // 0x11f0 - int32_t glaive_movement_rate; // 0x11f4 - float replenish_time; // 0x11f8 - float m_flRotation; // 0x11fc - float m_flGlaiveRadius; // 0x1200 - GameTime_t m_flNextSpawn; // 0x1204 - bool m_bPaused; // 0x1208 + int32_t hit_radius; // 0x12bc + int32_t rotate_range; // 0x12c0 + int32_t glaive_movement_rate; // 0x12c4 + float replenish_time; // 0x12c8 + float m_flRotation; // 0x12cc + float m_flGlaiveRadius; // 0x12d0 + GameTime_t m_flNextSpawn; // 0x12d4 + bool m_bPaused; // 0x12d8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Luna_Eclipse_IntoTheNight : public CDOTA_Buff { public: @@ -41358,16 +41917,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Luna_Eclipse_IntoTheNight_Aura : public CDOTA_Buff { public: - int32_t m_nMoveSpeed; // 0x11e8 - int32_t m_nEvasion; // 0x11ec + int32_t m_nMoveSpeed; // 0x12b8 + int32_t m_nEvasion; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Lich_FrostNova : public CDOTABaseAbility { public: @@ -41375,94 +41934,94 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Lich_FrostNova_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 - int32_t slow_attack_speed; // 0x11ec - bool is_primary_target; // 0x11f0 + int32_t slow_movement_speed; // 0x12b8 + int32_t slow_attack_speed; // 0x12bc + bool is_primary_target; // 0x12c0 }; // Alignment: 3 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_AghsFort_Lich_Sinister_Gaze : public CDOTABaseAbility { public: // MNetworkEnable - CHandle< CBaseEntity > m_hShackleTarget; // 0x558 - Vector m_vPullLocation; // 0x55c - float m_flIntervalRate; // 0x568 + CHandle< CBaseEntity > m_hShackleTarget; // 0x568 + Vector m_vPullLocation; // 0x56c + float m_flIntervalRate; // 0x578 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Self : public CDOTA_Buff { public: - int32_t mana_drain; // 0x11e8 - float m_flIntervalRate; // 0x11ec + int32_t mana_drain; // 0x12b8 + float m_flIntervalRate; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - int32_t mana_drain; // 0x11ec - float m_flIntervalRate; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 + int32_t movement_speed; // 0x12b8 + int32_t mana_drain; // 0x12bc + float m_flIntervalRate; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Summon : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - int32_t base_damage_outgoing_percentage; // 0x11ec - bool m_bFirstTick; // 0x11f0 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + int32_t base_damage_outgoing_percentage; // 0x12bc + bool m_bFirstTick; // 0x12c0 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_Lich_Ice_Spire : public CDOTABaseAbility { public: - int32_t aura_radius; // 0x558 - float duration; // 0x55c + int32_t aura_radius; // 0x568 + float duration; // 0x56c }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Lich_Ice_Spire : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec - CountdownTimer m_Timer; // 0x11f0 + int32_t aura_radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc + CountdownTimer m_Timer; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Lich_Ice_Spire_Debuff : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x11e8 + int32_t bonus_movespeed; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Lich_ChainFrost_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 - int32_t slow_attack_speed; // 0x11ec + int32_t slow_movement_speed; // 0x12b8 + int32_t slow_attack_speed; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Lich_FrostShield : public CDOTABaseAbility { public: @@ -41470,48 +42029,48 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Lich_FrostShield : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float interval; // 0x11ec - int32_t damage_reduction; // 0x11f0 - int32_t bonus_health_regen; // 0x11f4 + int32_t radius; // 0x12b8 + float interval; // 0x12bc + int32_t damage_reduction; // 0x12c0 + int32_t bonus_health_regen; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Lich_FrostShield_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Lich_FrostShield_Magic_Resistance_Debuff : public CDOTA_Buff { public: - int32_t magic_resist_reduction; // 0x11e8 - int32_t max_stacks; // 0x11ec - ParticleIndex_t m_nFXStackIndex; // 0x11f0 + int32_t magic_resist_reduction; // 0x12b8 + int32_t max_stacks; // 0x12bc + ParticleIndex_t m_nFXStackIndex; // 0x12c0 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_AghsFort_Modifier_Lich_Frost_Giant : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - int32_t model_scale; // 0x11ec - int32_t damage_radius; // 0x11f0 - int32_t pct_int_damage_per_second; // 0x11f4 - float tick_rate; // 0x11f8 + int32_t movement_speed; // 0x12b8 + int32_t model_scale; // 0x12bc + int32_t damage_radius; // 0x12c0 + int32_t pct_int_damage_per_second; // 0x12c4 + float tick_rate; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_AghsFort_Modifier_Lich_Frost_Shield_Magic_Immune : public CDOTA_Modifier_MagicImmune { public: @@ -41519,31 +42078,31 @@ public: }; // Alignment: 5 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_AghsFort_Lich_ChainFrost : public CDOTABaseAbility { public: - int32_t jump_range; // 0x558 - int32_t jumps; // 0x55c - float slow_duration; // 0x560 - int32_t vision_radius; // 0x564 - int32_t projectile_speed; // 0x568 + int32_t jump_range; // 0x568 + int32_t jumps; // 0x56c + float slow_duration; // 0x570 + int32_t vision_radius; // 0x574 + int32_t projectile_speed; // 0x578 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Lich_Chain_Frost_Thinker : public CDOTA_Buff { public: - int32_t m_nDamageToHeroes; // 0x11e8 - int32_t m_nHeroesKilled; // 0x11ec - int32_t m_nJumps; // 0x11f0 - CHandle< CBaseEntity > m_hTarget; // 0x11f4 - CHandle< CBaseEntity > m_hAvoidTarget; // 0x11f8 + int32_t m_nDamageToHeroes; // 0x12b8 + int32_t m_nHeroesKilled; // 0x12bc + int32_t m_nJumps; // 0x12c0 + CHandle< CBaseEntity > m_hTarget; // 0x12c4 + CHandle< CBaseEntity > m_hAvoidTarget; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Nova_Root_Disarm : public CDOTABaseAbility { public: @@ -41551,7 +42110,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Nova_Applies_Frost_Shield : public CDOTABaseAbility { public: @@ -41559,7 +42118,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Nova_Execute_Refund : public CDOTABaseAbility { public: @@ -41567,7 +42126,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Nova_AOE_Attacks : public CDOTABaseAbility { public: @@ -41575,7 +42134,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Shield_Magic_Resist_Debuff_And_Stun : public CDOTABaseAbility { public: @@ -41583,7 +42142,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Shield_Heal : public CDOTABaseAbility { public: @@ -41591,7 +42150,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Shield_Frost_Giant : public CDOTABaseAbility { public: @@ -41599,7 +42158,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Shield_Dispels : public CDOTABaseAbility { public: @@ -41607,7 +42166,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lich_Sinister_Gaze_Spawns_Ice_Spire : public CDOTABaseAbility { public: @@ -41615,7 +42174,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lich_Sinister_Gaze_Drains_Life : public CDOTABaseAbility { public: @@ -41623,7 +42182,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lich_Sinister_Gaze_Raises_Skeletons : public CDOTABaseAbility { public: @@ -41631,7 +42190,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lich_Chain_Frost_Split : public CDOTABaseAbility { public: @@ -41639,7 +42198,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lich_Chain_Frost_Applies_Frost_Shield : public CDOTABaseAbility { public: @@ -41647,7 +42206,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Lich_Chain_Frost_Applies_Frost_Nova : public CDOTABaseAbility { public: @@ -41655,7 +42214,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Aghsfort_Lich_Extra_Chain_Frost_Jumps : public CDOTABaseAbility { public: @@ -41663,80 +42222,80 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Kunkka_Rumboldened_Immunity : public CDOTA_Modifier_MagicImmune { public: - int32_t model_scale; // 0x11e8 + int32_t model_scale; // 0x12b8 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_Kunkka_Torrent : public CDOTABaseAbility { public: - int32_t torrent_storm_chance; // 0x558 + int32_t torrent_storm_chance; // 0x568 }; // Alignment: 12 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Thinker : public CDOTA_Buff { public: - bool m_bIsSquall; // 0x11e8 - bool m_bIsSeaLegs; // 0x11e9 + bool m_bIsSquall; // 0x12b8 + bool m_bIsSeaLegs; // 0x12b9 private: - [[maybe_unused]] uint8_t __pad11ea[0x2]; // 0x11ea + [[maybe_unused]] uint8_t __pad12ba[0x2]; // 0x12ba public: - float m_flRadius; // 0x11ec - bool m_bShowEnemies; // 0x11f0 - bool m_bTorrentStorm; // 0x11f1 + float m_flRadius; // 0x12bc + bool m_bShowEnemies; // 0x12c0 + bool m_bTorrentStorm; // 0x12c1 private: - [[maybe_unused]] uint8_t __pad11f2[0x2]; // 0x11f2 + [[maybe_unused]] uint8_t __pad12c2[0x2]; // 0x12c2 public: - float m_flDelay; // 0x11f4 - float m_flFireTime; // 0x11f8 - bool m_bForcePosition; // 0x11fc + float m_flDelay; // 0x12c4 + float m_flFireTime; // 0x12c8 + bool m_bForcePosition; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - Vector m_vStartPosition; // 0x1200 - Vector m_vEndPosition; // 0x120c - int32_t m_nPercentChanceOfGhostShip; // 0x1218 - CHandle< CBaseEntity > m_hTarget; // 0x121c + Vector m_vStartPosition; // 0x12d0 + Vector m_vEndPosition; // 0x12dc + int32_t m_nPercentChanceOfGhostShip; // 0x12e8 + CHandle< CBaseEntity > m_hTarget; // 0x12ec }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Kunkka_Torrent : public CDOTA_Buff { public: - float flIntervalThinkTime; // 0x11e8 - int32_t torrent_damage; // 0x11ec - float m_flDamageScale; // 0x11f0 - float m_flStartZ; // 0x11f4 - float m_flCurTime; // 0x11f8 - bool m_bTorrentStorm; // 0x11fc + float flIntervalThinkTime; // 0x12b8 + int32_t torrent_damage; // 0x12bc + float m_flDamageScale; // 0x12c0 + float m_flStartZ; // 0x12c4 + float m_flCurTime; // 0x12c8 + bool m_bTorrentStorm; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Slow : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x11e8 + int32_t movespeed_bonus; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Kunkka_Fire_Cannons_Slow : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x11e8 + int32_t movespeed_bonus; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Kunkka_Tidebringer_Slow : public CDOTA_Buff { public: @@ -41744,7 +42303,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Kunkka_Torrent_Storm : public CDOTABaseAbility { public: @@ -41752,18 +42311,18 @@ public: }; // Alignment: 4 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Storm : public CDOTA_Buff { public: - int32_t torrent_min_distance; // 0x11e8 - int32_t torrent_max_distance; // 0x11ec - int32_t m_iExplosionQuadrant; // 0x11f0 - Vector m_vPosition; // 0x11f4 + int32_t torrent_min_distance; // 0x12b8 + int32_t torrent_max_distance; // 0x12bc + int32_t m_iExplosionQuadrant; // 0x12c0 + Vector m_vPosition; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Kunkka_Tidebringer : public CDOTABaseAbility { public: @@ -41771,51 +42330,51 @@ public: }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Kunkka_Tidebringer : public CDOTA_Buff { public: - bool m_bTidebringerAttack; // 0x11e8 + bool m_bTidebringerAttack; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t cleave_starting_width; // 0x11ec - int32_t cleave_ending_width; // 0x11f0 - int32_t cleave_distance; // 0x11f4 - int32_t damage_bonus; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc - int32_t cleave_damage; // 0x1200 - bool m_bIgnoreCooldown; // 0x1204 - bool m_bDreadPirate; // 0x1205 + int32_t cleave_starting_width; // 0x12bc + int32_t cleave_ending_width; // 0x12c0 + int32_t cleave_distance; // 0x12c4 + int32_t damage_bonus; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + int32_t cleave_damage; // 0x12d0 + bool m_bIgnoreCooldown; // 0x12d4 + bool m_bDreadPirate; // 0x12d5 }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_AghsFort_Kunkka_XMarksTheSpot : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_hThinkerEntities; // 0x558 + CUtlVector< CHandle< CBaseEntity > > m_hThinkerEntities; // 0x568 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Kunkka_NoQuarter : public CDOTA_Buff { public: - int32_t m_nSpeedBonusPercentage; // 0x11e8 + int32_t m_nSpeedBonusPercentage; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot : public CDOTA_Buff { public: - float armour_increase; // 0x11e8 - float speed_increase_pct; // 0x11ec + float armour_increase; // 0x12b8 + float speed_increase_pct; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpotMarker : public CDOTA_Buff { public: @@ -41823,29 +42382,29 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot_SeaLegs_Thinker : public CDOTA_Buff { public: - Vector m_vLastPosition; // 0x11e8 - CHandle< CBaseEntity > m_hEntity; // 0x11f4 + Vector m_vLastPosition; // 0x12b8 + CHandle< CBaseEntity > m_hEntity; // 0x12c4 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x11e8 - bool m_bIsReflection; // 0x11f4 + Vector m_vStartLoc; // 0x12b8 + bool m_bIsReflection; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - CHandle< CBaseEntity > m_hEntity; // 0x11f8 + CHandle< CBaseEntity > m_hEntity; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Kunkka_Return : public CDOTABaseAbility { public: @@ -41853,45 +42412,45 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Kunkka_Fear : public CDOTA_Buff { public: - CHandle< CDOTA_BaseNPC > m_pEntityToBeAfraidOf; // 0x11e8 + CHandle< CDOTA_BaseNPC > m_pEntityToBeAfraidOf; // 0x12b8 }; // Alignment: 6 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_AghsFort_Kunkka_GhostShip : public CDOTABaseAbility { public: - float buff_duration; // 0x558 - float stun_duration; // 0x55c - int32_t ghostship_width; // 0x560 - int32_t ghostship_width_scepter; // 0x564 - Vector m_vFinalDestination; // 0x568 - Vector m_vStartingPoint; // 0x574 + float buff_duration; // 0x568 + float stun_duration; // 0x56c + int32_t ghostship_width; // 0x570 + int32_t ghostship_width_scepter; // 0x574 + Vector m_vFinalDestination; // 0x578 + Vector m_vStartingPoint; // 0x584 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Kunkka_Ghost_Ship_Fire_Cannons : public CDOTA_Buff { public: - float m_flDistance; // 0x11e8 - float m_flSpeed; // 0x11ec - int32_t m_nNumCannons; // 0x11f0 - float m_flProjectileRadius; // 0x11f4 - bool m_bGhostShipIsEntity; // 0x11f8 + float m_flDistance; // 0x12b8 + float m_flSpeed; // 0x12bc + int32_t m_nNumCannons; // 0x12c0 + float m_flProjectileRadius; // 0x12c4 + bool m_bGhostShipIsEntity; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t m_hGhostShipProjectile; // 0x11fc - CHandle< CBaseEntity > m_hGhostShip; // 0x1200 + int32_t m_hGhostShipProjectile; // 0x12cc + CHandle< CBaseEntity > m_hGhostShip; // 0x12d0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Kunkka_Ghost_Ship_Fire_Cannons : public CDOTABaseAbility { public: @@ -41899,17 +42458,17 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Kunkka_Ghost_Ship_Fleet : public CDOTA_Buff { public: - Vector vCasterOrigin; // 0x11e8 - Vector vEnd; // 0x11f4 - int32_t m_nHitCount; // 0x1200 + Vector vCasterOrigin; // 0x12b8 + Vector vEnd; // 0x12c4 + int32_t m_nHitCount; // 0x12d0 }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_Knockback : public CDOTA_Modifier_Knockback { public: @@ -41917,7 +42476,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_Loaded : public CDOTA_Buff { public: @@ -41925,44 +42484,44 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_DamageAbsorb : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x11e8 - int32_t movespeed_bonus; // 0x11ec - float ghostship_absorb; // 0x11f0 + int32_t m_iAccumulatedDamage; // 0x12b8 + int32_t movespeed_bonus; // 0x12bc + float ghostship_absorb; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_DamageDelay : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x11e8 - float m_flDuration; // 0x11ec + int32_t m_iAccumulatedDamage; // 0x12b8 + float m_flDuration; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Kunkka_SeaSickness : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x11e8 - float m_flDuration; // 0x11ec - float m_flMovespeedBonus; // 0x11f0 + int32_t m_iAccumulatedDamage; // 0x12b8 + float m_flDuration; // 0x12bc + float m_flMovespeedBonus; // 0x12c0 }; // Alignment: 1 -// Size: 0x5c0 +// Size: 0x5d0 class CDOTA_Ability_AghsFort_Kunkka_Tidal_Wave : public CDOTABaseAbility { public: - WaveData_t m_WaveData[2]; // 0x558 + WaveData_t m_WaveData[2]; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Kunkka_Squall : public CDOTABaseAbility { public: @@ -41970,7 +42529,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Kunkka_Grog_Blossom : public CDOTABaseAbility { public: @@ -41978,7 +42537,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Kunkka_Marked : public CDOTABaseAbility { public: @@ -41986,7 +42545,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Kunkka_Green_Around_the_Gills : public CDOTABaseAbility { public: @@ -41994,7 +42553,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Kunkka_Angry_Recall : public CDOTABaseAbility { public: @@ -42002,7 +42561,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Kunkka_Keelhaul : public CDOTABaseAbility { public: @@ -42010,7 +42569,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Kunkka_Sealegs : public CDOTABaseAbility { public: @@ -42018,7 +42577,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Kunkka_Rumboldened : public CDOTABaseAbility { public: @@ -42026,7 +42585,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Kunkka_Man_the_Helm : public CDOTABaseAbility { public: @@ -42034,15 +42593,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Kunkka_Davy_Jones_Locker_Aura : public CDOTA_Buff { public: - float m_flRadius; // 0x11e8 + float m_flRadius; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Kunkka_Davy_Jones_Locker : public CDOTABaseAbility { public: @@ -42050,36 +42609,36 @@ public: }; // Alignment: 19 -// Size: 0x1290 +// Size: 0x1360 class CDOTA_Modifier_Kunkka_Man_the_Helm : public CDOTA_Modifier_MagicImmune { public: - float tick_interval; // 0x11e8 - float forward_move_speed; // 0x11ec - float turn_rate_boosted; // 0x11f0 - float turn_rate; // 0x11f4 - int32_t hit_radius; // 0x11f8 - int32_t knockback_radius; // 0x11fc - bool m_bHitFirstUpdate; // 0x1200 + float tick_interval; // 0x12b8 + float forward_move_speed; // 0x12bc + float turn_rate_boosted; // 0x12c0 + float turn_rate; // 0x12c4 + int32_t hit_radius; // 0x12c8 + int32_t knockback_radius; // 0x12cc + bool m_bHitFirstUpdate; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - GameTime_t m_flHitEndTime; // 0x1204 - float hit_recover_time; // 0x1208 - float m_flTurnBoostProgress; // 0x120c - float m_flFacingTarget; // 0x1210 - GameTime_t m_flLastHeroAttackTime; // 0x1214 - ParticleIndex_t m_nFXIndex; // 0x1218 - float m_flGyroshellDurationRemaining; // 0x121c - CUtlVector< float32 > m_flTurnHistory; // 0x1220 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x1238 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x1250 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1268 - Vector m_vDirection; // 0x1280 + GameTime_t m_flHitEndTime; // 0x12d4 + float hit_recover_time; // 0x12d8 + float m_flTurnBoostProgress; // 0x12dc + float m_flFacingTarget; // 0x12e0 + GameTime_t m_flLastHeroAttackTime; // 0x12e4 + ParticleIndex_t m_nFXIndex; // 0x12e8 + float m_flGyroshellDurationRemaining; // 0x12ec + CUtlVector< float32 > m_flTurnHistory; // 0x12f0 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x1308 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x1320 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1338 + Vector m_vDirection; // 0x1350 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Kunkka_Dread_Pirate : public CDOTABaseAbility { public: @@ -42087,7 +42646,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Kunkka_No_Quarter_Buff : public CDOTA_Buff { public: @@ -42095,15 +42654,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Kunkka_No_Quarter_Counter : public CDOTA_Buff { public: - int32_t m_nStackCount; // 0x11e8 + int32_t m_nStackCount; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Kunkka_No_Quarter : public CDOTABaseAbility { public: @@ -42111,7 +42670,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Kunkka_Skull_and_Bones : public CDOTABaseAbility { public: @@ -42119,7 +42678,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Kunkka_Tidebringer_Charges : public CDOTABaseAbility { public: @@ -42127,86 +42686,86 @@ public: }; // Alignment: 8 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_AghsFort_VoidSpirit_AetherRemnant : public CDOTABaseAbility { public: - int32_t start_radius; // 0x558 - int32_t end_radius; // 0x55c - int32_t remnant_watch_distance; // 0x560 - int32_t projectile_speed; // 0x564 + int32_t start_radius; // 0x568 + int32_t end_radius; // 0x56c + int32_t remnant_watch_distance; // 0x570 + int32_t projectile_speed; // 0x574 private: - [[maybe_unused]] uint8_t __pad0568[0x8]; // 0x568 + [[maybe_unused]] uint8_t __pad0578[0x8]; // 0x578 public: - Vector m_vDashPosition; // 0x570 - Vector m_vFacePosition; // 0x57c - Vector m_vEndpoint; // 0x588 - int32_t m_nProjectileID; // 0x594 + Vector m_vDashPosition; // 0x580 + Vector m_vFacePosition; // 0x58c + Vector m_vEndpoint; // 0x598 + int32_t m_nProjectileID; // 0x5a4 }; // Alignment: 12 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Unit : public CDOTA_Buff { public: - bool m_bActivated; // 0x11e8 + bool m_bActivated; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - Vector m_vFacingDir; // 0x11ec - CUtlVector< Vector > m_vecWatchPositions; // 0x11f8 - ParticleIndex_t m_nBeamFXIndex; // 0x1210 + Vector m_vFacingDir; // 0x12bc + CUtlVector< Vector > m_vecWatchPositions; // 0x12c8 + ParticleIndex_t m_nBeamFXIndex; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< int32 > m_nViewerIDs; // 0x1218 - int32_t remnant_watch_distance; // 0x1230 - int32_t remnant_watch_radius; // 0x1234 - float duration; // 0x1238 - int32_t watch_path_vision_radius; // 0x123c - int32_t impact_damage; // 0x1240 - float pull_duration; // 0x1244 - float activation_delay; // 0x1248 + CUtlVector< int32 > m_nViewerIDs; // 0x12e8 + int32_t remnant_watch_distance; // 0x1300 + int32_t remnant_watch_radius; // 0x1304 + float duration; // 0x1308 + int32_t watch_path_vision_radius; // 0x130c + int32_t impact_damage; // 0x1310 + float pull_duration; // 0x1314 + float activation_delay; // 0x1318 }; // Alignment: 6 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Pull : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - PlayerID_t m_nPlayerID; // 0x11ec - float m_fMovementSpeed; // 0x11f0 - Vector m_vPullTarget; // 0x11f4 - Vector m_vFacingDir; // 0x1200 - float think_interval; // 0x120c + ParticleIndex_t m_nFXIndex; // 0x12b8 + PlayerID_t m_nPlayerID; // 0x12bc + float m_fMovementSpeed; // 0x12c0 + Vector m_vPullTarget; // 0x12c4 + Vector m_vFacingDir; // 0x12d0 + float think_interval; // 0x12dc }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnantThinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - Vector m_vFacingDir; // 0x11ec - CHandle< CBaseEntity > m_hRemnant; // 0x11f8 - bool m_bTriggered; // 0x11fc + int32_t radius; // 0x12b8 + Vector m_vFacingDir; // 0x12bc + CHandle< CBaseEntity > m_hRemnant; // 0x12c8 + bool m_bTriggered; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float m_flCurThink; // 0x1200 + float m_flCurThink; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x11e8 + int32_t m_nRadius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -42214,96 +42773,96 @@ public: }; // Alignment: 9 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_AghsFort_VoidSpirit_AstralStep : public CDOTABaseAbility { public: - Vector m_vStartPos; // 0x558 - Vector m_vDestination; // 0x564 - Vector m_vDirection; // 0x570 - int32_t radius; // 0x57c - int32_t min_travel_distance; // 0x580 - int32_t max_travel_distance; // 0x584 - float debuff_duration; // 0x588 - float pop_damage_delay; // 0x58c - int32_t pop_damage; // 0x590 + Vector m_vStartPos; // 0x568 + Vector m_vDestination; // 0x574 + Vector m_vDirection; // 0x580 + int32_t radius; // 0x58c + int32_t min_travel_distance; // 0x590 + int32_t max_travel_distance; // 0x594 + float debuff_duration; // 0x598 + float pop_damage_delay; // 0x59c + int32_t pop_damage; // 0x5a0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x11e8 - float m_fVoidMarkPct; // 0x11ec - int32_t movement_slow_pct; // 0x11f0 - int32_t pop_damage; // 0x11f4 + ParticleIndex_t m_nFXStackIndex; // 0x12b8 + float m_fVoidMarkPct; // 0x12bc + int32_t movement_slow_pct; // 0x12c0 + int32_t pop_damage; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Caster : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 2 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_AghsFort_VoidSpirit_Dissimilate : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_vecTranslocatingAllies; // 0x558 - float phase_duration; // 0x570 + CUtlVector< CHandle< CBaseEntity > > m_vecTranslocatingAllies; // 0x568 + float phase_duration; // 0x580 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Phase_Ally : public CDOTA_Buff { public: - int32_t damage_radius; // 0x11e8 - float debuff_duration; // 0x11ec - int32_t destination_fx_radius; // 0x11f0 - int32_t damage; // 0x11f4 - Vector m_vExitPos; // 0x11f8 + int32_t damage_radius; // 0x12b8 + float debuff_duration; // 0x12bc + int32_t destination_fx_radius; // 0x12c0 + int32_t damage; // 0x12c4 + Vector m_vExitPos; // 0x12c8 }; // Alignment: 20 -// Size: 0x1290 +// Size: 0x1360 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Phase : public CDOTA_Buff { public: - Vector m_vFirstPortalPos; // 0x11e8 + Vector m_vFirstPortalPos; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< Vector > m_vecDestinations; // 0x11f8 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x1210 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1228 - int32_t m_nCurrentDestinationIndex; // 0x1240 - int32_t m_nClosestIndexPosToClick; // 0x1244 - int32_t m_nPortalHeightOffset; // 0x1248 + CUtlVector< Vector > m_vecDestinations; // 0x12c8 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x12e0 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x12f8 + int32_t m_nCurrentDestinationIndex; // 0x1310 + int32_t m_nClosestIndexPosToClick; // 0x1314 + int32_t m_nPortalHeightOffset; // 0x1318 private: - [[maybe_unused]] uint8_t __pad124c[0x4]; // 0x124c + [[maybe_unused]] uint8_t __pad131c[0x4]; // 0x131c public: - char* m_szAlliesPortalFX; // 0x1250 - char* m_szEnemiesPortalFX; // 0x1258 - int32_t m_nPortalRadius; // 0x1260 - int32_t m_nPortalPadding; // 0x1264 - int32_t m_nFinalImpactDamageRadius; // 0x1268 - int32_t m_nFinalImpactFXRadius; // 0x126c - int32_t destination_fx_radius; // 0x1270 - int32_t damage_radius; // 0x1274 - int32_t portals_per_ring; // 0x1278 - int32_t angle_per_ring_portal; // 0x127c - int32_t first_ring_distance_offset; // 0x1280 - float debuff_duration; // 0x1284 - int32_t damage; // 0x1288 + char* m_szAlliesPortalFX; // 0x1320 + char* m_szEnemiesPortalFX; // 0x1328 + int32_t m_nPortalRadius; // 0x1330 + int32_t m_nPortalPadding; // 0x1334 + int32_t m_nFinalImpactDamageRadius; // 0x1338 + int32_t m_nFinalImpactFXRadius; // 0x133c + int32_t destination_fx_radius; // 0x1340 + int32_t damage_radius; // 0x1344 + int32_t portals_per_ring; // 0x1348 + int32_t angle_per_ring_portal; // 0x134c + int32_t first_ring_distance_offset; // 0x1350 + float debuff_duration; // 0x1354 + int32_t damage; // 0x1358 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: @@ -42311,44 +42870,44 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: - int32_t base_absorb_amount; // 0x11e8 - int32_t m_nAbsorbRemaining; // 0x11ec + int32_t base_absorb_amount; // 0x12b8 + int32_t m_nAbsorbRemaining; // 0x12bc }; // Alignment: 5 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_AghsFort_VoidSpirit_ResonantPulse : public CDOTABaseAbility { public: - float buff_duration; // 0x558 - int32_t base_absorb_amount; // 0x55c - int32_t absorb_per_unit_hit; // 0x560 - float hero_absorb_multiplier; // 0x564 - float boss_absorb_multiplier; // 0x568 + float buff_duration; // 0x568 + int32_t base_absorb_amount; // 0x56c + int32_t absorb_per_unit_hit; // 0x570 + float hero_absorb_multiplier; // 0x574 + float boss_absorb_multiplier; // 0x578 }; // Alignment: 9 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_Ring : public CDOTA_Buff { public: - float m_fLastRadius; // 0x11e8 - float m_fCurRadius; // 0x11ec - GameTime_t m_fLastThink; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - CUtlVector< CHandle< CBaseEntity > > m_EnemiesHit; // 0x11f8 - CUtlVector< CHandle< CBaseEntity > > m_AlliesHit; // 0x1210 - int32_t speed; // 0x1228 - int32_t radius; // 0x122c - int32_t damage; // 0x1230 + float m_fLastRadius; // 0x12b8 + float m_fCurRadius; // 0x12bc + GameTime_t m_fLastThink; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + CUtlVector< CHandle< CBaseEntity > > m_EnemiesHit; // 0x12c8 + CUtlVector< CHandle< CBaseEntity > > m_AlliesHit; // 0x12e0 + int32_t speed; // 0x12f8 + int32_t radius; // 0x12fc + int32_t damage; // 0x1300 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AetherRemnant_Push : public CDOTABaseAbility { public: @@ -42356,16 +42915,16 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Push : public CDOTA_Buff { public: - Vector m_vDirection; // 0x11e8 - float m_nRemnantProjectileID; // 0x11f4 + Vector m_vDirection; // 0x12b8 + float m_nRemnantProjectileID; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AetherRemnant_PhantomAttack : public CDOTABaseAbility { public: @@ -42373,15 +42932,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_PhantomAttack_Crit : public CDOTA_Buff { public: - int32_t m_nCritPercent; // 0x11e8 + int32_t m_nCritPercent; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling : public CDOTABaseAbility { public: @@ -42389,23 +42948,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x11e8 + int32_t m_nProjectileID; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling_ImpactSlow : public CDOTA_Buff { public: - int32_t move_slow_pct; // 0x11e8 + int32_t move_slow_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_VoidSpirit_Dissimilate_Translocate : public CDOTABaseAbility { public: @@ -42413,7 +42972,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_VoidSpirit_Dissimilate_Expanse : public CDOTABaseAbility { public: @@ -42421,7 +42980,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_VoidSpirit_Dissimilate_Remnants : public CDOTABaseAbility { public: @@ -42429,7 +42988,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_VoidSpirit_Dissimilate_Lure : public CDOTABaseAbility { public: @@ -42437,28 +42996,28 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_Dissimilate_Lure_Thinker : public CDOTA_Buff { public: - int32_t m_nDamageRadius; // 0x11e8 - float m_fDissimilateDamage; // 0x11ec - float m_fThinkInterval; // 0x11f0 - float m_fDissimilateDamagePctPerInterval; // 0x11f4 - float m_fLingerDuration; // 0x11f8 + int32_t m_nDamageRadius; // 0x12b8 + float m_fDissimilateDamage; // 0x12bc + float m_fThinkInterval; // 0x12c0 + float m_fDissimilateDamagePctPerInterval; // 0x12c4 + float m_fLingerDuration; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_Dissimilate_Lure_Burn : public CDOTA_Buff { public: - float m_fDamagePerInterval; // 0x11e8 - int32_t m_nBonusIncomingMagicDamage; // 0x11ec + float m_fDamagePerInterval; // 0x12b8 + int32_t m_nBonusIncomingMagicDamage; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_VoidSpirit_ResonantPulse_Knockback : public CDOTABaseAbility { public: @@ -42466,15 +43025,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_SpellAmped : public CDOTA_Buff { public: - int32_t m_nSpellAmp; // 0x11e8 + int32_t m_nSpellAmp; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_VoidSpirit_ResonantPulse_Cadence : public CDOTABaseAbility { public: @@ -42482,23 +43041,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_Cadence : public CDOTA_Buff { public: - float m_fSpellAmp; // 0x11e8 + float m_fSpellAmp; // 0x12b8 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_Special_VoidSpirit_ResonantPulse_Suppression : public CDOTABaseAbility { public: - int32_t m_nBonusCharges; // 0x558 + int32_t m_nBonusCharges; // 0x568 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_ResonantPulse_Suppression_MagicImmunity : public CDOTA_Modifier_MagicImmune { public: @@ -42506,7 +43065,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AstralStep_Vacuum : public CDOTABaseAbility { public: @@ -42514,17 +43073,17 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Vacuum_Motion : public CDOTA_Buff { public: - float m_fVacuumSpeed; // 0x11e8 - float m_fStunDuration; // 0x11ec - Vector m_vPullLoc; // 0x11f0 + float m_fVacuumSpeed; // 0x12b8 + float m_fStunDuration; // 0x12bc + Vector m_vPullLoc; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AstralStep_Attacks : public CDOTABaseAbility { public: @@ -42532,7 +43091,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AstralStep_Attacks : public CDOTA_Buff { public: @@ -42540,7 +43099,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AstralStep_Trail : public CDOTABaseAbility { public: @@ -42548,27 +43107,27 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Trail_Thinker : public CDOTA_Buff { public: - float m_fThinkInterval; // 0x11e8 - float m_fPopDamagePctPerInterval; // 0x11ec - float m_fLingerDuration; // 0x11f0 - int32_t radius; // 0x11f4 - int32_t pop_damage; // 0x11f8 + float m_fThinkInterval; // 0x12b8 + float m_fPopDamagePctPerInterval; // 0x12bc + float m_fLingerDuration; // 0x12c0 + int32_t radius; // 0x12c4 + int32_t pop_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Trail_Burn : public CDOTA_Buff { public: - float m_fDamagePerInterval; // 0x11e8 + float m_fDamagePerInterval; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AstralStep_Breach : public CDOTABaseAbility { public: @@ -42576,15 +43135,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Breach_Burn : public CDOTA_Buff { public: - float m_fDamagePerInterval; // 0x11e8 + float m_fDamagePerInterval; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_VoidSpirit_AstralStep_RestoreTime : public CDOTABaseAbility { public: @@ -42592,7 +43151,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_VoidSpirit_AetherRemnant_Damage : public CDOTABaseAbility { public: @@ -42600,7 +43159,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_VoidSpirit_Dissimilate_Stun : public CDOTABaseAbility { public: @@ -42608,7 +43167,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_VoidSpirit_ResonantPulse_Damage : public CDOTABaseAbility { public: @@ -42616,7 +43175,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_VoidSpirit_AstralStep_Crit : public CDOTABaseAbility { public: @@ -42624,7 +43183,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_VoidSpirit_Dissimilate_Invis : public CDOTABaseAbility { public: @@ -42632,42 +43191,42 @@ public: }; // Alignment: 2 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Aghsfort_Gyrocopter_Call_Down : public CDOTABaseAbility { public: - Vector m_vEndpoint; // 0x558 - int32_t range_scepter; // 0x564 + Vector m_vEndpoint; // 0x568 + int32_t range_scepter; // 0x574 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Aghsfort_Gyrocopter_Rocket_Barrage : public CDOTABaseAbility { public: - float duration; // 0x558 + float duration; // 0x568 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Rocket_Barrage : public CDOTA_Buff { public: - int32_t rocket_damage; // 0x11e8 - int32_t m_nPower; // 0x11ec + int32_t rocket_damage; // 0x12b8 + int32_t m_nPower; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride : public CDOTA_Buff { public: - int32_t grab_radius; // 0x11e8 - CHandle< CBaseEntity > m_hLoadedUnit; // 0x11ec + int32_t grab_radius; // 0x12b8 + CHandle< CBaseEntity > m_hLoadedUnit; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Gyrocopter_Homing_Missile : public CDOTABaseAbility { public: @@ -42675,34 +43234,34 @@ public: }; // Alignment: 14 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_Gyrocopter_Homing_Missile : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - ParticleIndex_t m_nFXIndex2; // 0x11ec - int32_t acceleration; // 0x11f0 - float pre_flight_time; // 0x11f4 - float stun_duration; // 0x11f8 - int32_t m_nMissileDamage; // 0x11fc - int32_t damage; // 0x1200 - int32_t m_nTeamNumber; // 0x1204 + ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex2; // 0x12bc + int32_t acceleration; // 0x12c0 + float pre_flight_time; // 0x12c4 + float stun_duration; // 0x12c8 + int32_t m_nMissileDamage; // 0x12cc + int32_t damage; // 0x12d0 + int32_t m_nTeamNumber; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1208[0x8]; // 0x1208 + [[maybe_unused]] uint8_t __pad12d8[0x8]; // 0x12d8 public: - float speed; // 0x1210 - float m_flFacingTarget; // 0x1214 - int32_t movement_turn_rate; // 0x1218 - int32_t m_nPower; // 0x121c - CHandle< CBaseEntity > m_hAttachTarget; // 0x1220 + float speed; // 0x12e0 + float m_flFacingTarget; // 0x12e4 + int32_t movement_turn_rate; // 0x12e8 + int32_t m_nPower; // 0x12ec + CHandle< CBaseEntity > m_hAttachTarget; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad1224[0x4]; // 0x1224 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CountdownTimer m_MoveTime; // 0x1228 + CountdownTimer m_MoveTime; // 0x12f8 }; // Alignment: 0 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Aghsfort_Gyrocopter_Flak_Cannon : public CDOTABaseAbility { public: @@ -42710,62 +43269,62 @@ public: }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Gyrocopter_Flak_Cannon : public CDOTA_Buff { public: - int32_t max_attacks; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t m_iNumAttacks; // 0x11f0 - int32_t projectile_speed; // 0x11f4 - int32_t radius; // 0x11f8 - int32_t max_targets; // 0x11fc - bool m_bFirstStrike; // 0x1200 - bool m_bShouldFireMissiles; // 0x1201 + int32_t max_attacks; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t m_iNumAttacks; // 0x12c0 + int32_t projectile_speed; // 0x12c4 + int32_t radius; // 0x12c8 + int32_t max_targets; // 0x12cc + bool m_bFirstStrike; // 0x12d0 + bool m_bShouldFireMissiles; // 0x12d1 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Gyrocopter_Flak_Cannon_Scepter : public CDOTA_Buff { public: - float fire_rate; // 0x11e8 - int32_t scepter_radius; // 0x11ec - int32_t m_iAttackRecord; // 0x11f0 + float fire_rate; // 0x12b8 + int32_t scepter_radius; // 0x12bc + int32_t m_iAttackRecord; // 0x12c0 }; // Alignment: 12 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Call_Down : public CDOTA_Buff { public: - int32_t slow_duration_first; // 0x11e8 - int32_t slow_duration_second; // 0x11ec - int32_t damage_first; // 0x11f0 - int32_t damage_second; // 0x11f4 - float power; // 0x11f8 - int32_t radius; // 0x11fc - float slow_first; // 0x1200 - float slow_second; // 0x1204 - bool m_bDelayed; // 0x1208 - bool m_bHalfDamage; // 0x1209 - bool m_bFirstStrike; // 0x120a + int32_t slow_duration_first; // 0x12b8 + int32_t slow_duration_second; // 0x12bc + int32_t damage_first; // 0x12c0 + int32_t damage_second; // 0x12c4 + float power; // 0x12c8 + int32_t radius; // 0x12cc + float slow_first; // 0x12d0 + float slow_second; // 0x12d4 + bool m_bDelayed; // 0x12d8 + bool m_bHalfDamage; // 0x12d9 + bool m_bFirstStrike; // 0x12da private: - [[maybe_unused]] uint8_t __pad120b[0x1]; // 0x120b + [[maybe_unused]] uint8_t __pad12db[0x1]; // 0x12db public: - CHandle< CBaseEntity > m_hInflictorAbility; // 0x120c + CHandle< CBaseEntity > m_hInflictorAbility; // 0x12dc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Call_Down_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x11e8 + int32_t movespeed; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_RocketBarrage_OnAttack : public CDOTABaseAbility { public: @@ -42773,7 +43332,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_RocketBarrage_DoubleTarget : public CDOTABaseAbility { public: @@ -42781,7 +43340,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_RocketBarrage_Flare : public CDOTABaseAbility { public: @@ -42789,7 +43348,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_RocketBarrage_Ground : public CDOTABaseAbility { public: @@ -42797,7 +43356,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_Barrage : public CDOTABaseAbility { public: @@ -42805,7 +43364,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_Ride : public CDOTABaseAbility { public: @@ -42813,7 +43372,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_Minimissile : public CDOTABaseAbility { public: @@ -42821,7 +43380,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_CallDown : public CDOTABaseAbility { public: @@ -42829,7 +43388,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_Flak_Cannon_First_Strike : public CDOTABaseAbility { public: @@ -42837,7 +43396,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_Flak_Cannon_Side_Gunner : public CDOTABaseAbility { public: @@ -42845,7 +43404,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_Flak_Cannon_Missiles : public CDOTABaseAbility { public: @@ -42853,7 +43412,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_Flak_Cannon_FireTrail : public CDOTABaseAbility { public: @@ -42861,7 +43420,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_CallDown_AttackBuff : public CDOTABaseAbility { public: @@ -42869,7 +43428,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_CallDown_MineField : public CDOTABaseAbility { public: @@ -42877,7 +43436,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_CallDown_Strafe : public CDOTABaseAbility { public: @@ -42885,7 +43444,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_Charges : public CDOTABaseAbility { public: @@ -42893,7 +43452,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_CallDown_Precision_Strike : public CDOTABaseAbility { public: @@ -42901,16 +43460,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_RocketBarrage_On_Attack : public CDOTA_Buff { public: - int32_t strike_chance; // 0x11e8 - float duration; // 0x11ec + int32_t strike_chance; // 0x12b8 + float duration; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Gyrocopter_Rocket_Barrage_Thinker : public CDOTA_Buff { public: @@ -42918,18 +43477,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride_LoadedUnit : public CDOTA_Buff { public: - CHandle< CDOTA_BaseNPC > m_hMissile; // 0x11e8 - int32_t hit_radius; // 0x11ec - float timeout_duration; // 0x11f0 - int32_t damage; // 0x11f4 + CHandle< CDOTA_BaseNPC > m_hMissile; // 0x12b8 + int32_t hit_radius; // 0x12bc + float timeout_duration; // 0x12c0 + int32_t damage; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride_LoadedUnit_Timeout : public CDOTA_Buff { public: @@ -42937,67 +43496,67 @@ public: }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Flak_Cannon_Fire_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x11e8 - int32_t path_radius; // 0x11f4 - float linger_duration; // 0x11f8 - float flDamage; // 0x11fc + Vector m_vPathDir; // 0x12b8 + int32_t path_radius; // 0x12c4 + float linger_duration; // 0x12c8 + float flDamage; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Flak_Cannon_Fire_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x11e8 + float flDamage; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Call_Down_Attack_Buff : public CDOTA_Buff { public: - int32_t movespeed; // 0x11e8 - int32_t attackspeed; // 0x11ec + int32_t movespeed; // 0x12b8 + int32_t attackspeed; // 0x12bc }; // Alignment: 6 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Special_Gyrocopter_Call_Down_Land_Mines : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float proximity_threshold; // 0x11ec - float damage; // 0x11f0 - float activation_delay; // 0x11f4 - bool bActivated; // 0x11f8 + int32_t radius; // 0x12b8 + float proximity_threshold; // 0x12bc + float damage; // 0x12c0 + float activation_delay; // 0x12c4 + bool bActivated; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x7]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x7]; // 0x12c9 public: - CountdownTimer m_Timer; // 0x1200 + CountdownTimer m_Timer; // 0x12d0 }; // Alignment: 9 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Call_Down_Wingman : public CDOTA_Buff { public: - float m_flStartZ; // 0x11e8 - float m_flCurTime; // 0x11ec - float m_flCurVertTime; // 0x11f0 - float m_flOldPitch; // 0x11f4 - QAngle m_qRotation; // 0x11f8 - int32_t m_nRotations; // 0x1204 - Vector m_vDirection; // 0x1208 - float m_flEndTime; // 0x1214 - int32_t push_length; // 0x1218 + float m_flStartZ; // 0x12b8 + float m_flCurTime; // 0x12bc + float m_flCurVertTime; // 0x12c0 + float m_flOldPitch; // 0x12c4 + QAngle m_qRotation; // 0x12c8 + int32_t m_nRotations; // 0x12d4 + Vector m_vDirection; // 0x12d8 + float m_flEndTime; // 0x12e4 + int32_t push_length; // 0x12e8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Dawnbreaker_Fire_Wreath : public CDOTABaseAbility { public: @@ -43005,67 +43564,67 @@ public: }; // Alignment: 3 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Aghsfort_Dawnbreaker_Solar_Guardian : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hThinker; // 0x558 - bool m_bJumping; // 0x55c + CHandle< CBaseEntity > m_hThinker; // 0x568 + bool m_bJumping; // 0x56c private: - [[maybe_unused]] uint8_t __pad055d[0x3]; // 0x55d + [[maybe_unused]] uint8_t __pad056d[0x3]; // 0x56d public: - CUtlVector< CHandle< CBaseEntity > > m_vecDeathThinkers; // 0x560 + CUtlVector< CHandle< CBaseEntity > > m_vecDeathThinkers; // 0x570 }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Thinker : public CDOTA_Buff { public: - float pulse_interval; // 0x11e8 - int32_t iEffectRadius; // 0x11ec - int32_t base_damage; // 0x11f0 - int32_t base_heal; // 0x11f4 - int32_t scepter_heal; // 0x11f8 - CHandle< CBaseEntity > m_hFollowTarget; // 0x11fc - CHandle< CBaseEntity > m_hInflictor; // 0x1200 - GameTime_t m_flNextPulseTime; // 0x1204 - ParticleIndex_t m_nThinkerFXIndex; // 0x1208 + float pulse_interval; // 0x12b8 + int32_t iEffectRadius; // 0x12bc + int32_t base_damage; // 0x12c0 + int32_t base_heal; // 0x12c4 + int32_t scepter_heal; // 0x12c8 + CHandle< CBaseEntity > m_hFollowTarget; // 0x12cc + CHandle< CBaseEntity > m_hInflictor; // 0x12d0 + GameTime_t m_flNextPulseTime; // 0x12d4 + ParticleIndex_t m_nThinkerFXIndex; // 0x12d8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Evasion : public CDOTA_Buff { public: - int32_t miss_rate; // 0x11e8 + int32_t miss_rate; // 0x12b8 }; // Alignment: 7 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_Dawnbreaker_Solar_Guardian_AirTime : public CDOTA_Buff { public: - float m_flStartZ; // 0x11e8 - float m_flCurTime; // 0x11ec - Vector m_vDirection; // 0x11f0 - float m_flEndTime; // 0x11fc - CHandle< CBaseEntity > m_hThinker; // 0x1200 - Vector m_vTargetPosition; // 0x1204 - Vector m_vStartPosition; // 0x1210 + float m_flStartZ; // 0x12b8 + float m_flCurTime; // 0x12bc + Vector m_vDirection; // 0x12c0 + float m_flEndTime; // 0x12cc + CHandle< CBaseEntity > m_hThinker; // 0x12d0 + Vector m_vTargetPosition; // 0x12d4 + Vector m_vStartPosition; // 0x12e0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Disable : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x11e8 - ParticleIndex_t m_nStatusFXIndex; // 0x11ec + ParticleIndex_t m_nCasterFXIndex; // 0x12b8 + ParticleIndex_t m_nStatusFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_After_Land : public CDOTA_Buff { public: @@ -43073,7 +43632,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Dawnbreaker_Luminosity : public CDOTABaseAbility { public: @@ -43081,94 +43640,94 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity : public CDOTA_Buff { public: - bool m_bAppliesToCreeps; // 0x11e8 + bool m_bAppliesToCreeps; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t attack_count; // 0x11ec - bool m_bShouldIncrement; // 0x11f0 + int32_t attack_count; // 0x12bc + bool m_bShouldIncrement; // 0x12c0 }; // Alignment: 14 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Attack_Buff : public CDOTA_Buff { public: - bool m_bIsBuffedAttack; // 0x11e8 - bool m_bSunSentinel; // 0x11e9 + bool m_bIsBuffedAttack; // 0x12b8 + bool m_bSunSentinel; // 0x12b9 private: - [[maybe_unused]] uint8_t __pad11ea[0x2]; // 0x11ea + [[maybe_unused]] uint8_t __pad12ba[0x2]; // 0x12ba public: - int32_t heal_pct; // 0x11ec - int32_t bonus_damage; // 0x11f0 - int32_t heal_radius; // 0x11f4 - int32_t heal_from_creeps; // 0x11f8 - int32_t allied_healing_pct; // 0x11fc - int32_t m_nSmashDamage; // 0x1200 - int32_t m_nCounterOrbitalChance; // 0x1204 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesToHeal; // 0x1208 - float m_flTotalToHeal; // 0x1220 - bool m_bCounterOrbitalProcessed; // 0x1224 - bool m_bIsCounterOrbitalSmash; // 0x1225 - bool m_bBrightFoundryProcessed; // 0x1226 + int32_t heal_pct; // 0x12bc + int32_t bonus_damage; // 0x12c0 + int32_t heal_radius; // 0x12c4 + int32_t heal_from_creeps; // 0x12c8 + int32_t allied_healing_pct; // 0x12cc + int32_t m_nSmashDamage; // 0x12d0 + int32_t m_nCounterOrbitalChance; // 0x12d4 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesToHeal; // 0x12d8 + float m_flTotalToHeal; // 0x12f0 + bool m_bCounterOrbitalProcessed; // 0x12f4 + bool m_bIsCounterOrbitalSmash; // 0x12f5 + bool m_bBrightFoundryProcessed; // 0x12f6 }; // Alignment: 9 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_Aghsfort_Dawnbreaker_Celestial_Hammer : public CDOTABaseAbility { public: - int32_t projectile_speed; // 0x558 - int32_t projectile_radius; // 0x55c - int32_t hammer_damage; // 0x560 - int32_t hammer_aoe_radius; // 0x564 - int32_t flare_radius; // 0x568 - bool bHasStartedBurning; // 0x56c + int32_t projectile_speed; // 0x568 + int32_t projectile_radius; // 0x56c + int32_t hammer_damage; // 0x570 + int32_t hammer_aoe_radius; // 0x574 + int32_t flare_radius; // 0x578 + bool bHasStartedBurning; // 0x57c private: - [[maybe_unused]] uint8_t __pad056d[0x3]; // 0x56d + [[maybe_unused]] uint8_t __pad057d[0x3]; // 0x57d public: - float flare_debuff_duration; // 0x570 - int32_t return_anim_distance_threshold; // 0x574 - int32_t range; // 0x578 + float flare_debuff_duration; // 0x580 + int32_t return_anim_distance_threshold; // 0x584 + int32_t range; // 0x588 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge_Thinker : public CDOTA_Buff { public: - int32_t flare_radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec - CHandle< CBaseEntity > m_hInflictor; // 0x11f0 + int32_t flare_radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc + CHandle< CBaseEntity > m_hInflictor; // 0x12c0 }; // Alignment: 11 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x11e8 - int32_t projectile_speed; // 0x11ec - int32_t travel_speed_pct; // 0x11f0 - int32_t m_nMaxRange; // 0x11f4 - Vector m_vStartPoint; // 0x11f8 - Vector m_vLastTrailThinkerLocation; // 0x1204 - Vector m_vEndPointShard; // 0x1210 - ParticleIndex_t m_nStatusFXIndex; // 0x121c - int32_t flare_radius; // 0x1220 - bool bHasStartedBurning; // 0x1224 + int32_t m_nProjectileID; // 0x12b8 + int32_t projectile_speed; // 0x12bc + int32_t travel_speed_pct; // 0x12c0 + int32_t m_nMaxRange; // 0x12c4 + Vector m_vStartPoint; // 0x12c8 + Vector m_vLastTrailThinkerLocation; // 0x12d4 + Vector m_vEndPointShard; // 0x12e0 + ParticleIndex_t m_nStatusFXIndex; // 0x12ec + int32_t flare_radius; // 0x12f0 + bool bHasStartedBurning; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad1225[0x3]; // 0x1225 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - float flare_debuff_duration; // 0x1228 + float flare_debuff_duration; // 0x12f8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Caster : public CDOTA_Buff { public: @@ -43176,80 +43735,80 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - float trail_duration; // 0x11ec - int32_t flare_radius; // 0x11f0 - int32_t m_nProjectileHandle; // 0x11f4 - CHandle< CBaseEntity > m_hHavenThinker; // 0x11f8 + ParticleIndex_t m_nFXIndex; // 0x12b8 + float trail_duration; // 0x12bc + int32_t flare_radius; // 0x12c0 + int32_t m_nProjectileHandle; // 0x12c4 + CHandle< CBaseEntity > m_hHavenThinker; // 0x12c8 }; // Alignment: 22 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Caster : public CDOTA_Buff { public: - int32_t swipe_radius; // 0x11e8 - int32_t swipe_damage; // 0x11ec - int32_t smash_radius; // 0x11f0 - int32_t smash_damage; // 0x11f4 - int32_t m_nCurrentSpeed; // 0x11f8 - float flSwipeInterval; // 0x11fc - GameTime_t m_flNextHit; // 0x1200 - int32_t iCurrentAttack; // 0x1204 - int32_t total_attacks; // 0x1208 - float smash_stun_duration; // 0x120c - float sweep_stun_duration; // 0x1210 - bool m_bHasCompletedMove; // 0x1214 + int32_t swipe_radius; // 0x12b8 + int32_t swipe_damage; // 0x12bc + int32_t smash_radius; // 0x12c0 + int32_t smash_damage; // 0x12c4 + int32_t m_nCurrentSpeed; // 0x12c8 + float flSwipeInterval; // 0x12cc + GameTime_t m_flNextHit; // 0x12d0 + int32_t iCurrentAttack; // 0x12d4 + int32_t total_attacks; // 0x12d8 + float smash_stun_duration; // 0x12dc + float sweep_stun_duration; // 0x12e0 + bool m_bHasCompletedMove; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad1215[0x3]; // 0x1215 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - float duration; // 0x1218 - Vector m_vTargetHorizontalDirection; // 0x121c - int32_t smash_distance_from_hero; // 0x1228 - float animation_rate; // 0x122c - float turn_rate; // 0x1230 - float m_flFacingTarget; // 0x1234 - bool m_bSuncrusher; // 0x1238 + float duration; // 0x12e8 + Vector m_vTargetHorizontalDirection; // 0x12ec + int32_t smash_distance_from_hero; // 0x12f8 + float animation_rate; // 0x12fc + float turn_rate; // 0x1300 + float m_flFacingTarget; // 0x1304 + bool m_bSuncrusher; // 0x1308 private: - [[maybe_unused]] uint8_t __pad1239[0x3]; // 0x1239 + [[maybe_unused]] uint8_t __pad1309[0x3]; // 0x1309 public: - float m_flDistanceSinceStandAblazeThinker; // 0x123c - float m_flDistancePerStandAblazeThinker; // 0x1240 - CHandle< CDOTABaseAbility > m_hCelestialHammerForFire; // 0x1244 + float m_flDistanceSinceStandAblazeThinker; // 0x130c + float m_flDistancePerStandAblazeThinker; // 0x1310 + CHandle< CDOTABaseAbility > m_hCelestialHammerForFire; // 0x1314 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Attack_Bonus : public CDOTA_Buff { public: - int32_t attack_damage; // 0x11e8 + int32_t attack_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Slow : public CDOTA_Buff { public: - int32_t swipe_slow; // 0x11e8 + int32_t swipe_slow; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Smash_Stun : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - float m_flStartZ; // 0x11ec - float m_flCurTime; // 0x11f0 + int32_t damage; // 0x12b8 + float m_flStartZ; // 0x12bc + float m_flCurTime; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Dawnbreaker_Converge : public CDOTABaseAbility { public: @@ -43257,18 +43816,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 - int32_t burn_damage; // 0x11ec - float burn_interval; // 0x11f0 - CHandle< CBaseEntity > m_hInflictor; // 0x11f4 + int32_t move_slow; // 0x12b8 + int32_t burn_damage; // 0x12bc + float burn_interval; // 0x12c0 + CHandle< CBaseEntity > m_hInflictor; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Dawnbreaker_Land : public CDOTABaseAbility { public: @@ -43276,7 +43835,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_StarbreakerCelestialFire : public CDOTABaseAbility { public: @@ -43284,7 +43843,7 @@ public: }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_CelestialFire_Thinker : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge_Thinker { public: @@ -43292,7 +43851,7 @@ public: }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_CelestialFire_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: @@ -43300,7 +43859,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Starbreaker_Suncrusher : public CDOTABaseAbility { public: @@ -43308,7 +43867,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_CelestialHammer_SunForge : public CDOTABaseAbility { public: @@ -43316,7 +43875,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Luminosity_BrightFoundry : public CDOTABaseAbility { public: @@ -43324,7 +43883,7 @@ public: }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_BrightFoundry_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: @@ -43332,7 +43891,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_CelestialHammer_Haven : public CDOTABaseAbility { public: @@ -43340,7 +43899,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_CelestialHammer_HammerTime : public CDOTABaseAbility { public: @@ -43348,7 +43907,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Luminosity_SolarBattery : public CDOTABaseAbility { public: @@ -43356,18 +43915,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_SolarBattery : public CDOTA_Buff { public: - int32_t move_speed_pct; // 0x11e8 - int32_t attack_speed; // 0x11ec - int32_t m_nBonusMovementSpeedPct; // 0x11f0 - int32_t m_nBonusAttackSpeed; // 0x11f4 + int32_t move_speed_pct; // 0x12b8 + int32_t attack_speed; // 0x12bc + int32_t m_nBonusMovementSpeedPct; // 0x12c0 + int32_t m_nBonusAttackSpeed; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Luminosity_Lightbringer : public CDOTABaseAbility { public: @@ -43375,7 +43934,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Lightbringer : public CDOTA_Buff { public: @@ -43383,7 +43942,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Solar_Guardian_SunSentinel : public CDOTABaseAbility { public: @@ -43391,7 +43950,7 @@ public: }; // Alignment: 0 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_SunSentinelLuminosity_Attack_Buff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Attack_Buff { public: @@ -43399,7 +43958,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar : public CDOTABaseAbility { public: @@ -43407,7 +43966,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar : public CDOTA_Buff { public: @@ -43415,20 +43974,20 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar_Active : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - bool m_bPassive; // 0x11ec + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + bool m_bPassive; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - float m_flCooldown; // 0x11f0 + float m_flCooldown; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Solar_Guardian_SolarFlare : public CDOTABaseAbility { public: @@ -43436,7 +43995,7 @@ public: }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_SolarFlare_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: @@ -43444,7 +44003,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Starbreaker_CounterOrbital : public CDOTABaseAbility { public: @@ -43452,17 +44011,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Dawnbreaker_Starbreaker_CounterOrbital : public CDOTA_Buff { public: - int32_t trigger_chance; // 0x11e8 - float cooldown; // 0x11ec - GameTime_t m_fLastProc; // 0x11f0 + int32_t trigger_chance; // 0x12b8 + float cooldown; // 0x12bc + GameTime_t m_fLastProc; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Dawnbreaker_Starbreaker_CounterOrbital_Marker : public CDOTA_Buff { public: @@ -43470,7 +44029,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Bane_BrainSap_Invis : public CDOTABaseAbility { public: @@ -43478,7 +44037,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Bane_Nightmare_Confusion : public CDOTABaseAbility { public: @@ -43486,7 +44045,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_Allies : public CDOTABaseAbility { public: @@ -43494,7 +44053,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Bane_Nightmare_Burst : public CDOTABaseAbility { public: @@ -43502,7 +44061,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Bane_Enfeeble : public CDOTABaseAbility { public: @@ -43510,7 +44069,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble : public CDOTA_Buff { public: @@ -43518,34 +44077,34 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble_Effect : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 - int32_t heal_reduction; // 0x11ec - int32_t cast_reduction; // 0x11f0 + int32_t damage_reduction; // 0x12b8 + int32_t heal_reduction; // 0x12bc + int32_t cast_reduction; // 0x12c0 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Aghsfort_Bane_BrainSap : public CDOTABaseAbility { public: - int32_t cast_range; // 0x558 - int32_t brain_sap_damage; // 0x55c + int32_t cast_range; // 0x568 + int32_t brain_sap_damage; // 0x56c }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Aghsfort_Bane_Nightmare : public CDOTABaseAbility { public: - int32_t m_nNightmareSwapCount; // 0x558 + int32_t m_nNightmareSwapCount; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Bane_NightmareEnd : public CDOTABaseAbility { public: @@ -43553,73 +44112,73 @@ public: }; // Alignment: 12 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Bane_Nightmare : public CDOTA_Buff { public: - bool m_bSweetDreams; // 0x11e8 - bool m_bConfusion; // 0x11e9 - bool m_bSelfBreakAvailable; // 0x11ea - bool m_bNoStatusEffect; // 0x11eb - int32_t m_nSource; // 0x11ec - float animation_rate; // 0x11f0 - GameTime_t m_flNextNightmareDamageTime; // 0x11f4 - float m_flAccumNightmareDamage; // 0x11f8 - int32_t movespeed_pct; // 0x11fc - int32_t attack_speed; // 0x1200 - int32_t model_scale; // 0x1204 - CHandle< CBaseEntity > m_hConfusionAttackTarget; // 0x1208 + bool m_bSweetDreams; // 0x12b8 + bool m_bConfusion; // 0x12b9 + bool m_bSelfBreakAvailable; // 0x12ba + bool m_bNoStatusEffect; // 0x12bb + int32_t m_nSource; // 0x12bc + float animation_rate; // 0x12c0 + GameTime_t m_flNextNightmareDamageTime; // 0x12c4 + float m_flAccumNightmareDamage; // 0x12c8 + int32_t movespeed_pct; // 0x12cc + int32_t attack_speed; // 0x12d0 + int32_t model_scale; // 0x12d4 + CHandle< CBaseEntity > m_hConfusionAttackTarget; // 0x12d8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Bane_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: - int32_t m_nMoveSpeed; // 0x11e8 + int32_t m_nMoveSpeed; // 0x12b8 }; // Alignment: 6 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Aghsfort_Bane_FiendsGrip : public CDOTABaseAbility { public: // MNetworkEnable - CHandle< CBaseEntity > m_hGripTarget; // 0x558 - int32_t fiend_grip_damage; // 0x55c - int32_t fiend_grip_spread_radius; // 0x560 - float channel_time; // 0x564 - float fiend_grip_tick_interval; // 0x568 - GameTime_t m_flLastSpreadTime; // 0x56c + CHandle< CBaseEntity > m_hGripTarget; // 0x568 + int32_t fiend_grip_damage; // 0x56c + int32_t fiend_grip_spread_radius; // 0x570 + float channel_time; // 0x574 + float fiend_grip_tick_interval; // 0x578 + GameTime_t m_flLastSpreadTime; // 0x57c }; // Alignment: 9 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x11e8 - int32_t fiend_grip_boost_lifesteal_multiplier; // 0x11ec - int32_t fiend_grip_damage; // 0x11f0 - int32_t fiend_grip_spread_radius; // 0x11f4 - float fiend_grip_tick_interval; // 0x11f8 - GameTime_t m_flLastSpreadTime; // 0x11fc - bool m_bThinkerSource; // 0x1200 - bool m_bRequiresChanneling; // 0x1201 - bool m_bPrimaryGrip; // 0x1202 + int32_t fiend_grip_mana_drain; // 0x12b8 + int32_t fiend_grip_boost_lifesteal_multiplier; // 0x12bc + int32_t fiend_grip_damage; // 0x12c0 + int32_t fiend_grip_spread_radius; // 0x12c4 + float fiend_grip_tick_interval; // 0x12c8 + GameTime_t m_flLastSpreadTime; // 0x12cc + bool m_bThinkerSource; // 0x12d0 + bool m_bRequiresChanneling; // 0x12d1 + bool m_bPrimaryGrip; // 0x12d2 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Cast_Illusion : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x11e8 - float fiend_grip_tick_interval; // 0x11ec + int32_t fiend_grip_mana_drain; // 0x12b8 + float fiend_grip_tick_interval; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Self : public CDOTA_Buff { public: @@ -43627,7 +44186,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Illusion_Can_Only_Channel : public CDOTA_Buff { public: @@ -43635,7 +44194,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Illusion : public CDOTA_Buff { public: @@ -43643,7 +44202,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_DeathSpread : public CDOTABaseAbility { public: @@ -43651,7 +44210,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_DamageSteal : public CDOTABaseAbility { public: @@ -43659,15 +44218,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble_DamageStealBuff : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 + int32_t damage_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_EndFiendGrip : public CDOTABaseAbility { public: @@ -43675,15 +44234,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Bane_FiendsGripThinker : public CDOTA_Buff { public: - int32_t latch_range; // 0x11e8 + int32_t latch_range; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Bane_FiendsGrip_Spread : public CDOTABaseAbility { public: @@ -43691,7 +44250,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Bane_FiendsGrip_AutoNightmare : public CDOTABaseAbility { public: @@ -43699,7 +44258,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Bane_BrainSap_NightmareMirror : public CDOTABaseAbility { public: @@ -43707,7 +44266,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_Spill : public CDOTABaseAbility { public: @@ -43715,7 +44274,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Bane_FiendsGrip_BoostAlly : public CDOTABaseAbility { public: @@ -43723,7 +44282,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Bane_BrainSap_Knockback_Slow : public CDOTABaseAbility { public: @@ -43731,27 +44290,27 @@ public: }; // Alignment: 5 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_AghsFort_Bane_BrainSap_Knockback : public CDOTA_Modifier_Knockback { public: - int32_t radius; // 0x1218 - int32_t heal_pct; // 0x121c - float slow_duration; // 0x1220 - int32_t m_nBrainSapDamage; // 0x1224 - CUtlVector< CHandle< CBaseEntity > > m_vecHitTargets; // 0x1228 + int32_t radius; // 0x12e8 + int32_t heal_pct; // 0x12ec + float slow_duration; // 0x12f0 + int32_t m_nBrainSapDamage; // 0x12f4 + CUtlVector< CHandle< CBaseEntity > > m_vecHitTargets; // 0x12f8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Bane_BrainSap_KnockbackSlow : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x11e8 + int32_t movement_slow_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Bane_Nightmare_SweetDreams : public CDOTABaseAbility { public: @@ -43759,32 +44318,32 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Bane_BrainSap_NightmareMirror : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Bane_BrainSap_Invis : public CDOTA_Modifier_Invisible { public: - int32_t invis_movement_speed; // 0x11f8 + int32_t invis_movement_speed; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Bane_Invis_Crit : public CDOTA_Buff { public: - int32_t invis_brain_sap_crit_pct; // 0x11e8 - int32_t m_nCritPct; // 0x11ec + int32_t invis_brain_sap_crit_pct; // 0x12b8 + int32_t m_nCritPct; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Phoenix_SunRay : public CDOTABaseAbility { public: @@ -43792,7 +44351,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Phoenix_SunRayStop : public CDOTABaseAbility { public: @@ -43800,7 +44359,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Phoenix_SunRayVision : public CDOTA_Buff { public: @@ -43808,41 +44367,41 @@ public: }; // Alignment: 21 -// Size: 0x1268 +// Size: 0x1338 class CDOTA_Modifier_AghsFort_Phoenix_SunRay : public CDOTA_Buff { public: - float hp_cost_pct; // 0x11e8 - int32_t beam_range; // 0x11ec - int32_t base_damage; // 0x11f0 - int32_t base_heal; // 0x11f4 - float tick_interval; // 0x11f8 - float forward_move_speed; // 0x11fc - float turn_rate_initial; // 0x1200 - float turn_rate; // 0x1204 - int32_t radius; // 0x1208 - float m_flCurrentTime; // 0x120c - float m_flAccumulatedSelfDamage; // 0x1210 - bool m_bMovingForward; // 0x1214 - bool m_bTurningFast; // 0x1215 + float hp_cost_pct; // 0x12b8 + int32_t beam_range; // 0x12bc + int32_t base_damage; // 0x12c0 + int32_t base_heal; // 0x12c4 + float tick_interval; // 0x12c8 + float forward_move_speed; // 0x12cc + float turn_rate_initial; // 0x12d0 + float turn_rate; // 0x12d4 + int32_t radius; // 0x12d8 + float m_flCurrentTime; // 0x12dc + float m_flAccumulatedSelfDamage; // 0x12e0 + bool m_bMovingForward; // 0x12e4 + bool m_bTurningFast; // 0x12e5 private: - [[maybe_unused]] uint8_t __pad1216[0x2]; // 0x1216 + [[maybe_unused]] uint8_t __pad12e6[0x2]; // 0x12e6 public: - float m_flFacingTarget; // 0x1218 - float hp_perc_heal; // 0x121c - ParticleIndex_t m_nBeamFXIndex; // 0x1220 - CHandle< CBaseEntity > m_hVisionThinkers[8]; // 0x1224 - CHandle< CBaseEntity > m_hBeamEnd; // 0x1244 - bool m_bCreatedVisionThinkers; // 0x1248 + float m_flFacingTarget; // 0x12e8 + float hp_perc_heal; // 0x12ec + ParticleIndex_t m_nBeamFXIndex; // 0x12f0 + CHandle< CBaseEntity > m_hVisionThinkers[8]; // 0x12f4 + CHandle< CBaseEntity > m_hBeamEnd; // 0x1314 + bool m_bCreatedVisionThinkers; // 0x1318 private: - [[maybe_unused]] uint8_t __pad1249[0x3]; // 0x1249 + [[maybe_unused]] uint8_t __pad1319[0x3]; // 0x1319 public: - CHandle< CBaseEntity > m_hBeamEndSound; // 0x124c - CUtlVector< CHandle< CBaseEntity > > m_vecDispelledAllies; // 0x1250 + CHandle< CBaseEntity > m_hBeamEndSound; // 0x131c + CUtlVector< CHandle< CBaseEntity > > m_vecDispelledAllies; // 0x1320 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Phoenix_SunRayToggleMove : public CDOTABaseAbility { public: @@ -43850,15 +44409,15 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_Phoenix_IcarusDive : public CDOTABaseAbility { public: - int32_t hp_cost_perc; // 0x558 + int32_t hp_cost_perc; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Phoenix_IcarusDiveStop : public CDOTABaseAbility { public: @@ -43866,84 +44425,84 @@ public: }; // Alignment: 13 -// Size: 0x1258 +// Size: 0x1328 class CDOTA_Modifier_AghsFort_Phoenix_IcarusDive : public CDOTA_Buff { public: - Vector m_vSource; // 0x11e8 - Vector m_vTarget; // 0x11f4 - Vector m_vDirection; // 0x1200 - QAngle m_angDirection; // 0x120c - float m_flCurrentTime; // 0x1218 - int32_t dash_length; // 0x121c - int32_t dash_width; // 0x1220 - int32_t hit_radius; // 0x1224 - float burn_duration; // 0x1228 - float dive_duration; // 0x122c - int32_t damage_per_second; // 0x1230 + Vector m_vSource; // 0x12b8 + Vector m_vTarget; // 0x12c4 + Vector m_vDirection; // 0x12d0 + QAngle m_angDirection; // 0x12dc + float m_flCurrentTime; // 0x12e8 + int32_t dash_length; // 0x12ec + int32_t dash_width; // 0x12f0 + int32_t hit_radius; // 0x12f4 + float burn_duration; // 0x12f8 + float dive_duration; // 0x12fc + int32_t damage_per_second; // 0x1300 private: - [[maybe_unused]] uint8_t __pad1234[0x4]; // 0x1234 + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 public: - CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x1238 - bool m_bSavedAlly; // 0x1250 + CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x1308 + bool m_bSavedAlly; // 0x1320 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Phoenix_IcarusDiveBurn : public CDOTA_Buff { public: - float burn_tick_interval; // 0x11e8 - int32_t damage_per_second; // 0x11ec - int32_t slow_movement_speed_pct; // 0x11f0 + float burn_tick_interval; // 0x12b8 + int32_t damage_per_second; // 0x12bc + int32_t slow_movement_speed_pct; // 0x12c0 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_Phoenix_FireSpirits : public CDOTABaseAbility { public: - int32_t hp_cost_perc; // 0x558 - int32_t spirit_count; // 0x55c + int32_t hp_cost_perc; // 0x568 + int32_t spirit_count; // 0x56c }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Phoenix_FireSpiritCount : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t spirit_count; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t spirit_count; // 0x12bc }; // Alignment: 6 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_AghsFort_Phoenix_LaunchFireSpirit : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 - bool m_bUnitCarriedByArtillery; // 0x55c + ParticleIndex_t m_nFXIndex; // 0x568 + bool m_bUnitCarriedByArtillery; // 0x56c private: - [[maybe_unused]] uint8_t __pad055d[0x3]; // 0x55d + [[maybe_unused]] uint8_t __pad056d[0x3]; // 0x56d public: - int32_t m_nSpiritSpeed; // 0x560 - float m_fDuration; // 0x564 - int32_t m_nRadius; // 0x568 - int32_t m_nSpiritCount; // 0x56c + int32_t m_nSpiritSpeed; // 0x570 + float m_fDuration; // 0x574 + int32_t m_nRadius; // 0x578 + int32_t m_nSpiritCount; // 0x57c }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Phoenix_FireSpiritBurn : public CDOTA_Buff { public: - float tick_interval; // 0x11e8 - int32_t attackspeed_slow; // 0x11ec - int32_t damage_per_second; // 0x11f0 + float tick_interval; // 0x12b8 + int32_t attackspeed_slow; // 0x12bc + int32_t damage_per_second; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Phoenix_Supernova : public CDOTABaseAbility { public: @@ -43951,7 +44510,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Phoenix_SupernovaHiding : public CDOTA_Buff { public: @@ -43959,64 +44518,64 @@ public: }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Phoenix_Sun : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - float stun_duration; // 0x11ec - int32_t attacks_to_kill; // 0x11f0 - int32_t captain_attack_value; // 0x11f4 - int32_t boss_attack_value; // 0x11f8 - CHandle< CBaseEntity > m_hSecondaryTarget; // 0x11fc - bool m_bHasExpelCoreShard; // 0x1200 + int32_t aura_radius; // 0x12b8 + float stun_duration; // 0x12bc + int32_t attacks_to_kill; // 0x12c0 + int32_t captain_attack_value; // 0x12c4 + int32_t boss_attack_value; // 0x12c8 + CHandle< CBaseEntity > m_hSecondaryTarget; // 0x12cc + bool m_bHasExpelCoreShard; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t m_nAttackCount; // 0x1204 - int32_t creep_attacks_count; // 0x1208 + int32_t m_nAttackCount; // 0x12d4 + int32_t creep_attacks_count; // 0x12d8 }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Phoenix_SecondSun : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - float stun_duration; // 0x11ec - int32_t attacks_to_kill; // 0x11f0 - int32_t captain_attack_value; // 0x11f4 - int32_t boss_attack_value; // 0x11f8 - int32_t m_nAttackCount; // 0x11fc - int32_t m_nRadius; // 0x1200 - float m_fSecondSunRadiusPct; // 0x1204 - int32_t creep_attacks_count; // 0x1208 + int32_t aura_radius; // 0x12b8 + float stun_duration; // 0x12bc + int32_t attacks_to_kill; // 0x12c0 + int32_t captain_attack_value; // 0x12c4 + int32_t boss_attack_value; // 0x12c8 + int32_t m_nAttackCount; // 0x12cc + int32_t m_nRadius; // 0x12d0 + float m_fSecondSunRadiusPct; // 0x12d4 + int32_t creep_attacks_count; // 0x12d8 }; // Alignment: 12 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Phoenix_Sun_Debuff : public CDOTA_Buff { public: - int32_t damage_per_sec; // 0x11e8 - float damage_interval; // 0x11ec - int32_t aura_radius; // 0x11f0 - float m_fRadius; // 0x11f4 - float m_fSecondSunRadiusPct; // 0x11f8 - GameTime_t m_fNextDamageTime; // 0x11fc - GameTime_t m_fLastThinkTime; // 0x1200 - bool m_bHasHorizonAbility; // 0x1204 + int32_t damage_per_sec; // 0x12b8 + float damage_interval; // 0x12bc + int32_t aura_radius; // 0x12c0 + float m_fRadius; // 0x12c4 + float m_fSecondSunRadiusPct; // 0x12c8 + GameTime_t m_fNextDamageTime; // 0x12cc + GameTime_t m_fLastThinkTime; // 0x12d0 + bool m_bHasHorizonAbility; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - int32_t m_nHorizonPushDistance; // 0x1208 - float m_fHorizonPushInterval; // 0x120c - GameTime_t m_fNextHorizonPushTime; // 0x1210 - ParticleIndex_t m_nHorizonFX; // 0x1214 + int32_t m_nHorizonPushDistance; // 0x12d8 + float m_fHorizonPushInterval; // 0x12dc + GameTime_t m_fNextHorizonPushTime; // 0x12e0 + ParticleIndex_t m_nHorizonFX; // 0x12e4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Phoenix_IcarusDive_Savior : public CDOTABaseAbility { public: @@ -44024,7 +44583,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Caster : public CDOTA_Buff { public: @@ -44032,24 +44591,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Ally : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hSaviorEnt; // 0x11e8 - float ally_position_offset; // 0x11ec + CHandle< CBaseEntity > m_hSaviorEnt; // 0x12b8 + float ally_position_offset; // 0x12bc }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Invis : public CDOTA_Modifier_PersistentInvisibility { public: - float duration; // 0x11f8 + float duration; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Phoenix_IcarusDive_BlastWave : public CDOTABaseAbility { public: @@ -44057,7 +44616,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Phoenix_IcarusDive_SecondSun : public CDOTABaseAbility { public: @@ -44065,7 +44624,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Phoenix_FireSpirits_Vitality : public CDOTABaseAbility { public: @@ -44073,7 +44632,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Phoenix_FireSpirits_Artillery : public CDOTABaseAbility { public: @@ -44081,17 +44640,17 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Phoenix_FireSpirits_Artillery_Carry : public CDOTA_Buff { public: - int32_t m_nProjectileHandle; // 0x11e8 - Vector m_vDirection; // 0x11ec - float unit_position_offset; // 0x11f8 + int32_t m_nProjectileHandle; // 0x12b8 + Vector m_vDirection; // 0x12bc + float unit_position_offset; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Phoenix_FireSpirits_FlameRevenant : public CDOTABaseAbility { public: @@ -44099,7 +44658,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Passive : public CDOTA_Buff { public: @@ -44107,57 +44666,57 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Aghsfort_Phoenix_Flame_Revenant_Attack : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hTarget; // 0x558 + CHandle< CBaseEntity > m_hTarget; // 0x568 }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Attack_TreeFire_Thinker : public CDOTA_Buff { public: - CUtlVector< CUtlPair< CHandle< CBaseEntity >, GameTime_t > > m_vecTreeFires; // 0x11e8 - bool m_bCleanupWhenEmpty; // 0x1200 + CUtlVector< CUtlPair< CHandle< CBaseEntity >, GameTime_t > > m_vecTreeFires; // 0x12b8 + bool m_bCleanupWhenEmpty; // 0x12d0 }; // Alignment: 9 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Attack : public CDOTA_Buff { public: - float radius_pct_as_length; // 0x11e8 - int32_t width; // 0x11ec - float linger_duration; // 0x11f0 - float m_fLength; // 0x11f4 - ParticleIndex_t m_nBeamFXIndex; // 0x11f8 - CHandle< CBaseEntity > m_hBeamEnd; // 0x11fc - GameTime_t m_flLastHit; // 0x1200 + float radius_pct_as_length; // 0x12b8 + int32_t width; // 0x12bc + float linger_duration; // 0x12c0 + float m_fLength; // 0x12c4 + ParticleIndex_t m_nBeamFXIndex; // 0x12c8 + CHandle< CBaseEntity > m_hBeamEnd; // 0x12cc + GameTime_t m_flLastHit; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CBaseEntity* > m_vecBurningTrees; // 0x1208 - CHandle< CBaseEntity > m_hTreeFireThinker; // 0x1220 + CUtlVector< CBaseEntity* > m_vecBurningTrees; // 0x12d8 + CHandle< CBaseEntity > m_hTreeFireThinker; // 0x12f0 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Phoenix_FlameRevenant_Attack_Damage : public CDOTA_Buff { public: - float m_fDamagePerSecond; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec - ParticleIndex_t m_nActiveFXIndex; // 0x11f0 - ParticleIndex_t m_nActiveStatusFXIndex; // 0x11f4 - float flame_revenant_damage_pct; // 0x11f8 - float think_interval; // 0x11fc - int32_t move_slow_pct; // 0x1200 + float m_fDamagePerSecond; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc + ParticleIndex_t m_nActiveFXIndex; // 0x12c0 + ParticleIndex_t m_nActiveStatusFXIndex; // 0x12c4 + float flame_revenant_damage_pct; // 0x12c8 + float think_interval; // 0x12cc + int32_t move_slow_pct; // 0x12d0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Phoenix_SunRay_Luminance : public CDOTABaseAbility { public: @@ -44165,7 +44724,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Phoenix_SunRay_FocusPoint : public CDOTABaseAbility { public: @@ -44173,7 +44732,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Phoenix_SunRay_GammaRay : public CDOTABaseAbility { public: @@ -44181,24 +44740,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Phoenix_SunRay_GammaRay_Slow : public CDOTA_Buff { public: - int32_t move_slow_pct; // 0x11e8 + int32_t move_slow_pct; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Phoenix_SunRay_Luminance : public CDOTA_Buff { public: - float pct_of_heal_as_attack_speed; // 0x11e8 - float m_fAttackSpeedBonus; // 0x11ec + float pct_of_heal_as_attack_speed; // 0x12b8 + float m_fAttackSpeedBonus; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Phoenix_Supernova_Capture : public CDOTABaseAbility { public: @@ -44206,7 +44765,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Phoenix_Supernova_Horizon : public CDOTABaseAbility { public: @@ -44214,7 +44773,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Phoenix_Supernova_ExpelCore : public CDOTABaseAbility { public: @@ -44222,7 +44781,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_Phoenix_Supernova_BonusDps : public CDOTABaseAbility { public: @@ -44230,7 +44789,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_Phoenix_SunRay_Damage : public CDOTABaseAbility { public: @@ -44238,7 +44797,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_Phoenix_Supernova_AttacksToKill : public CDOTABaseAbility { public: @@ -44246,7 +44805,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_ArcWardenBoss_Flux : public CDOTABaseAbility { public: @@ -44254,28 +44813,28 @@ public: }; // Alignment: 11 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_Flux : public CDOTA_Buff { public: - int32_t m_nCasterTeam; // 0x11e8 - int32_t damage_per_tick_min; // 0x11ec - int32_t damage_per_tick_max; // 0x11f0 - int32_t search_radius; // 0x11f4 - int32_t move_speed_slow_pct; // 0x11f8 - float think_interval; // 0x11fc - float m_fCurrentDamage; // 0x1200 - float m_fDamageIncreasePerTick; // 0x1204 - int32_t m_nCurrentSlow; // 0x1208 - bool m_bAlone; // 0x120c + int32_t m_nCasterTeam; // 0x12b8 + int32_t damage_per_tick_min; // 0x12bc + int32_t damage_per_tick_max; // 0x12c0 + int32_t search_radius; // 0x12c4 + int32_t move_speed_slow_pct; // 0x12c8 + float think_interval; // 0x12cc + float m_fCurrentDamage; // 0x12d0 + float m_fDamageIncreasePerTick; // 0x12d4 + int32_t m_nCurrentSlow; // 0x12d8 + bool m_bAlone; // 0x12dc private: - [[maybe_unused]] uint8_t __pad120d[0x3]; // 0x120d + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - ParticleIndex_t m_nFXIndex; // 0x1210 + ParticleIndex_t m_nFXIndex; // 0x12e0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_AghsFort_Ability_ArcWardenBoss_MagneticField : public CDOTABaseAbility { public: @@ -44283,159 +44842,159 @@ public: }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - int32_t radius; // 0x11f0 - float explosion_delay_time; // 0x11f4 - float explosion_stun_duration; // 0x11f8 - int32_t explosion_damage; // 0x11fc - int32_t caster_team; // 0x1200 + int32_t radius; // 0x12c0 + float explosion_delay_time; // 0x12c4 + float explosion_stun_duration; // 0x12c8 + int32_t explosion_damage; // 0x12cc + int32_t caster_team; // 0x12d0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Explosion : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t explosion_damage; // 0x11ec - float explosion_stun_duration; // 0x11f0 - float explosion_delay_time; // 0x11f4 + int32_t radius; // 0x12b8 + int32_t explosion_damage; // 0x12bc + float explosion_stun_duration; // 0x12c0 + float explosion_delay_time; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Attack_Speed : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance; // 0x11e8 - int32_t radius; // 0x11ec - float aura_origin_x; // 0x11f0 - float aura_origin_y; // 0x11f4 + int32_t evasion_chance; // 0x12b8 + int32_t radius; // 0x12bc + float aura_origin_x; // 0x12c0 + float aura_origin_y; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Attack_Speed : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x11e8 + int32_t attack_speed_bonus; // 0x12b8 }; // Alignment: 5 -// Size: 0x570 +// Size: 0x580 class CDOTA_AghsFort_Ability_ArcWardenBoss_SparkWraith : public CDOTABaseAbility { public: - float duration; // 0x558 - float activation_delay; // 0x55c - float wraith_vision_duration; // 0x560 - int32_t wraith_vision_radius; // 0x564 - int32_t spark_damage; // 0x568 + float duration; // 0x568 + float activation_delay; // 0x56c + float wraith_vision_duration; // 0x570 + int32_t wraith_vision_radius; // 0x574 + int32_t spark_damage; // 0x578 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Purge : public CDOTA_Buff { public: - int32_t move_speed_slow_pct; // 0x11e8 + int32_t move_speed_slow_pct; // 0x12b8 }; // Alignment: 18 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t wraith_vision_radius; // 0x11ec - int32_t wraith_speed; // 0x11f0 + int32_t radius; // 0x12b8 + int32_t wraith_vision_radius; // 0x12bc + int32_t wraith_speed; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x8]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x8]; // 0x12c4 public: - float activation_delay; // 0x11fc - float scepter_activation_delay; // 0x1200 - float think_interval; // 0x1204 - float search_timer_min; // 0x1208 - float search_timer_max; // 0x120c - float mini_stun_duration; // 0x1210 - int32_t move_speed_slow_pct; // 0x1214 - int32_t m_nSparkDamage; // 0x1218 - bool m_bActive; // 0x121c - bool m_bOriginal; // 0x121d + float activation_delay; // 0x12cc + float scepter_activation_delay; // 0x12d0 + float think_interval; // 0x12d4 + float search_timer_min; // 0x12d8 + float search_timer_max; // 0x12dc + float mini_stun_duration; // 0x12e0 + int32_t move_speed_slow_pct; // 0x12e4 + int32_t m_nSparkDamage; // 0x12e8 + bool m_bActive; // 0x12ec + bool m_bOriginal; // 0x12ed private: - [[maybe_unused]] uint8_t __pad121e[0x2]; // 0x121e + [[maybe_unused]] uint8_t __pad12ee[0x2]; // 0x12ee public: - float m_fSearchTimer; // 0x1220 - float m_fRotationSpeed; // 0x1224 - int32_t m_nRotationDirection; // 0x1228 - Vector m_vRotationCenter; // 0x122c - ParticleIndex_t m_nFXIndex; // 0x1238 + float m_fSearchTimer; // 0x12f0 + float m_fRotationSpeed; // 0x12f4 + int32_t m_nRotationDirection; // 0x12f8 + Vector m_vRotationCenter; // 0x12fc + ParticleIndex_t m_nFXIndex; // 0x1308 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_AghsFort_Ability_ArcWardenBoss_TempestDouble : public CDOTABaseAbility { public: - int32_t m_nNumDoubles; // 0x558 + int32_t m_nNumDoubles; // 0x568 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble : public CDOTA_Buff { public: - int32_t damage_increase; // 0x11e8 + int32_t damage_increase; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble_Phase : public CDOTA_Buff { public: - int32_t num_doubles; // 0x11e8 + int32_t num_doubles; // 0x12b8 }; // Alignment: 12 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MeteorShockwave_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x11e8 - float m_fCurRadius; // 0x11ec - GameTime_t m_fLastThink; // 0x11f0 - bool m_bWindingUp; // 0x11f4 + float m_fLastRadius; // 0x12b8 + float m_fCurRadius; // 0x12bc + GameTime_t m_fLastThink; // 0x12c0 + bool m_bWindingUp; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - CountdownTimer m_ViewerTimer; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x1210 + CountdownTimer m_ViewerTimer; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x1218 - int32_t speed; // 0x1230 - int32_t radius; // 0x1234 - float knockback_distance; // 0x1238 - float knockback_duration; // 0x123c - float windup_time; // 0x1240 + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12e8 + int32_t speed; // 0x1300 + int32_t radius; // 0x1304 + float knockback_distance; // 0x1308 + float knockback_duration; // 0x130c + float windup_time; // 0x1310 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Aghsfort_Ability_ArcWardenBoss_Gleipnir : public CDOTABaseAbility { public: @@ -44443,7 +45002,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_ArcWardenBoss_SparkWraith_Missile : public CDOTABaseAbility { public: @@ -44451,35 +45010,35 @@ public: }; // Alignment: 15 -// Size: 0x1268 +// Size: 0x1338 class CDOTA_Modifier_Aghsfort_ArcWardenBoss_SparkWraith_Missile : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - ParticleIndex_t m_nFXIndex2; // 0x11ec - int32_t hero_damage; // 0x11f0 - int32_t acceleration; // 0x11f4 - int32_t min_damage; // 0x11f8 - int32_t max_distance; // 0x11fc - float pre_flight_time; // 0x1200 - float stun_duration; // 0x1204 - int32_t m_nMissileDamage; // 0x1208 - int32_t m_nTeamNumber; // 0x120c + ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex2; // 0x12bc + int32_t hero_damage; // 0x12c0 + int32_t acceleration; // 0x12c4 + int32_t min_damage; // 0x12c8 + int32_t max_distance; // 0x12cc + float pre_flight_time; // 0x12d0 + float stun_duration; // 0x12d4 + int32_t m_nMissileDamage; // 0x12d8 + int32_t m_nTeamNumber; // 0x12dc private: - [[maybe_unused]] uint8_t __pad1210[0x8]; // 0x1210 + [[maybe_unused]] uint8_t __pad12e0[0x8]; // 0x12e0 public: - float speed; // 0x1218 - CHandle< CBaseEntity > m_hAttachTarget; // 0x121c - Vector m_vStartPosition; // 0x1220 + float speed; // 0x12e8 + CHandle< CBaseEntity > m_hAttachTarget; // 0x12ec + Vector m_vStartPosition; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad122c[0x4]; // 0x122c + [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc public: - CountdownTimer m_EnemyVision; // 0x1230 - CountdownTimer m_MoveTime; // 0x1248 + CountdownTimer m_EnemyVision; // 0x1300 + CountdownTimer m_MoveTime; // 0x1318 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_ArcWardenBoss_SparkWraith_Missile_Target : public CDOTA_Buff { public: @@ -44487,7 +45046,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_BossEarthshaker_Fissure : public CDOTABaseAbility { public: @@ -44495,17 +45054,17 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Shard : public CDOTA_Buff { public: - Vector m_vStartPos; // 0x11e8 - Vector m_vEndPos; // 0x11f4 - GameTime_t m_flEndTime; // 0x1200 + Vector m_vStartPos; // 0x12b8 + Vector m_vEndPos; // 0x12c4 + GameTime_t m_flEndTime; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Shard_Pathing : public CDOTA_Buff { public: @@ -44513,7 +45072,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Stun : public CDOTA_Modifier_Stunned { public: @@ -44521,7 +45080,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Thinker : public CDOTA_Buff { public: @@ -44529,7 +45088,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_BossEarthshaker_EnchantTotem : public CDOTABaseAbility { public: @@ -44537,38 +45096,38 @@ public: }; // Alignment: 19 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_Leap : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x4]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x4]; // 0x12b8 public: - Vector m_vLoc; // 0x11ec - float m_flPredictedTotalTime; // 0x11f8 - Vector m_vStartPosition; // 0x11fc - float m_flCurrentTimeHoriz; // 0x1208 - float m_flCurrentTimeVert; // 0x120c - bool m_bHorizontalMotionInterrupted; // 0x1210 - bool m_bDamageApplied; // 0x1211 - bool m_bTargetTeleported; // 0x1212 + Vector m_vLoc; // 0x12bc + float m_flPredictedTotalTime; // 0x12c8 + Vector m_vStartPosition; // 0x12cc + float m_flCurrentTimeHoriz; // 0x12d8 + float m_flCurrentTimeVert; // 0x12dc + bool m_bHorizontalMotionInterrupted; // 0x12e0 + bool m_bDamageApplied; // 0x12e1 + bool m_bTargetTeleported; // 0x12e2 private: - [[maybe_unused]] uint8_t __pad1213[0x1]; // 0x1213 + [[maybe_unused]] uint8_t __pad12e3[0x1]; // 0x12e3 public: - Vector m_vHorizontalVelocity; // 0x1214 - Vector m_vLastKnownTargetPosition; // 0x1220 - float m_flInitialVelocityZ; // 0x122c - ParticleIndex_t m_nPreviewFX; // 0x1230 - int32_t scepter_height; // 0x1234 - int32_t scepter_height_arcbuffer; // 0x1238 - int32_t scepter_acceleration_z; // 0x123c - int32_t scepter_acceleration_horizontal; // 0x1240 - int32_t landing_radius; // 0x1244 - float landing_debuff_duration; // 0x1248 - int32_t landing_impact_damage; // 0x124c + Vector m_vHorizontalVelocity; // 0x12e4 + Vector m_vLastKnownTargetPosition; // 0x12f0 + float m_flInitialVelocityZ; // 0x12fc + ParticleIndex_t m_nPreviewFX; // 0x1300 + int32_t scepter_height; // 0x1304 + int32_t scepter_height_arcbuffer; // 0x1308 + int32_t scepter_acceleration_z; // 0x130c + int32_t scepter_acceleration_horizontal; // 0x1310 + int32_t landing_radius; // 0x1314 + float landing_debuff_duration; // 0x1318 + int32_t landing_impact_damage; // 0x131c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_Animation : public CDOTA_Buff { public: @@ -44576,28 +45135,28 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_LandDebuff : public CDOTA_Buff { public: - int32_t landing_move_slow_pct; // 0x11e8 + int32_t landing_move_slow_pct; // 0x12b8 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x11e8 - int32_t totem_damage_percentage; // 0x11ec + int32_t bonus_attack_range; // 0x12b8 + int32_t totem_damage_percentage; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11f0[0x8]; // 0x11f0 + [[maybe_unused]] uint8_t __pad12c0[0x8]; // 0x12c0 public: - bool bActive; // 0x11f8 + bool bActive; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_PrimalBeast_Boss_CreateRock : public CDOTABaseAbility { public: @@ -44605,41 +45164,41 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_Thinker : public CDOTA_Buff { public: - int32_t effect_radius; // 0x11e8 - float rock_duration; // 0x11ec - int32_t damage; // 0x11f0 + int32_t effect_radius; // 0x12b8 + float rock_duration; // 0x12bc + int32_t damage; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_HP : public CDOTA_Buff { public: - int32_t rock_health; // 0x11e8 - int32_t rock_visualzdelta; // 0x11ec - bool m_bIsCrushing; // 0x11f0 + int32_t rock_health; // 0x12b8 + int32_t rock_visualzdelta; // 0x12bc + bool m_bIsCrushing; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - int32_t summon_count; // 0x11f4 + int32_t summon_count; // 0x12c4 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_Crush : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hRock; // 0x11e8 - QAngle m_qRotation; // 0x11ec - float m_flOldPitch; // 0x11f8 + CHandle< CBaseEntity > m_hRock; // 0x12b8 + QAngle m_qRotation; // 0x12bc + float m_flOldPitch; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_PrimalBeast_Boss_HeavySteps : public CDOTABaseAbility { public: @@ -44647,201 +45206,201 @@ public: }; // Alignment: 8 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Primalbeast_Boss_HeavySteps : public CDOTA_Buff { public: - Vector vLastPos; // 0x11e8 - float flCurrentDistance; // 0x11f4 - int32_t step_distance; // 0x11f8 - int32_t effect_radius; // 0x11fc - int32_t base_damage; // 0x1200 - CHandle< CBaseEntity > m_hTarget; // 0x1204 - CountdownTimer ctLastCommandTimer; // 0x1208 - bool m_bMoveCommandIssued; // 0x1220 + Vector vLastPos; // 0x12b8 + float flCurrentDistance; // 0x12c4 + int32_t step_distance; // 0x12c8 + int32_t effect_radius; // 0x12cc + int32_t base_damage; // 0x12d0 + CHandle< CBaseEntity > m_hTarget; // 0x12d4 + CountdownTimer ctLastCommandTimer; // 0x12d8 + bool m_bMoveCommandIssued; // 0x12f0 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Aghsfort_PrimalBeast_Boss_Pummel : public CDOTABaseAbility { public: - CDOTA_BaseNPC* m_hTarget; // 0x558 + CDOTA_BaseNPC* m_hTarget; // 0x568 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - float m_flOffset; // 0x11ec - QAngle m_vStartAngles; // 0x11f0 - float animation_rate; // 0x11fc + ParticleIndex_t m_nFXIndex; // 0x12b8 + float m_flOffset; // 0x12bc + QAngle m_vStartAngles; // 0x12c0 + float animation_rate; // 0x12cc }; // Alignment: 14 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Self : public CDOTA_Buff { public: - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x11e8 - Vector m_vPos; // 0x11ec - int32_t splash_radius; // 0x11f8 - float interval; // 0x11fc - float ministun; // 0x1200 - int32_t m_nCurrentHitCount; // 0x1204 - int32_t total_ripple_circles; // 0x1208 - int32_t ripple_step_distance; // 0x120c - int32_t ripple_step_distance_offset; // 0x1210 - float health_damage; // 0x1214 - float ripple_duration; // 0x1218 - int32_t ripple_damage; // 0x121c - CUtlVector< int32 > m_vLastRippleOffsets; // 0x1220 - float self_animation_rate; // 0x1238 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x12b8 + Vector m_vPos; // 0x12bc + int32_t splash_radius; // 0x12c8 + float interval; // 0x12cc + float ministun; // 0x12d0 + int32_t m_nCurrentHitCount; // 0x12d4 + int32_t total_ripple_circles; // 0x12d8 + int32_t ripple_step_distance; // 0x12dc + int32_t ripple_step_distance_offset; // 0x12e0 + float health_damage; // 0x12e4 + float ripple_duration; // 0x12e8 + int32_t ripple_damage; // 0x12ec + CUtlVector< int32 > m_vLastRippleOffsets; // 0x12f0 + float self_animation_rate; // 0x1308 }; // Alignment: 10 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Ripple_Thinker : public CDOTA_Buff { public: - int32_t ripple_effect_width; // 0x11e8 - int32_t ripple_damage; // 0x11ec - int32_t health_damage; // 0x11f0 - int32_t ripple_count; // 0x11f4 - int32_t total_ripple_circles; // 0x11f8 - float radius; // 0x11fc - float ripple_slow_duration; // 0x1200 - float ripple_knockback_duration; // 0x1204 - CHandle< CBaseEntity > m_hGrabbedEnemy; // 0x1208 - ParticleIndex_t m_nPreviewFXIndex; // 0x120c + int32_t ripple_effect_width; // 0x12b8 + int32_t ripple_damage; // 0x12bc + int32_t health_damage; // 0x12c0 + int32_t ripple_count; // 0x12c4 + int32_t total_ripple_circles; // 0x12c8 + float radius; // 0x12cc + float ripple_slow_duration; // 0x12d0 + float ripple_knockback_duration; // 0x12d4 + CHandle< CBaseEntity > m_hGrabbedEnemy; // 0x12d8 + ParticleIndex_t m_nPreviewFXIndex; // 0x12dc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Damage_Tracking : public CDOTA_Buff { public: - int32_t damage_limit; // 0x11e8 - ParticleIndex_t m_nFxIndex; // 0x11ec - float m_fTotalDamage; // 0x11f0 + int32_t damage_limit; // 0x12b8 + ParticleIndex_t m_nFxIndex; // 0x12bc + float m_fTotalDamage; // 0x12c0 }; // Alignment: 10 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_End_Knockback : public CDOTA_Buff { public: - Vector m_vLoc; // 0x11e8 - float m_flPredictedTotalTime; // 0x11f4 - Vector m_vStartPosition; // 0x11f8 - float m_flCurrentTimeHoriz; // 0x1204 - float m_flCurrentTimeVert; // 0x1208 - bool m_bHorizontalMotionInterrupted; // 0x120c - bool m_bTargetTeleported; // 0x120d + Vector m_vLoc; // 0x12b8 + float m_flPredictedTotalTime; // 0x12c4 + Vector m_vStartPosition; // 0x12c8 + float m_flCurrentTimeHoriz; // 0x12d4 + float m_flCurrentTimeVert; // 0x12d8 + bool m_bHorizontalMotionInterrupted; // 0x12dc + bool m_bTargetTeleported; // 0x12dd private: - [[maybe_unused]] uint8_t __pad120e[0x2]; // 0x120e + [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de public: - Vector m_vHorizontalVelocity; // 0x1210 - Vector m_vLastKnownTargetPosition; // 0x121c - float m_flInitialVelocityZ; // 0x1228 + Vector m_vHorizontalVelocity; // 0x12e0 + Vector m_vLastKnownTargetPosition; // 0x12ec + float m_flInitialVelocityZ; // 0x12f8 }; // Alignment: 14 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Pummel_LootDrop_Thinker : public CDOTA_Buff { public: - bool m_bAutoPickup; // 0x11e8 - bool m_bOnlyPlayerHeroPickup; // 0x11e9 - bool m_bCreepHeroPickup; // 0x11ea - bool m_bAutoUse; // 0x11eb - bool m_bFlying; // 0x11ec + bool m_bAutoPickup; // 0x12b8 + bool m_bOnlyPlayerHeroPickup; // 0x12b9 + bool m_bCreepHeroPickup; // 0x12ba + bool m_bAutoUse; // 0x12bb + bool m_bFlying; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - GameTime_t m_flKnockbackStartTime; // 0x11f0 - GameTime_t m_flKnockbackEndTime; // 0x11f4 - float m_flKnockbackHeight; // 0x11f8 - float m_flInitialHeight; // 0x11fc - float m_flKnockbackDuration; // 0x1200 - float m_flEndHeight; // 0x1204 - Vector m_vStartPos; // 0x1208 - Vector m_vEndPos; // 0x1214 - ParticleIndex_t m_nContainerFx; // 0x1220 + GameTime_t m_flKnockbackStartTime; // 0x12c0 + GameTime_t m_flKnockbackEndTime; // 0x12c4 + float m_flKnockbackHeight; // 0x12c8 + float m_flInitialHeight; // 0x12cc + float m_flKnockbackDuration; // 0x12d0 + float m_flEndHeight; // 0x12d4 + Vector m_vStartPos; // 0x12d8 + Vector m_vEndPos; // 0x12e4 + ParticleIndex_t m_nContainerFx; // 0x12f0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Pummel_DroppedItem : public CDOTA_Buff { public: - ParticleIndex_t m_nPreviewFXIndex; // 0x11e8 + ParticleIndex_t m_nPreviewFXIndex; // 0x12b8 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Aghsfort_PrimalBeast_Boss_Onslaught : public CDOTABaseAbility { public: - float max_charge_time; // 0x558 + float max_charge_time; // 0x568 }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Windup : public CDOTA_Buff { public: - float m_flFacingTarget; // 0x11e8 - CHandle< CBaseEntity > m_hTarget; // 0x11ec - ParticleIndex_t m_nCrosshairFX; // 0x11f0 - float charge_duration; // 0x11f4 - float max_charge_time; // 0x11f8 - float turn_rate; // 0x11fc - float base_power; // 0x1200 - int32_t charge_speed; // 0x1204 - float animation_rate; // 0x1208 + float m_flFacingTarget; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12bc + ParticleIndex_t m_nCrosshairFX; // 0x12c0 + float charge_duration; // 0x12c4 + float max_charge_time; // 0x12c8 + float turn_rate; // 0x12cc + float base_power; // 0x12d0 + int32_t charge_speed; // 0x12d4 + float animation_rate; // 0x12d8 }; // Alignment: 9 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Movement : public CDOTA_Buff { public: - float charge_speed; // 0x11e8 - int32_t knockback_radius; // 0x11ec - int32_t knockback_distance; // 0x11f0 - int32_t knockback_damage; // 0x11f4 - int32_t forward_offset; // 0x11f8 - CHandle< CBaseEntity > m_hTarget; // 0x11fc - float m_flFacingTarget; // 0x1200 - ParticleIndex_t m_nFXIndex; // 0x1204 - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1208 + float charge_speed; // 0x12b8 + int32_t knockback_radius; // 0x12bc + int32_t knockback_distance; // 0x12c0 + int32_t knockback_damage; // 0x12c4 + int32_t forward_offset; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12cc + float m_flFacingTarget; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12d8 }; // Alignment: 10 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Knockback : public CDOTA_Buff { public: - Vector m_vLoc; // 0x11e8 - float m_flPredictedTotalTime; // 0x11f4 - Vector m_vStartPosition; // 0x11f8 - float m_flCurrentTimeHoriz; // 0x1204 - float m_flCurrentTimeVert; // 0x1208 - bool m_bHorizontalMotionInterrupted; // 0x120c - bool m_bTargetTeleported; // 0x120d + Vector m_vLoc; // 0x12b8 + float m_flPredictedTotalTime; // 0x12c4 + Vector m_vStartPosition; // 0x12c8 + float m_flCurrentTimeHoriz; // 0x12d4 + float m_flCurrentTimeVert; // 0x12d8 + bool m_bHorizontalMotionInterrupted; // 0x12dc + bool m_bTargetTeleported; // 0x12dd private: - [[maybe_unused]] uint8_t __pad120e[0x2]; // 0x120e + [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de public: - Vector m_vHorizontalVelocity; // 0x1210 - Vector m_vLastKnownTargetPosition; // 0x121c - float m_flInitialVelocityZ; // 0x1228 + Vector m_vHorizontalVelocity; // 0x12e0 + Vector m_vLastKnownTargetPosition; // 0x12ec + float m_flInitialVelocityZ; // 0x12f8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_PrimalBeast_Boss_Inhibition : public CDOTABaseAbility { public: @@ -44849,24 +45408,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Inhibition : public CDOTA_Buff { public: - float debuff_duration; // 0x11e8 + float debuff_duration; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Inhibition_Debuff : public CDOTA_Buff { public: - int32_t heal_suppression_pct; // 0x11e8 - int32_t armor_reduction_pct; // 0x11ec + int32_t heal_suppression_pct; // 0x12b8 + int32_t armor_reduction_pct; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_PrimalBeast_Boss_Vault : public CDOTABaseAbility { public: @@ -44874,133 +45433,133 @@ public: }; // Alignment: 12 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Vault : public CDOTA_Buff { public: - float m_flTotalTime; // 0x11e8 - float m_flInitialVelocity; // 0x11ec - GameTime_t m_flEndTime; // 0x11f0 - Vector m_vStartPosition; // 0x11f4 - Vector m_vTargetHorizontalDirection; // 0x1200 - float m_flCurrentTimeHoriz; // 0x120c - float m_flCurrentTimeVert; // 0x1210 - bool m_bInterrupted; // 0x1214 - bool m_bStartedLandingSequence; // 0x1215 + float m_flTotalTime; // 0x12b8 + float m_flInitialVelocity; // 0x12bc + GameTime_t m_flEndTime; // 0x12c0 + Vector m_vStartPosition; // 0x12c4 + Vector m_vTargetHorizontalDirection; // 0x12d0 + float m_flCurrentTimeHoriz; // 0x12dc + float m_flCurrentTimeVert; // 0x12e0 + bool m_bInterrupted; // 0x12e4 + bool m_bStartedLandingSequence; // 0x12e5 private: - [[maybe_unused]] uint8_t __pad1216[0x2]; // 0x1216 + [[maybe_unused]] uint8_t __pad12e6[0x2]; // 0x12e6 public: - float vault_speed; // 0x1218 - float vault_acceleration; // 0x121c - int32_t vault_radius; // 0x1220 + float vault_speed; // 0x12e8 + float vault_acceleration; // 0x12ec + int32_t vault_radius; // 0x12f0 }; // Alignment: 6 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Aghsfort_PrimalBeast_Boss_ThrowAttack : public CDOTABaseAbility { public: - int32_t base_damage; // 0x558 - int32_t hp_damage_pct; // 0x55c - int32_t impact_radius; // 0x560 - int32_t fragment_impact_distance; // 0x564 - int32_t min_range; // 0x568 - ParticleIndex_t m_nFXPreview; // 0x56c + int32_t base_damage; // 0x568 + int32_t hp_damage_pct; // 0x56c + int32_t impact_radius; // 0x570 + int32_t fragment_impact_distance; // 0x574 + int32_t min_range; // 0x578 + ParticleIndex_t m_nFXPreview; // 0x57c }; // Alignment: 8 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Aghsfort_PrimalBeast_Boss_RoarAttack : public CDOTABaseAbility { public: - int32_t speed; // 0x558 - int32_t projectile_count; // 0x55c - float rotation_angle; // 0x560 - float damage; // 0x564 - float radius; // 0x568 + int32_t speed; // 0x568 + int32_t projectile_count; // 0x56c + float rotation_angle; // 0x570 + float damage; // 0x574 + float radius; // 0x578 private: - [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c + [[maybe_unused]] uint8_t __pad057c[0x4]; // 0x57c public: - CountdownTimer ctTimer; // 0x570 - Vector m_vecStartRot; // 0x588 - Vector m_vecEndRot; // 0x594 + CountdownTimer ctTimer; // 0x580 + Vector m_vecStartRot; // 0x598 + Vector m_vecEndRot; // 0x5a4 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Primalbeast_Boss_RoarAttack_Start : public CDOTA_Buff { public: - int32_t rock_drop_intervals; // 0x11e8 - int32_t rock_drop_per_interval; // 0x11ec - int32_t rock_drop_distance; // 0x11f0 - int32_t m_nCurrentInterval; // 0x11f4 - int32_t rock_drop_rotation_angle; // 0x11f8 - CHandle< CBaseEntity > m_hTarget; // 0x11fc + int32_t rock_drop_intervals; // 0x12b8 + int32_t rock_drop_per_interval; // 0x12bc + int32_t rock_drop_distance; // 0x12c0 + int32_t m_nCurrentInterval; // 0x12c4 + int32_t rock_drop_rotation_angle; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_NoCC : public CDOTA_Buff { public: - bool bCanbeMotionControlled; // 0x11e8 + bool bCanbeMotionControlled; // 0x12b8 }; // Alignment: 23 -// Size: 0x1298 +// Size: 0x1368 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift : public CDOTA_Buff { public: - int32_t projectile_speed; // 0x11e8 - int32_t projectile_speed_increment; // 0x11ec - int32_t projectile_distance; // 0x11f0 - int32_t projectile_width; // 0x11f4 - int32_t projectiles_per_interval; // 0x11f8 - int32_t projectiles_per_interval_increment; // 0x11fc - int32_t initial_spread_angle; // 0x1200 - int32_t angle_offset; // 0x1204 - int32_t iCurrentInterval; // 0x1208 - int32_t splinter_angle; // 0x120c - CountdownTimer m_LeftHandSmashTimer; // 0x1210 - CountdownTimer m_RightHandSmashTimer; // 0x1228 - CountdownTimer m_AttackIntervalTimer; // 0x1240 - float initial_interval; // 0x1258 - float interval_reduction; // 0x125c - float min_interval; // 0x1260 - int32_t arm_distance_forward; // 0x1264 - int32_t arm_distance_side; // 0x1268 - int32_t splash_radius; // 0x126c - int32_t max_split_amount; // 0x1270 - int32_t m_nCurrentCastCount; // 0x1274 - int32_t max_projectiles; // 0x1278 + int32_t projectile_speed; // 0x12b8 + int32_t projectile_speed_increment; // 0x12bc + int32_t projectile_distance; // 0x12c0 + int32_t projectile_width; // 0x12c4 + int32_t projectiles_per_interval; // 0x12c8 + int32_t projectiles_per_interval_increment; // 0x12cc + int32_t initial_spread_angle; // 0x12d0 + int32_t angle_offset; // 0x12d4 + int32_t iCurrentInterval; // 0x12d8 + int32_t splinter_angle; // 0x12dc + CountdownTimer m_LeftHandSmashTimer; // 0x12e0 + CountdownTimer m_RightHandSmashTimer; // 0x12f8 + CountdownTimer m_AttackIntervalTimer; // 0x1310 + float initial_interval; // 0x1328 + float interval_reduction; // 0x132c + float min_interval; // 0x1330 + int32_t arm_distance_forward; // 0x1334 + int32_t arm_distance_side; // 0x1338 + int32_t splash_radius; // 0x133c + int32_t max_split_amount; // 0x1340 + int32_t m_nCurrentCastCount; // 0x1344 + int32_t max_projectiles; // 0x1348 private: - [[maybe_unused]] uint8_t __pad127c[0x4]; // 0x127c + [[maybe_unused]] uint8_t __pad134c[0x4]; // 0x134c public: - CUtlVector< int32 > m_vecProjectileHandles; // 0x1280 + CUtlVector< int32 > m_vecProjectileHandles; // 0x1350 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Aghsfort_PrimalBeast_Boss_TectonicShift : public CDOTABaseAbility { public: - int32_t damage; // 0x558 + int32_t damage; // 0x568 }; // Alignment: 4 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Aghsfort_PrimalBeast_Boss_PrimalRoar : public CDOTABaseAbility { public: - int32_t path_width; // 0x558 - float push_duration; // 0x55c - int32_t push_distance; // 0x560 - int32_t min_distance; // 0x564 + int32_t path_width; // 0x568 + float push_duration; // 0x56c + int32_t push_distance; // 0x570 + int32_t min_distance; // 0x574 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Stun : public CDOTA_Modifier_Stunned { public: @@ -45008,24 +45567,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x11e8 - int32_t slow_attack_speed_pct; // 0x11ec + int32_t slow_movement_speed_pct; // 0x12b8 + int32_t slow_attack_speed_pct; // 0x12bc }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Push : public CDOTA_Buff { public: - Vector m_vVelocity; // 0x11e8 + Vector m_vVelocity; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_InAbilityPhaseStart : public CDOTA_Buff { public: @@ -45033,7 +45592,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_CastTracker : public CDOTA_Buff { public: @@ -45041,7 +45600,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_TimeOut : public CDOTA_Buff { public: @@ -45049,25 +45608,25 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_Damage : public CDOTA_Buff { public: - float tick_damage; // 0x11e8 - int32_t damage_ticks; // 0x11ec - int32_t m_nTickAmount; // 0x11f0 + float tick_damage; // 0x12b8 + int32_t damage_ticks; // 0x12bc + int32_t m_nTickAmount; // 0x12c0 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Aghsfort_Sand_King_SandStorm : public CDOTABaseAbility { public: - int32_t m_iRadius; // 0x558 + int32_t m_iRadius; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Sand_King_CausticFinale : public CDOTABaseAbility { public: @@ -45075,141 +45634,141 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinaleOrb : public CDOTA_Buff { public: - int32_t caustic_finale_radius; // 0x11e8 - int32_t caustic_finale_damage_death; // 0x11ec - int32_t caustic_finale_damage_dot; // 0x11f0 - int32_t caustic_finale_slow; // 0x11f4 - float caustic_finale_dot_tick; // 0x11f8 + int32_t caustic_finale_radius; // 0x12b8 + int32_t caustic_finale_damage_death; // 0x12bc + int32_t caustic_finale_damage_dot; // 0x12c0 + int32_t caustic_finale_slow; // 0x12c4 + float caustic_finale_dot_tick; // 0x12c8 }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinale : public CDOTA_Buff { public: - float caustic_finale_duration; // 0x11e8 + float caustic_finale_duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike_Reverse_Tracking : public CDOTA_Buff { public: - Vector m_vStartLocation; // 0x11e8 + Vector m_vStartLocation; // 0x12b8 }; // Alignment: 4 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Aghsfort_Sand_King_BurrowStrike : public CDOTABaseAbility { public: - int32_t burrow_width; // 0x558 - int32_t burrow_speed; // 0x55c - float burrow_anim_time; // 0x560 - Vector m_vStartLocation; // 0x564 + int32_t burrow_width; // 0x568 + int32_t burrow_speed; // 0x56c + float burrow_anim_time; // 0x570 + Vector m_vStartLocation; // 0x574 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Sand_King_Impale : public CDOTA_Buff { public: - float m_flStartZ; // 0x11e8 - float m_flCurTime; // 0x11ec - bool m_bDamageApplied; // 0x11f0 + float m_flStartZ; // 0x12b8 + float m_flCurTime; // 0x12bc + bool m_bDamageApplied; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - float m_flPower; // 0x11f4 + float m_flPower; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike : public CDOTA_Buff { public: - Vector m_vPopupLocation; // 0x11e8 - bool m_bTeleported; // 0x11f4 + Vector m_vPopupLocation; // 0x12b8 + bool m_bTeleported; // 0x12c4 }; // Alignment: 10 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm : public CDOTA_Buff { public: - float sand_storm_radius; // 0x11e8 - int32_t sand_storm_damage; // 0x11ec - float damage_tick_rate; // 0x11f0 - GameTime_t m_flLastDamageTime; // 0x11f4 - ParticleIndex_t m_nSandStormParticleIndex1; // 0x11f8 - ParticleIndex_t m_nSandStormParticleIndex2; // 0x11fc + float sand_storm_radius; // 0x12b8 + int32_t sand_storm_damage; // 0x12bc + float damage_tick_rate; // 0x12c0 + GameTime_t m_flLastDamageTime; // 0x12c4 + ParticleIndex_t m_nSandStormParticleIndex1; // 0x12c8 + ParticleIndex_t m_nSandStormParticleIndex2; // 0x12cc private: - [[maybe_unused]] uint8_t __pad1200[0x8]; // 0x1200 + [[maybe_unused]] uint8_t __pad12d0[0x8]; // 0x12d0 public: - CHandle< CBaseEntity > m_hThinker; // 0x1208 - CHandle< CBaseEntity > m_hBurrowstrikeFieldThinker; // 0x120c - bool m_bIsPrimarySandstorm; // 0x1210 + CHandle< CBaseEntity > m_hThinker; // 0x12d8 + CHandle< CBaseEntity > m_hBurrowstrikeFieldThinker; // 0x12dc + bool m_bIsPrimarySandstorm; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - Vector vecSpawnPos; // 0x1214 + Vector vecSpawnPos; // 0x12e4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow_Aura_Thinker : public CDOTA_Buff { public: - float sand_storm_radius; // 0x11e8 + float sand_storm_radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow : public CDOTA_Buff { public: - int32_t blind_slow_pct; // 0x11e8 + int32_t blind_slow_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Aghsfort_Sand_King_Epicenter : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXEpicenterIndex; // 0x558 + ParticleIndex_t m_nFXEpicenterIndex; // 0x568 }; // Alignment: 5 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_Sand_King_Epicenter : public CDOTA_Buff { public: - int32_t epicenter_pulses; // 0x11e8 - int32_t epicenter_radius[16]; // 0x11ec - int32_t epicenter_damage; // 0x122c - int32_t m_iMaxPulses; // 0x1230 - int32_t m_iPulseCount; // 0x1234 + int32_t epicenter_pulses; // 0x12b8 + int32_t epicenter_radius[16]; // 0x12bc + int32_t epicenter_damage; // 0x12fc + int32_t m_iMaxPulses; // 0x1300 + int32_t m_iPulseCount; // 0x1304 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Sand_King_Epicenter_Slow : public CDOTA_Buff { public: - int32_t epicenter_slow; // 0x11e8 - int32_t epicenter_slow_as; // 0x11ec + int32_t epicenter_slow; // 0x12b8 + int32_t epicenter_slow_as; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Sand_King_BurrowStrike_Reverse : public CDOTABaseAbility { public: @@ -45217,54 +45776,54 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike_Channel : public CDOTA_Buff { public: - Vector m_vTargetPos; // 0x11e8 - ParticleIndex_t m_nCrosshairFX; // 0x11f4 + Vector m_vTargetPos; // 0x12b8 + ParticleIndex_t m_nCrosshairFX; // 0x12c4 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Sand_King_Burrowstrike_Transport : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x11e8 - Vector m_vDirection; // 0x11ec - float m_flEndTime; // 0x11f8 - float m_flCurTime; // 0x11fc + int32_t m_nProjectileID; // 0x12b8 + Vector m_vDirection; // 0x12bc + float m_flEndTime; // 0x12c8 + float m_flCurTime; // 0x12cc }; // Alignment: 11 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Sand_King_Sandstorm_Burrowstrike_Field_Thinker : public CDOTA_Buff { public: - float radius; // 0x11e8 - float explosion_interval; // 0x11ec - int32_t explosion_radius; // 0x11f0 - int32_t explosion_min_dist; // 0x11f4 - float m_fLastTick; // 0x11f8 - float m_fTimeAccumulator; // 0x11fc - int32_t m_iExplosionCount; // 0x1200 - int32_t m_iExplosionTotalCount; // 0x1204 - int32_t m_iExplosionQuadrant; // 0x1208 - int32_t m_iExplosionDistance; // 0x120c - ParticleIndex_t m_nFXIndex; // 0x1210 + float radius; // 0x12b8 + float explosion_interval; // 0x12bc + int32_t explosion_radius; // 0x12c0 + int32_t explosion_min_dist; // 0x12c4 + float m_fLastTick; // 0x12c8 + float m_fTimeAccumulator; // 0x12cc + int32_t m_iExplosionCount; // 0x12d0 + int32_t m_iExplosionTotalCount; // 0x12d4 + int32_t m_iExplosionQuadrant; // 0x12d8 + int32_t m_iExplosionDistance; // 0x12dc + ParticleIndex_t m_nFXIndex; // 0x12e0 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Sandstorm_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x11e8 - Vector vPullLocation; // 0x11ec + float pull_speed; // 0x12b8 + Vector vPullLocation; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinale_Active : public CDOTA_Buff { public: @@ -45272,7 +45831,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Sand_King_BurrowStrike_Channel : public CDOTABaseAbility { public: @@ -45280,7 +45839,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Sand_King_BurrowStrike_Transport : public CDOTABaseAbility { public: @@ -45288,7 +45847,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Sand_King_SandStorm_Independant : public CDOTABaseAbility { public: @@ -45296,7 +45855,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Sand_King_SandStorm_Burrowstrike_Field : public CDOTABaseAbility { public: @@ -45304,7 +45863,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Sand_King_SandStorm_Vacuum : public CDOTABaseAbility { public: @@ -45312,7 +45871,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Sand_King_Caustic_Finale_Sandstorm : public CDOTABaseAbility { public: @@ -45320,7 +45879,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Sand_King_Caustic_Finale_Active : public CDOTABaseAbility { public: @@ -45328,7 +45887,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Sand_King_Caustic_Finale_StrengthBuff : public CDOTABaseAbility { public: @@ -45336,16 +45895,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Caustic_Finale_StrengthBuff : public CDOTA_Buff { public: - int32_t str_pct; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t str_pct; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Sand_King_Caustic_Finale_Epicenter : public CDOTABaseAbility { public: @@ -45353,7 +45912,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Sand_King_Epicenter_Movement : public CDOTABaseAbility { public: @@ -45361,17 +45920,17 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_Movement : public CDOTA_Buff { public: - Vector vLastPos; // 0x11e8 - float m_fAccumulatedDistance; // 0x11f4 - int32_t movement_distance; // 0x11f8 + Vector vLastPos; // 0x12b8 + float m_fAccumulatedDistance; // 0x12c4 + int32_t movement_distance; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Sand_King_Epicenter_Allies : public CDOTABaseAbility { public: @@ -45379,7 +45938,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Aghsfort_Special_Sand_King_Epicenter_DamageResist : public CDOTABaseAbility { public: @@ -45387,16 +45946,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_DamageResist : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 - int32_t status_resistance; // 0x11ec + int32_t damage_reduction; // 0x12b8 + int32_t status_resistance; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Sand_King_BurrowStrike_Channel_Stop : public CDOTABaseAbility { public: @@ -45404,44 +45963,44 @@ public: }; // Alignment: 6 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_AghsFort_Clinkz_BurningBarrage : public CDOTABaseAbility { public: - Vector m_vStartPos; // 0x558 - int32_t m_iArrowProjectile; // 0x564 - int32_t m_nFXIndex; // 0x568 + Vector m_vStartPos; // 0x568 + int32_t m_iArrowProjectile; // 0x574 + int32_t m_nFXIndex; // 0x578 private: - [[maybe_unused]] uint8_t __pad056c[0x1c]; // 0x56c + [[maybe_unused]] uint8_t __pad057c[0x1c]; // 0x57c public: - int32_t m_nTriSplitCount; // 0x588 - int32_t projectile_speed; // 0x58c - int32_t projectile_width; // 0x590 + int32_t m_nTriSplitCount; // 0x598 + int32_t projectile_speed; // 0x59c + int32_t projectile_width; // 0x5a0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_DamageReduction : public CDOTA_Buff { public: - int32_t damage_pct; // 0x11e8 + int32_t damage_pct; // 0x12b8 }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage : public CDOTA_Buff { public: - Vector m_vOriginalTarget; // 0x11e8 - int32_t wave_count; // 0x11f4 - int32_t projectile_speed; // 0x11f8 - int32_t projectile_width; // 0x11fc - float m_flInterval; // 0x1200 - int32_t m_nArrowsFired; // 0x1204 + Vector m_vOriginalTarget; // 0x12b8 + int32_t wave_count; // 0x12c4 + int32_t projectile_speed; // 0x12c8 + int32_t projectile_width; // 0x12cc + float m_flInterval; // 0x12d0 + int32_t m_nArrowsFired; // 0x12d4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Clinkz_SearingArrows : public CDOTABaseAbility { public: @@ -45449,63 +46008,63 @@ public: }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 - bool m_bBonusAttack; // 0x1200 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + bool m_bBonusAttack; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t damage_bonus; // 0x1204 - float debuff_duration; // 0x1208 + int32_t damage_bonus; // 0x12d4 + float debuff_duration; // 0x12d8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Debuff : public CDOTA_Buff { public: - int32_t attack_slow; // 0x11e8 - float m_fIgniteThinkInterval; // 0x11ec - float m_fIgniteDmgPerSec; // 0x11f0 + int32_t attack_slow; // 0x12b8 + float m_fIgniteThinkInterval; // 0x12bc + float m_fIgniteDmgPerSec; // 0x12c0 }; // Alignment: 5 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_AghsFort_Clinkz_BurningArmy : public CDOTABaseAbility { public: - int32_t range; // 0x558 - Vector m_vEndpoint; // 0x55c - Vector m_vSlashDir; // 0x568 - int32_t m_nDashProjectileID; // 0x574 - Vector m_vDashProjectileLocation; // 0x578 + int32_t range; // 0x568 + Vector m_vEndpoint; // 0x56c + Vector m_vSlashDir; // 0x578 + int32_t m_nDashProjectileID; // 0x584 + Vector m_vDashProjectileLocation; // 0x588 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x11e8 - Vector m_vFacePosition; // 0x11ec + int32_t m_iCount; // 0x12b8 + Vector m_vFacePosition; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy : public CDOTA_Buff { public: - float attack_rate; // 0x11e8 - int32_t damage_percent; // 0x11ec - ParticleIndex_t m_nFXIndex; // 0x11f0 - bool m_bHasAttacked; // 0x11f4 + float attack_rate; // 0x12b8 + int32_t damage_percent; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c0 + bool m_bHasAttacked; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Clinkz_SkeletonWalk : public CDOTABaseAbility { public: @@ -45513,17 +46072,17 @@ public: }; // Alignment: 3 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk : public CDOTA_Modifier_Invisible { public: - CUtlVector< CHandle< CBaseEntity > > m_vecWraithTouchedEntities; // 0x11f8 - int32_t move_speed_bonus_pct; // 0x1210 - int32_t bonus_magic_resist; // 0x1214 + CUtlVector< CHandle< CBaseEntity > > m_vecWraithTouchedEntities; // 0x12c8 + int32_t move_speed_bonus_pct; // 0x12e0 + int32_t bonus_magic_resist; // 0x12e4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Clinkz_BurningBarrage_TriSplit : public CDOTABaseAbility { public: @@ -45531,7 +46090,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Clinkz_BurningBarrage_SkeletonShot : public CDOTABaseAbility { public: @@ -45539,7 +46098,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Clinkz_BurningBarrage_Singe : public CDOTABaseAbility { public: @@ -45547,7 +46106,7 @@ public: }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe : public CDOTA_Modifier_Knockback { public: @@ -45555,15 +46114,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe_Slow : public CDOTA_Buff { public: - int32_t move_slow_pct; // 0x11e8 + int32_t move_slow_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Clinkz_SearingArrows_Ignite : public CDOTABaseAbility { public: @@ -45571,7 +46130,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Clinkz_SearingArrows_SkeletalColossus : public CDOTABaseAbility { public: @@ -45579,7 +46138,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Clinkz_SkeletalColossus : public CDOTABaseAbility { public: @@ -45587,31 +46146,31 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_Thinker : public CDOTA_Buff { public: - float lifetime; // 0x11e8 + float lifetime; // 0x12b8 }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonColossus : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - float cleave_damage_pct; // 0x11ec - int32_t cleave_starting_width; // 0x11f0 - int32_t cleave_ending_width; // 0x11f4 - int32_t cleave_distance; // 0x11f8 - int32_t block_damage_ranged_active; // 0x11fc - int32_t block_damage_melee_active; // 0x1200 - int32_t hp_gain_per_caster_level; // 0x1204 - float hp_regen_per_caster_level; // 0x1208 + ParticleIndex_t m_nFXIndex; // 0x12b8 + float cleave_damage_pct; // 0x12bc + int32_t cleave_starting_width; // 0x12c0 + int32_t cleave_ending_width; // 0x12c4 + int32_t cleave_distance; // 0x12c8 + int32_t block_damage_ranged_active; // 0x12cc + int32_t block_damage_melee_active; // 0x12d0 + int32_t hp_gain_per_caster_level; // 0x12d4 + float hp_regen_per_caster_level; // 0x12d8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Clinkz_SearingArrows_Melter : public CDOTABaseAbility { public: @@ -45619,16 +46178,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Melter : public CDOTA_Buff { public: - float armor_reduction_per_arrow; // 0x11e8 - int32_t m_nMaxStacks; // 0x11ec + float armor_reduction_per_arrow; // 0x12b8 + int32_t m_nMaxStacks; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Clinkz_SkeletonWalk_BeckonUndead : public CDOTABaseAbility { public: @@ -45636,7 +46195,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Clinkz_SkeletonWalk_WraithTouch : public CDOTABaseAbility { public: @@ -45644,23 +46203,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Enemy : public CDOTA_Buff { public: - float m_fAttackLoss; // 0x11e8 + float m_fAttackLoss; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Caster : public CDOTA_Buff { public: - int32_t max_stacks; // 0x11e8 + int32_t max_stacks; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Clinkz_SkeletonWalk_Strafe : public CDOTABaseAbility { public: @@ -45668,15 +46227,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_Strafe : public CDOTA_Buff { public: - float m_fAttackSpeed; // 0x11e8 + float m_fAttackSpeed; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Clinkz_BurningArmy_Entrenchment : public CDOTABaseAbility { public: @@ -45684,34 +46243,34 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Clinkz_BurningArmy_Entrenchment : public CDOTA_Buff { public: - float m_fSlowPct; // 0x11e8 - float radius; // 0x11ec - float think_interval; // 0x11f0 - float linger_duration; // 0x11f4 + float m_fSlowPct; // 0x12b8 + float radius; // 0x12bc + float think_interval; // 0x12c0 + float linger_duration; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Buff : public CDOTA_Buff { public: - float m_fLifestealPct; // 0x11e8 + float m_fLifestealPct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Debuff : public CDOTA_Buff { public: - float m_fSlowPct; // 0x11e8 + float m_fSlowPct; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Clinkz_BurningArmy_BigSkeletons : public CDOTABaseAbility { public: @@ -45719,7 +46278,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Special_Clinkz_BurningArmy_StunningSkeletons : public CDOTABaseAbility { public: @@ -45727,7 +46286,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_StunningSkeleton_Debuff : public CDOTA_Modifier_Stunned { public: @@ -45735,38 +46294,38 @@ public: }; // Alignment: 5 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x38]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x38]; // 0x12b8 public: - int32_t model_scale; // 0x1220 - float radius; // 0x1224 - int32_t splitshot_count; // 0x1228 - float debuff_duration; // 0x122c - float pct_for_moveslow; // 0x1230 + int32_t model_scale; // 0x12f0 + float radius; // 0x12f4 + int32_t splitshot_count; // 0x12f8 + float debuff_duration; // 0x12fc + float pct_for_moveslow; // 0x1300 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons_Debuff : public CDOTA_Buff { public: - float m_fMovementSlow; // 0x11e8 + float m_fMovementSlow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons : public CDOTA_Buff { public: - int32_t m_nInitialHealthBarOffset; // 0x11e8 - int32_t colossus_model_scale; // 0x11ec + int32_t m_nInitialHealthBarOffset; // 0x12b8 + int32_t colossus_model_scale; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons_Ministun : public CDOTA_Modifier_Stunned { public: @@ -45774,7 +46333,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_Clinkz_1 : public CDOTABaseAbility { public: @@ -45782,7 +46341,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_Clinkz_2 : public CDOTABaseAbility { public: @@ -45790,7 +46349,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_Clinkz_3 : public CDOTABaseAbility { public: @@ -45798,7 +46357,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_Clinkz_4 : public CDOTABaseAbility { public: @@ -45806,7 +46365,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_Clinkz_5 : public CDOTABaseAbility { public: @@ -45814,7 +46373,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_Clinkz_6 : public CDOTABaseAbility { public: @@ -45822,7 +46381,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_Clinkz_7 : public CDOTABaseAbility { public: @@ -45830,7 +46389,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_Clinkz_8 : public CDOTABaseAbility { public: @@ -45838,7 +46397,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_Clinkz_9 : public CDOTABaseAbility { public: @@ -45846,7 +46405,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_Clinkz_10 : public CDOTABaseAbility { public: @@ -45854,7 +46413,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_Clinkz_11 : public CDOTABaseAbility { public: @@ -45862,7 +46421,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_Talent_Clinkz_12 : public CDOTABaseAbility { public: @@ -45870,33 +46429,33 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AghsFort_BossDarkWillow_ShadowRealm : public CDOTABaseAbility { public: - int32_t projectile_damage; // 0x558 + int32_t projectile_damage; // 0x568 }; // Alignment: 11 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_BossDarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: - float m_fAddInterval; // 0x11e8 - GameTime_t m_fNextAddTime; // 0x11ec - GameTime_t m_flStartTime; // 0x11f0 - float m_flDamageScale; // 0x11f4 - float duration; // 0x11f8 - float attack_logic_duration; // 0x11fc - int32_t speed_boost; // 0x1200 - int32_t num_adds; // 0x1204 - int32_t projectile_range; // 0x1208 - int32_t projectile_speed; // 0x120c - int32_t projectile_width; // 0x1210 + float m_fAddInterval; // 0x12b8 + GameTime_t m_fNextAddTime; // 0x12bc + GameTime_t m_flStartTime; // 0x12c0 + float m_flDamageScale; // 0x12c4 + float duration; // 0x12c8 + float attack_logic_duration; // 0x12cc + int32_t speed_boost; // 0x12d0 + int32_t num_adds; // 0x12d4 + int32_t projectile_range; // 0x12d8 + int32_t projectile_speed; // 0x12dc + int32_t projectile_width; // 0x12e0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AghsFort_BossDarkWillow_CursedCrown : public CDOTABaseAbility { public: @@ -45904,19 +46463,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_BossDarkWillow_CursedCrown : public CDOTA_Buff { public: - float delay; // 0x11e8 - float stun_duration; // 0x11ec - int32_t stun_radius; // 0x11f0 - int32_t damage; // 0x11f4 - GameTime_t m_fStartTime; // 0x11f8 + float delay; // 0x12b8 + float stun_duration; // 0x12bc + int32_t stun_radius; // 0x12c0 + int32_t damage; // 0x12c4 + GameTime_t m_fStartTime; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AncientApparition_ColdFeet : public CDOTABaseAbility { public: @@ -45924,62 +46483,63 @@ public: }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AncientApparition_ColdFeet : public CDOTA_Buff { public: - Vector m_vecStartPosition; // 0x11e8 - int32_t m_nCurrentTick; // 0x11f4 - float damage; // 0x11f8 - int32_t break_distance; // 0x11fc - float stun_duration; // 0x1200 + Vector m_vecStartPosition; // 0x12b8 + int32_t m_nCurrentTick; // 0x12c4 + float damage; // 0x12c8 + int32_t break_distance; // 0x12cc + float stun_duration; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AncientApparition_ColdFeet_Freeze : public CDOTA_Modifier_Stunned { public: // No members available }; -// Alignment: 1 -// Size: 0x560 +// Alignment: 2 +// Size: 0x570 class CDOTA_Ability_AncientApparition_IceVortex : public CDOTABaseAbility { public: - int32_t vision_aoe; // 0x558 + int32_t vision_aoe; // 0x568 + float vortex_duration; // 0x56c }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AncientApparition_IceVortexThinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t movement_speed_pct; // 0x11ec - int32_t spell_resist_pct; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - CUtlVector< CHandle< CBaseEntity > > m_hChilledEntities; // 0x11f8 + int32_t radius; // 0x12b8 + int32_t movement_speed_pct; // 0x12bc + int32_t spell_resist_pct; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + CUtlVector< CHandle< CBaseEntity > > m_hChilledEntities; // 0x12c8 }; // Alignment: 8 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AncientApparition_IceVortex : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x11e8 - int32_t spell_resist_pct; // 0x11ec - int32_t drag_speed; // 0x11f0 - float aura_origin_x; // 0x11f4 - float aura_origin_y; // 0x11f8 - int32_t shard_dps; // 0x11fc - int32_t shard_attack_speed_reduction; // 0x1200 - Vector m_vCenter; // 0x1204 + int32_t movement_speed_pct; // 0x12b8 + int32_t spell_resist_pct; // 0x12bc + int32_t drag_speed; // 0x12c0 + float aura_origin_x; // 0x12c4 + float aura_origin_y; // 0x12c8 + int32_t shard_dps; // 0x12cc + int32_t shard_attack_speed_reduction; // 0x12d0 + Vector m_vCenter; // 0x12d4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AncientApparition_ChillingTouch : public CDOTABaseAbility { public: @@ -45987,48 +46547,48 @@ public: }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AncientApparition_ChillingTouch : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - float duration; // 0x11ec - int32_t attack_range_bonus; // 0x11f0 + int32_t damage; // 0x12b8 + float duration; // 0x12bc + int32_t attack_range_bonus; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AncientApparition_ChillingTouch_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 12 -// Size: 0x5c8 +// Size: 0x5d8 class CDOTA_Ability_AncientApparition_IceBlast : public CDOTABaseAbility { public: - CountdownTimer m_PathTimer; // 0x558 - Vector m_vTarget; // 0x570 - Vector m_vStartPos; // 0x57c - Vector m_vLastTempViewer; // 0x588 - int32_t m_iTrackerProjectile; // 0x594 - int32_t path_radius; // 0x598 - int32_t radius_min; // 0x59c - int32_t radius_max; // 0x5a0 - float radius_grow; // 0x5a4 - float frostbite_duration; // 0x5a8 - int32_t target_sight_radius; // 0x5ac - CUtlVector< CHandle< CBaseEntity > > m_hFrostbittenEntities; // 0x5b0 + CountdownTimer m_PathTimer; // 0x568 + Vector m_vTarget; // 0x580 + Vector m_vStartPos; // 0x58c + Vector m_vLastTempViewer; // 0x598 + int32_t m_iTrackerProjectile; // 0x5a4 + int32_t path_radius; // 0x5a8 + int32_t radius_min; // 0x5ac + int32_t radius_max; // 0x5b0 + float radius_grow; // 0x5b4 + float frostbite_duration; // 0x5b8 + int32_t target_sight_radius; // 0x5bc + CUtlVector< CHandle< CBaseEntity > > m_hFrostbittenEntities; // 0x5c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AncientApparition_IceBlast_Release : public CDOTABaseAbility { public: @@ -46036,36 +46596,36 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AncientApparition_IceBlast : public CDOTA_Buff { public: - float dot_damage; // 0x11e8 - float kill_pct; // 0x11ec - CHandle< CBaseEntity > m_hFracturingEntity; // 0x11f0 + float dot_damage; // 0x12b8 + float kill_pct; // 0x12bc + CHandle< CBaseEntity > m_hFracturingEntity; // 0x12c0 }; // Alignment: 4 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_AncientApparition_IceAge : public CDOTABaseAbility { public: - int32_t radius; // 0x558 - int32_t health_degen; // 0x55c - float duration; // 0x560 - int32_t damage; // 0x564 + int32_t radius; // 0x568 + int32_t health_degen; // 0x56c + float duration; // 0x570 + int32_t damage; // 0x574 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AncientApparition_IceAge : public CDOTA_Buff { public: - float damage; // 0x11e8 + float damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AntiMage_ManaBreak : public CDOTABaseAbility { public: @@ -46073,26 +46633,26 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AntiMage_ManaBreak : public CDOTA_Buff { public: - int32_t percent_damage_per_burn; // 0x11e8 - int32_t mana_per_hit; // 0x11ec - float mana_per_hit_pct; // 0x11f0 - float slow_duration; // 0x11f4 + int32_t percent_damage_per_burn; // 0x12b8 + int32_t mana_per_hit; // 0x12bc + float mana_per_hit_pct; // 0x12c0 + float slow_duration; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AntiMage_ManaBreak_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AntiMage_Blink : public CDOTABaseAbility { public: @@ -46100,7 +46660,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AntiMage_Blink_Fake : public CDOTABaseAbility { public: @@ -46108,7 +46668,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AntiMage_Blink_Illusion : public CDOTA_Buff { public: @@ -46116,7 +46676,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AntiMage_SpellShield : public CDOTABaseAbility { public: @@ -46124,7 +46684,15 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 +class CDOTA_Ability_AntiMage_Counterspell_Ally : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x568 class CDOTA_Ability_AntiMage_Counterspell : public CDOTABaseAbility { public: @@ -46132,15 +46700,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Antimage_DampenMagic_Aura_Strong : public CDOTA_Buff { public: - int32_t shard_bonus_aura_range; // 0x11e8 + int32_t shard_bonus_aura_range; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Antimage_DampenMagic_Bonus : public CDOTA_Buff { public: @@ -46148,41 +46716,41 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Antimage_DampenMagic_Aura : public CDOTA_Buff { public: - int32_t shard_radius; // 0x11e8 + int32_t shard_radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Antimage_DampenMagic : public CDOTA_Buff { public: - int32_t shard_spell_damage_reduction_pct; // 0x11e8 - int32_t shard_bonus_spell_damage_reduction_pct; // 0x11ec + int32_t shard_spell_damage_reduction_pct; // 0x12b8 + int32_t shard_bonus_spell_damage_reduction_pct; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AntiMage_Counterspell_Passive : public CDOTA_Buff { public: - int32_t magic_resistance; // 0x11e8 + int32_t magic_resistance; // 0x12b8 }; // Alignment: 2 -// Size: 0x13c8 +// Size: 0x1498 class CDOTA_Modifier_AntiMage_Counterspell : public CDOTA_Buff { public: - CModifierParams m_LastParams; // 0x11e8 - int32_t magic_resistance; // 0x13c0 + CModifierParams m_LastParams; // 0x12b8 + int32_t magic_resistance; // 0x1490 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AntiMage_ManaVoid : public CDOTABaseAbility { public: @@ -46190,7 +46758,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AntiMage_ManaVoid : public CDOTA_Buff { public: @@ -46198,7 +46766,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AntiMage_Scepter : public CDOTABaseAbility { public: @@ -46206,7 +46774,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AntiMage_Mana_Overload : public CDOTABaseAbility { public: @@ -46214,7 +46782,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Bane_Enfeeble : public CDOTABaseAbility { public: @@ -46222,7 +46790,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bane_Enfeeble : public CDOTA_Buff { public: @@ -46230,33 +46798,33 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Bane_Enfeeble_Effect : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 - int32_t heal_reduction; // 0x11ec - int32_t cast_reduction; // 0x11f0 + int32_t damage_reduction; // 0x12b8 + int32_t heal_reduction; // 0x12bc + int32_t cast_reduction; // 0x12c0 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Bane_BrainSap : public CDOTABaseAbility { public: - int32_t brain_sap_damage; // 0x558 + int32_t brain_sap_damage; // 0x568 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Bane_Nightmare : public CDOTABaseAbility { public: - int32_t m_nNightmareSwapCount; // 0x558 + int32_t m_nNightmareSwapCount; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Bane_NightmareEnd : public CDOTABaseAbility { public: @@ -46264,16 +46832,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Bane_Nightmare : public CDOTA_Buff { public: - int32_t m_nSource; // 0x11e8 - float animation_rate; // 0x11ec + int32_t m_nSource; // 0x12b8 + float animation_rate; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bane_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -46281,35 +46849,44 @@ public: }; // Alignment: 2 -// Size: 0x560 +// Size: 0x12c0 +class CDOTA_Modifier_Bane_Nightmare_AttackSpeed_Bonus : public CDOTA_Buff +{ +public: + int32_t bonus_attack_speed; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12bc +}; + +// Alignment: 2 +// Size: 0x570 class CDOTA_Ability_Bane_FiendsGrip : public CDOTABaseAbility { public: // MNetworkEnable - CHandle< CBaseEntity > m_hGripTarget; // 0x558 - int32_t fiend_grip_damage; // 0x55c + CHandle< CBaseEntity > m_hGripTarget; // 0x568 + int32_t fiend_grip_damage; // 0x56c }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Bane_FiendsGrip : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x11e8 - float fiend_grip_tick_interval; // 0x11ec + int32_t fiend_grip_mana_drain; // 0x12b8 + float fiend_grip_tick_interval; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Bane_FiendsGrip_Cast_Illusion : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x11e8 - float fiend_grip_tick_interval; // 0x11ec + int32_t fiend_grip_mana_drain; // 0x12b8 + float fiend_grip_tick_interval; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bane_FiendsGrip_Self : public CDOTA_Buff { public: @@ -46317,7 +46894,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bane_FiendsGrip_Illusion_Can_Only_Channel : public CDOTA_Buff { public: @@ -46325,7 +46902,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bane_FiendsGrip_Illusion : public CDOTA_Buff { public: @@ -46333,7 +46910,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Pudge_Eject : public CDOTABaseAbility { public: @@ -46341,26 +46918,26 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pudge_Swallow : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Pudge_Swallow_Hide : public CDOTA_Buff { public: - float order_lock_duration; // 0x11e8 - GameTime_t m_fOrderLockDone; // 0x11ec - int32_t m_nFXIndex; // 0x11f0 - float shard_regen_pct; // 0x11f4 + float order_lock_duration; // 0x12b8 + GameTime_t m_fOrderLockDone; // 0x12bc + int32_t m_nFXIndex; // 0x12c0 + float shard_regen_pct; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pudge_Swallow_Effect : public CDOTA_Buff { public: @@ -46368,53 +46945,53 @@ public: }; // Alignment: 24 -// Size: 0x600 +// Size: 0x610 class CDOTA_Ability_Pudge_MeatHook : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - Vector m_vProjectileLocation; // 0x568 - float hook_speed; // 0x574 - int32_t hook_width; // 0x578 - int32_t hook_distance; // 0x57c - bool m_bRetracting; // 0x580 - bool m_bDiedInHook; // 0x581 + Vector m_vProjectileLocation; // 0x578 + float hook_speed; // 0x584 + int32_t hook_width; // 0x588 + int32_t hook_distance; // 0x58c + bool m_bRetracting; // 0x590 + bool m_bDiedInHook; // 0x591 private: - [[maybe_unused]] uint8_t __pad0582[0x2]; // 0x582 + [[maybe_unused]] uint8_t __pad0592[0x2]; // 0x592 public: - CHandle< CBaseEntity > m_hVictim; // 0x584 - Vector m_vTargetPosition; // 0x588 - Vector m_vCasterPosition; // 0x594 - bool m_bChainDetached; // 0x5a0 + CHandle< CBaseEntity > m_hVictim; // 0x594 + Vector m_vTargetPosition; // 0x598 + Vector m_vCasterPosition; // 0x5a4 + bool m_bChainDetached; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 + [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 public: - ParticleIndex_t m_iChainParticle; // 0x5a4 - ParticleIndex_t m_iSecondaryChainParticle; // 0x5a8 - int32_t m_iHookParticle; // 0x5ac - int32_t m_nManaCost; // 0x5b0 - CHandle< CBaseEntity > m_hSourceCaster; // 0x5b4 - int32_t m_nNextConsecutiveHitCount; // 0x5b8 - Vector m_vEndpoint; // 0x5bc + ParticleIndex_t m_iChainParticle; // 0x5b4 + ParticleIndex_t m_iSecondaryChainParticle; // 0x5b8 + int32_t m_iHookParticle; // 0x5bc + int32_t m_nManaCost; // 0x5c0 + CHandle< CBaseEntity > m_hSourceCaster; // 0x5c4 + int32_t m_nNextConsecutiveHitCount; // 0x5c8 + Vector m_vEndpoint; // 0x5cc // MNetworkEnable - int32_t m_nConsecutiveHits; // 0x5c8 - bool m_bIsVectorTargeted; // 0x5cc + int32_t m_nConsecutiveHits; // 0x5d8 + bool m_bIsVectorTargeted; // 0x5dc private: - [[maybe_unused]] uint8_t __pad05cd[0x3]; // 0x5cd + [[maybe_unused]] uint8_t __pad05dd[0x3]; // 0x5dd public: - Vector m_vTurnLocation; // 0x5d0 - Vector m_vDirectionAfterTurn; // 0x5dc - bool m_bHasTurned; // 0x5e8 + Vector m_vTurnLocation; // 0x5e0 + Vector m_vDirectionAfterTurn; // 0x5ec + bool m_bHasTurned; // 0x5f8 private: - [[maybe_unused]] uint8_t __pad05e9[0x3]; // 0x5e9 + [[maybe_unused]] uint8_t __pad05f9[0x3]; // 0x5f9 public: - float m_flDistanceAfterTurn; // 0x5ec - Vector m_vFinalPosition; // 0x5f0 + float m_flDistanceAfterTurn; // 0x5fc + Vector m_vFinalPosition; // 0x600 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pudge_Meat_Hook_PathingFix : public CDOTA_Buff { public: @@ -46422,7 +46999,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pudge_Meat_Hook : public CDOTA_Buff { public: @@ -46430,87 +47007,87 @@ public: }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Pudge_Rot : public CDOTABaseAbility { public: - int32_t rot_damage; // 0x558 - GameTime_t m_flLastRotTime; // 0x55c + int32_t rot_damage; // 0x568 + GameTime_t m_flLastRotTime; // 0x56c }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Pudge_Rot : public CDOTA_Buff { public: - int32_t rot_damage; // 0x11e8 - int32_t rot_slow; // 0x11ec - int32_t scepter_rot_regen_reduction_pct; // 0x11f0 + int32_t rot_damage; // 0x12b8 + int32_t rot_slow; // 0x12bc + int32_t scepter_rot_regen_reduction_pct; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x8]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x8]; // 0x12c4 public: - GameTime_t m_flLastRotTime; // 0x11fc - bool m_bQualifiesAsPotentionalDeny; // 0x1200 + GameTime_t m_flLastRotTime; // 0x12cc + bool m_bQualifiesAsPotentionalDeny; // 0x12d0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pudge_FleshHeap_Block : public CDOTA_Buff { public: - float damage_block; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + float damage_block; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Pudge_FleshHeap : public CDOTA_Buff { public: - float magic_resistance; // 0x11e8 - float damage_block; // 0x11ec - float flesh_heap_strength_buff_amount; // 0x11f0 + float magic_resistance; // 0x12b8 + float damage_block; // 0x12bc + float flesh_heap_strength_buff_amount; // 0x12c0 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Pudge_Dismember : public CDOTABaseAbility { public: // MNetworkEnable - CHandle< CBaseEntity > m_hVictim; // 0x558 - int32_t shard_cast_range; // 0x55c + CHandle< CBaseEntity > m_hVictim; // 0x568 + int32_t shard_cast_range; // 0x56c }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Pudge_Dismember : public CDOTA_Buff { public: - int32_t dismember_damage; // 0x11e8 - float strength_damage; // 0x11ec - int32_t m_nTicks; // 0x11f0 - int32_t m_nMaxTicks; // 0x11f4 - float m_flTickRate; // 0x11f8 - float animation_rate; // 0x11fc + int32_t dismember_damage; // 0x12b8 + float strength_damage; // 0x12bc + int32_t m_nTicks; // 0x12c0 + int32_t m_nMaxTicks; // 0x12c4 + float m_flTickRate; // 0x12c8 + float animation_rate; // 0x12cc }; // Alignment: 4 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Pudge_Dismember_Pull : public CDOTA_Buff { public: - Vector m_vDestination; // 0x11e8 - int32_t pull_units_per_second; // 0x11f4 - float pull_distance_limit; // 0x11f8 + Vector m_vDestination; // 0x12b8 + int32_t pull_units_per_second; // 0x12c4 + float pull_distance_limit; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x8]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x8]; // 0x12cc public: - float animation_rate; // 0x1204 + float animation_rate; // 0x12d4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pudge_1 : public CDOTABaseAbility { public: @@ -46518,7 +47095,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pudge_2 : public CDOTABaseAbility { public: @@ -46526,7 +47103,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pudge_3 : public CDOTABaseAbility { public: @@ -46534,7 +47111,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pudge_4 : public CDOTABaseAbility { public: @@ -46542,7 +47119,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pudge_5 : public CDOTABaseAbility { public: @@ -46550,7 +47127,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pudge_6 : public CDOTABaseAbility { public: @@ -46558,7 +47135,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Pudge_7 : public CDOTABaseAbility { public: @@ -46566,38 +47143,38 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Juggernaut_BladeFury : public CDOTABaseAbility { public: - int32_t blade_fury_damage; // 0x558 + int32_t blade_fury_damage; // 0x568 }; // Alignment: 8 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Juggernaut_BladeFury : public CDOTA_Buff { public: - int32_t blade_fury_radius; // 0x11e8 - int32_t blade_fury_damage; // 0x11ec - float blade_fury_damage_tick; // 0x11f0 - float m_flTotalAppliedDamage; // 0x11f4 - int32_t shard_bonus_move_speed; // 0x11f8 - float shard_attack_rate; // 0x11fc - GameTime_t m_flNextAttack; // 0x1200 - bool m_bIgnoreAttackRestriction; // 0x1204 + int32_t blade_fury_radius; // 0x12b8 + int32_t blade_fury_damage; // 0x12bc + float blade_fury_damage_tick; // 0x12c0 + float m_flTotalAppliedDamage; // 0x12c4 + int32_t shard_bonus_move_speed; // 0x12c8 + float shard_attack_rate; // 0x12cc + GameTime_t m_flNextAttack; // 0x12d0 + bool m_bIgnoreAttackRestriction; // 0x12d4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Jugg_Caster : public CDOTA_Buff { public: - int32_t shard_damage_pct; // 0x11e8 + int32_t shard_damage_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Juggernaut_HealingWard : public CDOTABaseAbility { public: @@ -46605,15 +47182,15 @@ public: }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Juggernaut_Healing_Ward_Aura : public CDOTA_Buff { public: - int32_t healing_ward_movespeed_tooltip; // 0x11e8 + int32_t healing_ward_movespeed_tooltip; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Juggernaut_Healing_Ward_Tracker : public CDOTA_Buff { public: @@ -46621,16 +47198,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Juggernaut_Healing_Ward_Heal : public CDOTA_Buff { public: - int32_t healing_ward_heal_amount; // 0x11e8 - int32_t m_nStartingHealthThisInterval; // 0x11ec + int32_t healing_ward_heal_amount; // 0x12b8 + int32_t m_nStartingHealthThisInterval; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Juggernaut_BladeDance : public CDOTABaseAbility { public: @@ -46638,19 +47215,19 @@ public: }; // Alignment: 5 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Juggernaut_BladeDance : public CDOTA_Buff { public: - int32_t blade_dance_crit_mult; // 0x11e8 - int32_t blade_dance_crit_chance; // 0x11ec - int32_t blade_dance_lifesteal; // 0x11f0 - bool m_bHasCrit; // 0x11f4 - bool m_bWasBladeDanceTriggeredCrit; // 0x11f5 + int32_t blade_dance_crit_mult; // 0x12b8 + int32_t blade_dance_crit_chance; // 0x12bc + int32_t blade_dance_lifesteal; // 0x12c0 + bool m_bHasCrit; // 0x12c4 + bool m_bWasBladeDanceTriggeredCrit; // 0x12c5 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Juggernaut_Omnislash : public CDOTABaseAbility { public: @@ -46658,40 +47235,40 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Juggernaut_Swift_Slash : public CDOTABaseAbility { public: - CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x558 + CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x568 }; // Alignment: 15 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Juggernaut_Omnislash : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - CHandle< CBaseEntity > m_hLastTarget; // 0x11ec - int32_t m_nJumps; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - int32_t bonus_attack_speed; // 0x11f8 - int32_t omni_slash_radius; // 0x11fc - float attack_rate_multiplier; // 0x1200 - bool m_bFirstHit; // 0x1204 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + CHandle< CBaseEntity > m_hLastTarget; // 0x12bc + int32_t m_nJumps; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + int32_t bonus_attack_speed; // 0x12c8 + int32_t omni_slash_radius; // 0x12cc + float attack_rate_multiplier; // 0x12d0 + bool m_bFirstHit; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - int32_t m_iTotalDamage; // 0x1208 - int32_t m_iHeroDamage; // 0x120c - int32_t m_iKilledHeroes; // 0x1210 - GameTime_t m_fNextAttackTime; // 0x1214 - bool m_bScepterCast; // 0x1218 - bool m_bReflection; // 0x1219 - bool m_bEndNext; // 0x121a + int32_t m_iTotalDamage; // 0x12d8 + int32_t m_iHeroDamage; // 0x12dc + int32_t m_iKilledHeroes; // 0x12e0 + GameTime_t m_fNextAttackTime; // 0x12e4 + bool m_bScepterCast; // 0x12e8 + bool m_bReflection; // 0x12e9 + bool m_bEndNext; // 0x12ea }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Juggernaut_Omnislash_Invulnerability : public CDOTA_Buff { public: @@ -46699,7 +47276,7 @@ public: }; // Alignment: 0 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Holdout_BladeFury : public CDOTA_Ability_Juggernaut_BladeFury { public: @@ -46707,51 +47284,51 @@ public: }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Holdout_BladeFury : public CDOTA_Buff { public: - int32_t blade_fury_damage; // 0x11e8 - int32_t blade_dance_crit_chance; // 0x11ec - int32_t blade_dance_crit_mult; // 0x11f0 - float blade_fury_damage_tick; // 0x11f4 - int32_t blade_fury_radius; // 0x11f8 - int32_t bonus_evasion; // 0x11fc - bool m_bTryToCrit; // 0x1200 + int32_t blade_fury_damage; // 0x12b8 + int32_t blade_dance_crit_chance; // 0x12bc + int32_t blade_dance_crit_mult; // 0x12c0 + float blade_fury_damage_tick; // 0x12c4 + int32_t blade_fury_radius; // 0x12c8 + int32_t bonus_evasion; // 0x12cc + bool m_bTryToCrit; // 0x12d0 }; // Alignment: 11 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Holdout_Omnislash : public CDOTABaseAbility { public: - int32_t image_travel_speed; // 0x558 - int32_t image_radius; // 0x55c - int32_t jugg_travel_speed; // 0x560 - int32_t juggcounter; // 0x564 - int32_t range; // 0x568 - bool m_bFirstProjectileFinished; // 0x56c + int32_t image_travel_speed; // 0x568 + int32_t image_radius; // 0x56c + int32_t jugg_travel_speed; // 0x570 + int32_t juggcounter; // 0x574 + int32_t range; // 0x578 + bool m_bFirstProjectileFinished; // 0x57c private: - [[maybe_unused]] uint8_t __pad056d[0x3]; // 0x56d + [[maybe_unused]] uint8_t __pad057d[0x3]; // 0x57d public: - Vector m_vCastDir; // 0x570 - Vector m_vPos; // 0x57c - Vector m_vJuggStartLocation; // 0x588 - float m_flRange; // 0x594 - CUtlVector< CHandle< CBaseEntity > > m_hEntities; // 0x598 + Vector m_vCastDir; // 0x580 + Vector m_vPos; // 0x58c + Vector m_vJuggStartLocation; // 0x598 + float m_flRange; // 0x5a4 + CUtlVector< CHandle< CBaseEntity > > m_hEntities; // 0x5a8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Holdout_Omnislash : public CDOTA_Buff { public: - float animation_rate; // 0x11e8 - int32_t bonus_damage; // 0x11ec + float animation_rate; // 0x12b8 + int32_t bonus_damage; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Juggernaut_Holdout_Omnislash_FollowupAttack : public CDOTA_Buff { public: @@ -46759,33 +47336,33 @@ public: }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Nevermore_Shadowraze : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 - ParticleIndex_t m_nFXIndexB; // 0x55c + ParticleIndex_t m_nFXIndex; // 0x568 + ParticleIndex_t m_nFXIndexB; // 0x56c }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Shadowraze_Debuff : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x11e8 - int32_t turn_rate_pct; // 0x11ec + int32_t movement_speed_pct; // 0x12b8 + int32_t turn_rate_pct; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Shadowraze_Counter : public CDOTA_Buff { public: - float shadowraze_cooldown; // 0x11e8 + float shadowraze_cooldown; // 0x12b8 }; // Alignment: 0 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Nevermore_Shadowraze1 : public CDOTA_Ability_Nevermore_Shadowraze { public: @@ -46793,7 +47370,7 @@ public: }; // Alignment: 0 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Nevermore_Shadowraze2 : public CDOTA_Ability_Nevermore_Shadowraze { public: @@ -46801,7 +47378,7 @@ public: }; // Alignment: 0 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Nevermore_Shadowraze3 : public CDOTA_Ability_Nevermore_Shadowraze { public: @@ -46809,7 +47386,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Nevermore_Presence : public CDOTABaseAbility { public: @@ -46817,75 +47394,75 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nevermore_Presence_Aura : public CDOTA_Buff { public: - int32_t presence_radius; // 0x11e8 - float kill_buff_duration; // 0x11ec - GameTime_t m_fLastStackChange; // 0x11f0 + int32_t presence_radius; // 0x12b8 + float kill_buff_duration; // 0x12bc + GameTime_t m_fLastStackChange; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nevermore_Presence : public CDOTA_Buff { public: - int32_t presence_armor_reduction; // 0x11e8 - int32_t bonus_armor_per_stack; // 0x11ec - bool m_bWasHidden; // 0x11f0 + int32_t presence_armor_reduction; // 0x12b8 + int32_t bonus_armor_per_stack; // 0x12bc + bool m_bWasHidden; // 0x12c0 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Nevermore_Necromastery : public CDOTABaseAbility { public: - int32_t attack_range_bonus; // 0x558 + int32_t attack_range_bonus; // 0x568 }; // Alignment: 6 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_Nevermore_Requiem : public CDOTABaseAbility { public: - int32_t requiem_line_width_start; // 0x558 - int32_t requiem_line_width_end; // 0x55c - int32_t m_nCachedSouls; // 0x560 - ParticleIndex_t m_nFXIndex; // 0x564 - int32_t m_nKilleater_nLines; // 0x568 + int32_t requiem_line_width_start; // 0x568 + int32_t requiem_line_width_end; // 0x56c + int32_t m_nCachedSouls; // 0x570 + ParticleIndex_t m_nFXIndex; // 0x574 + int32_t m_nKilleater_nLines; // 0x578 private: - [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c + [[maybe_unused]] uint8_t __pad057c[0x4]; // 0x57c public: - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesReqd; // 0x570 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesReqd; // 0x580 }; // Alignment: 9 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Nevermore_Necromastery : public CDOTA_Buff { public: - int32_t necromastery_damage_per_soul; // 0x11e8 - int32_t necromastery_max_souls; // 0x11ec - int32_t necromastery_max_souls_scepter; // 0x11f0 - int32_t shard_crit_pct; // 0x11f4 - int32_t shard_souls_per_kill; // 0x11f8 - float shard_fear_duration; // 0x11fc - ParticleIndex_t m_iParticleSoulsIndex; // 0x1200 - ParticleIndex_t m_FXIndex; // 0x1204 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 + int32_t necromastery_damage_per_soul; // 0x12b8 + int32_t necromastery_max_souls; // 0x12bc + int32_t necromastery_max_souls_scepter; // 0x12c0 + int32_t shard_crit_pct; // 0x12c4 + int32_t shard_souls_per_kill; // 0x12c8 + float shard_fear_duration; // 0x12cc + ParticleIndex_t m_iParticleSoulsIndex; // 0x12d0 + ParticleIndex_t m_FXIndex; // 0x12d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nevermore_Requiem_InvisBreak : public CDOTA_Buff { public: - bool bDisableInvis; // 0x11e8 + bool bDisableInvis; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nevermore_Requiem_Thinker : public CDOTA_Buff { public: @@ -46893,7 +47470,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nevermore_Requiem_Aura : public CDOTA_Buff { public: @@ -46901,15 +47478,15 @@ public: }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nevermore_Requiem_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x11e8 + Vector m_vOriginal; // 0x12b8 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nevermore_Necromastery_Fear : public CDOTA_Modifier_Nevermore_Requiem_Fear { public: @@ -46917,16 +47494,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nevermore_Requiem_Slow : public CDOTA_Buff { public: - int32_t requiem_reduction_ms; // 0x11e8 - int32_t requiem_reduction_mres; // 0x11ec + int32_t requiem_reduction_ms; // 0x12b8 + int32_t requiem_reduction_mres; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_SandKing_CausticFinale : public CDOTABaseAbility { public: @@ -46934,195 +47511,197 @@ public: }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_SandKing_CausticFinale : public CDOTA_Buff { public: - float caustic_finale_duration; // 0x11e8 + float caustic_finale_duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_SandKing_CausticFinaleOrb : public CDOTA_Buff { public: - int32_t caustic_finale_radius; // 0x11e8 - int32_t caustic_finale_damage_base; // 0x11ec - int32_t caustic_finale_damage_pct; // 0x11f0 - int32_t caustic_finale_slow; // 0x11f4 + int32_t caustic_finale_radius; // 0x12b8 + int32_t caustic_finale_damage_base; // 0x12bc + int32_t caustic_finale_damage_pct; // 0x12c0 + int32_t caustic_finale_slow; // 0x12c4 }; // Alignment: 4 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_SandKing_BurrowStrike : public CDOTABaseAbility { public: - int32_t burrow_width; // 0x558 - int32_t burrow_speed; // 0x55c - int32_t burrow_speed_scepter; // 0x560 - float burrow_anim_time; // 0x564 + int32_t burrow_width; // 0x568 + int32_t burrow_speed; // 0x56c + int32_t burrow_speed_scepter; // 0x570 + float burrow_anim_time; // 0x574 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_SandKing_Impale : public CDOTA_Buff { public: - float m_flPower; // 0x11e8 - float m_flStartZ; // 0x11ec - float m_flCurTime; // 0x11f0 - bool m_bDamageApplied; // 0x11f4 + float m_flPower; // 0x12b8 + float m_flStartZ; // 0x12bc + float m_flCurTime; // 0x12c0 + bool m_bDamageApplied; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Sand_King_BurrowStrike : public CDOTA_Buff { public: - Vector m_vPopupLocation; // 0x11e8 - bool m_bTeleported; // 0x11f4 + Vector m_vPopupLocation; // 0x12b8 + bool m_bTeleported; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_SandKing_SandStorm : public CDOTABaseAbility { public: // No members available }; -// Alignment: 10 -// Size: 0x1230 +// Alignment: 11 +// Size: 0x1308 class CDOTA_Modifier_SandKing_SandStorm : public CDOTA_Modifier_PersistentInvisibility { public: - int32_t sand_storm_radius; // 0x11f8 - int32_t sand_storm_damage; // 0x11fc - float damage_tick_rate; // 0x1200 - GameTime_t m_flLastDamageTime; // 0x1204 - ParticleIndex_t m_nSandStormParticleIndex1; // 0x1208 - ParticleIndex_t m_nSandStormParticleIndex2; // 0x120c + int32_t sand_storm_radius; // 0x12c8 + int32_t sand_storm_damage; // 0x12cc + float damage_tick_rate; // 0x12d0 + GameTime_t m_flLastDamageTime; // 0x12d4 + ParticleIndex_t m_nSandStormParticleIndex1; // 0x12d8 + ParticleIndex_t m_nSandStormParticleIndex2; // 0x12dc private: - [[maybe_unused]] uint8_t __pad1210[0x8]; // 0x1210 + [[maybe_unused]] uint8_t __pad12e0[0x8]; // 0x12e0 public: - CHandle< CBaseEntity > m_hThinker; // 0x1218 - Vector vecSpawnPos; // 0x121c - int32_t m_iExplosionQuadrant; // 0x1228 - int32_t m_iExplosionDistance; // 0x122c + CHandle< CBaseEntity > m_hThinker; // 0x12e8 + int32_t sand_storm_move_speed; // 0x12ec + Vector vecSpawnPos; // 0x12f0 + int32_t m_iExplosionQuadrant; // 0x12fc + int32_t m_iExplosionDistance; // 0x1300 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SandKing_SandStorm_Slow_Aura_Thinker : public CDOTA_Buff { public: - int32_t sand_storm_radius; // 0x11e8 + int32_t sand_storm_radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SandKing_SandStorm_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t blind; // 0x11ec + int32_t slow; // 0x12b8 + int32_t blind; // 0x12bc }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_SandKing_Epicenter : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXEpicenterIndex; // 0x558 - ParticleIndex_t m_nFXIndex; // 0x55c + ParticleIndex_t m_nFXEpicenterIndex; // 0x568 + ParticleIndex_t m_nFXIndex; // 0x56c }; // Alignment: 6 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_SandKing_Epicenter : public CDOTA_Buff { public: - int32_t epicenter_radius_base; // 0x11e8 - int32_t epicenter_radius_increment; // 0x11ec - int32_t epicenter_pulses; // 0x11f0 - int32_t epicenter_radius[16]; // 0x11f4 - int32_t m_iMaxPulses; // 0x1234 - int32_t m_iPulseCount; // 0x1238 + int32_t epicenter_radius_base; // 0x12b8 + int32_t epicenter_radius_increment; // 0x12bc + int32_t epicenter_pulses; // 0x12c0 + int32_t epicenter_radius[16]; // 0x12c4 + int32_t m_iMaxPulses; // 0x1304 + int32_t m_iPulseCount; // 0x1308 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SandKing_Epicenter_Slow : public CDOTA_Buff { public: - int32_t epicenter_slow; // 0x11e8 - int32_t epicenter_slow_as; // 0x11ec -}; - -// Alignment: 3 -// Size: 0x1200 -class CDOTA_Modifier_Sand_King_Shard : public CDOTA_Buff -{ -public: - float shard_move_distance; // 0x11e8 - Vector vLastPos; // 0x11ec - float m_fAccumulatedDistance; // 0x11f8 -}; - -// Alignment: 1 -// Size: 0x560 -class CDOTA_Ability_Mirana_Starfall : public CDOTABaseAbility -{ -public: - int32_t damage; // 0x558 + int32_t epicenter_slow; // 0x12b8 + int32_t epicenter_slow_as; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12d0 +class CDOTA_Modifier_Sand_King_Shard : public CDOTA_Buff +{ +public: + float shard_move_distance; // 0x12b8 + float shard_interval; // 0x12bc + Vector vLastPos; // 0x12c0 + float m_fAccumulatedDistance; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x570 +class CDOTA_Ability_Mirana_Starfall : public CDOTABaseAbility +{ +public: + int32_t damage; // 0x568 +}; + +// Alignment: 4 +// Size: 0x12c8 class CDOTA_Modifier_Mirana_Starfall_Scepter_Thinker : public CDOTA_Buff { public: - float interval_scepter; // 0x11e8 - bool bInBufferTime; // 0x11ec + float interval_scepter; // 0x12b8 + bool bInBufferTime; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - int32_t damage; // 0x11f0 - GameTime_t m_flLastApplyTime; // 0x11f4 + int32_t damage; // 0x12c0 + GameTime_t m_flLastApplyTime; // 0x12c4 }; // Alignment: 5 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Mirana_Starfall_Thinker : public CDOTA_Buff { public: - int32_t starfall_secondary_radius; // 0x11e8 - CHandle< CBaseEntity > m_hTarget; // 0x11ec - int32_t m_iDamage; // 0x11f0 - bool m_bStarDropped; // 0x11f4 - bool m_bSecondStar; // 0x11f5 + int32_t starfall_secondary_radius; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12bc + int32_t m_iDamage; // 0x12c0 + bool m_bStarDropped; // 0x12c4 + bool m_bSecondStar; // 0x12c5 }; // Alignment: 7 -// Size: 0x5d8 +// Size: 0x5e8 class CDOTA_Ability_Mirana_Arrow : public CDOTABaseAbility { public: - CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x558 - int32_t scepter_radius; // 0x55c - Vector m_vStartPos; // 0x560 - ParticleIndex_t m_nFXIndex; // 0x56c - CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList[2]; // 0x570 - CUtlVector< CHandle< CBaseEntity > > hStarfallList[2]; // 0x5a0 - int32_t m_nActiveArrow; // 0x5d0 + CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x568 + int32_t scepter_radius; // 0x56c + Vector m_vStartPos; // 0x570 + ParticleIndex_t m_nFXIndex; // 0x57c + CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList[2]; // 0x580 + CUtlVector< CHandle< CBaseEntity > > hStarfallList[2]; // 0x5b0 + int32_t m_nActiveArrow; // 0x5e0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mirana_Leap_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -47130,72 +47709,72 @@ public: }; // Alignment: 3 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Mirana_Leap : public CDOTABaseAbility { public: - bool m_bIsVectorTargeted; // 0x558 + bool m_bIsVectorTargeted; // 0x568 private: - [[maybe_unused]] uint8_t __pad0559[0x3]; // 0x559 + [[maybe_unused]] uint8_t __pad0569[0x3]; // 0x569 public: - Vector m_vEndpoint; // 0x55c - Vector m_vLandPosition; // 0x568 + Vector m_vEndpoint; // 0x56c + Vector m_vLandPosition; // 0x578 }; // Alignment: 20 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_Mirana_Leap : public CDOTA_Buff { public: - float m_flTotalTime; // 0x11e8 - float m_flInitialVelocity; // 0x11ec - Vector m_vStartPosition; // 0x11f0 - Vector m_vTargetHorizontalDirection; // 0x11fc - float m_flCurrentTimeHoriz; // 0x1208 - float m_flCurrentTimeVert; // 0x120c - bool m_bInterrupted; // 0x1210 - bool m_bIsVectorTargeted; // 0x1211 + float m_flTotalTime; // 0x12b8 + float m_flInitialVelocity; // 0x12bc + Vector m_vStartPosition; // 0x12c0 + Vector m_vTargetHorizontalDirection; // 0x12cc + float m_flCurrentTimeHoriz; // 0x12d8 + float m_flCurrentTimeVert; // 0x12dc + bool m_bInterrupted; // 0x12e0 + bool m_bIsVectorTargeted; // 0x12e1 private: - [[maybe_unused]] uint8_t __pad1212[0x2]; // 0x1212 + [[maybe_unused]] uint8_t __pad12e2[0x2]; // 0x12e2 public: - Vector m_vFaceDirection; // 0x1214 - int32_t leap_distance; // 0x1220 - float shard_radius; // 0x1224 - float shard_radius_end; // 0x1228 - float shard_damage; // 0x122c - float shard_slow_pct; // 0x1230 - float shard_slow_duration; // 0x1234 - float leap_speed; // 0x1238 - float leap_acceleration; // 0x123c - int32_t leap_radius; // 0x1240 - float leap_bonus_duration; // 0x1244 - bool m_bLaunched; // 0x1248 + Vector m_vFaceDirection; // 0x12e4 + int32_t leap_distance; // 0x12f0 + float shard_radius; // 0x12f4 + float shard_radius_end; // 0x12f8 + float shard_damage; // 0x12fc + float shard_slow_pct; // 0x1300 + float shard_slow_duration; // 0x1304 + float leap_speed; // 0x1308 + float leap_acceleration; // 0x130c + int32_t leap_radius; // 0x1310 + float leap_bonus_duration; // 0x1314 + bool m_bLaunched; // 0x1318 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mirana_Leap_Slow : public CDOTA_Buff { public: - int32_t shard_slow_pct; // 0x11e8 + int32_t shard_slow_pct; // 0x12b8 }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Mirana_Leap_Buff : public CDOTA_Buff { public: - int32_t leap_speedbonus; // 0x11e8 - int32_t leap_speedbonus_as; // 0x11ec - bool m_bCritUsed; // 0x11f0 + int32_t leap_speedbonus; // 0x12b8 + int32_t leap_speedbonus_as; // 0x12bc + bool m_bCritUsed; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x7]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x7]; // 0x12c1 public: - CUtlVector< int16 > m_vCritRecords; // 0x11f8 + CUtlVector< int16 > m_vCritRecords; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Mirana_MoonlightShadow : public CDOTABaseAbility { public: @@ -47203,41 +47782,42 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Mirana_MoonlightShadow : public CDOTA_Modifier_PersistentInvisibility { public: - float duration; // 0x11f8 - int32_t bonus_movement_speed; // 0x11fc - int32_t evasion; // 0x1200 + float duration; // 0x12c8 + int32_t bonus_movement_speed; // 0x12cc + int32_t evasion; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mirana_MoonlightShadow_KillTracker : public CDOTA_Buff { public: // No members available }; -// Alignment: 1 -// Size: 0x560 +// Alignment: 2 +// Size: 0x570 class CDOTA_Ability_Sven_StormBolt : public CDOTABaseAbility { public: - int32_t vision_radius; // 0x558 + int32_t vision_radius; // 0x568 + bool m_bIsAltCastState; // 0x56c }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Sven_Stormbolt_Hide : public CDOTA_Buff { public: - int32_t m_nHandle; // 0x11e8 + int32_t m_nHandle; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Sven_GreatCleave : public CDOTABaseAbility { public: @@ -47245,24 +47825,24 @@ public: }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Sven_GreatCleave : public CDOTA_Buff { public: - int32_t cleave_starting_width; // 0x11e8 - int32_t cleave_ending_width; // 0x11ec - int32_t cleave_distance; // 0x11f0 - int32_t great_cleave_damage; // 0x11f4 - int32_t strength_bonus; // 0x11f8 - int16_t m_nLastCleaveRecord; // 0x11fc + int32_t cleave_starting_width; // 0x12b8 + int32_t cleave_ending_width; // 0x12bc + int32_t cleave_distance; // 0x12c0 + int32_t great_cleave_damage; // 0x12c4 + int32_t strength_bonus; // 0x12c8 + int16_t m_nLastCleaveRecord; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fe[0x2]; // 0x11fe + [[maybe_unused]] uint8_t __pad12ce[0x2]; // 0x12ce public: - int32_t m_nLastCleaveKills; // 0x1200 + int32_t m_nLastCleaveKills; // 0x12d0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Sven_Warcry : public CDOTABaseAbility { public: @@ -47270,48 +47850,49 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Sven_Warcry_Aura : public CDOTA_Buff { public: - int32_t shard_radius; // 0x11e8 + int32_t shard_radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Sven_Warcry_Passive : public CDOTA_Buff { public: - int32_t shard_passive_armor; // 0x11e8 + int32_t shard_passive_armor; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Sven_Warcry : public CDOTA_Buff { public: - int32_t movespeed; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t movespeed; // 0x12b8 + int32_t bonus_armor; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Sven_GodsStrength : public CDOTABaseAbility { public: // No members available }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Sven_GodsStrength : public CDOTA_Buff { public: - int32_t gods_strength_damage; // 0x11e8 + int32_t gods_strength_damage; // 0x12b8 + int32_t bonus_slow_resistance; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sven : public CDOTABaseAbility { public: @@ -47319,7 +47900,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sven_2 : public CDOTABaseAbility { public: @@ -47327,7 +47908,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sven_3 : public CDOTABaseAbility { public: @@ -47335,7 +47916,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sven_4 : public CDOTABaseAbility { public: @@ -47343,7 +47924,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sven_5 : public CDOTABaseAbility { public: @@ -47351,7 +47932,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sven_6 : public CDOTABaseAbility { public: @@ -47359,7 +47940,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sven_7 : public CDOTABaseAbility { public: @@ -47367,7 +47948,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Sven_8 : public CDOTABaseAbility { public: @@ -47375,33 +47956,7 @@ public: }; // Alignment: 0 -// Size: 0x558 -class CDOTA_Ability_SkeletonKing_HellfireBlast : public CDOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_SkeletonKing_HellfireBlast : public CDOTA_Buff -{ -public: - int32_t blast_dot_damage; // 0x11e8 - int32_t blast_slow; // 0x11ec -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_SkeletonKing_HellfireBlast_Skeleton_Buff : public CDOTA_Buff -{ -public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_move_speed; // 0x11ec -}; - -// Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_SkeletonKing_VampiricAura : public CDOTABaseAbility { public: @@ -47409,48 +47964,74 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_SkeletonKing_VampiricAura : public CDOTA_Buff { public: - int32_t vampiric_aura; // 0x11e8 - int32_t creep_lifesteal_reduction_pct; // 0x11ec - float skeleton_duration; // 0x11f0 - int32_t max_skeleton_charges; // 0x11f4 - int32_t m_iKillCounter; // 0x11f8 + int32_t vampiric_aura; // 0x12b8 + int32_t creep_lifesteal_reduction_pct; // 0x12bc + float skeleton_duration; // 0x12c0 + int32_t max_skeleton_charges; // 0x12c4 + int32_t m_iKillCounter; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SkeletonKing_VampiricAura_Summon_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x11e8 + int32_t m_iCount; // 0x12b8 }; // Alignment: 11 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_SkeletonKing_VampiricAura_Summon : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - int32_t talent_skeleton_damage; // 0x11ec - bool m_bRespawnReady; // 0x11f0 - bool m_bRespawnConsumed; // 0x11f1 - bool m_bKillParentOnDestroy; // 0x11f2 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + int32_t talent_skeleton_damage; // 0x12bc + bool m_bRespawnReady; // 0x12c0 + bool m_bRespawnConsumed; // 0x12c1 + bool m_bKillParentOnDestroy; // 0x12c2 private: - [[maybe_unused]] uint8_t __pad11f3[0x1]; // 0x11f3 + [[maybe_unused]] uint8_t __pad12c3[0x1]; // 0x12c3 public: - GameTime_t m_flRespawnTime; // 0x11f4 - int32_t vampiric_aura; // 0x11f8 - int32_t gold_bounty; // 0x11fc - int32_t xp_bounty; // 0x1200 - int32_t skeleton_building_damage_reduction; // 0x1204 - bool m_bFirstTick; // 0x1208 + GameTime_t m_flRespawnTime; // 0x12c4 + int32_t vampiric_aura; // 0x12c8 + int32_t gold_bounty; // 0x12cc + int32_t xp_bounty; // 0x12d0 + int32_t skeleton_building_damage_reduction; // 0x12d4 + int32_t skeleton_bonus_hero_damage; // 0x12d8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 +class CDOTA_Ability_SkeletonKing_HellfireBlast : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_SkeletonKing_HellfireBlast : public CDOTA_Buff +{ +public: + int32_t blast_dot_damage; // 0x12b8 + int32_t blast_slow; // 0x12bc +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_SkeletonKing_HellfireBlast_Skeleton_Buff : public CDOTA_Buff +{ +public: + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_move_speed; // 0x12bc +}; + +// Alignment: 0 +// Size: 0x568 class CDOTA_Ability_SkeletonKing_MortalStrike : public CDOTABaseAbility { public: @@ -47458,70 +48039,70 @@ public: }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_SkeletonKing_MortalStrike : public CDOTA_Buff { public: - int32_t crit_mult; // 0x11e8 + int32_t crit_mult; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_vCritRecords; // 0x11f0 + CUtlVector< int16 > m_vCritRecords; // 0x12c0 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_SkeletonKing_Reincarnation : public CDOTABaseAbility { public: - bool m_bShouldUseResources; // 0x558 + bool m_bShouldUseResources; // 0x568 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_SkeletonKing_Reincarnation : public CDOTA_Buff { public: - float reincarnate_time; // 0x11e8 - int32_t scepter_aura_radius; // 0x11ec - GameTime_t m_fLastReincarnationTime; // 0x11f0 + float reincarnate_time; // 0x12b8 + int32_t scepter_aura_radius; // 0x12bc + GameTime_t m_fLastReincarnationTime; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SkeletonKing_Reincarnation_SpawnSkeletons : public CDOTA_Buff { public: - int32_t shard_skeleton_count; // 0x11e8 + int32_t shard_skeleton_count; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SkeletonKing_Reincarnation_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x11e8 - int32_t attackslow; // 0x11ec + int32_t movespeed; // 0x12b8 + int32_t attackslow; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter : public CDOTA_Buff { public: - float scepter_duration; // 0x11e8 + float scepter_duration; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter_RespawnTime : public CDOTA_Buff { public: - float scepter_respawn_pct; // 0x11e8 + float scepter_respawn_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Skeleton_King_Scepter_Tracker : public CDOTA_Buff { public: @@ -47529,15 +48110,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Skeleton_King_Arcana : public CDOTA_Buff { public: - bool m_bHasCrit; // 0x11e8 + bool m_bHasCrit; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Storm_Spirit_Electric_Rave : public CDOTABaseAbility { public: @@ -47545,38 +48126,38 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_StormSpirit_Electric_Rave : public CDOTA_Buff { public: - int32_t overload_aoe; // 0x11e8 - int32_t overload_damage; // 0x11ec - int32_t shard_attack_speed_bonus; // 0x11f0 + int32_t overload_aoe; // 0x12b8 + int32_t overload_damage; // 0x12bc + int32_t shard_attack_speed_bonus; // 0x12c0 }; // Alignment: 1 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_StormSpirit_StaticRemnant : public CDOTABaseAbility { public: - Vector m_vecCastPos; // 0x558 + Vector m_vecCastPos; // 0x568 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_StormSpirit_StaticRemnantThinker : public CDOTA_Buff { public: - int32_t static_remnant_radius; // 0x11e8 - int32_t static_remnant_damage_radius; // 0x11ec - int32_t static_remnant_damage; // 0x11f0 - float static_remnant_delay; // 0x11f4 - int32_t m_iSearchRadius; // 0x11f8 - int32_t m_iDamageRadius; // 0x11fc + int32_t static_remnant_radius; // 0x12b8 + int32_t static_remnant_damage_radius; // 0x12bc + int32_t static_remnant_damage; // 0x12c0 + float static_remnant_delay; // 0x12c4 + int32_t m_iSearchRadius; // 0x12c8 + int32_t m_iDamageRadius; // 0x12cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_StormSpirit_ElectricVortex : public CDOTABaseAbility { public: @@ -47584,25 +48165,25 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_StormSpirit_ElectricVortex_SelfSlow : public CDOTA_Buff { public: - int32_t electric_vortex_self_slow; // 0x11e8 + int32_t electric_vortex_self_slow; // 0x12b8 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_StormSpirit_ElectricVortex_Pull : public CDOTA_Buff { public: - Vector m_vDestination; // 0x11e8 - int32_t electric_vortex_pull_distance; // 0x11f4 - float electric_vortex_pull_tether_range; // 0x11f8 + Vector m_vDestination; // 0x12b8 + int32_t electric_vortex_pull_distance; // 0x12c4 + float electric_vortex_pull_tether_range; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_StormSpirit_ElectricVortex_NoStack : public CDOTA_Buff { public: @@ -47610,19 +48191,19 @@ public: }; // Alignment: 2 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_StormSpirit_Overload : public CDOTABaseAbility { public: - int32_t m_iAttackIndex; // 0x558 + int32_t m_iAttackIndex; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c public: - CUtlVector< sGlaiveInfoStorm > m_GlaiveInfo; // 0x560 + CUtlVector< sGlaiveInfoStorm > m_GlaiveInfo; // 0x570 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_StormSpirit_Overload_Passive : public CDOTA_Buff { public: @@ -47630,48 +48211,48 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_StormSpirit_Overload : public CDOTA_Buff { public: - int32_t overload_aoe; // 0x11e8 + int32_t overload_aoe; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_StormSpirit_OverloadSlow : public CDOTA_Buff { public: - int32_t overload_move_slow; // 0x11e8 - int32_t overload_attack_slow; // 0x11ec + int32_t overload_move_slow; // 0x12b8 + int32_t overload_attack_slow; // 0x12bc }; // Alignment: 12 -// Size: 0x5a8 +// Size: 0x5b8 class CDOTA_Ability_StormSpirit_BallLightning : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - bool m_bHasAutoRemnantTalent; // 0x568 + bool m_bHasAutoRemnantTalent; // 0x578 private: - [[maybe_unused]] uint8_t __pad0569[0x3]; // 0x569 + [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 public: - float m_fAutoRemnantInterval; // 0x56c - int32_t ball_lightning_initial_mana_base; // 0x570 - float ball_lightning_initial_mana_percentage; // 0x574 - int32_t ball_lightning_travel_cost_base; // 0x578 - float ball_lightning_travel_cost_percent; // 0x57c - int32_t m_iProjectileID; // 0x580 - Vector m_vStartLocation; // 0x584 - Vector m_vProjectileLocation; // 0x590 - float m_fDistanceAccumulator; // 0x59c - float m_fTalentDistanceAccumulator; // 0x5a0 - int32_t scepter_remnant_interval; // 0x5a4 + float m_fAutoRemnantInterval; // 0x57c + int32_t ball_lightning_initial_mana_base; // 0x580 + float ball_lightning_initial_mana_percentage; // 0x584 + int32_t ball_lightning_travel_cost_base; // 0x588 + float ball_lightning_travel_cost_percent; // 0x58c + int32_t m_iProjectileID; // 0x590 + Vector m_vStartLocation; // 0x594 + Vector m_vProjectileLocation; // 0x5a0 + float m_fDistanceAccumulator; // 0x5ac + float m_fTalentDistanceAccumulator; // 0x5b0 + int32_t scepter_remnant_interval; // 0x5b4 }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_StormSpirit_BallLightning : public CDOTA_Buff { public: @@ -47679,19 +48260,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Holdout_StaticRemnantThinker : public CDOTA_Buff { public: - int32_t static_remnant_radius; // 0x11e8 - int32_t static_remnant_damage_radius; // 0x11ec - int32_t static_remnant_damage; // 0x11f0 - float static_remnant_delay; // 0x11f4 - float overload_duration; // 0x11f8 + int32_t static_remnant_radius; // 0x12b8 + int32_t static_remnant_damage_radius; // 0x12bc + int32_t static_remnant_damage; // 0x12c0 + float static_remnant_delay; // 0x12c4 + float overload_duration; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_StormSpirit_StaticRemnant_Talent : public CDOTA_Buff { public: @@ -47699,7 +48280,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DrowRanger_Silence : public CDOTABaseAbility { public: @@ -47707,37 +48288,38 @@ public: }; // Alignment: 7 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_DrowRanger_WaveOfSilence : public CDOTABaseAbility { public: - Vector m_vStartPosition; // 0x558 - Vector m_vEndPosition; // 0x564 - int32_t wave_width; // 0x570 - float wave_speed; // 0x574 - float silence_duration; // 0x578 - float knockback_distance_max; // 0x57c - int32_t m_nHeroesHit; // 0x580 + Vector m_vStartPosition; // 0x568 + Vector m_vEndPosition; // 0x574 + int32_t wave_width; // 0x580 + float wave_speed; // 0x584 + float silence_duration; // 0x588 + float knockback_distance_max; // 0x58c + int32_t m_nHeroesHit; // 0x590 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DrowRanger_WaveOfSilence_Buff : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x11e8 + int32_t bonus_movespeed; // 0x12b8 }; -// Alignment: 0 -// Size: 0x11e8 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_DrowRanger_WaveOfSilence : public CDOTA_Buff { public: - // No members available + int32_t miss_chance; // 0x12b8 + int32_t gust_reveals_invis; // 0x12bc }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_DrowRanger_WaveOfSilence_Knockback : public CDOTA_Modifier_Knockback { public: @@ -47745,7 +48327,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DrowRanger_Trueshot : public CDOTABaseAbility { public: @@ -47753,7 +48335,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DrowRanger_Trueshot : public CDOTA_Buff { public: @@ -47761,7 +48343,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DrowRanger_Trueshot_Global : public CDOTA_Buff { public: @@ -47769,15 +48351,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DrowRanger_TrueshotAura : public CDOTA_Buff { public: - float trueshot_ranged_attack_speed; // 0x11e8 + float trueshot_ranged_attack_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DrowRanger_Marksmanship : public CDOTABaseAbility { public: @@ -47785,93 +48367,93 @@ public: }; // Alignment: 11 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_DrowRanger_Marksmanship : public CDOTA_Buff { public: - int32_t chance; // 0x11e8 - ParticleIndex_t m_nFxIndex; // 0x11ec - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 - CUtlVector< int16 > m_GlacialInFlightAttackRecords; // 0x1208 - int32_t bonus_factor; // 0x1220 - int32_t disable_range; // 0x1224 - int32_t agility_range; // 0x1228 - int32_t bonus_damage; // 0x122c - int32_t split_count; // 0x1230 - int32_t split_range; // 0x1234 - bool m_bGlacialAttack; // 0x1238 + int32_t chance; // 0x12b8 + ParticleIndex_t m_nFxIndex; // 0x12bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + CUtlVector< int16 > m_GlacialInFlightAttackRecords; // 0x12d8 + int32_t bonus_factor; // 0x12f0 + int32_t disable_range; // 0x12f4 + int32_t agility_range; // 0x12f8 + int32_t bonus_damage; // 0x12fc + int32_t split_count; // 0x1300 + int32_t split_range; // 0x1304 + bool m_bGlacialAttack; // 0x1308 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DrowRanger_Marksmanship_Aura_Bonus : public CDOTA_Buff { public: - int32_t agility_multiplier; // 0x11e8 - float agility_multiplier_ally; // 0x11ec + int32_t agility_multiplier; // 0x12b8 + float agility_multiplier_ally; // 0x12bc }; // Alignment: 3 -// Size: 0x1260 +// Size: 0x1330 class CDOTA_Modifier_DrowRanger_Marksmanship_Reduction : public CDOTA_Buff { public: - int32_t split_damage_reduction; // 0x11e8 + int32_t split_damage_reduction; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVectorFixedGrowable< int32 > m_vecRecords; // 0x11f0 - CUtlVectorFixedGrowable< GameTime_t > m_vecRecordTimes; // 0x1228 + CUtlVectorFixedGrowable< int32 > m_vecRecords; // 0x12c0 + CUtlVectorFixedGrowable< GameTime_t > m_vecRecordTimes; // 0x12f8 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_DrowRanger_FrostArrows : public CDOTABaseAbility { public: - int32_t shard_burst_damage_per_stack; // 0x558 - float shard_burst_slow_duration; // 0x55c + int32_t shard_burst_damage_per_stack; // 0x568 + float shard_burst_slow_duration; // 0x56c }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_DrowRanger_FrostArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 - int32_t shard_bonus_damage_per_stack; // 0x1200 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + int32_t shard_bonus_damage_per_stack; // 0x12d0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_DrowRanger_FrostArrows_Slow : public CDOTA_Buff { public: - int32_t frost_arrows_movement_speed; // 0x11e8 - int32_t shard_max_stacks; // 0x11ec - float shard_stack_duration; // 0x11f0 + int32_t frost_arrows_movement_speed; // 0x12b8 + int32_t shard_max_stacks; // 0x12bc + float shard_stack_duration; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DrowRanger_FrostArrows_Shard_Slow : public CDOTA_Buff { public: - int32_t shard_burst_move_slow_pct; // 0x11e8 + int32_t shard_burst_move_slow_pct; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_DrowRanger_FrostArrows_Hypothermia : public CDOTA_Buff { public: - int32_t shard_regen_reduction_pct_per_stack; // 0x11e8 - int32_t shard_burst_radius; // 0x11ec - ParticleIndex_t m_nFXStackIndex; // 0x11f0 + int32_t shard_regen_reduction_pct_per_stack; // 0x12b8 + int32_t shard_burst_radius; // 0x12bc + ParticleIndex_t m_nFXStackIndex; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DrowRanger_FrostArrows_Hypothermia_Active : public CDOTA_Buff { public: @@ -47879,198 +48461,134 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop : public CDOTA_Buff { public: - int32_t multishot_arrow_bonus; // 0x11e8 - int32_t end_height; // 0x11ec - int32_t attack_range_bonus; // 0x11f0 + int32_t multishot_arrow_bonus; // 0x12b8 + int32_t end_height; // 0x12bc + int32_t attack_range_bonus; // 0x12c0 }; // Alignment: 12 -// Size: 0x620 +// Size: 0x630 class CDOTA_Ability_DrowRanger_Multishot : public CDOTABaseAbility { public: - Vector m_vStartPos; // 0x558 - int32_t m_iArrowProjectile; // 0x564 - int32_t m_nFXIndex; // 0x568 - float arrow_speed; // 0x56c - int32_t arrow_spread; // 0x570 -private: - [[maybe_unused]] uint8_t __pad0574[0x4]; // 0x574 -public: - CUtlVector< CHandle< CBaseEntity > > m_vHitTargets0; // 0x578 - CUtlVector< CHandle< CBaseEntity > > m_vHitTargets1; // 0x590 - CUtlVector< CHandle< CBaseEntity > > m_vHitTargets2; // 0x5a8 - CUtlVector< CHandle< CBaseEntity > > m_vHitTargets3; // 0x5c0 - CUtlVector< CHandle< CBaseEntity > > m_vHitTargets4; // 0x5d8 - CUtlVector< CHandle< CBaseEntity > > m_vHitTargets5; // 0x5f0 - CUtlVector< CHandle< CBaseEntity > > m_vHitTargets6; // 0x608 -}; - -// Alignment: 13 -// Size: 0x1228 -class CDOTA_Modifier_Drow_Ranger_Multishot : public CDOTA_Buff -{ -public: - int32_t m_iArrowCount; // 0x11e8 - Vector m_vOriginalTarget; // 0x11ec - int32_t arrow_width; // 0x11f8 - float arrow_speed; // 0x11fc - float arrow_range_multiplier; // 0x1200 - int32_t wave_count; // 0x1204 - int32_t arrow_count_per_wave; // 0x1208 - int32_t arrow_angle; // 0x120c - int32_t m_iLoopCount; // 0x1210 - float m_flInterval; // 0x1214 - float m_flCycleDelay; // 0x1218 - float m_flTimeWaste; // 0x121c - GameTime_t m_flExpectedTime; // 0x1220 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Drow_Ranger_Multishot_Damage : public CDOTA_Buff -{ -public: - int32_t arrow_damage_pct; // 0x11e8 -}; - -// Alignment: 0 -// Size: 0x558 -class CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_1 : public CDOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x558 -class CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_2 : public CDOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x558 -class CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_3 : public CDOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x558 -class CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_4 : public CDOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x558 -class CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_5 : public CDOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x558 -class CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_6 : public CDOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x558 -class CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_7 : public CDOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x558 -class CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_8 : public CDOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_DrowRanger_ArcanaKill_Delay : public CDOTA_Buff -{ -public: - PlayerID_t m_nPlayerID_Drow; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_DrowRanger_Arcana : public CDOTA_Buff -{ -public: - bool m_bFlawlessVictoryProgressGranted; // 0x11e8 -}; - -// Alignment: 10 -// Size: 0x5c0 -class CDOTA_Ability_Drow_Ranger_Glacier : public CDOTABaseAbility -{ -public: - int32_t shard_width; // 0x558 - int32_t shard_count; // 0x55c - float shard_duration; // 0x560 - float shard_angle_step; // 0x564 - int32_t shard_distance; // 0x568 - Vector m_vSpawnOrigin; // 0x56c - Vector m_vDirection; // 0x578 + Vector m_vStartPos; // 0x568 + int32_t m_iArrowProjectile; // 0x574 + int32_t m_nFXIndex; // 0x578 + float arrow_speed; // 0x57c + int32_t arrow_spread; // 0x580 private: [[maybe_unused]] uint8_t __pad0584[0x4]; // 0x584 public: - CUtlVector< CHandle< CBaseEntity > > m_vecShards; // 0x588 -private: - [[maybe_unused]] uint8_t __pad05a0[0x8]; // 0x5a0 + CUtlVector< CHandle< CBaseEntity > > m_vHitTargets0; // 0x588 + CUtlVector< CHandle< CBaseEntity > > m_vHitTargets1; // 0x5a0 + CUtlVector< CHandle< CBaseEntity > > m_vHitTargets2; // 0x5b8 + CUtlVector< CHandle< CBaseEntity > > m_vHitTargets3; // 0x5d0 + CUtlVector< CHandle< CBaseEntity > > m_vHitTargets4; // 0x5e8 + CUtlVector< CHandle< CBaseEntity > > m_vHitTargets5; // 0x600 + CUtlVector< CHandle< CBaseEntity > > m_vHitTargets6; // 0x618 +}; + +// Alignment: 13 +// Size: 0x12f8 +class CDOTA_Modifier_Drow_Ranger_Multishot : public CDOTA_Buff +{ public: - CDOTABaseAbility* m_pIceShardsStop; // 0x5a8 + int32_t m_iArrowCount; // 0x12b8 + Vector m_vOriginalTarget; // 0x12bc + int32_t arrow_width; // 0x12c8 + float arrow_speed; // 0x12cc + float arrow_range_multiplier; // 0x12d0 + int32_t wave_count; // 0x12d4 + int32_t arrow_count_per_wave; // 0x12d8 + int32_t arrow_angle; // 0x12dc + int32_t m_iLoopCount; // 0x12e0 + float m_flInterval; // 0x12e4 + float m_flCycleDelay; // 0x12e8 + float m_flTimeWaste; // 0x12ec + GameTime_t m_flExpectedTime; // 0x12f0 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Drow_Ranger_Multishot_Damage : public CDOTA_Buff +{ +public: + int32_t arrow_damage_pct; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_DrowRanger_ArcanaKill_Delay : public CDOTA_Buff +{ +public: + PlayerID_t m_nPlayerID_Drow; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_DrowRanger_Arcana : public CDOTA_Buff +{ +public: + bool m_bFlawlessVictoryProgressGranted; // 0x12b8 +}; + +// Alignment: 10 +// Size: 0x5d0 +class CDOTA_Ability_Drow_Ranger_Glacier : public CDOTABaseAbility +{ +public: + int32_t shard_width; // 0x568 + int32_t shard_count; // 0x56c + float shard_duration; // 0x570 + float shard_angle_step; // 0x574 + int32_t shard_distance; // 0x578 + Vector m_vSpawnOrigin; // 0x57c + Vector m_vDirection; // 0x588 +private: + [[maybe_unused]] uint8_t __pad0594[0x4]; // 0x594 +public: + CUtlVector< CHandle< CBaseEntity > > m_vecShards; // 0x598 private: [[maybe_unused]] uint8_t __pad05b0[0x8]; // 0x5b0 public: - ParticleIndex_t m_nFXIndex; // 0x5b8 + CDOTABaseAbility* m_pIceShardsStop; // 0x5b8 +private: + [[maybe_unused]] uint8_t __pad05c0[0x8]; // 0x5c0 +public: + ParticleIndex_t m_nFXIndex; // 0x5c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop_Aura : public CDOTA_Buff { public: - int32_t shard_width; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t shard_width; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop_Removal : public CDOTA_Buff { public: - float z_speed_override; // 0x11e8 + float z_speed_override; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Drow_Ranger_Glacier_Shard : public CDOTA_Buff { public: - uint32_t m_unOccluderID; // 0x11e8 + uint32_t m_unOccluderID; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Earthshaker_Shard : public CDOTA_Buff_Item { public: @@ -48078,18 +48596,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Earthshaker_Arcana : public CDOTA_Buff { public: - int32_t m_nComboCount; // 0x11e8 - float m_flComboWindow; // 0x11ec - float m_flComboDisplayInterval; // 0x11f0 - float m_flDamageDone; // 0x11f4 + int32_t m_nComboCount; // 0x12b8 + float m_flComboWindow; // 0x12bc + float m_flComboDisplayInterval; // 0x12c0 + float m_flDamageDone; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Earthshaker_Fissure : public CDOTABaseAbility { public: @@ -48097,19 +48615,19 @@ public: }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Earthshaker_Fissure_Shard : public CDOTA_Buff { public: - int32_t shard_aftershock_stun_duration_pct; // 0x11e8 - float shard_free_pathing_linger_duration; // 0x11ec - Vector m_vStartPos; // 0x11f0 - Vector m_vEndPos; // 0x11fc - GameTime_t m_flEndTime; // 0x1208 + int32_t shard_aftershock_stun_duration_pct; // 0x12b8 + float shard_free_pathing_linger_duration; // 0x12bc + Vector m_vStartPos; // 0x12c0 + Vector m_vEndPos; // 0x12cc + GameTime_t m_flEndTime; // 0x12d8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Earthshaker_Fissure_Shard_Pathing : public CDOTA_Buff { public: @@ -48117,7 +48635,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Earthshaker_Fissure_Stun : public CDOTA_Modifier_Stunned { public: @@ -48125,7 +48643,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Earthshaker_Fissure_Thinker : public CDOTA_Buff { public: @@ -48133,7 +48651,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Fissure_Rooted : public CDOTA_Modifier_Rooted { public: @@ -48141,7 +48659,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Earthshaker_EnchantTotem : public CDOTABaseAbility { public: @@ -48149,34 +48667,34 @@ public: }; // Alignment: 15 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Earthshaker_EnchantTotem_Leap : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x4]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x4]; // 0x12b8 public: - Vector m_vLoc; // 0x11ec - float m_flPredictedTotalTime; // 0x11f8 - Vector m_vStartPosition; // 0x11fc - float m_flCurrentTimeHoriz; // 0x1208 - float m_flCurrentTimeVert; // 0x120c - bool m_bHorizontalMotionInterrupted; // 0x1210 - bool m_bDamageApplied; // 0x1211 - bool m_bTargetTeleported; // 0x1212 + Vector m_vLoc; // 0x12bc + float m_flPredictedTotalTime; // 0x12c8 + Vector m_vStartPosition; // 0x12cc + float m_flCurrentTimeHoriz; // 0x12d8 + float m_flCurrentTimeVert; // 0x12dc + bool m_bHorizontalMotionInterrupted; // 0x12e0 + bool m_bDamageApplied; // 0x12e1 + bool m_bTargetTeleported; // 0x12e2 private: - [[maybe_unused]] uint8_t __pad1213[0x1]; // 0x1213 + [[maybe_unused]] uint8_t __pad12e3[0x1]; // 0x12e3 public: - Vector m_vHorizontalVelocity; // 0x1214 - Vector m_vLastKnownTargetPosition; // 0x1220 - float m_flInitialVelocityZ; // 0x122c - int32_t scepter_height; // 0x1230 - int32_t scepter_height_arcbuffer; // 0x1234 - int32_t scepter_acceleration_z; // 0x1238 - int32_t scepter_acceleration_horizontal; // 0x123c + Vector m_vHorizontalVelocity; // 0x12e4 + Vector m_vLastKnownTargetPosition; // 0x12f0 + float m_flInitialVelocityZ; // 0x12fc + int32_t scepter_height; // 0x1300 + int32_t scepter_height_arcbuffer; // 0x1304 + int32_t scepter_acceleration_z; // 0x1308 + int32_t scepter_acceleration_horizontal; // 0x130c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Earthshaker_EnchantTotem_Animation : public CDOTA_Buff { public: @@ -48184,24 +48702,24 @@ public: }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Earthshaker_EnchantTotem : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x11e8 - int32_t totem_damage_percentage; // 0x11ec - int32_t scepter_cleave_pct; // 0x11f0 - float scepter_cleave_starting_width; // 0x11f4 - float scepter_cleave_ending_width; // 0x11f8 - float scepter_cleave_distance; // 0x11fc + int32_t bonus_attack_range; // 0x12b8 + int32_t totem_damage_percentage; // 0x12bc + int32_t scepter_cleave_pct; // 0x12c0 + float scepter_cleave_starting_width; // 0x12c4 + float scepter_cleave_ending_width; // 0x12c8 + float scepter_cleave_distance; // 0x12cc private: - [[maybe_unused]] uint8_t __pad1200[0x8]; // 0x1200 + [[maybe_unused]] uint8_t __pad12d0[0x8]; // 0x12d0 public: - bool bActive; // 0x1208 + bool bActive; // 0x12d8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Earthshaker_Aftershock : public CDOTABaseAbility { public: @@ -48209,15 +48727,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Earthshaker_Aftershock : public CDOTA_Buff { public: - int32_t aftershock_range; // 0x11e8 + int32_t aftershock_range; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Earthshaker_EchoSlam_Delay : public CDOTA_Buff { public: @@ -48225,19 +48743,19 @@ public: }; // Alignment: 5 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Earthshaker_EchoSlam : public CDOTABaseAbility { public: - int32_t echo_slam_damage_range; // 0x558 - int32_t echo_slam_echo_search_range; // 0x55c - int32_t echo_slam_echo_range; // 0x560 - int32_t echo_slam_echo_damage; // 0x564 - int32_t echo_slam_initial_damage; // 0x568 + int32_t echo_slam_damage_range; // 0x568 + int32_t echo_slam_echo_search_range; // 0x56c + int32_t echo_slam_echo_range; // 0x570 + int32_t echo_slam_echo_damage; // 0x574 + int32_t echo_slam_initial_damage; // 0x578 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Earthshaker_Echoslam_Debuff : public CDOTA_Buff { public: @@ -48245,7 +48763,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Earthshaker_Echoslam_Heating_Up : public CDOTA_Buff { public: @@ -48253,104 +48771,105 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Earthshaker_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x11e8 - bool m_bFlail; // 0x11e9 + bool m_bFrozen; // 0x12b8 + bool m_bFlail; // 0x12b9 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_VengefulSpirit_Magic_Missile : public CDOTABaseAbility { public: - bool m_bShouldBounce; // 0x558 + bool m_bShouldBounce; // 0x568 }; // Alignment: 7 -// Size: 0x590 +// Size: 0x5a0 class CDOTA_Ability_VengefulSpirit_WaveOfTerror : public CDOTABaseAbility { public: - int32_t wave_width; // 0x558 - float wave_speed; // 0x55c - int32_t m_iProjectile; // 0x560 - float vision_aoe; // 0x564 - float vision_duration; // 0x568 - int32_t m_nNumHeroesHit; // 0x56c - CountdownTimer m_ViewerTimer; // 0x570 + int32_t wave_width; // 0x568 + float wave_speed; // 0x56c + int32_t m_iProjectile; // 0x570 + float vision_aoe; // 0x574 + float vision_duration; // 0x578 + int32_t m_nNumHeroesHit; // 0x57c + CountdownTimer m_ViewerTimer; // 0x580 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror_Fear : public CDOTA_Modifier_Fear { public: // No members available }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 - int32_t damage_reduction_pct; // 0x11ec + int32_t armor_reduction; // 0x12b8 + int32_t attack_reduction; // 0x12bc + int32_t damage_reduction_pct; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror_Buff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t bonus_damage; // 0x12b8 + int32_t bonus_armor; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VengefulSpirit_Command_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VengefulSpirit_Command_Aura_Illusion : public CDOTA_Modifier_Invulnerable { public: - CHandle< CBaseEntity > hTarget; // 0x11e8 + CHandle< CBaseEntity > hTarget; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VengefulSpirit_Command_Aura_Effect : public CDOTA_Buff { public: - int32_t bonus_base_damage; // 0x11e8 + int32_t bonus_base_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VengefulSpirit_Command_Negative_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VengefulSpirit_Command_Negative_Aura_Effect : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x11e8 + int32_t bonus_damage_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -48358,27 +48877,27 @@ public: }; // Alignment: 4 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_VengefulSpirit_Nether_Swap : public CDOTABaseAbility { public: - int32_t m_nFXIndex; // 0x558 - int32_t damage; // 0x55c - float damage_reduction; // 0x560 - float damage_reduction_duration; // 0x564 + int32_t m_nFXIndex; // 0x568 + int32_t damage; // 0x56c + float damage_reduction; // 0x570 + float damage_reduction_duration; // 0x574 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_DamageReduction : public CDOTA_Buff { public: - float damage_reduction; // 0x11e8 - ParticleIndex_t nFXIndex; // 0x11ec + float damage_reduction; // 0x12b8 + ParticleIndex_t nFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_PathingFix : public CDOTA_Buff { public: @@ -48386,19 +48905,19 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VengefulSpirit_Hybrid_Special : public CDOTA_Buff { public: - bool m_bLeftoverHybrid; // 0x11e8 + bool m_bLeftoverHybrid; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t scepter_illusion_ms_bonus_pct; // 0x11ec + int32_t scepter_illusion_ms_bonus_pct; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_VengefulSpirit_XP_Earn : public CDOTA_Buff { public: @@ -48406,7 +48925,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_CrystalMaiden_Let_It_Go : public CDOTABaseAbility { public: @@ -48414,16 +48933,16 @@ public: }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Thinker : public CDOTA_Buff { public: - Vector m_vPathStart; // 0x11e8 - Vector m_vPathEnd; // 0x11f4 + Vector m_vPathStart; // 0x12b8 + Vector m_vPathEnd; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Bonus : public CDOTA_Buff { public: @@ -48431,7 +48950,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Slow : public CDOTA_Buff { public: @@ -48439,24 +48958,24 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_CrystalMaiden_CrystalNova : public CDOTABaseAbility { public: - int32_t nova_damage; // 0x558 + int32_t nova_damage; // 0x568 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_CrystalMaiden_CrystalNova : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 - int32_t attackspeed_slow; // 0x11ec + int32_t movespeed_slow; // 0x12b8 + int32_t attackspeed_slow; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_CrystalMaiden_Frostbite : public CDOTABaseAbility { public: @@ -48464,18 +48983,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_CrystalMaiden_Frostbite : public CDOTA_Buff { public: - int32_t max_ticks; // 0x11e8 - int32_t damage_per_second; // 0x11ec - int32_t creep_damage_per_second; // 0x11f0 - float tick_interval; // 0x11f4 + int32_t max_ticks; // 0x12b8 + int32_t damage_per_second; // 0x12bc + int32_t creep_damage_per_second; // 0x12c0 + float tick_interval; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_CrystalMaiden_BrillianceAura : public CDOTABaseAbility { public: @@ -48483,7 +49002,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_CrystalMaiden_BrillianceAura : public CDOTA_Buff { public: @@ -48491,18 +49010,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_CrystalMaiden_BrillianceAuraEffect : public CDOTA_Buff { public: - float base_mana_regen; // 0x11e8 - float self_factor; // 0x11ec - float proximity_bonus_factor; // 0x11f0 - int32_t proximity_bonus_radius; // 0x11f4 + float base_mana_regen; // 0x12b8 + float self_factor; // 0x12bc + float proximity_bonus_factor; // 0x12c0 + int32_t proximity_bonus_radius; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_CrystalMaiden_FreezingField : public CDOTABaseAbility { public: @@ -48510,7 +49029,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_CrystalMaiden_FreezingFieldStop : public CDOTABaseAbility { public: @@ -48518,51 +49037,51 @@ public: }; // Alignment: 22 -// Size: 0x1270 +// Size: 0x1340 class CDOTA_Modifier_CrystalMaiden_FreezingField : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t damage; // 0x11ec - int32_t bonus_armor; // 0x11f0 - float explosion_interval; // 0x11f4 - float shard_bonus_explosion; // 0x11f8 - int32_t explosion_radius; // 0x11fc - float slow_duration; // 0x1200 - int32_t explosion_min_dist; // 0x1204 - int32_t explosion_max_dist; // 0x1208 - float frostbite_delay; // 0x120c - GameTime_t m_fLastTick; // 0x1210 - float m_fTimeAccumulator; // 0x1214 - int32_t m_iExplosionCount; // 0x1218 - int32_t m_iExplosionTotalCount; // 0x121c - int32_t m_iExplosionQuadrant; // 0x1220 - int32_t m_iExplosionDistance; // 0x1224 - int32_t shard_self_movement_speed_slow_pct; // 0x1228 - ParticleIndex_t m_nFXIndex; // 0x122c + int32_t radius; // 0x12b8 + int32_t damage; // 0x12bc + int32_t bonus_armor; // 0x12c0 + float explosion_interval; // 0x12c4 + float shard_bonus_explosion; // 0x12c8 + int32_t explosion_radius; // 0x12cc + float slow_duration; // 0x12d0 + int32_t explosion_min_dist; // 0x12d4 + int32_t explosion_max_dist; // 0x12d8 + float frostbite_delay; // 0x12dc + GameTime_t m_fLastTick; // 0x12e0 + float m_fTimeAccumulator; // 0x12e4 + int32_t m_iExplosionCount; // 0x12e8 + int32_t m_iExplosionTotalCount; // 0x12ec + int32_t m_iExplosionQuadrant; // 0x12f0 + int32_t m_iExplosionDistance; // 0x12f4 + int32_t shard_self_movement_speed_slow_pct; // 0x12f8 + ParticleIndex_t m_nFXIndex; // 0x12fc private: - [[maybe_unused]] uint8_t __pad1230[0x8]; // 0x1230 + [[maybe_unused]] uint8_t __pad1300[0x8]; // 0x1300 public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1238 - CUtlVector< CHandle< CBaseEntity > > m_hHitHeroes; // 0x1250 - bool m_bHitInvisibleHero; // 0x1268 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1308 + CUtlVector< CHandle< CBaseEntity > > m_hHitHeroes; // 0x1320 + bool m_bHitInvisibleHero; // 0x1338 private: - [[maybe_unused]] uint8_t __pad1269[0x3]; // 0x1269 + [[maybe_unused]] uint8_t __pad1339[0x3]; // 0x1339 public: - int32_t can_move; // 0x126c + int32_t can_move; // 0x133c }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_CrystalMaiden_FreezingField_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 - int32_t attack_slow; // 0x11ec + int32_t movespeed_slow; // 0x12b8 + int32_t attack_slow; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_CrystalMaiden_FreezingField_Tracker : public CDOTA_Buff { public: @@ -48570,111 +49089,150 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_CrystalMaiden_IceRink : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 + ParticleIndex_t m_nFXIndex; // 0x568 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_CrystalMaiden_IceRink_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float rink_formation_time; // 0x11ec - bool m_bActive; // 0x11f0 + int32_t radius; // 0x12b8 + float rink_formation_time; // 0x12bc + bool m_bActive; // 0x12c0 }; // Alignment: 8 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_CrystalMaiden_IceRink_Movement : public CDOTA_Buff { public: - bool m_bHitFirstUpdate; // 0x11e8 + bool m_bHitFirstUpdate; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - float flMovementSpeed; // 0x11ec - float m_flTurnBoostProgress; // 0x11f0 - float m_flFacingTarget; // 0x11f4 - ParticleIndex_t m_nFXIndex; // 0x11f8 - GameTime_t m_flHitEndTime; // 0x11fc - float hit_recover_time; // 0x1200 - Vector m_vDirection; // 0x1204 + float flMovementSpeed; // 0x12bc + float m_flTurnBoostProgress; // 0x12c0 + float m_flFacingTarget; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + GameTime_t m_flHitEndTime; // 0x12cc + float hit_recover_time; // 0x12d0 + Vector m_vDirection; // 0x12d4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_CDOTA_Modifier_CrystalMaiden_IceRink_Movement_Ricochet : public CDOTA_Buff { public: - float m_flStartZ; // 0x11e8 - float m_flCurTime; // 0x11ec -}; - -// Alignment: 1 -// Size: 0x560 -class CDOTA_Ability_Axe_BattleHunger : public CDOTABaseAbility -{ -public: - int32_t damage_per_second; // 0x558 -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Axe_BattleHunger : public CDOTA_Buff -{ -public: - int32_t damage_per_second; // 0x11e8 - int32_t slow; // 0x11ec - int32_t scepter_armor_change; // 0x11f0 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Axe_BatleHunger_Self : public CDOTA_Buff -{ -public: - int32_t scepter_armor_change; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Axe_BatleHunger_Self_Movespeed : public CDOTA_Buff -{ -public: - int32_t speed_bonus; // 0x11e8 + float m_flStartZ; // 0x12b8 + float m_flCurTime; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 +class CDOTA_Ability_Crystal_Maiden_Crystal_Clone : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 5 +// Size: 0x12d8 +class CDOTA_Modifier_Crystal_Maiden_Crystal_Clone : public CDOTA_Buff +{ +public: + float hop_duration; // 0x12b8 + int32_t hop_distance; // 0x12bc + float m_flCurTime; // 0x12c0 + float m_flEndTime; // 0x12c4 + Vector m_vTargetHorizontalDirection; // 0x12c8 +}; + +// Alignment: 5 +// Size: 0x12d0 +class CDOTA_Modifier_Crystal_Maiden_Crystal_Clone_Statue : public CDOTA_Buff +{ +public: + int32_t frostbite_radius; // 0x12b8 + float anim_delay; // 0x12bc + bool m_bActivated; // 0x12c0 +private: + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 +public: + int32_t clone_health; // 0x12c4 + float m_flDamageTaken; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x570 +class CDOTA_Ability_Axe_BattleHunger : public CDOTABaseAbility +{ +public: + int32_t damage_per_second; // 0x568 +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Axe_BattleHunger : public CDOTA_Buff +{ +public: + int32_t damage_per_second; // 0x12b8 + int32_t slow; // 0x12bc + int32_t scepter_armor_change; // 0x12c0 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Axe_BatleHunger_Self : public CDOTA_Buff +{ +public: + int32_t scepter_armor_change; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Axe_BatleHunger_Self_Movespeed : public CDOTA_Buff +{ +public: + int32_t speed_bonus; // 0x12b8 +}; + +// Alignment: 0 +// Size: 0x568 class CDOTA_Ability_Axe_BerserkersCall : public CDOTABaseAbility { public: // No members available }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Axe_BerserkersCall : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hZombieTarget; // 0x11e8 - bool m_bDidSetAttackTarget; // 0x11ec + CHandle< CBaseEntity > m_hZombieTarget; // 0x12b8 + bool m_bDidSetAttackTarget; // 0x12bc +private: + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd +public: + int32_t bonus_attack_speed; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Axe_BerserkersCallArmor : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Axe_CounterHelix : public CDOTABaseAbility { public: @@ -48682,39 +49240,39 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Axe_CounterHelix : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t trigger_attacks; // 0x11ec + int32_t radius; // 0x12b8 + int32_t trigger_attacks; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Axe_CounterHelix_DamageReduction : public CDOTA_Buff { public: - int32_t shard_damage_reduction; // 0x11e8 + int32_t shard_damage_reduction; // 0x12b8 }; // Alignment: 3 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_Axe_CullingBlade : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - bool m_bInterrupted; // 0x568 + bool m_bInterrupted; // 0x578 private: - [[maybe_unused]] uint8_t __pad0569[0x3]; // 0x569 + [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 public: - Vector m_vProjectileLocation; // 0x56c - CHandle< CBaseEntity > m_hTarget; // 0x578 + Vector m_vProjectileLocation; // 0x57c + CHandle< CBaseEntity > m_hTarget; // 0x588 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Axe_Culling_Blade_NoMinHealth : public CDOTA_Buff { public: @@ -48722,7 +49280,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Axe_Culling_Blade_Charge : public CDOTA_Buff { public: @@ -48730,24 +49288,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Axe_CullingBlade_Boost : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x11e8 - int32_t atk_speed_bonus; // 0x11ec + int32_t speed_bonus; // 0x12b8 + int32_t atk_speed_bonus; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Axe_CullingBlade_Permanent : public CDOTA_Buff { public: - float armor_per_stack; // 0x11e8 + float armor_per_stack; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Axe_CullingBlade_JungleWeaponGesture : public CDOTA_Buff { public: @@ -48755,7 +49313,7 @@ public: }; // Alignment: 0 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_Holdout_CullingBlade : public CDOTA_Ability_Axe_CullingBlade { public: @@ -48763,28 +49321,28 @@ public: }; // Alignment: 11 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_HoldoutCullingBlade : public CDOTA_Buff { public: - float m_flTotalTime; // 0x11e8 - float m_flInitialVelocity; // 0x11ec - Vector m_vStartPosition; // 0x11f0 - Vector m_vTargetHorizontalDirection; // 0x11fc - float m_flCurrentTimeHoriz; // 0x1208 - float m_flCurrentTimeVert; // 0x120c - bool m_bInterrupted; // 0x1210 + float m_flTotalTime; // 0x12b8 + float m_flInitialVelocity; // 0x12bc + Vector m_vStartPosition; // 0x12c0 + Vector m_vTargetHorizontalDirection; // 0x12cc + float m_flCurrentTimeHoriz; // 0x12d8 + float m_flCurrentTimeVert; // 0x12dc + bool m_bInterrupted; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t leap_distance; // 0x1214 - int32_t leap_radius; // 0x1218 - float leap_speed; // 0x121c - float leap_acceleration; // 0x1220 + int32_t leap_distance; // 0x12e4 + int32_t leap_radius; // 0x12e8 + float leap_speed; // 0x12ec + float leap_acceleration; // 0x12f0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Axe : public CDOTABaseAbility { public: @@ -48792,7 +49350,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Axe_2 : public CDOTABaseAbility { public: @@ -48800,7 +49358,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Axe_3 : public CDOTABaseAbility { public: @@ -48808,7 +49366,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Axe_4 : public CDOTABaseAbility { public: @@ -48816,7 +49374,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Axe_5 : public CDOTABaseAbility { public: @@ -48824,7 +49382,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Axe_6 : public CDOTABaseAbility { public: @@ -48832,7 +49390,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Bloodseeker_Bloodrage : public CDOTABaseAbility { public: @@ -48840,19 +49398,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Bloodseeker_Bloodrage : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 - int32_t spell_amp; // 0x11ec - float shard_max_health_dmg_pct; // 0x11f0 - float damage_pct; // 0x11f4 - float flTickRate; // 0x11f8 + int32_t attack_speed; // 0x12b8 + int32_t spell_amp; // 0x12bc + float shard_max_health_dmg_pct; // 0x12c0 + float damage_pct; // 0x12c4 + float flTickRate; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Bloodseeker_Bloodbath : public CDOTABaseAbility { public: @@ -48860,32 +49418,32 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Bloodseeker_Bloodbath_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 10 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Bloodseeker_Thirst : public CDOTA_Buff { public: - int32_t hero_kill_heal; // 0x11e8 - int32_t creep_kill_heal; // 0x11ec - int32_t half_bonus_aoe; // 0x11f0 - int32_t visibility_threshold_pct; // 0x11f4 - int32_t invis_threshold_pct; // 0x11f8 - int32_t min_bonus_pct; // 0x11fc - int32_t max_bonus_pct; // 0x1200 - int32_t bonus_movement_speed; // 0x1204 - float linger_duration; // 0x1208 - ParticleIndex_t m_nFXIndex; // 0x120c + int32_t hero_kill_heal; // 0x12b8 + int32_t creep_kill_heal; // 0x12bc + int32_t half_bonus_aoe; // 0x12c0 + int32_t visibility_threshold_pct; // 0x12c4 + int32_t invis_threshold_pct; // 0x12c8 + int32_t min_bonus_pct; // 0x12cc + int32_t max_bonus_pct; // 0x12d0 + int32_t bonus_movement_speed; // 0x12d4 + float linger_duration; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Bloodseeker_Thirst : public CDOTABaseAbility { public: @@ -48893,23 +49451,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Bloodseeker_Thirst_Vision : public CDOTA_Buff { public: - int32_t invis_threshold_pct; // 0x11e8 + int32_t invis_threshold_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Bloodseeker_Thirst_Speed : public CDOTA_Buff { public: - CUtlSymbolLarge m_iszModifierString; // 0x11e8 + CUtlSymbolLarge m_iszModifierString; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bloodseeker_Rupture_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -48917,7 +49475,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Bloodseeker_Rupture : public CDOTABaseAbility { public: @@ -48925,22 +49483,22 @@ public: }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Bloodseeker_Rupture : public CDOTA_Buff { public: - int32_t movement_damage_pct; // 0x11e8 - float hp_pct; // 0x11ec - Vector vLastPos; // 0x11f0 - bool bResetPosition; // 0x11fc + int32_t movement_damage_pct; // 0x12b8 + float hp_pct; // 0x12bc + Vector vLastPos; // 0x12c0 + bool bResetPosition; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float m_fAccumulatedDamage; // 0x1200 + float m_fAccumulatedDamage; // 0x12d0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Bloodseeker_BloodMist : public CDOTABaseAbility { public: @@ -48948,16 +49506,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Bloodseeker_BloodMist_Barrier : public CDOTA_Buff { public: - GameTime_t flLastGameTime; // 0x11e8 - float m_flCurrentShield; // 0x11ec + GameTime_t flLastGameTime; // 0x12b8 + float m_flCurrentShield; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bloodseeker_BloodMist_Passive : public CDOTA_Buff { public: @@ -48965,40 +49523,40 @@ public: }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Bloodseeker_BloodMist : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 + ParticleIndex_t m_nFXIndex; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Bloodseeker_BloodMist_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_PhantomLancer_SpiritLance : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hLastHitEntity; // 0x558 - int32_t m_nBounceCount; // 0x55c + CHandle< CBaseEntity > m_hLastHitEntity; // 0x568 + int32_t m_nBounceCount; // 0x56c }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PhantomLancer_SpiritLance : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x11e8 + int32_t movement_speed_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_PhantomLancer_Doppelwalk : public CDOTABaseAbility { public: @@ -49006,75 +49564,75 @@ public: }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_PhantomLancer_Dopplewalk_Phase : public CDOTA_Buff { public: - Vector vTargetPosition; // 0x11e8 + Vector vTargetPosition; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PhantomLancer_Doppelwalk_Illusion : public CDOTA_Buff { public: - float flDamageTaken; // 0x11e8 + float flDamageTaken; // 0x12b8 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_PhantomLancer_Juxtapose : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hInvisIllusion; // 0x558 + CHandle< CBaseEntity > m_hInvisIllusion; // 0x568 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PhantomLancer_Juxtapose_Cache : public CDOTA_Buff { public: - PlayerID_t m_nControllingPlayer; // 0x11e8 + PlayerID_t m_nControllingPlayer; // 0x12b8 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_PhantomLancer_Juxtapose_Invisibility : public CDOTA_Modifier_Invisible { public: - float invis_movespeed; // 0x11f8 + float invis_movespeed; // 0x12c8 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_PhantomLancer_Juxtapose_Thinker : public CDOTA_Buff { public: - int32_t max_illusions; // 0x11e8 - int32_t scepter_bonus_illusions; // 0x11ec - float illusion_duration; // 0x11f0 - int32_t illusion_damage_out_pct; // 0x11f4 - int32_t illusion_damage_in_pct; // 0x11f8 - float scepter_bonus_duration; // 0x11fc - int32_t m_iIllusionsSoFar; // 0x1200 + int32_t max_illusions; // 0x12b8 + int32_t scepter_bonus_illusions; // 0x12bc + float illusion_duration; // 0x12c0 + int32_t illusion_damage_out_pct; // 0x12c4 + int32_t illusion_damage_in_pct; // 0x12c8 + float scepter_bonus_duration; // 0x12cc + int32_t m_iIllusionsSoFar; // 0x12d0 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_PhantomLancer_Juxtapose : public CDOTA_Buff { public: - int32_t proc_chance_pct; // 0x11e8 - int32_t illusion_proc_chance_pct; // 0x11ec - int32_t max_illusions; // 0x11f0 - float illusion_duration; // 0x11f4 - int32_t illusion_damage_out_pct; // 0x11f8 - int32_t illusion_damage_in_pct; // 0x11fc - int32_t shard_bonus_illusions; // 0x1200 + int32_t proc_chance_pct; // 0x12b8 + int32_t illusion_proc_chance_pct; // 0x12bc + int32_t max_illusions; // 0x12c0 + float illusion_duration; // 0x12c4 + int32_t illusion_damage_out_pct; // 0x12c8 + int32_t illusion_damage_in_pct; // 0x12cc + int32_t shard_bonus_illusions; // 0x12d0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_PhantomLancer_PhantomEdge : public CDOTABaseAbility { public: @@ -49082,47 +49640,47 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_PhantomLancer_PhantomEdge : public CDOTA_Buff { public: - int32_t min_distance; // 0x11e8 - int32_t max_distance; // 0x11ec - CHandle< CBaseEntity > m_hTarget; // 0x11f0 + int32_t min_distance; // 0x12b8 + int32_t max_distance; // 0x12bc + CHandle< CBaseEntity > m_hTarget; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_PhantomLancer_PhantomEdge_Boost : public CDOTA_Buff { public: - int32_t bonus_speed; // 0x11e8 - float agility_duration; // 0x11ec - bool m_bGiveAgility; // 0x11f0 + int32_t bonus_speed; // 0x12b8 + float agility_duration; // 0x12bc + bool m_bGiveAgility; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - CHandle< CBaseEntity > m_hTarget; // 0x11f4 + CHandle< CBaseEntity > m_hTarget; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PhantomLancer_PhantomEdge_Agility : public CDOTA_Buff { public: - int32_t bonus_agility; // 0x11e8 + int32_t bonus_agility; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PhantomLancer_JuxtaposeIllusion : public CDOTA_Buff { public: - bool m_bstrongIllusion; // 0x11e8 + bool m_bstrongIllusion; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phantom_Lancer : public CDOTABaseAbility { public: @@ -49130,7 +49688,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_2 : public CDOTABaseAbility { public: @@ -49138,7 +49696,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_3 : public CDOTABaseAbility { public: @@ -49146,7 +49704,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_4 : public CDOTABaseAbility { public: @@ -49154,7 +49712,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_5 : public CDOTABaseAbility { public: @@ -49162,7 +49720,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_6 : public CDOTABaseAbility { public: @@ -49170,7 +49728,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_7 : public CDOTABaseAbility { public: @@ -49178,7 +49736,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Razor_PlasmaField : public CDOTABaseAbility { public: @@ -49186,86 +49744,90 @@ public: }; // Alignment: 15 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_Razor_PlasmaField_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x11e8 - float m_fCurRadius; // 0x11ec - GameTime_t m_fLastThink; // 0x11f0 - bool m_bContracting; // 0x11f4 + float m_fLastRadius; // 0x12b8 + float m_fCurRadius; // 0x12bc + GameTime_t m_fLastThink; // 0x12c0 + bool m_bContracting; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - CountdownTimer m_ViewerTimer; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x1210 + CountdownTimer m_ViewerTimer; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x1218 - int32_t speed; // 0x1230 - int32_t radius; // 0x1234 - float damage_min; // 0x1238 - float damage_max; // 0x123c - int32_t slow_min; // 0x1240 - int32_t slow_max; // 0x1244 - float slow_duration; // 0x1248 - bool m_bHasCreatedFx; // 0x124c + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12e8 + int32_t speed; // 0x1300 + int32_t radius; // 0x1304 + float damage_min; // 0x1308 + float damage_max; // 0x130c + int32_t slow_min; // 0x1310 + int32_t slow_max; // 0x1314 + float slow_duration; // 0x1318 + bool m_bHasCreatedFx; // 0x131c }; -// Alignment: 4 -// Size: 0x580 +// Alignment: 5 +// Size: 0x598 class CDOTA_Ability_Razor_StaticLink : public CDOTABaseAbility { public: - int32_t m_iLinkIndex; // 0x558 + int32_t m_iLinkIndex; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c public: - CountdownTimer m_ViewerTimer; // 0x560 - int32_t vision_radius; // 0x578 - float vision_duration; // 0x57c + CountdownTimer m_ViewerTimer; // 0x570 + int32_t vision_radius; // 0x588 + float vision_duration; // 0x58c + bool m_bIsAltCastState; // 0x590 }; -// Alignment: 10 -// Size: 0x1220 +// Alignment: 13 +// Size: 0x1300 class CDOTA_Modifier_Razor_StaticLink : public CDOTA_Buff { public: - float flSmoothness; // 0x11e8 - float drain_duration; // 0x11ec - int32_t drain_rate; // 0x11f0 - int32_t drain_range; // 0x11f4 - int32_t drain_range_buffer; // 0x11f8 - CHandle< CBaseEntity > m_hTarget; // 0x11fc - int32_t m_iTotalDrainAmount; // 0x1200 - ParticleIndex_t m_iLinkIndex; // 0x1204 - CDOTA_Buff* m_pBuffPositive; // 0x1208 - CDOTA_Buff* m_pNegative; // 0x1210 + float flSmoothness; // 0x12b8 + float drain_duration; // 0x12bc + int32_t drain_rate; // 0x12c0 + int32_t drain_range; // 0x12c4 + int32_t drain_range_buffer; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12cc + int32_t m_iTotalDrainAmount; // 0x12d0 + int32_t pull_speed; // 0x12d4 + int32_t min_pull_range; // 0x12d8 + ParticleIndex_t m_iLinkIndex; // 0x12dc + CDOTA_Buff* m_pBuffPositive; // 0x12e0 + CDOTA_Buff* m_pNegative; // 0x12e8 + GameTime_t m_flLastThinkTime; // 0x12f0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Razor_StaticLink_Buff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t drain_rate; // 0x11ec - float drain_length; // 0x11f0 - int32_t attack_speed_factor; // 0x11f4 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t drain_rate; // 0x12bc + float drain_length; // 0x12c0 + int32_t attack_speed_factor; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Razor_StaticLink_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t attack_speed_factor; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t attack_speed_factor; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Razor_Link_Vision : public CDOTA_Buff { public: @@ -49273,7 +49835,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Razor_UnstableCurrent : public CDOTABaseAbility { public: @@ -49281,48 +49843,48 @@ public: }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Razor_UnstableCurrent_Aura : public CDOTA_Buff { public: - int32_t self_movement_speed_pct; // 0x11e8 - int32_t shard_pct_chance; // 0x11ec - int32_t shard_damage; // 0x11f0 - int32_t shard_move_slow_pct; // 0x11f4 - int32_t shard_search_radius; // 0x11f8 - int32_t shard_target_count; // 0x11fc - float shard_slow_duration; // 0x1200 - float shard_internal_cd; // 0x1204 - GameTime_t m_flNextShardProcTime; // 0x1208 + int32_t self_movement_speed_pct; // 0x12b8 + int32_t strike_pct_chance; // 0x12bc + int32_t strike_damage; // 0x12c0 + int32_t strike_move_slow_pct; // 0x12c4 + int32_t strike_search_radius; // 0x12c8 + int32_t strike_target_count; // 0x12cc + float strike_slow_duration; // 0x12d0 + float strike_internal_cd; // 0x12d4 + GameTime_t m_flNextShardProcTime; // 0x12d8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Razor_UnstableCurrent_Delayed_Damage : public CDOTA_Buff { public: - int32_t shard_damage; // 0x11e8 - float shard_slow_duration; // 0x11ec + int32_t strike_damage; // 0x12b8 + float strike_slow_duration; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Razor_UnstableCurrent_Slow : public CDOTA_Buff { public: - int32_t shard_move_slow_pct; // 0x11e8 + int32_t strike_move_slow_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Razor_PlasmaField_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x11e8 + int32_t slow_amount; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Razor_EyeOfTheStorm : public CDOTABaseAbility { public: @@ -49330,28 +49892,28 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Razor_EyeOfTheStorm_Passive : public CDOTA_Buff { public: - int32_t passive_area_damage; // 0x11e8 - float passive_area_interval; // 0x11ec - int32_t radius; // 0x11f0 - bool m_bHitNext; // 0x11f4 + int32_t passive_area_damage; // 0x12b8 + float passive_area_interval; // 0x12bc + int32_t radius; // 0x12c0 + bool m_bHitNext; // 0x12c4 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Razor_EyeOfTheStorm : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t armor_reduction; // 0x11ec - int32_t damage; // 0x11f0 + int32_t radius; // 0x12b8 + int32_t armor_reduction; // 0x12bc + int32_t damage; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Razor_EyeOfTheStorm_Armor : public CDOTA_Buff { public: @@ -49359,7 +49921,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Razor : public CDOTABaseAbility { public: @@ -49367,7 +49929,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Razor_2 : public CDOTABaseAbility { public: @@ -49375,7 +49937,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Razor_3 : public CDOTABaseAbility { public: @@ -49383,7 +49945,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Razor_4 : public CDOTABaseAbility { public: @@ -49391,7 +49953,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Razor_5 : public CDOTABaseAbility { public: @@ -49399,7 +49961,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Razor_6 : public CDOTABaseAbility { public: @@ -49407,44 +49969,53 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Razor_Arcana : public CDOTA_Buff { public: - bool m_bIsMeleeAttack; // 0x11e8 - bool m_bTauntQueued; // 0x11e9 + bool m_bIsMeleeAttack; // 0x12b8 + bool m_bTauntQueued; // 0x12b9 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Razor_Arcana_EmpoweredState : public CDOTA_Buff { public: - ParticleIndex_t m_nEmpoweredBodyFX; // 0x11e8 - ParticleIndex_t m_nEmpoweredWeaponFX; // 0x11ec + ParticleIndex_t m_nEmpoweredBodyFX; // 0x12b8 + ParticleIndex_t m_nEmpoweredWeaponFX; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Razor_Arcana_Kill_Effect : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x11e8 + ParticleIndex_t m_nCasterFXIndex; // 0x12b8 }; -// Alignment: 2 -// Size: 0x568 +// Alignment: 3 +// Size: 0x580 class CDOTA_Ability_Lina_DragonSlave : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x8]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x8]; // 0x568 public: - int32_t dragon_slave_distance; // 0x560 - float m_flDamage; // 0x564 + int32_t dragon_slave_distance; // 0x570 + float dragon_slave_burn_duration; // 0x574 + float m_flDamage; // 0x578 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Lina_DragonSlave_Burn : public CDOTA_Buff +{ +public: + int32_t dragon_slave_burn; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Lina_LightStrikeArray : public CDOTABaseAbility { public: @@ -49452,19 +50023,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Lina_LightStrikeArray_Thinker : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x11e8 - float m_flStunDuration; // 0x11ec - int32_t light_strike_array_aoe; // 0x11f0 - int32_t light_strike_array_damage; // 0x11f4 - float light_strike_array_stun_duration; // 0x11f8 + int32_t m_iDamage; // 0x12b8 + float m_flStunDuration; // 0x12bc + int32_t light_strike_array_aoe; // 0x12c0 + int32_t light_strike_array_damage; // 0x12c4 + float light_strike_array_stun_duration; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Lina_FierySoul : public CDOTABaseAbility { public: @@ -49472,54 +50043,62 @@ public: }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Lina_FierySoul : public CDOTA_Buff { public: - int32_t fiery_soul_attack_speed_bonus; // 0x11e8 - float fiery_soul_move_speed_bonus; // 0x11ec - int32_t fiery_soul_max_stacks; // 0x11f0 - float fiery_soul_stack_duration; // 0x11f4 - ParticleIndex_t m_nFXIndex; // 0x11f8 - GameTime_t m_flFierySoulDieTime; // 0x11fc - GameTime_t m_flLastFierySoalFullStackTime; // 0x1200 + int32_t fiery_soul_attack_speed_bonus; // 0x12b8 + float fiery_soul_move_speed_bonus; // 0x12bc + int32_t fiery_soul_max_stacks; // 0x12c0 + float fiery_soul_stack_duration; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + GameTime_t m_flFierySoulDieTime; // 0x12cc + GameTime_t m_flLastFierySoalFullStackTime; // 0x12d0 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Lina_LagunaBlade : public CDOTABaseAbility { public: - int32_t m_iDamage; // 0x558 -}; - -// Alignment: 2 -// Size: 0x1200 -class CDOTA_Modifier_Lina_LagunaBlade_Line : public CDOTA_Buff -{ -public: - Vector vStart; // 0x11e8 - Vector vEnd; // 0x11f4 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Lina_LagunaBlade : public CDOTA_Buff -{ -public: - int32_t damage; // 0x11e8 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Lina_LagunaBlade_Superheated : public CDOTA_Buff -{ -public: - int32_t increased_damage; // 0x11e8 + int32_t m_iDamage; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x12b8 +class CDOTA_Modifier_Lina_SuperCharged : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Lina_LagunaBlade_Line : public CDOTA_Buff +{ +public: + Vector vStart; // 0x12b8 + Vector vEnd; // 0x12c4 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Lina_LagunaBlade : public CDOTA_Buff +{ +public: + int32_t damage; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Lina_LagunaBlade_Superheated : public CDOTA_Buff +{ +public: + int32_t increased_damage; // 0x12b8 +}; + +// Alignment: 0 +// Size: 0x568 class CDOTA_Ability_Lina_Flame_Cloak : public CDOTABaseAbility { public: @@ -49527,17 +50106,17 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Lina_Fiery_Cloak : public CDOTA_Buff { public: - int32_t magic_resistance; // 0x11e8 - int32_t spell_amp; // 0x11ec - float visualzdelta; // 0x11f0 + int32_t magic_resistance; // 0x12b8 + int32_t spell_amp; // 0x12bc + float visualzdelta; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lina_1 : public CDOTABaseAbility { public: @@ -49545,7 +50124,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lina_2 : public CDOTABaseAbility { public: @@ -49553,7 +50132,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lina_3 : public CDOTABaseAbility { public: @@ -49561,7 +50140,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lina_4 : public CDOTABaseAbility { public: @@ -49569,7 +50148,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lina_5 : public CDOTABaseAbility { public: @@ -49577,7 +50156,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lina_6 : public CDOTABaseAbility { public: @@ -49585,7 +50164,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Morphling_Hybrid : public CDOTABaseAbility { public: @@ -49593,7 +50172,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Morphling_Waveform_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -49601,20 +50180,20 @@ public: }; // Alignment: 4 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_Morphling_Waveform : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - int32_t m_nProjectileID; // 0x568 - Vector m_vProjectileLocation; // 0x56c - CHandle< CBaseEntity > m_hHitHero; // 0x578 - bool m_bGrantedGem; // 0x57c + int32_t m_nProjectileID; // 0x578 + Vector m_vProjectileLocation; // 0x57c + CHandle< CBaseEntity > m_hHitHero; // 0x588 + bool m_bGrantedGem; // 0x58c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Morphling_Waveform : public CDOTA_Buff { public: @@ -49622,7 +50201,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Morphling_AdaptiveStrike_Agi : public CDOTABaseAbility { public: @@ -49630,7 +50209,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Morphling_AdaptiveStrike_Str : public CDOTABaseAbility { public: @@ -49638,26 +50217,26 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Morphling_Adaptive_Strike_Armor : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 + int32_t armor_reduction; // 0x12b8 }; // Alignment: 4 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Morphling_Adaptive_Strike : public CDOTA_Modifier_Stunned { public: - Vector m_vStartPos; // 0x11e8 - Vector m_vDirection; // 0x11f4 - float m_flTotalDistance; // 0x1200 - float m_flCurTime; // 0x1204 + Vector m_vStartPos; // 0x12b8 + Vector m_vDirection; // 0x12c4 + float m_flTotalDistance; // 0x12d0 + float m_flCurTime; // 0x12d4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Morphling_Morph : public CDOTABaseAbility { public: @@ -49665,16 +50244,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Morphling_Morph : public CDOTA_Buff { public: - float tick_rate; // 0x11e8 - int32_t bonus_attributes; // 0x11ec + float tick_rate; // 0x12b8 + int32_t bonus_attributes; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Morphling_Morph_Agi : public CDOTABaseAbility { public: @@ -49682,17 +50261,17 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_Morph_Agi : public CDOTA_Buff { public: - int32_t mana_cost; // 0x11e8 - int32_t points_per_tick; // 0x11ec - float morph_cooldown; // 0x11f0 + int32_t mana_cost; // 0x12b8 + int32_t points_per_tick; // 0x12bc + float morph_cooldown; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Morphling_Morph_Str : public CDOTABaseAbility { public: @@ -49700,116 +50279,118 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_Morph_Str : public CDOTA_Buff { public: - int32_t mana_cost; // 0x11e8 - int32_t points_per_tick; // 0x11ec - float morph_cooldown; // 0x11f0 + int32_t mana_cost; // 0x12b8 + int32_t points_per_tick; // 0x12bc + float morph_cooldown; // 0x12c0 }; -// Alignment: 1 -// Size: 0x560 +// Alignment: 3 +// Size: 0x578 class CDOTA_Ability_Morphling_Replicate : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hTarget; // 0x558 + CHandle< CBaseEntity > m_hTarget; // 0x568 + CHandle< CBaseEntity > m_hScepterIllusion; // 0x56c + bool m_bIsAltCastState; // 0x570 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Morphling_MorphReplicate : public CDOTABaseAbility { public: - float m_flOldHealthPct; // 0x558 - float m_flOldManaPct; // 0x55c + float m_flOldHealthPct; // 0x568 + float m_flOldManaPct; // 0x56c }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Strength_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x11e8 - int32_t scepter_status_resist; // 0x11ec - int32_t nStrengthSteal; // 0x11f0 - int32_t nAgiSteal; // 0x11f4 - int32_t nIntSteal; // 0x11f8 + int32_t scepter_stat_steal; // 0x12b8 + int32_t scepter_status_resist; // 0x12bc + int32_t nStrengthSteal; // 0x12c0 + int32_t nAgiSteal; // 0x12c4 + int32_t nIntSteal; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Strength_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x11e8 - int32_t scepter_status_resist; // 0x11ec + int32_t scepter_stat_steal; // 0x12b8 + int32_t scepter_status_resist; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Agility_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x11e8 - int32_t scepter_attack_speed; // 0x11ec - int32_t nStrengthSteal; // 0x11f0 - int32_t nAgilitySteal; // 0x11f4 - int32_t nIntSteal; // 0x11f8 + int32_t scepter_stat_steal; // 0x12b8 + int32_t scepter_attack_speed; // 0x12bc + int32_t nStrengthSteal; // 0x12c0 + int32_t nAgilitySteal; // 0x12c4 + int32_t nIntSteal; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Agility_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x11e8 - int32_t scepter_attack_speed; // 0x11ec + int32_t scepter_stat_steal; // 0x12b8 + int32_t scepter_attack_speed; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Intelligence_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x11e8 - int32_t scepter_spell_amplify; // 0x11ec - int32_t nStrengthSteal; // 0x11f0 - int32_t nIntSteal; // 0x11f4 - int32_t nAgilitySteal; // 0x11f8 + int32_t scepter_stat_steal; // 0x12b8 + int32_t scepter_spell_amplify; // 0x12bc + int32_t nStrengthSteal; // 0x12c0 + int32_t nIntSteal; // 0x12c4 + int32_t nAgilitySteal; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Intelligence_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x11e8 - int32_t scepter_spell_amplify; // 0x11ec + int32_t scepter_stat_steal; // 0x12b8 + int32_t scepter_spell_amplify; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Morphling_ScepterStatsDrain_All_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x11e8 - int32_t nStrengthSteal; // 0x11ec - int32_t nAgiSteal; // 0x11f0 - int32_t nIntSteal; // 0x11f4 + int32_t scepter_stat_steal; // 0x12b8 + int32_t nStrengthSteal; // 0x12bc + int32_t nAgiSteal; // 0x12c0 + int32_t nIntSteal; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_All_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x11e8 + int32_t scepter_stat_steal; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Morphling_Replicate_Manager : public CDOTA_Buff { public: @@ -49817,35 +50398,35 @@ public: }; // Alignment: 15 -// Size: 0x1278 +// Size: 0x1348 class CDOTA_Modifier_Morphling_Replicate : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTinyTreeWearable; // 0x11e8 - float m_flBaseAttackRange; // 0x11ec - float m_flBaseMovementSpeed; // 0x11f0 + CHandle< CBaseEntity > m_hTinyTreeWearable; // 0x12b8 + float m_flBaseAttackRange; // 0x12bc + float m_flBaseMovementSpeed; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlSymbolLarge m_iszModelName; // 0x11f8 - CUtlSymbolLarge m_iszProjectileName; // 0x1200 - CUtlSymbolLarge m_iszOriginalModel; // 0x1208 - int32_t m_nCopiedHeroID; // 0x1210 - float m_fOriginalModelScale; // 0x1214 - CUtlVector< CEconItemView* > m_vecOriginalItems; // 0x1218 + CUtlSymbolLarge m_iszModelName; // 0x12c8 + CUtlSymbolLarge m_iszProjectileName; // 0x12d0 + CUtlSymbolLarge m_iszOriginalModel; // 0x12d8 + int32_t m_nCopiedHeroID; // 0x12e0 + float m_fOriginalModelScale; // 0x12e4 + CUtlVector< CEconItemView* > m_vecOriginalItems; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1230[0x30]; // 0x1230 + [[maybe_unused]] uint8_t __pad1300[0x30]; // 0x1300 public: - float m_flOriginalStr; // 0x1260 - float m_flOriginalAgi; // 0x1264 - float m_flOriginalInt; // 0x1268 - int32_t m_iOriginalAttackCapability; // 0x126c - float m_flOriginalHealthPercentage; // 0x1270 - float m_flOriginalManaPercentage; // 0x1274 + float m_flOriginalStr; // 0x1330 + float m_flOriginalAgi; // 0x1334 + float m_flOriginalInt; // 0x1338 + int32_t m_iOriginalAttackCapability; // 0x133c + float m_flOriginalHealthPercentage; // 0x1340 + float m_flOriginalManaPercentage; // 0x1344 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Morphling_Replicate_MorphedIllusionsEffect : public CDOTA_Buff { public: @@ -49853,7 +50434,15 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 +class CDOTA_Modifier_Morphling_Replicate_Illusion : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12b8 class CDOTA_Modifier_Morphling_Scepter : public CDOTA_Buff { public: @@ -49861,7 +50450,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Zuus_StaticField : public CDOTABaseAbility { public: @@ -49869,7 +50458,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Zuus_Static_Field : public CDOTA_Buff { public: @@ -49877,17 +50466,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Zuus_Static_Field_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 - int32_t aspd_slow; // 0x11ec - int32_t cast_slow; // 0x11f0 + int32_t move_slow; // 0x12b8 + int32_t aspd_slow; // 0x12bc + int32_t cast_slow; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Zuus_ArcLightning : public CDOTABaseAbility { public: @@ -49895,30 +50484,30 @@ public: }; // Alignment: 10 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Zuus_ArcLightning : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t jump_count; // 0x11ec - int32_t arc_damage; // 0x11f0 - float jump_delay; // 0x11f4 - int32_t damage_health_pct; // 0x11f8 - int32_t total_damage_pct; // 0x11fc - int32_t m_iCurJumpCount; // 0x1200 - bool trigger_spell_absorb; // 0x1204 + int32_t radius; // 0x12b8 + int32_t jump_count; // 0x12bc + int32_t arc_damage; // 0x12c0 + float jump_delay; // 0x12c4 + int32_t damage_health_pct; // 0x12c8 + int32_t total_damage_pct; // 0x12cc + int32_t m_iCurJumpCount; // 0x12d0 + bool trigger_spell_absorb; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - Vector m_vCurTargetLoc; // 0x1208 + Vector m_vCurTargetLoc; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1218 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12e8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Zuus_ArcLightningSlow : public CDOTA_Buff { public: @@ -49926,7 +50515,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Zuus_Cloud : public CDOTABaseAbility { public: @@ -49934,15 +50523,15 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Zuus_LightningBolt : public CDOTABaseAbility { public: - bool m_bZeusHasArcana; // 0x558 + bool m_bZeusHasArcana; // 0x568 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Zuus_LightningBoltThinker : public CDOTA_Buff { public: @@ -49950,37 +50539,38 @@ public: }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Zuus_ThundergodsWrath : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 - bool m_bZeusHasArcana; // 0x55c + ParticleIndex_t m_nFXIndex; // 0x568 + bool m_bZeusHasArcana; // 0x56c }; -// Alignment: 8 -// Size: 0x1220 +// Alignment: 9 +// Size: 0x12f0 class CDOTA_Modifier_Zuus_ThundergodsWrathThinker : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - float sight_duration; // 0x11ec - int32_t second_strike_damage_percent; // 0x11f0 - float second_strike_delay; // 0x11f4 - bool m_bZeusHasArcana; // 0x11f8 + int32_t damage; // 0x12b8 + float damage_pct; // 0x12bc + float sight_duration; // 0x12c0 + int32_t second_strike_damage_percent; // 0x12c4 + float second_strike_delay; // 0x12c8 + bool m_bZeusHasArcana; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11f9[0x7]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - CUtlVector< CHandle< CBaseEntity > > m_hTargetEntities; // 0x1200 - bool m_bSecondaryStrike; // 0x1218 + CUtlVector< CHandle< CBaseEntity > > m_hTargetEntities; // 0x12d0 + bool m_bSecondaryStrike; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - int32_t m_nKills; // 0x121c + int32_t m_nKills; // 0x12ec }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Zuus_ThundergodsWrathVisionThinker : public CDOTA_Buff { public: @@ -49988,17 +50578,17 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Zuus_Cloud : public CDOTA_Buff { public: - CountdownTimer m_CloudBoltTimer; // 0x11e8 - float cloud_bolt_interval; // 0x1200 - int32_t cloud_radius; // 0x1204 + CountdownTimer m_CloudBoltTimer; // 0x12b8 + float cloud_bolt_interval; // 0x12d0 + int32_t cloud_radius; // 0x12d4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Zuus_Heavenly_Jump : public CDOTABaseAbility { public: @@ -50006,36 +50596,36 @@ public: }; // Alignment: 11 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Zuus_Heavenly_Jump : public CDOTA_Buff { public: - float hop_duration; // 0x11e8 - int32_t hop_height; // 0x11ec - int32_t hop_distance; // 0x11f0 - int32_t search_radius; // 0x11f4 - float m_flStartZ; // 0x11f8 - float m_flCurTime; // 0x11fc - float m_flJumpDuration; // 0x1200 - float m_flJumpHeight; // 0x1204 - Vector m_vTargetHorizontalDirection; // 0x1208 + float hop_duration; // 0x12b8 + int32_t hop_height; // 0x12bc + int32_t hop_distance; // 0x12c0 + int32_t search_radius; // 0x12c4 + float m_flStartZ; // 0x12c8 + float m_flCurTime; // 0x12cc + float m_flJumpDuration; // 0x12d0 + float m_flJumpHeight; // 0x12d4 + Vector m_vTargetHorizontalDirection; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< CBaseEntity > > hUnitsToHit; // 0x1218 - bool m_bLaunched; // 0x1230 + CUtlVector< CHandle< CBaseEntity > > hUnitsToHit; // 0x12e8 + bool m_bLaunched; // 0x1300 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Zuus_Heavenly_Jump_Boost : public CDOTA_Buff { public: - int32_t postjump_movespeed; // 0x11e8 + int32_t postjump_movespeed; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Zeus : public CDOTABaseAbility { public: @@ -50043,7 +50633,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Zeus_2 : public CDOTABaseAbility { public: @@ -50051,7 +50641,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Zeus_3 : public CDOTABaseAbility { public: @@ -50059,7 +50649,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Zeus_4 : public CDOTABaseAbility { public: @@ -50067,7 +50657,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Zeus_5 : public CDOTABaseAbility { public: @@ -50075,31 +50665,31 @@ public: }; // Alignment: 6 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_Zuus_Thunder_Trail : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x558 + CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x568 private: - [[maybe_unused]] uint8_t __pad0570[0x8]; // 0x570 + [[maybe_unused]] uint8_t __pad0580[0x8]; // 0x580 public: - int32_t damage; // 0x578 - int32_t debuff_spell_amp_min; // 0x57c - int32_t debuff_spell_amp_max; // 0x580 - Vector m_vStartPos; // 0x584 - int32_t m_nMaxRange; // 0x590 + int32_t damage; // 0x588 + int32_t debuff_spell_amp_min; // 0x58c + int32_t debuff_spell_amp_max; // 0x590 + Vector m_vStartPos; // 0x594 + int32_t m_nMaxRange; // 0x5a0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Zuus_ThunderTrail_Debuff : public CDOTA_Buff { public: - int32_t debuff_spell_amp; // 0x11e8 + int32_t debuff_spell_amp; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Zuus_Lightning_Hands : public CDOTABaseAbility { public: @@ -50107,65 +50697,72 @@ public: }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Zuus_Lightning_Hands : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x1200 - int32_t arc_lightning_damage_pct; // 0x1204 - int32_t arc_lightning_damage_illusion_pct; // 0x1208 - int32_t attack_range_bonus; // 0x120c + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12d0 + int32_t arc_lightning_damage_pct; // 0x12d4 + int32_t arc_lightning_damage_illusion_pct; // 0x12d8 + int32_t attack_range_bonus; // 0x12dc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Kunkka_Torrent : public CDOTABaseAbility { public: // No members available }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 6 +// Size: 0x12c8 class CDOTA_Modifier_Kunkka_Torrent_Thinker : public CDOTA_Buff { public: - bool m_bShowEnemies; // 0x11e8 - bool m_bTorrentStorm; // 0x11e9 + bool m_bShowEnemies; // 0x12b8 + bool m_bTorrentStorm; // 0x12b9 + bool m_bTorrentStarted; // 0x12ba +private: + [[maybe_unused]] uint8_t __pad12bb[0x1]; // 0x12bb +public: + GameTime_t m_fTorrentStartTime; // 0x12bc + float flDamagePerTick; // 0x12c0 + float damage_tick_interval; // 0x12c4 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Kunkka_Torrent : public CDOTA_Buff { public: - int32_t torrent_damage; // 0x11e8 - float damage_tick_interval; // 0x11ec - float flDamagePerTick; // 0x11f0 - float m_flStartZ; // 0x11f4 - float m_flCurTime; // 0x11f8 - bool m_bTorrentStorm; // 0x11fc + int32_t torrent_damage; // 0x12b8 + float damage_tick_interval; // 0x12bc + float flDamagePerTick; // 0x12c0 + float m_flStartZ; // 0x12c4 + float m_flCurTime; // 0x12c8 + bool m_bTorrentStorm; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Kunkka_Torrent_Slow : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x11e8 + int32_t movespeed_bonus; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Kunkka_Tidebringer_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 + int32_t movespeed_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Kunkka_Torrent_Storm : public CDOTABaseAbility { public: @@ -50173,17 +50770,17 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Kunkka_Torrent_Storm : public CDOTA_Buff { public: - int32_t torrent_min_distance; // 0x11e8 - int32_t torrent_max_distance; // 0x11ec - int32_t m_iExplosionQuadrant; // 0x11f0 + int32_t torrent_min_distance; // 0x12b8 + int32_t torrent_max_distance; // 0x12bc + int32_t m_iExplosionQuadrant; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Kunkka_Tidebringer : public CDOTABaseAbility { public: @@ -50191,41 +50788,41 @@ public: }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Kunkka_Tidebringer : public CDOTA_Buff { public: - bool m_bTidebringerAttack; // 0x11e8 + bool m_bTidebringerAttack; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t cleave_starting_width; // 0x11ec - int32_t cleave_ending_width; // 0x11f0 - int32_t cleave_distance; // 0x11f4 - int32_t damage_bonus; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc - int32_t cleave_damage; // 0x1200 + int32_t cleave_starting_width; // 0x12bc + int32_t cleave_ending_width; // 0x12c0 + int32_t cleave_distance; // 0x12c4 + int32_t damage_bonus; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + int32_t cleave_damage; // 0x12d0 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Kunkka_XMarksTheSpot : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hThinker; // 0x558 + CHandle< CBaseEntity > m_hThinker; // 0x568 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Kunkka_XMarksTheSpot : public CDOTA_Buff { public: - int32_t ally_ms; // 0x11e8 - int32_t ally_armor; // 0x11ec + int32_t ally_ms; // 0x12b8 + int32_t ally_armor; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Kunkka_XMarksTheSpotMarker : public CDOTA_Buff { public: @@ -50233,20 +50830,20 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Kunkka_XMarksTheSpot_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x11e8 - bool m_bIsReflection; // 0x11f4 + Vector m_vStartLoc; // 0x12b8 + bool m_bIsReflection; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - CHandle< CBaseEntity > m_hEntity; // 0x11f8 + CHandle< CBaseEntity > m_hEntity; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Kunkka_Return : public CDOTABaseAbility { public: @@ -50254,30 +50851,30 @@ public: }; // Alignment: 6 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_Kunkka_GhostShip : public CDOTABaseAbility { public: - float buff_duration; // 0x558 - float stun_duration; // 0x55c - int32_t ghostship_width; // 0x560 - int32_t ghostship_width_scepter; // 0x564 - Vector m_vFinalDestination; // 0x568 - Vector m_vStartingPoint; // 0x574 + float buff_duration; // 0x568 + float stun_duration; // 0x56c + int32_t ghostship_width; // 0x570 + int32_t ghostship_width_scepter; // 0x574 + Vector m_vFinalDestination; // 0x578 + Vector m_vStartingPoint; // 0x584 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Kunkka_Ghost_Ship_Fleet : public CDOTA_Buff { public: - Vector vCasterOrigin; // 0x11e8 - Vector vEnd; // 0x11f4 - int32_t hitcount; // 0x1200 + Vector vCasterOrigin; // 0x12b8 + Vector vEnd; // 0x12c4 + int32_t hitcount; // 0x12d0 }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Kunkka_GhostShip_Knockback : public CDOTA_Modifier_Knockback { public: @@ -50285,7 +50882,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Kunkka_GhostShip_Loaded : public CDOTA_Buff { public: @@ -50293,35 +50890,35 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Kunkka_GhostShip_DamageAbsorb : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x11e8 - int32_t movespeed_bonus; // 0x11ec - float ghostship_absorb; // 0x11f0 + int32_t m_iAccumulatedDamage; // 0x12b8 + int32_t movespeed_bonus; // 0x12bc + float ghostship_absorb; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Kunkka_GhostShip_DamageDelay : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x11e8 - float m_flDuration; // 0x11ec + int32_t m_iAccumulatedDamage; // 0x12b8 + float m_flDuration; // 0x12bc }; // Alignment: 2 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_Kunkka_Tidal_Wave : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x558 - Vector m_vStart; // 0x570 + CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x568 + Vector m_vStart; // 0x580 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Tiny_CraggyExterior : public CDOTABaseAbility { public: @@ -50329,25 +50926,25 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Tiny_CraggyExterior : public CDOTA_Buff { public: - int32_t stun_chance; // 0x11e8 - float stun_duration; // 0x11ec - int32_t damage; // 0x11f0 + int32_t stun_chance; // 0x12b8 + float stun_duration; // 0x12bc + int32_t damage; // 0x12c0 }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Tiny_Avalanche : public CDOTABaseAbility { public: - Vector m_vTargetLoc; // 0x558 + Vector m_vTargetLoc; // 0x568 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tiny_Avalanche_Stun : public CDOTA_Modifier_Stunned { public: @@ -50355,22 +50952,22 @@ public: }; // Alignment: 8 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Tiny_Avalanche : public CDOTA_Buff { public: - CUtlVector< CDOTA_BaseNPC* > m_pHeroesHit; // 0x11e8 - int32_t radius; // 0x1200 - float total_duration; // 0x1204 - float stun_duration; // 0x1208 - int32_t tick_count; // 0x120c - float toss_multiplier; // 0x1210 - int32_t m_damage; // 0x1214 - int32_t m_nTicks; // 0x1218 + CUtlVector< CDOTA_BaseNPC* > m_pHeroesHit; // 0x12b8 + int32_t radius; // 0x12d0 + float total_duration; // 0x12d4 + float stun_duration; // 0x12d8 + int32_t tick_count; // 0x12dc + float toss_multiplier; // 0x12e0 + int32_t m_damage; // 0x12e4 + int32_t m_nTicks; // 0x12e8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tiny_Toss_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -50378,7 +50975,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Tiny_Toss : public CDOTABaseAbility { public: @@ -50386,61 +50983,61 @@ public: }; // Alignment: 14 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Tiny_Toss : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - float m_flPredictedTotalTime; // 0x11ec - Vector m_vStartPosition; // 0x11f0 - float m_flCurrentTimeHoriz; // 0x11fc - float m_flCurrentTimeVert; // 0x1200 - bool m_bHorizontalMotionInterrupted; // 0x1204 - bool m_bDamageApplied; // 0x1205 - bool m_bTargetTeleported; // 0x1206 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + float m_flPredictedTotalTime; // 0x12bc + Vector m_vStartPosition; // 0x12c0 + float m_flCurrentTimeHoriz; // 0x12cc + float m_flCurrentTimeVert; // 0x12d0 + bool m_bHorizontalMotionInterrupted; // 0x12d4 + bool m_bDamageApplied; // 0x12d5 + bool m_bTargetTeleported; // 0x12d6 private: - [[maybe_unused]] uint8_t __pad1207[0x1]; // 0x1207 + [[maybe_unused]] uint8_t __pad12d7[0x1]; // 0x12d7 public: - Vector m_vHorizontalVelocity; // 0x1208 - Vector m_vLastKnownTargetPosition; // 0x1214 - float m_flInitialVelocityZ; // 0x1220 - bool m_bDone; // 0x1224 + Vector m_vHorizontalVelocity; // 0x12d8 + Vector m_vLastKnownTargetPosition; // 0x12e4 + float m_flInitialVelocityZ; // 0x12f0 + bool m_bDone; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad1225[0x3]; // 0x1225 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - int32_t radius; // 0x1228 - int32_t toss_damage; // 0x122c + int32_t radius; // 0x12f8 + int32_t toss_damage; // 0x12fc }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Tiny_Tree_Grab : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hStolenTree; // 0x558 + CHandle< CBaseEntity > m_hStolenTree; // 0x568 }; // Alignment: 12 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Tiny_Tree_Grab : public CDOTA_Buff { public: - int32_t attack_count; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t bonus_damage_buildings; // 0x11f0 - float stun_duration; // 0x11f4 - int32_t attack_range; // 0x11f8 - int32_t m_nOriginalAttackCapability; // 0x11fc - float bat_increase; // 0x1200 - int32_t speed_reduction; // 0x1204 - int32_t m_nBonusAttackRange; // 0x1208 - CHandle< CBaseEntity > m_hStolenTree; // 0x120c - ParticleIndex_t m_nFXIndex; // 0x1210 - ParticleIndex_t m_nFXAttackIndex; // 0x1214 + int32_t attack_count; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t bonus_damage_buildings; // 0x12c0 + float stun_duration; // 0x12c4 + int32_t attack_range; // 0x12c8 + int32_t m_nOriginalAttackCapability; // 0x12cc + float bat_increase; // 0x12d0 + int32_t speed_reduction; // 0x12d4 + int32_t m_nBonusAttackRange; // 0x12d8 + CHandle< CBaseEntity > m_hStolenTree; // 0x12dc + ParticleIndex_t m_nFXIndex; // 0x12e0 + ParticleIndex_t m_nFXAttackIndex; // 0x12e4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Tiny_Tree_Channel : public CDOTABaseAbility { public: @@ -50448,27 +51045,27 @@ public: }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Tiny_Tree_Channel : public CDOTA_Buff { public: - int32_t tree_grab_radius; // 0x11e8 - int32_t splash_radius; // 0x11ec - int32_t speed; // 0x11f0 - float interval; // 0x11f4 - Vector m_vPos; // 0x11f8 + int32_t tree_grab_radius; // 0x12b8 + int32_t splash_radius; // 0x12bc + int32_t speed; // 0x12c0 + float interval; // 0x12c4 + Vector m_vPos; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tiny_Tree_Channel_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Tiny_TossTree : public CDOTABaseAbility { public: @@ -50476,43 +51073,44 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tiny_TossTree_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tiny_TossTree_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Tiny_Grow : public CDOTABaseAbility { public: // No members available }; -// Alignment: 5 -// Size: 0x1200 +// Alignment: 6 +// Size: 0x12d0 class CDOTA_Modifier_Tiny_Grow : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 - int32_t attack_speed_reduction; // 0x11ec - int32_t bonus_damage; // 0x11f0 - float tree_bonus_damage_pct; // 0x11f4 - ParticleIndex_t m_nFXIndex; // 0x11f8 + int32_t bonus_armor; // 0x12b8 + int32_t attack_speed_reduction; // 0x12bc + int32_t bonus_damage; // 0x12c0 + float tree_bonus_damage_pct; // 0x12c4 + float slow_resistance; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tiny : public CDOTABaseAbility { public: @@ -50520,7 +51118,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tiny_2 : public CDOTABaseAbility { public: @@ -50528,7 +51126,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tiny_3 : public CDOTABaseAbility { public: @@ -50536,7 +51134,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tiny_4 : public CDOTABaseAbility { public: @@ -50544,7 +51142,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tiny_5 : public CDOTABaseAbility { public: @@ -50552,7 +51150,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tiny_6 : public CDOTABaseAbility { public: @@ -50560,7 +51158,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Tiny_7 : public CDOTABaseAbility { public: @@ -50568,7 +51166,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Puck_EtherealJaunt : public CDOTABaseAbility { public: @@ -50576,34 +51174,34 @@ public: }; // Alignment: 6 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_Puck_IllusoryOrb : public CDOTABaseAbility { public: - int32_t m_iProjectile; // 0x558 + int32_t m_iProjectile; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c public: - CountdownTimer m_ViewerTimer; // 0x560 - int32_t orb_vision; // 0x578 - float vision_duration; // 0x57c - int32_t damage; // 0x580 + CountdownTimer m_ViewerTimer; // 0x570 + int32_t orb_vision; // 0x588 + float vision_duration; // 0x58c + int32_t damage; // 0x590 private: - [[maybe_unused]] uint8_t __pad0584[0x4]; // 0x584 + [[maybe_unused]] uint8_t __pad0594[0x4]; // 0x594 public: - CSoundPatch* m_pSoundPatch; // 0x588 + CSoundPatch* m_pSoundPatch; // 0x598 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Puck_WaningRift : public CDOTABaseAbility { public: - int32_t max_distance; // 0x558 + int32_t max_distance; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Puck_PhaseShift : public CDOTABaseAbility { public: @@ -50611,7 +51209,7 @@ public: }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Puck_PhaseShift : public CDOTA_Buff { public: @@ -50619,48 +51217,58 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Puck_PhaseShift_AttackBonus : public CDOTA_Buff { public: - int32_t shard_bonus_damage; // 0x11e8 + int32_t shard_bonus_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Puck_DreamCoil : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hThinker; // 0x558 + CHandle< CBaseEntity > m_hThinker; // 0x568 }; // Alignment: 8 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Puck_DreamCoil_Thinker : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_hLinkedEntities; // 0x11e8 - int32_t coil_radius; // 0x1200 - int32_t coil_break_radius; // 0x1204 - int32_t coil_initial_damage; // 0x1208 - float coil_stun_duration; // 0x120c - float coil_duration; // 0x1210 - int32_t coil_break_damage; // 0x1214 - CUtlVector< ParticleIndex_t > m_FXIndex; // 0x1218 + CUtlVector< CHandle< CBaseEntity > > m_hLinkedEntities; // 0x12b8 + int32_t coil_radius; // 0x12d0 + int32_t coil_break_radius; // 0x12d4 + int32_t coil_initial_damage; // 0x12d8 + float coil_stun_duration; // 0x12dc + float coil_duration; // 0x12e0 + int32_t coil_break_damage; // 0x12e4 + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x12e8 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Puck_Coiled : public CDOTA_Buff { public: - Vector m_vCastLocation; // 0x11e8 - int32_t coil_rapid_fire_z_offset; // 0x11f4 - float coil_rapid_fire_rate; // 0x11f8 + Vector m_vCastLocation; // 0x12b8 + int32_t coil_rapid_fire_z_offset; // 0x12c4 + float coil_rapid_fire_rate; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12d0 +class CDOTA_Modifier_Puck_Coil_Break_Stun : public CDOTA_Modifier_Stunned +{ +public: + Vector m_vCastLocation; // 0x12b8 + int32_t coil_rapid_fire_z_offset; // 0x12c4 + float coil_rapid_fire_rate; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Puck : public CDOTABaseAbility { public: @@ -50668,7 +51276,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Puck_2 : public CDOTABaseAbility { public: @@ -50676,7 +51284,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Puck_3 : public CDOTABaseAbility { public: @@ -50684,7 +51292,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Puck_4 : public CDOTABaseAbility { public: @@ -50692,7 +51300,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Puck_5 : public CDOTABaseAbility { public: @@ -50700,7 +51308,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Puck_6 : public CDOTABaseAbility { public: @@ -50708,7 +51316,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Puck_7 : public CDOTABaseAbility { public: @@ -50716,7 +51324,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Puck_8 : public CDOTABaseAbility { public: @@ -50724,20 +51332,20 @@ public: }; // Alignment: 6 -// Size: 0x590 +// Size: 0x5a0 class CDOTA_Ability_Windrunner_Shackleshot : public CDOTABaseAbility { public: - int32_t shackle_count; // 0x558 - Vector m_vArrowAvgPos; // 0x55c - Vector m_vArrowStartPos; // 0x568 - Vector m_vArrowStartPos2; // 0x574 - Vector m_vArrowStartPos3; // 0x580 - CHandle< CBaseEntity > m_hTarget; // 0x58c + int32_t shackle_count; // 0x568 + Vector m_vArrowAvgPos; // 0x56c + Vector m_vArrowStartPos; // 0x578 + Vector m_vArrowStartPos2; // 0x584 + Vector m_vArrowStartPos3; // 0x590 + CHandle< CBaseEntity > m_hTarget; // 0x59c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Windrunner_ShackleShot : public CDOTA_Modifier_Stunned { public: @@ -50745,29 +51353,29 @@ public: }; // Alignment: 10 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_Windrunner_Powershot : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x8]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x8]; // 0x568 public: - GameTime_t m_fStartTime; // 0x560 - float m_fPower; // 0x564 - int32_t m_iProjectile; // 0x568 - float damage_reduction; // 0x56c - int32_t arrow_width; // 0x570 - int32_t powershot_damage; // 0x574 - float tree_width; // 0x578 - bool m_bAwardedKillEater; // 0x57c + GameTime_t m_fStartTime; // 0x570 + float m_fPower; // 0x574 + int32_t m_iProjectile; // 0x578 + float damage_reduction; // 0x57c + int32_t arrow_width; // 0x580 + int32_t powershot_damage; // 0x584 + float tree_width; // 0x588 + bool m_bAwardedKillEater; // 0x58c private: - [[maybe_unused]] uint8_t __pad057d[0x3]; // 0x57d + [[maybe_unused]] uint8_t __pad058d[0x3]; // 0x58d public: - int32_t m_nHeroesHit; // 0x580 - ParticleIndex_t m_nFXIndex; // 0x584 + int32_t m_nHeroesHit; // 0x590 + ParticleIndex_t m_nFXIndex; // 0x594 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Windrunner_Windrun_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -50775,7 +51383,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Windrunner_Windrun : public CDOTABaseAbility { public: @@ -50783,7 +51391,7 @@ public: }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Windrunner_Windrun_Invis : public CDOTA_Modifier_Invisible { public: @@ -50791,15 +51399,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Windrunner_Windrun_Invis_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 + ParticleIndex_t m_nFXIndex; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Windrunner_Windrun_Passive : public CDOTA_Buff { public: @@ -50807,32 +51415,32 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Windrunner_Windrun : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t scepter_radius; // 0x11ec - int32_t movespeed_bonus_pct; // 0x11f0 - bool m_bDispellable; // 0x11f4 + int32_t radius; // 0x12b8 + int32_t scepter_radius; // 0x12bc + int32_t movespeed_bonus_pct; // 0x12c0 + bool m_bDispellable; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - int32_t physical_damage_pct; // 0x11f8 + int32_t physical_damage_pct; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Windrunner_Windrun_Slow : public CDOTA_Buff { public: - float enemy_movespeed_bonus_pct; // 0x11e8 - float scepter_movespeed_bonus_pct; // 0x11ec - int32_t scepter_blind; // 0x11f0 + float enemy_movespeed_bonus_pct; // 0x12b8 + float scepter_movespeed_bonus_pct; // 0x12bc + int32_t scepter_blind; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Windrunner_Arcana : public CDOTA_Buff { public: @@ -50840,7 +51448,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Windrunner_FocusFire : public CDOTABaseAbility { public: @@ -50848,7 +51456,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Windrunner_FocusFire_End : public CDOTABaseAbility { public: @@ -50856,79 +51464,79 @@ public: }; // Alignment: 14 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Windrunner_FocusFire : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - int32_t focusfire_damage_reduction; // 0x11ec - bool bActive; // 0x11f0 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + int32_t focusfire_damage_reduction; // 0x12bc + bool bActive; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - int32_t bonus_attack_speed; // 0x11f4 - int32_t focusfire_fire_on_the_move; // 0x11f8 - bool m_bPause; // 0x11fc + int32_t bonus_attack_speed; // 0x12c4 + int32_t focusfire_fire_on_the_move; // 0x12c8 + bool m_bPause; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - int32_t m_nNumArrowsLanded; // 0x1200 - int32_t m_nDamageDealt; // 0x1204 - int32_t m_nDamageDealtMax; // 0x1208 - int32_t m_nTargetInitialHP; // 0x120c - bool m_bHeroKilled; // 0x1210 - bool m_bRecentFocusFireAttack; // 0x1211 + int32_t m_nNumArrowsLanded; // 0x12d0 + int32_t m_nDamageDealt; // 0x12d4 + int32_t m_nDamageDealtMax; // 0x12d8 + int32_t m_nTargetInitialHP; // 0x12dc + bool m_bHeroKilled; // 0x12e0 + bool m_bRecentFocusFireAttack; // 0x12e1 private: - [[maybe_unused]] uint8_t __pad1212[0xa]; // 0x1212 + [[maybe_unused]] uint8_t __pad12e2[0xa]; // 0x12e2 public: - ParticleIndex_t m_nFXFocusFire; // 0x121c - GameTime_t m_flLastFocusFireAttackTime; // 0x1220 + ParticleIndex_t m_nFXFocusFire; // 0x12ec + GameTime_t m_flLastFocusFireAttackTime; // 0x12f0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Windrunner_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x11e8 + bool m_bFrozen; // 0x12b8 }; // Alignment: 4 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Windrunner_GaleForce : public CDOTABaseAbility { public: - Vector m_vEndpoint; // 0x558 - Vector m_vFlowPosition; // 0x564 - float duration; // 0x570 - CHandle< CBaseEntity > m_hThinker; // 0x574 + Vector m_vEndpoint; // 0x568 + Vector m_vFlowPosition; // 0x574 + float duration; // 0x580 + CHandle< CBaseEntity > m_hThinker; // 0x584 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Windrunner_GaleForce_Aura : public CDOTA_Buff { public: - Vector m_vEndpoint; // 0x11e8 - Vector m_vFlowPosition; // 0x11f4 - int32_t radius; // 0x1200 + Vector m_vEndpoint; // 0x12b8 + Vector m_vFlowPosition; // 0x12c4 + int32_t radius; // 0x12d0 }; // Alignment: 6 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Windrunner_GaleForce : public CDOTA_Buff { public: - Vector m_vEndpoint; // 0x11e8 - Vector m_vFlowPosition; // 0x11f4 - Vector m_vPull; // 0x1200 - ParticleIndex_t m_nFXIndex; // 0x120c - GameTime_t m_flLastThinkTime; // 0x1210 - float wind_strength; // 0x1214 + Vector m_vEndpoint; // 0x12b8 + Vector m_vFlowPosition; // 0x12c4 + Vector m_vPull; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12dc + GameTime_t m_flLastThinkTime; // 0x12e0 + float wind_strength; // 0x12e4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Lich_FrostNova : public CDOTABaseAbility { public: @@ -50936,31 +51544,31 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Lich_FrostNova_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 - int32_t slow_attack_speed; // 0x11ec - int32_t slow_attack_speed_primary; // 0x11f0 - bool m_bIsPrimary; // 0x11f4 + int32_t slow_movement_speed; // 0x12b8 + int32_t slow_attack_speed; // 0x12bc + int32_t slow_attack_speed_primary; // 0x12c0 + bool m_bIsPrimary; // 0x12c4 }; // Alignment: 2 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Lich_Sinister_Gaze : public CDOTABaseAbility { public: // MNetworkEnable - float m_flLongestGazeDuration; // 0x558 + float m_flLongestGazeDuration; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c public: - CUtlVector< CHandle< CBaseEntity > > m_hAffectedEntities; // 0x560 + CUtlVector< CHandle< CBaseEntity > > m_hAffectedEntities; // 0x570 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lich_Sinister_Gaze_Self : public CDOTA_Buff { public: @@ -50968,20 +51576,20 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Lich_Sinister_Gaze : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - int32_t mana_drain; // 0x11ec - float m_flIntervalRate; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - float creep_damage; // 0x11f8 - bool m_bBlasted; // 0x11fc + int32_t movement_speed; // 0x12b8 + int32_t mana_drain; // 0x12bc + float m_flIntervalRate; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + float creep_damage; // 0x12c8 + bool m_bBlasted; // 0x12cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Lich_DarkSorcery : public CDOTABaseAbility { public: @@ -50989,17 +51597,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Lich_DarkSorcery_Buff : public CDOTA_Buff { public: - int32_t mana_drain; // 0x11e8 - int32_t attack_count; // 0x11ec - int32_t attack_speed; // 0x11f0 + int32_t mana_drain; // 0x12b8 + int32_t attack_count; // 0x12bc + int32_t attack_speed; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Lich_FrostAura : public CDOTABaseAbility { public: @@ -51007,40 +51615,40 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lich_FrostAura_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lich_FrostAura : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lich_FrostAura_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 + int32_t movespeed_slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lich_ChainFrost_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 - int32_t slow_attack_speed; // 0x11ec + int32_t slow_movement_speed; // 0x12b8 + int32_t slow_attack_speed; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Lich_FrostArmor : public CDOTABaseAbility { public: @@ -51048,7 +51656,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lich_FrostArmor_Autocast : public CDOTA_Buff { public: @@ -51056,26 +51664,26 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Lich_FrostArmor : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x11e8 - int32_t health_regen; // 0x11ec - float slow_duration; // 0x11f0 + int32_t armor_bonus; // 0x12b8 + int32_t health_regen; // 0x12bc + float slow_duration; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lich_FrostArmor_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 - int32_t slow_attack_speed; // 0x11ec + int32_t slow_movement_speed; // 0x12b8 + int32_t slow_attack_speed; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Lich_FrostShield : public CDOTABaseAbility { public: @@ -51083,82 +51691,90 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Lich_FrostShield : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float interval; // 0x11ec - int32_t damage_reduction; // 0x11f0 - int32_t health_regen; // 0x11f4 + int32_t radius; // 0x12b8 + float interval; // 0x12bc + int32_t damage_reduction; // 0x12c0 + int32_t health_regen; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lich_FrostShield_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 6 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Lich_ChainFrost : public CDOTABaseAbility { public: - int32_t jump_range; // 0x558 - int32_t jumps; // 0x55c - float slow_duration; // 0x560 - int32_t vision_radius; // 0x564 - int32_t projectile_speed; // 0x568 - int32_t initial_projectile_speed; // 0x56c + int32_t jump_range; // 0x568 + int32_t jumps; // 0x56c + float slow_duration; // 0x570 + int32_t vision_radius; // 0x574 + int32_t projectile_speed; // 0x578 + int32_t initial_projectile_speed; // 0x57c }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Lich_Chain_Frost_Thinker : public CDOTA_Buff { public: - int32_t m_nDamageToHeroes; // 0x11e8 - int32_t m_nHeroesKilled; // 0x11ec - int32_t m_nJumps; // 0x11f0 - bool m_bFirstJump; // 0x11f4 + int32_t m_nDamageToHeroes; // 0x12b8 + int32_t m_nHeroesKilled; // 0x12bc + int32_t m_nJumps; // 0x12c0 + bool m_bFirstJump; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - CHandle< CBaseEntity > m_hTarget; // 0x11f8 - CHandle< CBaseEntity > m_hAvoidTarget; // 0x11fc + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + CHandle< CBaseEntity > m_hAvoidTarget; // 0x12cc }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Lich_Ice_Spire : public CDOTABaseAbility { public: - int32_t aura_radius; // 0x558 - float duration; // 0x55c + int32_t aura_radius; // 0x568 + float duration; // 0x56c }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Lich_Ice_Spire : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec - CountdownTimer m_Timer; // 0x11f0 + int32_t aura_radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc + CountdownTimer m_Timer; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lich_Ice_Spire_Debuff : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x11e8 + int32_t bonus_movespeed; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Lich_ChainFrost_OnDeath : public CDOTA_Buff +{ +public: + int32_t should_fire_chain_frost_on_death; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lich_1 : public CDOTABaseAbility { public: @@ -51166,7 +51782,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lich_2 : public CDOTABaseAbility { public: @@ -51174,7 +51790,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lich_3 : public CDOTABaseAbility { public: @@ -51182,7 +51798,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lich_4 : public CDOTABaseAbility { public: @@ -51190,7 +51806,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lich_5 : public CDOTABaseAbility { public: @@ -51198,7 +51814,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lich_6 : public CDOTABaseAbility { public: @@ -51206,7 +51822,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lich_7 : public CDOTABaseAbility { public: @@ -51214,7 +51830,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lich_8 : public CDOTABaseAbility { public: @@ -51222,43 +51838,44 @@ public: }; // Alignment: 1 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Tidehunter_Gush : public CDOTABaseAbility { public: - int32_t gush_damage; // 0x558 + int32_t gush_damage; // 0x568 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tidehunter_Gush : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - float negative_armor; // 0x11ec + int32_t movement_speed; // 0x12b8 + float negative_armor; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Tidehunter_KrakenShell : public CDOTABaseAbility { public: // No members available }; -// Alignment: 4 -// Size: 0x11f8 +// Alignment: 5 +// Size: 0x12d0 class CDOTA_Modifier_Tidehunter_KrakenShell : public CDOTA_Buff { public: - int32_t m_iDamageTaken; // 0x11e8 - int32_t damage_reduction; // 0x11ec - int32_t damage_cleanse; // 0x11f0 - float damage_reset_interval; // 0x11f4 + int32_t m_iDamageTaken; // 0x12b8 + int32_t damage_reduction; // 0x12bc + int32_t damage_cleanse; // 0x12c0 + int32_t bonus_reduction_per_stack; // 0x12c4 + float damage_reset_interval; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Tidehunter_AnchorSmash : public CDOTABaseAbility { public: @@ -51266,70 +51883,100 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tidehunter_SmashAttack : public CDOTA_Buff { public: - int32_t attack_damage; // 0x11e8 + int32_t attack_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tidehunter_AnchorSmash_Caster : public CDOTA_Buff { public: - int32_t attack_damage; // 0x11e8 + int32_t attack_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tidehunter_AnchorSmash : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 + int32_t damage_reduction; // 0x12b8 +}; + +// Alignment: 3 +// Size: 0x588 +class CDOTA_Ability_Tidehunter_Ravage : public CDOTABaseAbility +{ +public: + CUtlVector< CHandle< CBaseEntity > > m_hEntsHit; // 0x568 + bool m_bAwardedKillEater; // 0x580 +private: + [[maybe_unused]] uint8_t __pad0581[0x3]; // 0x581 +public: + float duration; // 0x584 +}; + +// Alignment: 4 +// Size: 0x12c8 +class CDOTA_Modifier_Tidehunter_Ravage : public CDOTA_Buff +{ +public: + float m_flStartZ; // 0x12b8 + float m_flCurTime; // 0x12bc + bool m_bDamageApplied; // 0x12c0 +private: + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 +public: + float damage; // 0x12c4 +}; + +// Alignment: 5 +// Size: 0x598 +class CDOTA_Ability_Tidehunter_ArmOfTheDeep : public CDOTABaseAbility +{ +public: + CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x568 + float duration; // 0x580 + int32_t speed; // 0x584 + float damage; // 0x588 + float range; // 0x58c }; // Alignment: 3 // Size: 0x578 -class CDOTA_Ability_Tidehunter_Ravage : public CDOTABaseAbility +class CDOTA_Ability_Tidehunter_DeadInTheWater : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_hEntsHit; // 0x558 - bool m_bAwardedKillEater; // 0x570 -private: - [[maybe_unused]] uint8_t __pad0571[0x3]; // 0x571 + int32_t radius; // 0x568 + float duration; // 0x56c + int32_t chain_length; // 0x570 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Tidehunter_Anchor_Unit : public CDOTA_Buff +{ public: - float duration; // 0x574 + int32_t chain_length; // 0x12b8 + int32_t attacks_to_destroy; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 -class CDOTA_Modifier_Tidehunter_Ravage : public CDOTA_Buff +// Size: 0x12c8 +class CDOTA_Modifier_Tidehunter_DeadInTheWater : public CDOTA_Buff { public: - float m_flStartZ; // 0x11e8 - float m_flCurTime; // 0x11ec - bool m_bDamageApplied; // 0x11f0 -private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 -public: - float damage; // 0x11f4 -}; - -// Alignment: 5 -// Size: 0x588 -class CDOTA_Ability_Tidehunter_ArmOfTheDeep : public CDOTABaseAbility -{ -public: - CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x558 - float duration; // 0x570 - int32_t speed; // 0x574 - float damage; // 0x578 - float range; // 0x57c + int32_t max_movement_speed; // 0x12b8 + int32_t chain_length; // 0x12bc + CHandle< CBaseEntity > m_hAnchor; // 0x12c0 + bool m_bDragging; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_ShadowShaman_EtherShock : public CDOTABaseAbility { public: @@ -51337,7 +51984,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_ShadowShaman_EtherShock : public CDOTA_Buff { public: @@ -51345,23 +51992,24 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_ShadowShamanVoodoo : public CDOTABaseAbility { public: // No members available }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_ShadowShaman_Voodoo : public CDOTA_Modifier_Hexed { public: - int32_t movespeed; // 0x11e8 + int32_t movespeed; // 0x12b8 + int32_t damage_amp; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_ShadowShaman_MassSerpentWard : public CDOTABaseAbility { public: @@ -51369,47 +52017,47 @@ public: }; // Alignment: 3 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_ShadowShaman_Shackles : public CDOTABaseAbility { public: // MNetworkEnable - CHandle< CBaseEntity > m_hShackleTarget; // 0x558 - ParticleIndex_t nShackleFXIndex; // 0x55c - CUtlVector< CHandle< CBaseEntity > > hWardList; // 0x560 + CHandle< CBaseEntity > m_hShackleTarget; // 0x568 + ParticleIndex_t nShackleFXIndex; // 0x56c + CUtlVector< CHandle< CBaseEntity > > hWardList; // 0x570 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_ShadowShaman_Shackles : public CDOTA_Buff { public: - float tick_interval; // 0x11e8 - float total_damage; // 0x11ec - float channel_time; // 0x11f0 + float tick_interval; // 0x12b8 + float total_damage; // 0x12bc + float channel_time; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ShadowShaman_SerpentWard : public CDOTA_Buff { public: - int32_t scepter_range; // 0x11e8 + int32_t scepter_range; // 0x12b8 }; // Alignment: 4 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_ShadowShaman_Serpentine : public CDOTABaseAbility { public: - int32_t length; // 0x558 - int32_t count; // 0x55c - Vector m_vStartPosition; // 0x560 - Vector m_vEndPosition; // 0x56c + int32_t length; // 0x568 + int32_t count; // 0x56c + Vector m_vStartPosition; // 0x570 + Vector m_vEndPosition; // 0x57c }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Riki_SmokeScreen : public CDOTABaseAbility { public: @@ -51417,26 +52065,26 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Riki_SmokeScreenThinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Riki_SmokeScreen : public CDOTA_Buff { public: - int32_t miss_rate; // 0x11e8 - int32_t dodge_chance; // 0x11ec - int32_t block_targeting; // 0x11f0 - int32_t armor_reduction; // 0x11f4 + int32_t miss_rate; // 0x12b8 + int32_t dodge_chance; // 0x12bc + int32_t block_targeting; // 0x12c0 + int32_t armor_reduction; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Riki_BlinkStrike_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -51444,7 +52092,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Riki_BlinkStrike : public CDOTABaseAbility { public: @@ -51452,7 +52100,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Riki_BlinkStrike : public CDOTA_Buff { public: @@ -51460,7 +52108,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Riki_BlinkStrike_Slow : public CDOTA_Buff { public: @@ -51468,7 +52116,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Riki_Permanent_Invisibility : public CDOTABaseAbility { public: @@ -51476,16 +52124,16 @@ public: }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Riki_Permanent_Invisibility : public CDOTA_Modifier_PersistentInvisibility { public: - int32_t movement_speed; // 0x11f8 - float fade_delay; // 0x11fc + int32_t movement_speed; // 0x12c8 + float fade_delay; // 0x12cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Riki_Backstab : public CDOTABaseAbility { public: @@ -51493,21 +52141,21 @@ public: }; // Alignment: 7 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Riki_Backstab : public CDOTA_Modifier_PersistentInvisibility { public: - float fade_delay; // 0x11f8 - int32_t backstab_angle; // 0x11fc - int32_t cleave; // 0x1200 - float damage_multiplier; // 0x1204 - float bonus_xp_kill; // 0x1208 - float bonus_xp_assist; // 0x120c - bool m_bBackstab; // 0x1210 + float fade_delay; // 0x12c8 + int32_t backstab_angle; // 0x12cc + int32_t cleave; // 0x12d0 + float damage_multiplier; // 0x12d4 + float bonus_xp_kill; // 0x12d8 + float bonus_xp_assist; // 0x12dc + bool m_bBackstab; // 0x12e0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Riki_TricksOfTheTrade : public CDOTABaseAbility { public: @@ -51515,26 +52163,26 @@ public: }; // Alignment: 9 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Riki_TricksOfTheTrade_Phase : public CDOTA_Buff { public: - ParticleIndex_t m_nFxIndex; // 0x11e8 - CHandle< CBaseEntity > m_hTarget; // 0x11ec - CountdownTimer m_Timer; // 0x11f0 - CHandle< CBaseEntity > m_hPreviousTarget; // 0x1208 - int32_t m_nSucceessiveHits; // 0x120c - bool m_bGrantedGem; // 0x1210 + ParticleIndex_t m_nFxIndex; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12bc + CountdownTimer m_Timer; // 0x12c0 + CHandle< CBaseEntity > m_hPreviousTarget; // 0x12d8 + int32_t m_nSucceessiveHits; // 0x12dc + bool m_bGrantedGem; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - float attack_rate; // 0x1214 - int32_t damage_pct; // 0x1218 - int32_t agility_pct; // 0x121c + float attack_rate; // 0x12e4 + int32_t damage_pct; // 0x12e8 + int32_t agility_pct; // 0x12ec }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Riki_Poison_Dart : public CDOTABaseAbility { public: @@ -51542,24 +52190,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Riki_Poison_Dart : public CDOTA_Buff { public: - int32_t wake_damage_limit; // 0x11e8 - float m_flDamageTaken; // 0x11ec + int32_t wake_damage_limit; // 0x12b8 + float m_flDamageTaken; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Riki_Poison_Dart_Debuff : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Enigma_DemonicConversion : public CDOTABaseAbility { public: @@ -51567,129 +52215,139 @@ public: }; // Alignment: 3 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Enigma_Malefice : public CDOTABaseAbility { public: - float tick_rate; // 0x558 - int32_t stun_instances; // 0x55c - float m_flDuration; // 0x560 + float tick_rate; // 0x568 + int32_t stun_instances; // 0x56c + float m_flDuration; // 0x570 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Enigma_Malefice : public CDOTA_Buff { public: - float tick_rate; // 0x11e8 - float stun_duration; // 0x11ec - int32_t damage; // 0x11f0 - float duration; // 0x11f4 - int32_t m_nEidolonSpawnNum; // 0x11f8 + float tick_rate; // 0x12b8 + float stun_duration; // 0x12bc + int32_t damage; // 0x12c0 + float duration; // 0x12c4 + int32_t m_nEidolonSpawnNum; // 0x12c8 }; -// Alignment: 6 -// Size: 0x1208 +// Alignment: 8 +// Size: 0x12e0 class CDOTA_Modifier_Enigma_DemonicConversion : public CDOTA_Modifier_Kill { public: - int32_t m_iAttackCount; // 0x11f0 - int32_t split_attack_count; // 0x11f4 - float life_extension; // 0x11f8 - int32_t hp_bonus; // 0x11fc - bool m_bAllowSplit; // 0x1200 + int32_t m_iAttackCount; // 0x12c0 + int32_t split_attack_count; // 0x12c4 + float life_extension; // 0x12c8 + int32_t eidolon_attack_range; // 0x12cc + int32_t eidolon_bonus_damage; // 0x12d0 + int32_t eidolon_bonus_attack_speed; // 0x12d4 + bool m_bAllowSplit; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - int32_t m_nSpawnNum; // 0x1204 + int32_t m_nSpawnNum; // 0x12dc +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Enigma_DemonicConversion_ModelScale : public CDOTA_Buff +{ +public: + float self_modelscale; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Enigma_MidnightPulse : public CDOTABaseAbility { public: // No members available }; -// Alignment: 4 -// Size: 0x11f8 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Enigma_MidnightPulseThinker : public CDOTA_Buff { public: - float damage_percent; // 0x11e8 - int32_t radius; // 0x11ec - ParticleIndex_t n_FXIndex; // 0x11f0 - bool m_bHasGrantedKillEater; // 0x11f4 + int32_t radius; // 0x12b8 + ParticleIndex_t n_FXIndex; // 0x12bc + bool m_bHasGrantedKillEater; // 0x12c0 }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Enigma_MidnightPulse_Damage : public CDOTA_Buff { public: - float damage_percent; // 0x11e8 + float damage_percent; // 0x12b8 + float tick_rate; // 0x12bc }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Enigma_BlackHole : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hThinker; // 0x558 - CHandle< CBaseEntity > m_hThinker2; // 0x55c + CHandle< CBaseEntity > m_hThinker; // 0x568 + CHandle< CBaseEntity > m_hThinker2; // 0x56c }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Enigma_BlackHoleThinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - bool m_bFoundFive; // 0x11ec - bool m_bGrantedKillEater; // 0x11ed + int32_t radius; // 0x12b8 + bool m_bFoundFive; // 0x12bc + bool m_bGrantedKillEater; // 0x12bd }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Enigma_BlackHole_Pull : public CDOTA_Buff { public: - int32_t pull_speed; // 0x11e8 - int32_t radius; // 0x11ec - int32_t damage; // 0x11f0 - float tick_rate; // 0x11f4 - float pull_rotate_speed; // 0x11f8 - float animation_rate; // 0x11fc - float scepter_pct_damage; // 0x1200 - GameTime_t m_flDamageTick; // 0x1204 + int32_t pull_speed; // 0x12b8 + int32_t radius; // 0x12bc + int32_t damage; // 0x12c0 + float tick_rate; // 0x12c4 + float pull_rotate_speed; // 0x12c8 + float animation_rate; // 0x12cc + float scepter_pct_damage; // 0x12d0 + GameTime_t m_flDamageTick; // 0x12d4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Enigma_Black_Hole_Thinker_Scepter : public CDOTA_Buff { public: - int32_t scepter_radius; // 0x11e8 - ParticleIndex_t n_FXIndex; // 0x11ec + int32_t scepter_radius; // 0x12b8 + ParticleIndex_t n_FXIndex; // 0x12bc }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Enigma_Black_Hole_Pull_Scepter : public CDOTA_Buff { public: - int32_t scepter_drag_speed; // 0x11e8 - float scepter_pull_rotate_speed; // 0x11ec - float aura_origin_x; // 0x11f0 - float aura_origin_y; // 0x11f4 - ParticleIndex_t m_nFXIndex; // 0x11f8 - Vector m_vCenter; // 0x11fc - GameTime_t m_flLastThinkTime; // 0x1208 + int32_t scepter_drag_speed; // 0x12b8 + float scepter_pull_rotate_speed; // 0x12bc + float aura_origin_x; // 0x12c0 + float aura_origin_y; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + Vector m_vCenter; // 0x12cc + GameTime_t m_flLastThinkTime; // 0x12d8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Enigma : public CDOTABaseAbility { public: @@ -51697,7 +52355,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Enigma_2 : public CDOTABaseAbility { public: @@ -51705,7 +52363,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Enigma_3 : public CDOTABaseAbility { public: @@ -51713,7 +52371,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Enigma_4 : public CDOTABaseAbility { public: @@ -51721,7 +52379,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Enigma_5 : public CDOTABaseAbility { public: @@ -51729,7 +52387,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Enigma_6 : public CDOTABaseAbility { public: @@ -51737,7 +52395,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Enigma_7 : public CDOTABaseAbility { public: @@ -51745,7 +52403,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Enigma_8 : public CDOTABaseAbility { public: @@ -51753,7 +52411,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Enigma_9 : public CDOTABaseAbility { public: @@ -51761,7 +52419,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Tinker_Defensive_Matrix : public CDOTABaseAbility { public: @@ -51769,101 +52427,101 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Tinker_Defensive_Matrix : public CDOTA_Buff { public: - int32_t damage_absorb; // 0x11e8 - int32_t status_resistance; // 0x11ec - int32_t cooldown_reduction; // 0x11f0 - bool m_bStartedTimer; // 0x11f4 + int32_t damage_absorb; // 0x12b8 + int32_t status_resistance; // 0x12bc + int32_t cooldown_reduction; // 0x12c0 + bool m_bStartedTimer; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - int32_t m_nDamageAbsorbed; // 0x11f8 + int32_t m_nDamageAbsorbed; // 0x12c8 }; // Alignment: 3 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_Tinker_Laser : public CDOTABaseAbility { public: - Vector m_vProjectileLocation; // 0x558 - bool bBlocked; // 0x564 + Vector m_vProjectileLocation; // 0x568 + bool bBlocked; // 0x574 private: - [[maybe_unused]] uint8_t __pad0565[0x3]; // 0x565 + [[maybe_unused]] uint8_t __pad0575[0x3]; // 0x575 public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x568 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x578 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tinker_LaserBlind : public CDOTA_Buff { public: - int32_t miss_rate; // 0x11e8 - float max_health_removed; // 0x11ec + int32_t miss_rate; // 0x12b8 + float max_health_removed; // 0x12bc }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Tinker_HeatSeekingMissile : public CDOTABaseAbility { public: - int32_t m_nTargetsKilled; // 0x558 + int32_t m_nTargetsKilled; // 0x568 }; // Alignment: 3 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Tinker_WarpGrenade : public CDOTABaseAbility { public: - float debuff_duration; // 0x558 - float knockback_distance; // 0x55c - float damage; // 0x560 + float debuff_duration; // 0x568 + float knockback_distance; // 0x56c + float damage; // 0x570 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tinker_Warp_Grenade : public CDOTA_Buff { public: - int32_t range_reduction; // 0x11e8 + int32_t range_reduction; // 0x12b8 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Tinker_MarchOfTheMachines : public CDOTABaseAbility { public: - int32_t splash_radius; // 0x558 - int32_t damage; // 0x55c + int32_t splash_radius; // 0x568 + int32_t damage; // 0x56c }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Tinker_MarchOfTheMachinesThinker : public CDOTA_Buff { public: - int32_t collision_radius; // 0x11e8 - int32_t radius; // 0x11ec - int32_t distance; // 0x11f0 - int32_t distance_scepter; // 0x11f4 - int32_t speed; // 0x11f8 - int32_t machines_per_sec; // 0x11fc - Vector m_vDir; // 0x1200 + int32_t collision_radius; // 0x12b8 + int32_t radius; // 0x12bc + int32_t distance; // 0x12c0 + int32_t distance_scepter; // 0x12c4 + int32_t speed; // 0x12c8 + int32_t machines_per_sec; // 0x12cc + Vector m_vDir; // 0x12d0 }; // Alignment: 1 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Tinker_Rearm : public CDOTABaseAbility { public: - Vector m_vProjectileLocation; // 0x558 + Vector m_vProjectileLocation; // 0x568 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tinker_Rearm : public CDOTA_Buff { public: @@ -51871,7 +52529,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Tinker_Shrink_Ray : public CDOTABaseAbility { public: @@ -51879,43 +52537,43 @@ public: }; // Alignment: 7 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_Tinker_Keen_Teleport : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hTeleportTarget; // 0x558 - ParticleIndex_t m_nFXOrigin; // 0x55c - ParticleIndex_t m_nFXDestination; // 0x560 - Vector m_vDestination; // 0x564 - int32_t m_iMinDistance; // 0x570 - float m_flBaseTeleportTime; // 0x574 - float m_flExtraTeleportTime; // 0x578 + CHandle< CBaseEntity > m_hTeleportTarget; // 0x568 + ParticleIndex_t m_nFXOrigin; // 0x56c + ParticleIndex_t m_nFXDestination; // 0x570 + Vector m_vDestination; // 0x574 + int32_t m_iMinDistance; // 0x580 + float m_flBaseTeleportTime; // 0x584 + float m_flExtraTeleportTime; // 0x588 }; // Alignment: 4 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_WitchDoctor_ParalyzingCask : public CDOTABaseAbility { public: - int32_t m_iBounces; // 0x558 - int32_t bounces; // 0x55c - int32_t bounce_bonus_damage; // 0x560 + int32_t m_iBounces; // 0x568 + int32_t bounces; // 0x56c + int32_t bounce_bonus_damage; // 0x570 private: - [[maybe_unused]] uint8_t __pad0564[0x4]; // 0x564 + [[maybe_unused]] uint8_t __pad0574[0x4]; // 0x574 public: - CUtlVector< CHandle< CBaseEntity > > m_vecHitHeroes; // 0x568 + CUtlVector< CHandle< CBaseEntity > > m_vecHitHeroes; // 0x578 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_WitchDoctor_Cask_Thinker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_WitchDoctor_VoodooRestoration : public CDOTABaseAbility { public: @@ -51923,7 +52581,7 @@ public: }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_WitchDoctor_Voodoo_Restoration_Aura : public CDOTA_Buff { public: @@ -51931,19 +52589,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_WitchDoctor_Voodoo_Restoration_Heal : public CDOTA_Buff { public: - int32_t heal; // 0x11e8 - float mana_per_second; // 0x11ec - float heal_interval; // 0x11f0 - int32_t enemy_damage_pct; // 0x11f4 - float m_flTotalHealing; // 0x11f8 + int32_t heal; // 0x12b8 + float mana_per_second; // 0x12bc + float heal_interval; // 0x12c0 + int32_t enemy_damage_pct; // 0x12c4 + float m_flTotalHealing; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_WitchDoctor_Maledict : public CDOTABaseAbility { public: @@ -51951,7 +52609,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_WitchDoctor_MaledictDoT : public CDOTA_Buff { public: @@ -51959,49 +52617,49 @@ public: }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_WitchDoctor_Maledict : public CDOTA_Buff { public: - int32_t m_iStartHealth; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t bonus_damage_threshold; // 0x11f0 - int32_t ticks; // 0x11f4 - int32_t iCurrentTick; // 0x11f8 + int32_t m_iStartHealth; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t bonus_damage_threshold; // 0x12c0 + int32_t ticks; // 0x12c4 + int32_t iCurrentTick; // 0x12c8 }; // Alignment: 8 -// Size: 0x590 +// Size: 0x5a0 class CDOTA_Ability_WitchDoctor_DeathWard : public CDOTABaseAbility { public: // MNetworkEnable - CHandle< CBaseEntity > m_hWard; // 0x558 - int32_t m_iDamage; // 0x55c - int32_t m_iBounceRadius; // 0x560 - int32_t m_iProjectileSpeed; // 0x564 - GameTime_t m_fWardExpireTime; // 0x568 - ParticleIndex_t m_nFXIndex; // 0x56c - int32_t m_iAttackIndex; // 0x570 + CHandle< CBaseEntity > m_hWard; // 0x568 + int32_t m_iDamage; // 0x56c + int32_t m_iBounceRadius; // 0x570 + int32_t m_iProjectileSpeed; // 0x574 + GameTime_t m_fWardExpireTime; // 0x578 + ParticleIndex_t m_nFXIndex; // 0x57c + int32_t m_iAttackIndex; // 0x580 private: - [[maybe_unused]] uint8_t __pad0574[0x4]; // 0x574 + [[maybe_unused]] uint8_t __pad0584[0x4]; // 0x584 public: - CUtlVector< sBounceInfo > m_BounceInfo; // 0x578 + CUtlVector< sBounceInfo > m_BounceInfo; // 0x588 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_WitchDoctor_DeathWard : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t m_iBounceRadius; // 0x11ec - int32_t bonus_accuracy; // 0x11f0 - bool m_bFirstAttack; // 0x11f4 + int32_t bonus_damage; // 0x12b8 + int32_t m_iBounceRadius; // 0x12bc + int32_t bonus_accuracy; // 0x12c0 + bool m_bFirstAttack; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_WitchDoctor_Voodoo_Switcheroo : public CDOTABaseAbility { public: @@ -52009,24 +52667,24 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_WitchDoctor_Voodoo_Switcheroo : public CDOTA_Buff { public: - Vector m_vSavedPos; // 0x11e8 - CHandle< CBaseEntity > m_hSavedAbility; // 0x11f4 + Vector m_vSavedPos; // 0x12b8 + CHandle< CBaseEntity > m_hSavedAbility; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_WitchDoctor_DeathWard_Voodoo_Switcheroo_AttackSpeedReduction : public CDOTA_Buff { public: - int32_t attack_speed_reduction; // 0x11e8 + int32_t attack_speed_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Witch_Doctor_1 : public CDOTABaseAbility { public: @@ -52034,7 +52692,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Witch_Doctor_2 : public CDOTABaseAbility { public: @@ -52042,7 +52700,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Witch_Doctor_3 : public CDOTABaseAbility { public: @@ -52050,7 +52708,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Witch_Doctor_4 : public CDOTABaseAbility { public: @@ -52058,7 +52716,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Witch_Doctor_5 : public CDOTABaseAbility { public: @@ -52066,7 +52724,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Witch_Doctor_6 : public CDOTABaseAbility { public: @@ -52074,7 +52732,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Witch_Doctor_7 : public CDOTABaseAbility { public: @@ -52082,7 +52740,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Sniper_Shrapnel_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -52090,7 +52748,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Sniper_Shrapnel : public CDOTABaseAbility { public: @@ -52098,26 +52756,26 @@ public: }; // Alignment: 3 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Sniper_Shrapnel_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - bool m_bExploded; // 0x11ec - bool m_bGrantedGem; // 0x11ed + int32_t radius; // 0x12b8 + bool m_bExploded; // 0x12bc + bool m_bGrantedGem; // 0x12bd }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Sniper_Shrapnel_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 - int32_t shrapnel_damage; // 0x11ec + int32_t slow_movement_speed; // 0x12b8 + int32_t shrapnel_damage; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Sniper_Headshot : public CDOTABaseAbility { public: @@ -52125,28 +52783,28 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Sniper_Headshot : public CDOTA_Buff { public: - int32_t proc_chance; // 0x11e8 - float slow_duration; // 0x11ec - float knockback_distance; // 0x11f0 - int32_t bonus_damage_creeps; // 0x11f4 - int32_t bonus_attack_range; // 0x11f8 - int32_t damage; // 0x11fc + int32_t proc_chance; // 0x12b8 + float slow_duration; // 0x12bc + float knockback_distance; // 0x12c0 + int32_t bonus_damage_creeps; // 0x12c4 + int32_t bonus_attack_range; // 0x12c8 + int32_t damage; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Sniper_Headshot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Sniper_TakeAim : public CDOTABaseAbility { public: @@ -52154,45 +52812,54 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Sniper_TakeAim : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x11e8 + int32_t bonus_attack_range; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Sniper_TakeAim_Bonus : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t active_attack_range_bonus; // 0x11ec -}; - -// Alignment: 2 -// Size: 0x568 -class CDOTA_Ability_Sniper_Assassinate : public CDOTABaseAbility -{ -private: - [[maybe_unused]] uint8_t __pad0558[0x8]; // 0x558 -public: - CHandle< CBaseEntity > m_hTarget; // 0x560 - ParticleIndex_t m_iIndex; // 0x564 + int32_t slow; // 0x12b8 + int32_t active_attack_range_bonus; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Sniper_Assassinate_Crit : public CDOTA_Buff +// Size: 0x580 +class CDOTA_Ability_Sniper_Assassinate : public CDOTABaseAbility { +private: + [[maybe_unused]] uint8_t __pad0568[0x8]; // 0x568 public: - int32_t scepter_crit_damage; // 0x11e8 - int32_t scatter_damage_pct; // 0x11ec - bool is_secondary; // 0x11f0 + CHandle< CBaseEntity > m_hTarget; // 0x570 + ParticleIndex_t m_iIndex; // 0x574 + float cooldown_reduction_on_kill; // 0x578 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 +class CDOTA_Modifier_Sniper_Assassinate_Trigger : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Sniper_Assassinate_Crit : public CDOTA_Buff +{ +public: + int32_t scepter_crit_damage; // 0x12b8 + int32_t scatter_damage_pct; // 0x12bc + bool is_secondary; // 0x12c0 +}; + +// Alignment: 0 +// Size: 0x12b8 class CDOTA_Modifier_Sniper_Assassinate : public CDOTA_Buff { public: @@ -52200,23 +52867,23 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Sniper_Concussive_Grenade : public CDOTABaseAbility { public: - int32_t m_iProjectile; // 0x558 + int32_t m_iProjectile; // 0x568 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Sniper_Concussive_Grenade : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Necrolyte_Sadist_Stop : public CDOTABaseAbility { public: @@ -52224,7 +52891,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Necrolyte_Sadist : public CDOTABaseAbility { public: @@ -52232,43 +52899,43 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Necrolyte_Sadist_Active : public CDOTA_Buff { public: - int32_t heal_bonus; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t slow_aoe; // 0x11f0 + int32_t heal_bonus; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t slow_aoe; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Necrolyte_Sadist_Aura_Effect : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 + int32_t movement_speed; // 0x12b8 }; // Alignment: 1 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Necrolyte_Death_Pulse : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x8]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x8]; // 0x568 public: - bool m_bIsDeathSeekerCast; // 0x560 + bool m_bIsDeathSeekerCast; // 0x570 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Necrophos_Death_Seeker_Ethereal : public CDOTA_Buff { public: - int32_t magic_resistance_reduction; // 0x11e8 + int32_t magic_resistance_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Necrolyte_Heartstopper_Aura : public CDOTABaseAbility { public: @@ -52276,39 +52943,40 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Necrolyte_Heartstopper_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - bool m_bStackCountChanged; // 0x11ec + int32_t aura_radius; // 0x12b8 + bool m_bStackCountChanged; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - CUtlVector< GameTime_t > m_fStackExpireTimes; // 0x11f0 + CUtlVector< GameTime_t > m_fStackExpireTimes; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Counter : public CDOTA_Buff { public: - float mana_regen; // 0x11e8 - float health_regen; // 0x11ec + float mana_regen; // 0x12b8 + float health_regen; // 0x12bc }; -// Alignment: 3 -// Size: 0x11f8 +// Alignment: 4 +// Size: 0x12c8 class CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Effect : public CDOTA_Buff { public: - float aura_damage; // 0x11e8 - int32_t heal_reduction_pct; // 0x11ec - ParticleIndex_t m_nFXIndex; // 0x11f0 + float aura_damage; // 0x12b8 + int32_t heal_reduction_pct; // 0x12bc + float heal_regen_to_damage; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Necrolyte_ReapersScythe : public CDOTABaseAbility { public: @@ -52316,28 +52984,28 @@ public: }; // Alignment: 3 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Necrolyte_ReapersScythe : public CDOTA_Modifier_Stunned { public: - float stun_duration; // 0x11e8 - bool m_bIllusion; // 0x11ec - bool m_bArcWardenClone; // 0x11ed + float stun_duration; // 0x12b8 + bool m_bIllusion; // 0x12bc + bool m_bArcWardenClone; // 0x12bd }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Necrolyte_ReapersScythe_RespawnTime : public CDOTA_Buff { public: - float hp_per_kill; // 0x11e8 - float mana_per_kill; // 0x11ec - float hp_regen; // 0x11f0 - float mp_regen; // 0x11f4 + float hp_per_kill; // 0x12b8 + float mana_per_kill; // 0x12bc + float hp_regen; // 0x12c0 + float mp_regen; // 0x12c4 }; // Alignment: 0 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Necrolyte_Death_Seeker : public CDOTABaseAbility { public: @@ -52345,7 +53013,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Death_Seeker_OutOfWorld : public CDOTA_Buff { public: @@ -52353,16 +53021,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slardar_Puddle_Thinker : public CDOTA_Buff { public: - int32_t puddle_radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t puddle_radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Slardar_Puddle : public CDOTA_Buff { public: @@ -52370,7 +53038,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Slardar_Sprint_Passive : public CDOTA_Buff { public: @@ -52378,18 +53046,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Slardar_Sprint_River : public CDOTA_Buff { public: - int32_t river_speed; // 0x11e8 - int32_t puddle_regen; // 0x11ec - int32_t puddle_armor; // 0x11f0 - int32_t puddle_status_resistance; // 0x11f4 + int32_t river_speed; // 0x12b8 + int32_t puddle_regen; // 0x12bc + int32_t puddle_armor; // 0x12c0 + int32_t puddle_status_resistance; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Slardar_Sprint : public CDOTABaseAbility { public: @@ -52397,49 +53065,50 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slardar_Sprint : public CDOTA_Buff { public: - int32_t bonus_speed; // 0x11e8 + int32_t bonus_speed; // 0x12b8 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Slardar_Slithereen_Crush : public CDOTABaseAbility { public: - CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x558 + CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x568 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slardar_Slithereen_Crush : public CDOTA_Buff { public: - int32_t crush_extra_slow; // 0x11e8 + int32_t crush_extra_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Slardar_Bash : public CDOTABaseAbility { public: // No members available }; -// Alignment: 3 -// Size: 0x11f8 +// Alignment: 4 +// Size: 0x12c8 class CDOTA_Modifier_Slardar_Bash_Active : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - float duration; // 0x11ec - int32_t attack_count; // 0x11f0 + int32_t bonus_damage; // 0x12b8 + float duration; // 0x12bc + int32_t attack_count; // 0x12c0 + int32_t river_damage; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Slardar_Amplify_Damage : public CDOTABaseAbility { public: @@ -52447,21 +53116,21 @@ public: }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Slardar_Amplify_Damage : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 - float scepter_delay; // 0x11ec - int32_t undispellable; // 0x11f0 - int32_t puddle_radius; // 0x11f4 - float puddle_duration; // 0x11f8 - Vector m_vecLastPuddle; // 0x11fc - CHandle< CBaseEntity > m_hPuddle; // 0x1208 + int32_t armor_reduction; // 0x12b8 + float scepter_delay; // 0x12bc + int32_t undispellable; // 0x12c0 + int32_t puddle_radius; // 0x12c4 + float puddle_duration; // 0x12c8 + Vector m_vecLastPuddle; // 0x12cc + CHandle< CBaseEntity > m_hPuddle; // 0x12d8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Slardar : public CDOTABaseAbility { public: @@ -52469,7 +53138,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Slardar_2 : public CDOTABaseAbility { public: @@ -52477,7 +53146,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Slardar_3 : public CDOTABaseAbility { public: @@ -52485,7 +53154,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Slardar_4 : public CDOTABaseAbility { public: @@ -52493,7 +53162,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Slardar_5 : public CDOTABaseAbility { public: @@ -52501,7 +53170,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Slardar_6 : public CDOTABaseAbility { public: @@ -52509,7 +53178,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Slardar_7 : public CDOTABaseAbility { public: @@ -52517,7 +53186,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Slardar_8 : public CDOTABaseAbility { public: @@ -52525,23 +53194,24 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Ursa_Overpower : public CDOTABaseAbility { public: // No members available }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Ursa_Overpower : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x11e8 + int32_t attack_speed_bonus_pct; // 0x12b8 + int32_t slow_resist; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Ursa_Fury_Swipes : public CDOTABaseAbility { public: @@ -52549,23 +53219,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Ursa_Fury_Swipes : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x11e8 + int32_t damage_per_stack; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Ursa_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x11e8 + int32_t damage_per_stack; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Ursa_Enrage : public CDOTABaseAbility { public: @@ -52573,75 +53243,79 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Ursa_Enrage : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 - int32_t status_resistance; // 0x11ec + int32_t damage_reduction; // 0x12b8 + int32_t status_resistance; // 0x12bc }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Ursa_Earthshock : public CDOTABaseAbility { public: - CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x558 + CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x568 }; // Alignment: 8 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Ursa_Earthshock_Move : public CDOTA_Buff { public: - float hop_duration; // 0x11e8 - int32_t hop_height; // 0x11ec - int32_t hop_distance; // 0x11f0 - float m_flStartZ; // 0x11f4 - float m_flCurTime; // 0x11f8 - float m_flJumpDuration; // 0x11fc - float m_flJumpHeight; // 0x1200 - Vector m_vTargetHorizontalDirection; // 0x1204 + float hop_duration; // 0x12b8 + int32_t hop_height; // 0x12bc + int32_t hop_distance; // 0x12c0 + float m_flStartZ; // 0x12c4 + float m_flCurTime; // 0x12c8 + float m_flJumpDuration; // 0x12cc + float m_flJumpHeight; // 0x12d0 + Vector m_vTargetHorizontalDirection; // 0x12d4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Ursa_Earthshock : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; -// Alignment: 7 -// Size: 0x578 +// Alignment: 8 +// Size: 0x5a0 class CDOTA_Ability_Lion_Impale : public CDOTABaseAbility { public: - int32_t width; // 0x558 - float duration; // 0x55c - int32_t speed; // 0x560 - float length_buffer; // 0x564 - float range; // 0x568 - int32_t m_iDefaultCastRange; // 0x56c - int32_t pierces_immunity; // 0x570 + int32_t width; // 0x568 + float duration; // 0x56c + int32_t speed; // 0x570 + float length_buffer; // 0x574 + float range; // 0x578 + int32_t m_iDefaultCastRange; // 0x57c + int32_t pierces_immunity; // 0x580 +private: + [[maybe_unused]] uint8_t __pad0584[0x4]; // 0x584 +public: + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x588 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Lion_Impale : public CDOTA_Buff { public: - float m_flStartZ; // 0x11e8 - float m_flCurTime; // 0x11ec - bool m_bDamageApplied; // 0x11f0 + float m_flStartZ; // 0x12b8 + float m_flCurTime; // 0x12bc + bool m_bDamageApplied; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - int32_t damage; // 0x11f4 + int32_t damage; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Lion_Voodoo : public CDOTABaseAbility { public: @@ -52649,47 +53323,48 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lion_Voodoo : public CDOTA_Modifier_Hexed { public: - int32_t movespeed; // 0x11e8 + int32_t movespeed; // 0x12b8 }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Lion_ManaDrain : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_Victims; // 0x558 + CUtlVector< CHandle< CBaseEntity > > m_Victims; // 0x568 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lion_ManaDrain_Immunity : public CDOTA_Modifier_DebuffImmune { public: // No members available }; -// Alignment: 9 -// Size: 0x1218 +// Alignment: 10 +// Size: 0x12e8 class CDOTA_Modifier_Lion_ManaDrain : public CDOTA_Buff { public: - int32_t mana_per_second; // 0x11e8 - int32_t break_distance; // 0x11ec - float tick_interval; // 0x11f0 - int32_t movespeed; // 0x11f4 - int32_t damage_pct; // 0x11f8 - GameTime_t m_fAppliedTime; // 0x11fc - int32_t m_nTotalManaDrained; // 0x1200 - int32_t m_nSelfBuffSerialNumber; // 0x1204 - int32_t m_nTargetDebuffSerialNumber; // 0x1208 + int32_t mana_per_second; // 0x12b8 + int32_t break_distance; // 0x12bc + float tick_interval; // 0x12c0 + int32_t movespeed; // 0x12c4 + int32_t damage_pct; // 0x12c8 + int32_t ally_pct; // 0x12cc + GameTime_t m_fAppliedTime; // 0x12d0 + int32_t m_nTotalManaDrained; // 0x12d4 + int32_t m_nSelfBuffSerialNumber; // 0x12d8 + int32_t m_nTargetDebuffSerialNumber; // 0x12dc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lion_ManaDrain_Buff : public CDOTA_Buff { public: @@ -52697,7 +53372,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lion_ManaDrain_Debuff : public CDOTA_Buff { public: @@ -52705,7 +53380,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lion_FingerOfDeath_Kill_Counter : public CDOTA_Buff { public: @@ -52713,23 +53388,23 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Lion_FingerOfDeath : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 + ParticleIndex_t m_nFXIndex; // 0x568 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lion_FingerOfDeath : public CDOTA_Buff { public: - bool m_bIgnoreBonus; // 0x11e8 + bool m_bIgnoreBonus; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lion_FingerOfDeath_Delay : public CDOTA_Buff { public: @@ -52737,16 +53412,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lion_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x11e8 - bool m_bFlail; // 0x11e9 + bool m_bFrozen; // 0x12b8 + bool m_bFlail; // 0x12b9 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lion : public CDOTABaseAbility { public: @@ -52754,7 +53429,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lion_2 : public CDOTABaseAbility { public: @@ -52762,7 +53437,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lion_3 : public CDOTABaseAbility { public: @@ -52770,7 +53445,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lion_4 : public CDOTABaseAbility { public: @@ -52778,7 +53453,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lion_5 : public CDOTABaseAbility { public: @@ -52786,7 +53461,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lion_6 : public CDOTABaseAbility { public: @@ -52794,7 +53469,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lion_7 : public CDOTABaseAbility { public: @@ -52802,7 +53477,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lion_8 : public CDOTABaseAbility { public: @@ -52810,7 +53485,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lion_9 : public CDOTABaseAbility { public: @@ -52818,7 +53493,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lion_10 : public CDOTABaseAbility { public: @@ -52826,7 +53501,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Lion_11 : public CDOTABaseAbility { public: @@ -52834,7 +53509,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoCourierSpawnRadiant : public CPointEntity { public: @@ -52842,7 +53517,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoCourierSpawnDire : public CPointEntity { public: @@ -52850,7 +53525,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoCourierSpawnRadiant1 : public CPointEntity { public: @@ -52858,7 +53533,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoCourierSpawnRadiant2 : public CPointEntity { public: @@ -52866,7 +53541,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoCourierSpawnRadiant3 : public CPointEntity { public: @@ -52874,7 +53549,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoCourierSpawnRadiant4 : public CPointEntity { public: @@ -52882,7 +53557,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoCourierSpawnRadiant5 : public CPointEntity { public: @@ -52890,7 +53565,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoCourierSpawnDire1 : public CPointEntity { public: @@ -52898,7 +53573,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoCourierSpawnDire2 : public CPointEntity { public: @@ -52906,7 +53581,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoCourierSpawnDire3 : public CPointEntity { public: @@ -52914,7 +53589,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoCourierSpawnDire4 : public CPointEntity { public: @@ -52922,7 +53597,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoCourierSpawnDire5 : public CPointEntity { public: @@ -52930,7 +53605,7 @@ public: }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoCourierSpawn : public CPointEntity { public: @@ -52938,20 +53613,20 @@ public: }; // Alignment: 3 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_Track_Order_Issuer : public CDOTA_Buff { public: - PlayerID_t m_nIssuerPlayerIndex; // 0x11e8 - bool m_bTeamFirstCourier; // 0x11ec + PlayerID_t m_nIssuerPlayerIndex; // 0x12b8 + bool m_bTeamFirstCourier; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - GameTime_t m_nPlayerCommandTime[24]; // 0x11f0 + GameTime_t m_nPlayerCommandTime[24]; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Courier_Morph_Effect : public CDOTA_Buff { public: @@ -52959,7 +53634,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Courier_Flying : public CDOTA_Buff { public: @@ -52967,7 +53642,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Courier_ReturnToBase : public CDOTABaseAbility { public: @@ -52975,7 +53650,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Courier_TakeStashItems : public CDOTABaseAbility { public: @@ -52983,21 +53658,21 @@ public: }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Courier_TakeStashItems : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hStashOwner; // 0x11e8 - Vector m_vLocation; // 0x11ec - bool m_bTransferAfterTake; // 0x11f8 + CHandle< CBaseEntity > m_hStashOwner; // 0x12b8 + Vector m_vLocation; // 0x12bc + bool m_bTransferAfterTake; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t stash_pickup_distance; // 0x11fc + int32_t stash_pickup_distance; // 0x12cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Courier_ReturnStashItems : public CDOTABaseAbility { public: @@ -53005,15 +53680,15 @@ public: }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Courier_ReturnStashItems : public CDOTA_Buff { public: - Vector m_vLocation; // 0x11e8 + Vector m_vLocation; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Courier_GoToSecretShop : public CDOTABaseAbility { public: @@ -53021,7 +53696,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Courier_GoToEnemySecretShop : public CDOTABaseAbility { public: @@ -53029,7 +53704,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Courier_GoToSideShop : public CDOTABaseAbility { public: @@ -53037,7 +53712,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Courier_GoToSideShop2 : public CDOTABaseAbility { public: @@ -53045,7 +53720,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Courier_TransferItems : public CDOTABaseAbility { public: @@ -53053,7 +53728,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Courier_TransferItems_ToOtherPlayer : public CDOTABaseAbility { public: @@ -53061,15 +53736,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Courier_TransferItems : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Courier_TakeStashAndTransferItems : public CDOTABaseAbility { public: @@ -53077,7 +53752,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Courier_Burst : public CDOTABaseAbility { public: @@ -53085,15 +53760,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Courier_Burst : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 + int32_t movement_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Courier_Morph : public CDOTABaseAbility { public: @@ -53101,7 +53776,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Courier_Shield : public CDOTABaseAbility { public: @@ -53109,7 +53784,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Courier_Shield : public CDOTA_Buff { public: @@ -53117,15 +53792,15 @@ public: }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Courier_Passive_Bonus : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_vecTriggers; // 0x11e8 + CUtlVector< CHandle< CBaseEntity > > m_vecTriggers; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Courier_QueuePickupFromStash : public CDOTABaseAbility { public: @@ -53133,7 +53808,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Courier_DequeuePickupFromStash : public CDOTABaseAbility { public: @@ -53141,19 +53816,19 @@ public: }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_FountainPassive : public CDOTA_Buff { public: - int32_t bonus_chance; // 0x11e8 + int32_t bonus_chance; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Fountain_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: @@ -53161,7 +53836,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Roshan_SpellBlock : public CDOTABaseAbility { public: @@ -53169,7 +53844,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Roshan_SpellBlock : public CDOTA_Buff { public: @@ -53177,27 +53852,27 @@ public: }; // Alignment: 3 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Roshan_Teleport : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndexStart; // 0x558 - ParticleIndex_t m_nFXIndexEnd; // 0x55c - ParticleIndex_t m_nFXIndexEndTeam; // 0x560 + ParticleIndex_t m_nFXIndexStart; // 0x568 + ParticleIndex_t m_nFXIndexEnd; // 0x56c + ParticleIndex_t m_nFXIndexEndTeam; // 0x570 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Roshan_Moving : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - CHandle< CBaseEntity > m_hTarget; // 0x11ec - bool m_bFlipped; // 0x11f0 + int32_t movement_speed; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12bc + bool m_bFlipped; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Roshan_Bash : public CDOTABaseAbility { public: @@ -53205,17 +53880,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Roshan_Bash : public CDOTA_Buff { public: - int32_t bash_chance; // 0x11e8 - int32_t bonus_damage; // 0x11ec - float stun_duration; // 0x11f0 + int32_t bash_chance; // 0x12b8 + int32_t bonus_damage; // 0x12bc + float stun_duration; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Roshan_Slam : public CDOTABaseAbility { public: @@ -53223,15 +53898,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Roshan_Slam : public CDOTA_Buff { public: - int32_t slow_amount; // 0x11e8 + int32_t slow_amount; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Roshan_InherentBuffs : public CDOTABaseAbility { public: @@ -53239,7 +53914,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Roshan_InherentBuffs : public CDOTA_Buff { public: @@ -53247,7 +53922,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Roshan_Devotion : public CDOTABaseAbility { public: @@ -53255,15 +53930,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Roshan_DevotionAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Roshan_Devotion : public CDOTA_Buff { public: @@ -53271,7 +53946,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Miniboss_Unyielding_Shield : public CDOTABaseAbility { public: @@ -53279,7 +53954,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Miniboss_Reflect : public CDOTABaseAbility { public: @@ -53287,39 +53962,39 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Miniboss_Reflect : public CDOTA_Buff { public: - int32_t passive_reflection_pct; // 0x11e8 - int32_t passive_reflection_bonus_per_death; // 0x11ec - bool m_bIsDire; // 0x11f0 + int32_t passive_reflection_pct; // 0x12b8 + int32_t passive_reflection_bonus_per_death; // 0x12bc + bool m_bIsDire; // 0x12c0 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Miniboss_UnyieldingShield : public CDOTA_Buff { public: - int32_t damage_absorb; // 0x11e8 - float regen_per_second; // 0x11ec - float regen_bonus_per_death; // 0x11f0 - int32_t m_nDamageAbsorbed; // 0x11f4 - GameTime_t m_timeLastTick; // 0x11f8 - ParticleIndex_t nFXIndex; // 0x11fc + int32_t damage_absorb; // 0x12b8 + float regen_per_second; // 0x12bc + float regen_bonus_per_death; // 0x12c0 + int32_t m_nDamageAbsorbed; // 0x12c4 + GameTime_t m_timeLastTick; // 0x12c8 + ParticleIndex_t nFXIndex; // 0x12cc }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Animation_Attack : public CDOTABaseAbility { public: - float m_flPlaybackRate; // 0x558 - float animation_time; // 0x55c + float m_flPlaybackRate; // 0x568 + float animation_time; // 0x56c }; // Alignment: 0 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Animation_RightClawSwipe : public CDOTA_Ability_Animation_Attack { public: @@ -53327,21 +54002,21 @@ public: }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Animation_RightClawSwipe : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t damage_radius; // 0x11ec - float m_flScalar; // 0x11f0 + int32_t damage; // 0x12b8 + int32_t damage_radius; // 0x12bc + float m_flScalar; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x11f8 + CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x12c8 }; // Alignment: 0 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Animation_LeftClawSwipe : public CDOTA_Ability_Animation_Attack { public: @@ -53349,111 +54024,111 @@ public: }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Animation_LeftClawSwipe : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t damage_radius; // 0x11ec - float m_flScalar; // 0x11f0 + int32_t damage; // 0x12b8 + int32_t damage_radius; // 0x12bc + float m_flScalar; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x11f8 + CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Attached_Unit : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hAttachTarget; // 0x11e8 - bool m_bPhysicalImmune; // 0x11ec - bool m_bMagicImmune; // 0x11ed + CHandle< CBaseEntity > m_hAttachTarget; // 0x12b8 + bool m_bPhysicalImmune; // 0x12bc + bool m_bMagicImmune; // 0x12bd }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Nian_Dive : public CDOTABaseAbility { public: - float m_flPlaybackRate; // 0x558 + float m_flPlaybackRate; // 0x568 }; // Alignment: 33 -// Size: 0x1298 +// Size: 0x1368 class CDOTA_Modifier_Nian_Dive : public CDOTA_Buff { public: - float m_flTotalTimeInAir; // 0x11e8 - float m_flInitialVelocity; // 0x11ec - Vector m_vStartPosition; // 0x11f0 - Vector m_vTargetHorizontalDirection; // 0x11fc - Vector m_vTargetPosition; // 0x1208 - float m_flCurrentTimeHoriz; // 0x1214 - float m_flCurrentTimeVert; // 0x1218 - bool m_bInterrupted; // 0x121c + float m_flTotalTimeInAir; // 0x12b8 + float m_flInitialVelocity; // 0x12bc + Vector m_vStartPosition; // 0x12c0 + Vector m_vTargetHorizontalDirection; // 0x12cc + Vector m_vTargetPosition; // 0x12d8 + float m_flCurrentTimeHoriz; // 0x12e4 + float m_flCurrentTimeVert; // 0x12e8 + bool m_bInterrupted; // 0x12ec private: - [[maybe_unused]] uint8_t __pad121d[0x3]; // 0x121d + [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed public: - float m_flHorizDelayTime; // 0x1220 - float m_flVertDelayTime; // 0x1224 - float m_flLeapSequenceDuration; // 0x1228 - float m_flClawDamageTime; // 0x122c - float m_flPlaybackRate; // 0x1230 - CHandle< CBaseEntity > m_hTarget; // 0x1234 - bool m_bPlayedSwipeSound; // 0x1238 + float m_flHorizDelayTime; // 0x12f0 + float m_flVertDelayTime; // 0x12f4 + float m_flLeapSequenceDuration; // 0x12f8 + float m_flClawDamageTime; // 0x12fc + float m_flPlaybackRate; // 0x1300 + CHandle< CBaseEntity > m_hTarget; // 0x1304 + bool m_bPlayedSwipeSound; // 0x1308 private: - [[maybe_unused]] uint8_t __pad1239[0x3]; // 0x1239 + [[maybe_unused]] uint8_t __pad1309[0x3]; // 0x1309 public: - int32_t pounce_distance; // 0x123c - float pounce_speed; // 0x1240 - float pounce_acceleration; // 0x1244 - int32_t pounce_radius; // 0x1248 - int32_t pounce_damage; // 0x124c - int32_t stun_radius; // 0x1250 - float stun_duration; // 0x1254 - float leash_duration; // 0x1258 - float initial_delay; // 0x125c - float landing_delay; // 0x1260 - float vertical_adjust; // 0x1264 - float vertical_adjust_max_distance; // 0x1268 - float vertical_adjust_min_distance; // 0x126c - int32_t claw_damage; // 0x1270 - int32_t claw_damage_radius; // 0x1274 - float claw_damage_delay; // 0x1278 - float claw_damage_duration; // 0x127c - CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x1280 + int32_t pounce_distance; // 0x130c + float pounce_speed; // 0x1310 + float pounce_acceleration; // 0x1314 + int32_t pounce_radius; // 0x1318 + int32_t pounce_damage; // 0x131c + int32_t stun_radius; // 0x1320 + float stun_duration; // 0x1324 + float leash_duration; // 0x1328 + float initial_delay; // 0x132c + float landing_delay; // 0x1330 + float vertical_adjust; // 0x1334 + float vertical_adjust_max_distance; // 0x1338 + float vertical_adjust_min_distance; // 0x133c + int32_t claw_damage; // 0x1340 + int32_t claw_damage_radius; // 0x1344 + float claw_damage_delay; // 0x1348 + float claw_damage_duration; // 0x134c + CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x1350 }; // Alignment: 11 -// Size: 0x5c8 +// Size: 0x5d8 class CDOTA_Ability_NianCharge : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - bool m_bChargeFinished; // 0x568 - bool m_bPlayedChargeAnimation; // 0x569 - bool m_bPinning; // 0x56a + bool m_bChargeFinished; // 0x578 + bool m_bPlayedChargeAnimation; // 0x579 + bool m_bPinning; // 0x57a private: - [[maybe_unused]] uint8_t __pad056b[0x1]; // 0x56b + [[maybe_unused]] uint8_t __pad057b[0x1]; // 0x57b public: - GameTime_t m_flPinStartTime; // 0x56c - Vector m_vProjectileLocation; // 0x570 - Vector m_vTargetLocation; // 0x57c - CHandle< CBaseEntity > m_hTarget; // 0x588 + GameTime_t m_flPinStartTime; // 0x57c + Vector m_vProjectileLocation; // 0x580 + Vector m_vTargetLocation; // 0x58c + CHandle< CBaseEntity > m_hTarget; // 0x598 private: - [[maybe_unused]] uint8_t __pad058c[0x4]; // 0x58c + [[maybe_unused]] uint8_t __pad059c[0x4]; // 0x59c public: - CUtlVector< CHandle< CBaseEntity > > m_hTrackingProjectileHits; // 0x590 - CUtlVector< CDOTA_Tree* > m_hTrackingProjectileTrees; // 0x5a8 - int32_t nFXIndex; // 0x5c0 - int32_t m_iCurProjectileIndex; // 0x5c4 + CUtlVector< CHandle< CBaseEntity > > m_hTrackingProjectileHits; // 0x5a0 + CUtlVector< CDOTA_Tree* > m_hTrackingProjectileTrees; // 0x5b8 + int32_t nFXIndex; // 0x5d0 + int32_t m_iCurProjectileIndex; // 0x5d4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Nian_Frenzy : public CDOTABaseAbility { public: @@ -53461,51 +54136,51 @@ public: }; // Alignment: 11 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Nian_Frenzy : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t damage_radius; // 0x11ec - int32_t stun_radius; // 0x11f0 - float dive_distance; // 0x11f4 - float initial_rise_time; // 0x11f8 - float right_swipe_time; // 0x11fc - float left_swipe_time; // 0x1200 - float knockdown_duration; // 0x1204 - float stun_duration; // 0x1208 - int32_t m_nTickCounter; // 0x120c - CUtlVector< CHandle< CBaseEntity > > m_hEnemies; // 0x1210 + int32_t damage; // 0x12b8 + int32_t damage_radius; // 0x12bc + int32_t stun_radius; // 0x12c0 + float dive_distance; // 0x12c4 + float initial_rise_time; // 0x12c8 + float right_swipe_time; // 0x12cc + float left_swipe_time; // 0x12d0 + float knockdown_duration; // 0x12d4 + float stun_duration; // 0x12d8 + int32_t m_nTickCounter; // 0x12dc + CUtlVector< CHandle< CBaseEntity > > m_hEnemies; // 0x12e0 }; // Alignment: 16 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Nian_Roar : public CDOTABaseAbility { public: - int32_t base_projectiles; // 0x558 - int32_t max_projectiles; // 0x55c - int32_t projectile_step; // 0x560 - int32_t base_speed; // 0x564 - int32_t speed_step; // 0x568 - int32_t initial_radius; // 0x56c - int32_t end_radius; // 0x570 - int32_t damage; // 0x574 - float base_interval; // 0x578 - float interval_step; // 0x57c - int32_t m_nCastCount; // 0x580 - int32_t m_nProjectiles; // 0x584 - int32_t m_nWaveCount; // 0x588 + int32_t base_projectiles; // 0x568 + int32_t max_projectiles; // 0x56c + int32_t projectile_step; // 0x570 + int32_t base_speed; // 0x574 + int32_t speed_step; // 0x578 + int32_t initial_radius; // 0x57c + int32_t end_radius; // 0x580 + int32_t damage; // 0x584 + float base_interval; // 0x588 + float interval_step; // 0x58c + int32_t m_nCastCount; // 0x590 + int32_t m_nProjectiles; // 0x594 + int32_t m_nWaveCount; // 0x598 private: - [[maybe_unused]] uint8_t __pad058c[0x4]; // 0x58c + [[maybe_unused]] uint8_t __pad059c[0x4]; // 0x59c public: - CountdownTimer m_ctTimer; // 0x590 - float m_flTiming; // 0x5a8 - bool m_bScriptRoar; // 0x5ac + CountdownTimer m_ctTimer; // 0x5a0 + float m_flTiming; // 0x5b8 + bool m_bScriptRoar; // 0x5bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nian_Roar : public CDOTA_Buff { public: @@ -53513,7 +54188,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nian_Invulnerable : public CDOTA_Buff { public: @@ -53521,7 +54196,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nian_Intrinsic : public CDOTA_Buff { public: @@ -53529,7 +54204,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nian_Attachment : public CDOTA_Buff { public: @@ -53537,7 +54212,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nian_Attachment_Regrow : public CDOTA_Buff { public: @@ -53545,7 +54220,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nian_Waiting : public CDOTA_Buff { public: @@ -53553,68 +54228,68 @@ public: }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Animation_TailSpin : public CDOTABaseAbility { public: - float m_flPlaybackRate; // 0x558 - float animation_time; // 0x55c + float m_flPlaybackRate; // 0x568 + float animation_time; // 0x56c }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Animation_TailSpin : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t damage_radius; // 0x11ec - float m_flPlaybackRate; // 0x11f0 + int32_t damage; // 0x12b8 + int32_t damage_radius; // 0x12bc + float m_flPlaybackRate; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x11f8 + CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x12c8 }; // Alignment: 7 -// Size: 0x590 +// Size: 0x5a0 class CDOTA_Ability_Nian_Apocalypse : public CDOTABaseAbility { public: - int32_t area_of_effect; // 0x558 - ParticleIndex_t m_nfxIndex_roar; // 0x55c - float fire_interval; // 0x560 - float delay; // 0x564 - float target_range; // 0x568 + int32_t area_of_effect; // 0x568 + ParticleIndex_t m_nfxIndex_roar; // 0x56c + float fire_interval; // 0x570 + float delay; // 0x574 + float target_range; // 0x578 private: - [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c + [[maybe_unused]] uint8_t __pad057c[0x4]; // 0x57c public: - CountdownTimer m_ctTimer; // 0x570 - float m_flTiming; // 0x588 + CountdownTimer m_ctTimer; // 0x580 + float m_flTiming; // 0x598 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Apocalypse : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x11e8 - float damage; // 0x11ec - float stun_duration; // 0x11f0 + int32_t area_of_effect; // 0x12b8 + float damage; // 0x12bc + float stun_duration; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Knockdown : public CDOTA_Buff { public: - float m_flStandUpDuration; // 0x11e8 - float m_flKnockDownDuration; // 0x11ec - bool m_bDebuff; // 0x11f0 - bool m_bStandingUp; // 0x11f1 + float m_flStandUpDuration; // 0x12b8 + float m_flKnockDownDuration; // 0x12bc + bool m_bDebuff; // 0x12c0 + bool m_bStandingUp; // 0x12c1 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nian_Big_Flinch : public CDOTA_Buff { public: @@ -53622,15 +54297,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Firecracker_Debuff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Nian_GreaterBash : public CDOTABaseAbility { public: @@ -53638,42 +54313,42 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_GreaterBash : public CDOTA_Buff { public: - int32_t chance_pct; // 0x11e8 - float damage; // 0x11ec - float movespeed_duration; // 0x11f0 + int32_t chance_pct; // 0x12b8 + float damage; // 0x12bc + float movespeed_duration; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nian_GreaterBash_Speed : public CDOTA_Buff { public: - int32_t bonus_movespeed_pct; // 0x11e8 + int32_t bonus_movespeed_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_NianCharge : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_NianChargePinned : public CDOTA_Buff { public: - float pinned_damage_amount; // 0x11e8 - float pinned_damage_interval; // 0x11ec + float pinned_damage_amount; // 0x12b8 + float pinned_damage_interval; // 0x12bc }; // Alignment: 0 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Nian_Tail_Swipe : public CDOTA_Ability_Animation_Attack { public: @@ -53681,79 +54356,79 @@ public: }; // Alignment: 15 -// Size: 0x1258 +// Size: 0x1328 class CDOTA_Modifier_Nian_Tail_Swipe_Wall : public CDOTA_Buff { public: - Vector m_vWallStartPosition; // 0x11e8 - Vector m_vWallDirection; // 0x11f4 - Vector m_vWallLeft; // 0x1200 - int32_t m_DamageAmount; // 0x120c - int32_t m_DamageType; // 0x1210 - float speed; // 0x1214 - float starting_width; // 0x1218 - float ending_width; // 0x121c - float stun_duration; // 0x1220 - float fly_duration; // 0x1224 - float fly_distance; // 0x1228 - ParticleIndex_t m_nFXIndex; // 0x122c - GameTime_t m_flWallStartTime; // 0x1230 - float m_flScalar; // 0x1234 - CUtlVector< CHandle< CBaseEntity > > m_EntitiesToExclude; // 0x1238 + Vector m_vWallStartPosition; // 0x12b8 + Vector m_vWallDirection; // 0x12c4 + Vector m_vWallLeft; // 0x12d0 + int32_t m_DamageAmount; // 0x12dc + int32_t m_DamageType; // 0x12e0 + float speed; // 0x12e4 + float starting_width; // 0x12e8 + float ending_width; // 0x12ec + float stun_duration; // 0x12f0 + float fly_duration; // 0x12f4 + float fly_distance; // 0x12f8 + ParticleIndex_t m_nFXIndex; // 0x12fc + GameTime_t m_flWallStartTime; // 0x1300 + float m_flScalar; // 0x1304 + CUtlVector< CHandle< CBaseEntity > > m_EntitiesToExclude; // 0x1308 }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Nian_Tail_Swipe_AirTime : public CDOTA_Buff { public: - float m_flStartZ; // 0x11e8 - float m_flCurTime; // 0x11ec - float m_flOldPitch; // 0x11f0 - QAngle m_qRotation; // 0x11f4 - int32_t m_nRotations; // 0x1200 - float m_flDistance; // 0x1204 + float m_flStartZ; // 0x12b8 + float m_flCurTime; // 0x12bc + float m_flOldPitch; // 0x12c0 + QAngle m_qRotation; // 0x12c4 + int32_t m_nRotations; // 0x12d0 + float m_flDistance; // 0x12d4 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Hurricane_Whirlpool : public CDOTA_Buff { public: - float pull_switch_interval; // 0x11e8 - int32_t pull_speed; // 0x11ec - bool m_bForward; // 0x11f0 + float pull_switch_interval; // 0x12b8 + int32_t pull_speed; // 0x12bc + bool m_bForward; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - ParticleIndex_t m_nfxIndex; // 0x11f4 + ParticleIndex_t m_nfxIndex; // 0x12c4 }; // Alignment: 13 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Nian_Hurricane : public CDOTABaseAbility { public: - int32_t min_distance; // 0x558 - int32_t max_distance; // 0x55c - int32_t torrent_count; // 0x560 - float fire_interval; // 0x564 - float pull_switch_interval; // 0x568 - float game_time_wind_activation; // 0x56c - CountdownTimer m_ctPullTimer; // 0x570 - CountdownTimer m_ctTimer; // 0x588 - float m_flTiming; // 0x5a0 - bool m_bForward; // 0x5a4 - bool m_bUseWind; // 0x5a5 + int32_t min_distance; // 0x568 + int32_t max_distance; // 0x56c + int32_t torrent_count; // 0x570 + float fire_interval; // 0x574 + float pull_switch_interval; // 0x578 + float game_time_wind_activation; // 0x57c + CountdownTimer m_ctPullTimer; // 0x580 + CountdownTimer m_ctTimer; // 0x598 + float m_flTiming; // 0x5b0 + bool m_bForward; // 0x5b4 + bool m_bUseWind; // 0x5b5 private: - [[maybe_unused]] uint8_t __pad05a6[0x2]; // 0x5a6 + [[maybe_unused]] uint8_t __pad05b6[0x2]; // 0x5b6 public: - ParticleIndex_t m_nFXIndex; // 0x5a8 - ParticleIndex_t m_nfxIndex_roar; // 0x5ac + ParticleIndex_t m_nFXIndex; // 0x5b8 + ParticleIndex_t m_nfxIndex_roar; // 0x5bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nian_Torrent_Thinker : public CDOTA_Buff { public: @@ -53761,46 +54436,46 @@ public: }; // Alignment: 7 -// Size: 0x590 +// Size: 0x5a0 class CDOTA_Ability_Nian_Whirlpool : public CDOTABaseAbility { public: - int32_t pool_count; // 0x558 - int32_t min_distance; // 0x55c - int32_t max_distance; // 0x560 - int32_t pull_radius; // 0x564 - float fire_interval; // 0x568 + int32_t pool_count; // 0x568 + int32_t min_distance; // 0x56c + int32_t max_distance; // 0x570 + int32_t pull_radius; // 0x574 + float fire_interval; // 0x578 private: - [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c + [[maybe_unused]] uint8_t __pad057c[0x4]; // 0x57c public: - CountdownTimer m_ctTimer; // 0x570 - float m_flTiming; // 0x588 + CountdownTimer m_ctTimer; // 0x580 + float m_flTiming; // 0x598 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_WhirlpoolThinker : public CDOTA_Buff { public: - int32_t pull_radius; // 0x11e8 + int32_t pull_radius; // 0x12b8 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Nian_Whirlpool_Pull : public CDOTA_Buff { public: - int32_t pull_radius; // 0x11e8 - int32_t pull_speed; // 0x11ec - int32_t radius; // 0x11f0 - int32_t whirlpool_damage; // 0x11f4 - float tick_rate; // 0x11f8 - GameTime_t m_flDamageTick; // 0x11fc - CHandle< CBaseEntity > m_hThinker; // 0x1200 + int32_t pull_radius; // 0x12b8 + int32_t pull_speed; // 0x12bc + int32_t radius; // 0x12c0 + int32_t whirlpool_damage; // 0x12c4 + float tick_rate; // 0x12c8 + GameTime_t m_flDamageTick; // 0x12cc + CHandle< CBaseEntity > m_hThinker; // 0x12d0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Nian_Eruption : public CDOTABaseAbility { public: @@ -53808,27 +54483,27 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Nian_EruptionPendingThinker : public CDOTA_Buff { public: - int32_t tick_count; // 0x11e8 - int32_t beam_radius; // 0x11ec - int32_t m_nTickCount; // 0x11f0 + int32_t tick_count; // 0x12b8 + int32_t beam_radius; // 0x12bc + int32_t m_nTickCount; // 0x12c0 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Nian_EruptionThinker : public CDOTA_Buff { public: - int32_t explosion_radius; // 0x11e8 - float damage_interval; // 0x11ec - int32_t damage; // 0x11f0 + int32_t explosion_radius; // 0x12b8 + float damage_interval; // 0x12bc + int32_t damage; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Nian_Sigils : public CDOTABaseAbility { public: @@ -53836,36 +54511,36 @@ public: }; // Alignment: 4 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Nian_Waterball : public CDOTA_Buff { public: - int32_t trail_damage_per_second; // 0x11e8 - int32_t trail_damage_radius; // 0x11ec - CUtlVector< int32 > m_vFXIndices; // 0x11f0 - CUtlVector< Vector > m_vLocations; // 0x1208 + int32_t trail_damage_per_second; // 0x12b8 + int32_t trail_damage_radius; // 0x12bc + CUtlVector< int32 > m_vFXIndices; // 0x12c0 + CUtlVector< Vector > m_vLocations; // 0x12d8 }; // Alignment: 2 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_Nian_Waterball : public CDOTABaseAbility { public: - CountdownTimer m_ctTimer; // 0x558 - CUtlVector< CHandle< CBaseEntity > > m_hEntities; // 0x570 + CountdownTimer m_ctTimer; // 0x568 + CUtlVector< CHandle< CBaseEntity > > m_hEntities; // 0x580 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nian_Damage_Reflection : public CDOTA_Buff { public: - GameTime_t m_flReflectionStartTime; // 0x11e8 - float m_flReflectionAmount; // 0x11ec + GameTime_t m_flReflectionStartTime; // 0x12b8 + float m_flReflectionAmount; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Nian_Flag_Trap : public CDOTA_Item { public: @@ -53873,24 +54548,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nian_Flag_Trap_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nian_Flag_Trapped : public CDOTA_Buff { public: - int32_t bonus_spell_damage_pct; // 0x11e8 + int32_t bonus_spell_damage_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Ability_Firework_Mine : public CDOTA_Item { public: @@ -53898,17 +54573,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Firework_Mine : public CDOTA_Buff { public: - int32_t damage_radius; // 0x11e8 - int32_t trigger_radius; // 0x11ec - int32_t damage; // 0x11f0 + int32_t damage_radius; // 0x12b8 + int32_t trigger_radius; // 0x12bc + int32_t damage; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_JumpBoots : public CDOTA_Item { public: @@ -53916,61 +54591,61 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_JumpBootsIntrinsic : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 + int32_t bonus_movement_speed; // 0x12b8 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_JumpBoots : public CDOTA_Buff { public: - Vector m_vDirection; // 0x11e8 - float m_flStartZ; // 0x11f4 - float m_flCurTime; // 0x11f8 - int32_t push_length; // 0x11fc + Vector m_vDirection; // 0x12b8 + float m_flStartZ; // 0x12c4 + float m_flCurTime; // 0x12c8 + int32_t push_length; // 0x12cc }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Nian_Leap : public CDOTABaseAbility { public: - float m_flPlaybackRate; // 0x558 + float m_flPlaybackRate; // 0x568 }; // Alignment: 17 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_Nian_Leap : public CDOTA_Buff { public: - float m_flTotalTimeInAir; // 0x11e8 - float m_flInitialVelocity; // 0x11ec - Vector m_vStartPosition; // 0x11f0 - Vector m_vTargetHorizontalDirection; // 0x11fc - Vector m_vTargetPosition; // 0x1208 - float m_flCurrentTimeHoriz; // 0x1214 - float m_flCurrentTimeVert; // 0x1218 - bool m_bInterrupted; // 0x121c + float m_flTotalTimeInAir; // 0x12b8 + float m_flInitialVelocity; // 0x12bc + Vector m_vStartPosition; // 0x12c0 + Vector m_vTargetHorizontalDirection; // 0x12cc + Vector m_vTargetPosition; // 0x12d8 + float m_flCurrentTimeHoriz; // 0x12e4 + float m_flCurrentTimeVert; // 0x12e8 + bool m_bInterrupted; // 0x12ec private: - [[maybe_unused]] uint8_t __pad121d[0x3]; // 0x121d + [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed public: - float m_flHorizDelayTime; // 0x1220 - float m_flVertDelayTime; // 0x1224 - float m_flLeapSequenceDuration; // 0x1228 - float m_flPlaybackRate; // 0x122c - int32_t pounce_distance; // 0x1230 - float pounce_speed; // 0x1234 - float pounce_acceleration; // 0x1238 - float initial_delay; // 0x123c - float landing_delay; // 0x1240 + float m_flHorizDelayTime; // 0x12f0 + float m_flVertDelayTime; // 0x12f4 + float m_flLeapSequenceDuration; // 0x12f8 + float m_flPlaybackRate; // 0x12fc + int32_t pounce_distance; // 0x1300 + float pounce_speed; // 0x1304 + float pounce_acceleration; // 0x1308 + float initial_delay; // 0x130c + float landing_delay; // 0x1310 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Vermillion_Robe : public CDOTA_Item { public: @@ -53978,7 +54653,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Vermillion_Robe : public CDOTA_Item { public: @@ -53986,44 +54661,45 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Vermillion_Robe_Flames : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float damage_per_health_missing; // 0x11ec - float delay; // 0x11f0 + int32_t radius; // 0x12b8 + float damage_per_health_missing; // 0x12bc + float delay; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Vermillion_Robe : public CDOTA_Buff_Item { public: - int32_t mana_regen_pct; // 0x11e8 - int32_t move_speed_bonus; // 0x11ec - int32_t bonus_stats; // 0x11f0 + int32_t mana_regen_pct; // 0x12b8 + int32_t move_speed_bonus; // 0x12bc + int32_t bonus_stats; // 0x12c0 }; -// Alignment: 2 -// Size: 0x1208 +// Alignment: 3 +// Size: 0x12d8 class CDOTA_Modifier_Warlock_FatalBonds : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_FatalBondsEntities; // 0x11e8 - int32_t damage_share_percentage; // 0x1200 + CUtlVector< CHandle< CBaseEntity > > m_FatalBondsEntities; // 0x12b8 + int32_t damage_share_percentage; // 0x12d0 + float imp_duration; // 0x12d4 }; -// Alignment: 0 -// Size: 0x558 +// Alignment: 1 +// Size: 0x580 class CDOTA_Ability_Warlock_Fatal_Bonds : public CDOTABaseAbility { public: - // No members available + CUtlVector< CHandle< CBaseEntity > > m_FatalBondsEntities; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Warlock_Shadow_Word : public CDOTABaseAbility { public: @@ -54031,70 +54707,70 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Warlock_Shadow_Word : public CDOTA_Buff { public: - float tick_interval; // 0x11e8 - int32_t damage; // 0x11ec - int32_t shard_movement_speed_pct; // 0x11f0 + float tick_interval; // 0x12b8 + int32_t damage; // 0x12bc + int32_t shard_movement_speed_pct; // 0x12c0 }; // Alignment: 16 -// Size: 0x5d0 +// Size: 0x5e0 class CDOTA_Ability_Warlock_Upheaval : public CDOTABaseAbility { public: - Vector m_vPosition; // 0x558 - float aoe; // 0x564 - int32_t slow_per_second; // 0x568 - int32_t aspd_per_second; // 0x56c - int32_t max_slow; // 0x570 - int32_t damage_per_second; // 0x574 - int32_t max_damage; // 0x578 - float damage_tick_interval; // 0x57c - CountdownTimer m_timer; // 0x580 - CountdownTimer m_shardTimer; // 0x598 - float duration; // 0x5b0 - GameTime_t m_flElapsedTime; // 0x5b4 - float m_flCurrentSlow; // 0x5b8 - ParticleIndex_t m_nFXIndex; // 0x5bc + Vector m_vPosition; // 0x568 + float aoe; // 0x574 + int32_t slow_per_second; // 0x578 + int32_t aspd_per_second; // 0x57c + int32_t max_slow; // 0x580 + int32_t damage_per_second; // 0x584 + int32_t max_damage; // 0x588 + float damage_tick_interval; // 0x58c + CountdownTimer m_timer; // 0x590 + CountdownTimer m_shardTimer; // 0x5a8 + float duration; // 0x5c0 + GameTime_t m_flElapsedTime; // 0x5c4 + float m_flCurrentSlow; // 0x5c8 + ParticleIndex_t m_nFXIndex; // 0x5cc private: - [[maybe_unused]] uint8_t __pad05c0[0x8]; // 0x5c0 + [[maybe_unused]] uint8_t __pad05d0[0x8]; // 0x5d0 public: - bool m_bTargetCast; // 0x5c8 + bool m_bTargetCast; // 0x5d8 private: - [[maybe_unused]] uint8_t __pad05c9[0x3]; // 0x5c9 + [[maybe_unused]] uint8_t __pad05d9[0x3]; // 0x5d9 public: - CHandle< CBaseEntity > m_hTarget; // 0x5cc + CHandle< CBaseEntity > m_hTarget; // 0x5dc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Warlock_Upheaval : public CDOTA_Buff { public: - int32_t m_iSlow; // 0x11e8 + int32_t m_iSlow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Warlock_Upheaval_Ally : public CDOTA_Buff { public: - int32_t m_iAttackSpeed; // 0x11e8 + int32_t m_iAttackSpeed; // 0x12b8 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Warlock_RainOfChaos : public CDOTABaseAbility { public: - int32_t aoe; // 0x558 + int32_t aoe; // 0x568 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Death_Trigger : public CDOTA_Buff { public: @@ -54102,30 +54778,31 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Thinker : public CDOTA_Buff { public: - float stun_duration; // 0x11e8 - bool bHasScepter; // 0x11ec + float stun_duration; // 0x12b8 + bool bHasScepter; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - int32_t aoe; // 0x11f0 - int32_t m_iCount; // 0x11f4 + int32_t aoe; // 0x12c0 + int32_t m_iCount; // 0x12c4 }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Golem : public CDOTA_Buff { public: - int32_t bonus_magic_resistance; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t bonus_magic_resistance; // 0x12b8 + int32_t bonus_armor; // 0x12bc + int32_t bonus_slow_resistance; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Warlock_Golem_Flaming_Fists : public CDOTABaseAbility { public: @@ -54133,16 +54810,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Warlock_Golem_Flaming_Fists : public CDOTA_Buff { public: - float damage; // 0x11e8 - int32_t radius; // 0x11ec + float damage; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Warlock_Golem_Permanent_Immolation : public CDOTABaseAbility { public: @@ -54150,48 +54827,52 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Warlock_Golem_Permanent_Immolation : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Warlock_Golem_Permanent_Immolation_Debuff : public CDOTA_Buff { public: - int32_t aura_damage; // 0x11e8 + int32_t aura_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Warlock_Imp_Explode : public CDOTABaseAbility { public: // No members available }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 4 +// Size: 0x12c8 class CDOTA_Modifier_Warlock_Imp_AutoAttack : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hBestTarget; // 0x11e8 + CHandle< CBaseEntity > m_hBestTarget; // 0x12b8 + float bonus_hp; // 0x12bc + float bonus_dmg; // 0x12c0 + float bonus_movespeed; // 0x12c4 }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Warlock_Imp_ExplodeThinker : public CDOTA_Buff { public: - float explosion_radius; // 0x11e8 - float explosion_damage; // 0x11ec + float explosion_radius; // 0x12b8 + float explosion_dmg; // 0x12bc + float explosion_nonhero_reduce; // 0x12c0 }; // Alignment: 0 -// Size: 0x758 +// Size: 0x768 class CDOTA_Beastmaster_Axe : public CBaseAnimatingActivity { public: @@ -54199,52 +54880,52 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Beastmaster_WildAxes : public CDOTABaseAbility { public: - int32_t axe_damage; // 0x558 + int32_t axe_damage; // 0x568 }; // Alignment: 19 -// Size: 0x12b0 +// Size: 0x1380 class CDOTA_Modifier_Beastmaster_WildAxes : public CDOTA_Buff { public: - Vector m_vLeftControl; // 0x11e8 - Vector m_vRightControl; // 0x11f4 - Vector m_vTargetLoc; // 0x1200 - Vector m_vSourceLoc; // 0x120c - float m_flDuration; // 0x1218 - GameTime_t m_flDieTime; // 0x121c - bool m_bReturning; // 0x1220 - bool m_bCatchingAxes; // 0x1221 + Vector m_vLeftControl; // 0x12b8 + Vector m_vRightControl; // 0x12c4 + Vector m_vTargetLoc; // 0x12d0 + Vector m_vSourceLoc; // 0x12dc + float m_flDuration; // 0x12e8 + GameTime_t m_flDieTime; // 0x12ec + bool m_bReturning; // 0x12f0 + bool m_bCatchingAxes; // 0x12f1 private: - [[maybe_unused]] uint8_t __pad1222[0x6]; // 0x1222 + [[maybe_unused]] uint8_t __pad12f2[0x6]; // 0x12f2 public: - CUtlVector< CHandle< CBaseEntity > > m_hAxes; // 0x1228 - ParticleIndex_t m_nAxeFXIndex[2]; // 0x1240 - CUtlVector< CHandle< CBaseEntity > > m_hHitList[2]; // 0x1248 - int32_t radius; // 0x1278 - int32_t spread; // 0x127c - int32_t axe_damage; // 0x1280 - float duration; // 0x1284 - float min_throw_duration; // 0x1288 - float max_throw_duration; // 0x128c - CUtlVector< CHandle< CBaseEntity > > m_vecUniqueHitList; // 0x1290 - bool m_bHitInvisibleHero; // 0x12a8 + CUtlVector< CHandle< CBaseEntity > > m_hAxes; // 0x12f8 + ParticleIndex_t m_nAxeFXIndex[2]; // 0x1310 + CUtlVector< CHandle< CBaseEntity > > m_hHitList[2]; // 0x1318 + int32_t radius; // 0x1348 + int32_t spread; // 0x134c + int32_t axe_damage; // 0x1350 + float duration; // 0x1354 + float min_throw_duration; // 0x1358 + float max_throw_duration; // 0x135c + CUtlVector< CHandle< CBaseEntity > > m_vecUniqueHitList; // 0x1360 + bool m_bHitInvisibleHero; // 0x1378 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Beastmaster_Axe_Stack_Counter : public CDOTA_Buff { public: - float damage_amp; // 0x11e8 + float damage_amp; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Beastmaster_Axe_Invulnerable : public CDOTA_Buff { public: @@ -54252,33 +54933,41 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Beastmaster_CallOfTheWild_Boar : public CDOTABaseAbility { public: // No members available }; -// Alignment: 0 -// Size: 0x558 +// Alignment: 2 +// Size: 0x588 class CDOTA_Ability_Beastmaster_CallOfTheWild_Hawk : public CDOTABaseAbility { public: - // No members available + CUtlVector< CHandle< CBaseEntity > > m_HawkList; // 0x568 + float m_flRotation; // 0x580 }; -// Alignment: 3 -// Size: 0x1200 +// Alignment: 10 +// Size: 0x12e0 class CDOTA_Modifier_Beastmaster_CallOfTheWild_Hawk : public CDOTA_Buff { public: - Vector m_vDestination; // 0x11e8 - CHandle< CBaseEntity > m_hTarget; // 0x11f4 - int32_t m_iTickCount; // 0x11f8 + CHandle< CBaseEntity > m_hOwner; // 0x12b8 + int32_t attack_radius; // 0x12bc + GameTime_t m_flLastAttack; // 0x12c0 + float roaming_seconds_per_rotation; // 0x12c4 + int32_t roaming_radius; // 0x12c8 + float attack_interval; // 0x12cc + int32_t min_move_speed; // 0x12d0 + int32_t max_move_speed; // 0x12d4 + int32_t m_iPreviousHawkCount; // 0x12d8 + float m_flRotation; // 0x12dc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_CallOfTheWild_Boar_Poison : public CDOTABaseAbility { public: @@ -54286,23 +54975,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_CallOfTheWild_Boar_BonusDamage : public CDOTA_Buff { public: - float boar_bonus_damage; // 0x11e8 + float boar_bonus_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_CallOfTheWild_Boar_PoisonBase : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_CallOfTheWild_Boar_Poison : public CDOTA_Modifier_CallOfTheWild_Boar_PoisonBase { public: @@ -54310,16 +54999,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_CallOfTheWild_Boar_PoisonEffect : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 - int32_t movement_speed; // 0x11ec + int32_t attack_speed; // 0x12b8 + int32_t movement_speed; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Beastmaster_InnerBeast : public CDOTABaseAbility { public: @@ -54327,15 +55016,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Beastmaster_InnerBeast_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Beastmaster_InnerBeast : public CDOTA_Buff { public: @@ -54343,48 +55032,48 @@ public: }; // Alignment: 9 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_Beastmaster_PrimalRoar : public CDOTABaseAbility { public: - float duration; // 0x558 - float slow_duration; // 0x55c - int32_t side_damage; // 0x560 - int32_t damage_radius; // 0x564 - int32_t path_width; // 0x568 - float push_duration; // 0x56c - int32_t push_distance; // 0x570 - int32_t damage; // 0x574 - float movement_speed_duration; // 0x578 + float duration; // 0x568 + float slow_duration; // 0x56c + int32_t side_damage; // 0x570 + int32_t damage_radius; // 0x574 + int32_t path_width; // 0x578 + float push_duration; // 0x57c + int32_t push_distance; // 0x580 + int32_t damage; // 0x584 + float movement_speed_duration; // 0x588 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Beastmaster_PrimalRoar_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x11e8 - int32_t slow_attack_speed_pct; // 0x11ec + int32_t slow_movement_speed_pct; // 0x12b8 + int32_t slow_attack_speed_pct; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Beastmaster_PrimalRoar_Speed : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 + int32_t movement_speed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Beastmaster_PrimalRoar_Push : public CDOTA_Buff { public: - Vector m_vVelocity; // 0x11e8 + Vector m_vVelocity; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Beastmaster_Mark_Of_The_Beast : public CDOTABaseAbility { public: @@ -54392,7 +55081,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Beastmaster_Mark_Of_The_Beast : public CDOTA_Buff { public: @@ -54400,7 +55089,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_CallOfTheWild_Hawk_Reveal : public CDOTA_Buff { public: @@ -54408,7 +55097,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Beastmaster_Hawk_Dive : public CDOTABaseAbility { public: @@ -54416,33 +55105,63 @@ public: }; // Alignment: 13 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Beastmaster_Hawk_Dive : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - float m_flPredictedTotalTime; // 0x11ec - Vector m_vStartPosition; // 0x11f0 - float m_flCurrentTimeHoriz; // 0x11fc - float m_flCurrentTimeVert; // 0x1200 - bool m_bHorizontalMotionInterrupted; // 0x1204 - bool m_bDamageApplied; // 0x1205 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + float m_flPredictedTotalTime; // 0x12bc + Vector m_vStartPosition; // 0x12c0 + float m_flCurrentTimeHoriz; // 0x12cc + float m_flCurrentTimeVert; // 0x12d0 + bool m_bHorizontalMotionInterrupted; // 0x12d4 + bool m_bDamageApplied; // 0x12d5 private: - [[maybe_unused]] uint8_t __pad1206[0x2]; // 0x1206 + [[maybe_unused]] uint8_t __pad12d6[0x2]; // 0x12d6 public: - Vector m_vHorizontalVelocity; // 0x1208 - Vector m_vLastKnownTargetPosition; // 0x1214 - float m_flInitialVelocityZ; // 0x1220 - bool m_bDone; // 0x1224 + Vector m_vHorizontalVelocity; // 0x12d8 + Vector m_vLastKnownTargetPosition; // 0x12e4 + float m_flInitialVelocityZ; // 0x12f0 + bool m_bDone; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad1225[0x3]; // 0x1225 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - int32_t radius; // 0x1228 - int32_t toss_damage; // 0x122c + int32_t dive_damage; // 0x12f8 + float dive_root_duration; // 0x12fc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 +class CDOTA_Ability_Beastmaster_Hawk_Perch : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 6 +// Size: 0x12d8 +class CDOTA_Modifier_Beastmaster_Hawk_Perch_Flight : public CDOTA_Buff +{ +public: + int32_t perch_flight_height; // 0x12b8 + int32_t perch_tree_height; // 0x12bc + int32_t flight_speed; // 0x12c0 + float m_flZDelta; // 0x12c4 + Vector m_vStart; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12d4 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Beastmaster_Hawk_Perch_Perching : public CDOTA_Buff +{ +public: + int32_t perching_tree_height; // 0x12b8 + CHandle< CBaseEntity > m_hTree; // 0x12bc +}; + +// Alignment: 0 +// Size: 0x568 class CDOTA_Ability_Beastmaster_DrumsOfSlom : public CDOTABaseAbility { public: @@ -54450,26 +55169,26 @@ public: }; // Alignment: 12 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Beastmaster_DrumsOfSlom : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - int32_t radius; // 0x11ec - int32_t max_stacks; // 0x11f0 - float base_damage; // 0x11f4 - int32_t heal_pct; // 0x11f8 - int32_t creep_heal_pct; // 0x11fc - int32_t iCurrentAttacksAtMinInterval; // 0x1200 - float stack_decay_time; // 0x1204 - float max_drum_hit_interval; // 0x1208 - float min_drum_hit_interval; // 0x120c - GameTime_t m_flLastStackChangeTime; // 0x1210 - GameTime_t m_flLastDrumHitTime; // 0x1214 + int32_t aura_radius; // 0x12b8 + int32_t radius; // 0x12bc + int32_t max_stacks; // 0x12c0 + float base_damage; // 0x12c4 + int32_t heal_pct; // 0x12c8 + int32_t creep_heal_pct; // 0x12cc + int32_t iCurrentAttacksAtMinInterval; // 0x12d0 + float stack_decay_time; // 0x12d4 + float max_drum_hit_interval; // 0x12d8 + float min_drum_hit_interval; // 0x12dc + GameTime_t m_flLastStackChangeTime; // 0x12e0 + GameTime_t m_flLastDrumHitTime; // 0x12e4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Beastmaster_DrumsOfSlom_Aura : public CDOTA_Buff { public: @@ -54477,7 +55196,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Beastmaster_DrumsOfSlom_Stop : public CDOTABaseAbility { public: @@ -54485,7 +55204,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Beastmaster : public CDOTABaseAbility { public: @@ -54493,7 +55212,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Beastmaster_2 : public CDOTABaseAbility { public: @@ -54501,7 +55220,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Beastmaster_3 : public CDOTABaseAbility { public: @@ -54509,7 +55228,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Beastmaster_4 : public CDOTABaseAbility { public: @@ -54517,7 +55236,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Beastmaster_5 : public CDOTABaseAbility { public: @@ -54525,7 +55244,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_5_Aura : public CDOTA_Buff { public: @@ -54533,15 +55252,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_5 : public CDOTA_Buff { public: - int32_t bonus_ms; // 0x11e8 + int32_t bonus_ms; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Beastmaster_6 : public CDOTABaseAbility { public: @@ -54549,7 +55268,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_6_Aura : public CDOTA_Buff { public: @@ -54557,15 +55276,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_6 : public CDOTA_Buff { public: - int32_t bonus_hp; // 0x11e8 + int32_t bonus_hp; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Beastmaster_7 : public CDOTABaseAbility { public: @@ -54573,7 +55292,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Beastmaster_8 : public CDOTABaseAbility { public: @@ -54581,7 +55300,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Beastmaster_9 : public CDOTABaseAbility { public: @@ -54589,48 +55308,48 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_QueenOfPain_ScreamOfPain : public CDOTABaseAbility { public: - int32_t damage; // 0x558 + int32_t damage; // 0x568 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_QueenOfPain_ScreamOfPain_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x11e8 + Vector m_vOriginal; // 0x12b8 }; // Alignment: 1 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_QueenOfPain_ShadowStrike : public CDOTABaseAbility { public: - Vector projectile_speed; // 0x558 + Vector projectile_speed; // 0x568 }; // Alignment: 7 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_QueenOfPain_ShadowStrike : public CDOTA_Buff { public: - int32_t duration_damage; // 0x11e8 - int32_t duration_heal; // 0x11ec - int32_t movement_slow; // 0x11f0 + int32_t duration_damage; // 0x12b8 + int32_t duration_heal; // 0x12bc + int32_t movement_slow; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CountdownTimer m_SlowInterval; // 0x11f8 - float m_flSlowStep; // 0x1210 - float m_flSlowStepStep; // 0x1214 - float attack_buff_duration; // 0x1218 + CountdownTimer m_SlowInterval; // 0x12c8 + float m_flSlowStep; // 0x12e0 + float m_flSlowStepStep; // 0x12e4 + float attack_buff_duration; // 0x12e8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_QueenOfPain_Blink : public CDOTABaseAbility { public: @@ -54638,32 +55357,41 @@ public: }; // Alignment: 6 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_QueenOfPain_Arcana : public CDOTA_Buff { public: - CUtlOrderedMap< PlayerID_t, bool > m_vecHitPlayers; // 0x11e8 - CUtlOrderedMap< PlayerID_t, bool > m_vecKilledPlayers; // 0x1210 - GameTime_t m_flLastSonicWaveCast; // 0x1238 - bool m_bSpeechComplete; // 0x123c - bool m_bMessageComplete; // 0x123d - bool m_bIsMeleeAttack; // 0x123e + CUtlOrderedMap< PlayerID_t, bool > m_vecHitPlayers; // 0x12b8 + CUtlOrderedMap< PlayerID_t, bool > m_vecKilledPlayers; // 0x12e0 + GameTime_t m_flLastSonicWaveCast; // 0x1308 + bool m_bSpeechComplete; // 0x130c + bool m_bMessageComplete; // 0x130d + bool m_bIsMeleeAttack; // 0x130e }; // Alignment: 5 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_QueenOfPain_SonicWave : public CDOTABaseAbility { public: - GameTime_t m_fStartTime; // 0x558 - float m_fTotalTime; // 0x55c - ParticleIndex_t m_nFXIndex; // 0x560 - int32_t starting_aoe; // 0x564 - int32_t final_aoe; // 0x568 + GameTime_t m_fStartTime; // 0x568 + float m_fTotalTime; // 0x56c + ParticleIndex_t m_nFXIndex; // 0x570 + int32_t starting_aoe; // 0x574 + int32_t final_aoe; // 0x578 +}; + +// Alignment: 2 +// Size: 0x12f0 +class CDOTA_Modifier_QueenOfPain_SonicWave_Knockback : public CDOTA_Modifier_Knockback +{ +public: + float tick_rate; // 0x12e8 + int32_t damage; // 0x12ec }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_QueenOfPain_SonicWave_Effect : public CDOTA_Buff { public: @@ -54671,7 +55399,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_QueenOfPain_SonicWave_Delay : public CDOTA_Buff { public: @@ -54679,7 +55407,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_QueenOfPain_Arcana_Kill_Effect : public CDOTA_Buff { public: @@ -54687,7 +55415,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Venomancer_PoisonNova : public CDOTABaseAbility { public: @@ -54695,7 +55423,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Venomancer_PlagueWard : public CDOTABaseAbility { public: @@ -54703,56 +55431,56 @@ public: }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Venomancer_VenomousGale : public CDOTABaseAbility { public: - CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x558 - float duration; // 0x55c + CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x568 + float duration; // 0x56c }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Venomancer_VenomousGale : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 - int32_t tick_damage; // 0x11ec - float tick_interval; // 0x11f0 - float duration; // 0x11f4 + int32_t movement_slow; // 0x12b8 + int32_t tick_damage; // 0x12bc + float tick_interval; // 0x12c0 + float duration; // 0x12c4 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Venomancer_PoisonSting : public CDOTABaseAbility { public: - int32_t radius; // 0x558 + int32_t radius; // 0x568 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Venomancer_PoisonSting_Applier : public CDOTA_Buff { public: - float duration; // 0x11e8 - int32_t damage; // 0x11ec + float duration; // 0x12b8 + int32_t damage; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Venomancer_PoisonStingBase : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x11e8 - int32_t movement_speed; // 0x11ec - int32_t m_nTicksRemaining; // 0x11f0 - float m_flAttackDamage; // 0x11f4 - int32_t hp_regen_reduction; // 0x11f8 + int32_t m_iDamage; // 0x12b8 + int32_t movement_speed; // 0x12bc + int32_t m_nTicksRemaining; // 0x12c0 + float m_flAttackDamage; // 0x12c4 + int32_t hp_regen_reduction; // 0x12c8 }; // Alignment: 0 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Venomancer_PoisonSting : public CDOTA_Modifier_Venomancer_PoisonStingBase { public: @@ -54760,36 +55488,36 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Venomancer_PoisonStingWard : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x11e8 - int32_t movement_speed; // 0x11ec - int32_t hp_regen_reduction; // 0x11f0 - int32_t m_nTicksRemaining; // 0x11f4 - float m_flAttackDamage; // 0x11f8 + int32_t m_iDamage; // 0x12b8 + int32_t movement_speed; // 0x12bc + int32_t hp_regen_reduction; // 0x12c0 + int32_t m_nTicksRemaining; // 0x12c4 + float m_flAttackDamage; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Plague_Wards_Bonus : public CDOTA_Buff { public: - int32_t ward_hp; // 0x11e8 - int32_t ward_damage; // 0x11ec + int32_t ward_hp; // 0x12b8 + int32_t ward_damage; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Plague_Wards_Bonus_Range : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_PoisonNova_Intrinsic : public CDOTA_Buff { public: @@ -54797,30 +55525,30 @@ public: }; // Alignment: 7 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_PoisonNova_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x11e8 - GameTime_t m_fLastThink; // 0x11ec - CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x11f0 - int32_t speed; // 0x1208 - int32_t radius; // 0x120c - int32_t start_radius; // 0x1210 - float duration; // 0x1214 + float m_fCurRadius; // 0x12b8 + GameTime_t m_fLastThink; // 0x12bc + CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x12c0 + int32_t speed; // 0x12d8 + int32_t radius; // 0x12dc + int32_t start_radius; // 0x12e0 + float duration; // 0x12e4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Venomancer_PoisonNova : public CDOTA_Buff { public: - float damage; // 0x11e8 - float magic_resist; // 0x11ec + float damage; // 0x12b8 + float magic_resist; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Holdout_ScourgeWard : public CDOTABaseAbility { public: @@ -54828,7 +55556,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Venomancer_NoxiousPlague : public CDOTABaseAbility { public: @@ -54836,55 +55564,55 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Venomancer_NoxiousPlaguePrimary : public CDOTA_Buff { public: - float health_damage; // 0x11e8 - float debuff_radius; // 0x11ec + float health_damage; // 0x12b8 + float debuff_radius; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Venomancer_NoxiousPlague_Slow : public CDOTA_Buff { public: - float attack_slow; // 0x11e8 - float movement_slow_max; // 0x11ec - float debuff_radius; // 0x11f0 + float attack_slow; // 0x12b8 + float movement_slow_max; // 0x12bc + float debuff_radius; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Venomancer_NoxiousPlagueSecondary : public CDOTA_Buff { public: - float health_damage; // 0x11e8 - float attack_slow; // 0x11ec - float movement_slow_max; // 0x11f0 + float health_damage; // 0x12b8 + float attack_slow; // 0x12bc + float movement_slow_max; // 0x12c0 }; // Alignment: 1 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Venomancer_Latent_Poison : public CDOTABaseAbility { public: - Vector projectile_speed; // 0x558 + Vector projectile_speed; // 0x568 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Venomancer_Latent_Poison : public CDOTA_Buff { public: - int32_t duration_damage; // 0x11e8 - int32_t movement_slow; // 0x11ec - int32_t explosion_damage; // 0x11f0 - float explosion_stun_duration; // 0x11f4 + int32_t duration_damage; // 0x12b8 + int32_t movement_slow; // 0x12bc + int32_t explosion_damage; // 0x12c0 + float explosion_stun_duration; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_FacelessVoid_Backtrack : public CDOTABaseAbility { public: @@ -54892,15 +55620,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FacelessVoid_Backtrack : public CDOTA_Buff { public: - int32_t dodge_chance_pct; // 0x11e8 + int32_t dodge_chance_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_FacelessVoid_TimeLock : public CDOTABaseAbility { public: @@ -54908,24 +55636,24 @@ public: }; // Alignment: 10 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_FacelessVoid_TimeLock : public CDOTA_Buff { public: - float duration; // 0x11e8 - float duration_creep; // 0x11ec - float delay; // 0x11f0 - int32_t chance_pct; // 0x11f4 - int32_t bonus_damage; // 0x11f8 - GameTime_t last_attack_time; // 0x11fc - CUtlVector< int16 > m_ProcAttackRecords; // 0x1200 - GameTime_t apply_activity_modifier_until; // 0x1218 - GameTime_t disable_activity_modifier_until; // 0x121c - CUtlOrderedMap< CHandle< CDOTA_BaseNPC >, int32 > m_mapTargets; // 0x1220 + float duration; // 0x12b8 + float duration_creep; // 0x12bc + float delay; // 0x12c0 + int32_t chance_pct; // 0x12c4 + int32_t bonus_damage; // 0x12c8 + GameTime_t last_attack_time; // 0x12cc + CUtlVector< int16 > m_ProcAttackRecords; // 0x12d0 + GameTime_t apply_activity_modifier_until; // 0x12e8 + GameTime_t disable_activity_modifier_until; // 0x12ec + CUtlOrderedMap< CHandle< CDOTA_BaseNPC >, int32 > m_mapTargets; // 0x12f0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_FacelessVoid_TimeLock_Freeze : public CDOTA_Modifier_Stunned { public: @@ -54933,7 +55661,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_FacelessVoid_Timelock_TimeWalk_Proc_Marker : public CDOTA_Buff { public: @@ -54941,7 +55669,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_FacelessVoid_Timelock_Basic_Proc_Marker : public CDOTA_Buff { public: @@ -54949,29 +55677,46 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_FacelessVoid_TimeDilation : public CDOTABaseAbility { public: // No members available }; +// Alignment: 0 +// Size: 0x12b8 +class CDOTA_Modifier_FacelessVoid_TimeDilation_Slowmo : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_FacelessVoid_TimeDilation_Distortion : public CDOTA_Buff +{ +public: + float slow_distance_min; // 0x12b8 + float slow_distance_max; // 0x12bc +}; + // Alignment: 7 -// Size: 0x1338 +// Size: 0x1408 class CDOTA_Modifier_FacelessVoid_TimeDilation_Slow : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t m_nAffectedAbilities; // 0x11ec - GameTime_t m_flLastDamageTime; // 0x11f0 - int32_t slow; // 0x11f4 - int32_t cooldown_percentage; // 0x11f8 - int32_t damage_per_stack; // 0x11fc - int32_t base_damage; // 0x1200 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t m_nAffectedAbilities; // 0x12bc + GameTime_t m_flLastDamageTime; // 0x12c0 + int32_t slow; // 0x12c4 + int32_t cooldown_percentage; // 0x12c8 + int32_t damage_per_stack; // 0x12cc + int32_t base_damage; // 0x12d0 }; // Alignment: 0 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_FacelessVoid_TimeWalk_Tracker : public CDOTA_Buff { public: @@ -54979,64 +55724,64 @@ public: }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_FacelessVoid_TimeWalk_ShardBuff : public CDOTA_Buff { public: - Vector m_vStartLocation; // 0x11e8 + Vector m_vStartLocation; // 0x12b8 }; // Alignment: 7 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_FacelessVoid_TimeWalk : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x568 - int32_t speed; // 0x56c - int32_t range; // 0x570 - int32_t radius; // 0x574 - int32_t m_nProjectileID; // 0x578 - Vector m_vProjectileLocation; // 0x57c - Vector m_vStartLocation; // 0x588 + CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x578 + int32_t speed; // 0x57c + int32_t range; // 0x580 + int32_t radius; // 0x584 + int32_t m_nProjectileID; // 0x588 + Vector m_vProjectileLocation; // 0x58c + Vector m_vStartLocation; // 0x598 }; // Alignment: 4 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_FacelessVoid_TimeWalk_Reverse : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - int32_t speed; // 0x568 - int32_t m_nProjectileID; // 0x56c - Vector m_vProjectileLocation; // 0x570 - Vector m_vStartLocation; // 0x57c + int32_t speed; // 0x578 + int32_t m_nProjectileID; // 0x57c + Vector m_vProjectileLocation; // 0x580 + Vector m_vStartLocation; // 0x58c }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_FacelessVoid_TimeLock_ForceProc : public CDOTA_Buff { public: - float duration; // 0x11e8 - float duration_creep; // 0x11ec - int32_t bonus_damage; // 0x11f0 - float delay; // 0x11f4 - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x11f8 + float duration; // 0x12b8 + float duration_creep; // 0x12bc + int32_t bonus_damage; // 0x12c0 + float delay; // 0x12c4 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FacelessVoid_TimeWalk_Slow : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x11e8 + int32_t movement_speed_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_FacelessVoid_TimeWalk : public CDOTA_Buff { public: @@ -55044,7 +55789,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_FacelessVoid_Chronosphere : public CDOTABaseAbility { public: @@ -55052,15 +55797,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FacelessVoid_Chronosphere : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_FacelessVoid_ArcanaDamageRouter : public CDOTA_Buff { public: @@ -55068,7 +55813,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_FacelessVoid_Chronosphere_Freeze : public CDOTA_Buff { public: @@ -55076,23 +55821,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FacelessVoid_Chronosphere_SelfBuff : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FacelessVoid_Chronosphere_Speed : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 + int32_t bonus_attack_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_FacelessVoid_Arcana : public CDOTA_Buff { public: @@ -55100,36 +55845,44 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FacelessVoid_Arcana_Kill_Effect : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x11e8 + ParticleIndex_t m_nCasterFXIndex; // 0x12b8 }; // Alignment: 6 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_DeathProphet_CarrionSwarm : public CDOTABaseAbility { public: - int32_t start_radius; // 0x558 - int32_t end_radius; // 0x55c - GameTime_t m_fStartTime; // 0x560 - float m_fTotalTime; // 0x564 - int32_t m_nProjectileHandle; // 0x568 - ParticleIndex_t m_nFXIndex; // 0x56c + int32_t start_radius; // 0x568 + int32_t end_radius; // 0x56c + GameTime_t m_fStartTime; // 0x570 + float m_fTotalTime; // 0x574 + int32_t m_nProjectileHandle; // 0x578 + ParticleIndex_t m_nFXIndex; // 0x57c }; // Alignment: 1 -// Size: 0x568 +// Size: 0x12c0 +class CDOTA_Modifier_DeathProphet_CryptSwarm_Slow : public CDOTA_Buff +{ +public: + int32_t slow_percent; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x578 class CDOTA_Ability_DeathProphet_Silence : public CDOTABaseAbility { public: - Vector m_vPos; // 0x558 + Vector m_vPos; // 0x568 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DeathProphet_Silence : public CDOTA_Buff { public: @@ -55137,7 +55890,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DeathProphet_Silence_Debuff : public CDOTA_Buff { public: @@ -55145,7 +55898,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DeathProphet_Witchcraft : public CDOTABaseAbility { public: @@ -55153,15 +55906,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DeathProphet_Witchcraft : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 + int32_t bonus_movement_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -55169,57 +55922,57 @@ public: }; // Alignment: 3 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_DeathProphet_SpiritSiphon : public CDOTABaseAbility { public: - Vector m_vStartPos; // 0x558 - int32_t m_iArrowProjectile; // 0x564 - int32_t m_nFXIndex; // 0x568 + Vector m_vStartPos; // 0x568 + int32_t m_iArrowProjectile; // 0x574 + int32_t m_nFXIndex; // 0x578 }; // Alignment: 14 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_DeathProphet_SpiritSiphon : public CDOTA_Buff { public: - float flSmoothness; // 0x11e8 - float damage; // 0x11ec - float damage_pct; // 0x11f0 - int32_t drain_range; // 0x11f4 - float haunt_duration; // 0x11f8 - int32_t siphon_buffer; // 0x11fc - int32_t movement_steal; // 0x1200 - CHandle< CBaseEntity > m_hTarget; // 0x1204 - ParticleIndex_t m_iLinkIndex; // 0x1208 - int32_t m_nSelfBuffSerialNumber; // 0x120c - int32_t m_nTargetDebuffSerialNumber; // 0x1210 - bool m_bAppliedFear; // 0x1214 + float flSmoothness; // 0x12b8 + float damage; // 0x12bc + float damage_pct; // 0x12c0 + int32_t drain_range; // 0x12c4 + float haunt_duration; // 0x12c8 + int32_t siphon_buffer; // 0x12cc + int32_t movement_steal; // 0x12d0 + CHandle< CBaseEntity > m_hTarget; // 0x12d4 + ParticleIndex_t m_iLinkIndex; // 0x12d8 + int32_t m_nSelfBuffSerialNumber; // 0x12dc + int32_t m_nTargetDebuffSerialNumber; // 0x12e0 + bool m_bAppliedFear; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad1215[0x3]; // 0x1215 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - float shard_fear_duration; // 0x1218 - float shard_consecutive_siphon_duration; // 0x121c + float shard_fear_duration; // 0x12e8 + float shard_consecutive_siphon_duration; // 0x12ec }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x11e8 + Vector m_vOriginal; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Slow : public CDOTA_Buff { public: - int32_t movement_steal; // 0x11e8 + int32_t movement_steal; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Buff : public CDOTA_Buff { public: @@ -55227,7 +55980,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Debuff : public CDOTA_Buff { public: @@ -55235,7 +55988,7 @@ public: }; // Alignment: 0 -// Size: 0x758 +// Size: 0x768 class CDOTA_DeathProphet_Exorcism_Spirit : public CBaseAnimatingActivity { public: @@ -55243,65 +55996,65 @@ public: }; // Alignment: 18 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_DeathProphet_Exorcism : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t spirit_speed; // 0x11ec - int32_t max_distance; // 0x11f0 - int32_t give_up_distance; // 0x11f4 - int32_t min_damage; // 0x11f8 - int32_t max_damage; // 0x11fc - int32_t heal_percent; // 0x1200 - int32_t spirit_duration; // 0x1204 - float ghost_spawn_rate; // 0x1208 - int32_t movement_bonus; // 0x120c - int32_t m_iSpirits; // 0x1210 - GameTime_t m_fStartTime; // 0x1214 - GameTime_t m_fLastThinkTime; // 0x1218 - GameTime_t m_fSpawnTime; // 0x121c - bool m_bFirstSpawn; // 0x1220 - bool m_bCommentedOnExpired; // 0x1221 - bool m_bForceExpired; // 0x1222 + int32_t radius; // 0x12b8 + int32_t spirit_speed; // 0x12bc + int32_t max_distance; // 0x12c0 + int32_t give_up_distance; // 0x12c4 + int32_t min_damage; // 0x12c8 + int32_t max_damage; // 0x12cc + int32_t heal_percent; // 0x12d0 + int32_t spirit_duration; // 0x12d4 + float ghost_spawn_rate; // 0x12d8 + int32_t movement_bonus; // 0x12dc + int32_t m_iSpirits; // 0x12e0 + GameTime_t m_fStartTime; // 0x12e4 + GameTime_t m_fLastThinkTime; // 0x12e8 + GameTime_t m_fSpawnTime; // 0x12ec + bool m_bFirstSpawn; // 0x12f0 + bool m_bCommentedOnExpired; // 0x12f1 + bool m_bForceExpired; // 0x12f2 private: - [[maybe_unused]] uint8_t __pad1223[0x5]; // 0x1223 + [[maybe_unused]] uint8_t __pad12f3[0x5]; // 0x12f3 public: - CUtlVector< sSpiritInfo* > m_vecSpirits; // 0x1228 + CUtlVector< sSpiritInfo* > m_vecSpirits; // 0x12f8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DeathProphet_Slow : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x11e8 + int32_t speed_bonus; // 0x12b8 }; // Alignment: 12 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_DeathProphet_Scepter : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t spirit_speed; // 0x11ec - int32_t max_distance; // 0x11f0 - int32_t give_up_distance; // 0x11f4 - int32_t min_damage; // 0x11f8 - int32_t max_damage; // 0x11fc - int32_t heal_percent; // 0x1200 - int32_t spirit_duration; // 0x1204 - GameTime_t m_fStartTime; // 0x1208 - GameTime_t m_fLastThinkTime; // 0x120c - bool m_bExpired; // 0x1210 + int32_t radius; // 0x12b8 + int32_t spirit_speed; // 0x12bc + int32_t max_distance; // 0x12c0 + int32_t give_up_distance; // 0x12c4 + int32_t min_damage; // 0x12c8 + int32_t max_damage; // 0x12cc + int32_t heal_percent; // 0x12d0 + int32_t spirit_duration; // 0x12d4 + GameTime_t m_fStartTime; // 0x12d8 + GameTime_t m_fLastThinkTime; // 0x12dc + bool m_bExpired; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x7]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x7]; // 0x12e1 public: - sSpiritInfo* m_SpiritInfo; // 0x1218 + sSpiritInfo* m_SpiritInfo; // 0x12e8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Death_Prophet_Slow : public CDOTA_Buff { public: @@ -55309,7 +56062,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Death_Prophet_Attack_Scepter : public CDOTA_Buff { public: @@ -55317,7 +56070,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Pugna_NetherBlast : public CDOTABaseAbility { public: @@ -55325,7 +56078,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pugna_NetherBlast_Thinker : public CDOTA_Buff { public: @@ -55333,7 +56086,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Pugna_Decrepify : public CDOTABaseAbility { public: @@ -55341,100 +56094,100 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Pugna_Decrepify : public CDOTA_Buff { public: - int32_t bonus_spell_damage_pct; // 0x11e8 - int32_t bonus_heal_amp_pct_allies; // 0x11ec - int32_t bonus_movement_speed; // 0x11f0 - int32_t bonus_movement_speed_allies; // 0x11f4 + int32_t bonus_spell_damage_pct; // 0x12b8 + int32_t bonus_heal_amp_pct_allies; // 0x12bc + int32_t bonus_movement_speed; // 0x12c0 + int32_t bonus_movement_speed_allies; // 0x12c4 +}; + +// Alignment: 1 +// Size: 0x580 +class CDOTA_Ability_Pugna_NetherWard : public CDOTABaseAbility +{ +public: + CUtlVector< sAbilityHistory > vecAbilitiesUsed; // 0x568 +}; + +// Alignment: 4 +// Size: 0x12c8 +class CDOTA_Modifier_Pugna_NetherWard : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12b8 + float mana_multiplier; // 0x12bc + float mana_drained_per_attack; // 0x12c0 + int32_t attacks_to_destroy; // 0x12c4 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Pugna_NetherWard_Aura : public CDOTA_Buff +{ +public: + float mana_regen; // 0x12b8 + float spell_damage_reduction; // 0x12bc }; // Alignment: 1 // Size: 0x570 -class CDOTA_Ability_Pugna_NetherWard : public CDOTABaseAbility -{ -public: - CUtlVector< sAbilityHistory > vecAbilitiesUsed; // 0x558 -}; - -// Alignment: 4 -// Size: 0x11f8 -class CDOTA_Modifier_Pugna_NetherWard : public CDOTA_Buff -{ -public: - int32_t radius; // 0x11e8 - float mana_multiplier; // 0x11ec - float mana_drained_per_attack; // 0x11f0 - int32_t attacks_to_destroy; // 0x11f4 -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Pugna_NetherWard_Aura : public CDOTA_Buff -{ -public: - float mana_regen; // 0x11e8 - float spell_damage_reduction; // 0x11ec -}; - -// Alignment: 1 -// Size: 0x560 class CDOTA_Ability_Pugna_LifeDrain : public CDOTABaseAbility { public: // MNetworkEnable - CHandle< CBaseEntity > m_hTarget; // 0x558 + CHandle< CBaseEntity > m_hTarget; // 0x568 }; // Alignment: 16 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Pugna_LifeDrain : public CDOTA_Buff { public: - int32_t health_drain; // 0x11e8 - int32_t ally_healing; // 0x11ec - float tick_rate; // 0x11f0 - bool m_bDoRangeCheck; // 0x11f4 + int32_t health_drain; // 0x12b8 + int32_t ally_healing; // 0x12bc + float tick_rate; // 0x12c0 + bool m_bDoRangeCheck; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - ParticleIndex_t m_nFXIndex; // 0x11f8 - GameTime_t m_flElapsedTime; // 0x11fc - bool m_bPrimary; // 0x1200 - bool m_bShard; // 0x1201 - bool m_bFromWard; // 0x1202 + ParticleIndex_t m_nFXIndex; // 0x12c8 + GameTime_t m_flElapsedTime; // 0x12cc + bool m_bPrimary; // 0x12d0 + bool m_bShard; // 0x12d1 + bool m_bFromWard; // 0x12d2 private: - [[maybe_unused]] uint8_t __pad1203[0x1]; // 0x1203 + [[maybe_unused]] uint8_t __pad12d3[0x1]; // 0x12d3 public: - CHandle< CBaseEntity > m_hWard; // 0x1204 - float spell_amp_drain_duration; // 0x1208 - int32_t max_spell_amp_drain_pct; // 0x120c - int32_t spell_amp_drain_rate; // 0x1210 - int32_t spell_amp_drain_rate_ward; // 0x1214 - int32_t spell_amp_drain_max; // 0x1218 - int32_t health_to_mana_rate; // 0x121c + CHandle< CBaseEntity > m_hWard; // 0x12d4 + float spell_amp_drain_duration; // 0x12d8 + int32_t max_spell_amp_drain_pct; // 0x12dc + int32_t spell_amp_drain_rate; // 0x12e0 + int32_t spell_amp_drain_rate_ward; // 0x12e4 + int32_t spell_amp_drain_max; // 0x12e8 + int32_t health_to_mana_rate; // 0x12ec }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pugna_LifeDrain_SpellAmp : public CDOTA_Buff { public: - bool m_bIsFriendly; // 0x11e8 + bool m_bIsFriendly; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Phantom_Assassin_GroundDagger : public CDOTA_Buff { public: - bool m_bLanded; // 0x11e8 + bool m_bLanded; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_PhantomAssassin_Stifling_Dagger : public CDOTABaseAbility { public: @@ -55442,24 +56195,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PhantomAssassin_StiflingDagger_Caster : public CDOTA_Buff { public: - int32_t base_damage; // 0x11e8 - int32_t attack_factor; // 0x11ec + int32_t base_damage; // 0x12b8 + int32_t attack_factor; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PhantomAssassin_StiflingDagger : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_PhantomAssassin_Fan_Of_Knives : public CDOTABaseAbility { public: @@ -55467,23 +56220,23 @@ public: }; // Alignment: 9 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_PhantomAssassin_Fan_Of_Knives_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x11e8 - GameTime_t m_fLastThink; // 0x11ec - CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x11f0 - CountdownTimer m_ViewerTimer; // 0x1208 - int32_t projectile_speed; // 0x1220 - int32_t radius; // 0x1224 - float duration; // 0x1228 - float pct_health_damage_initial; // 0x122c - float max_damage_initial; // 0x1230 + float m_fCurRadius; // 0x12b8 + GameTime_t m_fLastThink; // 0x12bc + CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x12c0 + CountdownTimer m_ViewerTimer; // 0x12d8 + int32_t projectile_speed; // 0x12f0 + int32_t radius; // 0x12f4 + float duration; // 0x12f8 + float pct_health_damage_initial; // 0x12fc + float max_damage_initial; // 0x1300 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_PhantomAssassin_Fan_Of_Knives : public CDOTA_Buff { public: @@ -55491,24 +56244,25 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_PhantomAssassin_PhantomStrike : public CDOTABaseAbility { public: // No members available }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_PhantomAssassin_PhantomStrike : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t lifesteal_pct; // 0x11ec + int32_t bonus_attack_speed; // 0x12b8 + int32_t lifesteal_pct; // 0x12bc + int32_t creep_lifesteal_penalty; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_PhantomAssassin_Blur : public CDOTABaseAbility { public: @@ -55516,65 +56270,78 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PhantomAssassin_Blur : public CDOTA_Buff { public: - int32_t bonus_evasion; // 0x11e8 + int32_t bonus_evasion; // 0x12b8 }; // Alignment: 4 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_PhantomAssassin_BlurActive : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x11f8 - float fade_duration; // 0x11fc - float scepter_fade_duration; // 0x1200 - bool m_bDestroyNext; // 0x1204 + int32_t radius; // 0x12c8 + float fade_duration; // 0x12cc + float scepter_fade_duration; // 0x12d0 + bool m_bDestroyNext; // 0x12d4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_PhantomAssassin_CoupdeGrace : public CDOTABaseAbility { public: // No members available }; -// Alignment: 3 -// Size: 0x11f8 +// Alignment: 5 +// Size: 0x12d0 class CDOTA_Modifier_PhantomAssassin_CoupdeGrace : public CDOTA_Buff { public: - int32_t crit_bonus; // 0x11e8 - int32_t crit_chance; // 0x11ec - bool crit_active; // 0x11f0 -}; - -// Alignment: 5 -// Size: 0x1200 -class CDOTA_Modifier_PhantomAssassin_Gravestone_Thinker : public CDOTA_Buff -{ + int32_t crit_bonus; // 0x12b8 + int32_t crit_chance; // 0x12bc + int32_t dagger_crit_chance; // 0x12c0 + bool crit_active; // 0x12c4 +private: + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - int32_t m_nEpitaph; // 0x11e8 - PlayerID_t m_nVictimPlayerID; // 0x11ec - int32_t m_nVictimHeroID; // 0x11f0 - int32_t m_nCritDmg; // 0x11f4 - int32_t m_nContractComplete; // 0x11f8 -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_PhantomAssassin_Gravestone : public CDOTA_Buff -{ -public: - int32_t m_nFXIndex; // 0x11e8 - bool m_bContractGravestoneComplete; // 0x11ec + float duration; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 +class CDOTA_Modifier_PhantomAssassin_MarkOfDeath : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 5 +// Size: 0x12d0 +class CDOTA_Modifier_PhantomAssassin_Gravestone_Thinker : public CDOTA_Buff +{ +public: + int32_t m_nEpitaph; // 0x12b8 + PlayerID_t m_nVictimPlayerID; // 0x12bc + int32_t m_nVictimHeroID; // 0x12c0 + int32_t m_nCritDmg; // 0x12c4 + int32_t m_nContractComplete; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_PhantomAssassin_Gravestone : public CDOTA_Buff +{ +public: + int32_t m_nFXIndex; // 0x12b8 + bool m_bContractGravestoneComplete; // 0x12bc +}; + +// Alignment: 0 +// Size: 0x12b8 class CDOTA_Modifier_PhantomAssassin_ScreenSplatter : public CDOTA_Buff { public: @@ -55582,7 +56349,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin : public CDOTABaseAbility { public: @@ -55590,7 +56357,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_2 : public CDOTABaseAbility { public: @@ -55598,7 +56365,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_3 : public CDOTABaseAbility { public: @@ -55606,7 +56373,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_4 : public CDOTABaseAbility { public: @@ -55614,7 +56381,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_5 : public CDOTABaseAbility { public: @@ -55622,7 +56389,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_6 : public CDOTABaseAbility { public: @@ -55630,7 +56397,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_7 : public CDOTABaseAbility { public: @@ -55638,7 +56405,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_8 : public CDOTABaseAbility { public: @@ -55646,7 +56413,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_9 : public CDOTABaseAbility { public: @@ -55654,7 +56421,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_TemplarAssassin_Refraction : public CDOTABaseAbility { public: @@ -55662,24 +56429,24 @@ public: }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_TemplarAssassin_RefractionDamage : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 - int32_t bonus_damage; // 0x1200 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + int32_t bonus_damage; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_TemplarAssassin_RefractionAbsorb : public CDOTA_Buff { public: - int32_t damage_threshold; // 0x11e8 + int32_t damage_threshold; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_TemplarAssassin_Meld : public CDOTABaseAbility { public: @@ -55687,37 +56454,37 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_TemplarAssassin_Meld_Animation : public CDOTA_Buff { public: - bool launched_attack; // 0x11e8 + bool launched_attack; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_TemplarAssassin_Meld : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - bool launched_attack; // 0x11ec + int32_t bonus_damage; // 0x12b8 + bool launched_attack; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - CHandle< CBaseEntity > m_hTarget; // 0x11f0 - int32_t m_nAttackRecord; // 0x11f4 + CHandle< CBaseEntity > m_hTarget; // 0x12c0 + int32_t m_nAttackRecord; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_TemplarAssassin_MeldArmor : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_TemplarAssassin_PsiBlades : public CDOTABaseAbility { public: @@ -55725,27 +56492,27 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_TemplarAssassin_PsiBlades : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x11e8 - float attack_spill_range; // 0x11ec - int32_t attack_spill_width; // 0x11f0 - int32_t attack_spill_pct; // 0x11f4 - int32_t attack_spill_penalty; // 0x11f8 + int32_t bonus_attack_range; // 0x12b8 + float attack_spill_range; // 0x12bc + int32_t attack_spill_width; // 0x12c0 + int32_t attack_spill_pct; // 0x12c4 + int32_t attack_spill_penalty; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_TemplarAssassin_PsiBlades_Slow : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TemplarAssassin_PsionicTrap_Counter : public CDOTA_Buff { public: @@ -55753,7 +56520,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_TemplarAssassin_PsionicTrap : public CDOTABaseAbility { public: @@ -55761,15 +56528,15 @@ public: }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_TemplarAssassin_Trap : public CDOTA_Modifier_Invisible { public: - int32_t shard_bonus_vision; // 0x11f8 + int32_t bonus_vision; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_TemplarAssassin_Trap : public CDOTABaseAbility { public: @@ -55777,29 +56544,29 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_TemplarAssassin_Trap_Teleport : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hTrap; // 0x558 + CHandle< CBaseEntity > m_hTrap; // 0x568 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_TemplarAssassin_Trap_Slow : public CDOTA_Buff { public: - int32_t movement_speed_min; // 0x11e8 - int32_t movement_speed_max; // 0x11ec - int32_t trap_bonus_damage; // 0x11f0 - float trap_max_charge_duration; // 0x11f4 - float shard_min_silence_duration; // 0x11f8 - float shard_max_silence_duration; // 0x11fc - float stage; // 0x1200 + int32_t movement_speed_min; // 0x12b8 + int32_t movement_speed_max; // 0x12bc + float trap_max_charge_duration; // 0x12c0 + float min_silence_duration; // 0x12c4 + float max_silence_duration; // 0x12c8 + float stage; // 0x12cc + float flDamagePerTick; // 0x12d0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_TemplarAssassin_SelfTrap : public CDOTABaseAbility { public: @@ -55807,7 +56574,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_TemplarAssassin_Refraction_Holdout : public CDOTABaseAbility { public: @@ -55815,17 +56582,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_TemplarAssassin_Refraction_Holdout : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t damage_absorb; // 0x11ec - float m_flDamageAbsorbed; // 0x11f0 + int32_t bonus_damage; // 0x12b8 + int32_t damage_absorb; // 0x12bc + float m_flDamageAbsorbed; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Viper_PoisonAttack : public CDOTABaseAbility { public: @@ -55833,31 +56600,31 @@ public: }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Viper_PoisonAttack : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Viper_PoisonAttack_Slow : public CDOTA_Buff { public: - float damage; // 0x11e8 - int32_t shard_armor_reduction; // 0x11ec - int32_t shard_building_dmg_pct; // 0x11f0 - int32_t movement_speed; // 0x11f4 - int32_t magic_resistance; // 0x11f8 + float damage; // 0x12b8 + int32_t shard_armor_reduction; // 0x12bc + int32_t shard_building_dmg_pct; // 0x12c0 + int32_t movement_speed; // 0x12c4 + int32_t magic_resistance; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Viper_Nethertoxin : public CDOTABaseAbility { public: @@ -55865,28 +56632,28 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Viper_Nethertoxin_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Viper_Nethertoxin : public CDOTA_Buff { public: - int32_t min_damage; // 0x11e8 - int32_t max_damage; // 0x11ec - float max_duration; // 0x11f0 - float m_flDamageInterval; // 0x11f4 - float m_flTimeIncrement; // 0x11f8 + int32_t min_damage; // 0x12b8 + int32_t max_damage; // 0x12bc + float max_duration; // 0x12c0 + float m_flDamageInterval; // 0x12c4 + float m_flTimeIncrement; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Viper_NethertoxinMute : public CDOTA_Buff { public: @@ -55894,7 +56661,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Viper_CorrosiveSkin : public CDOTABaseAbility { public: @@ -55902,45 +56669,54 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Viper_CorrosiveSkin : public CDOTA_Buff { public: - int32_t bonus_magic_resistance; // 0x11e8 + int32_t bonus_magic_resistance; // 0x12b8 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Viper_BecomeUniversal : public CDOTA_Buff +{ +public: + int32_t bonus_magic_resistance; // 0x12b8 + int32_t is_universal; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Viper_CorrosiveSkin_Slow : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t damage; // 0x11ec - int32_t effect_multiplier_distance; // 0x11f0 - int32_t effect_multiplier; // 0x11f4 - bool m_bEffectMultiplied; // 0x11f8 + int32_t bonus_attack_speed; // 0x12b8 + int32_t damage; // 0x12bc + int32_t effect_multiplier_distance; // 0x12c0 + int32_t effect_multiplier; // 0x12c4 + bool m_bEffectMultiplied; // 0x12c8 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Viper_ViperStrike : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 + ParticleIndex_t m_nFXIndex; // 0x568 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Viper_ViperStrike_Slow : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t damage; // 0x11f0 + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t damage; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Viper_Nose_Dive : public CDOTABaseAbility { public: @@ -55948,30 +56724,30 @@ public: }; // Alignment: 8 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Viper_Nose_Dive : public CDOTA_Buff { public: - Vector m_vTargetPos; // 0x11e8 - Vector m_vStart; // 0x11f4 - float m_flZDelta; // 0x1200 - int32_t radius; // 0x1204 - int32_t corrosive_radius; // 0x1208 - float effect_duration; // 0x120c - int32_t dive_speed; // 0x1210 - float start_height; // 0x1214 + Vector m_vTargetPos; // 0x12b8 + Vector m_vStart; // 0x12c4 + float m_flZDelta; // 0x12d0 + int32_t radius; // 0x12d4 + int32_t corrosive_radius; // 0x12d8 + float effect_duration; // 0x12dc + int32_t dive_speed; // 0x12e0 + float start_height; // 0x12e4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Viper_Nose_Dive_Effect : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 + int32_t movespeed_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Luna_LucentBeam : public CDOTABaseAbility { public: @@ -55979,7 +56755,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Luna_LucentBeam_Damage_Buff_Counter : public CDOTA_Buff { public: @@ -55987,38 +56763,56 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Luna_LucentBeam_Damage_Buff : public CDOTA_Buff { public: - int32_t damage_buff_per_beam; // 0x11e8 + int32_t damage_buff_per_beam; // 0x12b8 }; -// Alignment: 2 -// Size: 0x578 +// Alignment: 3 +// Size: 0x5a0 class CDOTA_Ability_Luna_MoonGlaive : public CDOTABaseAbility { public: - int32_t m_iAttackIndex; // 0x558 + CUtlVector< CHandle< CBaseEntity > > m_vecMarkedUnits; // 0x568 + int32_t m_iAttackIndex; // 0x580 private: - [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c + [[maybe_unused]] uint8_t __pad0584[0x4]; // 0x584 public: - CUtlVector< sGlaiveInfo > m_GlaiveInfo; // 0x560 + CUtlVector< sGlaiveInfo > m_GlaiveInfo; // 0x588 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Luna_MoonGlaive : public CDOTA_Buff { public: - int32_t range; // 0x11e8 - int32_t bounces; // 0x11ec - int32_t damage_reduction_percent; // 0x11f0 - ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x11f4 + int32_t range; // 0x12b8 + int32_t bounces; // 0x12bc + int32_t damage_reduction_percent; // 0x12c0 + ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x12c4 +}; + +// Alignment: 10 +// Size: 0x1310 +class CDOTA_Modifier_Luna_MoonGlaive_Shield : public CDOTA_Buff +{ +public: + int32_t rotating_glaives; // 0x12b8 + float rotating_glaives_hit_radius; // 0x12bc + float rotating_glaives_speed; // 0x12c0 + float rotating_glaives_collision_damage; // 0x12c4 + float rotating_glaives_movement_radius; // 0x12c8 + float rotating_glaives_damage_reduction; // 0x12cc + float m_flCurRotation; // 0x12d0 + float m_flCurRadius; // 0x12d4 + float m_flSecondsPerRotation; // 0x12d8 + float m_flMaxRadius; // 0x12dc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Luna_LunarBlessing : public CDOTABaseAbility { public: @@ -56026,46 +56820,46 @@ public: }; // Alignment: 6 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Luna_LunarBlessing_Smoke : public CDOTA_Modifier_Invisible { public: - int32_t bonus_speed_day; // 0x11f8 - int32_t bonus_speed_night; // 0x11fc - int32_t break_distance_day; // 0x1200 - int32_t break_distance_night; // 0x1204 - int32_t visibility_radius; // 0x1208 - int32_t bonus_movement_speed; // 0x120c + int32_t bonus_speed_day; // 0x12c8 + int32_t bonus_speed_night; // 0x12cc + int32_t break_distance_day; // 0x12d0 + int32_t break_distance_night; // 0x12d4 + int32_t visibility_radius; // 0x12d8 + int32_t bonus_movement_speed; // 0x12dc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Luna_LunarBlessing : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t bonus_night_vision; // 0x11ec + int32_t radius; // 0x12b8 + int32_t bonus_night_vision; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Luna_LunarBlessingAura : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_damage_self; // 0x11ec + int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage_self; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Luna_LunarBlessing_Active : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 + int32_t attack_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Luna_Lunar_Grace : public CDOTABaseAbility { public: @@ -56073,71 +56867,71 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Luna_Lunar_Grace : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 - float night_multiplier; // 0x11ec + int32_t attack_speed; // 0x12b8 + float night_multiplier; // 0x12bc }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Luna_Eclipse : public CDOTABaseAbility { public: - bool m_bIsScepterCast; // 0x558 + bool m_bIsScepterCast; // 0x568 }; // Alignment: 13 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Luna_Eclipse : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - int32_t radius; // 0x11ec - int32_t beams; // 0x11f0 - int32_t hit_count; // 0x11f4 - int32_t m_iBeamDamage; // 0x11f8 - float beam_interval; // 0x11fc - float stun_duration; // 0x1200 - Vector vPosition; // 0x1204 - bool bAreaTarget; // 0x1210 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + int32_t radius; // 0x12bc + int32_t beams; // 0x12c0 + int32_t hit_count; // 0x12c4 + int32_t m_iBeamDamage; // 0x12c8 + float beam_interval; // 0x12cc + float stun_duration; // 0x12d0 + Vector vPosition; // 0x12d4 + bool bAreaTarget; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t m_iTickCount; // 0x1214 - ParticleIndex_t m_nMoonlightFXIndex; // 0x1218 + int32_t m_iTickCount; // 0x12e4 + ParticleIndex_t m_nMoonlightFXIndex; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< CHandle< CBaseEntity > > m_HitTargets; // 0x1220 - float m_flBeamStun; // 0x1238 + CUtlVector< CHandle< CBaseEntity > > m_HitTargets; // 0x12f0 + float m_flBeamStun; // 0x1308 }; // Alignment: 6 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_DragonKnight_BreatheFire : public CDOTABaseAbility { public: - int32_t start_radius; // 0x558 - int32_t end_radius; // 0x55c - float damage; // 0x560 - Vector m_vStartPos; // 0x564 - GameTime_t m_fStartTime; // 0x570 - float m_fTotalTime; // 0x574 + int32_t start_radius; // 0x568 + int32_t end_radius; // 0x56c + float damage; // 0x570 + Vector m_vStartPos; // 0x574 + GameTime_t m_fStartTime; // 0x580 + float m_fTotalTime; // 0x584 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DragonKnight_BreatheFire_Reduction : public CDOTA_Buff { public: - int32_t reduction; // 0x11e8 + int32_t reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DragonKnight_DragonTail : public CDOTABaseAbility { public: @@ -56145,7 +56939,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DragonKnight_DragonBlood : public CDOTABaseAbility { public: @@ -56153,92 +56947,93 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DragonKnight_DragonBlood_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DragonKnight_DragonBlood : public CDOTA_Buff { public: - int32_t bonus_health_regen; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t bonus_health_regen; // 0x12b8 + int32_t bonus_armor; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DragonKnight_ElderDragonForm : public CDOTABaseAbility { public: // No members available }; -// Alignment: 9 -// Size: 0x1210 +// Alignment: 10 +// Size: 0x12e8 class CDOTA_Modifier_DragonKnight_DragonForm : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_attack_damage; // 0x11ec - int32_t bonus_attack_range; // 0x11f0 - int32_t attack_projectile_speed_bonus; // 0x11f4 - int32_t magic_resistance; // 0x11f8 - int32_t model_scale; // 0x11fc - int32_t iLevel; // 0x1200 - int32_t m_iOriginalAttackCapabilities; // 0x1204 - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1208 + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_attack_damage; // 0x12bc + int32_t bonus_attack_range; // 0x12c0 + int32_t attack_projectile_speed_bonus; // 0x12c4 + int32_t magic_resistance; // 0x12c8 + int32_t model_scale; // 0x12cc + int32_t iLevel; // 0x12d0 + int32_t m_iOriginalAttackCapabilities; // 0x12d4 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12d8 + int32_t bonus_slow_resistance; // 0x12e0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DragonKnight_CorrosiveBreath : public CDOTA_Buff { public: - float corrosive_breath_duration; // 0x11e8 + float corrosive_breath_duration; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DragonKnight_CorrosiveBreathDoT : public CDOTA_Buff { public: - int32_t corrosive_breath_damage; // 0x11e8 + int32_t corrosive_breath_damage; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_DragonKnight_SplashAttack : public CDOTA_Buff { public: - int32_t splash_radius; // 0x11e8 - int32_t splash_damage_percent; // 0x11ec - float corrosive_breath_duration; // 0x11f0 + int32_t splash_radius; // 0x12b8 + int32_t splash_damage_percent; // 0x12bc + float corrosive_breath_duration; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DragonKnight_FrostBreath : public CDOTA_Buff { public: - float frost_duration; // 0x11e8 - float frost_aoe; // 0x11ec + float frost_duration; // 0x12b8 + float frost_aoe; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DragonKnight_FrostBreath_Slow : public CDOTA_Buff { public: - int32_t frost_bonus_movement_speed; // 0x11e8 - int32_t frost_bonus_attack_speed; // 0x11ec + int32_t frost_bonus_movement_speed; // 0x12b8 + int32_t frost_bonus_attack_speed; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DragonKnight_BlackDragon_Tooltip : public CDOTA_Buff { public: @@ -56246,7 +57041,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DragonKnight_Fireball : public CDOTABaseAbility { public: @@ -56254,25 +57049,25 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DragonKnight_Fireball_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float linger_duration; // 0x11ec + int32_t radius; // 0x12b8 + float linger_duration; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DragonKnight_Fireball_Burn : public CDOTA_Buff { public: - float burn_interval; // 0x11e8 - int32_t damage; // 0x11ec + float burn_interval; // 0x12b8 + int32_t damage; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Dazzle_Good_Juju : public CDOTABaseAbility { public: @@ -56280,52 +57075,56 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Dazzle_Good_Juju : public CDOTA_Buff { public: - float cooldown_reduction; // 0x11e8 - float item_cooldown_reduction; // 0x11ec - float duration; // 0x11f0 - int32_t radius; // 0x11f4 + float cooldown_reduction; // 0x12b8 + float item_cooldown_reduction; // 0x12bc + float duration; // 0x12c0 + int32_t radius; // 0x12c4 +}; + +// Alignment: 2 +// Size: 0x12d8 +class CDOTA_Modifier_Dazzle_Bad_Juju_Manacost : public CDOTA_Buff +{ +public: + float mana_cost_increase_duration; // 0x12b8 +private: + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc +public: + CUtlVector< GameTime_t > m_vecExpirationTimes; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Dazzle_Bad_Juju : public CDOTABaseAbility { public: // No members available }; -// Alignment: 0 -// Size: 0x11e8 -class CDOTA_Modifier_Dazzle_Bad_Juju_Manacost : public CDOTA_Buff -{ -public: - // No members available -}; - // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dazzle_Bad_Juju_Armor_Counter : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - float armor_reduction; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12b8 + float armor_reduction; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dazzle_Bad_Juju_Armor : public CDOTA_Buff { public: - float armor_reduction; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + float armor_reduction; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Dazzle_Rain_Of_Vermin : public CDOTABaseAbility { public: @@ -56333,19 +57132,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Dazzle_Rain_Of_Vermin : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float interval; // 0x11ec - float hex_chance; // 0x11f0 - float hex_duration; // 0x11f4 - int32_t damage; // 0x11f8 + int32_t radius; // 0x12b8 + float interval; // 0x12bc + float hex_chance; // 0x12c0 + float hex_duration; // 0x12c4 + int32_t damage; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Dazzle_Poison_Touch : public CDOTABaseAbility { public: @@ -56353,28 +57152,28 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Dazzle_Poison_Touch : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - float bonus_slow; // 0x11ec - int32_t bonus_damage; // 0x11f0 - float flAccummulatedBonusSlow; // 0x11f4 - int32_t iAccummulatedBonusDamage; // 0x11f8 - int32_t attack_range_bonus; // 0x11fc + int32_t slow; // 0x12b8 + float bonus_slow; // 0x12bc + int32_t bonus_damage; // 0x12c0 + float flAccummulatedBonusSlow; // 0x12c4 + int32_t iAccummulatedBonusDamage; // 0x12c8 + int32_t attack_range_bonus; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dazzle_Poison_Touch_Self : public CDOTA_Buff { public: - int32_t attack_range_bonus; // 0x11e8 + int32_t attack_range_bonus; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Dazzle_Shallow_Grave : public CDOTABaseAbility { public: @@ -56382,34 +57181,34 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Dazzle_Shallow_Grave : public CDOTA_Buff { public: - bool m_bHasPostedEvent; // 0x11e8 + bool m_bHasPostedEvent; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - ParticleIndex_t m_nFXIndex; // 0x11ec - float fx_halo_height; // 0x11f0 - int32_t heal_amplify; // 0x11f4 + ParticleIndex_t m_nFXIndex; // 0x12bc + float fx_halo_height; // 0x12c0 + int32_t heal_amplify; // 0x12c4 }; // Alignment: 6 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_Dazzle_ShadowWave : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x558 - int32_t bounce_radius; // 0x570 - int32_t damage_radius; // 0x574 - int32_t damage; // 0x578 - int32_t max_targets; // 0x57c - float scepter_heal_pct; // 0x580 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x568 + int32_t bounce_radius; // 0x580 + int32_t damage_radius; // 0x584 + int32_t damage; // 0x588 + int32_t max_targets; // 0x58c + float scepter_heal_pct; // 0x590 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Dazzle_Weave : public CDOTABaseAbility { public: @@ -56417,16 +57216,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dazzle_Weave_Armor : public CDOTA_Buff { public: - float armor_per_second; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + float armor_per_second; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Leshrac_Split_Earth : public CDOTABaseAbility { public: @@ -56434,16 +57233,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Leshrac_Split_Earth_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t m_iCount; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Leshrac_Diabolic_Edict : public CDOTABaseAbility { public: @@ -56451,69 +57250,70 @@ public: }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Leshrac_Diabolic_Edict : public CDOTA_Buff { public: - int32_t num_explosions; // 0x11e8 - int32_t radius; // 0x11ec - float m_fExplosions; // 0x11f0 - float tower_bonus; // 0x11f4 - bool m_bTalentActive; // 0x11f8 + int32_t num_explosions; // 0x12b8 + int32_t radius; // 0x12bc + float m_fExplosions; // 0x12c0 + float tower_bonus; // 0x12c4 + bool m_bTalentActive; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Leshrac_Lightning_Storm : public CDOTABaseAbility { public: // No members available }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Leshrac_Lightning_Storm_Scepter_Thinker : public CDOTA_Buff { public: - float interval_scepter; // 0x11e8 + float pulse_nova_lightning_interval; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 13 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Leshrac_Lightning_Storm : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t radius; // 0x11ec - int32_t jump_count; // 0x11f0 - float slow_duration; // 0x11f4 - float jump_delay; // 0x11f8 - CHandle< CBaseEntity > hInitialTarget; // 0x11fc - float m_flDamage; // 0x1200 - int32_t m_iCurJumpCount; // 0x1204 - Vector m_vCurTargetLoc; // 0x1208 + int32_t damage; // 0x12b8 + int32_t radius; // 0x12bc + int32_t jump_count; // 0x12c0 + float slow_duration; // 0x12c4 + float jump_delay; // 0x12c8 + CHandle< CBaseEntity > hInitialTarget; // 0x12cc + float m_flDamage; // 0x12d0 + int32_t m_iCurJumpCount; // 0x12d4 + Vector m_vCurTargetLoc; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1218 - bool m_bGrantedGem; // 0x1230 - bool m_bBounceTwice; // 0x1231 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12e8 + bool m_bGrantedGem; // 0x1300 + bool m_bBounceTwice; // 0x1301 private: - [[maybe_unused]] uint8_t __pad1232[0x2]; // 0x1232 + [[maybe_unused]] uint8_t __pad1302[0x2]; // 0x1302 public: - CHandle< CBaseEntity > m_eLastTarget; // 0x1234 + CHandle< CBaseEntity > m_eLastTarget; // 0x1304 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Leshrac_Lightning_Storm_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 + int32_t slow_movement_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Leshrac_Greater_Lightning_Storm : public CDOTABaseAbility { public: @@ -56521,34 +57321,34 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Leshrac_Decrepify_Aura : public CDOTA_Buff { public: - int32_t magic_amp; // 0x11e8 - int32_t slow; // 0x11ec + int32_t magic_amp; // 0x12b8 + int32_t slow; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Leshrac_Decrepify : public CDOTA_Buff { public: - int32_t magic_amp; // 0x11e8 - int32_t slow; // 0x11ec + int32_t magic_amp; // 0x12b8 + int32_t slow; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Leshrac_Greater_Lightning_Storm : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float interval; // 0x11ec + int32_t radius; // 0x12b8 + float interval; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Leshrac_Pulse_Nova : public CDOTABaseAbility { public: @@ -56556,20 +57356,20 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Leshrac_Pulse_Nova : public CDOTA_Buff { public: - bool m_bFirst; // 0x11e8 + bool m_bFirst; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0xb]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0xb]; // 0x12b9 public: - int32_t damage_resistance; // 0x11f4 - int32_t bonus_movespeed; // 0x11f8 + int32_t damage_resistance; // 0x12c4 + int32_t bonus_movespeed; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Leshrac_1 : public CDOTABaseAbility { public: @@ -56577,7 +57377,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Leshrac_2 : public CDOTABaseAbility { public: @@ -56585,7 +57385,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Leshrac_3 : public CDOTABaseAbility { public: @@ -56593,7 +57393,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Leshrac_4 : public CDOTABaseAbility { public: @@ -56601,7 +57401,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Leshrac_5 : public CDOTABaseAbility { public: @@ -56609,7 +57409,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Leshrac_6 : public CDOTABaseAbility { public: @@ -56617,7 +57417,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Rattletrap_Overclocking : public CDOTABaseAbility { public: @@ -56625,17 +57425,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Rattletrap_Overclocking : public CDOTA_Buff { public: - ParticleIndex_t m_nOverclockFX; // 0x11e8 - int32_t bonus_movement_speed; // 0x11ec - int32_t bonus_attack_speed; // 0x11f0 + ParticleIndex_t m_nOverclockFX; // 0x12b8 + int32_t bonus_movement_speed; // 0x12bc + int32_t bonus_attack_speed; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Rattletrap_BatteryAssault : public CDOTABaseAbility { public: @@ -56643,7 +57443,7 @@ public: }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rattletrap_BatteryAssault : public CDOTA_Buff { public: @@ -56651,7 +57451,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Rattletrap_PowerCogs : public CDOTABaseAbility { public: @@ -56659,25 +57459,25 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rattletrap_Cog_Barrier : public CDOTA_Buff { public: - int32_t magic_barrier; // 0x11e8 - int32_t m_nAbsorbRemaining; // 0x11ec + int32_t magic_barrier; // 0x12b8 + int32_t m_nAbsorbRemaining; // 0x12bc }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Rattletrap_Cog_Thinker : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x11e8 - int32_t extra_pull_buffer; // 0x11ec + int32_t cogs_radius; // 0x12b8 + int32_t extra_pull_buffer; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rattletrap_Cog_Marker : public CDOTA_Buff { public: @@ -56685,33 +57485,33 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Leash : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x11e8 - int32_t extra_pull_buffer; // 0x11ec + int32_t cogs_radius; // 0x12b8 + int32_t extra_pull_buffer; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rattletrap_Cog_Leash : public CDOTA_Buff { public: - int32_t leash; // 0x11e8 + int32_t leash; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Talent : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x11e8 - int32_t extra_pull_buffer; // 0x11ec + int32_t cogs_radius; // 0x12b8 + int32_t extra_pull_buffer; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rattletrap_Cog_Immune : public CDOTA_Modifier_DebuffImmune { public: @@ -56719,16 +57519,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Self_Bonuses : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x11e8 - int32_t extra_pull_buffer; // 0x11ec + int32_t cogs_radius; // 0x12b8 + int32_t extra_pull_buffer; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rattletrap_Cog_Self_Bonuses : public CDOTA_Buff { public: @@ -56736,141 +57536,148 @@ public: }; // Alignment: 9 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Rattletrap_Cog : public CDOTA_Buff { public: - bool m_bEnabled; // 0x11e8 + bool m_bEnabled; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t trigger_distance; // 0x11ec - int32_t push_length; // 0x11f0 - float push_duration; // 0x11f4 - int32_t cogs_radius; // 0x11f8 - int32_t attacks_to_destroy; // 0x11fc - int32_t m_iCogIndex; // 0x1200 - ParticleIndex_t m_nFXIndex; // 0x1204 - Vector vCenter; // 0x1208 + int32_t trigger_distance; // 0x12bc + int32_t push_length; // 0x12c0 + float push_duration; // 0x12c4 + int32_t cogs_radius; // 0x12c8 + int32_t attacks_to_destroy; // 0x12cc + int32_t m_iCogIndex; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + Vector vCenter; // 0x12d8 }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Rattletrap_CogPush : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x11e8 - Vector m_vDirection; // 0x11ec - float m_flEndTime; // 0x11f8 - float m_flCurTime; // 0x11fc - int32_t push_length; // 0x1200 - float push_duration; // 0x1204 + GameTime_t m_flStartTime; // 0x12b8 + Vector m_vDirection; // 0x12bc + float m_flEndTime; // 0x12c8 + float m_flCurTime; // 0x12cc + int32_t push_length; // 0x12d0 + float push_duration; // 0x12d4 }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Rattletrap_RocketFlare : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_vecEnemyHeroesInFog; // 0x558 + CUtlVector< CHandle< CBaseEntity > > m_vecEnemyHeroesInFog; // 0x568 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rattletrap_RocketFlare_Slow : public CDOTA_Buff { public: - float slow_pct; // 0x11e8 + float slow_pct; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Clockwerk_RocketFlare_Thinker : public CDOTA_Buff { public: - float radius; // 0x11e8 - float duration; // 0x11ec + float radius; // 0x12b8 + float duration; // 0x12bc }; -// Alignment: 0 -// Size: 0x11f0 +// Alignment: 2 +// Size: 0x12c8 class CDOTA_Modifier_Rattletrap_RocketFlare : public CDOTA_Buff { +private: + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - // No members available + int32_t projectile_vision_radius; // 0x12c0 + float projectile_vision_duration; // 0x12c4 }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Rattletrap_RocketFlare_Overclock : public CDOTA_Buff { public: - float rocket_flare_interval; // 0x11e8 - int32_t rocket_flare_offset_pct; // 0x11ec - int32_t rocket_flare_rockets; // 0x11f0 - int32_t m_nRocketsFired; // 0x11f4 - int32_t radius; // 0x11f8 - Vector m_vOriginalTarget; // 0x11fc + float rocket_flare_interval; // 0x12b8 + int32_t rocket_flare_offset_pct; // 0x12bc + int32_t rocket_flare_rockets; // 0x12c0 + int32_t m_nRocketsFired; // 0x12c4 + int32_t radius; // 0x12c8 + Vector m_vOriginalTarget; // 0x12cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Rattletrap_JetPack : public CDOTABaseAbility { public: // No members available }; -// Alignment: 10 -// Size: 0x1260 +// Alignment: 11 +// Size: 0x1338 class CDOTA_Modifier_Rattletrap_JetPack : public CDOTA_Buff { public: - int32_t bonus_speed; // 0x11e8 - float turn_rate; // 0x11ec - GameTime_t m_flStartTime; // 0x11f0 - float tick_interval; // 0x11f4 - float m_flFacingTarget; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc - CUtlVector< float32 > m_flTurnHistory; // 0x1200 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x1218 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x1230 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1248 + int32_t m_nMovementSpeed; // 0x12b8 + int32_t bonus_speed; // 0x12bc + float turn_rate; // 0x12c0 + GameTime_t m_flStartTime; // 0x12c4 + float tick_interval; // 0x12c8 + float m_flFacingTarget; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d0 +private: + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 +public: + CUtlVector< float32 > m_flTurnHistory; // 0x12d8 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x12f0 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x1308 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1320 }; // Alignment: 4 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Rattletrap_Hookshot : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 - Vector m_vProjectileVelocity; // 0x55c - bool m_bRetract; // 0x568 + ParticleIndex_t m_nFXIndex; // 0x568 + Vector m_vProjectileVelocity; // 0x56c + bool m_bRetract; // 0x578 private: - [[maybe_unused]] uint8_t __pad0569[0xb]; // 0x569 + [[maybe_unused]] uint8_t __pad0579[0xb]; // 0x579 public: - CHandle< CBaseEntity > m_hSourceCaster; // 0x574 + CHandle< CBaseEntity > m_hSourceCaster; // 0x584 }; // Alignment: 7 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Rattletrap_Hookshot : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_hDamaged; // 0x11e8 - CHandle< CBaseEntity > m_hTarget; // 0x1200 - Vector m_vStartPosition; // 0x1204 + CUtlVector< CHandle< CBaseEntity > > m_hDamaged; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12d0 + Vector m_vStartPosition; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1210[0x8]; // 0x1210 + [[maybe_unused]] uint8_t __pad12e0[0x8]; // 0x12e0 public: - int32_t speed; // 0x1218 - float stun_radius; // 0x121c - float damage; // 0x1220 - float duration; // 0x1224 + int32_t speed; // 0x12e8 + float stun_radius; // 0x12ec + float damage; // 0x12f0 + float duration; // 0x12f4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clockwerk : public CDOTABaseAbility { public: @@ -56878,7 +57685,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clockwerk_2 : public CDOTABaseAbility { public: @@ -56886,7 +57693,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clockwerk_3 : public CDOTABaseAbility { public: @@ -56894,7 +57701,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clockwerk_4 : public CDOTABaseAbility { public: @@ -56902,7 +57709,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clockwerk_5 : public CDOTABaseAbility { public: @@ -56910,7 +57717,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clockwerk_6 : public CDOTABaseAbility { public: @@ -56918,7 +57725,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clockwerk_7 : public CDOTABaseAbility { public: @@ -56926,7 +57733,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clockwerk_8 : public CDOTABaseAbility { public: @@ -56934,7 +57741,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Furion_Greater_Sprout : public CDOTABaseAbility { public: @@ -56942,16 +57749,32 @@ public: }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Furion_Sprout : public CDOTABaseAbility { public: - CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x558 - int32_t m_iShardCount; // 0x55c + CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x568 + int32_t m_iShardCount; // 0x56c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 +class CDOTA_Modifier_Furion_Sprout_Damage_Aura : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Furion_Sprout_Damage : public CDOTA_Buff +{ +public: + int32_t sprout_damage; // 0x12b8 +}; + +// Alignment: 0 +// Size: 0x12b8 class CDOTA_Modifier_Furion_Sprout_Blind_Aura : public CDOTA_Buff { public: @@ -56959,15 +57782,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Furion_Sprout_Blind : public CDOTA_Buff { public: - int32_t blind_pct; // 0x11e8 + int32_t blind_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Furion_Sprout_Tether_Aura : public CDOTA_Buff { public: @@ -56975,7 +57798,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Furion_Sprout_Tether : public CDOTA_Buff { public: @@ -56983,7 +57806,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Furion_Sprout_Marker : public CDOTA_Buff { public: @@ -56991,7 +57814,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Furion_Sprout_Entangle : public CDOTA_Buff { public: @@ -56999,35 +57822,35 @@ public: }; // Alignment: 3 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Furion_Teleportation : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndexStart; // 0x558 - ParticleIndex_t m_nFXIndexEnd; // 0x55c - ParticleIndex_t m_nFXIndexEndTeam; // 0x560 + ParticleIndex_t m_nFXIndexStart; // 0x568 + ParticleIndex_t m_nFXIndexEnd; // 0x56c + ParticleIndex_t m_nFXIndexEndTeam; // 0x570 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_Arboreal_Might_Attack_Damage : public CDOTA_Buff { public: - float damage_per_stack; // 0x11e8 - int32_t iMaxStacks; // 0x11ec - ParticleIndex_t m_nFXIndex; // 0x11f0 + float damage_per_stack; // 0x12b8 + int32_t iMaxStacks; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Furion_Arboreal_Might_Armor : public CDOTA_Buff { public: - float armor_per_stack; // 0x11e8 + float armor_per_stack; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Furion_ForceOfNature : public CDOTABaseAbility { public: @@ -57035,7 +57858,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Furion_WrathOfNature : public CDOTABaseAbility { public: @@ -57043,28 +57866,28 @@ public: }; // Alignment: 11 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Furion_WrathOfNature_Thinker : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t max_targets; // 0x11ec - int32_t damage_percent_add; // 0x11f0 - float jump_delay; // 0x11f4 - int32_t m_iFixedDamage; // 0x11f8 - GameTime_t m_flLastTickTime; // 0x11fc - float m_flTimeAccumulator; // 0x1200 + int32_t damage; // 0x12b8 + int32_t max_targets; // 0x12bc + int32_t damage_percent_add; // 0x12c0 + float jump_delay; // 0x12c4 + int32_t m_iFixedDamage; // 0x12c8 + GameTime_t m_flLastTickTime; // 0x12cc + float m_flTimeAccumulator; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< CBaseEntity > > m_hHitTargets; // 0x1208 - int32_t m_nBaseDamage; // 0x1220 - int32_t m_nMaxTargets; // 0x1224 - float m_flJumpDelay; // 0x1228 + CUtlVector< CHandle< CBaseEntity > > m_hHitTargets; // 0x12d8 + int32_t m_nBaseDamage; // 0x12f0 + int32_t m_nMaxTargets; // 0x12f4 + float m_flJumpDelay; // 0x12f8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Furion_WrathOfNature_Buff : public CDOTA_Buff { public: @@ -57072,7 +57895,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Furion_WrathOfNature_BuffCounter : public CDOTA_Buff { public: @@ -57080,7 +57903,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Furion_WrathOfNature_Spawn : public CDOTA_Buff { public: @@ -57088,7 +57911,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Furion_CurseOfTheForest : public CDOTABaseAbility { public: @@ -57096,36 +57919,36 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_CurseOfTheForest : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t damage_per_tree; // 0x11ec - int32_t slow_per_tree; // 0x11f0 - int32_t m_nSlow; // 0x11f4 + int32_t radius; // 0x12b8 + int32_t damage_per_tree; // 0x12bc + int32_t slow_per_tree; // 0x12c0 + int32_t m_nSlow; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Treant_Bonus : public CDOTA_Buff { public: - int32_t treant_hp_bonus; // 0x11e8 - int32_t treant_damage_bonus; // 0x11ec + int32_t treant_hp_bonus; // 0x12b8 + int32_t treant_damage_bonus; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Treant_Large_Bonus : public CDOTA_Buff { public: - int32_t treant_large_hp_bonus; // 0x11e8 - int32_t treant_large_damage_bonus; // 0x11ec + int32_t treant_large_hp_bonus; // 0x12b8 + int32_t treant_large_damage_bonus; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Furion : public CDOTABaseAbility { public: @@ -57133,7 +57956,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Furion_2 : public CDOTABaseAbility { public: @@ -57141,7 +57964,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Furion_3 : public CDOTABaseAbility { public: @@ -57149,7 +57972,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Furion_4 : public CDOTABaseAbility { public: @@ -57157,7 +57980,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Furion_5 : public CDOTABaseAbility { public: @@ -57165,7 +57988,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Life_Stealer_Feast : public CDOTABaseAbility { public: @@ -57173,16 +57996,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Life_Stealer_Feast : public CDOTA_Buff { public: - float hp_leech_percent; // 0x11e8 - float hp_damage_percent; // 0x11ec + float hp_leech_percent; // 0x12b8 + float hp_damage_percent; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Life_Stealer_Ghoul_Frenzy : public CDOTABaseAbility { public: @@ -57190,24 +58013,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Life_Stealer_Ghoul_Frenzy : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x11e8 + int32_t attack_speed_bonus; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Life_Stealer_Ghoul_Frenzy_Slow : public CDOTA_Buff { public: - int32_t miss_pct; // 0x11e8 - int32_t movement_slow; // 0x11ec + int32_t miss_pct; // 0x12b8 + int32_t movement_slow; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Life_Stealer_Open_Wounds : public CDOTABaseAbility { public: @@ -57215,20 +58038,20 @@ public: }; // Alignment: 6 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Life_Stealer_Open_Wounds : public CDOTA_Buff { public: - int32_t slow_steps[8]; // 0x11e8 - int32_t heal_percent; // 0x1208 - int32_t m_nDamageTracker; // 0x120c - int32_t damage_threshold; // 0x1210 - int32_t spread_radius; // 0x1214 - int32_t max_health_as_damage_pct; // 0x1218 + int32_t slow_steps[8]; // 0x12b8 + int32_t heal_percent; // 0x12d8 + int32_t m_nDamageTracker; // 0x12dc + int32_t damage_threshold; // 0x12e0 + int32_t spread_radius; // 0x12e4 + int32_t max_health_as_damage_pct; // 0x12e8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Life_Stealer_Empty1 : public CDOTABaseAbility { public: @@ -57236,7 +58059,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Life_Stealer_Empty2 : public CDOTABaseAbility { public: @@ -57244,7 +58067,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Life_Stealer_Empty3 : public CDOTABaseAbility { public: @@ -57252,7 +58075,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Life_Stealer_Infest : public CDOTABaseAbility { public: @@ -57260,35 +58083,35 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Life_Stealer_Infest : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - int32_t m_nFXIndex; // 0x11ec - float self_regen; // 0x11f0 - int32_t m_nStartingHealth; // 0x11f4 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + int32_t m_nFXIndex; // 0x12bc + float self_regen; // 0x12c0 + int32_t m_nStartingHealth; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Life_Stealer_Infest_Effect : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_health; // 0x11ec + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_health; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Life_Stealer_Infest_Enemy_Hero : public CDOTA_Buff { public: - float attack_rate_enemy; // 0x11e8 + float attack_rate_enemy; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Life_Stealer_Consume : public CDOTABaseAbility { public: @@ -57296,7 +58119,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Life_Stealer_Control : public CDOTABaseAbility { public: @@ -57304,33 +58127,33 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Life_Stealer_Infest_Creep : public CDOTA_Buff { public: - bool m_bChangedTeams; // 0x11e8 + bool m_bChangedTeams; // 0x12b8 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Life_Stealer_Assimilate : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hLastAssimilation; // 0x558 + CHandle< CBaseEntity > m_hLastAssimilation; // 0x568 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Life_Stealer_Assimilate : public CDOTA_Buff { public: - float order_lock_duration; // 0x11e8 - GameTime_t m_fOrderLockDone; // 0x11ec - int32_t m_nFXIndex; // 0x11f0 + float order_lock_duration; // 0x12b8 + GameTime_t m_fOrderLockDone; // 0x12bc + int32_t m_nFXIndex; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Life_Stealer_Assimilate_Effect : public CDOTA_Buff { public: @@ -57338,7 +58161,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Life_Stealer_AssimilateEject : public CDOTABaseAbility { public: @@ -57346,7 +58169,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Life_Stealer_Rage : public CDOTABaseAbility { public: @@ -57354,16 +58177,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Life_Stealer_Rage : public CDOTA_Buff { public: - int32_t movement_speed_bonus; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t movement_speed_bonus; // 0x12b8 + int32_t bonus_armor; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DarkSeer_Normal_Punch : public CDOTABaseAbility { public: @@ -57371,45 +58194,45 @@ public: }; // Alignment: 4 -// Size: 0x1360 +// Size: 0x1430 class CDOTA_Modifier_DarkSeer_Normal_Punch : public CDOTA_Buff { public: - Vector m_PositionIndex[30]; // 0x11e8 - ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1350 - float m_flDistanceTraveled; // 0x1354 - bool m_bIsValidTarget; // 0x1358 + Vector m_PositionIndex[30]; // 0x12b8 + ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1420 + float m_flDistanceTraveled; // 0x1424 + bool m_bIsValidTarget; // 0x1428 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_DarkSeer_Normal_Punch_Illusion_Thinker : public CDOTA_Buff { public: - Vector m_vecIllusionSpawnPosition; // 0x11e8 - int32_t speed; // 0x11f4 - CHandle< CBaseEntity > m_hTarget; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc + Vector m_vecIllusionSpawnPosition; // 0x12b8 + int32_t speed; // 0x12c4 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_DarkSeer_Vacuum : public CDOTABaseAbility { public: - Vector m_vPullLocation; // 0x558 + Vector m_vPullLocation; // 0x568 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DarkSeer_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x11e8 + float pull_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DarkSeer_IonShell : public CDOTABaseAbility { public: @@ -57417,126 +58240,126 @@ public: }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_IonShell : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t damage_per_second; // 0x11ec - float tick_interval; // 0x11f0 - int32_t bonus_health; // 0x11f4 + int32_t radius; // 0x12b8 + int32_t damage_per_second; // 0x12bc + float tick_interval; // 0x12c0 + int32_t bonus_health; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_IonShell_Slow : public CDOTA_Buff { public: // No members available }; -// Alignment: 0 -// Size: 0x558 +// Alignment: 1 +// Size: 0x570 class CDOTA_Ability_DarkSeer_Surge : public CDOTABaseAbility { public: - // No members available + bool m_bIsAltCastState; // 0x568 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_DarkSeer_Surge : public CDOTA_Buff { public: - int32_t speed_boost; // 0x11e8 - int32_t trail_radius; // 0x11ec - float trail_duration; // 0x11f0 - Vector m_vLastTrailThinkerLocation; // 0x11f4 - bool m_bTrailStarted; // 0x1200 + int32_t speed_boost; // 0x12b8 + int32_t trail_radius; // 0x12bc + float trail_duration; // 0x12c0 + Vector m_vLastTrailThinkerLocation; // 0x12c4 + bool m_bTrailStarted; // 0x12d0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DarkSeer_Surge_Trail_Thinker : public CDOTA_Buff { public: - int32_t trail_radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t trail_radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_DarkSeer_Surge_Trail : public CDOTA_Buff { public: - int32_t trail_move_slow; // 0x11e8 - int32_t trail_damage; // 0x11ec - float trail_damage_interval; // 0x11f0 + int32_t trail_move_slow; // 0x12b8 + int32_t trail_damage; // 0x12bc + float trail_damage_interval; // 0x12c0 }; // Alignment: 5 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_DarkSeer_WallOfReplica : public CDOTABaseAbility { public: - int32_t width; // 0x558 - Vector m_vEndpoint; // 0x55c - Vector m_vSlashDir; // 0x568 - int32_t m_nDashProjectileID; // 0x574 - Vector m_vDashProjectileLocation; // 0x578 + int32_t width; // 0x568 + Vector m_vEndpoint; // 0x56c + Vector m_vSlashDir; // 0x578 + int32_t m_nDashProjectileID; // 0x584 + Vector m_vDashProjectileLocation; // 0x588 }; // Alignment: 7 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_DarkSeer_WallOfReplica : public CDOTA_Buff { public: - Vector m_vWallDirection; // 0x11e8 - Vector m_vWallRight; // 0x11f4 + Vector m_vWallDirection; // 0x12b8 + Vector m_vWallRight; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad1200[0x18]; // 0x1200 + [[maybe_unused]] uint8_t __pad12d0[0x18]; // 0x12d0 public: - CUtlMap< int32, GameTime_t > m_PreventReplicateTime; // 0x1218 - int32_t width; // 0x1238 - float slow_duration; // 0x123c - int32_t replica_damage_incoming; // 0x1240 - int32_t replica_damage_outgoing; // 0x1244 + CUtlMap< int32, GameTime_t > m_PreventReplicateTime; // 0x12e8 + int32_t width; // 0x1308 + float slow_duration; // 0x130c + int32_t replica_damage_incoming; // 0x1310 + int32_t replica_damage_outgoing; // 0x1314 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DarkSeer_WallOfReplica_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DarkSeer_WallOfReplica_Illusion : public CDOTA_Buff { public: - int32_t replica_scale; // 0x11e8 + int32_t replica_scale; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DarkSeer_Normal_Punch_Illusion : public CDOTA_Buff { public: - int32_t replica_scale; // 0x11e8 + int32_t replica_scale; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DarkSeer_IonShell_IllusionInvulnerability : public CDOTA_Modifier_Invulnerable { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dark_Seer : public CDOTABaseAbility { public: @@ -57544,7 +58367,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_2 : public CDOTABaseAbility { public: @@ -57552,7 +58375,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_3 : public CDOTABaseAbility { public: @@ -57560,7 +58383,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_4 : public CDOTABaseAbility { public: @@ -57568,7 +58391,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_5 : public CDOTABaseAbility { public: @@ -57576,7 +58399,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_6 : public CDOTABaseAbility { public: @@ -57584,7 +58407,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_7 : public CDOTABaseAbility { public: @@ -57592,7 +58415,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_8 : public CDOTABaseAbility { public: @@ -57600,7 +58423,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_9 : public CDOTABaseAbility { public: @@ -57608,7 +58431,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_10 : public CDOTABaseAbility { public: @@ -57616,7 +58439,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_11 : public CDOTABaseAbility { public: @@ -57624,7 +58447,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_12 : public CDOTABaseAbility { public: @@ -57632,7 +58455,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_13 : public CDOTABaseAbility { public: @@ -57640,7 +58463,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Clinkz_SearingArrows : public CDOTABaseAbility { public: @@ -57648,40 +58471,40 @@ public: }; // Alignment: 3 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Clinkz_SearingArrows : public CDOTA_Buff { public: - int32_t damage_bonus; // 0x11e8 + int32_t damage_bonus; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 - bool m_bBonusAttack; // 0x1208 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + bool m_bBonusAttack; // 0x12d8 }; // Alignment: 2 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Clinkz_DeathPact : public CDOTABaseAbility { public: - int32_t m_nDevourFirstSlot; // 0x558 + int32_t m_nDevourFirstSlot; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c public: - CUtlVector< CHandle< CBaseEntity > > m_hSkeletonSummons; // 0x560 + CUtlVector< CHandle< CBaseEntity > > m_hSkeletonSummons; // 0x570 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Clinkz_DeathPact : public CDOTA_Buff { public: - int32_t health_gain; // 0x11e8 + int32_t health_gain; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Clinkz_DeathPact_Permanent_Buff : public CDOTA_Buff { public: @@ -57689,59 +58512,59 @@ public: }; // Alignment: 5 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_Clinkz_Burning_Army : public CDOTABaseAbility { public: - int32_t range; // 0x558 - Vector m_vEndpoint; // 0x55c - Vector m_vSlashDir; // 0x568 - int32_t m_nDashProjectileID; // 0x574 - Vector m_vDashProjectileLocation; // 0x578 + int32_t range; // 0x568 + Vector m_vEndpoint; // 0x56c + Vector m_vSlashDir; // 0x578 + int32_t m_nDashProjectileID; // 0x584 + Vector m_vDashProjectileLocation; // 0x588 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Clinkz_Burning_Army_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x11e8 - int32_t count; // 0x11ec - int32_t range; // 0x11f0 - Vector m_vFacePosition; // 0x11f4 + int32_t m_iCount; // 0x12b8 + int32_t count; // 0x12bc + int32_t range; // 0x12c0 + Vector m_vFacePosition; // 0x12c4 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Clinkz_Burning_Army : public CDOTA_Buff { public: - float attack_rate; // 0x11e8 - int32_t damage_percent; // 0x11ec - int32_t skeleton_health; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - int32_t skeleton_building_damage_reduction; // 0x11f8 - int32_t m_nDamageCounter; // 0x11fc + float attack_rate; // 0x12b8 + int32_t damage_percent; // 0x12bc + int32_t skeleton_health; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + int32_t skeleton_building_damage_reduction; // 0x12c8 + int32_t m_nDamageCounter; // 0x12cc }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Clinkz_WindWalk : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_hSkeletonSummons; // 0x558 + CUtlVector< CHandle< CBaseEntity > > m_hSkeletonSummons; // 0x568 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Clinkz_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t move_speed_bonus_pct; // 0x11f8 + int32_t move_speed_bonus_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Clinkz_Strafe : public CDOTABaseAbility { public: @@ -57749,28 +58572,28 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Clinkz_Strafe : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x11e8 - int32_t attack_range_bonus; // 0x11ec - int32_t archer_attack_speed_pct; // 0x11f0 + int32_t attack_speed_bonus; // 0x12b8 + int32_t attack_range_bonus; // 0x12bc + int32_t archer_attack_speed_pct; // 0x12c0 }; // Alignment: 4 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Clinkz_BurningBarrage : public CDOTABaseAbility { public: - Vector m_vStartPos; // 0x558 - int32_t m_iArrowProjectile; // 0x564 - int32_t m_nFXIndex; // 0x568 - float arrow_speed; // 0x56c + Vector m_vStartPos; // 0x568 + int32_t m_iArrowProjectile; // 0x574 + int32_t m_nFXIndex; // 0x578 + float arrow_speed; // 0x57c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Clinkz_BurningBarrage_DamageReduction : public CDOTA_Buff { public: @@ -57778,27 +58601,27 @@ public: }; // Alignment: 13 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Clinkz_BurningBarrage : public CDOTA_Buff { public: - int32_t m_iArrowCount; // 0x11e8 - Vector m_vOriginalTarget; // 0x11ec - int32_t arrow_width; // 0x11f8 - float arrow_speed; // 0x11fc - float arrow_range_multiplier; // 0x1200 - int32_t wave_count; // 0x1204 - int32_t arrow_count_per_wave; // 0x1208 - int32_t arrow_angle; // 0x120c - int32_t m_iLoopCount; // 0x1210 - float m_flInterval; // 0x1214 - float m_flCycleDelay; // 0x1218 - float m_flTimeWaste; // 0x121c - GameTime_t m_flExpectedTime; // 0x1220 + int32_t m_iArrowCount; // 0x12b8 + Vector m_vOriginalTarget; // 0x12bc + int32_t arrow_width; // 0x12c8 + float arrow_speed; // 0x12cc + float arrow_range_multiplier; // 0x12d0 + int32_t wave_count; // 0x12d4 + int32_t arrow_count_per_wave; // 0x12d8 + int32_t arrow_angle; // 0x12dc + int32_t m_iLoopCount; // 0x12e0 + float m_flInterval; // 0x12e4 + float m_flCycleDelay; // 0x12e8 + float m_flTimeWaste; // 0x12ec + GameTime_t m_flExpectedTime; // 0x12f0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clinkz_1 : public CDOTABaseAbility { public: @@ -57806,7 +58629,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clinkz_2 : public CDOTABaseAbility { public: @@ -57814,7 +58637,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clinkz_3 : public CDOTABaseAbility { public: @@ -57822,7 +58645,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clinkz_4 : public CDOTABaseAbility { public: @@ -57830,7 +58653,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clinkz_5 : public CDOTABaseAbility { public: @@ -57838,7 +58661,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clinkz_6 : public CDOTABaseAbility { public: @@ -57846,7 +58669,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clinkz_7 : public CDOTABaseAbility { public: @@ -57854,7 +58677,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clinkz_8 : public CDOTABaseAbility { public: @@ -57862,7 +58685,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clinkz_9 : public CDOTABaseAbility { public: @@ -57870,7 +58693,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clinkz_10 : public CDOTABaseAbility { public: @@ -57878,7 +58701,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clinkz_11 : public CDOTABaseAbility { public: @@ -57886,7 +58709,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Clinkz_12 : public CDOTABaseAbility { public: @@ -57894,7 +58717,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Clinkz_Empty1 : public CDOTABaseAbility { public: @@ -57902,7 +58725,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Clinkz_Tar_Bomb : public CDOTABaseAbility { public: @@ -57910,38 +58733,38 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Clinkz_Tar_Bomb_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float slow_duration; // 0x11ec - ParticleIndex_t m_nFXIndex; // 0x11f0 + int32_t radius; // 0x12b8 + float slow_duration; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Clinkz_Tar_Bomb_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 + int32_t slow_movement_speed; // 0x12b8 }; // Alignment: 3 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Clinkz_Tar_Bomb_SearingArrows : public CDOTA_Buff { public: - int32_t damage_bonus; // 0x11e8 + int32_t damage_bonus; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 - bool m_bBonusAttack; // 0x1208 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + bool m_bBonusAttack; // 0x12d8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Omniknight_Hammer_Of_Purity : public CDOTABaseAbility { public: @@ -57949,24 +58772,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Omniknight_HammerOfPurity : public CDOTA_Buff { public: - GameTime_t m_flNextAttackTime; // 0x11e8 - float attack_cooldown; // 0x11ec + GameTime_t m_flNextAttackTime; // 0x12b8 + float attack_cooldown; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Omniknight_Hammer_Of_Purity_Bomb : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Omniknight_Angelic_Flight : public CDOTABaseAbility { public: @@ -57974,16 +58797,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Omniknight_Angelic_Flight : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - int32_t hp_regen; // 0x11ec + int32_t movement_speed; // 0x12b8 + int32_t hp_regen; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Omniknight_Purification : public CDOTABaseAbility { public: @@ -57991,7 +58814,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Omniknight_Pacify : public CDOTABaseAbility { public: @@ -57999,15 +58822,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Omniknight_Pacify : public CDOTA_Buff { public: - int32_t spell_resistance_reduction; // 0x11e8 + int32_t spell_resistance_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Omniknight_Repel : public CDOTABaseAbility { public: @@ -58015,17 +58838,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Omniknight_Repel : public CDOTA_Buff { public: - int32_t status_resistance; // 0x11e8 - float hp_regen; // 0x11ec - int32_t bonus_str; // 0x11f0 + int32_t status_resistance; // 0x12b8 + float hp_regen; // 0x12bc + int32_t bonus_str; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Omniknight_Degen_Aura : public CDOTABaseAbility { public: @@ -58033,23 +58856,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Omniknight_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x11e8 + int32_t speed_bonus; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Omniknight_Martyr : public CDOTABaseAbility { public: @@ -58057,18 +58880,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Omniknight_Marty : public CDOTA_Buff { public: - int32_t base_strength; // 0x11e8 - int32_t base_hpregen; // 0x11ec - int32_t strength_bonus; // 0x11f0 - int32_t nDebuffAmount; // 0x11f4 + int32_t base_strength; // 0x12b8 + int32_t base_hpregen; // 0x12bc + int32_t strength_bonus; // 0x12c0 + int32_t nDebuffAmount; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Omniknight_GuardianAngel : public CDOTABaseAbility { public: @@ -58076,61 +58899,64 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Omniknight_GuardianAngel : public CDOTA_Buff { public: - int32_t scepter_status_resist; // 0x11e8 + int32_t scepter_status_resist; // 0x12b8 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Enchantress_Little_Friends : public CDOTABaseAbility { public: - float duration; // 0x558 - int32_t radius; // 0x55c + float duration; // 0x568 + int32_t radius; // 0x56c }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Enchantress_Little_Friends_Kill_Credit : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 }; -// Alignment: 7 -// Size: 0x1208 +// Alignment: 10 +// Size: 0x12e0 class CDOTA_Modifier_Enchantress_Little_Friends_Aura : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - int32_t m_nAlliesTaunted; // 0x11ec - bool m_bRelicTriggered; // 0x11f0 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + int32_t m_nAlliesTaunted; // 0x12bc + bool m_bRelicTriggered; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - int32_t radius; // 0x11f4 - int32_t damage_amplification; // 0x11f8 - int32_t damage_reduction; // 0x11fc - GameTime_t m_flLastSeen; // 0x1200 + int32_t radius; // 0x12c4 + int32_t damage_amplification; // 0x12c8 + int32_t damage_reduction; // 0x12cc + float root_base_duration; // 0x12d0 + float root_per_target; // 0x12d4 + float max_root; // 0x12d8 + GameTime_t m_flLastSeen; // 0x12dc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Enchantress_Little_Friends : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hZombieTarget; // 0x11e8 - CHandle< CBaseEntity > m_hDesiredTarget; // 0x11ec - int32_t damage_reduction; // 0x11f0 - int32_t bonus_attack_speed; // 0x11f4 - int32_t bonus_move_speed; // 0x11f8 + CHandle< CBaseEntity > m_hZombieTarget; // 0x12b8 + CHandle< CBaseEntity > m_hDesiredTarget; // 0x12bc + int32_t damage_reduction; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c4 + int32_t bonus_move_speed; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Enchantress_Bunny_Hop : public CDOTABaseAbility { public: @@ -58138,24 +58964,24 @@ public: }; // Alignment: 10 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Enchantress_Bunny_Hop : public CDOTA_Buff { public: - float hop_duration; // 0x11e8 - int32_t hop_height; // 0x11ec - int32_t hop_distance; // 0x11f0 - float m_flStartZ; // 0x11f4 - float m_flCurTime; // 0x11f8 - float m_flJumpDuration; // 0x11fc - float m_flJumpHeight; // 0x1200 - Vector m_vTargetHorizontalDirection; // 0x1204 - CUtlVector< CHandle< CBaseEntity > > hUnitsToHit; // 0x1210 - bool m_bLaunched; // 0x1228 + float hop_duration; // 0x12b8 + int32_t hop_height; // 0x12bc + int32_t hop_distance; // 0x12c0 + float m_flStartZ; // 0x12c4 + float m_flCurTime; // 0x12c8 + float m_flJumpDuration; // 0x12cc + float m_flJumpHeight; // 0x12d0 + Vector m_vTargetHorizontalDirection; // 0x12d4 + CUtlVector< CHandle< CBaseEntity > > hUnitsToHit; // 0x12e0 + bool m_bLaunched; // 0x12f8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Enchantress_Untouchable : public CDOTABaseAbility { public: @@ -58163,7 +58989,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Enchantress_Untouchable : public CDOTA_Buff { public: @@ -58171,24 +58997,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Enchantress_Untouchable_Slow : public CDOTA_Buff { public: - int32_t slow_attack_speed; // 0x11e8 - ParticleIndex_t m_nStatusFXIndex; // 0x11ec + int32_t slow_attack_speed; // 0x12b8 + ParticleIndex_t m_nStatusFXIndex; // 0x12bc }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Enchantress_Enchant : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_hUnits; // 0x558 + CUtlVector< CHandle< CBaseEntity > > m_hUnits; // 0x568 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Enchantress_Enchant : public CDOTA_Buff { public: @@ -58196,26 +59022,26 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Enchantress_Enchant_Controlled : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t enchant_health; // 0x11ec - int32_t enchant_armor; // 0x11f0 - int32_t enchant_damage; // 0x11f4 + int32_t bonus_movement_speed; // 0x12b8 + int32_t enchant_health; // 0x12bc + int32_t enchant_armor; // 0x12c0 + int32_t enchant_damage; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Enchantress_Enchant_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 + int32_t slow_movement_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Enchantress_NaturesAttendants : public CDOTABaseAbility { public: @@ -58223,36 +59049,36 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Enchantress_NaturesAttendants_Shard : public CDOTA_Buff { public: - float heal_interval; // 0x11e8 - float heal; // 0x11ec - int32_t radius; // 0x11f0 - int32_t shard_permanent_wisp_count; // 0x11f4 - bool m_bActive; // 0x11f8 + float heal_interval; // 0x12b8 + float heal; // 0x12bc + int32_t radius; // 0x12c0 + int32_t shard_permanent_wisp_count; // 0x12c4 + bool m_bActive; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - ParticleIndex_t m_nWispFXIndex; // 0x11fc + ParticleIndex_t m_nWispFXIndex; // 0x12cc }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Enchantress_NaturesAttendants : public CDOTA_Buff { public: - float heal_interval; // 0x11e8 - float heal; // 0x11ec - int32_t radius; // 0x11f0 - int32_t wisp_count; // 0x11f4 - int32_t movespeed; // 0x11f8 - ParticleIndex_t m_nWispFXIndex; // 0x11fc + float heal_interval; // 0x12b8 + float heal; // 0x12bc + int32_t radius; // 0x12c0 + int32_t wisp_count; // 0x12c4 + int32_t movespeed; // 0x12c8 + ParticleIndex_t m_nWispFXIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Enchantress_Impetus : public CDOTABaseAbility { public: @@ -58260,21 +59086,21 @@ public: }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Enchantress_Impetus : public CDOTA_Buff { public: - float distance_damage_pct; // 0x11e8 - int32_t distance_cap; // 0x11ec - float creep_multiplier; // 0x11f0 + float distance_damage_pct; // 0x12b8 + int32_t distance_cap; // 0x12bc + float creep_multiplier; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Huskar_Inner_Fire : public CDOTABaseAbility { public: @@ -58282,28 +59108,28 @@ public: }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Huskar_Inner_Fire_Knockback : public CDOTA_Buff { public: - Vector m_vDirection; // 0x11e8 - float m_flEndTime; // 0x11f4 - float m_flCurTime; // 0x11f8 - float knockback_distance; // 0x11fc - float knockback_duration; // 0x1200 - float effective_distance; // 0x1204 + Vector m_vDirection; // 0x12b8 + float m_flEndTime; // 0x12c4 + float m_flCurTime; // 0x12c8 + float knockback_distance; // 0x12cc + float knockback_duration; // 0x12d0 + float effective_distance; // 0x12d4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Huskar_Inner_Fire_Disarm : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x11e8 + int32_t movement_slow_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Huskar_Inner_Vitality : public CDOTABaseAbility { public: @@ -58311,27 +59137,27 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Huskar_Inner_Vitality : public CDOTA_Buff { public: - int32_t heal; // 0x11e8 - float attrib_bonus; // 0x11ec - float hurt_attrib_bonus; // 0x11f0 - float hurt_percent; // 0x11f4 + int32_t heal; // 0x12b8 + float attrib_bonus; // 0x12bc + float hurt_attrib_bonus; // 0x12c0 + float hurt_percent; // 0x12c4 }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Huskar_Burning_Spear_Self : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 - float duration; // 0x1200 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + float duration; // 0x12d0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Huskar_Burning_Spear : public CDOTABaseAbility { public: @@ -58339,23 +59165,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Huskar_Burning_Spear_Counter : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Huskar_Burning_Spear_Debuff : public CDOTA_Buff { public: - int32_t burn_damage; // 0x11e8 + int32_t burn_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Huskar_Berserkers_Blood : public CDOTABaseAbility { public: @@ -58363,55 +59189,55 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Huskar_Berserkers_Blood : public CDOTA_Buff { public: - int32_t maximum_health_regen; // 0x11e8 - int32_t maximum_attack_speed; // 0x11ec - int32_t maximum_magic_resist; // 0x11f0 - int32_t hp_threshold_max; // 0x11f4 + int32_t maximum_health_regen; // 0x12b8 + int32_t maximum_attack_speed; // 0x12bc + int32_t maximum_magic_resist; // 0x12c0 + int32_t hp_threshold_max; // 0x12c4 }; // Alignment: 3 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_Huskar_Life_Break : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - Vector m_vProjectileLocation; // 0x568 - CHandle< CBaseEntity > m_hTarget; // 0x574 - bool m_bInterrupted; // 0x578 + Vector m_vProjectileLocation; // 0x578 + CHandle< CBaseEntity > m_hTarget; // 0x584 + bool m_bInterrupted; // 0x588 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Huskar_Life_Break_Taunt : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hZombieTarget; // 0x11e8 - bool m_bDidSetAttackTarget; // 0x11ec + CHandle< CBaseEntity > m_hZombieTarget; // 0x12b8 + bool m_bDidSetAttackTarget; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Huskar_Life_Break_Charge : public CDOTA_Modifier_DebuffImmune { public: // No members available }; -// Alignment: 0 -// Size: 0x11f0 +// Alignment: 1 +// Size: 0x12c8 class CDOTA_Modifier_Huskar_Life_Break : public CDOTA_Modifier_MoveSpeed_Percentage { public: - // No members available + int32_t attack_speed; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_NightStalker_Void : public CDOTABaseAbility { public: @@ -58419,24 +59245,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_NightStalker_Void : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 - int32_t attackspeed_slow; // 0x11ec + int32_t movespeed_slow; // 0x12b8 + int32_t attackspeed_slow; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_NightStalker_Void_ZoneThinker : public CDOTA_Buff { public: - int32_t radius_scepter; // 0x11e8 + int32_t radius_scepter; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_NightStalker_Void_Zone : public CDOTA_Buff { public: @@ -58444,7 +59270,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_NightStalker_CripplingFear : public CDOTABaseAbility { public: @@ -58452,24 +59278,27 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_NightStalker_CripplingFear_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; -// Alignment: 0 -// Size: 0x11f0 +// Alignment: 2 +// Size: 0x12c8 class CDOTA_Modifier_NightStalker_CripplingFear : public CDOTA_Buff { +private: + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - // No members available + int32_t dps; // 0x12c0 + float tick_rate; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_NightStalker_HunterInTheNight : public CDOTABaseAbility { public: @@ -58477,19 +59306,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_NightStalker_HunterInTheNight : public CDOTA_Buff { public: - int32_t bonus_movement_speed_pct_night; // 0x11e8 - int32_t bonus_attack_speed_night; // 0x11ec - int32_t bonus_status_resist_night; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - bool m_bIsDay; // 0x11f8 + int32_t bonus_movement_speed_pct_night; // 0x12b8 + int32_t bonus_attack_speed_night; // 0x12bc + int32_t bonus_status_resist_night; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + bool m_bIsDay; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_NightStalker_Darkness : public CDOTABaseAbility { public: @@ -58497,19 +59326,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_NightStalker_Darkness : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t status_resistance; // 0x11ec - int32_t hp_regen; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - bool m_bIsDay; // 0x11f8 + int32_t bonus_damage; // 0x12b8 + int32_t status_resistance; // 0x12bc + int32_t hp_regen; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + bool m_bIsDay; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Night_Stalker : public CDOTABaseAbility { public: @@ -58517,7 +59346,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Night_Stalker_2 : public CDOTABaseAbility { public: @@ -58525,7 +59354,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Night_Stalker_3 : public CDOTABaseAbility { public: @@ -58533,7 +59362,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Night_Stalker_4 : public CDOTABaseAbility { public: @@ -58541,7 +59370,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Night_Stalker_5 : public CDOTABaseAbility { public: @@ -58549,7 +59378,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Night_Stalker_6 : public CDOTABaseAbility { public: @@ -58557,7 +59386,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Night_Stalker_7 : public CDOTABaseAbility { public: @@ -58565,7 +59394,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Broodmother_SpawnSpiderlings : public CDOTABaseAbility { public: @@ -58573,33 +59402,33 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_SpawnSpiderlings : public CDOTA_Buff { public: - float spiderling_duration; // 0x11e8 - int32_t count; // 0x11ec + float spiderling_duration; // 0x12b8 + int32_t count; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_SpawnSpiderlingsShard : public CDOTA_Buff { public: - float shard_spiderling_duration; // 0x11e8 + float shard_spiderling_duration; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_Spider_HP : public CDOTA_Buff { public: - int32_t hp_bonus; // 0x11e8 - int32_t damage_bonus; // 0x11ec + int32_t hp_bonus; // 0x12b8 + int32_t damage_bonus; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Broodmother_SpawnSpiderite : public CDOTABaseAbility { public: @@ -58607,23 +59436,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_SpawnSpiderite : public CDOTA_Buff { public: - float buff_duration; // 0x11e8 + float buff_duration; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_SpawnSpideriteDebuff : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hParentSpider; // 0x11e8 + CHandle< CBaseEntity > m_hParentSpider; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Broodmother_PoisonSting : public CDOTABaseAbility { public: @@ -58631,25 +59460,25 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_PoisonSting : public CDOTA_Buff { public: - float duration; // 0x11e8 - float duration_hero; // 0x11ec + float duration; // 0x12b8 + float duration_hero; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_PoisonStingDebuff : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x11e8 - int32_t movement_speed; // 0x11ec + int32_t damage_per_second; // 0x12b8 + int32_t movement_speed; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Broodmother_SpinWeb_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -58657,24 +59486,24 @@ public: }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Broodmother_SpinWeb : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_hWebs; // 0x558 + CUtlVector< CHandle< CBaseEntity > > m_hWebs; // 0x568 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_SpinWeb_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t m_nFXIndex; // 0x11ec + int32_t radius; // 0x12b8 + int32_t m_nFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Broodmother_SpinWebInvisibleApplier : public CDOTA_Buff { public: @@ -58682,27 +59511,27 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_SpinWeb_Slowed : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x11e8 + int32_t bonus_movespeed; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_SpinWeb : public CDOTA_Buff { public: - int32_t heath_regen; // 0x11e8 - int32_t bonus_movespeed; // 0x11ec - int32_t bonus_movespeed_scepter; // 0x11f0 - float bonus_turn_rate; // 0x11f4 - float flLastDamageTime; // 0x11f8 + int32_t heath_regen; // 0x12b8 + int32_t bonus_movespeed; // 0x12bc + int32_t bonus_movespeed_scepter; // 0x12c0 + float bonus_turn_rate; // 0x12c4 + float flLastDamageTime; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Broodmother_SpinWeb_NoTreeWalking : public CDOTA_Buff { public: @@ -58710,7 +59539,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Broodmother_SpinWeb_Destroy : public CDOTABaseAbility { public: @@ -58718,7 +59547,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Broodmother_IncapacitatingBite : public CDOTABaseAbility { public: @@ -58726,46 +59555,47 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_IncapacitatingBite : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_IncapacitatingBiteOrb : public CDOTA_Buff { public: - int32_t miss_chance; // 0x11e8 - int32_t bonus_movespeed; // 0x11ec + int32_t miss_chance; // 0x12b8 + int32_t bonus_movespeed; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Broodmother_InsatiableHunger : public CDOTABaseAbility { public: // No members available }; -// Alignment: 7 -// Size: 0x1208 +// Alignment: 8 +// Size: 0x12d8 class CDOTA_Modifier_Broodmother_InsatiableHunger : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t lifesteal_pct; // 0x11ec - float slow_duration; // 0x11f0 - float bat_bonus; // 0x11f4 - float shard_damage_tick_interval; // 0x11f8 - int32_t damage_tick_count; // 0x11fc - int32_t shard_damage_per_tick; // 0x1200 + int32_t bonus_damage; // 0x12b8 + int32_t lifesteal_pct; // 0x12bc + float slow_duration; // 0x12c0 + float bat_bonus; // 0x12c4 + float shard_damage_tick_interval; // 0x12c8 + int32_t damage_tick_count; // 0x12cc + int32_t shard_damage_per_tick; // 0x12d0 + int32_t creep_lifesteal_reduction_pct; // 0x12d4 }; // Alignment: 0 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Broodmother_Silken_Bola : public CDOTABaseAbility { public: @@ -58773,69 +59603,69 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Broodmother_Silken_Bola : public CDOTA_Buff { public: - int32_t attack_damage; // 0x11e8 - int32_t movement_speed; // 0x11ec - int32_t miss_chance; // 0x11f0 - int32_t shard_miss_chance; // 0x11f4 + int32_t attack_damage; // 0x12b8 + int32_t movement_speed; // 0x12bc + int32_t miss_chance; // 0x12c0 + int32_t shard_miss_chance; // 0x12c4 }; // Alignment: 5 -// Size: 0x5a0 +// Size: 0x5b0 class CDOTA_Ability_Broodmother_StickySnare : public CDOTABaseAbility { public: - Vector m_vEndpoint; // 0x558 - float duration; // 0x564 - int32_t width; // 0x568 - bool m_bStolenSnareCheck; // 0x56c + Vector m_vEndpoint; // 0x568 + float duration; // 0x574 + int32_t width; // 0x578 + bool m_bStolenSnareCheck; // 0x57c private: - [[maybe_unused]] uint8_t __pad056d[0x1b]; // 0x56d + [[maybe_unused]] uint8_t __pad057d[0x1b]; // 0x57d public: - CUtlVector< CHandle< CBaseEntity > > m_vecSnares; // 0x588 + CUtlVector< CHandle< CBaseEntity > > m_vecSnares; // 0x598 }; // Alignment: 14 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_Broodmother_StickySnare : public CDOTA_Buff { public: - Vector m_vOrigin; // 0x11e8 - Vector m_vWallDirection; // 0x11f4 - Vector m_vWallRight; // 0x1200 - int32_t width; // 0x120c - float root_duration; // 0x1210 - float formation_delay; // 0x1214 - bool m_bTouching; // 0x1218 + Vector m_vOrigin; // 0x12b8 + Vector m_vWallDirection; // 0x12c4 + Vector m_vWallRight; // 0x12d0 + int32_t width; // 0x12dc + float root_duration; // 0x12e0 + float formation_delay; // 0x12e4 + bool m_bTouching; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - CHandle< CBaseEntity > m_hRight; // 0x121c - bool m_bParticle; // 0x1220 + CHandle< CBaseEntity > m_hRight; // 0x12ec + bool m_bParticle; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad1221[0x3]; // 0x1221 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - GameTime_t m_flStartingTime; // 0x1224 - int32_t m_nFoWID; // 0x1228 - int32_t m_nTeamID; // 0x122c - CUtlVector< CHandle< CBaseEntity > > m_vecAffectedHeroes; // 0x1230 - ParticleIndex_t m_nWarmupFXIndex; // 0x1248 + GameTime_t m_flStartingTime; // 0x12f4 + int32_t m_nFoWID; // 0x12f8 + int32_t m_nTeamID; // 0x12fc + CUtlVector< CHandle< CBaseEntity > > m_vecAffectedHeroes; // 0x1300 + ParticleIndex_t m_nWarmupFXIndex; // 0x1318 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Broodmother_StickySnare_Root : public CDOTA_Buff { public: - float damage_per_second; // 0x11e8 - bool m_bFirstSecond; // 0x11ec + float damage_per_second; // 0x12b8 + bool m_bFirstSecond; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Broodmother_Tough : public CDOTA_Buff { public: @@ -58843,26 +59673,26 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_BountyHunter_Track : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - int32_t m_nParentGold; // 0x11ec - int32_t target_crit_multiplier; // 0x11f0 + int32_t aura_radius; // 0x12b8 + int32_t m_nParentGold; // 0x12bc + int32_t target_crit_multiplier; // 0x12c0 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_BountyHunter_ShurikenToss : public CDOTABaseAbility { public: - CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x558 - CHandle< CBaseEntity > m_hSourceCaster; // 0x55c + CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x568 + CHandle< CBaseEntity > m_hSourceCaster; // 0x56c }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_BountyHunter_Jinada : public CDOTABaseAbility { public: @@ -58870,37 +59700,45 @@ public: }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_BountyHunter_Jinada : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t gold_steal; // 0x11ec - ParticleIndex_t m_nFXIndexA; // 0x11f0 - ParticleIndex_t m_nFXIndexB; // 0x11f4 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 + int32_t bonus_damage; // 0x12b8 + int32_t gold_steal; // 0x12bc + ParticleIndex_t m_nFXIndexA; // 0x12c0 + ParticleIndex_t m_nFXIndexB; // 0x12c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_BountyHunter_WindWalk : public CDOTABaseAbility { public: // No members available }; +// Alignment: 0 +// Size: 0x568 +class CDOTA_Ability_BountyHunter_WindWalk_Ally : public CDOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 3 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_BountyHunter_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t damage_reduction_pct; // 0x11f8 - float shard_stun_duration; // 0x11fc - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200 + int32_t damage_reduction_pct; // 0x12c8 + float shard_stun_duration; // 0x12cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BountyHunter_WindWalk_Fade : public CDOTA_Buff { public: @@ -58908,40 +59746,40 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BountyHunter_WindWalk_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t attack_slow; // 0x11ec + int32_t slow; // 0x12b8 + int32_t attack_slow; // 0x12bc }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_BountyHunter_Track : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hTrap; // 0x558 + CHandle< CBaseEntity > m_hTrap; // 0x568 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_BountyHunter_Track_Bear_Trap : public CDOTA_Modifier_Invisible { public: - bool m_bActivated; // 0x11f8 + bool m_bActivated; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BountyHunter_TrackEffect : public CDOTA_Buff { public: - int32_t bonus_move_speed_pct; // 0x11e8 + int32_t bonus_move_speed_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_BountyHunter_Lookout : public CDOTABaseAbility { public: @@ -58949,15 +59787,15 @@ public: }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_BountyHunter_Lookout : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x11f8 + int32_t radius; // 0x12c8 }; // Alignment: 0 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Weaver_TheSwarm : public CDOTABaseAbility { public: @@ -58965,61 +59803,69 @@ public: }; // Alignment: 6 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Weaver_Swarm : public CDOTA_Buff { public: - int32_t m_iMaxDist; // 0x11e8 - int32_t m_iAttackCount; // 0x11ec - int32_t destroy_attacks; // 0x11f0 - Vector m_vDirection; // 0x11f4 - Vector m_vStartLoc; // 0x1200 - CHandle< CBaseEntity > m_hAttachTarget; // 0x120c + int32_t m_iMaxDist; // 0x12b8 + int32_t m_iAttackCount; // 0x12bc + int32_t destroy_attacks; // 0x12c0 + Vector m_vDirection; // 0x12c4 + Vector m_vStartLoc; // 0x12d0 + CHandle< CBaseEntity > m_hAttachTarget; // 0x12dc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Weaver_Swarm_Debuff : public CDOTA_Buff { public: - float armor_reduction; // 0x11e8 - int32_t damage; // 0x11ec - float m_flCurrentArmorReduction; // 0x11f0 + float armor_reduction; // 0x12b8 + int32_t damage; // 0x12bc + float m_flCurrentArmorReduction; // 0x12c0 }; // Alignment: 4 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Weaver_Shukuchi : public CDOTABaseAbility { public: - float duration; // 0x558 - int32_t radius; // 0x55c - int32_t damage; // 0x560 - float fade_time; // 0x564 + float duration; // 0x568 + int32_t radius; // 0x56c + int32_t damage; // 0x570 + float fade_time; // 0x574 }; // Alignment: 5 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Weaver_Shukuchi : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x11f8 - int32_t damage; // 0x11fc - int32_t speed; // 0x1200 - float geminate_attack_mark_duration; // 0x1204 - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x1208 + int32_t radius; // 0x12c8 + int32_t damage; // 0x12cc + int32_t speed; // 0x12d0 + float geminate_attack_mark_duration; // 0x12d4 + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x12d8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Weaver_Shukuchi_GeminateAttackMark : public CDOTA_Buff { public: // No members available }; +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Weaver_Shukuchi_GeminateAttackManager : public CDOTA_Buff +{ +public: + int32_t m_iAttacksRemaining; // 0x12b8 +}; + // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Weaver_GeminateAttack : public CDOTABaseAbility { public: @@ -59027,87 +59873,87 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Weaver_GeminateAttack : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - int32_t m_iAttacksRemaining; // 0x11ec + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + int32_t m_iAttacksRemaining; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Weaver_GeminateAttack_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Weaver_TimeLapse : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - int32_t m_nNPCSpawnedID; // 0x568 + int32_t m_nNPCSpawnedID; // 0x578 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x1398 class CDOTA_Modifier_Weaver_TimeLapse : public CDOTA_Buff { public: - Vector m_PositionIndex[11]; // 0x11e8 - float m_flLife[11]; // 0x126c - float m_flMana[11]; // 0x1298 - bool m_bHasValidHistory; // 0x12c4 + Vector m_PositionIndex[11]; // 0x12b8 + float m_flLife[11]; // 0x133c + float m_flMana[11]; // 0x1368 + bool m_bHasValidHistory; // 0x1394 }; // Alignment: 2 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_Jakiro_DualBreath : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_hHitHeroes; // 0x558 - bool m_bGrantedGem; // 0x570 + CUtlVector< CHandle< CBaseEntity > > m_hHitHeroes; // 0x568 + bool m_bGrantedGem; // 0x580 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Jakiro_DualBreath_Thinker : public CDOTA_Buff { public: - int32_t start_radius; // 0x11e8 - int32_t end_radius; // 0x11ec - GameTime_t m_fStartTime; // 0x11f0 - float m_fTotalTime; // 0x11f4 - Vector m_vCastPosition; // 0x11f8 + int32_t start_radius; // 0x12b8 + int32_t end_radius; // 0x12bc + GameTime_t m_fStartTime; // 0x12c0 + float m_fTotalTime; // 0x12c4 + Vector m_vCastPosition; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Jakiro_DualBreath_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x11e8 - int32_t slow_attack_speed_pct; // 0x11ec + int32_t slow_movement_speed_pct; // 0x12b8 + int32_t slow_attack_speed_pct; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Jakiro_DualBreath_Burn : public CDOTA_Buff { public: - bool m_bFirst; // 0x11e8 + bool m_bFirst; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t burn_damage; // 0x11ec + int32_t burn_damage; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Jakiro_IcePath : public CDOTABaseAbility { public: @@ -59115,7 +59961,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Jakiro_IcePath_Stun : public CDOTA_Modifier_Stunned { public: @@ -59123,26 +59969,26 @@ public: }; // Alignment: 9 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Jakiro_IcePath_Thinker : public CDOTA_Buff { public: - float path_delay; // 0x11e8 - int32_t path_radius; // 0x11ec - int32_t m_nDamage; // 0x11f0 - float m_flRadius; // 0x11f4 - float stun_duration; // 0x11f8 + float path_delay; // 0x12b8 + int32_t path_radius; // 0x12bc + int32_t m_nDamage; // 0x12c0 + float m_flRadius; // 0x12c4 + float stun_duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< CHandle< CBaseEntity > > m_hUnitsHit; // 0x1200 - Vector m_vPathStart; // 0x1218 - Vector m_vPathEnd; // 0x1224 - GameTime_t m_fStartTime; // 0x1230 + CUtlVector< CHandle< CBaseEntity > > m_hUnitsHit; // 0x12d0 + Vector m_vPathStart; // 0x12e8 + Vector m_vPathEnd; // 0x12f4 + GameTime_t m_fStartTime; // 0x1300 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Jakiro_Liquid_Ice : public CDOTABaseAbility { public: @@ -59150,32 +59996,32 @@ public: }; // Alignment: 5 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Jakiro_LiquidIce : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 - int32_t radius; // 0x1208 - ParticleIndex_t m_nFXIndex; // 0x120c - bool m_bForceProc; // 0x1210 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + int32_t radius; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc + bool m_bForceProc; // 0x12e0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Jakiro_LiquidIce_Debuff : public CDOTA_Buff { public: - int32_t base_damage; // 0x11e8 - float pct_health_damage; // 0x11ec - int32_t movement_slow; // 0x11f0 + int32_t base_damage; // 0x12b8 + float pct_health_damage; // 0x12bc + int32_t movement_slow; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Jakiro_Liquid_Fire : public CDOTABaseAbility { public: @@ -59183,31 +60029,31 @@ public: }; // Alignment: 5 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Jakiro_LiquidFire : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 - int32_t radius; // 0x1208 - ParticleIndex_t m_nFXIndex; // 0x120c - bool m_bForceProc; // 0x1210 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + int32_t radius; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc + bool m_bForceProc; // 0x12e0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Jakiro_LiquidFire_Burn : public CDOTA_Buff { public: - int32_t slow_attack_speed_pct; // 0x11e8 - float damage; // 0x11ec + int32_t slow_attack_speed_pct; // 0x12b8 + float damage; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Jakiro_Macropyre : public CDOTABaseAbility { public: @@ -59215,30 +60061,48 @@ public: }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Jakiro_Macropyre_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x11e8 - float burn_interval; // 0x11f4 - int32_t path_radius; // 0x11f8 - int32_t cast_range; // 0x11fc - float linger_duration; // 0x1200 - bool m_bTestedGem; // 0x1204 + Vector m_vPathDir; // 0x12b8 + float burn_interval; // 0x12c4 + int32_t path_radius; // 0x12c8 + int32_t cast_range; // 0x12cc + float linger_duration; // 0x12d0 + bool m_bTestedGem; // 0x12d4 }; -// Alignment: 3 -// Size: 0x11f8 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Jakiro_Macropyre_Burn : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t damage_scepter; // 0x11ec - float burn_interval; // 0x11f0 + int32_t damage; // 0x12b8 + float burn_interval; // 0x12bc +}; + +// Alignment: 4 +// Size: 0x12d0 +class CDOTA_Modifier_Jakiro_Macropyre_Ice_EdgeThinker : public CDOTA_Buff +{ +public: + Vector m_vPathDir; // 0x12b8 + int32_t ice_edge_path_radius; // 0x12c4 + int32_t cast_range; // 0x12c8 + float ice_edge_linger_duration; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Jakiro_Macropyre_Ice_Edge_Slow : public CDOTA_Buff +{ +public: + int32_t ice_edge_movement_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Jakiro : public CDOTABaseAbility { public: @@ -59246,7 +60110,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Jakiro_2 : public CDOTABaseAbility { public: @@ -59254,7 +60118,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Jakiro_3 : public CDOTABaseAbility { public: @@ -59262,7 +60126,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Jakiro_4 : public CDOTABaseAbility { public: @@ -59270,7 +60134,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Jakiro_5 : public CDOTABaseAbility { public: @@ -59278,7 +60142,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Jakiro_6 : public CDOTABaseAbility { public: @@ -59286,7 +60150,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Jakiro_7 : public CDOTABaseAbility { public: @@ -59294,7 +60158,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Jakiro_8 : public CDOTABaseAbility { public: @@ -59302,7 +60166,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Batrider_StickyNapalm_Application_Damage : public CDOTABaseAbility { public: @@ -59310,7 +60174,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Batrider_StickyNapalm : public CDOTABaseAbility { public: @@ -59318,28 +60182,28 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Batrider_StickyNapalm_Application : public CDOTA_Buff { public: - bool m_bShouldApply; // 0x11e8 + bool m_bShouldApply; // 0x12b8 }; // Alignment: 6 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Batrider_StickyNapalm : public CDOTA_Modifier_Stacking_Base { public: - float movement_speed_pct; // 0x1208 - int32_t turn_rate_pct; // 0x120c - int32_t damage; // 0x1210 - int32_t application_damage; // 0x1214 - ParticleIndex_t m_nFXIndex; // 0x1218 - ParticleIndex_t m_nFXStackIndex; // 0x121c + float movement_speed_pct; // 0x12d8 + int32_t turn_rate_pct; // 0x12dc + int32_t damage; // 0x12e0 + int32_t application_damage; // 0x12e4 + ParticleIndex_t m_nFXIndex; // 0x12e8 + ParticleIndex_t m_nFXStackIndex; // 0x12ec }; // Alignment: 0 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Batrider_Flamebreak : public CDOTABaseAbility { public: @@ -59347,7 +60211,7 @@ public: }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Ability_Batrider_Flamebreak_Knockback : public CDOTA_Modifier_Knockback { public: @@ -59355,47 +60219,48 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Batrider_Flamebreak_Damage : public CDOTA_Buff { public: - int32_t damage_impact; // 0x11e8 - int32_t damage_per_second; // 0x11ec - int32_t slow; // 0x11f0 + int32_t damage_impact; // 0x12b8 + int32_t damage_per_second; // 0x12bc + int32_t slow; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Batrider_Firefly : public CDOTABaseAbility { public: // No members available }; -// Alignment: 12 -// Size: 0x1238 +// Alignment: 13 +// Size: 0x1310 class CDOTA_Modifier_Batrider_Firefly : public CDOTA_Buff { public: - bool m_bActive; // 0x11e8 + bool m_bActive; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t radius; // 0x11ec - int32_t m_ifirefly_Active; // 0x11f0 - int32_t tree_radius; // 0x11f4 - int32_t damage_per_second; // 0x11f8 - int32_t movement_speed; // 0x11fc - float tick_interval; // 0x1200 - ParticleIndex_t m_nFXIndex; // 0x1204 - ParticleIndex_t m_nFXIndexB; // 0x1208 - GameTime_t m_fNextDamageTick; // 0x120c - Vector m_vLastFirePoolLoc; // 0x1210 - int32_t bonus_vision; // 0x121c + int32_t radius; // 0x12bc + int32_t m_ifirefly_Active; // 0x12c0 + int32_t tree_radius; // 0x12c4 + int32_t damage_per_second; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t bonus_slow_resistance; // 0x12d0 + float tick_interval; // 0x12d4 + ParticleIndex_t m_nFXIndex; // 0x12d8 + ParticleIndex_t m_nFXIndexB; // 0x12dc + GameTime_t m_fNextDamageTick; // 0x12e0 + Vector m_vLastFirePoolLoc; // 0x12e4 + int32_t bonus_vision; // 0x12f0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Batrider_FlamingLasso : public CDOTABaseAbility { public: @@ -59403,20 +60268,20 @@ public: }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Batrider_FlamingLasso : public CDOTA_Buff { public: - float tick_rate; // 0x11e8 - int32_t drag_distance; // 0x11ec - int32_t break_distance; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - Vector vPreviousLocation; // 0x11f8 - CHandle< CDOTA_BaseNPC > m_hAnchor; // 0x1204 + float tick_rate; // 0x12b8 + int32_t drag_distance; // 0x12bc + int32_t break_distance; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + Vector vPreviousLocation; // 0x12c8 + CHandle< CDOTA_BaseNPC > m_hAnchor; // 0x12d4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Batrider_FlamingLasso_Self : public CDOTA_Buff { public: @@ -59424,18 +60289,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Batrider_FlamingLasso_Damage : public CDOTA_Buff { public: - int32_t max_ticks; // 0x11e8 - float damage; // 0x11ec - float duration; // 0x11f0 - float tick_rate; // 0x11f4 + int32_t max_ticks; // 0x12b8 + float damage; // 0x12bc + float duration; // 0x12c0 + float tick_rate; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Batrider_1 : public CDOTABaseAbility { public: @@ -59443,7 +60308,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Batrider_2 : public CDOTABaseAbility { public: @@ -59451,7 +60316,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Batrider_3 : public CDOTABaseAbility { public: @@ -59459,7 +60324,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Batrider_4 : public CDOTABaseAbility { public: @@ -59467,7 +60332,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Batrider_5 : public CDOTABaseAbility { public: @@ -59475,7 +60340,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Batrider_6 : public CDOTABaseAbility { public: @@ -59483,7 +60348,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Batrider_7 : public CDOTABaseAbility { public: @@ -59491,7 +60356,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Chen_Penitence : public CDOTABaseAbility { public: @@ -59499,24 +60364,34 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Chen_Penitence : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_damage_taken; // 0x11ec + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_damage_taken; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Chen_Penitence_Attack_Speed_Buff : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 + int32_t bonus_attack_speed; // 0x12b8 +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Chen_Penitence_Self_Attack_Range : public CDOTA_Buff +{ +public: + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + int32_t self_attack_range_bonus; // 0x12bc + bool m_bActive; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Chen_TestOfFaith : public CDOTABaseAbility { public: @@ -59524,7 +60399,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Chen_DivineFavor : public CDOTABaseAbility { public: @@ -59532,35 +60407,35 @@ public: }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Chen_Divine_Favor_Teleport : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - float teleport_delay; // 0x11f0 + float teleport_delay; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Chen_DivineFavor_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Chen_DivineFavor : public CDOTA_Buff { public: - int32_t armor; // 0x11e8 - float heal_rate; // 0x11ec - int32_t creep_bonus; // 0x11f0 + int32_t armor; // 0x12b8 + float heal_rate; // 0x12bc + int32_t creep_bonus; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Chen_TestOfFaithTeleport : public CDOTABaseAbility { public: @@ -59568,35 +60443,35 @@ public: }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Chen_HolyPersuasion : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_hDominatedUnits; // 0x558 + CUtlVector< CHandle< CBaseEntity > > m_hDominatedUnits; // 0x568 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Chen_HolyPersuasion : public CDOTA_Buff { public: - int32_t health_min; // 0x11e8 - int32_t new_max; // 0x11ec - int32_t health_bonus; // 0x11f0 - int32_t damage_bonus; // 0x11f4 - int32_t movement_speed_bonus; // 0x11f8 + int32_t health_min; // 0x12b8 + int32_t new_max; // 0x12bc + int32_t health_bonus; // 0x12c0 + int32_t damage_bonus; // 0x12c4 + int32_t movement_speed_bonus; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Chen_TestOfFaith_Teleport : public CDOTA_Buff { public: - bool bToChen; // 0x11e8 + bool bToChen; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Chen_HandOfGod : public CDOTABaseAbility { public: @@ -59604,15 +60479,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Chen_HandOfGod_Hot : public CDOTA_Buff { public: - int32_t heal_per_second; // 0x11e8 + int32_t heal_per_second; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Chen_Martyrdom : public CDOTABaseAbility { public: @@ -59620,7 +60495,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Chen_1 : public CDOTABaseAbility { public: @@ -59628,7 +60503,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Chen_2 : public CDOTABaseAbility { public: @@ -59636,7 +60511,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Chen_3 : public CDOTABaseAbility { public: @@ -59644,7 +60519,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Chen_4 : public CDOTABaseAbility { public: @@ -59652,7 +60527,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Chen_5 : public CDOTABaseAbility { public: @@ -59660,7 +60535,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Chen_6 : public CDOTABaseAbility { public: @@ -59668,7 +60543,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Chen_7 : public CDOTABaseAbility { public: @@ -59676,7 +60551,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Chen_8 : public CDOTABaseAbility { public: @@ -59684,7 +60559,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Chen_9 : public CDOTABaseAbility { public: @@ -59692,7 +60567,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Chen_10 : public CDOTABaseAbility { public: @@ -59700,7 +60575,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Chen_11 : public CDOTABaseAbility { public: @@ -59708,7 +60583,7 @@ public: }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spectre_Arcana : public CDOTA_Buff { public: @@ -59716,7 +60591,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Spectre_Desolate : public CDOTABaseAbility { public: @@ -59724,70 +60599,70 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spectre_Desolate : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t radius; // 0x11ec + int32_t bonus_damage; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 7 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Spectre_SpectralDaggerPath : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x18]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x18]; // 0x12b8 public: - CUtlVector< CHandle< CBaseEntity > > m_hUnitsInPath; // 0x1200 - int32_t path_radius; // 0x1218 - int32_t vision_radius; // 0x121c - int32_t dagger_radius; // 0x1220 - float buff_persistence; // 0x1224 - float dagger_grace_period; // 0x1228 - float dagger_path_duration; // 0x122c + CUtlVector< CHandle< CBaseEntity > > m_hUnitsInPath; // 0x12d0 + int32_t path_radius; // 0x12e8 + int32_t vision_radius; // 0x12ec + int32_t dagger_radius; // 0x12f0 + float buff_persistence; // 0x12f4 + float dagger_grace_period; // 0x12f8 + float dagger_path_duration; // 0x12fc }; // Alignment: 9 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Spectre_SpectralDagger : public CDOTABaseAbility { public: - float dagger_path_duration; // 0x558 - float hero_path_duration; // 0x55c - float m_fCreateInterval; // 0x560 - GameTime_t m_fLastCreate; // 0x564 - Vector m_vecLastPosition; // 0x568 - bool m_bIsTrackingProjectile; // 0x574 + float dagger_path_duration; // 0x568 + float hero_path_duration; // 0x56c + float m_fCreateInterval; // 0x570 + GameTime_t m_fLastCreate; // 0x574 + Vector m_vecLastPosition; // 0x578 + bool m_bIsTrackingProjectile; // 0x584 private: - [[maybe_unused]] uint8_t __pad0575[0x3]; // 0x575 + [[maybe_unused]] uint8_t __pad0585[0x3]; // 0x585 public: - CUtlVector< CHandle< CBaseEntity > > m_hTrackingProjectileHits; // 0x578 - CUtlVector< CHandle< CBaseEntity > > m_hUnitsHit; // 0x590 - CHandle< CBaseEntity > m_hTrackingTarget; // 0x5a8 + CUtlVector< CHandle< CBaseEntity > > m_hTrackingProjectileHits; // 0x588 + CUtlVector< CHandle< CBaseEntity > > m_hUnitsHit; // 0x5a0 + CHandle< CBaseEntity > m_hTrackingTarget; // 0x5b8 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Spectre_SpectralDagger : public CDOTA_Buff { public: - int32_t path_radius; // 0x11e8 - float hero_path_duration; // 0x11ec - Vector m_vLastPosition; // 0x11f0 + int32_t path_radius; // 0x12b8 + float hero_path_duration; // 0x12bc + Vector m_vLastPosition; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spectre_SpectralDaggerInPath : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x11e8 - CHandle< CBaseEntity > m_hTrackingTarget; // 0x11ec + int32_t bonus_movespeed; // 0x12b8 + CHandle< CBaseEntity > m_hTrackingTarget; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Spectre_SpectralDaggerPathPhased : public CDOTA_Buff { public: @@ -59795,7 +60670,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Spectre_SpectralDaggerPath_ActivityModifierOnly : public CDOTA_Buff { public: @@ -59803,15 +60678,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spectre_Desolate_Blind : public CDOTA_Buff { public: - int32_t blind_pct; // 0x11e8 + int32_t blind_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Spectre_Dispersion : public CDOTABaseAbility { public: @@ -59819,21 +60694,21 @@ public: }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Spectre_Dispersion : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x11e8 - int32_t min_radius; // 0x11ec - int32_t max_radius; // 0x11f0 - int32_t activation_bonus_pct; // 0x11f4 - GameTime_t m_flLastDispersionPulseEffectTime; // 0x11f8 - float m_fDamageCounter; // 0x11fc - float m_fLastTime; // 0x1200 + int32_t damage_reflection_pct; // 0x12b8 + int32_t min_radius; // 0x12bc + int32_t max_radius; // 0x12c0 + int32_t activation_bonus_pct; // 0x12c4 + GameTime_t m_flLastDispersionPulseEffectTime; // 0x12c8 + float m_fDamageCounter; // 0x12cc + float m_fLastTime; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Spectre_Dispersion_Memory : public CDOTA_Buff { public: @@ -59841,7 +60716,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Spectre_Dispersion_Boost : public CDOTA_Buff { public: @@ -59849,7 +60724,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Spectre_Haunt : public CDOTABaseAbility { public: @@ -59857,7 +60732,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Spectre_Haunt_Single : public CDOTABaseAbility { public: @@ -59865,16 +60740,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spectre_Haunt : public CDOTA_Buff { public: - GameTime_t m_fStartAttackTime; // 0x11e8 - CHandle< CBaseEntity > hTarget; // 0x11ec + GameTime_t m_fStartAttackTime; // 0x12b8 + CHandle< CBaseEntity > hTarget; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Spectre_Reality : public CDOTABaseAbility { public: @@ -59882,7 +60757,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Spectre_Spectral_Dagger_Illusions : public CDOTA_Buff { public: @@ -59890,23 +60765,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spectre_Arcana_Kill_Effect : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x11e8 + ParticleIndex_t m_nCasterFXIndex; // 0x12b8 }; -// Alignment: 1 -// Size: 0x560 +// Alignment: 2 +// Size: 0x570 class CDOTA_Ability_DoomBringer_Devour : public CDOTABaseAbility { public: - int32_t m_nDevourFirstSlot; // 0x558 + int32_t m_nDevourFirstSlot; // 0x568 + bool m_bIsAltCastState; // 0x56c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DoomBringer_Devour_Hero_Debuff : public CDOTA_Buff { public: @@ -59914,24 +60790,34 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DoomBringer_Devour : public CDOTA_Buff { public: - int32_t armor; // 0x11e8 - int32_t magic_resist; // 0x11ec + int32_t armor; // 0x12b8 + int32_t magic_resist; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DoomBringer_Devour_Hero_Ability : public CDOTA_Buff { public: // No members available }; +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_DoomBringer_Devour_Intrinsic : public CDOTA_Buff +{ +public: + int32_t cast_range_bonus; // 0x12b8 + int32_t spell_amp_bonus; // 0x12bc + int32_t cooldown_bonus; // 0x12c0 +}; + // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DoomBringer_ScorchedEarth : public CDOTABaseAbility { public: @@ -59939,7 +60825,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DoomBringer_ScorchedEarth_Thinker : public CDOTA_Buff { public: @@ -59947,26 +60833,26 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DoomBringer_ScorchedEarthEffect : public CDOTA_Buff { public: - int32_t bonus_movement_speed_pct; // 0x11e8 + int32_t bonus_movement_speed_pct; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_DoomBringer_ScorchedEarthEffectAura : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x11e8 - int32_t bonus_movement_speed_pct; // 0x11ec - int32_t radius; // 0x11f0 - int32_t damage_per_hero; // 0x11f4 + int32_t damage_per_second; // 0x12b8 + int32_t bonus_movement_speed_pct; // 0x12bc + int32_t radius; // 0x12c0 + int32_t heal_pct; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DoomBringer_InfernalBlade : public CDOTABaseAbility { public: @@ -59974,30 +60860,30 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_DoomBringer_InfernalBlade : public CDOTA_Buff { public: - bool m_bInfernalBladeAttack; // 0x11e8 + bool m_bInfernalBladeAttack; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - ParticleIndex_t m_nFXIndex; // 0x11ec - float burn_duration; // 0x11f0 - float ministun_duration; // 0x11f4 + ParticleIndex_t m_nFXIndex; // 0x12bc + float burn_duration; // 0x12c0 + float ministun_duration; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DoomBringer_InfernalBlade_Burn : public CDOTA_Buff { public: - int32_t burn_damage; // 0x11e8 - float burn_damage_pct; // 0x11ec + int32_t burn_damage; // 0x12b8 + float burn_damage_pct; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DoomBringer_Doom : public CDOTABaseAbility { public: @@ -60005,38 +60891,39 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DoomBringer_Doom_Aura_Self : public CDOTA_Buff { public: - int32_t scepter_aura_radius; // 0x11e8 - int32_t damage; // 0x11ec + int32_t scepter_aura_radius; // 0x12b8 + int32_t damage; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DoomBringer_Doom_Aura_Enemy : public CDOTA_Buff { public: - int32_t scepter_aura_radius; // 0x11e8 - int32_t damage; // 0x11ec + int32_t scepter_aura_radius; // 0x12b8 + int32_t damage; // 0x12bc }; -// Alignment: 6 -// Size: 0x1200 +// Alignment: 7 +// Size: 0x12d0 class CDOTA_Modifier_DoomBringer_Doom : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - float duration; // 0x11ec - int32_t deniable_pct; // 0x11f0 - float flElapsedTime; // 0x11f4 - int32_t damage_amp; // 0x11f8 - bool m_bDoesBreak; // 0x11fc + int32_t damage; // 0x12b8 + float duration; // 0x12bc + int32_t deniable_pct; // 0x12c0 + float flElapsedTime; // 0x12c4 + int32_t damage_amp; // 0x12c8 + bool m_bDoesBreak; // 0x12cc + bool m_bDoesMute; // 0x12cd }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DoomBringer_Doom_Break : public CDOTA_Buff { public: @@ -60044,7 +60931,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DoomBringer_Empty1 : public CDOTABaseAbility { public: @@ -60052,7 +60939,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DoomBringer_Empty2 : public CDOTABaseAbility { public: @@ -60060,30 +60947,30 @@ public: }; // Alignment: 11 -// Size: 0x5d0 +// Size: 0x5e0 class CDOTA_Ability_SpiritBreaker_ChargeOfDarkness : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - bool m_bFinished; // 0x568 - bool m_bInterrupted; // 0x569 - bool m_bPlayedChargeAnimation; // 0x56a + bool m_bFinished; // 0x578 + bool m_bInterrupted; // 0x579 + bool m_bPlayedChargeAnimation; // 0x57a private: - [[maybe_unused]] uint8_t __pad056b[0x1]; // 0x56b + [[maybe_unused]] uint8_t __pad057b[0x1]; // 0x57b public: - Vector m_vProjectileLocation; // 0x56c - Vector m_vTargetLocation; // 0x578 - CHandle< CBaseEntity > m_hTarget; // 0x584 - CUtlVector< CHandle< CBaseEntity > > m_hTrackingProjectileHits; // 0x588 - CUtlVector< CDOTA_Tree* > m_hTrackingProjectileTrees; // 0x5a0 - int32_t nFXIndex; // 0x5b8 - int32_t m_iCurProjectileIndex; // 0x5bc - Vector m_vChargeStartPos; // 0x5c0 + Vector m_vProjectileLocation; // 0x57c + Vector m_vTargetLocation; // 0x588 + CHandle< CBaseEntity > m_hTarget; // 0x594 + CUtlVector< CHandle< CBaseEntity > > m_hTrackingProjectileHits; // 0x598 + CUtlVector< CDOTA_Tree* > m_hTrackingProjectileTrees; // 0x5b0 + int32_t nFXIndex; // 0x5c8 + int32_t m_iCurProjectileIndex; // 0x5cc + Vector m_vChargeStartPos; // 0x5d0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_SpiritBreaker_GreaterBash : public CDOTABaseAbility { public: @@ -60091,17 +60978,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_SpiritBreaker_GreaterBash : public CDOTA_Buff { public: - int32_t chance_pct; // 0x11e8 - float damage; // 0x11ec - float movespeed_duration; // 0x11f0 + int32_t chance_pct; // 0x12b8 + float damage; // 0x12bc + float movespeed_duration; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_SpiritBreaker_GreaterBash_Break : public CDOTA_Buff { public: @@ -60109,67 +60996,68 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SpiritBreaker_GreaterBash_Speed : public CDOTA_Buff { public: - int32_t bonus_movespeed_pct; // 0x11e8 + int32_t bonus_movespeed_pct; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SpiritBreaker_ChargeOfDarkness : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - CHandle< CBaseEntity > m_hTarget; // 0x11ec + int32_t movement_speed; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessTarget : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - CEntityIndex m_iChargeTargetEntityIndex; // 0x11ec + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + CEntityIndex m_iChargeTargetEntityIndex; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessVision : public CDOTA_Buff { public: - int32_t m_nFXIndex; // 0x11e8 + int32_t m_nFXIndex; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SpiritBreaker_SpecialAttack : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_SpiritBreaker_Bulldoze : public CDOTABaseAbility { public: // No members available }; -// Alignment: 3 -// Size: 0x11f8 +// Alignment: 4 +// Size: 0x12c8 class CDOTA_Modifier_SpiritBreaker_Bulldoze : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - int32_t status_resistance; // 0x11ec - float damage_barrier; // 0x11f0 + int32_t movement_speed; // 0x12b8 + int32_t status_resistance; // 0x12bc + float damage_barrier; // 0x12c0 + float m_flCurrentBarrier; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_SpiritBreaker_EmpoweringHaste : public CDOTABaseAbility { public: @@ -60177,26 +61065,26 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SpiritBreaker_EmpoweringHasteAura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_SpiritBreaker_EmpoweringHaste : public CDOTA_Buff { public: - int32_t bonus_movespeed_pct_self; // 0x11e8 - int32_t bonus_movespeed_pct_allies; // 0x11ec - int32_t bonus_movespeed_pct_extra; // 0x11f0 - int32_t duration; // 0x11f4 + int32_t bonus_movespeed_pct_self; // 0x12b8 + int32_t bonus_movespeed_pct_allies; // 0x12bc + int32_t bonus_movespeed_pct_extra; // 0x12c0 + int32_t duration; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_SpiritBreaker_NetherStrike : public CDOTABaseAbility { public: @@ -60204,29 +61092,29 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SpiritBreaker_NetherStrike_Vision : public CDOTA_Buff { public: - int32_t invis_threshold_pct; // 0x11e8 + int32_t invis_threshold_pct; // 0x12b8 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_SpiritBreaker_NetherStrike : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - bool m_bStrikeLanded; // 0x11ec + int32_t damage; // 0x12b8 + bool m_bStrikeLanded; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - Vector m_vCastLocation; // 0x11f0 - CHandle< CBaseEntity > m_hTarget; // 0x11fc + Vector m_vCastLocation; // 0x12c0 + CHandle< CBaseEntity > m_hTarget; // 0x12cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_SpiritBreaker_PlanarPocket : public CDOTABaseAbility { public: @@ -60234,46 +61122,47 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_SpiritBreaker_PlanarPocketAura : public CDOTA_Buff { public: - bool m_bHasActivated; // 0x11e8 + bool m_bHasActivated; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t radius; // 0x11ec - int32_t magic_resistance; // 0x11f0 + int32_t radius; // 0x12bc + int32_t magic_resistance; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SpiritBreaker_PlanarPocket : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hRedirectAbility; // 0x11e8 - GameTick_t nRedirectTick; // 0x11ec + CHandle< CBaseEntity > m_hRedirectAbility; // 0x12b8 + GameTick_t nRedirectTick; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Gyrocopter_Rocket_Barrage : public CDOTABaseAbility { public: // No members available }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Gyrocopter_Rocket_Barrage : public CDOTA_Buff { public: - int32_t rocket_damage; // 0x11e8 - int32_t bonus_movement_speed; // 0x11ec + int32_t rocket_damage; // 0x12b8 + int32_t bonus_movement_speed; // 0x12bc + int32_t slow_resistance; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Gyrocopter_HomingMissile_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -60281,125 +61170,126 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Gyrocopter_Homing_Missile : public CDOTABaseAbility { public: - CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x558 + CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x568 }; // Alignment: 17 -// Size: 0x1268 +// Size: 0x1338 class CDOTA_Modifier_Gyrocopter_Homing_Missile : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - ParticleIndex_t m_nFXIndex2; // 0x11ec - int32_t hero_damage; // 0x11f0 - int32_t acceleration; // 0x11f4 - int32_t min_damage; // 0x11f8 - int32_t max_distance; // 0x11fc - int32_t shard_radius; // 0x1200 - float shard_delay; // 0x1204 - float pre_flight_time; // 0x1208 - float stun_duration; // 0x120c - int32_t m_nMissileDamage; // 0x1210 - int32_t m_nTeamNumber; // 0x1214 + ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex2; // 0x12bc + int32_t hero_damage; // 0x12c0 + int32_t acceleration; // 0x12c4 + int32_t min_damage; // 0x12c8 + int32_t max_distance; // 0x12cc + int32_t shard_radius; // 0x12d0 + float shard_delay; // 0x12d4 + float pre_flight_time; // 0x12d8 + float stun_duration; // 0x12dc + int32_t m_nMissileDamage; // 0x12e0 + int32_t m_nTeamNumber; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad1218[0x8]; // 0x1218 + [[maybe_unused]] uint8_t __pad12e8[0x8]; // 0x12e8 public: - float speed; // 0x1220 - CHandle< CBaseEntity > m_hAttachTarget; // 0x1224 - Vector m_vStartPosition; // 0x1228 + float speed; // 0x12f0 + CHandle< CBaseEntity > m_hAttachTarget; // 0x12f4 + Vector m_vStartPosition; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad1234[0x4]; // 0x1234 + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 public: - CountdownTimer m_EnemyVision; // 0x1238 - CountdownTimer m_MoveTime; // 0x1250 + CountdownTimer m_EnemyVision; // 0x1308 + CountdownTimer m_MoveTime; // 0x1320 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Gyrocopter_Homing_Rocket_Barrage : public CDOTA_Buff { public: - int32_t rocket_damage; // 0x11e8 - int32_t shard_radius; // 0x11ec - CHandle< CBaseEntity > m_hTarget; // 0x11f0 + int32_t rocket_damage; // 0x12b8 + int32_t shard_radius; // 0x12bc + CHandle< CBaseEntity > m_hTarget; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Gyrocopter_Flak_Cannon : public CDOTABaseAbility { public: // No members available }; -// Alignment: 5 -// Size: 0x1200 +// Alignment: 6 +// Size: 0x12d0 class CDOTA_Modifier_Gyrocopter_Flak_Cannon : public CDOTA_Buff { public: - int32_t max_attacks; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t m_iNumAttacks; // 0x11f0 - int32_t projectile_speed; // 0x11f4 - int32_t radius; // 0x11f8 + int32_t max_attacks; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t m_iNumAttacks; // 0x12c0 + int32_t projectile_speed; // 0x12c4 + int32_t bonus_night_vision; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Gyrocopter_Flak_Cannon_Scepter : public CDOTA_Buff { public: - float fire_rate; // 0x11e8 - int32_t scepter_radius; // 0x11ec - int32_t m_iAttackRecord; // 0x11f0 + float fire_rate; // 0x12b8 + int32_t scepter_radius; // 0x12bc + int32_t m_iAttackRecord; // 0x12c0 }; // Alignment: 2 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Gyrocopter_Call_Down : public CDOTABaseAbility { public: - Vector m_vEndpoint; // 0x558 - int32_t range_scepter; // 0x564 + Vector m_vEndpoint; // 0x568 + int32_t range_scepter; // 0x574 }; // Alignment: 13 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Gyrocopter_Call_Down : public CDOTA_Buff { public: - int32_t slow_duration_first; // 0x11e8 - int32_t slow_duration_second; // 0x11ec - int32_t damage_first; // 0x11f0 - int32_t damage_second; // 0x11f4 - int32_t damage_second_scepter; // 0x11f8 - int32_t radius; // 0x11fc - float slow_first; // 0x1200 - float slow_second; // 0x1204 - bool m_bFirstStrike; // 0x1208 - bool m_bDelayed; // 0x1209 - bool m_bHalfDamage; // 0x120a + int32_t slow_duration_first; // 0x12b8 + int32_t slow_duration_second; // 0x12bc + int32_t damage_first; // 0x12c0 + int32_t damage_second; // 0x12c4 + int32_t damage_second_scepter; // 0x12c8 + int32_t radius; // 0x12cc + float slow_first; // 0x12d0 + float slow_second; // 0x12d4 + bool m_bFirstStrike; // 0x12d8 + bool m_bDelayed; // 0x12d9 + bool m_bHalfDamage; // 0x12da private: - [[maybe_unused]] uint8_t __pad120b[0x5]; // 0x120b + [[maybe_unused]] uint8_t __pad12db[0x5]; // 0x12db public: - CUtlVector< CHandle< CBaseEntity > > m_vecHitHeroes; // 0x1210 - bool m_bHitInvisibleHeroes; // 0x1228 + CUtlVector< CHandle< CBaseEntity > > m_vecHitHeroes; // 0x12e0 + bool m_bHitInvisibleHeroes; // 0x12f8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Gyrocopter_Call_Down_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x11e8 + int32_t movespeed; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Alchemist_AcidSpray : public CDOTABaseAbility { public: @@ -60407,26 +61297,26 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Alchemist_AcidSpray_Thinker : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t armor_allies; // 0x11ec - int32_t radius; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 + int32_t damage; // 0x12b8 + int32_t armor_allies; // 0x12bc + int32_t radius; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Alchemist_AcidSpray : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 + int32_t armor_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Alchemist_UnstableConcoction : public CDOTABaseAbility { public: @@ -60434,34 +61324,34 @@ public: }; // Alignment: 2 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Alchemist_UnstableConcoctionThrow : public CDOTABaseAbility { public: - float m_fCookTime; // 0x558 - Vector m_vProjectileLoc; // 0x55c + float m_fCookTime; // 0x568 + Vector m_vProjectileLoc; // 0x56c }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Alchemist_UnstableConcoction : public CDOTA_Buff { public: - float brew_time; // 0x11e8 - float brew_explosion; // 0x11ec - GameTime_t m_fStartTime; // 0x11f0 - GameTime_t m_fLastAlertTime; // 0x11f4 - ParticleIndex_t m_nConcoctionFXIndex; // 0x11f8 - bool m_bHasStunned; // 0x11fc + float brew_time; // 0x12b8 + float brew_explosion; // 0x12bc + GameTime_t m_fStartTime; // 0x12c0 + GameTime_t m_fLastAlertTime; // 0x12c4 + ParticleIndex_t m_nConcoctionFXIndex; // 0x12c8 + bool m_bHasStunned; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - int32_t damage_resistance; // 0x1200 - int32_t move_speed; // 0x1204 + int32_t damage_resistance; // 0x12d0 + int32_t move_speed; // 0x12d4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Alchemist_GoblinsGreed : public CDOTABaseAbility { public: @@ -60469,20 +61359,20 @@ public: }; // Alignment: 6 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Alchemist_GoblinsGreed : public CDOTA_Buff { public: - CUtlVector< GameTime_t > m_DeathList; // 0x11e8 - float damage; // 0x1200 - float duration; // 0x1204 - int32_t bonus_gold; // 0x1208 - int32_t bonus_bonus_gold; // 0x120c - int32_t bonus_gold_cap; // 0x1210 + CUtlVector< GameTime_t > m_DeathList; // 0x12b8 + float damage; // 0x12d0 + float duration; // 0x12d4 + int32_t bonus_gold; // 0x12d8 + int32_t bonus_bonus_gold; // 0x12dc + int32_t bonus_gold_cap; // 0x12e0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Alchemist_ChemicalRage : public CDOTABaseAbility { public: @@ -60490,7 +61380,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Alchemist_ChemicalRageTransform : public CDOTA_Buff { public: @@ -60498,29 +61388,29 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Alchemist_ChemicalRage : public CDOTA_Buff { public: - float base_attack_time; // 0x11e8 - int32_t bonus_health; // 0x11ec - int32_t bonus_health_regen; // 0x11f0 - float bonus_mana_regen; // 0x11f4 - int32_t bonus_movespeed; // 0x11f8 - ParticleIndex_t m_nFXAlchemistCRIndex; // 0x11fc + float base_attack_time; // 0x12b8 + int32_t bonus_health; // 0x12bc + int32_t bonus_health_regen; // 0x12c0 + float bonus_mana_regen; // 0x12c4 + int32_t bonus_movespeed; // 0x12c8 + ParticleIndex_t m_nFXAlchemistCRIndex; // 0x12cc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Alchemist_Scepter_Bonus_Damage : public CDOTA_Buff { public: - int32_t scepter_bonus_damage; // 0x11e8 - int32_t scepter_spell_amp; // 0x11ec + int32_t scepter_bonus_damage; // 0x12b8 + int32_t scepter_spell_amp; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Alchemist_Berserk_Potion : public CDOTABaseAbility { public: @@ -60528,17 +61418,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Alchemist_Berserk_Potion : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 - int32_t hp_regen; // 0x11ec - int32_t move_speed; // 0x11f0 + int32_t attack_speed; // 0x12b8 + int32_t hp_regen; // 0x12bc + int32_t move_speed; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Alchemist_Corrosive_Weaponry : public CDOTABaseAbility { public: @@ -60546,51 +61436,55 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Alchemist_Self_Corrosive_Weaponry : public CDOTA_Buff { public: // No members available }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Alchemist_Corrosive_Weaponry_Debuff : public CDOTA_Buff { public: - int32_t slow_per_stack; // 0x11e8 - float status_resist_per_stack; // 0x11ec + int32_t slow_per_stack; // 0x12b8 + float status_resist_per_stack; // 0x12bc + float chemical_rage_bonus; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Invoker_Instance : public CDOTA_Buff { public: // No members available }; -// Alignment: 6 -// Size: 0x5b8 +// Alignment: 9 +// Size: 0x5d0 class CDOTA_Ability_Invoker_Invoke : public CDOTABaseAbility { public: - int32_t max_invoked_spells; // 0x558 + int32_t max_invoked_spells; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c public: - CDOTA_Modifier_Invoker_Instance* m_instances[3]; // 0x560 - int32_t m_nCurInstanceSlot; // 0x578 - bool m_bInvokedAbilitiesInitialized; // 0x57c + CDOTA_Modifier_Invoker_Instance* m_instances[3]; // 0x570 + int32_t m_nCurInstanceSlot; // 0x588 + bool m_bInvokedAbilitiesInitialized; // 0x58c private: - [[maybe_unused]] uint8_t __pad057d[0x3]; // 0x57d + [[maybe_unused]] uint8_t __pad058d[0x3]; // 0x58d public: - CHandle< CBaseEntity > m_invokedAbilities[10]; // 0x580 - Vector m_vecCurrentColor; // 0x5a8 + CHandle< CBaseEntity > m_invokedAbilities[10]; // 0x590 + Vector m_vecCurrentColor; // 0x5b8 + int32_t m_nQuasInstances; // 0x5c4 + int32_t m_nExortInstances; // 0x5c8 + int32_t m_nWexInstances; // 0x5cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Invoker_AttributeBonus : public CDOTABaseAbility { public: @@ -60598,40 +61492,48 @@ public: }; // Alignment: 3 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Invoker_InvokedBase : public CDOTABaseAbility { public: // MNetworkEnable - int32_t m_nQuasLevel; // 0x558 + int32_t m_nQuasLevel; // 0x568 // MNetworkEnable - int32_t m_nWexLevel; // 0x55c + int32_t m_nWexLevel; // 0x56c // MNetworkEnable - int32_t m_nExortLevel; // 0x560 + int32_t m_nExortLevel; // 0x570 }; // Alignment: 0 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Invoker_ColdSnap : public CDOTA_Ability_Invoker_InvokedBase { public: // No members available }; -// Alignment: 5 -// Size: 0x1210 +// Alignment: 10 +// Size: 0x12f8 class CDOTA_Modifier_Invoker_ColdSnap : public CDOTA_Buff { public: - float freeze_damage; // 0x11e8 - float freeze_duration; // 0x11ec - float freeze_cooldown; // 0x11f0 - float damage_trigger; // 0x11f4 - CountdownTimer m_freezeCooldownTimer; // 0x11f8 + float freeze_damage; // 0x12b8 + float freeze_duration; // 0x12bc + float freeze_cooldown; // 0x12c0 + float damage_trigger; // 0x12c4 + float spell_lifesteal; // 0x12c8 + float spell_amp; // 0x12cc + float freeze_heal; // 0x12d0 + int32_t nQuasApplications; // 0x12d4 + int32_t nExortApplications; // 0x12d8 +private: + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc +public: + CountdownTimer m_freezeCooldownTimer; // 0x12e0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Invoker_ColdSnap_Freeze : public CDOTA_Modifier_Stunned { public: @@ -60639,94 +61541,102 @@ public: }; // Alignment: 0 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Invoker_GhostWalk : public CDOTA_Ability_Invoker_InvokedBase { public: // No members available }; -// Alignment: 3 -// Size: 0x1208 +// Alignment: 7 +// Size: 0x12e8 class CDOTA_Modifier_Invoker_GhostWalk_Self : public CDOTA_Modifier_Invisible { public: - int32_t self_slow; // 0x11f8 - int32_t area_of_effect; // 0x11fc - float aura_fade_time; // 0x1200 + int32_t self_slow; // 0x12c8 + int32_t area_of_effect; // 0x12cc + float aura_fade_time; // 0x12d0 + float health_regen; // 0x12d4 + float mana_regen; // 0x12d8 + float disable_time; // 0x12dc + GameTime_t m_timeLastDamage; // 0x12e0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Invoker_GhostWalk_Enemy : public CDOTA_Buff { public: - int32_t enemy_slow; // 0x11e8 + int32_t enemy_slow; // 0x12b8 }; // Alignment: 6 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_Invoker_Tornado : public CDOTA_Ability_Invoker_InvokedBase { public: - int32_t vision_distance; // 0x568 - float end_vision_duration; // 0x56c - float lift_duration; // 0x570 - float base_damage; // 0x574 - float quas_damage; // 0x578 - float wex_damage; // 0x57c + int32_t vision_distance; // 0x578 + float end_vision_duration; // 0x57c + float lift_duration; // 0x580 + float base_damage; // 0x584 + float quas_damage; // 0x588 + float wex_damage; // 0x58c }; -// Alignment: 1 -// Size: 0x1208 +// Alignment: 3 +// Size: 0x12e0 class CDOTA_Modifier_Invoker_Tornado : public CDOTA_Modifier_Cyclone { public: - float m_flLandDamage; // 0x1200 + float m_flLandDamage; // 0x12d0 + float spell_lifesteal; // 0x12d4 + float spell_amp; // 0x12d8 }; // Alignment: 0 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Invoker_EMP : public CDOTA_Ability_Invoker_InvokedBase { public: // No members available }; -// Alignment: 4 -// Size: 0x11f8 +// Alignment: 6 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_EMP : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x11e8 - int32_t mana_burned; // 0x11ec - float damage_per_mana; // 0x11f0 - CHandle< CBaseEntity > m_hPullThinker; // 0x11f4 + int32_t area_of_effect; // 0x12b8 + int32_t mana_burned; // 0x12bc + float damage_per_mana; // 0x12c0 + float spell_lifesteal; // 0x12c4 + float spell_amp; // 0x12c8 + CHandle< CBaseEntity > m_hPullThinker; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Invoker_EMP_Pull_Thinker : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x11e8 + int32_t area_of_effect; // 0x12b8 }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Invoker_EMP_Pull : public CDOTA_Buff { public: - int32_t shard_drag_speed; // 0x11e8 - float aura_origin_x; // 0x11ec - float aura_origin_y; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - Vector m_vCenter; // 0x11f8 - GameTime_t m_flLastThinkTime; // 0x1204 + int32_t shard_drag_speed; // 0x12b8 + float aura_origin_x; // 0x12bc + float aura_origin_y; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + Vector m_vCenter; // 0x12c8 + GameTime_t m_flLastThinkTime; // 0x12d4 }; // Alignment: 0 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Invoker_Alacrity : public CDOTA_Ability_Invoker_InvokedBase { public: @@ -60734,109 +61644,119 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Invoker_Alacrity : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_damage; // 0x11ec + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_damage; // 0x12bc }; // Alignment: 7 -// Size: 0x590 +// Size: 0x5a0 class CDOTA_Ability_Invoker_ChaosMeteor : public CDOTA_Ability_Invoker_InvokedBase { public: - int32_t area_of_effect; // 0x568 - float damage_interval; // 0x56c - int32_t vision_distance; // 0x570 - float end_vision_duration; // 0x574 - float main_damage; // 0x578 - float burn_duration; // 0x57c - float burn_dps; // 0x580 + int32_t area_of_effect; // 0x578 + float damage_interval; // 0x57c + int32_t vision_distance; // 0x580 + float end_vision_duration; // 0x584 + float main_damage; // 0x588 + float burn_duration; // 0x58c + float burn_dps; // 0x590 }; -// Alignment: 4 -// Size: 0x1200 +// Alignment: 6 +// Size: 0x12d8 class CDOTA_Modifier_Invoker_ChaosMeteor_Land : public CDOTA_Buff { public: - Vector m_vDir; // 0x11e8 - int32_t travel_speed; // 0x11f4 - int32_t travel_distance; // 0x11f8 - int32_t vision_distance; // 0x11fc + Vector m_vDir; // 0x12b8 + int32_t travel_speed; // 0x12c4 + int32_t travel_distance; // 0x12c8 + int32_t vision_distance; // 0x12cc + float spell_amp; // 0x12d0 + float spell_lifesteal; // 0x12d4 }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Invoker_ChaosMeteor_Burn : public CDOTA_Buff { public: - float m_flDamagePerSecond; // 0x11e8 + float spell_amp; // 0x12b8 + float spell_lifesteal; // 0x12bc + float m_flDamagePerSecond; // 0x12c0 }; // Alignment: 0 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Invoker_SunStrike : public CDOTA_Ability_Invoker_InvokedBase { public: // No members available }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Invoker_SunStrike_Cataclysm_Thinker : public CDOTA_Buff { public: - float damage; // 0x11e8 -}; - -// Alignment: 4 -// Size: 0x11f8 -class CDOTA_Modifier_Invoker_SunStrike : public CDOTA_Buff -{ -public: - int32_t area_of_effect; // 0x11e8 - float damage; // 0x11ec - int32_t vision_distance; // 0x11f0 - float vision_duration; // 0x11f4 + float damage; // 0x12b8 + float spell_lifesteal; // 0x12bc + float spell_amp; // 0x12c0 }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d0 +class CDOTA_Modifier_Invoker_SunStrike : public CDOTA_Buff +{ +public: + int32_t area_of_effect; // 0x12b8 + float damage; // 0x12bc + int32_t vision_distance; // 0x12c0 + float vision_duration; // 0x12c4 + float spell_amp; // 0x12c8 + float spell_lifesteal; // 0x12cc +}; + +// Alignment: 8 +// Size: 0x12e0 class CDOTA_Modifier_Invoker_SunStrike_Cataclysm : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x11e8 - float damage; // 0x11ec - int32_t vision_distance; // 0x11f0 - float vision_duration; // 0x11f4 - Vector m_vSoundPos; // 0x11f8 - bool m_bPlaySound; // 0x1204 + int32_t area_of_effect; // 0x12b8 + float damage; // 0x12bc + int32_t vision_distance; // 0x12c0 + float vision_duration; // 0x12c4 + float spell_amp; // 0x12c8 + float spell_lifesteal; // 0x12cc + Vector m_vSoundPos; // 0x12d0 + bool m_bPlaySound; // 0x12dc }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Invoker_ForgeSpirit : public CDOTA_Ability_Invoker_InvokedBase { public: - CHandle< CBaseEntity > m_Spirits[2]; // 0x568 + CHandle< CBaseEntity > m_Spirits[2]; // 0x578 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_ForgedSpirit_Stats : public CDOTA_Buff { public: - int32_t level; // 0x11e8 - int32_t armor; // 0x11ec - int32_t mana; // 0x11f0 - float attack_range; // 0x11f4 - float armor_per_attack; // 0x11f8 + int32_t level; // 0x12b8 + int32_t armor; // 0x12bc + int32_t mana; // 0x12c0 + float attack_range; // 0x12c4 + float armor_per_attack; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_ForgedSpirit_MeltingStrike : public CDOTABaseAbility { public: @@ -60844,119 +61764,127 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ForgedSpirit_MeltingStrike : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MeltingStrike_Debuff : public CDOTA_Buff { public: - float armor_removed; // 0x11e8 - int32_t m_nMaxStacks; // 0x11ec + float armor_removed; // 0x12b8 + int32_t m_nMaxStacks; // 0x12bc }; // Alignment: 2 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_Invoker_IceWall : public CDOTA_Ability_Invoker_InvokedBase { public: - Vector m_vStartPosition; // 0x568 - Vector m_vEndPosition; // 0x574 + Vector m_vStartPosition; // 0x578 + Vector m_vEndPosition; // 0x584 }; -// Alignment: 6 -// Size: 0x1208 +// Alignment: 8 +// Size: 0x12e0 class CDOTA_Modifier_Invoker_IceWall_Thinker : public CDOTA_Buff { public: - float damage_per_second; // 0x11e8 - int32_t num_wall_elements; // 0x11ec - int32_t wall_element_spacing; // 0x11f0 - int32_t wall_element_radius; // 0x11f4 - Vector m_vWallDir; // 0x11f8 - bool m_bGrantedGem; // 0x1204 + float damage_per_second; // 0x12b8 + int32_t num_wall_elements; // 0x12bc + int32_t wall_element_spacing; // 0x12c0 + int32_t wall_element_radius; // 0x12c4 + float spell_amp; // 0x12c8 + float spell_lifesteal; // 0x12cc + Vector m_vWallDir; // 0x12d0 + bool m_bGrantedGem; // 0x12dc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Invoker_IceWall_SlowAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t slow; // 0x11ec - float slow_duration; // 0x11f0 + int32_t radius; // 0x12b8 + int32_t slow; // 0x12bc + float slow_duration; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Invoker_IceWall_SlowDebuff : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 6 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_Invoker_DeafeningBlast : public CDOTA_Ability_Invoker_InvokedBase { public: - float end_vision_duration; // 0x568 - float damage; // 0x56c - float knockback_duration; // 0x570 - float disarm_duration; // 0x574 - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x578 - bool m_bGrantedGem; // 0x590 + float end_vision_duration; // 0x578 + float damage; // 0x57c + float knockback_duration; // 0x580 + float disarm_duration; // 0x584 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x588 + bool m_bGrantedGem; // 0x5a0 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_DeafeningBlast_Knockback : public CDOTA_Buff { public: - float disarm_duration; // 0x11e8 - Vector m_vPushDir; // 0x11ec - GameTime_t m_flStartTime; // 0x11f8 + float disarm_duration; // 0x12b8 + Vector m_vPushDir; // 0x12bc + GameTime_t m_flStartTime; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Invoker_DeafeningBlast_Disarm : public CDOTA_Modifier_Disarmed { public: // No members available }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Invoker_QuasInstance : public CDOTA_Modifier_Invoker_Instance { public: - char* m_pSlotName; // 0x11e8 + float spell_lifesteal; // 0x12b8 + int32_t health_regen_per_instance; // 0x12bc + char* m_pSlotName; // 0x12c0 }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Invoker_WexInstance : public CDOTA_Modifier_Invoker_Instance { public: - char* m_pSlotName; // 0x11e8 + float move_speed_per_instance; // 0x12b8 + float cooldown_reduction; // 0x12bc + char* m_pSlotName; // 0x12c0 }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Invoker_ExortInstance : public CDOTA_Modifier_Invoker_Instance { public: - char* m_pSlotName; // 0x11e8 + int32_t bonus_damage_per_instance; // 0x12b8 + float spell_amp; // 0x12bc + char* m_pSlotName; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Invoker_Quas : public CDOTABaseAbility { public: @@ -60964,15 +61892,24 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Invoker_Wex : public CDOTABaseAbility { public: // No members available }; +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Invoker_Wex_Cooldown_Reduction : public CDOTA_Buff +{ +public: + int32_t cooldown_reduction; // 0x12b8 + int32_t m_nTotalCDR; // 0x12bc +}; + // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Invoker_Exort : public CDOTABaseAbility { public: @@ -60980,7 +61917,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Invoker_Empty1 : public CDOTABaseAbility { public: @@ -60988,7 +61925,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Invoker_Empty2 : public CDOTABaseAbility { public: @@ -60996,7 +61933,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Invoker_AttackVisuals : public CDOTA_Buff { public: @@ -61004,7 +61941,7 @@ public: }; // Alignment: 0 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Invoker_ColdSnap_AD : public CDOTA_Ability_Invoker_ColdSnap { public: @@ -61012,7 +61949,7 @@ public: }; // Alignment: 0 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Invoker_GhostWalk_AD : public CDOTA_Ability_Invoker_GhostWalk { public: @@ -61020,7 +61957,7 @@ public: }; // Alignment: 0 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_Invoker_Tornado_AD : public CDOTA_Ability_Invoker_Tornado { public: @@ -61028,7 +61965,7 @@ public: }; // Alignment: 0 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Invoker_EMP_AD : public CDOTA_Ability_Invoker_EMP { public: @@ -61036,7 +61973,7 @@ public: }; // Alignment: 0 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Invoker_Alacrity_AD : public CDOTA_Ability_Invoker_Alacrity { public: @@ -61044,7 +61981,7 @@ public: }; // Alignment: 0 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Invoker_SunStrike_AD : public CDOTA_Ability_Invoker_SunStrike { public: @@ -61052,7 +61989,7 @@ public: }; // Alignment: 0 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Invoker_ForgeSpirit_AD : public CDOTA_Ability_Invoker_ForgeSpirit { public: @@ -61060,7 +61997,7 @@ public: }; // Alignment: 0 -// Size: 0x590 +// Size: 0x5a0 class CDOTA_Ability_Invoker_ChaosMeteor_AD : public CDOTA_Ability_Invoker_ChaosMeteor { public: @@ -61068,7 +62005,7 @@ public: }; // Alignment: 0 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_Invoker_IceWall_AD : public CDOTA_Ability_Invoker_IceWall { public: @@ -61076,15 +62013,24 @@ public: }; // Alignment: 0 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_Invoker_DeafeningBlast_AD : public CDOTA_Ability_Invoker_DeafeningBlast { public: // No members available }; +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Invoke_Bonuses : public CDOTA_Buff +{ +public: + float spell_amp; // 0x12b8 + float spell_lifesteal; // 0x12bc +}; + // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Silencer_CurseOfTheSilent : public CDOTABaseAbility { public: @@ -61092,46 +62038,46 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Silencer_CurseOfTheSilent : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - ParticleIndex_t nFxIndex; // 0x11ec - int32_t penalty_duration; // 0x11f0 - float penalty_multiplier; // 0x11f4 - int32_t movespeed; // 0x11f8 - int32_t undispellable; // 0x11fc + int32_t damage; // 0x12b8 + ParticleIndex_t nFxIndex; // 0x12bc + int32_t penalty_duration; // 0x12c0 + float penalty_multiplier; // 0x12c4 + int32_t movespeed; // 0x12c8 + int32_t undispellable; // 0x12cc }; // Alignment: 2 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Silencer_GlaivesOfWisdom : public CDOTABaseAbility { public: - int32_t m_iAttackIndex; // 0x558 + int32_t m_iAttackIndex; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c public: - CUtlVector< sGlaiveInfoSilencer > m_GlaiveInfo; // 0x560 + CUtlVector< sGlaiveInfoSilencer > m_GlaiveInfo; // 0x570 }; // Alignment: 4 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom : public CDOTA_Buff { public: - float intellect_damage_pct; // 0x11e8 + float intellect_damage_pct; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 - CUtlVector< int16 > m_InFlightSilenceAttackRecords; // 0x1208 - CDOTA_Buff* m_pAttackCounterBuff; // 0x1220 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + CUtlVector< int16 > m_InFlightSilenceAttackRecords; // 0x12d8 + CDOTA_Buff* m_pAttackCounterBuff; // 0x12f0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_AttackCounter : public CDOTA_Buff { public: @@ -61139,15 +62085,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_Debuff : public CDOTA_Buff { public: - int32_t int_steal; // 0x11e8 + int32_t int_steal; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_DebuffCounter : public CDOTA_Buff { public: @@ -61155,15 +62101,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_Buff : public CDOTA_Buff { public: - int32_t int_steal; // 0x11e8 + int32_t int_steal; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_BuffCounter : public CDOTA_Buff { public: @@ -61171,7 +62117,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Silencer_LastWord : public CDOTABaseAbility { public: @@ -61179,23 +62125,23 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Silencer_LastWord : public CDOTA_Buff { public: - int32_t duration; // 0x11e8 - bool spellcast; // 0x11ec + int32_t duration; // 0x12b8 + bool spellcast; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - int32_t damage; // 0x11f0 - float debuff_duration; // 0x11f4 - float int_multiplier; // 0x11f8 - int32_t scepter_bonus_damage; // 0x11fc + int32_t damage; // 0x12c0 + float debuff_duration; // 0x12c4 + float int_multiplier; // 0x12c8 + int32_t scepter_bonus_damage; // 0x12cc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Silencer_LastWord_Disarm : public CDOTA_Modifier_Silence { public: @@ -61203,7 +62149,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Silencer_GlobalSilence : public CDOTABaseAbility { public: @@ -61211,7 +62157,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Silencer_GlobalSilence : public CDOTA_Buff { public: @@ -61219,7 +62165,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Obsidian_Destroyer_ArcaneOrb : public CDOTABaseAbility { public: @@ -61227,40 +62173,40 @@ public: }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Obsidian_Destroyer_ArcaneOrb : public CDOTA_Buff { public: - float mana_pool_damage_pct; // 0x11e8 + float mana_pool_damage_pct; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Obsidian_Destroyer_AstralImprisonment : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hImprisonedUnit; // 0x558 + CHandle< CBaseEntity > m_hImprisonedUnit; // 0x568 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Obsidian_Destroyer_AstralImprisonment_Prison : public CDOTA_Buff { public: - int32_t allied_movement_speed_pct; // 0x11e8 - bool m_bAllowMovement; // 0x11ec + int32_t allied_movement_speed_pct; // 0x12b8 + bool m_bAllowMovement; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - ParticleIndex_t m_nDebuffImmuneEffect; // 0x11f0 + ParticleIndex_t m_nDebuffImmuneEffect; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Obsidian_Destroyer_EssenceAura : public CDOTABaseAbility { public: @@ -61268,34 +62214,51 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Obsidian_Destroyer_EssenceAura : public CDOTA_Buff { public: - int32_t bonus_mana; // 0x11e8 - int32_t radius; // 0x11ec + int32_t bonus_mana; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Obsidian_Destroyer_EssenceAura_Effect : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t restore_chance; // 0x11ec - float restore_amount; // 0x11f0 + int32_t radius; // 0x12b8 + int32_t restore_chance; // 0x12bc + float restore_amount; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Obsidian_Destroyer_SanityEclipse : public CDOTABaseAbility { public: // No members available }; +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Obsidian_Destroyer_Mana_Allergy : public CDOTA_Buff +{ +public: + int32_t percentage_damage; // 0x12b8 + int32_t percentage_heal; // 0x12bc +}; + // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 +class CDOTA_Modifier_Obsidian_Destroyer_Sanity_Eclipse_Counter : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12b8 class CDOTA_Modifier_Obsidian_Destroyer_Sanity_Eclipse_Thinker : public CDOTA_Buff { public: @@ -61303,7 +62266,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Obsidian_Destroyer_Equilibrium : public CDOTABaseAbility { public: @@ -61311,58 +62274,58 @@ public: }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium : public CDOTA_Buff { public: - int32_t proc_chance; // 0x11e8 - int32_t mana_restore; // 0x11ec - float mana_capacity_steal; // 0x11f0 - float mana_capacity_duration; // 0x11f4 - float shard_mana_duration; // 0x11f8 - float scepter_barrier_threshold; // 0x11fc - float scepter_barrier_duration; // 0x1200 - float scepter_barrier_cooldown; // 0x1204 - float scepter_max_mana_barrier_pct; // 0x1208 + int32_t proc_chance; // 0x12b8 + int32_t mana_restore; // 0x12bc + float mana_capacity_steal; // 0x12c0 + float mana_capacity_duration; // 0x12c4 + float shard_mana_duration; // 0x12c8 + float scepter_barrier_threshold; // 0x12cc + float scepter_barrier_duration; // 0x12d0 + float scepter_barrier_cooldown; // 0x12d4 + float scepter_max_mana_barrier_pct; // 0x12d8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Barrier : public CDOTA_Buff { public: - float barrier_amt; // 0x11e8 - int32_t m_nDamageAbsorbed; // 0x11ec + float barrier_amt; // 0x12b8 + int32_t m_nDamageAbsorbed; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_BonusMana : public CDOTA_Buff { public: - int32_t shard_bonus_mana; // 0x11e8 + int32_t shard_bonus_mana; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Debuff : public CDOTA_Buff { public: - int32_t mana_steal; // 0x11e8 - float m_flCurrentMana; // 0x11ec + int32_t mana_steal; // 0x12b8 + float m_flCurrentMana; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Buff : public CDOTA_Buff { public: - int32_t mana_steal; // 0x11e8 - float m_flCurrentMana; // 0x11ec + int32_t mana_steal; // 0x12b8 + float m_flCurrentMana; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Debuff_Counter : public CDOTA_Buff { public: @@ -61370,7 +62333,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Buff_Counter : public CDOTA_Buff { public: @@ -61378,7 +62341,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Outworld_Devourer : public CDOTABaseAbility { public: @@ -61386,7 +62349,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_2 : public CDOTABaseAbility { public: @@ -61394,7 +62357,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_3 : public CDOTABaseAbility { public: @@ -61402,7 +62365,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_4 : public CDOTABaseAbility { public: @@ -61410,7 +62373,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_5 : public CDOTABaseAbility { public: @@ -61418,7 +62381,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Brewmaster_ThunderClap : public CDOTABaseAbility { public: @@ -61426,16 +62389,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_ThunderClap : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 - int32_t attack_speed_slow; // 0x11ec + int32_t movement_slow; // 0x12b8 + int32_t attack_speed_slow; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Brewmaster_DrunkenHaze : public CDOTABaseAbility { public: @@ -61443,110 +62406,111 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_DrunkenHaze : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 - int32_t miss_chance; // 0x11ec + int32_t movement_slow; // 0x12b8 + int32_t miss_chance; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Brewmaster_CinderBrew : public CDOTABaseAbility { public: // No members available }; -// Alignment: 0 -// Size: 0x11e8 +// Alignment: 1 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_BrewUp : public CDOTA_Buff { public: - // No members available + bool m_bBuffExtended; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Brewmaster_CinderBrew : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 - bool m_bIgniteActive; // 0x11ec + int32_t movement_slow; // 0x12b8 + bool m_bIgniteActive; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - float m_flDamagePerTick; // 0x11f0 + float m_flDamagePerTick; // 0x12c0 }; // Alignment: 3 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Brewmaster_DrunkenBrawler : public CDOTABaseAbility { public: // MNetworkEnable // MNetworkChangeCallback "OnBrawlActiveChanged" - int32_t m_iBrawlActive; // 0x558 - bool m_bUpdateIcons; // 0x55c + int32_t m_iBrawlActive; // 0x568 + bool m_bUpdateIcons; // 0x56c private: - [[maybe_unused]] uint8_t __pad055d[0x3]; // 0x55d + [[maybe_unused]] uint8_t __pad056d[0x3]; // 0x56d public: - ParticleIndex_t m_nDrunkenBrawlerFX; // 0x560 + ParticleIndex_t m_nDrunkenBrawlerFX; // 0x570 }; -// Alignment: 13 -// Size: 0x1220 +// Alignment: 14 +// Size: 0x12f0 class CDOTA_Modifier_Brewmaster_DrunkenBrawler_Passive : public CDOTA_Buff { public: - int32_t dodge_chance; // 0x11e8 - int32_t crit_chance; // 0x11ec - int32_t crit_multiplier; // 0x11f0 - int32_t active_multiplier; // 0x11f4 - int32_t stun_chance; // 0x11f8 - float bash_cooldown; // 0x11fc - float stun_duration; // 0x1200 - float slow_duration; // 0x1204 - int32_t bonus_move_speed; // 0x1208 - int32_t bonus_status_resist; // 0x120c - int32_t armor; // 0x1210 - int32_t magic_resist; // 0x1214 - float m_flLastBash; // 0x1218 + int32_t dodge_chance; // 0x12b8 + int32_t crit_chance; // 0x12bc + int32_t crit_multiplier; // 0x12c0 + int32_t attack_speed; // 0x12c4 + int32_t active_multiplier; // 0x12c8 + int32_t stun_chance; // 0x12cc + float bash_cooldown; // 0x12d0 + float stun_duration; // 0x12d4 + float slow_duration; // 0x12d8 + int32_t bonus_move_speed; // 0x12dc + int32_t bonus_status_resist; // 0x12e0 + int32_t armor; // 0x12e4 + int32_t magic_resist; // 0x12e8 + float m_flLastBash; // 0x12ec }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_Void_Brawler_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x11e8 - int32_t active_multiplier; // 0x11ec + int32_t movespeed; // 0x12b8 + int32_t active_multiplier; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_DrunkenBrawler_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x11e8 + int32_t movespeed; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_DrunkenBrawler : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - ParticleIndex_t m_nFXIndexB; // 0x11ec - int32_t min_movement; // 0x11f0 - int32_t max_movement; // 0x11f4 - int32_t m_iMovementBonus; // 0x11f8 - GameTime_t m_flNextUpdateTime; // 0x11fc + ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndexB; // 0x12bc + int32_t min_movement; // 0x12c0 + int32_t max_movement; // 0x12c4 + int32_t m_iMovementBonus; // 0x12c8 + GameTime_t m_flNextUpdateTime; // 0x12cc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Brewmaster_PrimalSplit_Scepter : public CDOTA_Buff { public: @@ -61554,15 +62518,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_PrimalSplitDelay : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 + ParticleIndex_t m_nFXIndex; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Brewmaster_Primal_Split_Fire_Phase : public CDOTABaseAbility { public: @@ -61570,49 +62534,49 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_Fire_Phase : public CDOTA_Buff { public: - int32_t status_resistance; // 0x11e8 + int32_t status_resistance; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_PrimalSplitDuration : public CDOTA_Buff { public: - int32_t bonus_brewling_hp; // 0x11e8 - int32_t bonus_damage; // 0x11ec + int32_t bonus_brewling_hp; // 0x12b8 + int32_t bonus_damage; // 0x12bc }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_PrimalSplit : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - CHandle< CBaseEntity > m_hSecondaryTarget; // 0x11ec - CHandle< CBaseEntity > m_hTertiaryTarget; // 0x11f0 - CHandle< CBaseEntity > m_hFourthTarget; // 0x11f4 - CHandle< CBaseEntity > m_hReturnBrewling; // 0x11f8 - int32_t m_nFXIndex; // 0x11fc + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + CHandle< CBaseEntity > m_hSecondaryTarget; // 0x12bc + CHandle< CBaseEntity > m_hTertiaryTarget; // 0x12c0 + CHandle< CBaseEntity > m_hFourthTarget; // 0x12c4 + CHandle< CBaseEntity > m_hReturnBrewling; // 0x12c8 + int32_t m_nFXIndex; // 0x12cc }; // Alignment: 2 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Brewmaster_HurlBoulder : public CDOTABaseAbility { public: - int32_t m_iBounces; // 0x558 + int32_t m_iBounces; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x560 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x570 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Brewmaster_AstralPulse : public CDOTABaseAbility { public: @@ -61620,15 +62584,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_Void_AstralPulse : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Brewmaster_Void_Void_Strike : public CDOTA_Buff { public: @@ -61636,7 +62600,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Brewmaster_SpellImmunity : public CDOTABaseAbility { public: @@ -61644,7 +62608,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Brewmaster_SpellImmunity : public CDOTA_Modifier_DebuffImmune { public: @@ -61652,7 +62616,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Brewmaster_Pulverize : public CDOTABaseAbility { public: @@ -61660,15 +62624,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_Pulverize : public CDOTA_Buff { public: - int32_t bonus_building_damage; // 0x11e8 + int32_t bonus_building_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Brewmaster_DispelMagic : public CDOTABaseAbility { public: @@ -61676,7 +62640,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Brewmaster_Cyclone : public CDOTABaseAbility { public: @@ -61684,7 +62648,7 @@ public: }; // Alignment: 0 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_Cyclone : public CDOTA_Modifier_Cyclone { public: @@ -61692,7 +62656,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Brewmaster_WindWalk : public CDOTABaseAbility { public: @@ -61700,16 +62664,16 @@ public: }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t bonus_movement_speeed; // 0x11f8 - int32_t bonus_damage; // 0x11fc + int32_t bonus_movement_speeed; // 0x12c8 + int32_t bonus_damage; // 0x12cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Brewmaster_PermanentImmolation : public CDOTABaseAbility { public: @@ -61717,23 +62681,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_PermanentImmolation_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Brewmaster_PermanentImmolation : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 + int32_t damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Brewmaster_Primal_Split_Cancel : public CDOTABaseAbility { public: @@ -61741,7 +62705,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Brewmaster_Fear : public CDOTA_Modifier_Fear { public: @@ -61749,105 +62713,106 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Primal_Companion : public CDOTABaseAbility { public: - CHandle< CDOTA_BaseNPC > m_hCurrentBrewling; // 0x558 + CHandle< CDOTA_BaseNPC > m_hCurrentBrewling; // 0x568 }; -// Alignment: 8 -// Size: 0x1208 +// Alignment: 9 +// Size: 0x12e0 class CDOTA_Modifier_Brewmaster_Primal_Companion : public CDOTA_Buff { public: - float cooldown_on_death; // 0x11e8 - float cooldown_on_take_damage; // 0x11ec - int32_t disable_distance; // 0x11f0 - int32_t movement_slow_when_out_of_range; // 0x11f4 - bool m_bCanAttack; // 0x11f8 + float cooldown_on_death; // 0x12b8 + float cooldown_on_take_damage; // 0x12bc + int32_t disable_distance; // 0x12c0 + int32_t movement_slow_when_out_of_range; // 0x12c4 + bool m_bCanAttack; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - ParticleIndex_t m_nFxIndex; // 0x11fc - int32_t cooldown_penalty_pct; // 0x1200 - int32_t bonus_brewling_hp; // 0x1204 + ParticleIndex_t m_nFxIndex; // 0x12cc + int32_t cooldown_penalty_pct; // 0x12d0 + int32_t bonus_brewling_hp; // 0x12d4 + int32_t bonus_damage; // 0x12d8 }; // Alignment: 4 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Brewmaster_Void_Astral_Pull : public CDOTABaseAbility { public: - int32_t pull_speed; // 0x558 - int32_t pull_distance; // 0x55c - Vector m_vTargetPos; // 0x560 - Vector m_vEndpoint; // 0x56c + int32_t pull_speed; // 0x568 + int32_t pull_distance; // 0x56c + Vector m_vTargetPos; // 0x570 + Vector m_vEndpoint; // 0x57c }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Brewmaster_Void_Astral_Pull_Movement : public CDOTA_Buff { public: - Vector m_vDirection; // 0x11e8 - float m_flEndTime; // 0x11f4 - float m_flCurTime; // 0x11f8 - int32_t pull_distance; // 0x11fc - int32_t damage; // 0x1200 - float pull_duration; // 0x1204 + Vector m_vDirection; // 0x12b8 + float m_flEndTime; // 0x12c4 + float m_flCurTime; // 0x12c8 + int32_t pull_distance; // 0x12cc + int32_t damage; // 0x12d0 + float pull_duration; // 0x12d4 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Lycan_Wolf_Bite : public CDOTABaseAbility { public: - CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x558 + CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x568 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Lycan_Wolf_Bite_Lifesteal : public CDOTA_Buff { public: - int32_t lifesteal_percent; // 0x11e8 - int32_t lifesteal_range; // 0x11ec - CUtlVector< CHandle< CBaseEntity > > m_vecTargets; // 0x11f0 + int32_t lifesteal_percent; // 0x12b8 + int32_t lifesteal_range; // 0x12bc + CUtlVector< CHandle< CBaseEntity > > m_vecTargets; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lycan_Wolf_Bite_Attack_Range : public CDOTA_Buff { public: - int32_t attack_range; // 0x11e8 + int32_t attack_range; // 0x12b8 }; // Alignment: 4 -// Size: 0x680 +// Size: 0x690 class CDOTA_Ability_Lycan_SummonWolves : public CDOTABaseAbility { public: - char szUnitName[260]; // 0x558 - int32_t wolf_index; // 0x65c - float wolf_duration; // 0x660 + char szUnitName[260]; // 0x568 + int32_t wolf_index; // 0x66c + float wolf_duration; // 0x670 private: - [[maybe_unused]] uint8_t __pad0664[0x4]; // 0x664 + [[maybe_unused]] uint8_t __pad0674[0x4]; // 0x674 public: - CUtlVector< CHandle< CBaseEntity > > m_hExistingUnits; // 0x668 + CUtlVector< CHandle< CBaseEntity > > m_hExistingUnits; // 0x678 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lycan_Shard : public CDOTA_Buff { public: - float m_flNextSpawn; // 0x11e8 + float m_flNextSpawn; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lycan_Wolf_Uncontrollable : public CDOTA_Buff { public: @@ -61855,32 +62820,32 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lycan_SummonWolves_BonusDamage : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lycan_SummonWolves_Bash : public CDOTA_Buff { public: - int32_t bash_chance; // 0x11e8 - float bash_duration; // 0x11ec + int32_t bash_chance; // 0x12b8 + float bash_duration; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lycan_SummonWolves_Health : public CDOTA_Buff { public: - int32_t bonus_health; // 0x11e8 + int32_t bonus_health; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Lycan_SummonWolves_CriticalStrike : public CDOTABaseAbility { public: @@ -61888,27 +62853,27 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Lycan_SummonWolves_CriticalStrike : public CDOTA_Buff { public: - CountdownTimer m_CooldownTimer; // 0x11e8 - int32_t maim_chance; // 0x1200 - float maim_duration; // 0x1204 + CountdownTimer m_CooldownTimer; // 0x12b8 + int32_t maim_chance; // 0x12d0 + float maim_duration; // 0x12d4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Lycan_SummonWolves_Maim : public CDOTA_Buff { public: - int32_t maim_movement_speed; // 0x11e8 - int32_t maim_attack_speed; // 0x11ec - int32_t maim_damage; // 0x11f0 + int32_t maim_movement_speed; // 0x12b8 + int32_t maim_attack_speed; // 0x12bc + int32_t maim_damage; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Lycan_SummonWolves_PermanentInvisibility : public CDOTABaseAbility { public: @@ -61916,7 +62881,7 @@ public: }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Lycan_SummonWolves_PermanentInvisibility : public CDOTA_Modifier_PersistentInvisibility { public: @@ -61924,7 +62889,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Lycan_Howl : public CDOTABaseAbility { public: @@ -61932,17 +62897,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Lycan_Howl : public CDOTA_Buff { public: - int32_t attack_damage_reduction; // 0x11e8 - int32_t total_attack_damage_reduction; // 0x11ec - int32_t armor; // 0x11f0 + int32_t attack_damage_reduction; // 0x12b8 + int32_t total_attack_damage_reduction; // 0x12bc + int32_t armor; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Lycan_FeralImpulse : public CDOTABaseAbility { public: @@ -61950,24 +62915,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lycan_FeralImpulse_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lycan_FeralImpulse : public CDOTA_Buff { public: - int32_t bonus_hp_regen; // 0x11e8 - int32_t bonus_damage; // 0x11ec + int32_t bonus_hp_regen; // 0x12b8 + int32_t bonus_damage; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Lycan_Shapeshift : public CDOTABaseAbility { public: @@ -61975,7 +62940,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lycan_Shapeshift_Transform : public CDOTA_Buff { public: @@ -61983,7 +62948,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lycan_Shapeshift_Thinker : public CDOTA_Buff { public: @@ -61991,28 +62956,28 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Lycan_Shapeshift : public CDOTA_Buff { public: - int32_t bonus_night_vision; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec - int32_t m_iOriginalAttackCapability; // 0x11f0 + int32_t bonus_night_vision; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t m_iOriginalAttackCapability; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Lycan_Shapeshift_Speed : public CDOTA_Buff { public: - int32_t speed; // 0x11e8 - int32_t crit_chance; // 0x11ec - int32_t crit_multiplier; // 0x11f0 - int32_t health_bonus; // 0x11f4 + int32_t speed; // 0x12b8 + int32_t crit_chance; // 0x12bc + int32_t crit_multiplier; // 0x12c0 + int32_t health_bonus; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lycan_Fear : public CDOTA_Modifier_Fear { public: @@ -62020,7 +62985,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Shadow_Demon_Disruption_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -62028,26 +62993,26 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Shadow_Demon_Disruption : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hDisruptedUnit; // 0x558 + CHandle< CBaseEntity > m_hDisruptedUnit; // 0x568 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Shadow_Demon_Disruption : public CDOTA_Buff { public: - float m_flHealth; // 0x11e8 - float m_flDisseminate_Duration; // 0x11ec - CHandle< CBaseEntity > m_hDisseminateAbility; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 + float m_flHealth; // 0x12b8 + float m_flDisseminate_Duration; // 0x12bc + CHandle< CBaseEntity > m_hDisseminateAbility; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Shadow_Demon_Soul_Catcher : public CDOTABaseAbility { public: @@ -62055,32 +63020,32 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher : public CDOTA_Buff { public: - int32_t actual_health_lost; // 0x11e8 + int32_t actual_health_lost; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher_SpellAmp : public CDOTA_Buff { public: - int32_t num_heroes; // 0x11e8 - int32_t bonus_spell_amp; // 0x11ec + int32_t num_heroes; // 0x12b8 + int32_t bonus_spell_amp; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher_Illusion : public CDOTA_Buff { public: - CHandle< CBaseEntity > hTarget; // 0x11e8 + CHandle< CBaseEntity > hTarget; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Shadow_Demon_Shadow_Poison_Release : public CDOTABaseAbility { public: @@ -62088,32 +63053,32 @@ public: }; // Alignment: 4 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_Shadow_Demon_Shadow_Poison : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_hPoisonedUnits; // 0x558 - bool m_bHitDisruptedUnit; // 0x570 + CUtlVector< CHandle< CBaseEntity > > m_hPoisonedUnits; // 0x568 + bool m_bHitDisruptedUnit; // 0x580 private: - [[maybe_unused]] uint8_t __pad0571[0x3]; // 0x571 + [[maybe_unused]] uint8_t __pad0581[0x3]; // 0x581 public: - int32_t radius; // 0x574 - CUtlVector< CHandle< CBaseEntity > > m_hHitUnits; // 0x578 + int32_t radius; // 0x584 + CUtlVector< CHandle< CBaseEntity > > m_hHitUnits; // 0x588 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Shadow_Demon_Shadow_Poison : public CDOTA_Buff { public: - float stack_damage; // 0x11e8 - float bonus_stack_damage; // 0x11ec - int32_t max_multiply_stacks; // 0x11f0 - ParticleIndex_t m_nFXStackIndex; // 0x11f4 + float stack_damage; // 0x12b8 + float bonus_stack_damage; // 0x12bc + int32_t max_multiply_stacks; // 0x12c0 + ParticleIndex_t m_nFXStackIndex; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Shadow_Demon_DemonicPurge_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -62121,23 +63086,23 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Shadow_Demon_Demonic_Purge : public CDOTABaseAbility { public: - bool m_bGrantedScepterCharges; // 0x558 + bool m_bGrantedScepterCharges; // 0x568 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Shadow_Demon_Demonic_Cleanse : public CDOTABaseAbility { public: - bool m_bGrantedScepterCharges; // 0x558 + bool m_bGrantedScepterCharges; // 0x568 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Shadow_Demon_Purge_Slow : public CDOTA_Buff { public: @@ -62145,7 +63110,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Shadow_Demon_Disseminate : public CDOTABaseAbility { public: @@ -62153,69 +63118,67 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Shadow_Demon_Disseminate : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x11e8 - int32_t radius; // 0x11ec - GameTime_t m_flLastDispersionPulseEffectTime; // 0x11f0 + int32_t damage_reflection_pct; // 0x12b8 + int32_t radius; // 0x12bc + GameTime_t m_flLastDispersionPulseEffectTime; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_LoneDruid_SpiritBear_AttackCheck : public CDOTA_Buff { public: - bool m_bCanBeResummoned; // 0x11e8 - bool m_bCanAttack; // 0x11e9 + bool m_bCanBeResummoned; // 0x12b8 + bool m_bCanAttack; // 0x12b9 private: - [[maybe_unused]] uint8_t __pad11ea[0x2]; // 0x11ea + [[maybe_unused]] uint8_t __pad12ba[0x2]; // 0x12ba public: - ParticleIndex_t m_nFxIndex; // 0x11ec - ParticleIndex_t m_nStatusFxIndex; // 0x11f0 -}; - -// Alignment: 0 -// Size: 0x11e8 -class CDOTA_Modifier_LoneDruid_SpiritBear_Talent_Logic : public CDOTA_Buff -{ -public: - // No members available + ParticleIndex_t m_nFxIndex; // 0x12bc + ParticleIndex_t m_nStatusFxIndex; // 0x12c0 }; // Alignment: 3 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_LoneDruid_SpiritBear : public CDOTABaseAbility { public: - bool m_bLevelChanged; // 0x558 + bool m_bLevelChanged; // 0x568 private: - [[maybe_unused]] uint8_t __pad0559[0x3]; // 0x559 + [[maybe_unused]] uint8_t __pad0569[0x3]; // 0x569 public: // MNetworkEnable - CHandle< CBaseEntity > m_hBear; // 0x55c - CHandle< CBaseEntity > m_hPreBear; // 0x560 + CHandle< CBaseEntity > m_hBear; // 0x56c + CHandle< CBaseEntity > m_hPreBear; // 0x570 }; -// Alignment: 0 -// Size: 0x11e8 +// Alignment: 7 +// Size: 0x12d8 class CDOTA_Modifier_Spirit_Bear_Attack_Damage : public CDOTA_Buff { public: - // No members available + float bear_bat; // 0x12b8 + int32_t bear_magic_resistance; // 0x12bc + int32_t bonus_bear_hp; // 0x12c0 + int32_t bear_movespeed; // 0x12c4 + int32_t bonus_bear_armor; // 0x12c8 + int32_t hp_gain_per_druid_level; // 0x12cc + int32_t damage_gain_per_druid_level; // 0x12d0 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_LoneDruid_SpiritBear_Return : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXOrigin; // 0x558 + ParticleIndex_t m_nFXOrigin; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_LoneDruid_SpiritBear_Defender : public CDOTABaseAbility { public: @@ -62223,7 +63186,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_LoneDruid_SpiritBear_Defender_Aura : public CDOTA_Buff { public: @@ -62231,15 +63194,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_LoneDruid_SpiritBear_Defender : public CDOTA_Buff { public: - int32_t damage_share; // 0x11e8 + int32_t damage_share; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_LoneDruid_Entangling_Claws : public CDOTABaseAbility { public: @@ -62247,15 +63210,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_LoneDruid_Entangling_Claws : public CDOTA_Buff { public: - int32_t attack_amp; // 0x11e8 + int32_t attack_amp; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_LoneDruid_SpiritBear_Entangle : public CDOTABaseAbility { public: @@ -62263,27 +63226,27 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_LoneDruid_SpiritBear_Entangle : public CDOTA_Buff { public: - int32_t entangle_chance; // 0x11e8 - int32_t hero_entangle_chance; // 0x11ec - float hero_duration; // 0x11f0 + int32_t entangle_chance; // 0x12b8 + int32_t hero_entangle_chance; // 0x12bc + float hero_duration; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_LoneDruid_SpiritBear_Entangle_Effect : public CDOTA_Buff { public: - int32_t m_iEntangleDamage; // 0x11e8 - float interval_rate; // 0x11ec - int32_t damage; // 0x11f0 + int32_t m_iEntangleDamage; // 0x12b8 + float interval_rate; // 0x12bc + int32_t damage; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_LoneDruid_SpiritBear_Demolish : public CDOTABaseAbility { public: @@ -62291,54 +63254,63 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_LoneDruid_SpiritBear_Demolish : public CDOTA_Buff { public: - int32_t bonus_building_damage; // 0x11e8 - int32_t true_form_bonus_building_damage; // 0x11ec - int32_t spell_resistance; // 0x11f0 + int32_t bonus_building_damage; // 0x12b8 + int32_t true_form_bonus_building_damage; // 0x12bc + int32_t spell_resistance; // 0x12c0 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_LoneDruid_Rabid : public CDOTABaseAbility { public: - float rabid_duration; // 0x558 + float rabid_duration; // 0x568 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_LoneDruid_Rabid : public CDOTA_Buff { public: - int32_t shard_movement_speed_pct; // 0x11e8 - int32_t shard_attack_speed; // 0x11ec + int32_t shard_movement_speed_pct; // 0x12b8 + int32_t shard_attack_speed; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_LoneDruid_SpiritLink : public CDOTABaseAbility { public: // No members available }; -// Alignment: 5 -// Size: 0x1200 +// Alignment: 6 +// Size: 0x12d0 class CDOTA_Modifier_LoneDruid_SpiritLink : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t lifesteal_percent; // 0x11ec - int32_t armor; // 0x11f0 - int32_t armor_sharing; // 0x11f4 - CHandle< CBaseEntity > m_hTarget; // 0x11f8 + int32_t bonus_attack_speed; // 0x12b8 + int32_t lifesteal_percent; // 0x12bc + int32_t armor; // 0x12c0 + int32_t armor_sharing; // 0x12c4 + int32_t active_bonus; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_LoneDruid_SpiritLink_Active : public CDOTA_Buff +{ +public: + CHandle< CBaseEntity > m_hTarget; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_LoneDruid_TrueForm : public CDOTABaseAbility { public: @@ -62346,7 +63318,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_LoneDruid_TrueForm_Transform : public CDOTA_Buff { public: @@ -62354,17 +63326,25 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_LoneDruid_TrueForm : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 - int32_t bonus_hp; // 0x11ec - float base_attack_time; // 0x11f0 + int32_t bonus_armor; // 0x12b8 + int32_t bonus_hp; // 0x12bc + float base_attack_time; // 0x12c0 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_LoneDruid_SpiritLink_BearFear : public CDOTA_Modifier_Fear +{ +public: + int32_t bonus_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_LoneDruid_TrueForm_Druid : public CDOTABaseAbility { public: @@ -62372,7 +63352,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_LoneDruid_DruidForm_Transform : public CDOTA_Buff { public: @@ -62380,24 +63360,24 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_LoneDruid_TrueForm_BattleCry : public CDOTABaseAbility { public: - float cry_duration; // 0x558 + float cry_duration; // 0x568 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_LoneDruid_TrueForm_BattleCry : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t bonus_damage; // 0x12b8 + int32_t bonus_armor; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_LoneDruid_SavageRoar : public CDOTABaseAbility { public: @@ -62405,7 +63385,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_LoneDruid_SavageRoar_Bear : public CDOTABaseAbility { public: @@ -62413,7 +63393,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Bear_Empty1 : public CDOTABaseAbility { public: @@ -62421,7 +63401,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Bear_Empty2 : public CDOTABaseAbility { public: @@ -62429,52 +63409,100 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_LoneDruid_SavageRoar : public CDOTA_Modifier_Fear { public: - int32_t bonus_speed; // 0x11e8 + int32_t bonus_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_LoneDruid_SpiritBear_TowerKillTracker : public CDOTA_Buff { public: // No members available }; +// Alignment: 0 +// Size: 0x568 +class CDOTA_Ability_LoneDruid_SpiritBear_Fetch : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 5 +// Size: 0x12d8 +class CDOTA_Modifier_LoneDruid_SpiritBear_Fetch : public CDOTA_Buff +{ +public: + float tick_rate; // 0x12b8 + int32_t drag_distance; // 0x12bc + int32_t break_distance; // 0x12c0 + Vector vPreviousLocation; // 0x12c4 + CHandle< CDOTA_BaseNPC > m_hAnchor; // 0x12d0 +}; + +// Alignment: 7 +// Size: 0x12e0 +class CDOTA_Modifier_LoneDruid_SpiritBear_Fetch_Self : public CDOTA_Buff +{ +public: + int32_t self_slow; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc + CHandle< CBaseEntity > m_hTarget; // 0x12c0 + bool m_bFetchingRune; // 0x12c4 +private: + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 +public: + Vector m_vPreviousLoc; // 0x12c8 + int32_t drag_distance; // 0x12d4 + int32_t break_distance; // 0x12d8 +}; + +// Alignment: 4 +// Size: 0x12c8 +class CDOTA_Modifier_LoneDruid_SpiritBear_Fetch_Damage : public CDOTA_Buff +{ +public: + int32_t max_ticks; // 0x12b8 + float damage; // 0x12bc + float duration; // 0x12c0 + float tick_rate; // 0x12c4 +}; + // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_ChaosKnight_Chaos_Bolt : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x558 + CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x568 }; // Alignment: 3 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_ChaosKnight_Reality_Rift : public CDOTABaseAbility { public: - float m_flPercentage; // 0x558 + float m_flPercentage; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c public: - CUtlVector< ParticleIndex_t > m_FXIndex; // 0x560 - CHandle< CBaseEntity > m_hRiftIllusion; // 0x578 + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x570 + CHandle< CBaseEntity > m_hRiftIllusion; // 0x588 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ChaosKnight_Reality_Rift_Debuff : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 + int32_t armor_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_ChaosKnight_Chaos_Strike : public CDOTABaseAbility { public: @@ -62482,33 +63510,33 @@ public: }; // Alignment: 8 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_ChaosKnight_Chaos_Strike : public CDOTA_Buff { public: - float creep_multiplier; // 0x11e8 - float creep_lifesteal_reduction_pct; // 0x11ec - int32_t crit_min; // 0x11f0 - int32_t crit_max; // 0x11f4 - int32_t lifesteal; // 0x11f8 - float chance; // 0x11fc - int32_t m_nNextCrit; // 0x1200 + float creep_multiplier; // 0x12b8 + float creep_lifesteal_reduction_pct; // 0x12bc + int32_t crit_min; // 0x12c0 + int32_t crit_max; // 0x12c4 + int32_t lifesteal; // 0x12c8 + float chance; // 0x12cc + int32_t m_nNextCrit; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< int16 > m_vCritRecords; // 0x1208 + CUtlVector< int16 > m_vCritRecords; // 0x12d8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ChaosKnight_Chaos_Strike_Debuff : public CDOTA_Buff { public: - int32_t maim_slow; // 0x11e8 + int32_t maim_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_ChaosKnight_Phantasm : public CDOTABaseAbility { public: @@ -62516,7 +63544,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_ChaosKnight_Phantasm : public CDOTA_Buff { public: @@ -62524,7 +63552,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_ChaosKnight_Phantasm_Illusion : public CDOTA_Buff { public: @@ -62532,7 +63560,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_ChaosKnight_Phantasm_Illusion_Shard : public CDOTA_Modifier_ChaosKnight_Phantasm_Illusion { public: @@ -62540,7 +63568,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Chaos_Knight : public CDOTABaseAbility { public: @@ -62548,7 +63576,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Chaos_Knight_2 : public CDOTABaseAbility { public: @@ -62556,7 +63584,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Chaos_Knight_3 : public CDOTABaseAbility { public: @@ -62564,7 +63592,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Chaos_Knight_4 : public CDOTABaseAbility { public: @@ -62572,7 +63600,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Chaos_Knight_5 : public CDOTABaseAbility { public: @@ -62580,7 +63608,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Chaos_Knight_6 : public CDOTABaseAbility { public: @@ -62588,7 +63616,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Chaos_Knight_7 : public CDOTABaseAbility { public: @@ -62596,7 +63624,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Chaos_Knight_8 : public CDOTABaseAbility { public: @@ -62604,7 +63632,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Meepo_Earthbind : public CDOTABaseAbility { public: @@ -62612,7 +63640,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Meepo_Earthbind : public CDOTA_Buff { public: @@ -62620,7 +63648,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Meepo_Earthbind_ChainDuration : public CDOTA_Buff { public: @@ -62628,7 +63656,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Meepo_Geostrike : public CDOTABaseAbility { public: @@ -62636,7 +63664,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Meepo_Self_Geostrike : public CDOTA_Buff { public: @@ -62644,87 +63672,87 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Meepo_Geostrike_Debuff : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t damage; // 0x11ec + int32_t slow; // 0x12b8 + int32_t damage; // 0x12bc }; // Alignment: 5 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Meepo_DividedWeStand : public CDOTABaseAbility { public: // MNetworkEnable - int32_t m_nWhichDividedWeStand; // 0x558 + int32_t m_nWhichDividedWeStand; // 0x568 // MNetworkEnable - int32_t m_nNumDividedWeStand; // 0x55c + int32_t m_nNumDividedWeStand; // 0x56c // MNetworkEnable - CHandle< CDOTA_Ability_Meepo_DividedWeStand > m_entPrimeDividedWeStand; // 0x560 + CHandle< CDOTA_Ability_Meepo_DividedWeStand > m_entPrimeDividedWeStand; // 0x570 // MNetworkEnable - CHandle< CDOTA_Ability_Meepo_DividedWeStand > m_entNextDividedWeStand; // 0x564 - int32_t m_iPendingUpgrades; // 0x568 + CHandle< CDOTA_Ability_Meepo_DividedWeStand > m_entNextDividedWeStand; // 0x574 + int32_t m_iPendingUpgrades; // 0x578 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Meepo_Flung : public CDOTA_Buff { public: - int32_t m_nHandle; // 0x11e8 + int32_t m_nHandle; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Meepo_Fling_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Meepo_Divided_We_Stand : public CDOTA_Buff { public: - float respawn; // 0x11e8 - float magic_resist; // 0x11ec + float respawn; // 0x12b8 + float magic_resist; // 0x12bc }; // Alignment: 2 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Meepo_Poof : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 + ParticleIndex_t m_nFXIndex; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0x8]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0x8]; // 0x56c public: - int32_t radius; // 0x564 + int32_t radius; // 0x574 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Meepo_Poof_Damage_Sharing : public CDOTA_Buff { public: - int32_t damage_share_percentage; // 0x11e8 - int32_t damage_share_radius; // 0x11ec - CUtlVector< CHandle< CBaseEntity > > m_BondedEntities; // 0x11f0 + int32_t damage_share_percentage; // 0x12b8 + int32_t damage_share_radius; // 0x12bc + CUtlVector< CHandle< CBaseEntity > > m_BondedEntities; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Meepo_Poof_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Meepo_Ransack : public CDOTABaseAbility { public: @@ -62732,16 +63760,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Meepo_Ransack : public CDOTA_Buff { public: - int32_t health_steal_heroes; // 0x11e8 - int32_t health_steal_creeps; // 0x11ec + int32_t health_steal_heroes; // 0x12b8 + int32_t health_steal_creeps; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Meepo : public CDOTABaseAbility { public: @@ -62749,7 +63777,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Meepo_2 : public CDOTABaseAbility { public: @@ -62757,7 +63785,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Meepo_3 : public CDOTABaseAbility { public: @@ -62765,7 +63793,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Meepo_4 : public CDOTABaseAbility { public: @@ -62773,7 +63801,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Meepo_5 : public CDOTABaseAbility { public: @@ -62781,7 +63809,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Special_Bonus_Unique_Meepo_5 : public CDOTA_Buff { public: @@ -62789,7 +63817,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Meepo_FairShare : public CDOTABaseAbility { public: @@ -62797,7 +63825,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Meepo_Poof_Casting : public CDOTA_Buff { public: @@ -62805,7 +63833,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Meepo_6 : public CDOTABaseAbility { public: @@ -62813,45 +63841,45 @@ public: }; // Alignment: 4 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_Meepo_MegaMeepo : public CDOTABaseAbility { public: - CHandle< CBaseEntity > hPreviousMeepo; // 0x558 - CHandle< CBaseEntity > hMegameepoFrame; // 0x55c - CUtlVector< CHandle< CBaseEntity > > hListOfMeepos; // 0x560 - bool m_bHasSwappedAbilities; // 0x578 + CHandle< CBaseEntity > hPreviousMeepo; // 0x568 + CHandle< CBaseEntity > hMegameepoFrame; // 0x56c + CUtlVector< CHandle< CBaseEntity > > hListOfMeepos; // 0x570 + bool m_bHasSwappedAbilities; // 0x588 }; // Alignment: 8 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Meepo_MegaMeepo : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - float m_flOffset; // 0x11ec - QAngle m_vStartAngles; // 0x11f0 - Vector m_vStartLocation; // 0x11fc - float animation_rate; // 0x1208 - bool m_bInterrupted; // 0x120c - bool m_bHasBeenDestroyed; // 0x120d - bool m_bIsHighestMeepo; // 0x120e + ParticleIndex_t m_nFXIndex; // 0x12b8 + float m_flOffset; // 0x12bc + QAngle m_vStartAngles; // 0x12c0 + Vector m_vStartLocation; // 0x12cc + float animation_rate; // 0x12d8 + bool m_bInterrupted; // 0x12dc + bool m_bHasBeenDestroyed; // 0x12dd + bool m_bIsHighestMeepo; // 0x12de }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Meepo_MegaMeepo_Self : public CDOTA_Buff { public: - int32_t base_strength; // 0x11e8 - int32_t base_int; // 0x11ec - int32_t base_agi; // 0x11f0 - int32_t stats_pct; // 0x11f4 - CHandle< CBaseEntity > m_hMegameepoFrame; // 0x11f8 + int32_t base_strength; // 0x12b8 + int32_t base_int; // 0x12bc + int32_t base_agi; // 0x12c0 + int32_t stats_pct; // 0x12c4 + CHandle< CBaseEntity > m_hMegameepoFrame; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Meepo_MegaMeepo_Frame_Invulnerable : public CDOTA_Buff { public: @@ -62859,15 +63887,15 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Meepo_Megameepo_Fling : public CDOTABaseAbility { public: - int32_t vision_radius; // 0x558 + int32_t vision_radius; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Meepo_Petrify : public CDOTABaseAbility { public: @@ -62875,39 +63903,39 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Meepo_Petrify : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t hp_restore; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t hp_restore; // 0x12bc }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Treant_EyesInTheForest : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > vTrees; // 0x558 + CUtlVector< CHandle< CBaseEntity > > vTrees; // 0x568 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Treant_EyesInTheForest_Thinker : public CDOTA_Buff { public: - float vision_aoe; // 0x11e8 + float vision_aoe; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CDOTA_Tree* m_Tree; // 0x11f0 - CHandle< CBaseEntity > m_hTree; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc - bool m_bUpgradedVision; // 0x1200 + CDOTA_Tree* m_Tree; // 0x12c0 + CHandle< CBaseEntity > m_hTree; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + bool m_bUpgradedVision; // 0x12d0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Treant_NaturesGrasp : public CDOTABaseAbility { public: @@ -62915,46 +63943,46 @@ public: }; // Alignment: 8 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Treant_NaturesGrasp_Creation_Thinker : public CDOTA_Buff { public: - float creation_interval; // 0x11e8 - float vines_duration; // 0x11ec - int32_t vine_spawn_interval; // 0x11f0 - Vector m_vInitialLoc; // 0x11f4 - Vector m_vFinalLoc; // 0x1200 - int32_t m_iVineCount; // 0x120c - int32_t m_iVinesIndex; // 0x1210 - bool m_bFoundTree; // 0x1214 + float creation_interval; // 0x12b8 + float vines_duration; // 0x12bc + int32_t vine_spawn_interval; // 0x12c0 + Vector m_vInitialLoc; // 0x12c4 + Vector m_vFinalLoc; // 0x12d0 + int32_t m_iVineCount; // 0x12dc + int32_t m_iVinesIndex; // 0x12e0 + bool m_bFoundTree; // 0x12e4 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Treant_NaturesGrasp_Latch_Thinker : public CDOTA_Buff { public: - int32_t latch_range; // 0x11e8 - int32_t latch_vision; // 0x11ec - float initial_latch_delay; // 0x11f0 + int32_t latch_range; // 0x12b8 + int32_t latch_vision; // 0x12bc + float initial_latch_delay; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x8]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x8]; // 0x12c4 public: - bool m_bBonus; // 0x11fc + bool m_bBonus; // 0x12cc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Treant_NaturesGrasp_Damage : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 - int32_t damage_per_second; // 0x11ec - float tick_interval; // 0x11f0 + int32_t movement_slow; // 0x12b8 + int32_t damage_per_second; // 0x12bc + float tick_interval; // 0x12c0 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Treant_NaturesGrasp_Damage_Bonus : public CDOTA_Modifier_Treant_NaturesGrasp_Damage { public: @@ -62962,16 +63990,16 @@ public: }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Treant_LifeBomb : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 - CHandle< CBaseEntity > m_hRMine; // 0x55c + ParticleIndex_t m_nFXIndex; // 0x568 + CHandle< CBaseEntity > m_hRMine; // 0x56c }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Treant_LifeBomb_Explode : public CDOTABaseAbility { public: @@ -62979,15 +64007,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Treant_Lifebomb_Explode : public CDOTA_Buff { public: - GameTime_t flStartTime; // 0x11e8 + GameTime_t flStartTime; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Treant_NaturesGuise : public CDOTABaseAbility { public: @@ -62995,26 +64023,26 @@ public: }; // Alignment: 3 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Treant_NaturesGuise : public CDOTA_Buff { public: - CountdownTimer m_RevealTimer; // 0x11e8 - CountdownTimer m_InvisAttackTimer; // 0x1200 - CountdownTimer m_CooldownTimer; // 0x1218 + CountdownTimer m_RevealTimer; // 0x12b8 + CountdownTimer m_InvisAttackTimer; // 0x12d0 + CountdownTimer m_CooldownTimer; // 0x12e8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Treant_NaturesGuise_Tree_Walking : public CDOTA_Buff { public: - int32_t movement_bonus; // 0x11e8 - int32_t regen_amp; // 0x11ec + int32_t movement_bonus; // 0x12b8 + int32_t regen_amp; // 0x12bc }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Treant_NaturesGuise_Invis : public CDOTA_Modifier_Invisible { public: @@ -63022,7 +64050,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Treant_NaturesGuise_NearTreeDisplay : public CDOTA_Buff { public: @@ -63030,15 +64058,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Treant_NaturesGuise_Root : public CDOTA_Buff { public: - float m_flEntangleDamage; // 0x11e8 + float m_flEntangleDamage; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Treant_LeechSeed : public CDOTABaseAbility { public: @@ -63046,27 +64074,27 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Treant_LeechSeed : public CDOTA_Buff { public: - float damage_interval; // 0x11e8 - int32_t leech_damage; // 0x11ec - int32_t movement_slow; // 0x11f0 - int32_t radius; // 0x11f4 - int32_t projectile_speed; // 0x11f8 + float damage_interval; // 0x12b8 + int32_t leech_damage; // 0x12bc + int32_t movement_slow; // 0x12c0 + int32_t radius; // 0x12c4 + int32_t projectile_speed; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Treant_LeechSeed_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Treant_LivingArmor : public CDOTABaseAbility { public: @@ -63074,16 +64102,16 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Treant_LivingArmor : public CDOTA_Buff { public: - int32_t heal_per_second; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t heal_per_second; // 0x12b8 + int32_t bonus_armor; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Treant_Overgrowth : public CDOTABaseAbility { public: @@ -63091,26 +64119,26 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Treant_Overgrowth : public CDOTA_Buff { public: - float damage; // 0x11e8 - int32_t mute; // 0x11ec - bool bPurgable; // 0x11f0 + float damage; // 0x12b8 + int32_t mute; // 0x12bc + bool bPurgable; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Ogre_Magi_Arcana : public CDOTA_Buff { public: - int32_t m_nLastMulticastCount; // 0x11e8 - int32_t m_nMulticastStreakCount; // 0x11ec + int32_t m_nLastMulticastCount; // 0x12b8 + int32_t m_nMulticastStreakCount; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Ogre_Magi_Multicast : public CDOTABaseAbility { public: @@ -63118,23 +64146,23 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Ogre_Magi_Fireblast : public CDOTABaseAbility { public: - int32_t m_nMostRecentMulticastCount; // 0x558 + int32_t m_nMostRecentMulticastCount; // 0x568 }; // Alignment: 1 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Ogre_Magi_Unrefined_Fireblast : public CDOTA_Ability_Ogre_Magi_Fireblast { public: - int32_t m_nMostRecentMulticastCount; // 0x560 + int32_t m_nMostRecentMulticastCount; // 0x570 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Ogre_Magi_Fireblast_Attack_Proc : public CDOTA_Buff { public: @@ -63142,46 +64170,46 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Ogre_Magi_Fireblast_Multicast : public CDOTA_Buff { public: - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x11e8 - float multicast_delay; // 0x11ec - int32_t m_nMultiCastCount; // 0x11f0 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x12b8 + float multicast_delay; // 0x12bc + int32_t m_nMultiCastCount; // 0x12c0 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Ogre_Magi_Ignite : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 - int32_t m_nMostRecentMulticastCount; // 0x55c + ParticleIndex_t m_nFXIndex; // 0x568 + int32_t m_nMostRecentMulticastCount; // 0x56c }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Ogre_Magi_Ignite : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x11e8 - int32_t burn_damage; // 0x11ec + int32_t slow_movement_speed_pct; // 0x12b8 + int32_t burn_damage; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Ogre_Magi_Ignite_Multicast : public CDOTA_Buff { public: - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x11e8 - float multicast_delay; // 0x11ec - int32_t m_nMultiCastCount; // 0x11f0 - int32_t ignite_multicast_aoe; // 0x11f4 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x12b8 + float multicast_delay; // 0x12bc + int32_t m_nMultiCastCount; // 0x12c0 + int32_t ignite_multicast_aoe; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Ogre_Magi_Bloodlust : public CDOTABaseAbility { public: @@ -63189,7 +64217,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Ogre_Magi_Bloodlust_Autocast : public CDOTA_Buff { public: @@ -63197,18 +64225,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Ogre_Magi_Bloodlust : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_movement_speed; // 0x11ec - int32_t self_bonus; // 0x11f0 - float modelscale; // 0x11f4 + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_movement_speed; // 0x12bc + int32_t self_bonus; // 0x12c0 + float modelscale; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Ogre_Magi_Item_Multicast : public CDOTA_Buff { public: @@ -63216,7 +64244,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Ogre_Magi_Smash : public CDOTABaseAbility { public: @@ -63224,17 +64252,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Ogre_Magi_Smash_Buff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t attacks; // 0x11ec - int32_t damage; // 0x11f0 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t attacks; // 0x12bc + int32_t damage; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Ogre_Magi_DumbLuck : public CDOTABaseAbility { public: @@ -63242,60 +64270,60 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Ogre_Magi_DumbLuck : public CDOTA_Buff { public: - float mana_per_str; // 0x11e8 - float mana_regen_per_str; // 0x11ec + float mana_per_str; // 0x12b8 + float mana_regen_per_str; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float health_threshold_pct; // 0x11ec - float duration; // 0x11f0 - CHandle< CDOTABaseAbility > m_hTombstoneSourceAbility; // 0x11f4 - CHandle< CBaseEntity > m_hChaseUnit; // 0x11f8 + int32_t radius; // 0x12b8 + float health_threshold_pct; // 0x12bc + float duration; // 0x12c0 + CHandle< CDOTABaseAbility > m_hTombstoneSourceAbility; // 0x12c4 + CHandle< CBaseEntity > m_hChaseUnit; // 0x12c8 }; // Alignment: 5 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Undying_Decay : public CDOTABaseAbility { public: - int32_t decay_damage; // 0x558 - int32_t radius; // 0x55c - float decay_duration; // 0x560 - int32_t str_steal; // 0x564 - float creep_damage_multiplier; // 0x568 + int32_t decay_damage; // 0x568 + int32_t radius; // 0x56c + float decay_duration; // 0x570 + int32_t str_steal; // 0x574 + float creep_damage_multiplier; // 0x578 }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Undying_Decay_Shard : public CDOTA_Buff { public: - float shard_buff_duration; // 0x11e8 + float shard_buff_duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< GameTime_t > m_vecStackExpirationTimes; // 0x11f0 + CUtlVector< GameTime_t > m_vecStackExpirationTimes; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Undying_Decay_Debuff : public CDOTA_Buff { public: - int32_t str_steal; // 0x11e8 + int32_t str_steal; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Undying_Decay_DebuffCounter : public CDOTA_Buff { public: @@ -63303,7 +64331,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Undying_Decay_BuffCounter : public CDOTA_Buff { public: @@ -63311,44 +64339,44 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Undying_Decay_Buff : public CDOTA_Buff { public: - int32_t str_steal; // 0x11e8 - int32_t str_scale_up; // 0x11ec + int32_t str_steal; // 0x12b8 + int32_t str_scale_up; // 0x12bc }; // Alignment: 4 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Undying_SoulRip : public CDOTABaseAbility { public: - int32_t damage_per_unit; // 0x558 - int32_t radius; // 0x55c - int32_t max_units; // 0x560 - int32_t tombstone_heal; // 0x564 + int32_t damage_per_unit; // 0x568 + int32_t radius; // 0x56c + int32_t max_units; // 0x570 + int32_t tombstone_heal; // 0x574 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - float m_flDecrementTime; // 0x11ec + int32_t slow; // 0x12b8 + float m_flDecrementTime; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike_Slow_Counter : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Undying_Tombstone_Zombie_DeathStrike : public CDOTABaseAbility { public: @@ -63356,81 +64384,82 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathlust : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec + int32_t bonus_move_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Undying_Tombstone_Zombie_Modifier : public CDOTA_Buff { public: // No members available }; -// Alignment: 4 -// Size: 0x11f8 +// Alignment: 5 +// Size: 0x12d0 class CDOTA_Modifier_Undying_Tombstone_Bunker : public CDOTA_Buff { public: - float bunker_heal_pct; // 0x11e8 - float tombstone_grab_radius; // 0x11ec - CHandle< CBaseEntity > m_hLoadedUnit; // 0x11f0 - ParticleIndex_t m_nBunkerEnterFXIndex; // 0x11f4 + float bunker_heal_pct; // 0x12b8 + float tombstone_grab_radius; // 0x12bc + float tombstone_stun_penalty; // 0x12c0 + CHandle< CBaseEntity > m_hLoadedUnit; // 0x12c4 + ParticleIndex_t m_nBunkerEnterFXIndex; // 0x12c8 }; // Alignment: 4 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_Undying_Tombstone : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_vZombies; // 0x558 - CHandle< CBaseEntity > hTombstone; // 0x570 - int32_t radius; // 0x574 - float duration; // 0x578 -}; - -// Alignment: 1 -// Size: 0x560 -class CDOTA_Ability_Undying_TombstoneUnitGrab : public CDOTABaseAbility -{ -public: - CHandle< CBaseEntity > m_hOwner; // 0x558 + CUtlVector< CHandle< CBaseEntity > > m_vZombies; // 0x568 + CHandle< CBaseEntity > hTombstone; // 0x580 + int32_t radius; // 0x584 + float duration; // 0x588 }; // Alignment: 1 // Size: 0x570 +class CDOTA_Ability_Undying_TombstoneUnitGrab : public CDOTABaseAbility +{ +public: + CHandle< CBaseEntity > m_hOwner; // 0x568 +}; + +// Alignment: 1 +// Size: 0x580 class CDOTA_Ability_Undying_TombstoneGrab : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_hTombstones; // 0x558 + CUtlVector< CHandle< CBaseEntity > > m_hTombstones; // 0x568 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float zombie_interval; // 0x11ec + int32_t radius; // 0x12b8 + float zombie_interval; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Undying_Tombstone_HP : public CDOTA_Buff { public: - int32_t tombstone_health; // 0x11e8 - int32_t zombie_damage_interval; // 0x11ec - int32_t m_nDamageCounter; // 0x11f0 + int32_t tombstone_health; // 0x12b8 + int32_t zombie_damage_interval; // 0x12bc + int32_t m_nDamageCounter; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Undying_Tombstone_Bunker_Cooldown : public CDOTA_Buff { public: @@ -63438,7 +64467,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Undying_Tombstone_Bunker_Friendly : public CDOTA_Buff { public: @@ -63446,43 +64475,43 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Undying_FleshGolem : public CDOTABaseAbility { public: - CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x558 + CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x568 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Undying_FleshGolem : public CDOTA_Buff { public: - int32_t str_percentage; // 0x11e8 - int32_t movement_bonus; // 0x11ec + int32_t str_percentage; // 0x12b8 + int32_t movement_bonus; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Undying_FleshGolem_Slow : public CDOTA_Buff { public: - int32_t damage_amp; // 0x11e8 - int32_t slow; // 0x11ec + int32_t damage_amp; // 0x12b8 + int32_t slow; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Undying_FleshGolem_PlagueAura : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t damage; // 0x11ec - float tick_rate; // 0x11f0 + int32_t slow; // 0x12b8 + int32_t damage; // 0x12bc + float tick_rate; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Undying_Tombstone_Death_Trigger : public CDOTA_Buff { public: @@ -63490,7 +64519,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Undying : public CDOTABaseAbility { public: @@ -63498,7 +64527,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Undying_2 : public CDOTABaseAbility { public: @@ -63506,7 +64535,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Undying_3 : public CDOTABaseAbility { public: @@ -63514,7 +64543,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Undying_4 : public CDOTABaseAbility { public: @@ -63522,7 +64551,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Undying_5 : public CDOTABaseAbility { public: @@ -63530,7 +64559,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Undying_6 : public CDOTABaseAbility { public: @@ -63538,7 +64567,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Undying_7 : public CDOTABaseAbility { public: @@ -63546,7 +64575,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Undying_8 : public CDOTABaseAbility { public: @@ -63554,50 +64583,50 @@ public: }; // Alignment: 4 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_Rubick_Telekinesis : public CDOTABaseAbility { public: // MNetworkEnable - Vector m_vStartLocation; // 0x558 - Vector m_vLandLocation; // 0x564 - GameTime_t m_flStartTime; // 0x570 + Vector m_vStartLocation; // 0x568 + Vector m_vLandLocation; // 0x574 + GameTime_t m_flStartTime; // 0x580 private: - [[maybe_unused]] uint8_t __pad0574[0x4]; // 0x574 + [[maybe_unused]] uint8_t __pad0584[0x4]; // 0x584 public: - CDOTA_BaseNPC* m_pTarget; // 0x578 + CDOTA_BaseNPC* m_pTarget; // 0x588 }; // Alignment: 10 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Rubick_Telekinesis : public CDOTA_Buff { public: - GameTime_t m_fStartTime; // 0x11e8 - GameTime_t m_fEndTime; // 0x11ec - float m_fTargetHeight; // 0x11f0 - float m_fCurHeight; // 0x11f4 - Vector m_vStartLoc; // 0x11f8 - Vector m_vCurLoc; // 0x1204 - int32_t max_land_distance; // 0x1210 - float fall_duration; // 0x1214 - bool m_bOverrideDuration; // 0x1218 + GameTime_t m_fStartTime; // 0x12b8 + GameTime_t m_fEndTime; // 0x12bc + float m_fTargetHeight; // 0x12c0 + float m_fCurHeight; // 0x12c4 + Vector m_vStartLoc; // 0x12c8 + Vector m_vCurLoc; // 0x12d4 + int32_t max_land_distance; // 0x12e0 + float fall_duration; // 0x12e4 + bool m_bOverrideDuration; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - float m_flOverrideDuration; // 0x121c + float m_flOverrideDuration; // 0x12ec }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Rubick_TelekinesisLand : public CDOTABaseAbility { public: - ParticleIndex_t m_nLandPreviewFX; // 0x558 + ParticleIndex_t m_nLandPreviewFX; // 0x568 }; // Alignment: 0 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Rubick_TelekinesisLand_Self : public CDOTA_Ability_Rubick_TelekinesisLand { public: @@ -63605,7 +64634,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Rubick_FadeBolt : public CDOTABaseAbility { public: @@ -63613,21 +64642,21 @@ public: }; // Alignment: 7 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Rubick_FadeBolt : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t damage; // 0x11ec - int32_t jump_damage_reduction_pct; // 0x11f0 - float jump_delay; // 0x11f4 - int32_t m_iCurJumpCount; // 0x11f8 - Vector m_vCurTargetLoc; // 0x11fc - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1208 + int32_t radius; // 0x12b8 + int32_t damage; // 0x12bc + int32_t jump_damage_reduction_pct; // 0x12c0 + float jump_delay; // 0x12c4 + int32_t m_iCurJumpCount; // 0x12c8 + Vector m_vCurTargetLoc; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12d8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rubick_Telekinesis_Stun : public CDOTA_Modifier_Stunned { public: @@ -63635,15 +64664,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rubick_FadeBoltDebuff : public CDOTA_Buff { public: - int32_t attack_damage_reduction; // 0x11e8 + int32_t attack_damage_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Rubick_FadeBolt_BuffCounter : public CDOTA_Buff { public: @@ -63651,16 +64680,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rubick_FadeBoltBuff : public CDOTA_Buff { public: - int32_t attack_damage_bonus; // 0x11e8 - int32_t attack_damage_reduction; // 0x11ec + int32_t attack_damage_bonus; // 0x12b8 + int32_t attack_damage_reduction; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Rubick_NullField : public CDOTABaseAbility { public: @@ -63668,53 +64697,53 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rubick_NullField : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rubick_NullField_Effect : public CDOTA_Buff { public: - int32_t magic_damage_reduction_pct; // 0x11e8 - bool m_bWasHidden; // 0x11ec + int32_t magic_damage_reduction_pct; // 0x12b8 + bool m_bWasHidden; // 0x12bc }; // Alignment: 6 -// Size: 0x670 +// Size: 0x680 class CDOTA_Ability_Rubick_SpellSteal : public CDOTABaseAbility { public: // MNetworkEnable - char m_ActivityModifier[256]; // 0x558 + char m_ActivityModifier[256]; // 0x568 // MNetworkEnable - float m_fStolenCastPoint; // 0x658 - CHandle< CBaseEntity > m_hStealTarget; // 0x65c - CHandle< CDOTABaseAbility > m_hStealAbility; // 0x660 - ParticleIndex_t m_nFXIndex; // 0x664 - int32_t m_hProjectile; // 0x668 + float m_fStolenCastPoint; // 0x668 + CHandle< CBaseEntity > m_hStealTarget; // 0x66c + CHandle< CDOTABaseAbility > m_hStealAbility; // 0x670 + ParticleIndex_t m_nFXIndex; // 0x674 + int32_t m_hProjectile; // 0x678 }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Rubick_SpellSteal : public CDOTA_Buff { public: - CUtlString m_strActivityModifier; // 0x11e8 - CUtlVector< CHandle< CBaseEntity > > m_vecAbilities; // 0x11f0 - bool m_bUsesTwoSlots; // 0x1208 + CUtlString m_strActivityModifier; // 0x12b8 + CUtlVector< CHandle< CBaseEntity > > m_vecAbilities; // 0x12c0 + bool m_bUsesTwoSlots; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - int32_t stolen_debuff_amp; // 0x120c + int32_t stolen_debuff_amp; // 0x12dc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Rubick_Empty1 : public CDOTABaseAbility { public: @@ -63722,7 +64751,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Rubick_Empty2 : public CDOTABaseAbility { public: @@ -63730,7 +64759,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Rubick_Hidden1 : public CDOTABaseAbility { public: @@ -63738,7 +64767,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Rubick_Hidden2 : public CDOTABaseAbility { public: @@ -63746,7 +64775,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Rubick_Hidden3 : public CDOTABaseAbility { public: @@ -63754,7 +64783,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Rubick_Arcane_Supremacy : public CDOTABaseAbility { public: @@ -63762,16 +64791,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Rubick_Arcane_Supremacy : public CDOTA_Buff { public: - int32_t cast_range; // 0x11e8 - int32_t spell_amp; // 0x11ec + int32_t cast_range; // 0x12b8 + int32_t spell_amp; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Rubick : public CDOTABaseAbility { public: @@ -63779,7 +64808,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Rubick_2 : public CDOTABaseAbility { public: @@ -63787,7 +64816,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Rubick_3 : public CDOTABaseAbility { public: @@ -63795,7 +64824,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Rubick_4 : public CDOTABaseAbility { public: @@ -63803,7 +64832,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Rubick_5 : public CDOTABaseAbility { public: @@ -63811,7 +64840,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Rubick_6 : public CDOTABaseAbility { public: @@ -63819,7 +64848,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Rubick_7 : public CDOTABaseAbility { public: @@ -63827,7 +64856,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Rubick_8 : public CDOTABaseAbility { public: @@ -63835,77 +64864,79 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Disruptor_Thunder_Strike : public CDOTABaseAbility { public: // No members available }; -// Alignment: 7 -// Size: 0x1200 +// Alignment: 9 +// Size: 0x12d8 class CDOTA_Modifier_Disruptor_Thunder_Strike : public CDOTA_Buff { public: - float strike_interval; // 0x11e8 - int32_t radius; // 0x11ec - float strike_damage; // 0x11f0 - GameTime_t m_flGroundDelayEndTime; // 0x11f4 - bool is_thinker; // 0x11f8 - bool m_bTransferred; // 0x11f9 + float strike_interval; // 0x12b8 + int32_t radius; // 0x12bc + int32_t strike_damage; // 0x12c0 + int32_t strike_damage_bonus; // 0x12c4 + GameTime_t m_flGroundDelayEndTime; // 0x12c8 + bool is_thinker; // 0x12cc + bool m_bTransferred; // 0x12cd private: - [[maybe_unused]] uint8_t __pad11fa[0x2]; // 0x11fa + [[maybe_unused]] uint8_t __pad12ce[0x2]; // 0x12ce public: - int32_t m_nThinkerViewer; // 0x11fc -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Disruptor_Thunder_Strike_Slow : public CDOTA_Buff -{ -public: - int32_t slow_amount; // 0x11e8 -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Disruptor_Thunder_Strike_Speed : public CDOTA_Buff -{ -public: - int32_t shard_movement_speed_bonus; // 0x11e8 - int32_t shard_attack_speed_bonus; // 0x11ec -}; - -// Alignment: 1 -// Size: 0x570 -class CDOTA_Ability_Disruptor_Glimpse : public CDOTABaseAbility -{ -private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 -public: - int32_t m_nNPCSpawnedID; // 0x568 + int32_t m_nThinkerViewer; // 0x12d0 + int32_t m_nStrikeCount; // 0x12d4 }; // Alignment: 1 // Size: 0x12c0 +class CDOTA_Modifier_Disruptor_Thunder_Strike_Slow : public CDOTA_Buff +{ +public: + int32_t slow_amount; // 0x12b8 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Disruptor_Thunder_Strike_Speed : public CDOTA_Buff +{ +public: + int32_t shard_movement_speed_bonus; // 0x12b8 + int32_t shard_attack_speed_bonus; // 0x12bc +}; + +// Alignment: 1 +// Size: 0x580 +class CDOTA_Ability_Disruptor_Glimpse : public CDOTABaseAbility +{ +private: + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 +public: + int32_t m_nNPCSpawnedID; // 0x578 +}; + +// Alignment: 1 +// Size: 0x1390 class CDOTA_Modifier_Disruptor_Glimpse : public CDOTA_Buff { public: - Vector m_PositionIndex[18]; // 0x11e8 + Vector m_PositionIndex[18]; // 0x12b8 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Disruptor_Glimpse_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x11e8 - CHandle< CBaseEntity > m_hEntity; // 0x11f4 - float m_flDistance; // 0x11f8 + Vector m_vStartLoc; // 0x12b8 + CHandle< CBaseEntity > m_hEntity; // 0x12c4 + float m_flDistance; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Disruptor_KineticField : public CDOTABaseAbility { public: @@ -63913,31 +64944,31 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Disruptor_KineticFieldThinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float formation_time; // 0x11ec - bool m_bActive; // 0x11f0 + int32_t radius; // 0x12b8 + float formation_time; // 0x12bc + bool m_bActive; // 0x12c0 }; // Alignment: 4 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Disruptor_KineticField : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - Vector m_vOriginLoc; // 0x11ec - bool m_bTruesight; // 0x11f8 + int32_t radius; // 0x12b8 + Vector m_vOriginLoc; // 0x12bc + bool m_bTruesight; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - float damage_per_second; // 0x11fc + float damage_per_second; // 0x12cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Disruptor_StaticStorm : public CDOTABaseAbility { public: @@ -63945,31 +64976,31 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Disruptor_StaticStormThinker : public CDOTA_Buff { public: - int32_t m_nCurrentPulse; // 0x11e8 - int32_t radius; // 0x11ec - int32_t damage_max; // 0x11f0 - int32_t pulses; // 0x11f4 - float duration; // 0x11f8 - bool m_bHasGrantedThreeHeroKillEater; // 0x11fc + int32_t m_nCurrentPulse; // 0x12b8 + int32_t radius; // 0x12bc + int32_t damage_max; // 0x12c0 + int32_t pulses; // 0x12c4 + float duration; // 0x12c8 + bool m_bHasGrantedThreeHeroKillEater; // 0x12cc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Disruptor_StaticStorm : public CDOTA_Buff { public: - int32_t miss_rate; // 0x11e8 - int32_t movement_speed_reduction; // 0x11ec - int32_t attack_speed_reduction; // 0x11f0 - bool m_bHasScepter; // 0x11f4 + int32_t miss_rate; // 0x12b8 + int32_t movement_speed_reduction; // 0x12bc + int32_t attack_speed_reduction; // 0x12c0 + bool m_bHasScepter; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Disruptor_StaticStormMute : public CDOTA_Buff { public: @@ -63977,7 +65008,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Disruptor : public CDOTABaseAbility { public: @@ -63985,7 +65016,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Disruptor_2 : public CDOTABaseAbility { public: @@ -63993,7 +65024,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Disruptor_3 : public CDOTABaseAbility { public: @@ -64001,7 +65032,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Disruptor_4 : public CDOTABaseAbility { public: @@ -64009,7 +65040,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Disruptor_5 : public CDOTABaseAbility { public: @@ -64017,7 +65048,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Disruptor_6 : public CDOTABaseAbility { public: @@ -64025,7 +65056,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Disruptor_7 : public CDOTABaseAbility { public: @@ -64033,7 +65064,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Disruptor_8 : public CDOTABaseAbility { public: @@ -64041,7 +65072,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Disruptor_9 : public CDOTABaseAbility { public: @@ -64049,59 +65080,59 @@ public: }; // Alignment: 6 -// Size: 0x590 +// Size: 0x5a0 class CDOTA_Ability_Nyx_Assassin_Impale : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x558 - int32_t width; // 0x570 - float duration; // 0x574 - int32_t length; // 0x578 - int32_t speed; // 0x57c - Vector vOriginalCast; // 0x580 + CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x568 + int32_t width; // 0x580 + float duration; // 0x584 + int32_t length; // 0x588 + int32_t speed; // 0x58c + Vector vOriginalCast; // 0x590 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nyx_Assassin_Impale : public CDOTA_Buff { public: - int32_t impale_damage; // 0x11e8 - float m_flStartZ; // 0x11ec - float m_flCurTime; // 0x11f0 - bool m_bDamageApplied; // 0x11f4 + int32_t impale_damage; // 0x12b8 + float m_flStartZ; // 0x12bc + float m_flCurTime; // 0x12c0 + bool m_bDamageApplied; // 0x12c4 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Nyx_Assassin_ManaBurn : public CDOTABaseAbility { public: - int32_t aoe; // 0x558 + int32_t aoe; // 0x568 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Nyx_Assassin_Burrow : public CDOTABaseAbility { public: - ParticleIndex_t m_nSpellStartFXIndex; // 0x558 - ParticleIndex_t m_nPhaseStartFXIndex; // 0x55c + ParticleIndex_t m_nSpellStartFXIndex; // 0x568 + ParticleIndex_t m_nPhaseStartFXIndex; // 0x56c }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Nyx_Assassin_Burrow : public CDOTA_Modifier_Invisible { public: - float health_regen_rate; // 0x11f8 - float mana_regen_rate; // 0x11fc - int32_t damage_reduction; // 0x1200 - Vector m_vecInitialPos; // 0x1204 + float health_regen_rate; // 0x12c8 + float mana_regen_rate; // 0x12cc + int32_t damage_reduction; // 0x12d0 + Vector m_vecInitialPos; // 0x12d4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Nyx_Assassin_Unburrow : public CDOTABaseAbility { public: @@ -64109,7 +65140,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Nyx_Assassin_SpikedCarapace : public CDOTABaseAbility { public: @@ -64117,19 +65148,19 @@ public: }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Nyx_Assassin_SpikedCarapace : public CDOTA_Buff { public: - float stun_duration; // 0x11e8 + float stun_duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< CHandle< CBaseEntity > > m_hProcessedEnemies; // 0x11f0 + CUtlVector< CHandle< CBaseEntity > > m_hProcessedEnemies; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Nyx_Assassin_Vendetta : public CDOTABaseAbility { public: @@ -64137,27 +65168,27 @@ public: }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Nyx_Assassin_Vendetta : public CDOTA_Modifier_Invisible { public: - int32_t bonus_damage; // 0x11f8 - int32_t movement_speed; // 0x11fc - int32_t shard_movement_speed_bonus; // 0x1200 - int32_t mana_removal_pct; // 0x1204 - bool m_bFreePathing; // 0x1208 + int32_t bonus_damage; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t shard_movement_speed_bonus; // 0x12d0 + int32_t mana_removal_pct; // 0x12d4 + bool m_bFreePathing; // 0x12d8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nyx_Assassin_Vendetta_Armor_Reduction : public CDOTA_Buff { public: - int32_t shard_magic_resist_reduction; // 0x11e8 + int32_t shard_magic_resist_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Nyx_Assassin_Vendetta_Break : public CDOTA_Buff { public: @@ -64165,7 +65196,7 @@ public: }; // Alignment: 0 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Nyx_Assassin_Jolt_Damage_Tracker : public CDOTA_Buff { public: @@ -64173,35 +65204,35 @@ public: }; // Alignment: 3 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Nyx_Assassin_Jolt : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - int32_t aoe; // 0x568 - int32_t damage; // 0x56c - int32_t m_nNPCSpawnedID; // 0x570 + int32_t aoe; // 0x578 + int32_t damage; // 0x57c + int32_t m_nNPCSpawnedID; // 0x580 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nyx_Assassin_Jolt_Debuff : public CDOTA_Buff { public: - int32_t resist_debuff; // 0x11e8 + int32_t resist_debuff; // 0x12b8 }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_NagaSiren_MirrorImage : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_hIllusions; // 0x558 + CUtlVector< CHandle< CBaseEntity > > m_hIllusions; // 0x568 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_NagaSiren_MirrorImage : public CDOTA_Buff { public: @@ -64209,7 +65240,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_NagaSiren_Ensnare : public CDOTABaseAbility { public: @@ -64217,7 +65248,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_NagaSiren_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -64225,7 +65256,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_NagaSiren_RipTide : public CDOTABaseAbility { public: @@ -64233,7 +65264,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_NagaSiren_RipTide_Passive : public CDOTA_Buff { public: @@ -64241,7 +65272,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_NagaSiren_RipTideCounter : public CDOTA_Buff { public: @@ -64249,15 +65280,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_NagaSiren_RipTide : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 + int32_t armor_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_NagaSiren_RipTide_Slow : public CDOTA_Buff { public: @@ -64265,7 +65296,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_NagaSiren_Crit : public CDOTABaseAbility { public: @@ -64273,16 +65304,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_NagaSiren_Crit_Passive : public CDOTA_Buff { public: - int32_t chance; // 0x11e8 - int32_t crit; // 0x11ec + int32_t chance; // 0x12b8 + int32_t crit; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_NagaSiren_SongOfTheSiren : public CDOTABaseAbility { public: @@ -64290,7 +65321,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_NagaSiren_SongOfTheSiren_Cancel : public CDOTABaseAbility { public: @@ -64298,25 +65329,25 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t m_nAffectedEnemies; // 0x11ec - CUtlVector< CHandle< CBaseEntity > > m_vhAffectedHeroes; // 0x11f0 + int32_t radius; // 0x12b8 + int32_t m_nAffectedEnemies; // 0x12bc + CUtlVector< CHandle< CBaseEntity > > m_vhAffectedHeroes; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_NagaSiren_SongOfTheSiren : public CDOTA_Buff { public: - float animation_rate; // 0x11e8 + float animation_rate; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_IgnoreMe : public CDOTA_Buff { public: @@ -64324,75 +65355,74 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_Healing_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t m_nAffectedAllies; // 0x11ec - CUtlVector< CHandle< CBaseEntity > > m_vhAffectedHeroes; // 0x11f0 + int32_t radius; // 0x12b8 + int32_t m_nAffectedAllies; // 0x12bc + CUtlVector< CHandle< CBaseEntity > > m_vhAffectedHeroes; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class NagaSiren_SongOfTheSiren_Healing : public CDOTA_Buff { public: - int32_t heal_pct; // 0x11e8 + int32_t heal_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Naga_Siren_Reel_In : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > affectedEntities; // 0x558 + CUtlVector< CHandle< CBaseEntity > > affectedEntities; // 0x568 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Naga_Siren_Reel_In : public CDOTA_Buff { public: - float pull_strength; // 0x11e8 - int32_t min_pull_distance; // 0x11ec - GameTime_t m_flLastThinkTime; // 0x11f0 + float pull_strength; // 0x12b8 + int32_t min_pull_distance; // 0x12bc + GameTime_t m_flLastThinkTime; // 0x12c0 }; -// Alignment: 8 -// Size: 0x580 +// Alignment: 7 +// Size: 0x590 class CDOTA_Ability_KeeperOfTheLight_Illuminate : public CDOTABaseAbility { public: - GameTime_t m_fStartTime; // 0x558 - float m_fPower; // 0x55c - int32_t m_iProjectile; // 0x560 - ParticleIndex_t m_nFXIndex; // 0x564 - ParticleIndex_t m_nFXIndexB; // 0x568 - Vector m_vPos; // 0x56c - int32_t total_damage; // 0x578 - bool m_bStarted; // 0x57c + GameTime_t m_fStartTime; // 0x568 + int32_t m_iProjectile; // 0x56c + ParticleIndex_t m_nFXIndex; // 0x570 + ParticleIndex_t m_nFXIndexB; // 0x574 + Vector m_vPos; // 0x578 + int32_t total_damage; // 0x584 + bool m_bStarted; // 0x588 }; // Alignment: 10 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_KeeperOfTheLight_Illuminate : public CDOTA_Buff { public: - int32_t range; // 0x11e8 - int32_t total_damage; // 0x11ec - int32_t radius; // 0x11f0 - int32_t channel_vision_radius; // 0x11f4 - float channel_vision_interval; // 0x11f8 - float channel_vision_duration; // 0x11fc - int32_t channel_vision_step; // 0x1200 - GameTime_t m_flLastChantTime; // 0x1204 - Vector m_vNextVisionLocation; // 0x1208 - Vector m_vCastDirection; // 0x1214 + int32_t range; // 0x12b8 + int32_t total_damage; // 0x12bc + int32_t radius; // 0x12c0 + int32_t channel_vision_radius; // 0x12c4 + float channel_vision_interval; // 0x12c8 + float channel_vision_duration; // 0x12cc + int32_t channel_vision_step; // 0x12d0 + GameTime_t m_flLastChantTime; // 0x12d4 + Vector m_vNextVisionLocation; // 0x12d8 + Vector m_vCastDirection; // 0x12e4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_KeeperOfTheLight_IlluminateEnd : public CDOTABaseAbility { public: @@ -64400,48 +65430,47 @@ public: }; // Alignment: 6 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_KeeperOfTheLight_SpiritFormIlluminate : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hThinker; // 0x558 - float max_channel_time; // 0x55c - int32_t total_damage; // 0x560 - float m_fPower; // 0x564 - GameTime_t m_fStartTime; // 0x568 - ParticleIndex_t m_nFXIndex; // 0x56c + CHandle< CBaseEntity > m_hThinker; // 0x568 + float max_channel_time; // 0x56c + int32_t total_damage; // 0x570 + float m_fPower; // 0x574 + GameTime_t m_fStartTime; // 0x578 + ParticleIndex_t m_nFXIndex; // 0x57c }; -// Alignment: 21 -// Size: 0x1268 +// Alignment: 20 +// Size: 0x1330 class CDOTA_Modifier_KeeperOfTheLight_SpiritForm_Illuminate : public CDOTA_Buff { public: - int32_t range; // 0x11e8 - int32_t vision_radius; // 0x11ec - int32_t radius; // 0x11f0 - int32_t total_damage; // 0x11f4 - float max_channel_time; // 0x11f8 - float speed; // 0x11fc - float vision_duration; // 0x1200 - int32_t channel_vision_radius; // 0x1204 - float channel_vision_interval; // 0x1208 - float channel_vision_duration; // 0x120c - int32_t channel_vision_step; // 0x1210 - Vector m_vCastLoc; // 0x1214 - Vector m_vTargetLoc; // 0x1220 - GameTime_t m_fStartTime; // 0x122c - float m_fPower; // 0x1230 - QAngle m_qCastAngle; // 0x1234 - int32_t m_iProjectile; // 0x1240 - ParticleIndex_t m_nFXIndex; // 0x1244 - ParticleIndex_t m_nFXIndexB; // 0x1248 - Vector m_vNextVisionLocation; // 0x124c - Vector m_vCastDirection; // 0x1258 + int32_t range; // 0x12b8 + int32_t vision_radius; // 0x12bc + int32_t radius; // 0x12c0 + int32_t total_damage; // 0x12c4 + float max_channel_time; // 0x12c8 + float speed; // 0x12cc + float vision_duration; // 0x12d0 + int32_t channel_vision_radius; // 0x12d4 + float channel_vision_interval; // 0x12d8 + float channel_vision_duration; // 0x12dc + int32_t channel_vision_step; // 0x12e0 + Vector m_vCastLoc; // 0x12e4 + Vector m_vTargetLoc; // 0x12f0 + GameTime_t m_fStartTime; // 0x12fc + QAngle m_qCastAngle; // 0x1300 + int32_t m_iProjectile; // 0x130c + ParticleIndex_t m_nFXIndex; // 0x1310 + ParticleIndex_t m_nFXIndexB; // 0x1314 + Vector m_vNextVisionLocation; // 0x1318 + Vector m_vCastDirection; // 0x1324 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_KeeperOfTheLight_SpiritFormIlluminateEnd : public CDOTABaseAbility { public: @@ -64449,7 +65478,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_KeeperOfTheLight_ManaLeak : public CDOTABaseAbility { public: @@ -64457,21 +65486,21 @@ public: }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_KeeperOfTheLight_ManaLeak : public CDOTA_Buff { public: - float mana_leak_pct; // 0x11e8 - Vector vLastPos; // 0x11ec - bool bResetPosition; // 0x11f8 + float mana_leak_pct; // 0x12b8 + Vector vLastPos; // 0x12bc + bool bResetPosition; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - float m_fAccumulatedManaLeak; // 0x11fc + float m_fAccumulatedManaLeak; // 0x12cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_KeeperOfTheLight_Radiant_Bind : public CDOTABaseAbility { public: @@ -64479,46 +65508,46 @@ public: }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_KeeperOfTheLight_Radiant_Bind : public CDOTA_Buff { public: - float slow; // 0x11e8 - int32_t magic_resistance; // 0x11ec - Vector vLastPos; // 0x11f0 - bool bResetPosition; // 0x11fc + float slow; // 0x12b8 + int32_t magic_resistance; // 0x12bc + Vector vLastPos; // 0x12c0 + bool bResetPosition; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float m_fAccumulatedDistance; // 0x1200 - ParticleIndex_t m_nFXIndex; // 0x1204 - ParticleIndex_t m_nStatusFXIndex; // 0x1208 + float m_fAccumulatedDistance; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + ParticleIndex_t m_nStatusFXIndex; // 0x12d8 }; // Alignment: 12 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_KeeperOfTheLight_Will_O_Wisp_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float off_duration; // 0x11ec - float off_duration_initial; // 0x11f0 - float on_duration; // 0x11f4 - int32_t hit_count; // 0x11f8 - int32_t m_iAttackCount; // 0x11fc - GameTime_t m_flNextTimeOn; // 0x1200 - bool m_bActive; // 0x1204 + int32_t radius; // 0x12b8 + float off_duration; // 0x12bc + float off_duration_initial; // 0x12c0 + float on_duration; // 0x12c4 + int32_t hit_count; // 0x12c8 + int32_t m_iAttackCount; // 0x12cc + GameTime_t m_flNextTimeOn; // 0x12d0 + bool m_bActive; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - ParticleIndex_t m_nFXIndex; // 0x1208 - ParticleIndex_t m_nFXIndexB; // 0x120c - GameTime_t m_flNextTime; // 0x1210 - float m_flCorrectionTime; // 0x1214 + ParticleIndex_t m_nFXIndex; // 0x12d8 + ParticleIndex_t m_nFXIndexB; // 0x12dc + GameTime_t m_flNextTime; // 0x12e0 + float m_flCorrectionTime; // 0x12e4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_KeeperOfTheLight_Will_O_Wisp : public CDOTABaseAbility { public: @@ -64526,16 +65555,16 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_KeeperOfTheLight_Will_O_Wisp : public CDOTA_Buff { public: - int32_t fixed_movement_speed; // 0x11e8 - Vector m_vSource; // 0x11ec + int32_t fixed_movement_speed; // 0x12b8 + Vector m_vSource; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_KeeperOfTheLight_ChakraMagic : public CDOTABaseAbility { public: @@ -64543,18 +65572,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_KeeperOfTheLight_SpiritForm : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndexA; // 0x11e8 - int32_t movement_speed; // 0x11ec - int32_t cast_range; // 0x11f0 - bool m_bDidSwapSpiritForm; // 0x11f4 + ParticleIndex_t m_nFXIndexA; // 0x12b8 + int32_t movement_speed; // 0x12bc + int32_t cast_range; // 0x12c0 + bool m_bDidSwapSpiritForm; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_KeeperOfTheLight_SpiritForm : public CDOTABaseAbility { public: @@ -64562,7 +65591,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_KeeperOfTheLight_Recall : public CDOTABaseAbility { public: @@ -64570,15 +65599,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_KeeperOfTheLight_Recall : public CDOTA_Buff { public: - bool m_bWasAttacked; // 0x11e8 + bool m_bWasAttacked; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_KeeperOfTheLight_BlindingLight : public CDOTABaseAbility { public: @@ -64586,24 +65615,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_KeeperOfTheLight_BlindingLight_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_KeeperOfTheLight_BlindingLight : public CDOTA_Buff { public: - int32_t miss_rate; // 0x11e8 + int32_t miss_rate; // 0x12b8 }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_BlindingLight_Knockback : public CDOTA_Modifier_Knockback { public: @@ -64611,7 +65640,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light : public CDOTABaseAbility { public: @@ -64619,7 +65648,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_2 : public CDOTABaseAbility { public: @@ -64627,7 +65656,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_3 : public CDOTABaseAbility { public: @@ -64635,7 +65664,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_4 : public CDOTABaseAbility { public: @@ -64643,7 +65672,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_5 : public CDOTABaseAbility { public: @@ -64651,7 +65680,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_6 : public CDOTABaseAbility { public: @@ -64659,7 +65688,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_7 : public CDOTABaseAbility { public: @@ -64667,7 +65696,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_8 : public CDOTABaseAbility { public: @@ -64675,7 +65704,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_9 : public CDOTABaseAbility { public: @@ -64683,7 +65712,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_10 : public CDOTABaseAbility { public: @@ -64691,7 +65720,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_11 : public CDOTABaseAbility { public: @@ -64699,7 +65728,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_12 : public CDOTABaseAbility { public: @@ -64707,7 +65736,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_13 : public CDOTABaseAbility { public: @@ -64715,7 +65744,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_14 : public CDOTABaseAbility { public: @@ -64723,42 +65752,42 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Wisp_Tentacles : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - CHandle< CBaseEntity > hCurrentEntity; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12b8 + CHandle< CBaseEntity > hCurrentEntity; // 0x12bc }; // Alignment: 5 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_Wisp_Tether : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: // MNetworkEnable - CHandle< CBaseEntity > m_hTarget; // 0x568 - Vector m_vProjectileLocation; // 0x56c - bool m_bProjectileActive; // 0x578 + CHandle< CBaseEntity > m_hTarget; // 0x578 + Vector m_vProjectileLocation; // 0x57c + bool m_bProjectileActive; // 0x588 private: - [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 + [[maybe_unused]] uint8_t __pad0589[0x3]; // 0x589 public: - int32_t latch_distance; // 0x57c - int32_t m_iProjectileIndex; // 0x580 + int32_t latch_distance; // 0x58c + int32_t m_iProjectileIndex; // 0x590 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Wisp_Tether_Spell_Lifesteal : public CDOTA_Buff { public: - float shard_bonus_spell_lifesteal; // 0x11e8 + float shard_bonus_spell_lifesteal; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Wisp_Tether_Break : public CDOTABaseAbility { public: @@ -64766,34 +65795,34 @@ public: }; // Alignment: 14 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Wisp_Tether : public CDOTA_Buff { public: - bool m_bInManaGained; // 0x11e8 + bool m_bInManaGained; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - CHandle< CBaseEntity > m_hTarget; // 0x11ec - CUtlVector< CHandle< CBaseEntity > > hStunnedEntities; // 0x11f0 - float stun_duration; // 0x1208 - int32_t movespeed; // 0x120c - int32_t self_bonus; // 0x1210 - bool m_bIsInRange; // 0x1214 + CHandle< CBaseEntity > m_hTarget; // 0x12bc + CUtlVector< CHandle< CBaseEntity > > hStunnedEntities; // 0x12c0 + float stun_duration; // 0x12d8 + int32_t movespeed; // 0x12dc + int32_t self_bonus; // 0x12e0 + bool m_bIsInRange; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad1215[0x3]; // 0x1215 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - int32_t radius; // 0x1218 - int32_t latch_distance; // 0x121c - float m_flHealthHealed; // 0x1220 - float m_flManaHealed; // 0x1224 - float tether_heal_amp; // 0x1228 - GameTime_t m_flHealMessageTime; // 0x122c - GameTime_t m_flManaMessageTime; // 0x1230 + int32_t radius; // 0x12e8 + int32_t latch_distance; // 0x12ec + float m_flHealthHealed; // 0x12f0 + float m_flManaHealed; // 0x12f4 + float tether_heal_amp; // 0x12f8 + GameTime_t m_flHealMessageTime; // 0x12fc + GameTime_t m_flManaMessageTime; // 0x1300 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Wisp_Tether_Stun_Tracker : public CDOTA_Buff { public: @@ -64801,24 +65830,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Wisp_Tether_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Wisp_Tether_Haste : public CDOTA_Buff { public: - float movespeed; // 0x11e8 - float shard_bonus_spell_lifesteal; // 0x11ec + float movespeed; // 0x12b8 + float shard_bonus_spell_lifesteal; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Wisp_Tether_Scepter : public CDOTA_Buff { public: @@ -64826,7 +65855,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Wisp_Spirits_In : public CDOTABaseAbility { public: @@ -64834,7 +65863,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Wisp_Spirit_Invulnerable : public CDOTA_Buff { public: @@ -64842,7 +65871,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Wisp_Spirits_Out : public CDOTABaseAbility { public: @@ -64850,40 +65879,40 @@ public: }; // Alignment: 15 -// Size: 0x12b8 +// Size: 0x1388 class CDOTA_Modifier_Wisp_Spirits : public CDOTA_Buff { public: - bool m_bSpiritsExplode; // 0x11e8 + bool m_bSpiritsExplode; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t creep_damage; // 0x11ec - int32_t hero_damage; // 0x11f0 - int32_t hit_radius; // 0x11f4 - int32_t hero_hit_radius; // 0x11f8 - int32_t explode_radius; // 0x11fc - int32_t min_range; // 0x1200 - int32_t max_range; // 0x1204 - int32_t default_radius; // 0x1208 - int32_t spirit_amount; // 0x120c - float m_flRotation; // 0x1210 - float m_flSpiritRadius; // 0x1214 - int32_t spirit_movement_rate; // 0x1218 - GameTime_t m_flNextSpawn; // 0x121c - CUtlString m_strSpiritsOutSwapAbility; // 0x1220 + int32_t creep_damage; // 0x12bc + int32_t hero_damage; // 0x12c0 + int32_t hit_radius; // 0x12c4 + int32_t hero_hit_radius; // 0x12c8 + int32_t explode_radius; // 0x12cc + int32_t min_range; // 0x12d0 + int32_t max_range; // 0x12d4 + int32_t default_radius; // 0x12d8 + int32_t spirit_amount; // 0x12dc + float m_flRotation; // 0x12e0 + float m_flSpiritRadius; // 0x12e4 + int32_t spirit_movement_rate; // 0x12e8 + GameTime_t m_flNextSpawn; // 0x12ec + CUtlString m_strSpiritsOutSwapAbility; // 0x12f0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Wisp_Spirits_Slow : public CDOTA_Buff { public: - int32_t scepter_slow_pct; // 0x11e8 + int32_t scepter_slow_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Wisp_Overcharge : public CDOTABaseAbility { public: @@ -64891,50 +65920,50 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Wisp_Overcharge : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_spell_amp; // 0x11ec - int32_t shard_bonus_spell_amp; // 0x11f0 - float hp_regen; // 0x11f4 + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_spell_amp; // 0x12bc + int32_t shard_bonus_slow_resistance; // 0x12c0 + float hp_regen; // 0x12c4 }; // Alignment: 4 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Wisp_Relocate : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndexEndTeam; // 0x558 - ParticleIndex_t m_nFXIndexChannel; // 0x55c - float cast_delay; // 0x560 - float return_time; // 0x564 + ParticleIndex_t m_nFXIndexEndTeam; // 0x568 + ParticleIndex_t m_nFXIndexChannel; // 0x56c + float cast_delay; // 0x570 + float return_time; // 0x574 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Wisp_Relocate_Thinker : public CDOTA_Buff { public: - float cast_delay; // 0x11e8 - ParticleIndex_t m_nFXIndexEndTeam; // 0x11ec - ParticleIndex_t m_nFXIndexChannel; // 0x11f0 + float cast_delay; // 0x12b8 + ParticleIndex_t m_nFXIndexEndTeam; // 0x12bc + ParticleIndex_t m_nFXIndexChannel; // 0x12c0 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Wisp_Relocate_Return : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - Vector m_vecReturnPosition; // 0x11ec - float return_time; // 0x11f8 - ParticleIndex_t m_nFXTimeRemaining; // 0x11fc + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + Vector m_vecReturnPosition; // 0x12bc + float return_time; // 0x12c8 + ParticleIndex_t m_nFXTimeRemaining; // 0x12cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Visage_GraveChill : public CDOTABaseAbility { public: @@ -64942,114 +65971,114 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Visage_GraveChill_Debuff : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x11e8 - int32_t attackspeed_bonus; // 0x11ec + int32_t movespeed_bonus; // 0x12b8 + int32_t attackspeed_bonus; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Visage_GraveChill_Buff : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x11e8 - int32_t attackspeed_bonus; // 0x11ec + int32_t movespeed_bonus; // 0x12b8 + int32_t attackspeed_bonus; // 0x12bc }; // Alignment: 3 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Visage_SoulAssumption : public CDOTABaseAbility { public: - float m_fDamage; // 0x558 - ParticleIndex_t m_nFXIndex; // 0x55c - int32_t m_iForcedStacks; // 0x560 + float m_fDamage; // 0x568 + ParticleIndex_t m_nFXIndex; // 0x56c + int32_t m_iForcedStacks; // 0x570 }; // Alignment: 10 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Visage_SoulAssumption : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t stack_limit; // 0x11ec - int32_t damage_limit; // 0x11f0 - float stack_duration; // 0x11f4 - float damage_min; // 0x11f8 - float damage_max; // 0x11fc - ParticleIndex_t m_nFxIndexA; // 0x1200 - ParticleIndex_t m_nFxIndexB; // 0x1204 - int32_t iCur_stack; // 0x1208 + int32_t radius; // 0x12b8 + int32_t stack_limit; // 0x12bc + int32_t damage_limit; // 0x12c0 + float stack_duration; // 0x12c4 + float damage_min; // 0x12c8 + float damage_max; // 0x12cc + ParticleIndex_t m_nFxIndexA; // 0x12d0 + ParticleIndex_t m_nFxIndexB; // 0x12d4 + int32_t iCur_stack; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad120c[0x1c]; // 0x120c + [[maybe_unused]] uint8_t __pad12dc[0x1c]; // 0x12dc public: - float m_fTotalDamage; // 0x1228 + float m_fTotalDamage; // 0x12f8 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Visage_GravekeepersCloak : public CDOTABaseAbility { public: - CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x558 + CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x568 }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Visage_GravekeepersCloak_Stack : public CDOTA_Buff { public: - bool m_bIsRecovering; // 0x11e8 + bool m_bIsRecovering; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t m_nFXIndex[4]; // 0x11ec + int32_t m_nFXIndex[4]; // 0x12bc }; // Alignment: 9 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Visage_GravekeepersCloak : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 - int32_t max_layers; // 0x11ec - float minimum_damage; // 0x11f0 - int32_t recovery_time; // 0x11f4 - int32_t radius; // 0x11f8 - int32_t max_damage_reduction; // 0x11fc - ParticleIndex_t m_nFXIndex[4]; // 0x1200 - ParticleIndex_t m_nFXIndexB; // 0x1210 + int32_t damage_reduction; // 0x12b8 + int32_t max_layers; // 0x12bc + float minimum_damage; // 0x12c0 + int32_t recovery_time; // 0x12c4 + int32_t radius; // 0x12c8 + int32_t max_damage_reduction; // 0x12cc + ParticleIndex_t m_nFXIndex[4]; // 0x12d0 + ParticleIndex_t m_nFXIndexB; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CDOTA_Modifier_Visage_GravekeepersCloak_Stack* > vStacks; // 0x1218 + CUtlVector< CDOTA_Modifier_Visage_GravekeepersCloak_Stack* > vStacks; // 0x12e8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Visage_GravekeepersCloak_Secondary : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 + int32_t damage_reduction; // 0x12b8 }; // Alignment: 2 -// Size: 0x678 +// Size: 0x688 class CDOTA_Ability_Visage_SummonFamiliars : public CDOTABaseAbility { public: - char szUnitName[260]; // 0x558 + char szUnitName[260]; // 0x568 private: - [[maybe_unused]] uint8_t __pad065c[0x4]; // 0x65c + [[maybe_unused]] uint8_t __pad066c[0x4]; // 0x66c public: - CUtlVector< CHandle< CBaseEntity > > m_hExistingUnits; // 0x660 + CUtlVector< CHandle< CBaseEntity > > m_hExistingUnits; // 0x670 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Visage_SummonFamiliars_Talents : public CDOTA_Buff { public: @@ -65057,7 +66086,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Visage_Amor_Reduction : public CDOTA_Buff { public: @@ -65065,21 +66094,21 @@ public: }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Visage_SummonFamiliars_DamageCharge : public CDOTA_Buff { public: - int32_t familiar_speed; // 0x11e8 - int32_t m_nFXIndex; // 0x11ec - int32_t m_nFXIndexB; // 0x11f0 + int32_t familiar_speed; // 0x12b8 + int32_t m_nFXIndex; // 0x12bc + int32_t m_nFXIndexB; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CountdownTimer m_ctTimer; // 0x11f8 + CountdownTimer m_ctTimer; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Visage_SummonFamiliars_StoneForm : public CDOTABaseAbility { public: @@ -65087,7 +66116,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Visage_Stone_Form_Self_Cast : public CDOTABaseAbility { public: @@ -65095,7 +66124,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Visage_Stone_Form_Self_Cast_Cooldown_Manager : public CDOTA_Buff { public: @@ -65103,79 +66132,79 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Thinker : public CDOTA_Buff { public: - int32_t stun_radius; // 0x11e8 - int32_t stun_damage; // 0x11ec - float stun_delay; // 0x11f0 - float stun_duration; // 0x11f4 - float stone_duration; // 0x11f8 - int32_t m_iIntervalCount; // 0x11fc + int32_t stun_radius; // 0x12b8 + int32_t stun_damage; // 0x12bc + float stun_delay; // 0x12c0 + float stun_duration; // 0x12c4 + float stone_duration; // 0x12c8 + int32_t m_iIntervalCount; // 0x12cc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Buff : public CDOTA_Buff { public: - float hp_regen; // 0x11e8 - int32_t stun_radius; // 0x11ec + float hp_regen; // 0x12b8 + int32_t stun_radius; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Visage_Scepter : public CDOTA_Buff { public: - GameTime_t m_flReadyTime; // 0x11e8 + GameTime_t m_flReadyTime; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Timer : public CDOTA_Buff { public: - float stone_duration; // 0x11e8 - GameTime_t m_fStartTime; // 0x11ec + float stone_duration; // 0x12b8 + GameTime_t m_fStartTime; // 0x12bc }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Visage_Silent_As_The_Grave : public CDOTABaseAbility { public: - float invis_duration; // 0x558 + float invis_duration; // 0x568 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Visage_Silent_As_The_Grave : public CDOTA_Modifier_Invisible { public: - bool m_bHasMadeAttack; // 0x11f8 + bool m_bHasMadeAttack; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Visage_Silent_As_The_Grave_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 2 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Slark_EssenceShift : public CDOTA_Modifier_Stacking_Base { public: - int32_t agi_gain; // 0x1208 - float duration; // 0x120c + int32_t agi_gain; // 0x12d8 + float duration; // 0x12dc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Slark_DarkPact : public CDOTABaseAbility { public: @@ -65183,7 +66212,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Slark_DarkPact : public CDOTA_Buff { public: @@ -65191,20 +66220,20 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Slark_DarkPact_Pulses : public CDOTA_Buff { public: - int32_t m_iPulseCount; // 0x11e8 - int32_t radius; // 0x11ec - int32_t total_damage; // 0x11f0 - int32_t total_pulses; // 0x11f4 - int32_t self_damage_pct; // 0x11f8 - float pulse_interval; // 0x11fc + int32_t m_iPulseCount; // 0x12b8 + int32_t radius; // 0x12bc + int32_t total_damage; // 0x12c0 + int32_t total_pulses; // 0x12c4 + int32_t self_damage_pct; // 0x12c8 + float pulse_interval; // 0x12cc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Slark_Pounce_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -65212,7 +66241,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Slark_Pounce : public CDOTABaseAbility { public: @@ -65220,43 +66249,43 @@ public: }; // Alignment: 15 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Slark_Pounce : public CDOTA_Buff { public: - float m_flTotalTime; // 0x11e8 - float m_flInitialVelocity; // 0x11ec - Vector m_vStartPosition; // 0x11f0 - Vector m_vTargetHorizontalDirection; // 0x11fc - float m_flCurrentTimeHoriz; // 0x1208 - float m_flCurrentTimeVert; // 0x120c - bool m_bInterrupted; // 0x1210 - bool m_bFoundUnit; // 0x1211 + float m_flTotalTime; // 0x12b8 + float m_flInitialVelocity; // 0x12bc + Vector m_vStartPosition; // 0x12c0 + Vector m_vTargetHorizontalDirection; // 0x12cc + float m_flCurrentTimeHoriz; // 0x12d8 + float m_flCurrentTimeVert; // 0x12dc + bool m_bInterrupted; // 0x12e0 + bool m_bFoundUnit; // 0x12e1 private: - [[maybe_unused]] uint8_t __pad1212[0x2]; // 0x1212 + [[maybe_unused]] uint8_t __pad12e2[0x2]; // 0x12e2 public: - int32_t pounce_distance; // 0x1214 - int32_t pounce_distance_scepter; // 0x1218 - float pounce_speed; // 0x121c - float pounce_acceleration; // 0x1220 - int32_t pounce_radius; // 0x1224 - int32_t pounce_damage; // 0x1228 - float leash_duration; // 0x122c + int32_t pounce_distance; // 0x12e4 + int32_t pounce_distance_scepter; // 0x12e8 + float pounce_speed; // 0x12ec + float pounce_acceleration; // 0x12f0 + int32_t pounce_radius; // 0x12f4 + int32_t pounce_damage; // 0x12f8 + float leash_duration; // 0x12fc }; // Alignment: 4 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Slark_Pounce_Leash : public CDOTA_Buff { public: - int32_t leash_radius; // 0x11e8 - Vector vLeashLocation; // 0x11ec - bool m_bEscaped; // 0x11f8 - bool m_bFishBait; // 0x11f9 + int32_t leash_radius; // 0x12b8 + Vector vLeashLocation; // 0x12bc + bool m_bEscaped; // 0x12c8 + bool m_bFishBait; // 0x12c9 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Slark_EssenceShift : public CDOTABaseAbility { public: @@ -65264,7 +66293,7 @@ public: }; // Alignment: 0 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Slark_EssenceShift_DebuffCounter : public CDOTA_Modifier_Stacking_Base { public: @@ -65272,15 +66301,15 @@ public: }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Slark_EssenceShift_Debuff : public CDOTA_Modifier_Stacking_Multiple_Buff_Base { public: - int32_t stat_loss; // 0x11f0 + int32_t stat_loss; // 0x12c0 }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slark_EssenceShift_Buff : public CDOTA_Modifier_Stacking_Multiple_Buff_Base { public: @@ -65288,7 +66317,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Slark_EssenceShift_Permanent_Buff : public CDOTA_Buff { public: @@ -65296,7 +66325,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Slark_EssenceShift_Permanent_Debuff : public CDOTA_Buff { public: @@ -65304,7 +66333,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Slark_ShadowDance : public CDOTABaseAbility { public: @@ -65312,83 +66341,83 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slark_ShadowDance_Aura : public CDOTA_Buff { public: - int32_t scepter_aoe; // 0x11e8 + int32_t scepter_aoe; // 0x12b8 }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Slark_ShadowDance_Passive : public CDOTA_Buff { public: - float activation_delay; // 0x11e8 - float neutral_disable; // 0x11ec - bool m_bPendingRefresh; // 0x11f0 + float activation_delay; // 0x12b8 + float neutral_disable; // 0x12bc + bool m_bPendingRefresh; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - GameTime_t m_fPendingStateChangeTime; // 0x11f4 - CountdownTimer m_NeutralHitTimer; // 0x11f8 + GameTime_t m_fPendingStateChangeTime; // 0x12c4 + CountdownTimer m_NeutralHitTimer; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slark_ShadowDance_PassiveRegen : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 - float bonus_regen; // 0x11ec + int32_t bonus_movement_speed; // 0x12b8 + float bonus_regen; // 0x12bc }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Slark_ShadowDance : public CDOTA_Modifier_Invisible { public: - CHandle< CBaseEntity > m_hVisibleEntity; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc + CHandle< CBaseEntity > m_hVisibleEntity; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slark_ShadowDance_Visual : public CDOTA_Buff { public: - bool m_bScepter; // 0x11e8 + bool m_bScepter; // 0x12b8 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Slark_Depth_Shroud : public CDOTABaseAbility { public: - CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x558 + CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x568 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slark_Depth_Shroud_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - CHandle< CBaseEntity > m_hVisibleEntity; // 0x11ec + int32_t radius; // 0x12b8 + CHandle< CBaseEntity > m_hVisibleEntity; // 0x12bc }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Slark_Depth_Shroud : public CDOTA_Modifier_Invisible { public: - ParticleIndex_t m_nFXIndex; // 0x11f8 - int32_t bonus_movement_speed; // 0x11fc - float bonus_regen; // 0x1200 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t bonus_movement_speed; // 0x12cc + float bonus_regen; // 0x12d0 }; // Alignment: 0 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Slark_Fish_Bait : public CDOTABaseAbility { public: @@ -65396,23 +66425,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slark_Fish_Bait_Pre : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 + int32_t movement_speed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Slark_Fish_Bait_Post : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 + int32_t attack_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Medusa_SplitShot : public CDOTABaseAbility { public: @@ -65420,46 +66449,46 @@ public: }; // Alignment: 5 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Medusa_SplitShot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x11e8 - int32_t range; // 0x11ec - int32_t arrow_count; // 0x11f0 - int32_t projectile_speed; // 0x11f4 - ParticleIndex_t m_nSplitShotBowFXIndex; // 0x11f8 + int32_t damage_modifier; // 0x12b8 + int32_t range; // 0x12bc + int32_t arrow_count; // 0x12c0 + int32_t projectile_speed; // 0x12c4 + ParticleIndex_t m_nSplitShotBowFXIndex; // 0x12c8 }; // Alignment: 11 -// Size: 0x660 +// Size: 0x670 class CDOTA_Ability_Medusa_MysticSnake : public CDOTABaseAbility { public: - int32_t radius; // 0x558 - int32_t snake_jumps; // 0x55c - int32_t snake_damage; // 0x560 - int32_t snake_damage_pct; // 0x564 - int32_t snake_mana_steal; // 0x568 - int32_t snake_scale; // 0x56c - int32_t snake_speed_scale; // 0x570 - int32_t initial_speed; // 0x574 - int32_t return_speed; // 0x578 - float jump_delay; // 0x57c - float slow_duration; // 0x580 + int32_t radius; // 0x568 + int32_t snake_jumps; // 0x56c + int32_t snake_damage; // 0x570 + int32_t snake_damage_pct; // 0x574 + int32_t snake_mana_steal; // 0x578 + int32_t snake_scale; // 0x57c + int32_t snake_speed_scale; // 0x580 + int32_t initial_speed; // 0x584 + int32_t return_speed; // 0x588 + float jump_delay; // 0x58c + float slow_duration; // 0x590 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Medusa_Mystic_Snake_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 - int32_t turn_slow; // 0x11ec + int32_t movement_slow; // 0x12b8 + int32_t turn_slow; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Medusa_ManaShield : public CDOTABaseAbility { public: @@ -65467,18 +66496,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Medusa_ManaShield : public CDOTA_Buff { public: - int32_t bonus_mana; // 0x11e8 - float absorption_pct; // 0x11ec - float damage_per_mana; // 0x11f0 - float illusion_damage_per_mana; // 0x11f4 + int32_t bonus_mana; // 0x12b8 + float absorption_pct; // 0x12bc + float damage_per_mana; // 0x12c0 + float illusion_damage_per_mana; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Medusa_StoneGaze : public CDOTABaseAbility { public: @@ -65486,65 +66515,65 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Medusa_StoneGaze_Tracker : public CDOTA_Buff { public: - int32_t m_nNumStoned; // 0x11e8 - bool m_bAnyInvisible; // 0x11ec + int32_t m_nNumStoned; // 0x12b8 + bool m_bAnyInvisible; // 0x12bc }; // Alignment: 5 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Medusa_StoneGaze : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float vision_cone; // 0x11ec - float duration; // 0x11f0 - int32_t speed_boost; // 0x11f4 - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x11f8 + int32_t radius; // 0x12b8 + float vision_cone; // 0x12bc + float duration; // 0x12c0 + int32_t speed_boost; // 0x12c4 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Medusa_StoneGaze_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 8 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Medusa_StoneGaze_Facing : public CDOTA_Buff { public: - float face_duration; // 0x11e8 - float stone_duration; // 0x11ec - float duration; // 0x11f0 - float vision_cone; // 0x11f4 - float m_flAccumulatedTime; // 0x11f8 + float face_duration; // 0x12b8 + float stone_duration; // 0x12bc + float duration; // 0x12c0 + float vision_cone; // 0x12c4 + float m_flAccumulatedTime; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CountdownTimer ctFacing; // 0x1200 - bool m_bAlreadyStoned; // 0x1218 + CountdownTimer ctFacing; // 0x12d0 + bool m_bAlreadyStoned; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - ParticleIndex_t m_nFXIndex; // 0x121c + ParticleIndex_t m_nFXIndex; // 0x12ec }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Medusa_StoneGaze_Stone : public CDOTA_Buff { public: - int32_t bonus_physical_damage; // 0x11e8 + int32_t bonus_physical_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Medusa_Cold_Blooded : public CDOTABaseAbility { public: @@ -65552,7 +66581,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Medusa_Cold_Blooded : public CDOTA_Buff { public: @@ -65560,7 +66589,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Troll_Warlord_Rampage : public CDOTABaseAbility { public: @@ -65568,38 +66597,39 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Troll_Warlord_Rampage : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 - int32_t status_resistance; // 0x11ec + int32_t attack_speed; // 0x12b8 + int32_t status_resistance; // 0x12bc }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_TrollWarlord_BerserkersRage : public CDOTABaseAbility { public: - int32_t m_iOriginalAttackCapabilities; // 0x558 + int32_t m_iOriginalAttackCapabilities; // 0x568 }; -// Alignment: 7 -// Size: 0x1208 +// Alignment: 8 +// Size: 0x12d8 class CDOTA_Modifier_TrollWarlord_BerserkersRage : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x11e8 - int32_t bonus_range; // 0x11ec - int32_t bonus_hp; // 0x11f0 - int32_t bonus_armor; // 0x11f4 - int32_t ensnare_chance; // 0x11f8 - float ensnare_duration; // 0x11fc - float base_attack_time; // 0x1200 + int32_t bonus_move_speed; // 0x12b8 + int32_t bonus_range; // 0x12bc + int32_t bonus_hp; // 0x12c0 + int32_t bonus_armor; // 0x12c4 + int32_t ensnare_chance; // 0x12c8 + float ensnare_duration; // 0x12cc + float base_attack_time; // 0x12d0 + int32_t m_iOriginalAttackCapabilities; // 0x12d4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TrollWarlord_BerserkersRage_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -65607,79 +66637,79 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_TrollWarlord_BerserkersRage_Maim : public CDOTA_Buff { public: - int32_t maim_slow; // 0x11e8 + int32_t maim_slow; // 0x12b8 }; // Alignment: 8 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_TrollWarlord_WhirlingAxes_Ranged : public CDOTABaseAbility { public: - Vector m_vStartPos; // 0x558 - int32_t m_iArrowProjectile; // 0x564 - int32_t axe_width; // 0x568 - float axe_speed; // 0x56c - float axe_range; // 0x570 - int32_t axe_spread; // 0x574 - int32_t axe_count; // 0x578 + Vector m_vStartPos; // 0x568 + int32_t m_iArrowProjectile; // 0x574 + int32_t axe_width; // 0x578 + float axe_speed; // 0x57c + float axe_range; // 0x580 + int32_t axe_spread; // 0x584 + int32_t axe_count; // 0x588 private: - [[maybe_unused]] uint8_t __pad057c[0x4]; // 0x57c + [[maybe_unused]] uint8_t __pad058c[0x4]; // 0x58c public: - CUtlVector< CHandle< CBaseEntity > > m_hHitUnits; // 0x580 + CUtlVector< CHandle< CBaseEntity > > m_hHitUnits; // 0x590 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_TrollWarlord_WhirlingAxes_Slow : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 + int32_t movement_speed; // 0x12b8 }; // Alignment: 2 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_TrollWarlord_Whirling_Axes_Melee : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_hAxes; // 0x558 - int32_t m_nAxeIdx; // 0x570 + CUtlVector< CHandle< CBaseEntity > > m_hAxes; // 0x568 + int32_t m_nAxeIdx; // 0x580 }; // Alignment: 16 -// Size: 0x1258 +// Size: 0x1328 class CDOTA_Modifier_TrollWarlord_Whirling_Axes_Melee : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t hit_radius; // 0x11ec - int32_t axe_movement_speed; // 0x11f0 - float whirl_duration; // 0x11f4 - float max_range; // 0x11f8 - float blind_duration; // 0x11fc - float m_flRotation; // 0x1200 - float m_flAxeRadius; // 0x1204 - GameTime_t m_flDieTime; // 0x1208 - float m_bPiercesMagicImmunity; // 0x120c - int32_t m_nSwapIndex; // 0x1210 - bool m_bReturning; // 0x1214 + int32_t damage; // 0x12b8 + int32_t hit_radius; // 0x12bc + int32_t axe_movement_speed; // 0x12c0 + float whirl_duration; // 0x12c4 + float max_range; // 0x12c8 + float blind_duration; // 0x12cc + float m_flRotation; // 0x12d0 + float m_flAxeRadius; // 0x12d4 + GameTime_t m_flDieTime; // 0x12d8 + float m_bPiercesMagicImmunity; // 0x12dc + int32_t m_nSwapIndex; // 0x12e0 + bool m_bReturning; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad1215[0x3]; // 0x1215 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - ParticleIndex_t m_nAxeFXIndex[2]; // 0x1218 - int32_t m_nHeroesHitForRelic; // 0x1220 + ParticleIndex_t m_nAxeFXIndex[2]; // 0x12e8 + int32_t m_nHeroesHitForRelic; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad1224[0x4]; // 0x1224 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CUtlVector< CHandle< CBaseEntity > > hitEntities; // 0x1228 - CUtlVector< CHandle< CBaseEntity > > m_hAxes; // 0x1240 + CUtlVector< CHandle< CBaseEntity > > hitEntities; // 0x12f8 + CUtlVector< CHandle< CBaseEntity > > m_hAxes; // 0x1310 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TrollWarlord_Axe_Invulnerable : public CDOTA_Buff { public: @@ -65687,52 +66717,54 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_TrollWarlord_WhirlingAxes_Blind : public CDOTA_Buff { public: - int32_t blind_pct; // 0x11e8 + int32_t blind_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_TrollWarlord_Fervor : public CDOTABaseAbility { public: // No members available }; -// Alignment: 3 -// Size: 0x11f8 +// Alignment: 5 +// Size: 0x12d0 class CDOTA_Modifier_TrollWarlord_Fervor : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 - int32_t max_stacks; // 0x11ec - CHandle< CBaseEntity > m_hUnit; // 0x11f0 + int32_t attack_speed; // 0x12b8 + int32_t max_stacks; // 0x12bc + int32_t extra_attack_chance_per_stack; // 0x12c0 + int32_t base_chance; // 0x12c4 + CHandle< CBaseEntity > m_hUnit; // 0x12c8 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_TrollWarlord_BattleTrance : public CDOTABaseAbility { public: - float trance_duration; // 0x558 + float trance_duration; // 0x568 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_TrollWarlord_BattleTrance : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - int32_t attack_speed; // 0x11ec - int32_t lifesteal; // 0x11f0 - CHandle< CBaseEntity > m_hTarget; // 0x11f4 + int32_t movement_speed; // 0x12b8 + int32_t attack_speed; // 0x12bc + int32_t lifesteal; // 0x12c0 + CHandle< CBaseEntity > m_hTarget; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TrollWarlord_BattleTrance_Aura : public CDOTA_Buff { public: @@ -65740,7 +66772,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_TrollWarlord_BattleTrance_Vision : public CDOTA_Buff { public: @@ -65748,7 +66780,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Centaur_HoofStomp : public CDOTABaseAbility { public: @@ -65756,32 +66788,40 @@ public: }; // Alignment: 1 -// Size: 0x560 -class CDOTA_Ability_Centaur_DoubleEdge : public CDOTABaseAbility +// Size: 0x12c0 +class CDOTA_Modifier_Centaur_HoofStomp_Windup : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x558 + bool bInterrupted; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x570 +class CDOTA_Ability_Centaur_DoubleEdge : public CDOTABaseAbility +{ +public: + ParticleIndex_t m_nFXIndex; // 0x568 +}; + +// Alignment: 1 +// Size: 0x12c0 class CDOTA_Modifier_Centaur_DoubleEdge_Slow : public CDOTA_Buff { public: - int32_t shard_movement_slow; // 0x11e8 + int32_t shard_movement_slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Centaur_DoubleEdge_Buff : public CDOTA_Buff { public: - int32_t shard_str_pct; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t shard_str_pct; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Centaur_Return : public CDOTABaseAbility { public: @@ -65789,24 +66829,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Centaur_Return_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Centaur_Return : public CDOTA_Buff { public: - int32_t return_damage; // 0x11e8 - int32_t return_damage_str; // 0x11ec + int32_t return_damage; // 0x12b8 + int32_t return_damage_str; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Centaur_Return_Counter : public CDOTA_Buff { public: @@ -65814,80 +66854,88 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Centaur_Return_Bonus_Damage : public CDOTA_Buff { public: - float damage_gain_pct; // 0x11e8 + float damage_gain_pct; // 0x12b8 }; // Alignment: 8 -// Size: 0x590 +// Size: 0x5a0 class CDOTA_Ability_Centaur_Stampede : public CDOTABaseAbility { public: - float duration; // 0x558 - int32_t base_damage; // 0x55c - float strength_damage; // 0x560 - float slow_duration; // 0x564 - float scepter_bonus_duration; // 0x568 + float duration; // 0x568 + int32_t base_damage; // 0x56c + float strength_damage; // 0x570 + float slow_duration; // 0x574 + float scepter_bonus_duration; // 0x578 private: - [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c + [[maybe_unused]] uint8_t __pad057c[0x4]; // 0x57c public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x570 - int32_t m_nHeroesHit; // 0x588 - bool m_bHitInvisibleHero; // 0x58c + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x580 + int32_t m_nHeroesHit; // 0x598 + bool m_bHitInvisibleHero; // 0x59c }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Centaur_Stampede_Slow : public CDOTA_Buff { public: - int32_t cast_time_increase; // 0x11e8 - int32_t slow_movement_speed; // 0x11ec + int32_t cast_time_increase; // 0x12b8 + int32_t slow_movement_speed; // 0x12bc }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Centaur_Stampede : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t damage_reduction; // 0x11ec - int32_t has_flying_movement; // 0x11f0 + int32_t radius; // 0x12b8 + int32_t damage_reduction; // 0x12bc + int32_t has_flying_movement; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x11f8 + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x570 +class CDOTA_Ability_Centaur_Work_Horse : public CDOTABaseAbility +{ +public: + CHandle< CBaseEntity > m_hCart; // 0x568 +}; + +// Alignment: 6 +// Size: 0x12e0 +class CDOTA_Modifier_Centaur_Cart : public CDOTA_Buff +{ +public: + CHandle< CBaseEntity > m_hUnit; // 0x12b8 + bool m_bWasMoving; // 0x12bc + bool m_bSpawnDone; // 0x12bd +private: + [[maybe_unused]] uint8_t __pad12be[0x2]; // 0x12be +public: + Vector m_vecOldForward; // 0x12c0 + int32_t break_distance; // 0x12cc + Vector m_vecPreviousLocation; // 0x12d0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Centaur_Mount : public CDOTABaseAbility { public: // No members available }; -// Alignment: 6 -// Size: 0x1210 -class CDOTA_Modifier_Centaur_Cart : public CDOTA_Buff -{ -public: - CHandle< CBaseEntity > m_hUnit; // 0x11e8 - bool m_bWasMoving; // 0x11ec - bool m_bSpawnDone; // 0x11ed -private: - [[maybe_unused]] uint8_t __pad11ee[0x2]; // 0x11ee -public: - Vector m_vecOldForward; // 0x11f0 - int32_t break_distance; // 0x11fc - Vector m_vecPreviousLocation; // 0x1200 -}; - // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Centaur_Hitched_Into_Cart : public CDOTA_Buff { public: @@ -65895,41 +66943,41 @@ public: }; // Alignment: 15 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Centaur_Mount_Toss : public CDOTA_Buff { public: - float air_duration; // 0x11e8 - int32_t air_height; // 0x11ec - int32_t travel_distance; // 0x11f0 - CHandle< CBaseEntity > m_hTarget; // 0x11f4 - float m_flPredictedTotalTime; // 0x11f8 - Vector m_vStartPosition; // 0x11fc - float m_flCurrentTimeHoriz; // 0x1208 - float m_flCurrentTimeVert; // 0x120c - bool m_bHorizontalMotionInterrupted; // 0x1210 - bool m_bDamageApplied; // 0x1211 - bool m_bTargetTeleported; // 0x1212 + float air_duration; // 0x12b8 + int32_t air_height; // 0x12bc + int32_t travel_distance; // 0x12c0 + CHandle< CBaseEntity > m_hTarget; // 0x12c4 + float m_flPredictedTotalTime; // 0x12c8 + Vector m_vStartPosition; // 0x12cc + float m_flCurrentTimeHoriz; // 0x12d8 + float m_flCurrentTimeVert; // 0x12dc + bool m_bHorizontalMotionInterrupted; // 0x12e0 + bool m_bDamageApplied; // 0x12e1 + bool m_bTargetTeleported; // 0x12e2 private: - [[maybe_unused]] uint8_t __pad1213[0x1]; // 0x1213 + [[maybe_unused]] uint8_t __pad12e3[0x1]; // 0x12e3 public: - Vector m_vHorizontalVelocity; // 0x1214 - Vector m_vLastKnownTargetPosition; // 0x1220 - float m_flInitialVelocityZ; // 0x122c - bool m_bDone; // 0x1230 + Vector m_vHorizontalVelocity; // 0x12e4 + Vector m_vLastKnownTargetPosition; // 0x12f0 + float m_flInitialVelocityZ; // 0x12fc + bool m_bDone; // 0x1300 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Centaur_Mounted : public CDOTA_Buff { public: - int32_t melee_attack_range; // 0x11e8 - CHandle< CBaseEntity > m_hCart; // 0x11ec + int32_t melee_attack_range; // 0x12b8 + CHandle< CBaseEntity > m_hCart; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Centaur_1 : public CDOTABaseAbility { public: @@ -65937,7 +66985,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Centaur_2 : public CDOTABaseAbility { public: @@ -65945,7 +66993,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Centaur_3 : public CDOTABaseAbility { public: @@ -65953,7 +67001,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Centaur_4 : public CDOTABaseAbility { public: @@ -65961,7 +67009,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Centaur_5 : public CDOTABaseAbility { public: @@ -65969,7 +67017,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Centaur_6 : public CDOTABaseAbility { public: @@ -65977,7 +67025,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Centaur_7 : public CDOTABaseAbility { public: @@ -65985,7 +67033,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Magnataur_Horn_Toss : public CDOTABaseAbility { public: @@ -65993,88 +67041,88 @@ public: }; // Alignment: 9 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Magnataur_Horn_Toss : public CDOTA_Buff { public: - float air_duration; // 0x11e8 - int32_t air_height; // 0x11ec - int32_t travel_distance; // 0x11f0 - Vector m_vDestination; // 0x11f4 - float m_flStartZ; // 0x1200 - float m_flCurTime; // 0x1204 - float m_flJumpDuration; // 0x1208 - float m_flJumpHeight; // 0x120c - Vector m_vTargetHorizontalDirection; // 0x1210 + float air_duration; // 0x12b8 + int32_t air_height; // 0x12bc + int32_t travel_distance; // 0x12c0 + Vector m_vDestination; // 0x12c4 + float m_flStartZ; // 0x12d0 + float m_flCurTime; // 0x12d4 + float m_flJumpDuration; // 0x12d8 + float m_flJumpHeight; // 0x12dc + Vector m_vTargetHorizontalDirection; // 0x12e0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Magnataur_Horn_Toss_Slow : public CDOTA_Buff { public: - int32_t horn_toss_slow_pct; // 0x11e8 + int32_t horn_toss_slow_pct; // 0x12b8 }; // Alignment: 3 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_Magnataur_Shockwave : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 + ParticleIndex_t m_nFXIndex; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0xc]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0xc]; // 0x56c public: - CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x568 - CUtlVector< CHandle< CBaseEntity > > hAlreadyHitListReturning; // 0x580 + CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x578 + CUtlVector< CHandle< CBaseEntity > > hAlreadyHitListReturning; // 0x590 }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Magnataur_Shockwave_Erupt : public CDOTA_Buff { public: - int32_t scepter_width; // 0x11e8 - float scepter_duration; // 0x11ec - bool play_particle; // 0x11f0 + int32_t scepter_width; // 0x12b8 + float scepter_duration; // 0x12bc + bool play_particle; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - Vector m_vStart; // 0x11f4 - Vector m_vEnd; // 0x1200 + Vector m_vStart; // 0x12c4 + Vector m_vEnd; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Magnataur_Shockwave : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Magnataur_Shockwave_Eruption_Slow : public CDOTA_Buff { public: - int32_t scepter_slow_pct; // 0x11e8 - int32_t scepter_armor_pct; // 0x11ec + int32_t scepter_slow_pct; // 0x12b8 + int32_t scepter_armor_pct; // 0x12bc }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Magnataur_Shockwave_Pull : public CDOTA_Buff { public: - Vector m_vDirection; // 0x11e8 - float m_flEndTime; // 0x11f4 - float m_flCurTime; // 0x11f8 - float pull_duration; // 0x11fc - float effective_distance; // 0x1200 + Vector m_vDirection; // 0x12b8 + float m_flEndTime; // 0x12c4 + float m_flCurTime; // 0x12c8 + float pull_duration; // 0x12cc + float effective_distance; // 0x12d0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Magnataur_Empower : public CDOTABaseAbility { public: @@ -66082,72 +67130,72 @@ public: }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Magnataur_Empower : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x11e8 - float cleave_damage_pct; // 0x11ec - int32_t cleave_starting_width; // 0x11f0 - int32_t cleave_ending_width; // 0x11f4 - int32_t cleave_distance; // 0x11f8 - float self_multiplier; // 0x11fc - int32_t secondary_cleave_distance; // 0x1200 + int32_t bonus_damage_pct; // 0x12b8 + float cleave_damage_pct; // 0x12bc + int32_t cleave_starting_width; // 0x12c0 + int32_t cleave_ending_width; // 0x12c4 + int32_t cleave_distance; // 0x12c8 + float self_multiplier; // 0x12cc + int32_t secondary_cleave_distance; // 0x12d0 }; // Alignment: 7 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Magnataur_Skewer : public CDOTABaseAbility { public: - int32_t skewer_radius; // 0x558 - int32_t skewer_speed; // 0x55c - int32_t range; // 0x560 - int32_t tree_radius; // 0x564 - int32_t m_nProjectileID; // 0x568 - int32_t m_nVisibleTargetCount; // 0x56c - int32_t m_nTargetsHit; // 0x570 + int32_t skewer_radius; // 0x568 + int32_t skewer_speed; // 0x56c + int32_t range; // 0x570 + int32_t tree_radius; // 0x574 + int32_t m_nProjectileID; // 0x578 + int32_t m_nVisibleTargetCount; // 0x57c + int32_t m_nTargetsHit; // 0x580 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Magnataur_Skewer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x11e8 + int32_t m_nProjectileID; // 0x12b8 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Magnataur_Skewer_Impact : public CDOTA_Buff { public: - float slow_duration; // 0x11e8 - int32_t skewer_damage; // 0x11ec - Vector m_vDirection; // 0x11f0 - float m_flEndTime; // 0x11fc - float m_flCurTime; // 0x1200 + float slow_duration; // 0x12b8 + int32_t skewer_damage; // 0x12bc + Vector m_vDirection; // 0x12c0 + float m_flEndTime; // 0x12cc + float m_flCurTime; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Magnataur_Skewer_Slow : public CDOTA_Buff { public: - int32_t slow_pct; // 0x11e8 + int32_t slow_pct; // 0x12b8 }; // Alignment: 2 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Magnataur_ReversePolarity : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 - Vector m_vPullLocation; // 0x55c + ParticleIndex_t m_nFXIndex; // 0x568 + Vector m_vPullLocation; // 0x56c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Magnataur_ReversePolarity : public CDOTA_Buff { public: @@ -66155,15 +67203,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Magnataur_ReversePolarity_Stats : public CDOTA_Buff { public: - int32_t stats_per_stack; // 0x11e8 + int32_t stats_per_stack; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Magnus : public CDOTABaseAbility { public: @@ -66171,7 +67219,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Magnus_Strength_Of_Joelrak : public CDOTABaseAbility { public: @@ -66179,17 +67227,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Magnus_Strength_Of_Joelrak : public CDOTA_Buff { public: - int32_t strength_per_stack; // 0x11e8 - int32_t max_stacks; // 0x11ec - float stack_duration; // 0x11f0 + int32_t strength_per_stack; // 0x12b8 + int32_t max_stacks; // 0x12bc + float stack_duration; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Magnus_2 : public CDOTABaseAbility { public: @@ -66197,7 +67245,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Magnus_3 : public CDOTABaseAbility { public: @@ -66205,7 +67253,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Magnus_4 : public CDOTABaseAbility { public: @@ -66213,7 +67261,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Magnus_5 : public CDOTABaseAbility { public: @@ -66221,7 +67269,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Magnus_6 : public CDOTABaseAbility { public: @@ -66229,7 +67277,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Magnus_7 : public CDOTABaseAbility { public: @@ -66237,56 +67285,56 @@ public: }; // Alignment: 5 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Shredder_WhirlingDeath : public CDOTABaseAbility { public: - int32_t whirling_radius; // 0x558 - int32_t whirling_damage; // 0x55c - float whirling_tick; // 0x560 - float duration; // 0x564 - int32_t tree_damage_scale; // 0x568 + int32_t whirling_radius; // 0x568 + int32_t whirling_damage; // 0x56c + float whirling_tick; // 0x570 + float duration; // 0x574 + int32_t tree_damage_scale; // 0x578 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Shredder_WhirlingDeath_Debuff : public CDOTA_Buff { public: - int32_t stat_loss_pct; // 0x11e8 - int32_t stat_loss_univ; // 0x11ec - int32_t iPrimaryAttribute; // 0x11f0 - float flStatLossStr; // 0x11f4 - float flStatLossAgi; // 0x11f8 - float flStatLossInt; // 0x11fc + int32_t stat_loss_pct; // 0x12b8 + int32_t stat_loss_univ; // 0x12bc + int32_t iPrimaryAttribute; // 0x12c0 + float flStatLossStr; // 0x12c4 + float flStatLossAgi; // 0x12c8 + float flStatLossInt; // 0x12cc }; // Alignment: 4 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Shredder_TimberChain : public CDOTABaseAbility { public: - int32_t chain_radius; // 0x558 - ParticleIndex_t m_nFXIndex; // 0x55c - Vector m_vProjectileVelocity; // 0x560 - bool m_bRetract; // 0x56c + int32_t chain_radius; // 0x568 + ParticleIndex_t m_nFXIndex; // 0x56c + Vector m_vProjectileVelocity; // 0x570 + bool m_bRetract; // 0x57c }; // Alignment: 6 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Shredder_TimberChain : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_hDamaged; // 0x11e8 - CHandle< CBaseEntity > m_hTarget; // 0x1200 - Vector m_vStartPosition; // 0x1204 - int32_t speed; // 0x1210 - int32_t radius; // 0x1214 - int32_t damage; // 0x1218 + CUtlVector< CHandle< CBaseEntity > > m_hDamaged; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12d0 + Vector m_vStartPosition; // 0x12d4 + int32_t speed; // 0x12e0 + int32_t radius; // 0x12e4 + int32_t damage; // 0x12e8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Shredder_Reactive_Armor : public CDOTABaseAbility { public: @@ -66294,69 +67342,69 @@ public: }; // Alignment: 12 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Shredder_ReactiveArmor_Bomb : public CDOTA_Buff { public: - float initial_shield; // 0x11e8 - float max_shield; // 0x11ec - float shield_per_sec; // 0x11f0 - float shield_per_sec_per_enemy; // 0x11f4 - float duration; // 0x11f8 - float base_explosion; // 0x11fc - int32_t radius; // 0x1200 - int32_t explosion_radius; // 0x1204 - int32_t m_nDamageAbsorbed; // 0x1208 - GameTime_t m_timeLastTick; // 0x120c - GameTime_t m_StartTime; // 0x1210 - int32_t m_nLastParticleTime; // 0x1214 + float initial_shield; // 0x12b8 + float max_shield; // 0x12bc + float shield_per_sec; // 0x12c0 + float shield_per_sec_per_enemy; // 0x12c4 + float duration; // 0x12c8 + float base_explosion; // 0x12cc + int32_t radius; // 0x12d0 + int32_t explosion_radius; // 0x12d4 + int32_t m_nDamageAbsorbed; // 0x12d8 + GameTime_t m_timeLastTick; // 0x12dc + GameTime_t m_StartTime; // 0x12e0 + int32_t m_nLastParticleTime; // 0x12e4 }; // Alignment: 4 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Shredder_Reactive_Armor : public CDOTA_Buff { public: - int32_t stack_limit; // 0x11e8 - float stack_duration; // 0x11ec - GameTime_t m_flStackDieTime; // 0x11f0 - ParticleIndex_t m_pFXIndex[4]; // 0x11f4 + int32_t stack_limit; // 0x12b8 + float stack_duration; // 0x12bc + GameTime_t m_flStackDieTime; // 0x12c0 + ParticleIndex_t m_pFXIndex[4]; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Shredder_Reactive_Armor_Stack : public CDOTA_Buff { public: - float bonus_armor; // 0x11e8 - float bonus_hp_regen; // 0x11ec + float bonus_armor; // 0x12b8 + float bonus_hp_regen; // 0x12bc }; // Alignment: 13 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Shredder_Chakram : public CDOTABaseAbility { public: - float radius; // 0x558 - float speed; // 0x55c - float pass_slow_duration; // 0x560 - int32_t pass_damage; // 0x564 - Vector m_vEndLocation; // 0x568 - float m_fZCoord; // 0x574 - bool m_bIsReturning; // 0x578 + float radius; // 0x568 + float speed; // 0x56c + float pass_slow_duration; // 0x570 + int32_t pass_damage; // 0x574 + Vector m_vEndLocation; // 0x578 + float m_fZCoord; // 0x584 + bool m_bIsReturning; // 0x588 private: - [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 + [[maybe_unused]] uint8_t __pad0589[0x3]; // 0x589 public: - ParticleIndex_t m_nFXIndex; // 0x57c - ParticleIndex_t m_nFXIndexB; // 0x580 - ParticleIndex_t m_nFXIndexC; // 0x584 - int32_t m_nProjectileIndex; // 0x588 - CHandle< CBaseEntity > m_hThinker; // 0x58c - CUtlVector< CHandle< CBaseEntity > > m_hReturnHits; // 0x590 + ParticleIndex_t m_nFXIndex; // 0x58c + ParticleIndex_t m_nFXIndexB; // 0x590 + ParticleIndex_t m_nFXIndexC; // 0x594 + int32_t m_nProjectileIndex; // 0x598 + CHandle< CBaseEntity > m_hThinker; // 0x59c + CUtlVector< CHandle< CBaseEntity > > m_hReturnHits; // 0x5a0 }; // Alignment: 0 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Shredder_ChakramAlias_shredder_chakram_2 : public CDOTA_Ability_Shredder_Chakram { public: @@ -66364,28 +67412,28 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Shredder_Chakram_Thinker : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x11e8 - float mana_per_second; // 0x11ec - float radius; // 0x11f0 - float break_distance; // 0x11f4 - float damage_interval; // 0x11f8 + int32_t damage_per_second; // 0x12b8 + float mana_per_second; // 0x12bc + float radius; // 0x12c0 + float break_distance; // 0x12c4 + float damage_interval; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Shredder_Chakram_Debuff : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t slow_health_percentage; // 0x11ec + int32_t slow; // 0x12b8 + int32_t slow_health_percentage; // 0x12bc }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Shredder_Chakram_Debuff_2 : public CDOTA_Modifier_Shredder_Chakram_Debuff { public: @@ -66393,7 +67441,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Shredder_ReturnChakram : public CDOTABaseAbility { public: @@ -66401,7 +67449,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Shredder_ReturnChakramAlias_shredder_return_chakram_2 : public CDOTA_Ability_Shredder_ReturnChakram { public: @@ -66409,7 +67457,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Shredder_Chakram_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -66417,7 +67465,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Shredder_Flamethrower : public CDOTABaseAbility { public: @@ -66425,44 +67473,44 @@ public: }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Shredder_Flamethrower_TreeFire_Thinker : public CDOTA_Buff { public: - CUtlVector< CUtlPair< CHandle< CBaseEntity >, GameTime_t > > m_vecTreeFires; // 0x11e8 - bool m_bCleanupWhenEmpty; // 0x1200 + CUtlVector< CUtlPair< CHandle< CBaseEntity >, GameTime_t > > m_vecTreeFires; // 0x12b8 + bool m_bCleanupWhenEmpty; // 0x12d0 }; // Alignment: 8 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Shredder_Flamethrower : public CDOTA_Buff { public: - int32_t length; // 0x11e8 - int32_t width; // 0x11ec - int32_t damage_per_second; // 0x11f0 - ParticleIndex_t m_nBeamFXIndex; // 0x11f4 - CHandle< CBaseEntity > m_hBeamEnd; // 0x11f8 - GameTime_t m_flLastHit; // 0x11fc - CUtlVector< CBaseEntity* > m_vecBurningTrees; // 0x1200 - CHandle< CBaseEntity > m_hTreeFireThinker; // 0x1218 + int32_t length; // 0x12b8 + int32_t width; // 0x12bc + int32_t damage_per_second; // 0x12c0 + ParticleIndex_t m_nBeamFXIndex; // 0x12c4 + CHandle< CBaseEntity > m_hBeamEnd; // 0x12c8 + GameTime_t m_flLastHit; // 0x12cc + CUtlVector< CBaseEntity* > m_vecBurningTrees; // 0x12d0 + CHandle< CBaseEntity > m_hTreeFireThinker; // 0x12e8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Shredder_Flamethrower_Damage : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - ParticleIndex_t m_nActiveFXIndex; // 0x11ec - ParticleIndex_t m_nActiveStatusFXIndex; // 0x11f0 - float damage_per_second; // 0x11f4 - int32_t building_dmg_pct; // 0x11f8 - int32_t move_slow_pct; // 0x11fc + ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nActiveFXIndex; // 0x12bc + ParticleIndex_t m_nActiveStatusFXIndex; // 0x12c0 + float damage_per_second; // 0x12c4 + int32_t building_dmg_pct; // 0x12c8 + int32_t move_slow_pct; // 0x12cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Bristleback_Warpath : public CDOTABaseAbility { public: @@ -66470,21 +67518,21 @@ public: }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Bristleback_Warpath : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x11e8 - int32_t move_speed_per_stack; // 0x11ec - int32_t max_stacks; // 0x11f0 - float stack_duration; // 0x11f4 - float m_flDuration; // 0x11f8 - GameTime_t m_flMaxStackStartTime; // 0x11fc - bool m_bSuppressKillEater; // 0x1200 + int32_t damage_per_stack; // 0x12b8 + int32_t move_speed_per_stack; // 0x12bc + int32_t max_stacks; // 0x12c0 + float stack_duration; // 0x12c4 + float m_flDuration; // 0x12c8 + GameTime_t m_flMaxStackStartTime; // 0x12cc + bool m_bSuppressKillEater; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bristleback_Warpath_Stack : public CDOTA_Buff { public: @@ -66492,7 +67540,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Bristleback_ViscousNasalGoo : public CDOTABaseAbility { public: @@ -66500,20 +67548,20 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Bristleback_ViscousNasalGoo : public CDOTA_Buff { public: - float base_armor; // 0x11e8 - float armor_per_stack; // 0x11ec - int32_t base_move_slow; // 0x11f0 - int32_t move_slow_per_stack; // 0x11f4 - int32_t stack_limit; // 0x11f8 - ParticleIndex_t m_nFXStackIndex; // 0x11fc + float base_armor; // 0x12b8 + float armor_per_stack; // 0x12bc + int32_t base_move_slow; // 0x12c0 + int32_t move_slow_per_stack; // 0x12c4 + int32_t stack_limit; // 0x12c8 + ParticleIndex_t m_nFXStackIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Bristleback_QuillSpray : public CDOTABaseAbility { public: @@ -66521,38 +67569,43 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bristleback_QuillSpray_AutoCast : public CDOTA_Buff { public: // No members available }; -// Alignment: 8 -// Size: 0x1230 +// Alignment: 10 +// Size: 0x1310 class CDOTA_Modifier_Bristleback_QuillSpray_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x11e8 - GameTime_t m_fLastThink; // 0x11ec - CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x11f0 - CountdownTimer m_ViewerTimer; // 0x1208 - int32_t projectile_speed; // 0x1220 - int32_t radius; // 0x1224 - bool m_bTriggeredByBristleback; // 0x1228 - bool m_bDelayed; // 0x1229 + float m_fCurRadius; // 0x12b8 + GameTime_t m_fLastThink; // 0x12bc + CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x12c0 + CountdownTimer m_ViewerTimer; // 0x12d8 + int32_t projectile_speed; // 0x12f0 + float radius; // 0x12f4 + bool m_bTriggeredByBristleback; // 0x12f8 + bool m_bDelayed; // 0x12f9 +private: + [[maybe_unused]] uint8_t __pad12fa[0x2]; // 0x12fa +public: + int32_t m_nAngleRestriction; // 0x12fc + Vector m_vFacing; // 0x1300 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Bristleback_QuillSpray : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 + ParticleIndex_t m_nFXIndex; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Bristleback_QuillSprayStack : public CDOTA_Buff { public: @@ -66560,7 +67613,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Bristleback_Bristleback : public CDOTABaseAbility { public: @@ -66568,27 +67621,52 @@ public: }; // Alignment: 10 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Bristleback_Bristleback : public CDOTA_Buff { public: - int32_t side_damage_reduction; // 0x11e8 - int32_t back_damage_reduction; // 0x11ec - int32_t side_angle; // 0x11f0 - int32_t back_angle; // 0x11f4 - float quill_release_threshold; // 0x11f8 - float quill_release_interval; // 0x11fc - bool m_bRearHit; // 0x1200 - bool m_bSideHit; // 0x1201 + int32_t side_damage_reduction; // 0x12b8 + int32_t back_damage_reduction; // 0x12bc + int32_t side_angle; // 0x12c0 + int32_t back_angle; // 0x12c4 + float quill_release_threshold; // 0x12c8 + float quill_release_interval; // 0x12cc + bool m_bRearHit; // 0x12d0 + bool m_bSideHit; // 0x12d1 private: - [[maybe_unused]] uint8_t __pad1202[0x2]; // 0x1202 + [[maybe_unused]] uint8_t __pad12d2[0x2]; // 0x12d2 public: - float m_flDamageAccumulated; // 0x1204 - int32_t m_nAccumulatedHits; // 0x1208 + float m_flDamageAccumulated; // 0x12d4 + int32_t m_nAccumulatedHits; // 0x12d8 +}; + +// Alignment: 15 +// Size: 0x1300 +class CDOTA_Modifier_Bristleback_Active_ConicalQuillSpray : public CDOTA_Buff +{ +public: + int32_t activation_num_quill_sprays; // 0x12b8 + float activation_spray_interval; // 0x12bc + int32_t activation_angle; // 0x12c0 + int32_t cast_range_bonus; // 0x12c4 + int32_t activation_movement_speed_pct; // 0x12c8 + int32_t activation_turn_rate_pct; // 0x12cc + int32_t activation_disable_turning; // 0x12d0 + int32_t activation_ignore_cast_angle; // 0x12d4 + int32_t activation_turn_rate; // 0x12d8 + float activation_delay; // 0x12dc + GameTime_t m_fStartTime; // 0x12e0 + bool bDelayFinished; // 0x12e4 +private: + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 +public: + float m_flFacingTarget; // 0x12e8 + Vector m_vFacing; // 0x12ec + int32_t m_nNumSprays; // 0x12f8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Bristleback_Hairball : public CDOTABaseAbility { public: @@ -66596,7 +67674,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Tusk_IceShards_Stop : public CDOTABaseAbility { public: @@ -66604,33 +67682,33 @@ public: }; // Alignment: 13 -// Size: 0x5c8 +// Size: 0x5d8 class CDOTA_Ability_Tusk_IceShards : public CDOTABaseAbility { public: - int32_t m_iProjectile; // 0x558 - int32_t shard_width; // 0x55c - int32_t shard_damage; // 0x560 - int32_t shard_count; // 0x564 - float shard_speed; // 0x568 - float shard_duration; // 0x56c - float shard_angle_step; // 0x570 - int32_t shard_distance; // 0x574 - Vector m_vSpawnOrigin; // 0x578 - Vector m_vDirection; // 0x584 - CUtlVector< CHandle< CBaseEntity > > m_vecShards; // 0x590 -private: - [[maybe_unused]] uint8_t __pad05a8[0x8]; // 0x5a8 -public: - CDOTABaseAbility* m_pIceShardsStop; // 0x5b0 + int32_t m_iProjectile; // 0x568 + int32_t shard_width; // 0x56c + int32_t shard_damage; // 0x570 + int32_t shard_count; // 0x574 + float shard_speed; // 0x578 + float shard_duration; // 0x57c + float shard_angle_step; // 0x580 + int32_t shard_distance; // 0x584 + Vector m_vSpawnOrigin; // 0x588 + Vector m_vDirection; // 0x594 + CUtlVector< CHandle< CBaseEntity > > m_vecShards; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05b8[0x8]; // 0x5b8 public: - ParticleIndex_t m_nFXIndex; // 0x5c0 + CDOTABaseAbility* m_pIceShardsStop; // 0x5c0 +private: + [[maybe_unused]] uint8_t __pad05c8[0x8]; // 0x5c8 +public: + ParticleIndex_t m_nFXIndex; // 0x5d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tusk_IceShard_Slow_Aura : public CDOTA_Buff { public: @@ -66638,7 +67716,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tusk_IceShard : public CDOTA_Buff { public: @@ -66646,43 +67724,43 @@ public: }; // Alignment: 21 -// Size: 0x678 +// Size: 0x688 class CDOTA_Ability_Tusk_Snowball : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - int32_t snowball_windup_radius; // 0x568 - int32_t snowball_radius; // 0x56c - int32_t snowball_grow_rate; // 0x570 - int32_t snowball_damage; // 0x574 - int32_t snowball_damage_bonus; // 0x578 - float stun_duration; // 0x57c - int32_t bonus_damage; // 0x580 - float bonus_stun; // 0x584 - int32_t snowball_speed; // 0x588 - int32_t snowball_speed_bonus; // 0x58c - float snowball_duration; // 0x590 - Vector m_vProjectileLocation; // 0x594 - CUtlVector< CHandle< CBaseEntity > > m_hSnowballedUnits; // 0x5a0 - ParticleIndex_t m_nFXIndex; // 0x5b8 + int32_t snowball_windup_radius; // 0x578 + int32_t snowball_radius; // 0x57c + int32_t snowball_grow_rate; // 0x580 + int32_t snowball_damage; // 0x584 + int32_t snowball_damage_bonus; // 0x588 + float stun_duration; // 0x58c + int32_t bonus_damage; // 0x590 + float bonus_stun; // 0x594 + int32_t snowball_speed; // 0x598 + int32_t snowball_speed_bonus; // 0x59c + float snowball_duration; // 0x5a0 + Vector m_vProjectileLocation; // 0x5a4 + CUtlVector< CHandle< CBaseEntity > > m_hSnowballedUnits; // 0x5b0 + ParticleIndex_t m_nFXIndex; // 0x5c8 private: - [[maybe_unused]] uint8_t __pad05bc[0x4]; // 0x5bc + [[maybe_unused]] uint8_t __pad05cc[0x4]; // 0x5cc public: - CountdownTimer ctSnowball; // 0x5c0 - bool m_bSpeakAlly; // 0x5d8 - bool m_bIsExpired; // 0x5d9 - bool m_bInWindup; // 0x5da + CountdownTimer ctSnowball; // 0x5d0 + bool m_bSpeakAlly; // 0x5e8 + bool m_bIsExpired; // 0x5e9 + bool m_bInWindup; // 0x5ea private: - [[maybe_unused]] uint8_t __pad05db[0x1]; // 0x5db + [[maybe_unused]] uint8_t __pad05eb[0x1]; // 0x5eb public: - CHandle< CBaseEntity > m_hPrimaryTarget; // 0x5dc - int32_t m_nContainedValidUnits; // 0x5e0 - bool m_bEndingSnowball; // 0x5e4 + CHandle< CBaseEntity > m_hPrimaryTarget; // 0x5ec + int32_t m_nContainedValidUnits; // 0x5f0 + bool m_bEndingSnowball; // 0x5f4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tusk_Snowball_Target : public CDOTA_Buff { public: @@ -66690,7 +67768,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Tusk_Launch_Snowball : public CDOTABaseAbility { public: @@ -66698,7 +67776,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tusk_Snowball_Visible : public CDOTA_Buff { public: @@ -66706,7 +67784,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tusk_Snowball_Movement : public CDOTA_Buff { public: @@ -66714,7 +67792,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tusk_Snowball_Movement_Friendly : public CDOTA_Buff { public: @@ -66722,7 +67800,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Tusk_FrozenSigil : public CDOTABaseAbility { public: @@ -66730,27 +67808,27 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tusk_FrozenSigil_Aura : public CDOTA_Buff { public: - int32_t sigil_radius; // 0x11e8 - ParticleIndex_t m_iIndex; // 0x11ec + int32_t sigil_radius; // 0x12b8 + ParticleIndex_t m_iIndex; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Tusk_FrozenSigil : public CDOTA_Buff { public: - int32_t aghs_shard_move_slow; // 0x11e8 - int32_t aghs_shard_damage; // 0x11ec - int32_t attack_slow; // 0x11f0 - int32_t turn_rate_slow; // 0x11f4 + int32_t aghs_shard_move_slow; // 0x12b8 + int32_t aghs_shard_damage; // 0x12bc + int32_t attack_slow; // 0x12c0 + int32_t turn_rate_slow; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Tusk_WalrusPunch : public CDOTABaseAbility { public: @@ -66758,122 +67836,138 @@ public: }; // Alignment: 9 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Tusk_WalrusPunch : public CDOTA_Buff { public: - int32_t crit_multiplier; // 0x11e8 - float air_time; // 0x11ec - float slow_duration; // 0x11f0 + int32_t crit_multiplier; // 0x12b8 + float air_time; // 0x12bc + float slow_duration; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11f8 - CHandle< CBaseEntity > m_hTarget; // 0x1200 - bool m_bWalrusPunch; // 0x1204 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12d0 + bool m_bWalrusPunch; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 - ParticleIndex_t m_nFXIndex; // 0x1220 - int32_t m_nAttackRecord; // 0x1224 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12f0 + int32_t m_nAttackRecord; // 0x12f4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tusk_WalrusPunch_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 9 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Tusk_WalrusPunch_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x11e8 - float m_flStartZ; // 0x11ec - float m_flCurTime; // 0x11f0 - float m_flOldPitch; // 0x11f4 - QAngle m_qRotation; // 0x11f8 - int32_t m_nRotations; // 0x1204 - Vector m_vDirection; // 0x1208 - float m_flEndTime; // 0x1214 - float air_time; // 0x1218 + int32_t hp_threshold; // 0x12b8 + float m_flStartZ; // 0x12bc + float m_flCurTime; // 0x12c0 + float m_flOldPitch; // 0x12c4 + QAngle m_qRotation; // 0x12c8 + int32_t m_nRotations; // 0x12d4 + Vector m_vDirection; // 0x12d8 + float m_flEndTime; // 0x12e4 + float air_time; // 0x12e8 }; // Alignment: 4 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Tusk_WalrusKick : public CDOTABaseAbility { public: - ParticleIndex_t m_nTargetFXIndex; // 0x558 - Vector m_vEndpoint; // 0x55c - int32_t landing_radius; // 0x568 - int32_t push_length; // 0x56c + ParticleIndex_t m_nTargetFXIndex; // 0x568 + Vector m_vEndpoint; // 0x56c + int32_t landing_radius; // 0x578 + int32_t push_length; // 0x57c }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tusk_WalrusKick_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 9 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Tusk_WalrusKick_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x11e8 - float m_flStartZ; // 0x11ec - float m_flCurTime; // 0x11f0 - float m_flOldPitch; // 0x11f4 - QAngle m_qRotation; // 0x11f8 - int32_t m_nRotations; // 0x1204 - Vector m_vDirection; // 0x1208 - float m_flEndTime; // 0x1214 - int32_t push_length; // 0x1218 + int32_t hp_threshold; // 0x12b8 + float m_flStartZ; // 0x12bc + float m_flCurTime; // 0x12c0 + float m_flOldPitch; // 0x12c4 + QAngle m_qRotation; // 0x12c8 + int32_t m_nRotations; // 0x12d4 + Vector m_vDirection; // 0x12d8 + float m_flEndTime; // 0x12e4 + int32_t push_length; // 0x12e8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Tusk_Tag_Team : public CDOTABaseAbility { public: // No members available }; -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Tusk_Tag_Team_Aura : public CDOTA_Buff +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Tusk_Tag_Team_Attack_Slow_Aura : public CDOTA_Buff { public: - ParticleIndex_t m_iIndex; // 0x11e8 - int32_t radius; // 0x11ec -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Tusk_Tag_Team : public CDOTA_Buff -{ -public: - int32_t bonus_damage; // 0x11e8 - float slow_duration; // 0x11ec + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 +class CDOTA_Modifier_Tusk_Tag_Team_Attack_Slow : public CDOTA_Buff +{ +public: + int32_t attack_speed_slow; // 0x12b8 +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Tusk_Tag_Team_Aura : public CDOTA_Buff +{ +public: + ParticleIndex_t m_iIndex; // 0x12b8 + int32_t radius; // 0x12bc +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Tusk_Tag_Team : public CDOTA_Buff +{ +public: + int32_t bonus_damage; // 0x12b8 + float slow_duration; // 0x12bc +}; + +// Alignment: 1 +// Size: 0x12c0 class CDOTA_Modifier_Tusk_Tag_Team_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Skywrath_Mage_Shield_Of_The_Scion : public CDOTABaseAbility { public: @@ -66881,73 +67975,73 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Skywrath_Mage_Shard : public CDOTA_Buff { public: - float stack_duration; // 0x11e8 + float stack_duration; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Skywrath_Mage_Shard_Bonus : public CDOTA_Buff { public: - int32_t bonus_intelligence; // 0x11e8 - float bonus_armor; // 0x11ec + int32_t bonus_intelligence; // 0x12b8 + float bonus_armor; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Skywrath_Mage_Shard_Bonus_Counter : public CDOTA_Buff { public: - int32_t bonus_intelligence; // 0x11e8 - float bonus_armor; // 0x11ec + int32_t bonus_intelligence; // 0x12b8 + float bonus_armor; // 0x12bc }; // Alignment: 4 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Skywrath_Mage_Arcane_Bolt : public CDOTABaseAbility { public: - int32_t bolt_vision; // 0x558 - float vision_duration; // 0x55c - float m_flDamage; // 0x560 - int32_t m_nFXIndex; // 0x564 + int32_t bolt_vision; // 0x568 + float vision_duration; // 0x56c + float m_flDamage; // 0x570 + int32_t m_nFXIndex; // 0x574 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Skywrath_Mage_Arcane_Bolt_Lifesteal : public CDOTA_Buff { public: - float lifesteal_amt; // 0x11e8 + float lifesteal_amt; // 0x12b8 }; // Alignment: 6 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Skywrath_Mage_Concussive_Shot : public CDOTABaseAbility { public: - int32_t speed; // 0x558 - int32_t slow_radius; // 0x55c - int32_t damage; // 0x560 - int32_t shot_vision; // 0x564 - float slow_duration; // 0x568 - float vision_duration; // 0x56c + int32_t speed; // 0x568 + int32_t slow_radius; // 0x56c + int32_t damage; // 0x570 + int32_t shot_vision; // 0x574 + float slow_duration; // 0x578 + float vision_duration; // 0x57c }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Skywrath_Mage_Concussive_Shot : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x11e8 + int32_t movement_speed_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Skywrath_Mage_Ancient_Seal : public CDOTABaseAbility { public: @@ -66955,15 +68049,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Skywrath_Mage_Ancient_Seal : public CDOTA_Buff { public: - int32_t resist_debuff; // 0x11e8 + int32_t resist_debuff; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Skywrath_Mage_Mystic_Flare : public CDOTABaseAbility { public: @@ -66971,18 +68065,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Skywrath_Mage_Mystic_Flare : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t damage; // 0x11ec - float duration; // 0x11f0 - float damage_interval; // 0x11f4 + int32_t radius; // 0x12b8 + int32_t damage; // 0x12bc + float duration; // 0x12c0 + float damage_interval; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Skywrath_Mystic_Flare_Aura_Effect : public CDOTA_Buff { public: @@ -66990,7 +68084,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Skywrath : public CDOTABaseAbility { public: @@ -66998,7 +68092,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Skywrath_2 : public CDOTABaseAbility { public: @@ -67006,7 +68100,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Skywrath_3 : public CDOTABaseAbility { public: @@ -67014,7 +68108,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Skywrath_4 : public CDOTABaseAbility { public: @@ -67022,7 +68116,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Skywrath_5 : public CDOTABaseAbility { public: @@ -67030,7 +68124,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Skywrath_6 : public CDOTABaseAbility { public: @@ -67038,7 +68132,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Skywrath_7 : public CDOTABaseAbility { public: @@ -67046,15 +68140,25 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Abaddon_DeathCoil : public CDOTABaseAbility { public: // No members available }; +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Abaddon_DeathCoil_Effect : public CDOTA_Buff +{ +public: + int32_t armor_bonus; // 0x12b8 + int32_t magic_resistance; // 0x12bc + bool m_bFriendly; // 0x12c0 +}; + // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Abaddon_AphoticShield : public CDOTABaseAbility { public: @@ -67062,17 +68166,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Abaddon_AphoticShield : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float damage_absorb; // 0x11ec - int32_t m_nDamageAbsorbed; // 0x11f0 + int32_t radius; // 0x12b8 + float damage_absorb; // 0x12bc + int32_t m_nDamageAbsorbed; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Abaddon_Frostmourne : public CDOTABaseAbility { public: @@ -67080,43 +68184,43 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Abaddon_Frostmourne : public CDOTA_Buff { public: - float slow_duration; // 0x11e8 - float curse_duration; // 0x11ec - int32_t hit_count; // 0x11f0 + float slow_duration; // 0x12b8 + float curse_duration; // 0x12bc + int32_t hit_count; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Abaddon_Frostmourne_Debuff : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - ParticleIndex_t m_nFXStackIndex; // 0x11ec + int32_t movement_speed; // 0x12b8 + ParticleIndex_t m_nFXStackIndex; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Abaddon_Frostmourne_Debuff_Bonus : public CDOTA_Buff { public: - int32_t curse_slow; // 0x11e8 + int32_t curse_slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Abaddon_Frostmourne_Buff : public CDOTA_Buff { public: - int32_t curse_attack_speed; // 0x11e8 - CHandle< CBaseEntity > m_hTarget; // 0x11ec + int32_t curse_attack_speed; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Abaddon_BorrowedTime : public CDOTABaseAbility { public: @@ -67124,89 +68228,89 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Abaddon_BorrowedTime : public CDOTA_Buff { public: - int32_t m_iTotalDamageAbsorbed; // 0x11e8 - int32_t redirect_range_scepter; // 0x11ec + int32_t m_iTotalDamageAbsorbed; // 0x12b8 + int32_t redirect_range_scepter; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Abaddon_BorrowedTime_Passive : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x11e8 + int32_t hp_threshold; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Abaddon_Borrowed_Time_Damage_Redirect : public CDOTA_Buff { public: - float m_fDamageTaken; // 0x11e8 - int32_t ally_threshold_scepter; // 0x11ec + float m_fDamageTaken; // 0x12b8 + int32_t ally_threshold_scepter; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Abaddon_BorrowedTime_ImmolationAura : public CDOTA_Buff { public: - int32_t immolate_aoe; // 0x11e8 + int32_t immolate_aoe; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Abaddon_BorrowedTime_ImmolationDamage : public CDOTA_Buff { public: - float immolate_damage; // 0x11e8 + float immolate_damage; // 0x12b8 }; // Alignment: 10 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_Elder_Titan_AncestralSpirit : public CDOTABaseAbility { public: - int32_t speed; // 0x558 - int32_t radius; // 0x55c - float buff_duration; // 0x560 - float spirit_duration; // 0x564 - int32_t m_nCreepsHit; // 0x568 - int32_t m_nHeroesHit; // 0x56c - bool m_bIsReturning; // 0x570 + int32_t speed; // 0x568 + int32_t radius; // 0x56c + float buff_duration; // 0x570 + float spirit_duration; // 0x574 + int32_t m_nCreepsHit; // 0x578 + int32_t m_nHeroesHit; // 0x57c + bool m_bIsReturning; // 0x580 private: - [[maybe_unused]] uint8_t __pad0571[0x3]; // 0x571 + [[maybe_unused]] uint8_t __pad0581[0x3]; // 0x581 public: - CHandle< CBaseEntity > m_hAncestralSpirit; // 0x574 - ParticleIndex_t m_nReturnFXIndex; // 0x578 + CHandle< CBaseEntity > m_hAncestralSpirit; // 0x584 + ParticleIndex_t m_nReturnFXIndex; // 0x588 private: - [[maybe_unused]] uint8_t __pad057c[0x4]; // 0x57c + [[maybe_unused]] uint8_t __pad058c[0x4]; // 0x58c public: - CUtlString m_strMoveSpiritSwapAbility; // 0x580 + CUtlString m_strMoveSpiritSwapAbility; // 0x590 }; // Alignment: 7 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Elder_Titan_AncestralSpirit : public CDOTA_Buff { public: - int32_t pass_damage; // 0x11e8 - int32_t radius; // 0x11ec - int32_t m_nCreepsHit; // 0x11f0 - int32_t m_nHeroesHit; // 0x11f4 - float m_flSpeed; // 0x11f8 + int32_t pass_damage; // 0x12b8 + int32_t radius; // 0x12bc + int32_t m_nCreepsHit; // 0x12c0 + int32_t m_nHeroesHit; // 0x12c4 + float m_flSpeed; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< CHandle< CBaseEntity > > m_hHitUnits; // 0x1200 - int32_t m_nBonusMoveSpeed; // 0x1218 + CUtlVector< CHandle< CBaseEntity > > m_hHitUnits; // 0x12d0 + int32_t m_nBonusMoveSpeed; // 0x12e8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Elder_Titan_MoveSpirit : public CDOTABaseAbility { public: @@ -67214,7 +68318,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Elder_Titan_ReturnSpirit : public CDOTABaseAbility { public: @@ -67222,27 +68326,27 @@ public: }; // Alignment: 13 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_Buff : public CDOTA_Buff { public: - float move_pct_creeps; // 0x11e8 - int32_t move_pct_heroes; // 0x11ec - int32_t damage_creeps; // 0x11f0 - int32_t damage_heroes; // 0x11f4 - float armor_creeps; // 0x11f8 - float armor_heroes; // 0x11fc - float move_pct_cap; // 0x1200 - int32_t m_nCreepsHit; // 0x1204 - int32_t m_nHeroesHit; // 0x1208 - float m_fSpeedPercentage; // 0x120c - int32_t m_nDamage; // 0x1210 - int32_t m_nArmor; // 0x1214 - bool m_bSpellImmunity; // 0x1218 + float move_pct_creeps; // 0x12b8 + int32_t move_pct_heroes; // 0x12bc + int32_t damage_creeps; // 0x12c0 + int32_t damage_heroes; // 0x12c4 + float armor_creeps; // 0x12c8 + float armor_heroes; // 0x12cc + float move_pct_cap; // 0x12d0 + int32_t m_nCreepsHit; // 0x12d4 + int32_t m_nHeroesHit; // 0x12d8 + float m_fSpeedPercentage; // 0x12dc + int32_t m_nDamage; // 0x12e0 + int32_t m_nArmor; // 0x12e4 + bool m_bSpellImmunity; // 0x12e8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Special_Bonus_Unique_Elder_Titan_4 : public CDOTA_Modifier_MagicImmune { public: @@ -67250,7 +68354,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_Hidden : public CDOTA_Buff { public: @@ -67258,25 +68362,25 @@ public: }; // Alignment: 11 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Elder_Titan_EchoStomp : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndexTitan; // 0x558 - ParticleIndex_t m_nFXIndexSpirit; // 0x55c - ParticleIndex_t m_nFXIndexTitanB; // 0x560 - ParticleIndex_t m_nFXIndexSpiritB; // 0x564 - int32_t radius; // 0x568 - int32_t stomp_damage; // 0x56c - float sleep_duration; // 0x570 - float cast_time; // 0x574 - CUtlVector< CHandle< CBaseEntity > > m_vecStompedHeroes; // 0x578 - CUtlVector< CHandle< CBaseEntity > > m_vecStompedHeroes_BuffCounted; // 0x590 - bool m_bStompedInvisibleHero; // 0x5a8 + ParticleIndex_t m_nFXIndexTitan; // 0x568 + ParticleIndex_t m_nFXIndexSpirit; // 0x56c + ParticleIndex_t m_nFXIndexTitanB; // 0x570 + ParticleIndex_t m_nFXIndexSpiritB; // 0x574 + int32_t radius; // 0x578 + int32_t stomp_damage; // 0x57c + float sleep_duration; // 0x580 + float cast_time; // 0x584 + CUtlVector< CHandle< CBaseEntity > > m_vecStompedHeroes; // 0x588 + CUtlVector< CHandle< CBaseEntity > > m_vecStompedHeroes_BuffCounted; // 0x5a0 + bool m_bStompedInvisibleHero; // 0x5b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Elder_Titan_EchoStomp_Spirit : public CDOTABaseAbility { public: @@ -67284,7 +68388,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_CastTime : public CDOTA_Buff { public: @@ -67292,30 +68396,30 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Elder_Titan_EchoStomp_Magic_Immune : public CDOTA_Modifier_DebuffImmune { public: - int32_t model_scale; // 0x11e8 + int32_t model_scale; // 0x12b8 }; // Alignment: 5 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Elder_Titan_EchoStomp : public CDOTA_Buff { public: - int32_t wake_damage_limit; // 0x11e8 - float animation_rate; // 0x11ec - float initial_stun_duration; // 0x11f0 + int32_t wake_damage_limit; // 0x12b8 + float animation_rate; // 0x12bc + float initial_stun_duration; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CountdownTimer ctStunTimer; // 0x11f8 - float m_flDamageTaken; // 0x1210 + CountdownTimer ctStunTimer; // 0x12c8 + float m_flDamageTaken; // 0x12e0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Elder_Titan_NaturalOrder : public CDOTABaseAbility { public: @@ -67323,7 +68427,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Elder_Titan_NaturalOrder_Spirit : public CDOTABaseAbility { public: @@ -67331,80 +68435,80 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Aura_Armor : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Aura_MagicResistance : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Armor : public CDOTA_Buff { public: - int32_t armor_reduction_pct; // 0x11e8 - float m_flArmorReduction; // 0x11ec + int32_t armor_reduction_pct; // 0x12b8 + float m_flArmorReduction; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_MagicResistance : public CDOTA_Buff { public: - int32_t magic_resistance_pct; // 0x11e8 + int32_t magic_resistance_pct; // 0x12b8 }; // Alignment: 13 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_Elder_Titan_EarthSplitter_Caster : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_hHitUnits; // 0x11e8 - int32_t vision_width; // 0x1200 - float vision_interval; // 0x1204 - float vision_duration; // 0x1208 - int32_t vision_step; // 0x120c - int32_t total_steps; // 0x1210 - int32_t m_nCompletedSteps; // 0x1214 - Vector m_vStart; // 0x1218 - Vector m_vEnd; // 0x1224 - Vector m_vNextVisionLocation; // 0x1230 - Vector m_vCastDirection; // 0x123c - int32_t m_nHumHeroesHit; // 0x1248 - bool m_bHitInvisibleHero; // 0x124c + CUtlVector< CHandle< CBaseEntity > > m_hHitUnits; // 0x12b8 + int32_t vision_width; // 0x12d0 + float vision_interval; // 0x12d4 + float vision_duration; // 0x12d8 + int32_t vision_step; // 0x12dc + int32_t total_steps; // 0x12e0 + int32_t m_nCompletedSteps; // 0x12e4 + Vector m_vStart; // 0x12e8 + Vector m_vEnd; // 0x12f4 + Vector m_vNextVisionLocation; // 0x1300 + Vector m_vCastDirection; // 0x130c + int32_t m_nHumHeroesHit; // 0x1318 + bool m_bHitInvisibleHero; // 0x131c }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Elder_Titan_EarthSplitter_Thinker : public CDOTA_Buff { public: - int32_t crack_width; // 0x11e8 - int32_t damage_pct; // 0x11ec - float slow_duration; // 0x11f0 - float slow_duration_scepter; // 0x11f4 - CDOTA_Buff* m_pParentModifier; // 0x11f8 + int32_t crack_width; // 0x12b8 + int32_t damage_pct; // 0x12bc + float slow_duration; // 0x12c0 + float slow_duration_scepter; // 0x12c4 + CDOTA_Buff* m_pParentModifier; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Elder_Titan_EarthSplitter : public CDOTA_Buff { public: - int32_t slow_pct; // 0x11e8 + int32_t slow_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Elder_Titan_EarthSplitterScepter : public CDOTA_Modifier_Elder_Titan_EarthSplitter { public: @@ -67412,19 +68516,19 @@ public: }; // Alignment: 5 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Elder_Titan_EarthSplitter : public CDOTABaseAbility { public: - int32_t crack_width; // 0x558 - int32_t crack_distance; // 0x55c - int32_t speed; // 0x560 - int32_t vision_width; // 0x564 - float crack_time; // 0x568 + int32_t crack_width; // 0x568 + int32_t crack_distance; // 0x56c + int32_t speed; // 0x570 + int32_t vision_width; // 0x574 + float crack_time; // 0x578 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Legion_Commander_OverwhelmingOdds : public CDOTABaseAbility { public: @@ -67432,7 +68536,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Legion_Commander_OverwhelmingOdds_Armor : public CDOTA_Buff { public: @@ -67440,20 +68544,20 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Legion_Commander_OverwhelmingOdds : public CDOTA_Buff { public: - int32_t bonus_attack_speed_creeps; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - float armor_per_creep; // 0x11f0 - float armor_per_hero; // 0x11f4 - int32_t m_nTotalBonus; // 0x11f8 - float m_flBonusArmor; // 0x11fc + int32_t bonus_attack_speed_creeps; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + float armor_per_creep; // 0x12c0 + float armor_per_hero; // 0x12c4 + int32_t m_nTotalBonus; // 0x12c8 + float m_flBonusArmor; // 0x12cc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Legion_Commander_PressTheAttack : public CDOTABaseAbility { public: @@ -67461,24 +68565,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Legion_Commander_PressTheAttack_Immunity : public CDOTA_Modifier_DebuffImmune { public: - int32_t model_scale; // 0x11e8 + int32_t model_scale; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Legion_Commander_PressTheAttack : public CDOTA_Buff { public: - int32_t move_speed; // 0x11e8 - int32_t hp_regen; // 0x11ec + int32_t move_speed; // 0x12b8 + int32_t hp_regen; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Legion_Commander_MomentOfCourage : public CDOTABaseAbility { public: @@ -67486,24 +68590,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Legion_Commander_MomentOfCourage : public CDOTA_Buff { public: - int32_t trigger_chance; // 0x11e8 - float buff_duration; // 0x11ec + int32_t trigger_chance; // 0x12b8 + float buff_duration; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Legion_Commander_MomentOfCourage_Lifesteal : public CDOTA_Buff { public: - int32_t hp_leech_percent; // 0x11e8 + int32_t hp_leech_percent; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Legion_Commander_Duel : public CDOTABaseAbility { public: @@ -67511,7 +68615,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Legion_Commander_Duel_DamageBoost : public CDOTA_Buff { public: @@ -67519,7 +68623,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Holdout_GladiatorsUnite : public CDOTABaseAbility { public: @@ -67527,65 +68631,74 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Holdout_GladiatorsUnite_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Holdout_GladiatorsUnite : public CDOTA_Buff { public: - int32_t bonus_armor_per_hero; // 0x11e8 - int32_t bonus_damage_per_hero; // 0x11ec - int32_t lifesteal_per_hero; // 0x11f0 - int32_t scepter_damage_reduction_pct; // 0x11f4 + int32_t bonus_armor_per_hero; // 0x12b8 + int32_t bonus_damage_per_hero; // 0x12bc + int32_t lifesteal_per_hero; // 0x12c0 + int32_t scepter_damage_reduction_pct; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Techies_Suicide_RespawnTime : public CDOTA_Buff { public: - int32_t m_nSuicideKillCount; // 0x11e8 + int32_t m_nSuicideKillCount; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Techies_LandMines_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; -// Alignment: 0 -// Size: 0x558 +// Alignment: 2 +// Size: 0x570 class CDOTA_Ability_Techies_ReactiveTazer : public CDOTABaseAbility { +public: + CHandle< CBaseEntity > m_hTarget; // 0x568 + bool m_bDetonateTriggered; // 0x56c +}; + +// Alignment: 5 +// Size: 0x12d8 +class CDOTA_Modifier_Techies_ReactiveTazer : public CDOTA_Buff +{ +private: + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 +public: + int32_t bonus_ms; // 0x12c0 + int32_t stun_radius; // 0x12c4 + float stun_duration; // 0x12c8 + int32_t damage_percent; // 0x12cc + int32_t m_nDamageRemaining; // 0x12d0 +}; + +// Alignment: 0 +// Size: 0x568 +class CDOTA_Ability_Techies_ReactiveTazer_Stop : public CDOTABaseAbility +{ public: // No members available }; -// Alignment: 5 -// Size: 0x1208 -class CDOTA_Modifier_Techies_ReactiveTazer : public CDOTA_Buff -{ -private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 -public: - int32_t bonus_ms; // 0x11f0 - int32_t stun_radius; // 0x11f4 - float stun_duration; // 0x11f8 - int32_t damage_percent; // 0x11fc - int32_t m_nDamageRemaining; // 0x1200 -}; - // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Techies_ReactiveTazer_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -67593,7 +68706,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Techies_StickyBomb : public CDOTABaseAbility { public: @@ -67601,72 +68714,72 @@ public: }; // Alignment: 13 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Techies_StickyBombThrow : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - float m_flPredictedTotalTime; // 0x11ec - Vector m_vStartPosition; // 0x11f0 - float m_flCurrentTimeHoriz; // 0x11fc - float m_flCurrentTimeVert; // 0x1200 - bool m_bHorizontalMotionInterrupted; // 0x1204 - bool m_bDamageApplied; // 0x1205 - bool m_bTargetTeleported; // 0x1206 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + float m_flPredictedTotalTime; // 0x12bc + Vector m_vStartPosition; // 0x12c0 + float m_flCurrentTimeHoriz; // 0x12cc + float m_flCurrentTimeVert; // 0x12d0 + bool m_bHorizontalMotionInterrupted; // 0x12d4 + bool m_bDamageApplied; // 0x12d5 + bool m_bTargetTeleported; // 0x12d6 private: - [[maybe_unused]] uint8_t __pad1207[0x1]; // 0x1207 + [[maybe_unused]] uint8_t __pad12d7[0x1]; // 0x12d7 public: - Vector m_vHorizontalVelocity; // 0x1208 - Vector m_vLastKnownTargetPosition; // 0x1214 - float m_flInitialVelocityZ; // 0x1220 - bool m_bDone; // 0x1224 + Vector m_vHorizontalVelocity; // 0x12d8 + Vector m_vLastKnownTargetPosition; // 0x12e4 + float m_flInitialVelocityZ; // 0x12f0 + bool m_bDone; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad1225[0x3]; // 0x1225 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - int32_t radius; // 0x1228 + int32_t radius; // 0x12f8 }; // Alignment: 7 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Techies_StickyBomb_Chase : public CDOTA_Buff { public: - int32_t acceleration; // 0x11e8 - int32_t m_nTeamNumber; // 0x11ec - float speed; // 0x11f0 - float pre_chase_time; // 0x11f4 - CHandle< CBaseEntity > m_hAttachTarget; // 0x11f8 - Vector m_vStartPosition; // 0x11fc - CountdownTimer m_MoveTime; // 0x1208 + int32_t acceleration; // 0x12b8 + int32_t m_nTeamNumber; // 0x12bc + float speed; // 0x12c0 + float pre_chase_time; // 0x12c4 + CHandle< CBaseEntity > m_hAttachTarget; // 0x12c8 + Vector m_vStartPosition; // 0x12cc + CountdownTimer m_MoveTime; // 0x12d8 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_StickyBomb_Countdown : public CDOTA_Buff { public: - Vector m_vLastLoc; // 0x11e8 - CHandle< CBaseEntity > m_hAttachTarget; // 0x11f4 + Vector m_vLastLoc; // 0x12b8 + CHandle< CBaseEntity > m_hAttachTarget; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Techies_StickyBomb_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Techies_StickyBomb_Slow_Secondary : public CDOTA_Buff { public: - int32_t secondary_slow; // 0x11e8 + int32_t secondary_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Techies_LandMines : public CDOTABaseAbility { public: @@ -67674,56 +68787,56 @@ public: }; // Alignment: 8 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Techies_LandMine : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x11f8 - float proximity_threshold; // 0x11fc - float damage; // 0x1200 - float activation_delay; // 0x1204 - float outer_damage; // 0x1208 - int32_t min_distance; // 0x120c - bool bActivated; // 0x1210 + int32_t radius; // 0x12c8 + float proximity_threshold; // 0x12cc + float damage; // 0x12d0 + float activation_delay; // 0x12d4 + float outer_damage; // 0x12d8 + int32_t min_distance; // 0x12dc + bool bActivated; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x7]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x7]; // 0x12e1 public: - CountdownTimer m_Timer; // 0x1218 + CountdownTimer m_Timer; // 0x12e8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Techies_LandMine_Burn : public CDOTA_Buff { public: - int32_t mres_reduction; // 0x11e8 + int32_t mres_reduction; // 0x12b8 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Techies_StasisTrap : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 - CHandle< CBaseEntity > m_hTrap; // 0x55c + ParticleIndex_t m_nFXIndex; // 0x568 + CHandle< CBaseEntity > m_hTrap; // 0x56c }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Techies_StasisTrap : public CDOTA_Modifier_Invisible { public: - int32_t activation_radius; // 0x11f8 - int32_t stun_radius; // 0x11fc - float stun_duration; // 0x1200 - float explode_delay; // 0x1204 - float activation_time; // 0x1208 - bool m_bActivated; // 0x120c - bool m_bTriggered; // 0x120d + int32_t activation_radius; // 0x12c8 + int32_t stun_radius; // 0x12cc + float stun_duration; // 0x12d0 + float explode_delay; // 0x12d4 + float activation_time; // 0x12d8 + bool m_bActivated; // 0x12dc + bool m_bTriggered; // 0x12dd }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Techies_StasisTrap_Stunned : public CDOTA_Modifier_Rooted { public: @@ -67731,15 +68844,15 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Techies_Suicide : public CDOTABaseAbility { public: - uint32_t m_unSuicideKills; // 0x558 + uint32_t m_unSuicideKills; // 0x568 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Techies_Suicide_Leap_Animation : public CDOTA_Modifier_Disarmed { public: @@ -67747,37 +68860,37 @@ public: }; // Alignment: 11 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Techies_Suicide_Leap : public CDOTA_Buff { public: - Vector m_vLoc; // 0x11e8 - float m_flPredictedTotalTime; // 0x11f4 - Vector m_vStartPosition; // 0x11f8 - float m_flCurrentTimeHoriz; // 0x1204 - float m_flCurrentTimeVert; // 0x1208 - bool m_bHorizontalMotionInterrupted; // 0x120c - bool m_bDamageApplied; // 0x120d - bool m_bTargetTeleported; // 0x120e + Vector m_vLoc; // 0x12b8 + float m_flPredictedTotalTime; // 0x12c4 + Vector m_vStartPosition; // 0x12c8 + float m_flCurrentTimeHoriz; // 0x12d4 + float m_flCurrentTimeVert; // 0x12d8 + bool m_bHorizontalMotionInterrupted; // 0x12dc + bool m_bDamageApplied; // 0x12dd + bool m_bTargetTeleported; // 0x12de private: - [[maybe_unused]] uint8_t __pad120f[0x1]; // 0x120f + [[maybe_unused]] uint8_t __pad12df[0x1]; // 0x12df public: - Vector m_vHorizontalVelocity; // 0x1210 - Vector m_vLastKnownTargetPosition; // 0x121c - float m_flInitialVelocityZ; // 0x1228 + Vector m_vHorizontalVelocity; // 0x12e0 + Vector m_vLastKnownTargetPosition; // 0x12ec + float m_flInitialVelocityZ; // 0x12f8 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Techies_RemoteMines : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 - CHandle< CBaseEntity > m_hRMine; // 0x55c + ParticleIndex_t m_nFXIndex; // 0x568 + CHandle< CBaseEntity > m_hRMine; // 0x56c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Techies_DeployRemoteMine : public CDOTA_Buff { public: @@ -67785,22 +68898,22 @@ public: }; // Alignment: 8 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Techies_RemoteMine : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x11f8 - int32_t damage; // 0x11fc - int32_t radius_scepter; // 0x1200 - int32_t damage_scepter; // 0x1204 - int32_t vision_radius; // 0x1208 - float vision_duration; // 0x120c - int32_t model_scale; // 0x1210 - bool bExploding; // 0x1214 + int32_t radius; // 0x12c8 + int32_t damage; // 0x12cc + int32_t radius_scepter; // 0x12d0 + int32_t damage_scepter; // 0x12d4 + int32_t vision_radius; // 0x12d8 + float vision_duration; // 0x12dc + int32_t model_scale; // 0x12e0 + bool bExploding; // 0x12e4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Techies_FocusedDetonate : public CDOTABaseAbility { public: @@ -67808,7 +68921,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Techies_RemoteMines_SelfDetonate : public CDOTABaseAbility { public: @@ -67816,29 +68929,29 @@ public: }; // Alignment: 4 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Techies_Minefield_Sign : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 - ParticleIndex_t m_nFXHammerIndex; // 0x55c - int32_t aura_radius; // 0x560 - CHandle< CBaseEntity > m_hSign; // 0x564 + ParticleIndex_t m_nFXIndex; // 0x568 + ParticleIndex_t m_nFXHammerIndex; // 0x56c + int32_t aura_radius; // 0x570 + CHandle< CBaseEntity > m_hSign; // 0x574 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_Minefield_Sign_Thinker : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - float trigger_radius; // 0x11ec - float minefield_duration; // 0x11f0 - bool m_bTriggered; // 0x11f4 + int32_t aura_radius; // 0x12b8 + float trigger_radius; // 0x12bc + float minefield_duration; // 0x12c0 + bool m_bTriggered; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Techies_Minefield_Sign_Aura : public CDOTA_Buff { public: @@ -67846,29 +68959,29 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Techies_Minefield_Sign_Scepter : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - float minefield_duration; // 0x11ec + int32_t aura_radius; // 0x12b8 + float minefield_duration; // 0x12bc }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Techies_Minefield_Sign_Scepter_Aura : public CDOTA_Buff { public: - float aura_radius; // 0x11e8 - float scepter_move_damage; // 0x11ec - float scepter_move_amt; // 0x11f0 - float minefield_duration; // 0x11f4 - float m_flMoveAmount; // 0x11f8 - Vector m_vLastPosition; // 0x11fc + float aura_radius; // 0x12b8 + float scepter_move_damage; // 0x12bc + float scepter_move_amt; // 0x12c0 + float minefield_duration; // 0x12c4 + float m_flMoveAmount; // 0x12c8 + Vector m_vLastPosition; // 0x12cc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Techies_Arcana_DamageListener : public CDOTA_Buff { public: @@ -67876,7 +68989,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_EmberSpirit_SearingChains : public CDOTABaseAbility { public: @@ -67884,18 +68997,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_EmberSpirit_SearingChains : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x11e8 - float tick_interval; // 0x11ec - float tick_damage; // 0x11f0 - float duration; // 0x11f4 + int32_t damage_per_second; // 0x12b8 + float tick_interval; // 0x12bc + float tick_damage; // 0x12c0 + float duration; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_EmberSpirit_SlightOfFist_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -67903,18 +69016,18 @@ public: }; // Alignment: 4 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_EmberSpirit_SleightOfFist : public CDOTABaseAbility { public: - Vector m_vCastLoc; // 0x558 - int32_t m_nHeroesKilled; // 0x564 - CUtlVector< CHandle< CBaseEntity > > m_hAttackEntities; // 0x568 - ParticleIndex_t m_nFXMarkerIndex; // 0x580 + Vector m_vCastLoc; // 0x568 + int32_t m_nHeroesKilled; // 0x574 + CUtlVector< CHandle< CBaseEntity > > m_hAttackEntities; // 0x578 + ParticleIndex_t m_nFXMarkerIndex; // 0x590 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Marker : public CDOTA_Buff { public: @@ -67922,7 +69035,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_InProgress : public CDOTA_Buff { public: @@ -67930,18 +69043,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Caster : public CDOTA_Buff { public: - int32_t bonus_hero_damage; // 0x11e8 - int32_t creep_damage_penalty; // 0x11ec - int32_t radius; // 0x11f0 - float attack_interval; // 0x11f4 + int32_t bonus_hero_damage; // 0x12b8 + int32_t creep_damage_penalty; // 0x12bc + int32_t radius; // 0x12c0 + float attack_interval; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Caster_Invulnerability : public CDOTA_Buff { public: @@ -67949,7 +69062,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_EmberSpirit_FlameGuard : public CDOTABaseAbility { public: @@ -67957,30 +69070,30 @@ public: }; // Alignment: 8 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_EmberSpirit_FlameGuard : public CDOTA_Buff { public: - int32_t absorb_amount; // 0x11e8 - int32_t damage_per_second; // 0x11ec - int32_t radius; // 0x11f0 - float tick_interval; // 0x11f4 - int32_t shield_pct_absorb; // 0x11f8 - int32_t m_nAbsorbRemaining; // 0x11fc - float m_flShowParticleInterval; // 0x1200 - bool m_bDestroy; // 0x1204 + int32_t absorb_amount; // 0x12b8 + int32_t damage_per_second; // 0x12bc + int32_t radius; // 0x12c0 + float tick_interval; // 0x12c4 + int32_t shield_pct_absorb; // 0x12c8 + int32_t m_nAbsorbRemaining; // 0x12cc + float m_flShowParticleInterval; // 0x12d0 + bool m_bDestroy; // 0x12d4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EmberSpirit_FlameGuard_Debuff : public CDOTA_Buff { public: - int32_t blind_pct; // 0x11e8 + int32_t blind_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_EmberSpirit_FireRemnant_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -67988,69 +69101,69 @@ public: }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_EmberSpirit_FireRemnant : public CDOTABaseAbility { public: - CUtlVector< RemnantData_t > m_vRemnantData; // 0x558 + CUtlVector< RemnantData_t > m_vRemnantData; // 0x568 }; // Alignment: 3 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_EmberSpirit_FireRemnant_RemnantTracker : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_vActiveRemnants; // 0x11e8 - CUtlVector< CHandle< CBaseEntity > > m_vTrackingDelayedRemnants; // 0x1200 - int32_t shard_charge_radius; // 0x1218 + CUtlVector< CHandle< CBaseEntity > > m_vActiveRemnants; // 0x12b8 + CUtlVector< CHandle< CBaseEntity > > m_vTrackingDelayedRemnants; // 0x12d0 + int32_t shard_charge_radius; // 0x12e8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EmberSpirit_FireRemnantThinker : public CDOTA_Buff { public: - int32_t m_nProjectileHandle; // 0x11e8 - bool m_bIsShardRemnant; // 0x11ec + int32_t m_nProjectileHandle; // 0x12b8 + bool m_bIsShardRemnant; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EmberSpirit_FireRemnant_Shard : public CDOTA_Buff { public: - int32_t shard_radius; // 0x11e8 + int32_t shard_radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EmberSpirit_FireRemnant_Shard_Debuff : public CDOTA_Buff { public: - int32_t shard_damage_per_second; // 0x11e8 + int32_t shard_damage_per_second; // 0x12b8 }; // Alignment: 7 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_EmberSpirit_Activate_FireRemnant : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - int32_t m_nProjectileID; // 0x568 - Vector m_vStartLocation; // 0x56c - Vector m_vProjectileLocation; // 0x578 - QAngle m_ProjectileAngles; // 0x584 - CHandle< CBaseEntity > m_hRemnantToKill; // 0x590 - bool m_bProjectileStarted; // 0x594 + int32_t m_nProjectileID; // 0x578 + Vector m_vStartLocation; // 0x57c + Vector m_vProjectileLocation; // 0x588 + QAngle m_ProjectileAngles; // 0x594 + CHandle< CBaseEntity > m_hRemnantToKill; // 0x5a0 + bool m_bProjectileStarted; // 0x5a4 private: - [[maybe_unused]] uint8_t __pad0595[0x3]; // 0x595 + [[maybe_unused]] uint8_t __pad05a5[0x3]; // 0x5a5 public: - CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x598 + CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x5a8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_EmberSpirit_FireRemnant_Timer : public CDOTA_Buff { public: @@ -68058,7 +69171,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_EmberSpirit_FireRemnant : public CDOTA_Buff { public: @@ -68066,7 +69179,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Earth_Spirit_StoneCaller_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -68074,48 +69187,49 @@ public: }; // Alignment: 18 -// Size: 0x5d8 +// Size: 0x5e8 class CDOTA_Ability_EarthSpirit_RollingBoulder : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - int32_t radius; // 0x568 - int32_t speed; // 0x56c - int32_t rock_speed; // 0x570 - int32_t damage; // 0x574 - int32_t damage_str; // 0x578 - float distance; // 0x57c - float rock_distance; // 0x580 - float rock_distance_multiplier; // 0x584 - float slow_duration; // 0x588 - ParticleIndex_t m_nFXIndex; // 0x58c - bool m_boulderSetposBool; // 0x590 + int32_t radius; // 0x578 + int32_t speed; // 0x57c + int32_t rock_speed; // 0x580 + int32_t damage; // 0x584 + int32_t damage_str; // 0x588 + float distance; // 0x58c + float rock_distance; // 0x590 + float rock_distance_multiplier; // 0x594 + float slow_duration; // 0x598 + ParticleIndex_t m_nFXIndex; // 0x59c + bool m_boulderSetposBool; // 0x5a0 private: - [[maybe_unused]] uint8_t __pad0591[0x3]; // 0x591 + [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 public: - int32_t m_nProjectileID; // 0x594 - Vector m_vStartingLocation; // 0x598 - Vector m_vProjectileLocation; // 0x5a4 - Vector m_vDir; // 0x5b0 - Vector m_vVel; // 0x5bc - bool m_bUsedStone; // 0x5c8 + int32_t m_nProjectileID; // 0x5a4 + Vector m_vStartingLocation; // 0x5a8 + Vector m_vProjectileLocation; // 0x5b4 + Vector m_vDir; // 0x5c0 + Vector m_vVel; // 0x5cc + bool m_bUsedStone; // 0x5d8 private: - [[maybe_unused]] uint8_t __pad05c9[0x3]; // 0x5c9 + [[maybe_unused]] uint8_t __pad05d9[0x3]; // 0x5d9 public: - Vector m_vRollDirection; // 0x5cc + Vector m_vRollDirection; // 0x5dc }; -// Alignment: 1 -// Size: 0x11f8 +// Alignment: 2 +// Size: 0x12c8 class CDOTA_Modifier_EarthSpirit_RollingBoulder_Caster : public CDOTA_Buff { public: - Vector m_vDir; // 0x11e8 + Vector m_vDir; // 0x12b8 + bool m_bBoulderCreated; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_EarthSpirit_StoneCaller : public CDOTABaseAbility { public: @@ -68123,62 +69237,62 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_EarthSpirit_StoneThinker : public CDOTA_Buff { public: - int32_t vision_radius; // 0x11e8 - bool m_bHasBeenMagnetized; // 0x11ec + int32_t vision_radius; // 0x12b8 + bool m_bHasBeenMagnetized; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - ParticleIndex_t m_nFXIndex; // 0x11f0 + ParticleIndex_t m_nFXIndex; // 0x12c0 }; // Alignment: 12 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_EarthSpirit_BoulderSmash : public CDOTABaseAbility { public: - int32_t speed; // 0x558 - int32_t rock_damage; // 0x55c - float creep_multiplier; // 0x560 - int32_t radius; // 0x564 - int32_t rock_search_aoe; // 0x568 - float unit_distance; // 0x56c - float rock_distance; // 0x570 - int32_t m_nProjectileID; // 0x574 - CHandle< CBaseEntity > m_hCursorTarget; // 0x578 - bool m_bUsedStone; // 0x57c + int32_t speed; // 0x568 + int32_t rock_damage; // 0x56c + float creep_multiplier; // 0x570 + int32_t radius; // 0x574 + int32_t rock_search_aoe; // 0x578 + float unit_distance; // 0x57c + float rock_distance; // 0x580 + int32_t m_nProjectileID; // 0x584 + CHandle< CBaseEntity > m_hCursorTarget; // 0x588 + bool m_bUsedStone; // 0x58c private: - [[maybe_unused]] uint8_t __pad057d[0x3]; // 0x57d + [[maybe_unused]] uint8_t __pad058d[0x3]; // 0x58d public: - CHandle< CBaseEntity > m_hTarget; // 0x580 - bool m_bTargetStone; // 0x584 + CHandle< CBaseEntity > m_hTarget; // 0x590 + bool m_bTargetStone; // 0x594 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EarthSpirit_BoulderSmash : public CDOTA_Buff { public: - bool m_bInterrupted; // 0x11e8 + bool m_bInterrupted; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t m_nProjectileID; // 0x11ec + int32_t m_nProjectileID; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EarthSpirit_Boulder_Smash_Debuff : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_EarthSpirit_Geogmagnetic_Grip_Debuff : public CDOTA_Modifier_Silence { public: @@ -68186,97 +69300,97 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_EarthSpirit_GeomagneticGrip : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hTarget; // 0x558 + CHandle< CBaseEntity > m_hTarget; // 0x568 }; // Alignment: 10 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_EarthSpirit_GeomagneticGrip : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t rock_damage; // 0x11ec - float pull_units_per_second; // 0x11f0 - float pull_units_per_second_heroes; // 0x11f4 - float total_pull_distance; // 0x11f8 - float duration; // 0x11fc - bool m_bUsedStone; // 0x1200 + int32_t radius; // 0x12b8 + int32_t rock_damage; // 0x12bc + float pull_units_per_second; // 0x12c0 + float pull_units_per_second_heroes; // 0x12c4 + float total_pull_distance; // 0x12c8 + float duration; // 0x12cc + bool m_bUsedStone; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - Vector m_vDestination; // 0x1204 - Vector m_vLocation; // 0x1210 + Vector m_vDestination; // 0x12d4 + Vector m_vLocation; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1220 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12f0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EarthSpirit_Petrify : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - bool m_bHasBeenMagnetized; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12b8 + bool m_bHasBeenMagnetized; // 0x12bc }; // Alignment: 3 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_EarthSpirit_Magnetize : public CDOTABaseAbility { public: - int32_t cast_radius; // 0x558 - int32_t rock_explosion_radius; // 0x55c - float damage_duration; // 0x560 + int32_t cast_radius; // 0x568 + int32_t rock_explosion_radius; // 0x56c + float damage_duration; // 0x570 }; // Alignment: 10 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_EarthSpirit_Magnetize : public CDOTA_Buff { public: - int32_t rock_search_radius; // 0x11e8 - int32_t damage_per_second; // 0x11ec - float damage_interval; // 0x11f0 - float rock_explosion_delay; // 0x11f4 - float damage_duration; // 0x11f8 - int32_t cast_radius; // 0x11fc - int32_t rock_explosion_radius; // 0x1200 + int32_t rock_search_radius; // 0x12b8 + int32_t damage_per_second; // 0x12bc + float damage_interval; // 0x12c0 + float rock_explosion_delay; // 0x12c4 + float damage_duration; // 0x12c8 + int32_t cast_radius; // 0x12cc + int32_t rock_explosion_radius; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< CBaseEntity > > m_hExplodedRocks; // 0x1208 - float duration; // 0x1220 - bool m_bShowOverhead; // 0x1224 + CUtlVector< CHandle< CBaseEntity > > m_hExplodedRocks; // 0x12d8 + float duration; // 0x12f0 + bool m_bShowOverhead; // 0x12f4 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_EarthSpirit_Petrify : public CDOTABaseAbility { public: - int32_t ally_cast_range; // 0x558 + int32_t ally_cast_range; // 0x568 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_EarthSpirit_Polarization : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x11e8 - float damage_interval; // 0x11ec - float damage_duration; // 0x11f0 - int32_t rock_search_radius; // 0x11f4 - CHandle< CBaseEntity > m_hMagnetizeAbility; // 0x11f8 + int32_t damage_per_second; // 0x12b8 + float damage_interval; // 0x12bc + float damage_duration; // 0x12c0 + int32_t rock_search_radius; // 0x12c4 + CHandle< CBaseEntity > m_hMagnetizeAbility; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_EarthSpirit_Polarization_Damage_Timer : public CDOTA_Buff { public: @@ -68284,60 +69398,60 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AbyssalUnderlord_Firestorm : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 + ParticleIndex_t m_nFXIndex; // 0x568 }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AbyssalUnderlord_Firestorm_Thinker : public CDOTA_Buff { public: - int32_t wave_damage; // 0x11e8 - int32_t wave_count; // 0x11ec - int32_t radius; // 0x11f0 - float wave_interval; // 0x11f4 - float burn_duration; // 0x11f8 - float burn_interval; // 0x11fc - float first_wave_delay; // 0x1200 - float building_damage; // 0x1204 - CHandle< CBaseEntity > m_hTarget; // 0x1208 + int32_t wave_damage; // 0x12b8 + int32_t wave_count; // 0x12bc + int32_t radius; // 0x12c0 + float wave_interval; // 0x12c4 + float burn_duration; // 0x12c8 + float burn_interval; // 0x12cc + float first_wave_delay; // 0x12d0 + float building_damage; // 0x12d4 + CHandle< CBaseEntity > m_hTarget; // 0x12d8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AbyssalUnderlord_Firestorm_Burn : public CDOTA_Buff { public: - float burn_damage; // 0x11e8 - float burn_interval; // 0x11ec - float building_damage; // 0x11f0 + float burn_damage; // 0x12b8 + float burn_interval; // 0x12bc + float building_damage; // 0x12c0 }; // Alignment: 1 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_AbyssalUnderlord_PitOfMalice : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 + ParticleIndex_t m_nFXIndex; // 0x568 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Thinker : public CDOTA_Buff { public: - int32_t pit_damage; // 0x11e8 - int32_t radius; // 0x11ec - float pit_interval; // 0x11f0 - float ensnare_duration; // 0x11f4 + int32_t pit_damage; // 0x12b8 + int32_t radius; // 0x12bc + float pit_interval; // 0x12c0 + float ensnare_duration; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -68345,15 +69459,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Slow : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x11e8 + int32_t speed_bonus; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Buff_Placer : public CDOTA_Buff { public: @@ -68361,7 +69475,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AbyssalUnderlord_AtrophyAura : public CDOTABaseAbility { public: @@ -68369,38 +69483,38 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Effect : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x11e8 - float bonus_damage_duration; // 0x11ec - int32_t bonus_damage_from_creep; // 0x11f0 - int32_t bonus_damage_from_hero; // 0x11f4 - bool m_bWasHidden; // 0x11f8 + int32_t damage_reduction_pct; // 0x12b8 + float bonus_damage_duration; // 0x12bc + int32_t bonus_damage_from_creep; // 0x12c0 + int32_t bonus_damage_from_hero; // 0x12c4 + bool m_bWasHidden; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_HeroDmgBuff : public CDOTA_Buff { public: - int32_t bonus_damage_from_hero; // 0x11e8 - float bonus_shared_by_allies_pct; // 0x11ec - float m_flModifier; // 0x11f0 + int32_t bonus_damage_from_hero; // 0x12b8 + float bonus_shared_by_allies_pct; // 0x12bc + float m_flModifier; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Permanent_HeroDmgBuff : public CDOTA_Buff { public: @@ -68408,17 +69522,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_CreepDmgBuff : public CDOTA_Buff { public: - int32_t bonus_damage_from_creep; // 0x11e8 - float bonus_shared_by_allies_pct; // 0x11ec - float m_flModifier; // 0x11f0 + int32_t bonus_damage_from_creep; // 0x12b8 + float bonus_shared_by_allies_pct; // 0x12bc + float m_flModifier; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_DmgBuffCounter : public CDOTA_Buff { public: @@ -68426,48 +69540,48 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Scepter : public CDOTA_Buff { public: - int32_t bonus_damage_from_creep; // 0x11e8 + int32_t bonus_damage_from_creep; // 0x12b8 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AbyssalUnderlord_DarkRift : public CDOTABaseAbility { public: - float teleport_delay; // 0x558 - CHandle< CBaseEntity > m_hTeleportTarget; // 0x55c + float teleport_delay; // 0x568 + CHandle< CBaseEntity > m_hTeleportTarget; // 0x56c }; // Alignment: 6 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AbyssalUnderlord_DarkRift : public CDOTA_Buff { public: - ParticleIndex_t m_nfxTargetTp; // 0x11e8 - int32_t radius; // 0x11ec - int32_t duration; // 0x11f0 - ParticleIndex_t m_nfxAmbientFx; // 0x11f4 - bool bPointTarget; // 0x11f8 + ParticleIndex_t m_nfxTargetTp; // 0x12b8 + int32_t radius; // 0x12bc + int32_t duration; // 0x12c0 + ParticleIndex_t m_nfxAmbientFx; // 0x12c4 + bool bPointTarget; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - Vector vDestination; // 0x11fc + Vector vDestination; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AbyssalUnderlord_DarkRift_Bonus_Health : public CDOTA_Buff { public: - int32_t scepter_health_bonus; // 0x11e8 + int32_t scepter_health_bonus; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_AbyssalUnderlord_Cancel_DarkRift : public CDOTABaseAbility { public: @@ -68475,77 +69589,77 @@ public: }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Underlord_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x11e8 + Vector m_vOriginal; // 0x12b8 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AbyssalUnderlord_Portal_Warp : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hTarget; // 0x558 + CHandle< CBaseEntity > m_hTarget; // 0x568 // MNetworkEnable - float m_flChannelTime; // 0x55c + float m_flChannelTime; // 0x56c }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Underlord_Portal_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nPortalAmbientFX; // 0x11e8 - float m_fPortalRadius; // 0x11ec - ParticleIndex_t m_nChannelFX; // 0x11f0 - int32_t m_nChannelCount; // 0x11f4 - ParticleIndex_t m_nCountdownFX; // 0x11f8 + ParticleIndex_t m_nPortalAmbientFX; // 0x12b8 + float m_fPortalRadius; // 0x12bc + ParticleIndex_t m_nChannelFX; // 0x12c0 + int32_t m_nChannelCount; // 0x12c4 + ParticleIndex_t m_nCountdownFX; // 0x12c8 }; // Alignment: 12 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Underlord_Portal_Warp_Channel : public CDOTA_Buff { public: - ParticleIndex_t m_nfxTargetTp; // 0x11e8 - ParticleIndex_t m_nfxTargetTp2; // 0x11ec - ParticleIndex_t m_nfxAmbientFx; // 0x11f0 - ParticleIndex_t m_nfxPortal1; // 0x11f4 - ParticleIndex_t m_nfxPortal2; // 0x11f8 + ParticleIndex_t m_nfxTargetTp; // 0x12b8 + ParticleIndex_t m_nfxTargetTp2; // 0x12bc + ParticleIndex_t m_nfxAmbientFx; // 0x12c0 + ParticleIndex_t m_nfxPortal1; // 0x12c4 + ParticleIndex_t m_nfxPortal2; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x8]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x8]; // 0x12cc public: - CHandle< CBaseEntity > m_hPortal; // 0x1204 - CHandle< CBaseEntity > m_hOtherPortal; // 0x1208 - Vector m_vStartPosition; // 0x120c - float m_flTotalTime; // 0x1218 - float m_flElapsedTimePortion; // 0x121c - float animation_rate; // 0x1220 - int32_t stop_distance; // 0x1224 + CHandle< CBaseEntity > m_hPortal; // 0x12d4 + CHandle< CBaseEntity > m_hOtherPortal; // 0x12d8 + Vector m_vStartPosition; // 0x12dc + float m_flTotalTime; // 0x12e8 + float m_flElapsedTimePortion; // 0x12ec + float animation_rate; // 0x12f0 + int32_t stop_distance; // 0x12f4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Underlord_Portal_Buff : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 - int32_t bonus_ms; // 0x11ec + int32_t damage_reduction; // 0x12b8 + int32_t bonus_ms; // 0x12bc }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_AbyssalUnderlord_Dark_Portal : public CDOTABaseAbility { public: - float duration; // 0x558 - float distance_from_fountain; // 0x55c + float duration; // 0x568 + float distance_from_fountain; // 0x56c }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Underlord : public CDOTABaseAbility { public: @@ -68553,7 +69667,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Underlord_2 : public CDOTABaseAbility { public: @@ -68561,7 +69675,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Underlord_3 : public CDOTABaseAbility { public: @@ -68569,7 +69683,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Underlord_4 : public CDOTABaseAbility { public: @@ -68577,7 +69691,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Underlord_5 : public CDOTABaseAbility { public: @@ -68585,7 +69699,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Underlord_6 : public CDOTABaseAbility { public: @@ -68593,7 +69707,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Underlord_7 : public CDOTABaseAbility { public: @@ -68601,7 +69715,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Underlord_8 : public CDOTABaseAbility { public: @@ -68609,7 +69723,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Underlord_9 : public CDOTABaseAbility { public: @@ -68617,32 +69731,32 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Terrorblade_Reflection : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 + ParticleIndex_t m_nFXIndex; // 0x568 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Terrorblade_Reflection_Invulnerability : public CDOTA_Modifier_Invulnerable { public: - CHandle< CBaseEntity > hTarget; // 0x11e8 + CHandle< CBaseEntity > hTarget; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Terrorblade_Reflection_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 - int32_t attack_slow; // 0x11ec + int32_t move_slow; // 0x12b8 + int32_t attack_slow; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Terrorblade_ConjureImage : public CDOTABaseAbility { public: @@ -68650,7 +69764,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Terrorblade_ConjureImage : public CDOTA_Buff { public: @@ -68658,49 +69772,66 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Terrorblade_Metamorphosis : public CDOTABaseAbility { public: - bool m_bBlockMetamorph; // 0x558 + bool m_bBlockMetamorph; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x12b8 +class CDOTA_Modifier_Terrorblade_Transforming : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12b8 +class CDOTA_Modifier_Terrorblade_Demon_Zeal_Aura : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x568 class CDOTA_Ability_Terrorblade_Demon_Zeal : public CDOTABaseAbility { public: // No members available }; -// Alignment: 3 -// Size: 0x11f8 +// Alignment: 4 +// Size: 0x12c8 class CDOTA_Modifier_Terrorblade_Demon_Zeal : public CDOTA_Buff { public: - int32_t berserk_bonus_attack_speed; // 0x11e8 - int32_t berserk_bonus_movement_speed; // 0x11ec - int32_t melee_bonus; // 0x11f0 + int32_t berserk_bonus_attack_speed; // 0x12b8 + int32_t berserk_bonus_movement_speed; // 0x12bc + int32_t berserk_bonus_armor; // 0x12c0 + int32_t melee_bonus; // 0x12c4 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Terrorblade_Terror_Wave : public CDOTABaseAbility { public: - CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x558 + CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x568 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Terrorblade_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x11e8 + Vector m_vOriginal; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform_Aura : public CDOTA_Buff { public: @@ -68708,7 +69839,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform_Aura_Applier : public CDOTA_Buff { public: @@ -68716,7 +69847,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform : public CDOTA_Buff { public: @@ -68724,37 +69855,37 @@ public: }; // Alignment: 8 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Terrorblade_Metamorphosis : public CDOTA_Buff { public: - float base_attack_time; // 0x11e8 - int32_t bonus_range; // 0x11ec - int32_t m_iOriginalAttackCapabilities; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - int32_t speed_loss; // 0x11f8 - int32_t attack_projectile_speed_bonus; // 0x11fc - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1200 - CUtlSymbolLarge m_iszOriginalRangedAttackEffect; // 0x1208 + float base_attack_time; // 0x12b8 + int32_t bonus_range; // 0x12bc + int32_t m_iOriginalAttackCapabilities; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + int32_t speed_loss; // 0x12c8 + int32_t attack_projectile_speed_bonus; // 0x12cc + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12d0 + CUtlSymbolLarge m_iszOriginalRangedAttackEffect; // 0x12d8 }; // Alignment: 8 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Terrorblade_Metamorphosis_Fear_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x11e8 - float m_fCurRadius; // 0x11ec - GameTime_t m_fLastThink; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x11f8 - int32_t scepter_speed; // 0x1210 - int32_t scepter_radius; // 0x1214 - bool m_bFirstThink; // 0x1218 + float m_fLastRadius; // 0x12b8 + float m_fCurRadius; // 0x12bc + GameTime_t m_fLastThink; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12c8 + int32_t scepter_speed; // 0x12e0 + int32_t scepter_radius; // 0x12e4 + bool m_bFirstThink; // 0x12e8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Terrorblade_Sunder : public CDOTABaseAbility { public: @@ -68762,16 +69893,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Terrorblade_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x11e8 - bool m_bFlail; // 0x11e9 + bool m_bFrozen; // 0x12b8 + bool m_bFlail; // 0x12b9 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Phoenix_SunRay : public CDOTABaseAbility { public: @@ -68779,7 +69910,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Phoenix_SunRayStop : public CDOTABaseAbility { public: @@ -68787,57 +69918,67 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Phoenix_SunRayVision : public CDOTA_Buff { public: // No members available }; -// Alignment: 21 -// Size: 0x1258 +// Alignment: 23 +// Size: 0x1330 class CDOTA_Modifier_Phoenix_SunRay : public CDOTA_Buff { public: - int32_t hp_cost_perc_per_second; // 0x11e8 - int32_t beam_range; // 0x11ec - int32_t base_damage; // 0x11f0 - int32_t base_heal; // 0x11f4 - float tick_interval; // 0x11f8 - float forward_move_speed; // 0x11fc - float turn_rate_initial; // 0x1200 - float turn_rate; // 0x1204 - int32_t radius; // 0x1208 - float m_flCurrentTime; // 0x120c - float m_flAccumulatedSelfDamage; // 0x1210 - bool m_bMovingForward; // 0x1214 - bool m_bTurningFast; // 0x1215 + int32_t hp_cost_perc_per_second; // 0x12b8 + int32_t beam_range; // 0x12bc + int32_t base_damage; // 0x12c0 + int32_t base_heal; // 0x12c4 + float tick_interval; // 0x12c8 + float forward_move_speed; // 0x12cc + float turn_rate_initial; // 0x12d0 + float turn_rate; // 0x12d4 + int32_t radius; // 0x12d8 + float m_flCurrentTime; // 0x12dc + float m_flAccumulatedSelfDamage; // 0x12e0 + bool m_bMovingForward; // 0x12e4 + bool m_bTurningFast; // 0x12e5 private: - [[maybe_unused]] uint8_t __pad1216[0x2]; // 0x1216 + [[maybe_unused]] uint8_t __pad12e6[0x2]; // 0x12e6 public: - float m_flFacingTarget; // 0x1218 - float hp_perc_damage; // 0x121c - float hp_perc_heal; // 0x1220 - ParticleIndex_t m_nBeamFXIndex; // 0x1224 - CHandle< CBaseEntity > m_hVisionThinkers[8]; // 0x1228 - CHandle< CBaseEntity > m_hBeamEnd; // 0x1248 - bool m_bCreatedVisionThinkers; // 0x124c + float m_flFacingTarget; // 0x12e8 + float hp_perc_damage; // 0x12ec + float hp_perc_heal; // 0x12f0 + float blind_duration; // 0x12f4 + int32_t blind_per_second; // 0x12f8 + ParticleIndex_t m_nBeamFXIndex; // 0x12fc + CHandle< CBaseEntity > m_hVisionThinkers[8]; // 0x1300 + CHandle< CBaseEntity > m_hBeamEnd; // 0x1320 + bool m_bCreatedVisionThinkers; // 0x1324 private: - [[maybe_unused]] uint8_t __pad124d[0x3]; // 0x124d + [[maybe_unused]] uint8_t __pad1325[0x3]; // 0x1325 public: - CHandle< CBaseEntity > m_hBeamEndSound; // 0x1250 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Phoenix_Sun_Ray_Slow : public CDOTA_Buff -{ -public: - int32_t shard_move_slow_pct; // 0x11e8 + CHandle< CBaseEntity > m_hBeamEndSound; // 0x1328 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x12b8 +class CDOTA_Modifier_Phoenix_Sun_Ray_Blind : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Phoenix_Sun_Ray_Slow : public CDOTA_Buff +{ +public: + int32_t shard_move_slow_pct; // 0x12b8 +}; + +// Alignment: 0 +// Size: 0x568 class CDOTA_Ability_Phoenix_SunRayToggleMove : public CDOTABaseAbility { public: @@ -68845,51 +69986,55 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Phoenix_IcarusDive : public CDOTABaseAbility { public: - int32_t hp_cost_perc; // 0x558 + int32_t hp_cost_perc; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Phoenix_IcarusDiveStop : public CDOTABaseAbility { public: // No members available }; -// Alignment: 11 -// Size: 0x1248 +// Alignment: 12 +// Size: 0x1320 class CDOTA_Modifier_Phoenix_IcarusDive : public CDOTA_Buff { public: - Vector m_vSource; // 0x11e8 - Vector m_vTarget; // 0x11f4 - Vector m_vDirection; // 0x1200 - QAngle m_angDirection; // 0x120c - float m_flCurrentTime; // 0x1218 - int32_t dash_length; // 0x121c - int32_t dash_width; // 0x1220 - int32_t hit_radius; // 0x1224 - float burn_duration; // 0x1228 - float dive_duration; // 0x122c - CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x1230 + Vector m_vSource; // 0x12b8 + Vector m_vTarget; // 0x12c4 + Vector m_vDirection; // 0x12d0 + QAngle m_angDirection; // 0x12dc + float m_flCurrentTime; // 0x12e8 + int32_t dash_length; // 0x12ec + int32_t dash_width; // 0x12f0 + int32_t hit_radius; // 0x12f4 + float burn_duration; // 0x12f8 + float dive_duration; // 0x12fc + float impact_damage; // 0x1300 +private: + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 +public: + CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x1308 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Phoenix_IcarusDiveBurn : public CDOTA_Buff { public: - float burn_tick_interval; // 0x11e8 - int32_t damage_per_second; // 0x11ec - int32_t slow_movement_speed_pct; // 0x11f0 + float burn_tick_interval; // 0x12b8 + int32_t damage_per_second; // 0x12bc + int32_t slow_movement_speed_pct; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Phoenix_FireSpirits : public CDOTABaseAbility { public: @@ -68897,36 +70042,36 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Phoenix_FireSpiritCount : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 + ParticleIndex_t m_nFXIndex; // 0x12b8 }; // Alignment: 4 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_Phoenix_LaunchFireSpirit : public CDOTABaseAbility { public: - int32_t spirit_speed; // 0x558 - float duration; // 0x55c - int32_t radius; // 0x560 - ParticleIndex_t m_nFXIndex; // 0x564 + int32_t spirit_speed; // 0x568 + float duration; // 0x56c + int32_t radius; // 0x570 + ParticleIndex_t m_nFXIndex; // 0x574 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Phoenix_FireSpiritBurn : public CDOTA_Buff { public: - float tick_interval; // 0x11e8 - int32_t attackspeed_slow; // 0x11ec - int32_t damage_per_second; // 0x11f0 + float tick_interval; // 0x12b8 + int32_t attackspeed_slow; // 0x12bc + int32_t damage_per_second; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Phoenix_Supernova : public CDOTABaseAbility { public: @@ -68934,7 +70079,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Phoenix_SupernovaHiding : public CDOTA_Buff { public: @@ -68942,51 +70087,52 @@ public: }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Phoenix_Sun : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - float stun_duration; // 0x11ec - int32_t max_hero_attacks; // 0x11f0 - int32_t max_hero_attacks_scepter; // 0x11f4 - int32_t max_hero_attacks_required; // 0x11f8 - CHandle< CBaseEntity > m_hSecondaryTarget; // 0x11fc - int32_t m_iAttackCount; // 0x1200 - int32_t creep_attacks_count; // 0x1204 + int32_t aura_radius; // 0x12b8 + float stun_duration; // 0x12bc + int32_t max_hero_attacks; // 0x12c0 + int32_t max_hero_attacks_scepter; // 0x12c4 + int32_t max_hero_attacks_required; // 0x12c8 + CHandle< CBaseEntity > m_hSecondaryTarget; // 0x12cc + int32_t m_iAttackCount; // 0x12d0 + int32_t creep_attacks_count; // 0x12d4 }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Phoenix_Sun_Debuff : public CDOTA_Buff { public: - int32_t damage_per_sec; // 0x11e8 + int32_t damage_per_sec; // 0x12b8 + float tick_interval; // 0x12bc }; // Alignment: 11 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_Oracle_FortunesEnd : public CDOTABaseAbility { public: - int32_t damage; // 0x558 - int32_t radius; // 0x55c - int32_t bolt_speed; // 0x560 - float maximum_purge_duration; // 0x564 - float minimum_purge_duration; // 0x568 - GameTime_t m_flStartTime; // 0x56c - float m_flDuration; // 0x570 - float m_flDamage; // 0x574 - bool m_bAbsorbed; // 0x578 + int32_t damage; // 0x568 + int32_t radius; // 0x56c + int32_t bolt_speed; // 0x570 + float maximum_purge_duration; // 0x574 + float minimum_purge_duration; // 0x578 + GameTime_t m_flStartTime; // 0x57c + float m_flDuration; // 0x580 + float m_flDamage; // 0x584 + bool m_bAbsorbed; // 0x588 private: - [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 + [[maybe_unused]] uint8_t __pad0589[0x3]; // 0x589 public: - CHandle< CBaseEntity > m_hTarget; // 0x57c - ParticleIndex_t m_nFXIndex; // 0x580 + CHandle< CBaseEntity > m_hTarget; // 0x58c + ParticleIndex_t m_nFXIndex; // 0x590 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Oracle_FortunesEndChannelTarget : public CDOTA_Buff { public: @@ -68994,7 +70140,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Oracle_FortunesEndPurge : public CDOTA_Modifier_Rooted { public: @@ -69002,15 +70148,15 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Oracle_FatesEdict : public CDOTABaseAbility { public: - bool m_bTargetIsAlly; // 0x558 + bool m_bTargetIsAlly; // 0x568 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Oracle_FatesEdict : public CDOTA_Buff { public: @@ -69018,28 +70164,28 @@ public: }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Oracle_PurifyingFlames : public CDOTABaseAbility { public: - bool m_bTargetIsAlly; // 0x558 + bool m_bTargetIsAlly; // 0x568 private: - [[maybe_unused]] uint8_t __pad0559[0x3]; // 0x559 + [[maybe_unused]] uint8_t __pad0569[0x3]; // 0x569 public: - CHandle< CBaseEntity > m_hRecentTarget; // 0x55c + CHandle< CBaseEntity > m_hRecentTarget; // 0x56c }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Oracle_PurifyingFlames : public CDOTA_Buff { public: - float heal_per_second; // 0x11e8 - float tick_rate; // 0x11ec + float heal_per_second; // 0x12b8 + float tick_rate; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Oracle_FalsePromise : public CDOTABaseAbility { public: @@ -69047,7 +70193,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Oracle_FalsePromiseTimer : public CDOTA_Buff { public: @@ -69055,36 +70201,36 @@ public: }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Oracle_FalsePromise_Invis : public CDOTA_Modifier_PersistentInvisibility { public: - float shard_spell_amp_bonus; // 0x11f8 - float shard_bat_bonus; // 0x11fc + float shard_spell_amp_bonus; // 0x12c8 + float shard_bat_bonus; // 0x12cc }; // Alignment: 8 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Oracle_FalsePromise : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x30]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x30]; // 0x12b8 public: - bool m_bWaitingForInvulnerability; // 0x1218 - bool m_bDisableHealing; // 0x1219 + bool m_bWaitingForInvulnerability; // 0x12e8 + bool m_bDisableHealing; // 0x12e9 private: - [[maybe_unused]] uint8_t __pad121a[0x2]; // 0x121a + [[maybe_unused]] uint8_t __pad12ea[0x2]; // 0x12ea public: - float m_flHealthOnCreated; // 0x121c - ParticleIndex_t m_nFXIndex; // 0x1220 - ParticleIndex_t m_nFXIndexB; // 0x1224 - float m_flRunningDmg; // 0x1228 - float m_flRunningHealth; // 0x122c - int32_t bonus_armor; // 0x1230 + float m_flHealthOnCreated; // 0x12ec + ParticleIndex_t m_nFXIndex; // 0x12f0 + ParticleIndex_t m_nFXIndexB; // 0x12f4 + float m_flRunningDmg; // 0x12f8 + float m_flRunningHealth; // 0x12fc + int32_t bonus_armor; // 0x1300 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Oracle : public CDOTABaseAbility { public: @@ -69092,7 +70238,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Oracle_2 : public CDOTABaseAbility { public: @@ -69100,7 +70246,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Oracle_3 : public CDOTABaseAbility { public: @@ -69108,7 +70254,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Oracle_4 : public CDOTABaseAbility { public: @@ -69116,7 +70262,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Oracle_5 : public CDOTABaseAbility { public: @@ -69124,7 +70270,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Oracle_6 : public CDOTABaseAbility { public: @@ -69132,7 +70278,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Oracle_7 : public CDOTABaseAbility { public: @@ -69140,7 +70286,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Oracle_8 : public CDOTABaseAbility { public: @@ -69148,7 +70294,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Oracle_9 : public CDOTABaseAbility { public: @@ -69156,7 +70302,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Oracle_RainOfDestiny : public CDOTABaseAbility { public: @@ -69164,68 +70310,68 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Oracle_RainOfDestiny_Aura : public CDOTA_Buff { public: - float damage; // 0x11e8 - int32_t radius; // 0x11ec - ParticleIndex_t m_nFXIndex; // 0x11f0 + float damage; // 0x12b8 + int32_t radius; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Oracle_RainOfDestiny : public CDOTA_Buff { public: - int32_t heal_amp; // 0x11e8 + int32_t heal_amp; // 0x12b8 }; // Alignment: 1 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Winter_Wyvern_Arctic_Burn : public CDOTABaseAbility { public: - CUtlVector< CEntityIndex > m_BurnedTargets; // 0x558 + CUtlVector< CEntityIndex > m_BurnedTargets; // 0x568 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Frost_Attack : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 }; // Alignment: 8 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Flight : public CDOTA_Buff { public: - float attack_point; // 0x11e8 - int32_t attack_range_bonus; // 0x11ec - int32_t projectile_speed_bonus; // 0x11f0 - int32_t night_vision_bonus; // 0x11f4 - int32_t movement_scepter; // 0x11f8 + float attack_point; // 0x12b8 + int32_t attack_range_bonus; // 0x12bc + int32_t projectile_speed_bonus; // 0x12c0 + int32_t night_vision_bonus; // 0x12c4 + int32_t movement_scepter; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1200 - int32_t max_attacks; // 0x1208 - int32_t m_iNumAttacks; // 0x120c + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12d0 + int32_t max_attacks; // 0x12d8 + int32_t m_iNumAttacks; // 0x12dc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Slow : public CDOTA_Buff { public: - float percent_damage; // 0x11e8 - int32_t move_slow; // 0x11ec + float percent_damage; // 0x12b8 + int32_t move_slow; // 0x12bc }; // Alignment: 0 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Winter_Wyvern_Splinter_Blast : public CDOTABaseAbility { public: @@ -69233,15 +70379,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Winter_Wyvern_Splinter_Blast_Slow : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x11e8 + int32_t bonus_movespeed; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Winter_Wyvern_Cold_Embrace : public CDOTABaseAbility { public: @@ -69249,18 +70395,18 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Winter_Wyvern_Cold_Embrace : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - int32_t heal_additive; // 0x11f0 - float heal_percentage; // 0x11f4 + int32_t heal_additive; // 0x12c0 + float heal_percentage; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Winter_Wyvern_Winters_Curse : public CDOTABaseAbility { public: @@ -69268,43 +70414,44 @@ public: }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse_Kill_Credit : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse_Aura : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - int32_t m_nAlliesTaunted; // 0x11ec - bool m_bRelicTriggered; // 0x11f0 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + int32_t m_nAlliesTaunted; // 0x12bc + bool m_bRelicTriggered; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - int32_t radius; // 0x11f4 - int32_t damage_amplification; // 0x11f8 - int32_t damage_reduction; // 0x11fc - GameTime_t m_flLastSeen; // 0x1200 + int32_t radius; // 0x12c4 + int32_t damage_amplification; // 0x12c8 + int32_t damage_reduction; // 0x12cc + GameTime_t m_flLastSeen; // 0x12d0 }; -// Alignment: 4 -// Size: 0x11f8 +// Alignment: 5 +// Size: 0x12d0 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hZombieTarget; // 0x11e8 - CHandle< CBaseEntity > m_hDesiredTarget; // 0x11ec - int32_t damage_reduction; // 0x11f0 - int32_t bonus_attack_speed; // 0x11f4 + CHandle< CBaseEntity > m_hZombieTarget; // 0x12b8 + CHandle< CBaseEntity > m_hDesiredTarget; // 0x12bc + int32_t damage_reduction; // 0x12c0 + int32_t damage_amplification; // 0x12c4 + int32_t bonus_attack_speed; // 0x12c8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_ArcWarden_Flux : public CDOTABaseAbility { public: @@ -69312,30 +70459,30 @@ public: }; // Alignment: 13 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_ArcWarden_Flux : public CDOTA_Buff { public: - int32_t m_nCasterTeam; // 0x11e8 - int32_t damage_per_second; // 0x11ec - int32_t tempest_damage_per_second; // 0x11f0 - int32_t search_radius; // 0x11f4 - int32_t move_speed_slow_pct; // 0x11f8 - int32_t tempest_move_speed_slow_pct; // 0x11fc - int32_t status_resist; // 0x1200 - float think_interval; // 0x1204 - int32_t m_nCurrentMovementSlow; // 0x1208 - int32_t m_nCurrentStatusResistance; // 0x120c - bool m_bAlone; // 0x1210 + int32_t m_nCasterTeam; // 0x12b8 + int32_t damage_per_second; // 0x12bc + int32_t tempest_damage_per_second; // 0x12c0 + int32_t search_radius; // 0x12c4 + int32_t move_speed_slow_pct; // 0x12c8 + int32_t tempest_move_speed_slow_pct; // 0x12cc + int32_t status_resist; // 0x12d0 + float think_interval; // 0x12d4 + int32_t m_nCurrentMovementSlow; // 0x12d8 + int32_t m_nCurrentStatusResistance; // 0x12dc + bool m_bAlone; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - ParticleIndex_t m_nFXIndex; // 0x1214 - bool m_bIsTempestVersion; // 0x1218 + ParticleIndex_t m_nFXIndex; // 0x12e4 + bool m_bIsTempestVersion; // 0x12e8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_ArcWarden_MagneticField : public CDOTABaseAbility { public: @@ -69343,143 +70490,141 @@ public: }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - int32_t radius; // 0x11f0 - Vector m_vPos; // 0x11f4 + int32_t radius; // 0x12c0 + Vector m_vPos; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_Attack_Speed : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_ArcWarden_MagneticField_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance; // 0x11e8 - int32_t radius; // 0x11ec - int32_t shard_magic_resist; // 0x11f0 - int32_t shard_slow_pct; // 0x11f4 - float aura_origin_x; // 0x11f8 - float aura_origin_y; // 0x11fc + int32_t evasion_chance; // 0x12b8 + int32_t radius; // 0x12bc + int32_t shard_magic_resist; // 0x12c0 + int32_t shard_slow_pct; // 0x12c4 + float aura_origin_x; // 0x12c8 + float aura_origin_y; // 0x12cc }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_AttackRange : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - int32_t radius; // 0x11f0 - Vector m_vPos; // 0x11f4 + int32_t radius; // 0x12c0 + Vector m_vPos; // 0x12c4 }; -// Alignment: 8 -// Size: 0x1220 +// Alignment: 9 +// Size: 0x12f0 class CDOTA_Modifier_ArcWarden_MagneticField_AttackRange : public CDOTA_Buff { public: - int32_t attack_range_bonus; // 0x11e8 - int32_t attack_magic_damage; // 0x11ec - int32_t radius; // 0x11f0 - int32_t shard_magic_resist; // 0x11f4 - int32_t shard_slow_pct; // 0x11f8 - float aura_origin_x; // 0x11fc - float aura_origin_y; // 0x1200 -private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 + int32_t attack_range_bonus; // 0x12b8 + int32_t attack_magic_damage; // 0x12bc + int32_t attack_damage_bonus; // 0x12c0 + int32_t radius; // 0x12c4 + int32_t shard_magic_resist; // 0x12c8 + int32_t shard_slow_pct; // 0x12cc + float aura_origin_x; // 0x12d0 + float aura_origin_y; // 0x12d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ArcWarden_MagneticField_Attack_Speed : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x11e8 + int32_t attack_speed_bonus; // 0x12b8 }; // Alignment: 5 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_ArcWarden_SparkWraith : public CDOTABaseAbility { public: - float duration; // 0x558 - float activation_delay; // 0x55c - float wraith_vision_duration; // 0x560 - int32_t wraith_vision_radius; // 0x564 - int32_t spark_damage; // 0x568 + float duration; // 0x568 + float activation_delay; // 0x56c + float wraith_vision_duration; // 0x570 + int32_t wraith_vision_radius; // 0x574 + int32_t spark_damage; // 0x578 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ArcWarden_SparkWraith_Purge : public CDOTA_Buff { public: - int32_t move_speed_slow_pct; // 0x11e8 + int32_t move_speed_slow_pct; // 0x12b8 }; // Alignment: 11 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_ArcWarden_SparkWraith_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t scepter_radius; // 0x11ec - int32_t wraith_vision_radius; // 0x11f0 - int32_t wraith_speed; // 0x11f4 + int32_t radius; // 0x12b8 + int32_t scepter_radius; // 0x12bc + int32_t wraith_vision_radius; // 0x12c0 + int32_t wraith_speed; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f8[0x8]; // 0x11f8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - float activation_delay; // 0x1200 - float scepter_activation_delay; // 0x1204 - float think_interval; // 0x1208 - int32_t m_nSparkDamage; // 0x120c - int32_t m_nViewerID; // 0x1210 - bool m_bActive; // 0x1214 - bool m_bOriginal; // 0x1215 + float activation_delay; // 0x12d0 + float scepter_activation_delay; // 0x12d4 + float think_interval; // 0x12d8 + int32_t m_nSparkDamage; // 0x12dc + int32_t m_nViewerID; // 0x12e0 + bool m_bActive; // 0x12e4 + bool m_bOriginal; // 0x12e5 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_ArcWarden_TempestDouble : public CDOTABaseAbility { public: // MNetworkEnable - CHandle< CBaseEntity > m_hDoubles; // 0x558 + CHandle< CBaseEntity > m_hDoubles; // 0x568 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ArcWarden_TempestDouble : public CDOTA_Buff { public: - int32_t penalty_distance; // 0x11e8 - int32_t attack_damage_penalty; // 0x11ec + int32_t penalty_distance; // 0x12b8 + int32_t attack_damage_penalty; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ArcWarden_TempestDouble_DistancePenalty : public CDOTA_Buff { public: - int32_t attack_damage_penalty; // 0x11e8 + int32_t attack_damage_penalty; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_ArcWarden_Scepter : public CDOTABaseAbility { public: @@ -69487,77 +70632,86 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Arc_Warden_Scepter : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hRune; // 0x11e8 -}; - -// Alignment: 3 -// Size: 0x11f8 -class CDOTA_Modifier_Banana : public CDOTA_Buff -{ -public: - int32_t slide_distance; // 0x11e8 - int32_t radius; // 0x11ec - float slide_duration; // 0x11f0 -}; - -// Alignment: 11 -// Size: 0x1238 -class CDOTA_Modifier_Banana_Knockback : public CDOTA_Buff -{ -public: - Vector m_vCenter; // 0x11e8 - int32_t knockback_distance; // 0x11f4 - int32_t knockback_height; // 0x11f8 - float knockback_duration; // 0x11fc - Vector m_vHorizOffset; // 0x1200 - Vector m_vStartPosition; // 0x120c - Vector m_vDir; // 0x1218 - float m_fCurrentTimeHoriz; // 0x1224 - float m_fCurrentTimeVert; // 0x1228 - bool m_bShouldStun; // 0x122c -private: - [[maybe_unused]] uint8_t __pad122d[0x3]; // 0x122d -public: - float flTimeSinceChange; // 0x1230 -}; - -// Alignment: 2 -// Size: 0x560 -class CDOTA_Ability_MonkeyKing_TreeDance : public CDOTABaseAbility -{ -public: - int32_t perched_jump_distance; // 0x558 - int32_t ground_jump_distance; // 0x55c -}; - -// Alignment: 5 -// Size: 0x578 -class CDOTA_Ability_MonkeyKing_Spring : public CDOTABaseAbility -{ -public: - Vector m_vPos; // 0x558 - GameTime_t m_fStartChannelTime; // 0x564 - CHandle< CBaseEntity > m_hThinker; // 0x568 - ParticleIndex_t m_nFxIndex; // 0x56c - int32_t m_nRefCount; // 0x570 -}; - -// Alignment: 3 -// Size: 0x568 -class CDOTA_Ability_MonkeyKing_Boundless_Strike : public CDOTABaseAbility -{ -public: - int32_t strike_cast_range; // 0x558 - int32_t strike_radius; // 0x55c - ParticleIndex_t m_nFXIndex; // 0x560 + CHandle< CBaseEntity > m_hRune; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x568 +class CDOTA_Ability_ArcWarden_TempestRecall : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Banana : public CDOTA_Buff +{ +public: + int32_t slide_distance; // 0x12b8 + int32_t radius; // 0x12bc + float slide_duration; // 0x12c0 +}; + +// Alignment: 11 +// Size: 0x1308 +class CDOTA_Modifier_Banana_Knockback : public CDOTA_Buff +{ +public: + Vector m_vCenter; // 0x12b8 + int32_t knockback_distance; // 0x12c4 + int32_t knockback_height; // 0x12c8 + float knockback_duration; // 0x12cc + Vector m_vHorizOffset; // 0x12d0 + Vector m_vStartPosition; // 0x12dc + Vector m_vDir; // 0x12e8 + float m_fCurrentTimeHoriz; // 0x12f4 + float m_fCurrentTimeVert; // 0x12f8 + bool m_bShouldStun; // 0x12fc +private: + [[maybe_unused]] uint8_t __pad12fd[0x3]; // 0x12fd +public: + float flTimeSinceChange; // 0x1300 +}; + +// Alignment: 2 +// Size: 0x570 +class CDOTA_Ability_MonkeyKing_TreeDance : public CDOTABaseAbility +{ +public: + int32_t perched_jump_distance; // 0x568 + int32_t ground_jump_distance; // 0x56c +}; + +// Alignment: 5 +// Size: 0x588 +class CDOTA_Ability_MonkeyKing_Spring : public CDOTABaseAbility +{ +public: + Vector m_vPos; // 0x568 + GameTime_t m_fStartChannelTime; // 0x574 + CHandle< CBaseEntity > m_hThinker; // 0x578 + ParticleIndex_t m_nFxIndex; // 0x57c + int32_t m_nRefCount; // 0x580 +}; + +// Alignment: 4 +// Size: 0x578 +class CDOTA_Ability_MonkeyKing_Boundless_Strike : public CDOTABaseAbility +{ +public: + int32_t strike_cast_range; // 0x568 + int32_t strike_radius; // 0x56c + ParticleIndex_t m_nFXIndex; // 0x570 + bool m_bIsAltCastState; // 0x574 +}; + +// Alignment: 0 +// Size: 0x12b8 class CDOTA_Modifier_MonkeyKing_Strike_Stun : public CDOTA_Modifier_Stunned { public: @@ -69565,51 +70719,51 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MonkeyKing_Strike_Crit : public CDOTA_Buff { public: - int32_t strike_crit_mult; // 0x11e8 + int32_t strike_crit_mult; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MonkeyKing_Bounce : public CDOTA_Buff { public: - float jump_damage_cooldown; // 0x11e8 + float jump_damage_cooldown; // 0x12b8 }; // Alignment: 18 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_MonkeyKing_BounceLeap : public CDOTA_Buff { public: - float give_up_distance; // 0x11e8 - float ground_jump_distance; // 0x11ec - float m_flZDelta; // 0x11f0 - float perched_day_vision; // 0x11f4 - float perched_night_vision; // 0x11f8 - Vector m_vStart; // 0x11fc - CHandle< CBaseEntity > m_hTarget; // 0x1208 - Vector m_vTargetPos; // 0x120c - float m_flSpeed; // 0x1218 - bool m_bTargetingEntity; // 0x121c - bool m_bGroundToTree; // 0x121d - bool m_bTreeToGround; // 0x121e - bool m_bTreeToTree; // 0x121f - bool m_bIsSpringJump; // 0x1220 + float give_up_distance; // 0x12b8 + float ground_jump_distance; // 0x12bc + float m_flZDelta; // 0x12c0 + float perched_day_vision; // 0x12c4 + float perched_night_vision; // 0x12c8 + Vector m_vStart; // 0x12cc + CHandle< CBaseEntity > m_hTarget; // 0x12d8 + Vector m_vTargetPos; // 0x12dc + float m_flSpeed; // 0x12e8 + bool m_bTargetingEntity; // 0x12ec + bool m_bGroundToTree; // 0x12ed + bool m_bTreeToGround; // 0x12ee + bool m_bTreeToTree; // 0x12ef + bool m_bIsSpringJump; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad1221[0x3]; // 0x1221 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - float m_fSpringChanneledPercent; // 0x1224 - int32_t m_nLeapSpeed; // 0x1228 - ParticleIndex_t m_nFXIndex; // 0x122c - ParticleIndex_t m_nFXIndex2; // 0x1230 + float m_fSpringChanneledPercent; // 0x12f4 + int32_t m_nLeapSpeed; // 0x12f8 + ParticleIndex_t m_nFXIndex; // 0x12fc + ParticleIndex_t m_nFXIndex2; // 0x1300 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_MonkeyKing_Spring_Early : public CDOTABaseAbility { public: @@ -69617,16 +70771,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MonkeyKing_TreeDance_Activity : public CDOTA_Buff { public: - float m_fAbilityRangePct; // 0x11e8 - float m_bIsSpring; // 0x11ec + float m_fAbilityRangePct; // 0x12b8 + float m_bIsSpring; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MonkeyKing_RightClickJump_Activity : public CDOTA_Buff { public: @@ -69634,16 +70788,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MonkeyKing_SpringSlow : public CDOTA_Buff { public: - int32_t impact_movement_slow; // 0x11e8 - int32_t m_nSlowPct; // 0x11ec + int32_t impact_movement_slow; // 0x12b8 + int32_t m_nSlowPct; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MonkeyKing_Spring_Thinker : public CDOTA_Buff { public: @@ -69651,7 +70805,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MonkeyKing_TreeJump_Hidden : public CDOTA_Buff { public: @@ -69659,7 +70813,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MonkeyKing_UnperchedStunned : public CDOTA_Modifier_Stunned { public: @@ -69667,30 +70821,30 @@ public: }; // Alignment: 13 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_MonkeyKing_ArcToGround : public CDOTA_Buff { public: - float leap_speed; // 0x11e8 - float give_up_distance; // 0x11ec - float attackspeed_duration; // 0x11f0 - float m_flOriginalZDelta; // 0x11f4 - float m_flZDelta; // 0x11f8 - Vector m_vStart; // 0x11fc - Vector m_vTargetPos; // 0x1208 - float m_flSpeed; // 0x1214 - bool m_bDroppedFromTree; // 0x1218 + float leap_speed; // 0x12b8 + float give_up_distance; // 0x12bc + float attackspeed_duration; // 0x12c0 + float m_flOriginalZDelta; // 0x12c4 + float m_flZDelta; // 0x12c8 + Vector m_vStart; // 0x12cc + Vector m_vTargetPos; // 0x12d8 + float m_flSpeed; // 0x12e4 + bool m_bDroppedFromTree; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - ParticleIndex_t m_nFXIndex; // 0x121c - ParticleIndex_t m_nFXIndex2; // 0x1220 - float m_flOriginalHeight; // 0x1224 - bool m_bRightClickHop; // 0x1228 + ParticleIndex_t m_nFXIndex; // 0x12ec + ParticleIndex_t m_nFXIndex2; // 0x12f0 + float m_flOriginalHeight; // 0x12f4 + bool m_bRightClickHop; // 0x12f8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_MonkeyKing_Transform : public CDOTABaseAbility { public: @@ -69698,29 +70852,29 @@ public: }; // Alignment: 15 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_MonkeyKing_Transform : public CDOTA_Buff { public: - CUtlString m_strDisguise; // 0x11e8 - int32_t movespeed; // 0x11f0 - int32_t m_nDisguisedSpeed; // 0x11f4 - int32_t reveal_radius; // 0x11f8 - ParticleIndex_t m_nDisguiseEffectIndex; // 0x11fc - CHandle< CBaseEntity > m_hCourierToClone; // 0x1200 - CHandle< CBaseEntity > m_hCreepToClone; // 0x1204 - CUtlVector< CHandle< CBaseEntity > > m_aryBountyRuneSpawners; // 0x1208 - bool m_bIsFlyingCourier; // 0x1220 - bool m_bIsRune; // 0x1221 - bool m_bIsBanana; // 0x1222 - bool m_bIsFakeAlly; // 0x1223 - uint32_t m_nMischiefUnitType; // 0x1224 - int32_t m_nMischiefHealthbarOffset; // 0x1228 - float invul_duration; // 0x122c + CUtlString m_strDisguise; // 0x12b8 + int32_t movespeed; // 0x12c0 + int32_t m_nDisguisedSpeed; // 0x12c4 + int32_t reveal_radius; // 0x12c8 + ParticleIndex_t m_nDisguiseEffectIndex; // 0x12cc + CHandle< CBaseEntity > m_hCourierToClone; // 0x12d0 + CHandle< CBaseEntity > m_hCreepToClone; // 0x12d4 + CUtlVector< CHandle< CBaseEntity > > m_aryBountyRuneSpawners; // 0x12d8 + bool m_bIsFlyingCourier; // 0x12f0 + bool m_bIsRune; // 0x12f1 + bool m_bIsBanana; // 0x12f2 + bool m_bIsFakeAlly; // 0x12f3 + uint32_t m_nMischiefUnitType; // 0x12f4 + int32_t m_nMischiefHealthbarOffset; // 0x12f8 + float invul_duration; // 0x12fc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_MonkeyKing_UnTransform : public CDOTABaseAbility { public: @@ -69728,61 +70882,61 @@ public: }; // Alignment: 10 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_MonkeyKing_FurArmyThinker : public CDOTA_Buff { public: - float m_fDuration; // 0x11e8 - GameTime_t m_fTimeThinkerCreated; // 0x11ec - CUtlVector< Vector > m_vTargetPositions; // 0x11f0 - Vector m_vInitialPos; // 0x1208 - int32_t first_radius; // 0x1214 - int32_t num_first_soldiers; // 0x1218 - int32_t second_radius; // 0x121c - int32_t num_second_soldiers; // 0x1220 - ParticleIndex_t m_nRingFXIndex; // 0x1224 - int32_t final_radius; // 0x1228 + float m_fDuration; // 0x12b8 + GameTime_t m_fTimeThinkerCreated; // 0x12bc + CUtlVector< Vector > m_vTargetPositions; // 0x12c0 + Vector m_vInitialPos; // 0x12d8 + int32_t first_radius; // 0x12e4 + int32_t num_first_soldiers; // 0x12e8 + int32_t second_radius; // 0x12ec + int32_t num_second_soldiers; // 0x12f0 + ParticleIndex_t m_nRingFXIndex; // 0x12f4 + int32_t final_radius; // 0x12f8 }; // Alignment: 7 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_MonkeyKing_FurArmy_Soldier : public CDOTA_Buff { public: - Vector m_vTargetPos; // 0x11e8 - Vector m_vDirection; // 0x11f4 - int32_t move_speed; // 0x1200 - CHandle< CBaseEntity > m_hThinker; // 0x1204 - bool m_bIsInPosition; // 0x1208 + Vector m_vTargetPos; // 0x12b8 + Vector m_vDirection; // 0x12c4 + int32_t move_speed; // 0x12d0 + CHandle< CBaseEntity > m_hThinker; // 0x12d4 + bool m_bIsInPosition; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - ParticleIndex_t m_nFXIndex; // 0x120c - bool m_bAutoSpawn; // 0x1210 + ParticleIndex_t m_nFXIndex; // 0x12dc + bool m_bAutoSpawn; // 0x12e0 }; // Alignment: 10 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierInPosition : public CDOTA_Buff { public: - Vector m_vTargetPos; // 0x11e8 - CHandle< CBaseEntity > m_hAttackTarget; // 0x11f4 - float attack_speed; // 0x11f8 - int32_t second_radius; // 0x11fc - int32_t outer_attack_buffer; // 0x1200 - CHandle< CBaseEntity > m_hThinker; // 0x1204 - bool m_bDisarmed; // 0x1208 + Vector m_vTargetPos; // 0x12b8 + CHandle< CBaseEntity > m_hAttackTarget; // 0x12c4 + float attack_speed; // 0x12c8 + int32_t second_radius; // 0x12cc + int32_t outer_attack_buffer; // 0x12d0 + CHandle< CBaseEntity > m_hThinker; // 0x12d4 + bool m_bDisarmed; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - GameTime_t m_flNextAttackTime; // 0x120c - ParticleIndex_t m_nFXIndex; // 0x1210 - bool m_bAutoSpawn; // 0x1214 + GameTime_t m_flNextAttackTime; // 0x12dc + ParticleIndex_t m_nFXIndex; // 0x12e0 + bool m_bAutoSpawn; // 0x12e4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierInactive : public CDOTA_Buff { public: @@ -69790,7 +70944,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierHidden : public CDOTA_Buff { public: @@ -69798,7 +70952,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_ObliterateSoldier : public CDOTA_Buff { public: @@ -69806,15 +70960,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MonkeyKing_FurArmy_BonusDamage : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_MonkeyKing_QuadrupleTap : public CDOTABaseAbility { public: @@ -69822,38 +70976,38 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_MonkeyKing_QuadrupleTap : public CDOTA_Buff { public: - int32_t counter_duration; // 0x11e8 - int32_t required_hits; // 0x11ec - int32_t max_duration; // 0x11f0 + int32_t counter_duration; // 0x12b8 + int32_t required_hits; // 0x12bc + int32_t max_duration; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MonkeyKing_QuadrupleTap_Counter : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x11e8 + ParticleIndex_t m_nFXStackIndex; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_QuadrupleTap_Bonuses : public CDOTA_Buff { public: - int32_t charges; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t lifesteal; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - int32_t m_nIgnoreStrikeIndex; // 0x11f8 - bool m_bIsAttackAnim; // 0x11fc + int32_t charges; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t lifesteal; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + int32_t m_nIgnoreStrikeIndex; // 0x12c8 + bool m_bIsAttackAnim; // 0x12cc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MonkeyKing_CloudRun : public CDOTA_Buff { public: @@ -69861,37 +71015,38 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MonkeyKing_CloudRunStart : public CDOTA_Buff { public: // No members available }; -// Alignment: 12 -// Size: 0x1230 +// Alignment: 13 +// Size: 0x1308 class CDOTA_Modifier_MonkeyKing_BoundlessStrike_ShardMovement : public CDOTA_Buff { public: - float m_flPredictedTotalTime; // 0x11e8 - Vector m_vStartPosition; // 0x11ec - float m_flCurrentTimeHoriz; // 0x11f8 - float m_flCurrentTimeVert; // 0x11fc - bool m_bHorizontalMotionInterrupted; // 0x1200 + float m_flPredictedTotalTime; // 0x12b8 + Vector m_vStartPosition; // 0x12bc + float m_flCurrentTimeHoriz; // 0x12c8 + float m_flCurrentTimeVert; // 0x12cc + bool m_bHorizontalMotionInterrupted; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - Vector m_vHorizontalVelocity; // 0x1204 - Vector m_vLastKnownTargetPosition; // 0x1210 - float m_flInitialVelocityZ; // 0x121c - int32_t acceleration_z; // 0x1220 - int32_t min_height_above_lowest; // 0x1224 - int32_t min_height_above_highest; // 0x1228 - int32_t max_horizontal_acceleration; // 0x122c + Vector m_vHorizontalVelocity; // 0x12d4 + Vector m_vLastKnownTargetPosition; // 0x12e0 + float m_flInitialVelocityZ; // 0x12ec + int32_t acceleration_z; // 0x12f0 + int32_t min_height_above_lowest; // 0x12f4 + int32_t min_height_above_highest; // 0x12f8 + int32_t max_horizontal_acceleration; // 0x12fc + int32_t spring_channel_pct; // 0x1300 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Pangolier_HeartPiercer : public CDOTABaseAbility { public: @@ -69899,33 +71054,33 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pangolier_HeartPiercer : public CDOTA_Buff { public: - float debuff_delay; // 0x11e8 - int32_t chance_pct; // 0x11ec + float debuff_delay; // 0x12b8 + int32_t chance_pct; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pangolier_HeartPiercer_Delay : public CDOTA_Buff { public: - float duration; // 0x11e8 - float debuff_delay; // 0x11ec + float duration; // 0x12b8 + float debuff_delay; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pangolier_HeartPiercer_Debuff : public CDOTA_Buff { public: - int32_t slow_pct; // 0x11e8 + int32_t slow_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Pangolier_LuckyShot : public CDOTABaseAbility { public: @@ -69933,32 +71088,32 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pangolier_LuckyShot : public CDOTA_Buff { public: - int32_t chance_pct; // 0x11e8 + int32_t chance_pct; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pangolier_LuckyShot_Disarm : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - int32_t armor; // 0x11ec + int32_t armor; // 0x12b8 + int32_t attack_slow; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pangolier_LuckyShot_Silence : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Pangolier_ShieldCrash : public CDOTABaseAbility { public: @@ -69966,40 +71121,44 @@ public: }; // Alignment: 10 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Pangolier_ShieldCrash_Jump : public CDOTA_Buff { public: - float jump_duration; // 0x11e8 - float jump_duration_gyroshell; // 0x11ec - int32_t jump_height; // 0x11f0 - int32_t jump_height_gyroshell; // 0x11f4 - float m_flStartZ; // 0x11f8 - float m_flCurTime; // 0x11fc - float m_flJumpDuration; // 0x1200 - float m_flJumpHeight; // 0x1204 - int32_t jump_horizontal_distance; // 0x1208 - Vector m_vTargetHorizontalDirection; // 0x120c + float jump_duration; // 0x12b8 + float jump_duration_gyroshell; // 0x12bc + int32_t jump_height; // 0x12c0 + int32_t jump_height_gyroshell; // 0x12c4 + float m_flStartZ; // 0x12c8 + float m_flCurTime; // 0x12cc + float m_flJumpDuration; // 0x12d0 + float m_flJumpHeight; // 0x12d4 + int32_t jump_horizontal_distance; // 0x12d8 + Vector m_vTargetHorizontalDirection; // 0x12dc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pangolier_ShieldCrash_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 5 +// Size: 0x12d0 class CDOTA_Modifier_Pangolier_ShieldCrash_Buff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t m_nAbsorbRemaining; // 0x12bc + int32_t hero_shield; // 0x12c0 + int32_t base_shield; // 0x12c4 + int32_t accummulated_value; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pangolier_Swashbuckle_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -70007,47 +71166,47 @@ public: }; // Alignment: 11 -// Size: 0x5c0 +// Size: 0x5d0 class CDOTA_Ability_Pangolier_Swashbuckle : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - int32_t dash_speed; // 0x568 - int32_t start_radius; // 0x56c - int32_t end_radius; // 0x570 - int32_t range; // 0x574 - int32_t damage; // 0x578 - Vector m_vDashPosition; // 0x57c - Vector m_vFacePosition; // 0x588 - Vector m_vEndpoint; // 0x594 - Vector m_vSlashDir; // 0x5a0 - int32_t m_nDashProjectileID; // 0x5ac - Vector m_vDashProjectileLocation; // 0x5b0 + int32_t dash_speed; // 0x578 + int32_t start_radius; // 0x57c + int32_t end_radius; // 0x580 + int32_t range; // 0x584 + int32_t damage; // 0x588 + Vector m_vDashPosition; // 0x58c + Vector m_vFacePosition; // 0x598 + Vector m_vEndpoint; // 0x5a4 + Vector m_vSlashDir; // 0x5b0 + int32_t m_nDashProjectileID; // 0x5bc + Vector m_vDashProjectileLocation; // 0x5c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pangolier_Swashbuckle_Attack : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 + int32_t damage; // 0x12b8 }; // Alignment: 5 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Pangolier_Swashbuckle : public CDOTA_Buff { public: - int32_t m_nStrikesLeft; // 0x11e8 - float attack_interval; // 0x11ec - Vector m_vSpawnPos; // 0x11f0 - Vector m_vStrikeDir; // 0x11fc - Vector m_vDashDir; // 0x1208 + int32_t m_nStrikesLeft; // 0x12b8 + float attack_interval; // 0x12bc + Vector m_vSpawnPos; // 0x12c0 + Vector m_vStrikeDir; // 0x12cc + Vector m_vDashDir; // 0x12d8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pangolier_Swashbuckle_Stunned : public CDOTA_Buff { public: @@ -70055,57 +71214,57 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Pangolier_Gyroshell : public CDOTABaseAbility { public: - ParticleIndex_t m_nFxIndex; // 0x558 + ParticleIndex_t m_nFxIndex; // 0x568 }; // Alignment: 20 -// Size: 0x1288 +// Size: 0x1358 class CDOTA_Modifier_Pangolier_Gyroshell : public CDOTA_Modifier_DebuffImmune { public: - int32_t mp_cost_per_second; // 0x11e8 - float tick_interval; // 0x11ec - float forward_move_speed; // 0x11f0 - float turn_rate_boosted; // 0x11f4 - float turn_rate; // 0x11f8 - int32_t hit_radius; // 0x11fc - int32_t knockback_radius; // 0x1200 - bool m_bHitFirstUpdate; // 0x1204 + int32_t mp_cost_per_second; // 0x12b8 + float tick_interval; // 0x12bc + float forward_move_speed; // 0x12c0 + float turn_rate_boosted; // 0x12c4 + float turn_rate; // 0x12c8 + int32_t hit_radius; // 0x12cc + int32_t knockback_radius; // 0x12d0 + bool m_bHitFirstUpdate; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - GameTime_t m_flHitEndTime; // 0x1208 - float hit_recover_time; // 0x120c - GameTime_t m_flJumpEndTime; // 0x1210 - float jump_recover_time; // 0x1214 - float m_flTurnBoostProgress; // 0x1218 - float m_flFacingTarget; // 0x121c - bool m_bIsJumping; // 0x1220 + GameTime_t m_flHitEndTime; // 0x12d8 + float hit_recover_time; // 0x12dc + GameTime_t m_flJumpEndTime; // 0x12e0 + float jump_recover_time; // 0x12e4 + float m_flTurnBoostProgress; // 0x12e8 + float m_flFacingTarget; // 0x12ec + bool m_bIsJumping; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad1221[0x3]; // 0x1221 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - ParticleIndex_t m_nFXIndex; // 0x1224 - CUtlVector< float32 > m_flTurnHistory; // 0x1228 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x1240 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x1258 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1270 + ParticleIndex_t m_nFXIndex; // 0x12f4 + CUtlVector< float32 > m_flTurnHistory; // 0x12f8 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x1310 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x1328 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1340 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Pangolier_Gyroshell_Ricochet : public CDOTA_Buff { public: - float m_flStartZ; // 0x11e8 - float m_flCurTime; // 0x11ec + float m_flStartZ; // 0x12b8 + float m_flCurTime; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Pangolier_GyroshellStop : public CDOTABaseAbility { public: @@ -70113,7 +71272,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pangolier_GyroshellTimeout : public CDOTA_Buff { public: @@ -70121,27 +71280,27 @@ public: }; // Alignment: 10 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Pangolier_GyroshellBounce : public CDOTA_Buff { public: - Vector m_vLoc; // 0x11e8 - float m_flPredictedTotalTime; // 0x11f4 - Vector m_vStartPosition; // 0x11f8 - float m_flCurrentTimeHoriz; // 0x1204 - float m_flCurrentTimeVert; // 0x1208 - bool m_bHorizontalMotionInterrupted; // 0x120c - bool m_bTargetTeleported; // 0x120d + Vector m_vLoc; // 0x12b8 + float m_flPredictedTotalTime; // 0x12c4 + Vector m_vStartPosition; // 0x12c8 + float m_flCurrentTimeHoriz; // 0x12d4 + float m_flCurrentTimeVert; // 0x12d8 + bool m_bHorizontalMotionInterrupted; // 0x12dc + bool m_bTargetTeleported; // 0x12dd private: - [[maybe_unused]] uint8_t __pad120e[0x2]; // 0x120e + [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de public: - Vector m_vHorizontalVelocity; // 0x1210 - Vector m_vLastKnownTargetPosition; // 0x121c - float m_flInitialVelocityZ; // 0x1228 + Vector m_vHorizontalVelocity; // 0x12e0 + Vector m_vLastKnownTargetPosition; // 0x12ec + float m_flInitialVelocityZ; // 0x12f8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Pangolier_Gyroshell_Stun : public CDOTA_Modifier_Stunned { public: @@ -70149,15 +71308,15 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Pangolier_Rollup : public CDOTABaseAbility { public: - ParticleIndex_t m_nFxIndex; // 0x558 + ParticleIndex_t m_nFxIndex; // 0x568 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Pangolier_RollupStop : public CDOTABaseAbility { public: @@ -70165,42 +71324,42 @@ public: }; // Alignment: 22 -// Size: 0x1290 +// Size: 0x1360 class CDOTA_Modifier_Pangolier_Rollup : public CDOTA_Modifier_DebuffImmune { public: - int32_t mp_cost_per_second; // 0x11e8 - float tick_interval; // 0x11ec - float forward_move_speed; // 0x11f0 - float turn_rate_boosted; // 0x11f4 - float turn_rate; // 0x11f8 - int32_t hit_radius; // 0x11fc - int32_t knockback_radius; // 0x1200 - bool m_bHitFirstUpdate; // 0x1204 + int32_t mp_cost_per_second; // 0x12b8 + float tick_interval; // 0x12bc + float forward_move_speed; // 0x12c0 + float turn_rate_boosted; // 0x12c4 + float turn_rate; // 0x12c8 + int32_t hit_radius; // 0x12cc + int32_t knockback_radius; // 0x12d0 + bool m_bHitFirstUpdate; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - GameTime_t m_flHitEndTime; // 0x1208 - float hit_recover_time; // 0x120c - GameTime_t m_flJumpEndTime; // 0x1210 - float jump_recover_time; // 0x1214 - float m_flTurnBoostProgress; // 0x1218 - float m_flFacingTarget; // 0x121c - GameTime_t m_flLastHeroAttackTime; // 0x1220 - bool m_bIsJumping; // 0x1224 + GameTime_t m_flHitEndTime; // 0x12d8 + float hit_recover_time; // 0x12dc + GameTime_t m_flJumpEndTime; // 0x12e0 + float jump_recover_time; // 0x12e4 + float m_flTurnBoostProgress; // 0x12e8 + float m_flFacingTarget; // 0x12ec + GameTime_t m_flLastHeroAttackTime; // 0x12f0 + bool m_bIsJumping; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad1225[0x3]; // 0x1225 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - ParticleIndex_t m_nFXIndex; // 0x1228 - float m_flGyroshellDurationRemaining; // 0x122c - CUtlVector< float32 > m_flTurnHistory; // 0x1230 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x1248 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x1260 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1278 + ParticleIndex_t m_nFXIndex; // 0x12f8 + float m_flGyroshellDurationRemaining; // 0x12fc + CUtlVector< float32 > m_flTurnHistory; // 0x1300 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x1318 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x1330 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1348 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DarkWillow_BrambleMaze : public CDOTABaseAbility { public: @@ -70208,34 +71367,34 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_DarkWillow_BrambleMaze_Creation_Thinker : public CDOTA_Buff { public: - float latch_creation_interval; // 0x11e8 - float initial_creation_delay; // 0x11ec - int32_t placement_count; // 0x11f0 - float placement_duration; // 0x11f4 - int32_t m_iBramblesIndex; // 0x11f8 + float latch_creation_interval; // 0x12b8 + float initial_creation_delay; // 0x12bc + int32_t placement_count; // 0x12c0 + float placement_duration; // 0x12c4 + int32_t m_iBramblesIndex; // 0x12c8 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_DarkWillow_BrambleMaze_Thinker : public CDOTA_Buff { public: - int32_t latch_range; // 0x11e8 - int32_t latch_vision; // 0x11ec - float latch_creation_delay; // 0x11f0 - float latch_duration; // 0x11f4 + int32_t latch_range; // 0x12b8 + int32_t latch_vision; // 0x12bc + float latch_creation_delay; // 0x12c0 + float latch_duration; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f8[0x8]; // 0x11f8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - bool m_bActive; // 0x1200 + bool m_bActive; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DarkWillow_BrambleMaze : public CDOTA_Buff { public: @@ -70243,7 +71402,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DarkWillow_ShadowRealm : public CDOTABaseAbility { public: @@ -70251,7 +71410,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DarkWillow_ShadowRealm_FadeTime : public CDOTA_Buff { public: @@ -70259,129 +71418,134 @@ public: }; // Alignment: 9 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_DarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - float max_damage_duration; // 0x11ec - int32_t attack_range_bonus; // 0x11f0 + int32_t damage; // 0x12b8 + float max_damage_duration; // 0x12bc + int32_t attack_range_bonus; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 - bool bAttackRange; // 0x1210 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + bool bAttackRange; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - GameTime_t m_flStartTime; // 0x1214 - GameTime_t m_flFadeTime; // 0x1218 - float m_flDamageScale; // 0x121c - float duration; // 0x1220 + GameTime_t m_flStartTime; // 0x12e4 + GameTime_t m_flFadeTime; // 0x12e8 + float m_flDamageScale; // 0x12ec + float duration; // 0x12f0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_DarkWillow_ShadowRealm_Buff_Attack_Logic : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t m_iRecord; // 0x11ec - float m_flDamageScale; // 0x11f0 + int32_t damage; // 0x12b8 + int32_t m_iRecord; // 0x12bc + float m_flDamageScale; // 0x12c0 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_DarkWillow_CursedCrown : public CDOTABaseAbility { public: - CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x558 + CHandle< CDOTABaseAbility > m_hSourceAbility; // 0x568 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_DarkWillow_CursedCrown : public CDOTA_Buff { public: - float delay; // 0x11e8 - float stun_duration; // 0x11ec - int32_t stun_radius; // 0x11f0 - GameTime_t m_fStartTime; // 0x11f4 + float delay; // 0x12b8 + float stun_duration; // 0x12bc + int32_t stun_radius; // 0x12c0 + GameTime_t m_fStartTime; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_DarkWillow_Bedlam : public CDOTABaseAbility { public: // No members available }; -// Alignment: 8 -// Size: 0x1208 +// Alignment: 10 +// Size: 0x12e0 class CDOTA_Modifier_DarkWillow_Bedlam : public CDOTA_Buff { public: - float m_flRotation; // 0x11e8 - CHandle< CBaseEntity > m_hWisp; // 0x11ec - GameTime_t m_flLastAttack; // 0x11f0 - int32_t roaming_radius; // 0x11f4 - int32_t attack_radius; // 0x11f8 - float roaming_seconds_per_rotation; // 0x11fc - float attack_interval; // 0x1200 - int32_t target_count; // 0x1204 + float m_flRotation; // 0x12b8 + CHandle< CBaseEntity > m_hWisp; // 0x12bc + GameTime_t m_flLastAttack; // 0x12c0 + int32_t roaming_radius; // 0x12c4 + int32_t attack_radius; // 0x12c8 + float roaming_seconds_per_rotation; // 0x12cc + float attack_interval; // 0x12d0 + int32_t target_count; // 0x12d4 + bool m_bTravelling; // 0x12d8 +private: + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 +public: + int32_t travel_speed; // 0x12dc }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_DarkWillow_Terrorize : public CDOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x558 + ParticleIndex_t m_nFXIndex; // 0x568 }; // Alignment: 14 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_DarkWillow_Terrorize_Thinker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hWisp; // 0x11e8 - int32_t destination_travel_speed; // 0x11ec - int32_t return_travel_speed; // 0x11f0 - int32_t destination_radius; // 0x11f4 - float destination_status_duration; // 0x11f8 - float initial_delay; // 0x11fc - float starting_height; // 0x1200 - Vector m_vAttackLocation; // 0x1204 - bool m_bAttacking; // 0x1210 - bool m_bReturning; // 0x1211 + CHandle< CBaseEntity > m_hWisp; // 0x12b8 + int32_t destination_travel_speed; // 0x12bc + int32_t return_travel_speed; // 0x12c0 + int32_t destination_radius; // 0x12c4 + float destination_status_duration; // 0x12c8 + float initial_delay; // 0x12cc + float starting_height; // 0x12d0 + Vector m_vAttackLocation; // 0x12d4 + bool m_bAttacking; // 0x12e0 + bool m_bReturning; // 0x12e1 private: - [[maybe_unused]] uint8_t __pad1212[0x2]; // 0x1212 + [[maybe_unused]] uint8_t __pad12e2[0x2]; // 0x12e2 public: - float m_fCurHeight; // 0x1214 - float m_fEstimatedTravelTime; // 0x1218 - float think_interval; // 0x121c - bool m_bInFlight; // 0x1220 + float m_fCurHeight; // 0x12e4 + float m_fEstimatedTravelTime; // 0x12e8 + float think_interval; // 0x12ec + bool m_bInFlight; // 0x12f0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DarkWillow_Debuff_Fear : public CDOTA_Modifier_Fear { public: - bool m_bDidGiveOrder; // 0x11e8 + bool m_bDidGiveOrder; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DarkWillow_Creature_Invulnerable : public CDOTA_Buff { public: - int32_t m_nOverrideAnim; // 0x11e8 + int32_t m_nOverrideAnim; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_DarkWillow_1 : public CDOTABaseAbility { public: @@ -70389,7 +71553,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_DarkWillow_2 : public CDOTABaseAbility { public: @@ -70397,7 +71561,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_DarkWillow_3 : public CDOTABaseAbility { public: @@ -70405,7 +71569,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_DarkWillow_4 : public CDOTABaseAbility { public: @@ -70413,7 +71577,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_DarkWillow_5 : public CDOTABaseAbility { public: @@ -70421,7 +71585,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_DarkWillow_6 : public CDOTABaseAbility { public: @@ -70429,7 +71593,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_DarkWillow_7 : public CDOTABaseAbility { public: @@ -70437,200 +71601,210 @@ public: }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Grimstroke_InkCreature : public CDOTABaseAbility { public: - float spawn_time; // 0x558 + float spawn_time; // 0x568 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Grimstroke_InkCreature_Spawning : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hAttachTarget; // 0x11e8 + CHandle< CBaseEntity > m_hAttachTarget; // 0x12b8 }; // Alignment: 10 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Grimstroke_InkCreature : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - ParticleIndex_t m_nAmbientFXIndex; // 0x11ec - int32_t m_nAttackCount; // 0x11f0 - bool m_bIsLatched; // 0x11f4 + ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nAmbientFXIndex; // 0x12bc + int32_t m_nAttackCount; // 0x12c0 + bool m_bIsLatched; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - CHandle< CBaseEntity > m_hAttachTarget; // 0x11f8 + CHandle< CBaseEntity > m_hAttachTarget; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CountdownTimer m_EnemyVision; // 0x1200 - float latch_duration; // 0x1218 - float speed; // 0x121c - int32_t destroy_attacks; // 0x1220 - int32_t hero_attack_multiplier; // 0x1224 + CountdownTimer m_EnemyVision; // 0x12d0 + float latch_duration; // 0x12e8 + float speed; // 0x12ec + int32_t destroy_attacks; // 0x12f0 + int32_t hero_attack_multiplier; // 0x12f4 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Grimstroke_InkCreature_Debuff : public CDOTA_Buff { public: - float m_flCurrentArmorReduction; // 0x11e8 - CHandle< CBaseEntity > m_hLatchedCreature; // 0x11ec - float tick_interval; // 0x11f0 - int32_t damage_per_second; // 0x11f4 + float m_flCurrentArmorReduction; // 0x12b8 + CHandle< CBaseEntity > m_hLatchedCreature; // 0x12bc + float tick_interval; // 0x12c0 + int32_t damage_per_second; // 0x12c4 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Grimstroke_InkCreature_Latched : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hAttachTarget; // 0x11e8 - float m_fZOffset; // 0x11ec - bool m_bRemovedByEnemy; // 0x11f0 + CHandle< CBaseEntity > m_hAttachTarget; // 0x12b8 + float m_fZOffset; // 0x12bc + bool m_bRemovedByEnemy; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - float latch_duration; // 0x11f4 - int32_t pop_damage; // 0x11f8 - int32_t latched_unit_offset; // 0x11fc - int32_t latched_unit_offset_short; // 0x1200 + float latch_duration; // 0x12c4 + int32_t pop_damage; // 0x12c8 + int32_t latched_unit_offset; // 0x12cc + int32_t latched_unit_offset_short; // 0x12d0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Grimstroke_Scepter : public CDOTABaseAbility { public: // No members available }; -// Alignment: 1 -// Size: 0x560 +// Alignment: 2 +// Size: 0x570 class CDOTA_Ability_Grimstroke_SpiritWalk : public CDOTABaseAbility { public: - float buff_duration; // 0x558 + float buff_duration; // 0x568 + CHandle< CBaseEntity > m_hTarget; // 0x56c }; -// Alignment: 14 -// Size: 0x1220 +// Alignment: 15 +// Size: 0x12f8 class CDOTA_Modifier_Grimstroke_SpiritWalk_Buff : public CDOTA_Buff { public: - GameTime_t m_fStartTime; // 0x11e8 - int32_t m_nHeroTickDamageApplied; // 0x11ec - GameTime_t m_fLastEffectsTime; // 0x11f0 - int32_t radius; // 0x11f4 - float buff_duration; // 0x11f8 - float debuff_duration; // 0x11fc - int32_t max_damage; // 0x1200 - float max_stun; // 0x1204 - int32_t movespeed_bonus_pct; // 0x1208 - int32_t damage_per_tick; // 0x120c - float tick_rate; // 0x1210 - float max_threshold_duration; // 0x1214 - int32_t shard_bonus_damage_pct; // 0x1218 - int32_t shard_heal_pct; // 0x121c -}; - -// Alignment: 17 -// Size: 0x5b8 -class CDOTA_Ability_Grimstroke_DarkArtistry : public CDOTABaseAbility -{ -public: - Vector m_vCastDir; // 0x558 - GameTime_t m_fStartTime; // 0x564 - float m_fTotalTime; // 0x568 - int32_t m_nProjectileID; // 0x56c - Vector m_vProjectileDir; // 0x570 - ParticleIndex_t m_nFXIndex; // 0x57c - ParticleIndex_t m_nFXIndexB; // 0x580 - int32_t m_nTargetsHit; // 0x584 - int32_t m_nHeroesHit; // 0x588 - int32_t m_nVisibleHeroesHit; // 0x58c - float m_fDmgMultiplierTalent; // 0x590 -private: - [[maybe_unused]] uint8_t __pad0594[0x8]; // 0x594 -public: - float slow_duration; // 0x59c - int32_t start_radius; // 0x5a0 - int32_t end_radius; // 0x5a4 - int32_t damage; // 0x5a8 - int32_t bonus_damage_per_target; // 0x5ac - float vision_duration; // 0x5b0 -}; - -// Alignment: 1 -// Size: 0x11f0 -class CDOTA_Modifier_Grimstroke_DarkArtistry_Slow : public CDOTA_Buff -{ -public: - int32_t movement_slow_pct; // 0x11e8 -}; - -// Alignment: 3 -// Size: 0x568 -class CDOTA_Ability_Grimstroke_SoulChain : public CDOTABaseAbility -{ -public: - float chain_duration; // 0x558 - int32_t chain_latch_radius; // 0x55c - float creep_duration_pct; // 0x560 -}; - -// Alignment: 17 -// Size: 0x1230 -class CDOTA_Modifier_Grimstroke_SoulChain : public CDOTA_Buff -{ -public: - CHandle< CBaseEntity > m_hPartner; // 0x11e8 - bool m_bIsPrimary; // 0x11ec - bool m_bEscaped; // 0x11ed - bool m_bTethered; // 0x11ee -private: - [[maybe_unused]] uint8_t __pad11ef[0x1]; // 0x11ef -public: - ParticleIndex_t m_nFXIndex; // 0x11f0 - ParticleIndex_t m_nFXIndexA; // 0x11f4 - ParticleIndex_t m_nFXIndexB; // 0x11f8 - bool m_bStartedLeashSound; // 0x11fc -private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd -public: - float m_fLeashDistance; // 0x1200 - GameTime_t m_fOriginalStartTime; // 0x1204 - ParticleIndex_t m_nOverheadFXIndex; // 0x1208 - int32_t chain_latch_radius; // 0x120c - int32_t chain_break_distance; // 0x1210 - float leash_limit_multiplier; // 0x1214 - float chain_duration; // 0x1218 - float creep_duration_pct; // 0x121c - int32_t bonus_reflected_spell_damage; // 0x1220 -}; - -// Alignment: 7 -// Size: 0x1220 -class CDOTA_Modifier_Grimstroke_SoulChain_ChannelCheck : public CDOTA_Buff -{ -public: - CHandle< CBaseEntity > m_hAbility; // 0x11e8 - CHandle< CBaseEntity > m_hTarget; // 0x11ec - CUtlVector< CHandle< CBaseEntity > > m_hAbilities; // 0x11f0 - Vector m_vLocation; // 0x1208 - GameTime_t m_fChannelEnd; // 0x1214 - bool m_bInterrupt; // 0x1218 - bool m_bExpired; // 0x1219 + GameTime_t m_fStartTime; // 0x12b8 + int32_t m_nHeroTickDamageApplied; // 0x12bc + GameTime_t m_fLastEffectsTime; // 0x12c0 + int32_t radius; // 0x12c4 + float buff_duration; // 0x12c8 + float debuff_duration; // 0x12cc + int32_t max_damage; // 0x12d0 + float max_stun; // 0x12d4 + int32_t movespeed_bonus_pct; // 0x12d8 + int32_t damage_per_tick; // 0x12dc + float tick_rate; // 0x12e0 + float max_threshold_duration; // 0x12e4 + int32_t shard_bonus_damage_pct; // 0x12e8 + int32_t shard_heal_pct; // 0x12ec + bool m_bIsReflection; // 0x12f0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 +class CDOTA_Ability_Grimstroke_Return : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 17 +// Size: 0x5c8 +class CDOTA_Ability_Grimstroke_DarkArtistry : public CDOTABaseAbility +{ +public: + Vector m_vCastDir; // 0x568 + GameTime_t m_fStartTime; // 0x574 + float m_fTotalTime; // 0x578 + int32_t m_nProjectileID; // 0x57c + Vector m_vProjectileDir; // 0x580 + ParticleIndex_t m_nFXIndex; // 0x58c + ParticleIndex_t m_nFXIndexB; // 0x590 + int32_t m_nTargetsHit; // 0x594 + int32_t m_nHeroesHit; // 0x598 + int32_t m_nVisibleHeroesHit; // 0x59c + float m_fDmgMultiplierTalent; // 0x5a0 +private: + [[maybe_unused]] uint8_t __pad05a4[0x8]; // 0x5a4 +public: + float slow_duration; // 0x5ac + int32_t start_radius; // 0x5b0 + int32_t end_radius; // 0x5b4 + int32_t damage; // 0x5b8 + int32_t bonus_damage_per_target; // 0x5bc + float vision_duration; // 0x5c0 +}; + +// Alignment: 1 +// Size: 0x12c0 +class CDOTA_Modifier_Grimstroke_DarkArtistry_Slow : public CDOTA_Buff +{ +public: + int32_t movement_slow_pct; // 0x12b8 +}; + +// Alignment: 3 +// Size: 0x578 +class CDOTA_Ability_Grimstroke_SoulChain : public CDOTABaseAbility +{ +public: + float chain_duration; // 0x568 + int32_t chain_latch_radius; // 0x56c + float creep_duration_pct; // 0x570 +}; + +// Alignment: 17 +// Size: 0x1300 +class CDOTA_Modifier_Grimstroke_SoulChain : public CDOTA_Buff +{ +public: + CHandle< CBaseEntity > m_hPartner; // 0x12b8 + bool m_bIsPrimary; // 0x12bc + bool m_bEscaped; // 0x12bd + bool m_bTethered; // 0x12be +private: + [[maybe_unused]] uint8_t __pad12bf[0x1]; // 0x12bf +public: + ParticleIndex_t m_nFXIndex; // 0x12c0 + ParticleIndex_t m_nFXIndexA; // 0x12c4 + ParticleIndex_t m_nFXIndexB; // 0x12c8 + bool m_bStartedLeashSound; // 0x12cc +private: + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd +public: + float m_fLeashDistance; // 0x12d0 + GameTime_t m_fOriginalStartTime; // 0x12d4 + ParticleIndex_t m_nOverheadFXIndex; // 0x12d8 + int32_t chain_latch_radius; // 0x12dc + int32_t chain_break_distance; // 0x12e0 + float leash_limit_multiplier; // 0x12e4 + float chain_duration; // 0x12e8 + float creep_duration_pct; // 0x12ec + int32_t bonus_reflected_spell_damage; // 0x12f0 +}; + +// Alignment: 7 +// Size: 0x12f0 +class CDOTA_Modifier_Grimstroke_SoulChain_ChannelCheck : public CDOTA_Buff +{ +public: + CHandle< CBaseEntity > m_hAbility; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12bc + CUtlVector< CHandle< CBaseEntity > > m_hAbilities; // 0x12c0 + Vector m_vLocation; // 0x12d8 + GameTime_t m_fChannelEnd; // 0x12e4 + bool m_bInterrupt; // 0x12e8 + bool m_bExpired; // 0x12e9 +}; + +// Alignment: 0 +// Size: 0x568 class CDOTA_Ability_Grimstroke_Dark_Portrait : public CDOTABaseAbility { public: @@ -70638,15 +71812,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Grimstroke_Scepter_Buff : public CDOTA_Modifier_DebuffImmune { public: - int32_t images_movespeed_bonus; // 0x11e8 + int32_t images_movespeed_bonus; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Grimstroke_Ink_Over : public CDOTABaseAbility { public: @@ -70654,18 +71828,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Grimstroke_Shard_Buff : public CDOTA_Buff { public: - int32_t total_damage; // 0x11e8 - int32_t attack_speed; // 0x11ec - int32_t move_speed; // 0x11f0 - float m_flInterval; // 0x11f4 + int32_t total_damage; // 0x12b8 + int32_t attack_speed; // 0x12bc + int32_t move_speed; // 0x12c0 + float m_flInterval; // 0x12c4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_1 : public CDOTABaseAbility { public: @@ -70673,7 +71847,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_2 : public CDOTABaseAbility { public: @@ -70681,7 +71855,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_3 : public CDOTABaseAbility { public: @@ -70689,7 +71863,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_4 : public CDOTABaseAbility { public: @@ -70697,7 +71871,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_5 : public CDOTABaseAbility { public: @@ -70705,7 +71879,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_6 : public CDOTABaseAbility { public: @@ -70713,7 +71887,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_7 : public CDOTABaseAbility { public: @@ -70721,7 +71895,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_8 : public CDOTABaseAbility { public: @@ -70729,58 +71903,58 @@ public: }; // Alignment: 7 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Mars_Spear : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x558 + CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x568 private: - [[maybe_unused]] uint8_t __pad0570[0x8]; // 0x570 + [[maybe_unused]] uint8_t __pad0580[0x8]; // 0x580 public: - int32_t damage; // 0x578 + int32_t damage; // 0x588 private: - [[maybe_unused]] uint8_t __pad057c[0x4]; // 0x57c + [[maybe_unused]] uint8_t __pad058c[0x4]; // 0x58c public: - CUtlVector< CHandle< CBaseEntity > > hImpaledTargetList; // 0x580 - int32_t m_nTargetsImpaled; // 0x598 - int32_t m_nMaxImpaleTargets; // 0x59c - Vector m_vLastTrailThinkerLocation; // 0x5a0 - bool bHasStartedBurning; // 0x5ac + CUtlVector< CHandle< CBaseEntity > > hImpaledTargetList; // 0x590 + int32_t m_nTargetsImpaled; // 0x5a8 + int32_t m_nMaxImpaleTargets; // 0x5ac + Vector m_vLastTrailThinkerLocation; // 0x5b0 + bool bHasStartedBurning; // 0x5bc }; // Alignment: 3 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mars_Spear_Impale : public CDOTA_Buff { public: - int32_t m_nProjectileHandle; // 0x11e8 - bool m_bLatched; // 0x11ec - bool m_bHitArenaOfBlood; // 0x11ed + int32_t m_nProjectileHandle; // 0x12b8 + bool m_bLatched; // 0x12bc + bool m_bHitArenaOfBlood; // 0x12bd }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Special_Mars_Spear_Burning_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x11e8 - int32_t shard_trail_radius; // 0x11f4 - float shard_debuff_linger_duration; // 0x11f8 - float shard_interval; // 0x11fc + Vector m_vPathDir; // 0x12b8 + int32_t shard_trail_radius; // 0x12c4 + float shard_debuff_linger_duration; // 0x12c8 + float shard_interval; // 0x12cc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Mars_Spear_Burning_Trail_Burn : public CDOTA_Buff { public: - int32_t shard_dps; // 0x11e8 - int32_t shard_move_slow_pct; // 0x11ec - float shard_interval; // 0x11f0 + int32_t shard_dps; // 0x12b8 + int32_t shard_move_slow_pct; // 0x12bc + float shard_interval; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mars_Spear_Stun : public CDOTA_Modifier_Stunned { public: @@ -70788,7 +71962,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Mars_ArenaOfBlood : public CDOTABaseAbility { public: @@ -70796,31 +71970,31 @@ public: }; // Alignment: 6 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Mars_ArenaOfBlood_Thinker : public CDOTA_Buff { public: - float radius; // 0x11e8 - float formation_time; // 0x11ec - float m_flInitialZ; // 0x11f0 - float m_flFinalZ; // 0x11f4 + float radius; // 0x12b8 + float formation_time; // 0x12bc + float m_flInitialZ; // 0x12c0 + float m_flFinalZ; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f8[0x10]; // 0x11f8 + [[maybe_unused]] uint8_t __pad12c8[0x10]; // 0x12c8 public: - bool m_bCaughtOne; // 0x1208 - bool m_bKilledOne; // 0x1209 + bool m_bCaughtOne; // 0x12d8 + bool m_bKilledOne; // 0x12d9 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mars_ArenaOfBlood_AnimationAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mars_ArenaOfBlood_Animation : public CDOTA_Buff { public: @@ -70828,43 +72002,43 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mars_ArenaOfBlood_BuffAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mars_ArenaOfBlood_Buff : public CDOTA_Buff { public: - int32_t health_regen; // 0x11e8 + int32_t health_regen; // 0x12b8 }; // Alignment: 7 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_Mars_ArenaOfBlood : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t width; // 0x11ec - int32_t spear_damage; // 0x11f0 - int32_t spear_distance_from_wall; // 0x11f4 - float spear_attack_interval; // 0x11f8 + int32_t radius; // 0x12b8 + int32_t width; // 0x12bc + int32_t spear_damage; // 0x12c0 + int32_t spear_distance_from_wall; // 0x12c4 + float spear_attack_interval; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x34]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x34]; // 0x12cc public: - int32_t m_hObstruction; // 0x1230 + int32_t m_hObstruction; // 0x1300 private: - [[maybe_unused]] uint8_t __pad1234[0x4]; // 0x1234 + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 public: - CUtlVector< Vector > m_vecAvoidLocations; // 0x1238 + CUtlVector< Vector > m_vecAvoidLocations; // 0x1308 }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Mars_ArenaOfBlood_Spear : public CDOTA_Modifier_Knockback { public: @@ -70872,17 +72046,17 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Mars_ArenaOfBlood_Leash : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float width; // 0x11ec - Vector m_vOriginLoc; // 0x11f0 + int32_t radius; // 0x12b8 + float width; // 0x12bc + Vector m_vOriginLoc; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mars_ArenaOfBlood_Marker : public CDOTA_Buff { public: @@ -70890,65 +72064,71 @@ public: }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Mars_Bulwark : public CDOTABaseAbility { public: - GameTime_t m_flNextAttack; // 0x558 - GameTime_t m_flLastActive; // 0x55c + GameTime_t m_flNextAttack; // 0x568 + GameTime_t m_flLastActive; // 0x56c }; // Alignment: 5 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Mars_Bulwark : public CDOTA_Buff { public: - float physical_damage_reduction; // 0x11e8 - float physical_damage_reduction_side; // 0x11ec - float forward_angle; // 0x11f0 - float side_angle; // 0x11f4 + float physical_damage_reduction; // 0x12b8 + float physical_damage_reduction_side; // 0x12bc + float forward_angle; // 0x12c0 + float side_angle; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f8[0x18]; // 0x11f8 + [[maybe_unused]] uint8_t __pad12c8[0x18]; // 0x12c8 public: - float m_flRecentDamage; // 0x1210 + float m_flRecentDamage; // 0x12e0 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Mars_Bulwark_Active : public CDOTA_Buff { public: - int32_t redirect_chance; // 0x11e8 - int32_t redirect_range; // 0x11ec - float forward_angle; // 0x11f0 - float side_angle; // 0x11f4 - int32_t redirect_speed_penatly; // 0x11f8 - int32_t redirect_close_range; // 0x11fc + int32_t redirect_chance; // 0x12b8 + int32_t redirect_range; // 0x12bc + float forward_angle; // 0x12c0 + float side_angle; // 0x12c4 + int32_t redirect_speed_penatly; // 0x12c8 + int32_t redirect_close_range; // 0x12cc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mars_Bulwark_Soldier_Bonus : public CDOTA_Buff { public: // No members available }; -// Alignment: 6 -// Size: 0x1200 +// Alignment: 9 +// Size: 0x1300 class CDOTA_Modifier_Mars_Bulwark_Soldier_Thinker : public CDOTA_Buff { public: - GameTime_t m_NextAttack; // 0x11e8 - CHandle< CBaseEntity > m_hSoldier1; // 0x11ec - CHandle< CBaseEntity > m_hSoldier2; // 0x11f0 - CHandle< CBaseEntity > m_hSoldier3; // 0x11f4 - CHandle< CBaseEntity > m_hSoldier4; // 0x11f8 - CHandle< CBaseEntity > m_hSoldier5; // 0x11fc + GameTime_t m_NextAttack; // 0x12b8 + int32_t soldier_offset; // 0x12bc + int32_t soldier_count; // 0x12c0 + int32_t forward_angle; // 0x12c4 + int32_t knockback_distance; // 0x12c8 +private: + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc +public: + CUtlVector< CHandle< CBaseEntity > > m_hAllSoldiers; // 0x12d0 + GameTime_t m_flLastStationaryTime; // 0x12e8 + Vector m_vLastStationaryPosition; // 0x12ec + float stationary_attack_delay; // 0x12f8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mars_Scepter_Damage_Tracker : public CDOTA_Buff { public: @@ -70956,23 +72136,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mars_Scepter_Damage_Slow : public CDOTA_Buff { public: - int32_t scepter_movement_slow_pct; // 0x11e8 + int32_t scepter_movement_slow_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mars_Scepter_Damage : public CDOTA_Buff { public: - int32_t scepter_bonus_damage; // 0x11e8 + int32_t scepter_bonus_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Mars_GodsRebuke : public CDOTABaseAbility { public: @@ -70980,23 +72160,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mars_Gods_Rebuke : public CDOTA_Buff { public: - int32_t knockback_slow; // 0x11e8 + int32_t knockback_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mars_GodsRebuke_Crit : public CDOTA_Buff { public: - int32_t crit_mult; // 0x11e8 + int32_t crit_mult; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_MarsSpearStunDuration : public CDOTABaseAbility { public: @@ -71004,7 +72184,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_ArenaOfBloodHPRegen : public CDOTABaseAbility { public: @@ -71012,7 +72192,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_SpearBonusDamage : public CDOTABaseAbility { public: @@ -71020,7 +72200,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_GodsRebuke_ExtraCrit : public CDOTABaseAbility { public: @@ -71028,7 +72208,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_SpearCooldown : public CDOTABaseAbility { public: @@ -71036,7 +72216,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_RebukeCooldown : public CDOTABaseAbility { public: @@ -71044,7 +72224,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_GodsRebuke_Slow : public CDOTABaseAbility { public: @@ -71052,7 +72232,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bulwark_Speed : public CDOTABaseAbility { public: @@ -71060,7 +72240,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Bulwark_DamageReduction : public CDOTABaseAbility { public: @@ -71068,52 +72248,52 @@ public: }; // Alignment: 4 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Snapfire_MortimerKisses : public CDOTABaseAbility { public: - int32_t m_nDamagePerProjectile; // 0x558 - int32_t damage_per_impact; // 0x55c - int32_t impact_radius; // 0x560 - int32_t projectile_vision; // 0x564 + int32_t m_nDamagePerProjectile; // 0x568 + int32_t damage_per_impact; // 0x56c + int32_t impact_radius; // 0x570 + int32_t projectile_vision; // 0x574 }; // Alignment: 21 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_Snapfire_MortimerKisses : public CDOTA_Buff { public: - float m_fIntervalPerRocket; // 0x11e8 - float m_flFacingTarget; // 0x11ec - ParticleIndex_t m_nBeamFXIndex; // 0x11f0 - CHandle< CBaseEntity > m_hBeamEnd; // 0x11f4 - float m_flCurDistance; // 0x11f8 - Vector m_vAimTarget; // 0x11fc - float m_fLastTurnAmount; // 0x1208 - int32_t m_nProjectilesLaunched; // 0x120c - bool m_bDestroyOnNextThink; // 0x1210 + float m_fIntervalPerRocket; // 0x12b8 + float m_flFacingTarget; // 0x12bc + ParticleIndex_t m_nBeamFXIndex; // 0x12c0 + CHandle< CBaseEntity > m_hBeamEnd; // 0x12c4 + float m_flCurDistance; // 0x12c8 + Vector m_vAimTarget; // 0x12cc + float m_fLastTurnAmount; // 0x12d8 + int32_t m_nProjectilesLaunched; // 0x12dc + bool m_bDestroyOnNextThink; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t m_nProjectilesToLaunch; // 0x1214 - bool m_bHasProjectileTalent; // 0x1218 + int32_t m_nProjectilesToLaunch; // 0x12e4 + bool m_bHasProjectileTalent; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1219[0xb]; // 0x1219 + [[maybe_unused]] uint8_t __pad12e9[0xb]; // 0x12e9 public: - int32_t projectile_count; // 0x1224 - int32_t projectile_speed; // 0x1228 - int32_t projectile_width; // 0x122c - int32_t projectile_vision; // 0x1230 - float turn_rate; // 0x1234 - int32_t min_range; // 0x1238 - int32_t impact_radius; // 0x123c - float min_lob_travel_time; // 0x1240 - float max_lob_travel_time; // 0x1244 - float delay_after_last_projectile; // 0x1248 + int32_t projectile_count; // 0x12f4 + int32_t projectile_speed; // 0x12f8 + int32_t projectile_width; // 0x12fc + int32_t projectile_vision; // 0x1300 + float turn_rate; // 0x1304 + int32_t min_range; // 0x1308 + int32_t impact_radius; // 0x130c + float min_lob_travel_time; // 0x1310 + float max_lob_travel_time; // 0x1314 + float delay_after_last_projectile; // 0x1318 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Snapfire_MortimerKisses_VisionSource : public CDOTA_Buff { public: @@ -71121,56 +72301,56 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Snapfire_Magma_Thinker : public CDOTA_Buff { public: - float burn_interval; // 0x11e8 - int32_t impact_radius; // 0x11ec - int32_t move_slow_pct; // 0x11f0 - float burn_linger_duration; // 0x11f4 - ParticleIndex_t m_nPathEffectIndex; // 0x11f8 + float burn_interval; // 0x12b8 + int32_t impact_radius; // 0x12bc + int32_t move_slow_pct; // 0x12c0 + float burn_linger_duration; // 0x12c4 + ParticleIndex_t m_nPathEffectIndex; // 0x12c8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Snapfire_Magma_Burn_Slow : public CDOTA_Buff { public: - int32_t m_nMoveSlowPct; // 0x11e8 - float m_fBurnDamagePerTick; // 0x11ec - int32_t move_slow_pct; // 0x11f0 - float burn_interval; // 0x11f4 - int32_t burn_damage; // 0x11f8 + int32_t m_nMoveSlowPct; // 0x12b8 + float m_fBurnDamagePerTick; // 0x12bc + int32_t move_slow_pct; // 0x12c0 + float burn_interval; // 0x12c4 + int32_t burn_damage; // 0x12c8 }; // Alignment: 5 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Snapfire_Scatterblast : public CDOTABaseAbility { public: - int32_t damage; // 0x558 - float debuff_duration; // 0x55c - int32_t point_blank_range; // 0x560 - float point_blank_dmg_bonus_pct; // 0x564 - int32_t blast_width_end; // 0x568 + int32_t damage; // 0x568 + float debuff_duration; // 0x56c + int32_t point_blank_range; // 0x570 + float point_blank_dmg_bonus_pct; // 0x574 + int32_t blast_width_end; // 0x578 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Snapfire_Scatterblast_Slow : public CDOTA_Buff { public: - bool m_bIsPointBlank; // 0x11e8 + bool m_bIsPointBlank; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t movement_slow_pct; // 0x11ec - int32_t attack_slow_pct; // 0x11f0 + int32_t movement_slow_pct; // 0x12bc + int32_t attack_slow_pct; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Snapfire_Scatterblast_Disarm : public CDOTA_Buff { public: @@ -71178,49 +72358,49 @@ public: }; // Alignment: 4 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Snapfire_FiresnapCookie : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hTarget; // 0x558 + CHandle< CBaseEntity > m_hTarget; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0x8]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0x8]; // 0x56c public: - int32_t projectile_speed; // 0x564 - float pre_hop_duration; // 0x568 - float cast_on_ally_gesture_time; // 0x56c + int32_t projectile_speed; // 0x574 + float pre_hop_duration; // 0x578 + float cast_on_ally_gesture_time; // 0x57c }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Snapfire_FiresnapCookie_PreHop : public CDOTA_Buff { public: - float jump_duration; // 0x11e8 + float jump_duration; // 0x12b8 }; // Alignment: 13 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Snapfire_FiresnapCookie_ShortHop : public CDOTA_Buff { public: - float jump_duration; // 0x11e8 - int32_t jump_height; // 0x11ec - int32_t jump_horizontal_distance; // 0x11f0 - float pre_land_anim_time; // 0x11f4 - float landing_gesture_duration; // 0x11f8 - int32_t impact_radius; // 0x11fc - int32_t impact_damage; // 0x1200 - float impact_stun_duration; // 0x1204 - float m_flStartZ; // 0x1208 - float m_flCurTime; // 0x120c - float m_flJumpDuration; // 0x1210 - float m_flJumpHeight; // 0x1214 - Vector m_vTargetHorizontalDirection; // 0x1218 + float jump_duration; // 0x12b8 + int32_t jump_height; // 0x12bc + int32_t jump_horizontal_distance; // 0x12c0 + float pre_land_anim_time; // 0x12c4 + float landing_gesture_duration; // 0x12c8 + int32_t impact_radius; // 0x12cc + int32_t impact_damage; // 0x12d0 + float impact_stun_duration; // 0x12d4 + float m_flStartZ; // 0x12d8 + float m_flCurTime; // 0x12dc + float m_flJumpDuration; // 0x12e0 + float m_flJumpHeight; // 0x12e4 + Vector m_vTargetHorizontalDirection; // 0x12e8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Snapfire_FiresnapCookie_AllyFlailAnim : public CDOTA_Buff { public: @@ -71228,7 +72408,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Snapfire_FiresnapCookie_LandingGesture : public CDOTA_Buff { public: @@ -71236,7 +72416,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Snapfire_LilShredder : public CDOTABaseAbility { public: @@ -71244,53 +72424,61 @@ public: }; // Alignment: 9 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Snapfire_LilShredder_Buff : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 - int32_t m_nIsActive; // 0x1208 - bool m_bHasAttackTalent; // 0x120c - bool m_bBonusAttack; // 0x120d + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + int32_t m_nIsActive; // 0x12d8 + bool m_bHasAttackTalent; // 0x12dc + bool m_bBonusAttack; // 0x12dd private: - [[maybe_unused]] uint8_t __pad120e[0x2]; // 0x120e + [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de public: - int32_t attack_range_bonus; // 0x1210 - int32_t buffed_attacks; // 0x1214 - float base_attack_time; // 0x1218 - int32_t attack_speed_bonus; // 0x121c - float armor_duration; // 0x1220 + int32_t attack_range_bonus; // 0x12e0 + int32_t buffed_attacks; // 0x12e4 + float base_attack_time; // 0x12e8 + int32_t attack_speed_bonus; // 0x12ec + float armor_duration; // 0x12f0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 +class CDOTA_Modifier_Snapfire_LilShredder_Attack_Reduction : public CDOTA_Buff +{ +public: + int32_t damage_pct; // 0x12b8 +}; + +// Alignment: 1 +// Size: 0x12c0 class CDOTA_Modifier_Snapfire_LilShredder_Attack : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 + int32_t damage; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Snapfire_LilShredder_Debuff : public CDOTA_Buff { public: - float armor_reduction_per_attack; // 0x11e8 + float armor_reduction_per_attack; // 0x12b8 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Snapfire_GobbleUp : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hGobbledUnit; // 0x558 - float max_time_in_belly; // 0x55c + CHandle< CBaseEntity > m_hGobbledUnit; // 0x568 + float max_time_in_belly; // 0x56c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Snapfire_GobbleUp_Creep : public CDOTA_Buff { public: @@ -71298,64 +72486,64 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Snapfire_GobbleUp_BellyHasUnit : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hGobbledUnit; // 0x11e8 - PlayerID_t m_nOriginalControllingUnit; // 0x11ec - bool m_bUnitWasLaunched; // 0x11f0 + CHandle< CBaseEntity > m_hGobbledUnit; // 0x12b8 + PlayerID_t m_nOriginalControllingUnit; // 0x12bc + bool m_bUnitWasLaunched; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - float max_time_in_belly; // 0x11f4 + float max_time_in_belly; // 0x12c4 }; // Alignment: 3 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Snapfire_SpitCreep : public CDOTABaseAbility { public: - int32_t m_nDamagePerProjectile; // 0x558 - CHandle< CBaseEntity > m_hGobbledUnit; // 0x55c - int32_t m_nProjectileID; // 0x560 + int32_t m_nDamagePerProjectile; // 0x568 + CHandle< CBaseEntity > m_hGobbledUnit; // 0x56c + int32_t m_nProjectileID; // 0x570 }; // Alignment: 23 -// Size: 0x1258 +// Size: 0x1328 class CDOTA_Modifier_Snapfire_SpitCreep_ArcingUnit : public CDOTA_Buff { public: - float m_flPredictedTotalTime; // 0x11e8 - Vector m_vStartPosition; // 0x11ec - float m_flCurrentTimeHoriz; // 0x11f8 - float m_flCurrentTimeVert; // 0x11fc - bool m_bHorizontalMotionInterrupted; // 0x1200 - bool m_bDamageApplied; // 0x1201 - bool m_bTargetTeleported; // 0x1202 + float m_flPredictedTotalTime; // 0x12b8 + Vector m_vStartPosition; // 0x12bc + float m_flCurrentTimeHoriz; // 0x12c8 + float m_flCurrentTimeVert; // 0x12cc + bool m_bHorizontalMotionInterrupted; // 0x12d0 + bool m_bDamageApplied; // 0x12d1 + bool m_bTargetTeleported; // 0x12d2 private: - [[maybe_unused]] uint8_t __pad1203[0x1]; // 0x1203 + [[maybe_unused]] uint8_t __pad12d3[0x1]; // 0x12d3 public: - Vector m_vHorizontalVelocity; // 0x1204 - Vector m_vLastKnownTargetPosition; // 0x1210 - float m_flInitialVelocityZ; // 0x121c - float m_fClampedProjectileSpeed; // 0x1220 - ParticleIndex_t m_nFXIndex; // 0x1224 - float m_fAcceleration; // 0x1228 - int32_t min_range; // 0x122c - float min_lob_travel_time; // 0x1230 - float max_lob_travel_time; // 0x1234 - int32_t impact_radius; // 0x1238 - int32_t projectile_vision; // 0x123c - float stun_duration; // 0x1240 - float min_height_above_lowest; // 0x1244 - float min_height_above_highest; // 0x1248 - float min_acceleration; // 0x124c - float max_acceleration; // 0x1250 + Vector m_vHorizontalVelocity; // 0x12d4 + Vector m_vLastKnownTargetPosition; // 0x12e0 + float m_flInitialVelocityZ; // 0x12ec + float m_fClampedProjectileSpeed; // 0x12f0 + ParticleIndex_t m_nFXIndex; // 0x12f4 + float m_fAcceleration; // 0x12f8 + int32_t min_range; // 0x12fc + float min_lob_travel_time; // 0x1300 + float max_lob_travel_time; // 0x1304 + int32_t impact_radius; // 0x1308 + int32_t projectile_vision; // 0x130c + float stun_duration; // 0x1310 + float min_height_above_lowest; // 0x1314 + float min_height_above_highest; // 0x1318 + float min_acceleration; // 0x131c + float max_acceleration; // 0x1320 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_1 : public CDOTABaseAbility { public: @@ -71363,7 +72551,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_2 : public CDOTABaseAbility { public: @@ -71371,7 +72559,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_3 : public CDOTABaseAbility { public: @@ -71379,7 +72567,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_4 : public CDOTABaseAbility { public: @@ -71387,7 +72575,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_5 : public CDOTABaseAbility { public: @@ -71395,7 +72583,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_6 : public CDOTABaseAbility { public: @@ -71403,7 +72591,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_7 : public CDOTABaseAbility { public: @@ -71411,7 +72599,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_8 : public CDOTABaseAbility { public: @@ -71419,96 +72607,108 @@ public: }; // Alignment: 7 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_Ability_VoidSpirit_AetherRemnant : public CDOTABaseAbility { public: - int32_t start_radius; // 0x558 - int32_t end_radius; // 0x55c - int32_t remnant_watch_distance; // 0x560 - int32_t projectile_speed; // 0x564 + int32_t start_radius; // 0x568 + int32_t end_radius; // 0x56c + int32_t remnant_watch_distance; // 0x570 + int32_t projectile_speed; // 0x574 private: - [[maybe_unused]] uint8_t __pad0568[0x8]; // 0x568 + [[maybe_unused]] uint8_t __pad0578[0x8]; // 0x578 public: - Vector m_vDashPosition; // 0x570 - Vector m_vFacePosition; // 0x57c - Vector m_vEndpoint; // 0x588 + Vector m_vDashPosition; // 0x580 + Vector m_vFacePosition; // 0x58c + Vector m_vEndpoint; // 0x598 }; // Alignment: 13 -// Size: 0x1268 +// Size: 0x1338 class CDOTA_Modifier_VoidSpirit_AetherRemnant_Unit : public CDOTA_Buff { public: - Vector m_vFacingDir; // 0x11e8 + Vector m_vFacingDir; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< CHandle< CBaseEntity > > m_hWatchPathThinkers; // 0x11f8 - ParticleIndex_t m_nBeamFXIndex; // 0x1210 + CUtlVector< CHandle< CBaseEntity > > m_hWatchPathThinkers; // 0x12c8 + ParticleIndex_t m_nBeamFXIndex; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< int32 > m_nViewerIDs; // 0x1218 - int32_t remnant_watch_distance; // 0x1230 - int32_t remnant_watch_radius; // 0x1234 - float duration; // 0x1238 - int32_t watch_path_vision_radius; // 0x123c - int32_t impact_damage; // 0x1240 - float pull_duration; // 0x1244 - float activation_delay; // 0x1248 - bool m_bPiercesCreeps; // 0x124c + CUtlVector< int32 > m_nViewerIDs; // 0x12e8 + int32_t remnant_watch_distance; // 0x1300 + int32_t remnant_watch_radius; // 0x1304 + float duration; // 0x1308 + int32_t watch_path_vision_radius; // 0x130c + int32_t impact_damage; // 0x1310 + float pull_duration; // 0x1314 + float activation_delay; // 0x1318 + bool m_bPiercesCreeps; // 0x131c private: - [[maybe_unused]] uint8_t __pad124d[0x3]; // 0x124d + [[maybe_unused]] uint8_t __pad131d[0x3]; // 0x131d public: - CUtlVector< CHandle< CBaseEntity > > m_hAlreadyHit; // 0x1250 + CUtlVector< CHandle< CBaseEntity > > m_hAlreadyHit; // 0x1320 }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 5 +// Size: 0x12d0 class CDOTA_Modifier_VoidSpirit_AetherRemnant_WatchThinker : public CDOTA_Buff { public: - int32_t remnant_watch_radius; // 0x11e8 + int32_t remnant_watch_radius; // 0x12b8 + GameTime_t m_flLastDamageTick; // 0x12bc + float damage_tick_rate; // 0x12c0 + float flDamage; // 0x12c4 + bool m_bPiercesCreeps; // 0x12c8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_VoidSpirit_AetherRemnant_Pull : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - PlayerID_t m_nPlayerID; // 0x11ec - float m_fMovementSpeed; // 0x11f0 - CHandle< CDOTA_BaseNPC > m_hPullTarget; // 0x11f4 - float think_interval; // 0x11f8 + ParticleIndex_t m_nFXIndex; // 0x12b8 + PlayerID_t m_nPlayerID; // 0x12bc + float m_fMovementSpeed; // 0x12c0 + CHandle< CDOTA_BaseNPC > m_hPullTarget; // 0x12c4 + float think_interval; // 0x12c8 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_VoidSpirit_AetherRemnantThinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - Vector m_vFacingDir; // 0x11ec - CHandle< CBaseEntity > m_hRemnant; // 0x11f8 - bool m_bTriggered; // 0x11fc + int32_t radius; // 0x12b8 + Vector m_vFacingDir; // 0x12bc + CHandle< CBaseEntity > m_hRemnant; // 0x12c8 + bool m_bTriggered; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float m_flCurThink; // 0x1200 + float m_flCurThink; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VoidSpirit_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x11e8 + int32_t m_nRadius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 +class CDOTA_Modifier_VoidSpirit_AetherRemnantCreepDamage : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12b8 class CDOTA_Modifier_VoidSpirit_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -71516,136 +72716,137 @@ public: }; // Alignment: 8 -// Size: 0x590 +// Size: 0x5a0 class CDOTA_Ability_VoidSpirit_AstralStep : public CDOTABaseAbility { public: - Vector m_vStartPos; // 0x558 - Vector m_vDestination; // 0x564 - Vector m_vDirection; // 0x570 - int32_t radius; // 0x57c - int32_t min_travel_distance; // 0x580 - int32_t max_travel_distance; // 0x584 - float debuff_duration; // 0x588 - float pop_damage_delay; // 0x58c + Vector m_vStartPos; // 0x568 + Vector m_vDestination; // 0x574 + Vector m_vDirection; // 0x580 + int32_t radius; // 0x58c + int32_t min_travel_distance; // 0x590 + int32_t max_travel_distance; // 0x594 + float debuff_duration; // 0x598 + float pop_damage_delay; // 0x59c }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_VoidSpirit_AstralStep_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x11e8 - int32_t movement_slow_pct; // 0x11ec - int32_t pop_damage; // 0x11f0 + ParticleIndex_t m_nFXStackIndex; // 0x12b8 + int32_t movement_slow_pct; // 0x12bc + int32_t pop_damage; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_VoidSpirit_AstralStep_Caster : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_VoidSpirit_AstralStep_Intrinsic : public CDOTA_Buff { public: - int32_t ability_chance_pct; // 0x11e8 - int32_t attack_chance_pct; // 0x11ec - float pop_damage_delay; // 0x11f0 + int32_t ability_chance_pct; // 0x12b8 + int32_t attack_chance_pct; // 0x12bc + float pop_damage_delay; // 0x12c0 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_VoidSpirit_Dissimilate : public CDOTABaseAbility { public: - float phase_duration; // 0x558 + float phase_duration; // 0x568 }; // Alignment: 19 -// Size: 0x1288 +// Size: 0x1358 class CDOTA_Modifier_VoidSpirit_Dissimilate_Phase : public CDOTA_Buff { public: - Vector m_vFirstPortalPos; // 0x11e8 + Vector m_vFirstPortalPos; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< Vector > m_vecDestinations; // 0x11f8 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x1210 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1228 - int32_t m_nCurrentDestinationIndex; // 0x1240 - int32_t m_nClosestIndexPosToClick; // 0x1244 - int32_t m_nPortalHeightOffset; // 0x1248 + CUtlVector< Vector > m_vecDestinations; // 0x12c8 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x12e0 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x12f8 + int32_t m_nCurrentDestinationIndex; // 0x1310 + int32_t m_nClosestIndexPosToClick; // 0x1314 + int32_t m_nPortalHeightOffset; // 0x1318 private: - [[maybe_unused]] uint8_t __pad124c[0x4]; // 0x124c + [[maybe_unused]] uint8_t __pad131c[0x4]; // 0x131c public: - char* m_szAlliesPortalFX; // 0x1250 - char* m_szEnemiesPortalFX; // 0x1258 - int32_t m_nPortalRadius; // 0x1260 - int32_t m_nPortalPadding; // 0x1264 - int32_t m_nFinalImpactDamageRadius; // 0x1268 - int32_t m_nFinalImpactFXRadius; // 0x126c - int32_t destination_fx_radius; // 0x1270 - int32_t damage_radius; // 0x1274 - int32_t portals_per_ring; // 0x1278 - int32_t angle_per_ring_portal; // 0x127c - int32_t first_ring_distance_offset; // 0x1280 - float debuff_duration; // 0x1284 + char* m_szAlliesPortalFX; // 0x1320 + char* m_szEnemiesPortalFX; // 0x1328 + int32_t m_nPortalRadius; // 0x1330 + int32_t m_nPortalPadding; // 0x1334 + int32_t m_nFinalImpactDamageRadius; // 0x1338 + int32_t m_nFinalImpactFXRadius; // 0x133c + int32_t destination_fx_radius; // 0x1340 + int32_t damage_radius; // 0x1344 + int32_t portals_per_ring; // 0x1348 + int32_t angle_per_ring_portal; // 0x134c + int32_t first_ring_distance_offset; // 0x1350 + float debuff_duration; // 0x1354 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_VoidSpirit_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: // No members available }; -// Alignment: 2 -// Size: 0x11f8 +// Alignment: 3 +// Size: 0x12d0 class CDOTA_Modifier_VoidSpirit_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: - int32_t base_absorb_amount; // 0x11e8 - int32_t m_nAbsorbRemaining; // 0x11ec + int32_t base_absorb_amount; // 0x12b8 + int32_t m_nAbsorbRemaining; // 0x12bc + int32_t m_nMaxAbsorb; // 0x12c0 }; // Alignment: 4 -// Size: 0x568 +// Size: 0x578 class CDOTA_Ability_VoidSpirit_ResonantPulse : public CDOTABaseAbility { public: - bool m_bGrantedScepterCharges; // 0x558 + bool m_bGrantedScepterCharges; // 0x568 private: - [[maybe_unused]] uint8_t __pad0559[0x3]; // 0x559 + [[maybe_unused]] uint8_t __pad0569[0x3]; // 0x569 public: - float buff_duration; // 0x55c - int32_t base_absorb_amount; // 0x560 - int32_t absorb_per_hero_hit; // 0x564 + float buff_duration; // 0x56c + int32_t base_absorb_amount; // 0x570 + int32_t absorb_per_hero_hit; // 0x574 }; // Alignment: 8 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_VoidSpirit_ResonantPulse_Ring : public CDOTA_Buff { public: - float m_fLastRadius; // 0x11e8 - float m_fCurRadius; // 0x11ec - GameTime_t m_fLastThink; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x11f8 - int32_t speed; // 0x1210 - int32_t radius; // 0x1214 - int32_t damage; // 0x1218 + float m_fLastRadius; // 0x12b8 + float m_fCurRadius; // 0x12bc + GameTime_t m_fLastThink; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12c8 + int32_t speed; // 0x12e0 + int32_t radius; // 0x12e4 + int32_t damage; // 0x12e8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_1 : public CDOTABaseAbility { public: @@ -71653,7 +72854,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_2 : public CDOTABaseAbility { public: @@ -71661,7 +72862,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_3 : public CDOTABaseAbility { public: @@ -71669,7 +72870,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_4 : public CDOTABaseAbility { public: @@ -71677,7 +72878,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_5 : public CDOTABaseAbility { public: @@ -71685,7 +72886,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_6 : public CDOTABaseAbility { public: @@ -71693,7 +72894,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_7 : public CDOTABaseAbility { public: @@ -71701,7 +72902,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_8 : public CDOTABaseAbility { public: @@ -71709,100 +72910,101 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_9 : public CDOTABaseAbility { public: // No members available }; -// Alignment: 5 -// Size: 0x590 +// Alignment: 6 +// Size: 0x5a0 class CDOTA_Ability_Hoodwink_AcornShot : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x20]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x20]; // 0x568 public: // MNetworkEnable - uint32_t m_nAcornTree; // 0x578 - float projectile_speed; // 0x57c - float bounce_delay; // 0x580 - int32_t bounce_range; // 0x584 - int32_t bounce_count; // 0x588 + uint32_t m_nAcornTree; // 0x588 + float projectile_speed; // 0x58c + float bounce_delay; // 0x590 + int32_t bounce_range; // 0x594 + int32_t bounce_count; // 0x598 + bool m_bIsAltCastState; // 0x59c }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hoodwink_AcornShot_DelayThinker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - int32_t m_nSourceProjectileHandle; // 0x11ec + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + int32_t m_nSourceProjectileHandle; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hoodwink_AcornShot_TreeThinker : public CDOTA_Buff { public: - CHandle< CDOTA_TempTree > m_hTree; // 0x11e8 - int32_t fow_viewer; // 0x11ec + CHandle< CDOTA_TempTree > m_hTree; // 0x12b8 + int32_t fow_viewer; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hoodwink_AcornShot_BonusDamage : public CDOTA_Buff { public: - int32_t acorn_shot_damage; // 0x11e8 - int32_t base_damage_pct; // 0x11ec + int32_t acorn_shot_damage; // 0x12b8 + int32_t base_damage_pct; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hoodwink_AcornShot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 3 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_Hoodwink_Bushwhack : public CDOTABaseAbility { public: - int32_t trap_radius; // 0x558 - int32_t m_nProjectileHandle; // 0x55c - ParticleIndex_t m_nFXIndex; // 0x560 + int32_t trap_radius; // 0x568 + int32_t m_nProjectileHandle; // 0x56c + ParticleIndex_t m_nFXIndex; // 0x570 }; // Alignment: 12 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Hoodwink_Bushwhack_Trap : public CDOTA_Buff { public: - int32_t visual_height; // 0x11e8 - float animation_rate; // 0x11ec - ParticleIndex_t m_iIndex; // 0x11f0 - bool m_bPullComplete; // 0x11f4 + int32_t visual_height; // 0x12b8 + float animation_rate; // 0x12bc + ParticleIndex_t m_iIndex; // 0x12c0 + bool m_bPullComplete; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - uint32_t m_TreeId; // 0x11f8 - float m_flDamagePerTick; // 0x11fc - int32_t m_nDamageTicks; // 0x1200 - GameTime_t m_flLastTick; // 0x1204 - CHandle< CDOTA_TempTree > m_hTree; // 0x1208 + uint32_t m_TreeId; // 0x12c8 + float m_flDamagePerTick; // 0x12cc + int32_t m_nDamageTicks; // 0x12d0 + GameTime_t m_flLastTick; // 0x12d4 + CHandle< CDOTA_TempTree > m_hTree; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CDOTA_Tree* m_pTree; // 0x1210 - Vector m_vPullPosition; // 0x1218 - Vector m_vDir; // 0x1224 + CDOTA_Tree* m_pTree; // 0x12e0 + Vector m_vPullPosition; // 0x12e8 + Vector m_vDir; // 0x12f4 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Hoodwink_Scurry : public CDOTABaseAbility { public: @@ -71810,68 +73012,70 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_Scurry_Passive : public CDOTA_Buff { public: - int32_t evasion; // 0x11e8 - int32_t radius; // 0x11ec - int32_t bonus_active_evasion; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 + int32_t evasion; // 0x12b8 + int32_t radius; // 0x12bc + int32_t bonus_active_evasion; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 4 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_Scurry_Active : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x11e8 - float m_flTreeDuration; // 0x11ec + int32_t movement_speed_pct; // 0x12b8 + int32_t attack_range; // 0x12bc + int32_t cast_range; // 0x12c0 + float m_flTreeDuration; // 0x12c4 }; // Alignment: 10 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Hoodwink_Sharpshooter_Windup : public CDOTA_Buff { public: - bool m_bReachedMax; // 0x11e8 + bool m_bReachedMax; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - float m_flLastOverheadTime; // 0x11ec - float m_flFacingTarget; // 0x11f0 - Vector m_vAimTarget; // 0x11f4 - ParticleIndex_t m_nCrosshairFX; // 0x1200 + float m_flLastOverheadTime; // 0x12bc + float m_flFacingTarget; // 0x12c0 + Vector m_vAimTarget; // 0x12c4 + ParticleIndex_t m_nCrosshairFX; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< CBaseEntity > > m_vecVisionThinkers; // 0x1208 - int32_t arrow_vision; // 0x1220 - float max_charge_time; // 0x1224 - float turn_rate; // 0x1228 - float base_power; // 0x122c + CUtlVector< CHandle< CBaseEntity > > m_vecVisionThinkers; // 0x12d8 + int32_t arrow_vision; // 0x12f0 + float max_charge_time; // 0x12f4 + float turn_rate; // 0x12f8 + float base_power; // 0x12fc }; // Alignment: 3 -// Size: 0x578 +// Size: 0x588 class CDOTA_Ability_Hoodwink_Sharpshooter : public CDOTABaseAbility { public: - float max_charge_time; // 0x558 - Vector m_vStartPos; // 0x55c - ParticleIndex_t m_nFXIndex; // 0x568 + float max_charge_time; // 0x568 + Vector m_vStartPos; // 0x56c + ParticleIndex_t m_nFXIndex; // 0x578 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hoodwink_Sharpshooter_VisionThinker : public CDOTA_Buff { public: - int32_t arrow_width; // 0x11e8 + int32_t arrow_width; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Hoodwink_Sharpshooter_Release : public CDOTABaseAbility { public: @@ -71879,22 +73083,22 @@ public: }; // Alignment: 8 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Hoodwink_Sharpshooter_Recoil : public CDOTA_Buff { public: - float recoil_duration; // 0x11e8 - int32_t recoil_height; // 0x11ec - int32_t recoil_distance; // 0x11f0 - float m_flStartZ; // 0x11f4 - float m_flCurTime; // 0x11f8 - float m_flJumpDuration; // 0x11fc - float m_flJumpHeight; // 0x1200 - Vector m_vTargetHorizontalDirection; // 0x1204 + float recoil_duration; // 0x12b8 + int32_t recoil_height; // 0x12bc + int32_t recoil_distance; // 0x12c0 + float m_flStartZ; // 0x12c4 + float m_flCurTime; // 0x12c8 + float m_flJumpDuration; // 0x12cc + float m_flJumpHeight; // 0x12d0 + Vector m_vTargetHorizontalDirection; // 0x12d4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Hoodwink_Sharpshooter_Recoil_EndAnim : public CDOTA_Buff { public: @@ -71902,15 +73106,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hoodwink_Sharpshooter_Debuff : public CDOTA_Buff { public: - int32_t slow_move_pct; // 0x11e8 + int32_t slow_move_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShotBounces : public CDOTABaseAbility { public: @@ -71918,7 +73122,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShotDamage : public CDOTABaseAbility { public: @@ -71926,7 +73130,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShotCharges : public CDOTABaseAbility { public: @@ -71934,7 +73138,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Hoodwink_Camouflague : public CDOTABaseAbility { public: @@ -71942,7 +73146,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Hoodwink_SharpshooterPierceHeroes : public CDOTABaseAbility { public: @@ -71950,7 +73154,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Hoodwink_SharpshooterPureDamage : public CDOTABaseAbility { public: @@ -71958,7 +73162,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Hoodwink_Bushwhack_Duration : public CDOTABaseAbility { public: @@ -71966,7 +73170,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Hoodwink_Bushwhack_Damage : public CDOTABaseAbility { public: @@ -71974,7 +73178,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Hoodwink_Sharpshooter_Speed : public CDOTABaseAbility { public: @@ -71982,17 +73186,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_Camouflage : public CDOTA_Buff { public: - float fade_time; // 0x11e8 - GameTime_t m_flFadeTime; // 0x11ec - bool m_bInvisLastThink; // 0x11f0 + float fade_time; // 0x12b8 + GameTime_t m_flFadeTime; // 0x12bc + bool m_bInvisLastThink; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShot_ArmorCorruption : public CDOTABaseAbility { public: @@ -72000,7 +73204,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Hoodwink_BushwhackCooldown : public CDOTABaseAbility { public: @@ -72008,7 +73212,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Hoodwink_ScurryDuration : public CDOTABaseAbility { public: @@ -72016,15 +73220,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hoodwink_AcornShot_ArmorCorruption : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Hoodwink_Caltrops : public CDOTABaseAbility { public: @@ -72032,61 +73236,61 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Hoodwink_Caltrops : public CDOTA_Buff { public: - int32_t effect_radius; // 0x11e8 - int32_t caltrops_damage; // 0x11ec - int32_t activation_radius; // 0x11f0 - float debuff_duration; // 0x11f4 - float activation_delay; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc + int32_t effect_radius; // 0x12b8 + int32_t caltrops_damage; // 0x12bc + int32_t activation_radius; // 0x12c0 + float debuff_duration; // 0x12c4 + float activation_delay; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hoodwink_Caltrops_Debuff : public CDOTA_Buff { public: - int32_t movespeed_pct; // 0x11e8 - int32_t tick_damage; // 0x11ec + int32_t movespeed_pct; // 0x12b8 + int32_t tick_damage; // 0x12bc }; // Alignment: 5 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_Hoodwink_Decoy : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > hIllusion; // 0x558 - float decoy_stun_duration; // 0x570 - int32_t decoy_detonate_radius; // 0x574 - int32_t projectile_speed; // 0x578 - ParticleIndex_t m_nFXIndex; // 0x57c + CUtlVector< CHandle< CBaseEntity > > hIllusion; // 0x568 + float decoy_stun_duration; // 0x580 + int32_t decoy_detonate_radius; // 0x584 + int32_t projectile_speed; // 0x588 + ParticleIndex_t m_nFXIndex; // 0x58c }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Hoodwink_Decoy_Illusion : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 }; // Alignment: 2 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Hoodwink_Decoy_Invisibility : public CDOTA_Modifier_Invisible { public: - int32_t movement_speed; // 0x11f8 + int32_t movement_speed; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x1200 + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x12d0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Hoodwink_HeavyQuiver : public CDOTABaseAbility { public: @@ -72094,45 +73298,45 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Hoodwink_HeavyQuiver : public CDOTA_Buff { public: - int32_t bonus_projectile_speed_pct; // 0x11e8 - int32_t bonus_attack_range; // 0x11ec - int32_t deadly_blow_multiplier; // 0x11f0 - float maim_duration; // 0x11f4 - int32_t m_nAttackRecord; // 0x11f8 + int32_t bonus_projectile_speed_pct; // 0x12b8 + int32_t bonus_attack_range; // 0x12bc + int32_t deadly_blow_multiplier; // 0x12c0 + float maim_duration; // 0x12c4 + int32_t m_nAttackRecord; // 0x12c8 }; // Alignment: 6 -// Size: 0x590 +// Size: 0x5a0 class CDOTA_Ability_Hoodwink_HuntersBoomerang : public CDOTABaseAbility { public: - int32_t radius; // 0x558 - int32_t speed; // 0x55c - int32_t damage; // 0x560 - float mark_duration; // 0x564 - CHandle< CBaseEntity > m_hTarget; // 0x568 + int32_t radius; // 0x568 + int32_t speed; // 0x56c + int32_t damage; // 0x570 + float mark_duration; // 0x574 + CHandle< CBaseEntity > m_hTarget; // 0x578 private: - [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c + [[maybe_unused]] uint8_t __pad057c[0x4]; // 0x57c public: - CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x570 + CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x580 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_Hunters_Mark : public CDOTA_Buff { public: - int32_t slow_pct; // 0x11e8 - int32_t spell_amp; // 0x11ec - int32_t status_resistance; // 0x11f0 + int32_t slow_pct; // 0x12b8 + int32_t spell_amp; // 0x12bc + int32_t status_resistance; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Hoodwink_HuntersQuiver : public CDOTABaseAbility { public: @@ -72140,27 +73344,27 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_HuntersQuiver : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x11e8 - int32_t max_stacks; // 0x11ec - float debuff_duration; // 0x11f0 + int32_t bonus_attack_range; // 0x12b8 + int32_t max_stacks; // 0x12bc + float debuff_duration; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_HuntersQuiver_Mark : public CDOTA_Buff { public: - int32_t stack_crit_chance_pct; // 0x11e8 - int32_t critical_damage_pct; // 0x11ec - int32_t stack_slow_pct; // 0x11f0 + int32_t stack_crit_chance_pct; // 0x12b8 + int32_t critical_damage_pct; // 0x12bc + int32_t stack_slow_pct; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Hoodwink_Boomerang_Invulnerable : public CDOTA_Buff { public: @@ -72168,97 +73372,105 @@ public: }; // Alignment: 23 -// Size: 0x1280 +// Size: 0x1350 class CDOTA_Modifier_Hoodwink_ArcingBoomerang : public CDOTA_Buff { public: - Vector m_vLeftControl; // 0x11e8 - Vector m_vRightControl; // 0x11f4 - Vector m_vTargetLoc; // 0x1200 - Vector m_vOriginalTargetLoc; // 0x120c - Vector m_vSourceLoc; // 0x1218 - bool m_bGroundTargeted; // 0x1224 + Vector m_vLeftControl; // 0x12b8 + Vector m_vRightControl; // 0x12c4 + Vector m_vTargetLoc; // 0x12d0 + Vector m_vOriginalTargetLoc; // 0x12dc + Vector m_vSourceLoc; // 0x12e8 + bool m_bGroundTargeted; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad1225[0x3]; // 0x1225 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - float m_flDuration; // 0x1228 - GameTime_t m_flDieTime; // 0x122c - bool m_bReturning; // 0x1230 - bool m_bCatchingBoomerang; // 0x1231 - bool m_bDisjointed; // 0x1232 + float m_flDuration; // 0x12f8 + GameTime_t m_flDieTime; // 0x12fc + bool m_bReturning; // 0x1300 + bool m_bCatchingBoomerang; // 0x1301 + bool m_bDisjointed; // 0x1302 private: - [[maybe_unused]] uint8_t __pad1233[0x1]; // 0x1233 + [[maybe_unused]] uint8_t __pad1303[0x1]; // 0x1303 public: - int32_t m_nFramesToWait; // 0x1234 - CHandle< CBaseEntity > m_hBoomerang; // 0x1238 - CHandle< CBaseEntity > m_hTarget; // 0x123c - ParticleIndex_t m_nBoomerangFXIndex; // 0x1240 - ParticleIndex_t m_nOldBoomerangFXindex; // 0x1244 - CUtlVector< CHandle< CBaseEntity > > m_vecUniqueHitList; // 0x1248 - int32_t radius; // 0x1260 - int32_t spread; // 0x1264 - int32_t damage; // 0x1268 - float mark_duration; // 0x126c - float min_throw_duration; // 0x1270 - float max_throw_duration; // 0x1274 + int32_t m_nFramesToWait; // 0x1304 + CHandle< CBaseEntity > m_hBoomerang; // 0x1308 + CHandle< CBaseEntity > m_hTarget; // 0x130c + ParticleIndex_t m_nBoomerangFXIndex; // 0x1310 + ParticleIndex_t m_nOldBoomerangFXindex; // 0x1314 + CUtlVector< CHandle< CBaseEntity > > m_vecUniqueHitList; // 0x1318 + int32_t radius; // 0x1330 + int32_t spread; // 0x1334 + int32_t damage; // 0x1338 + float mark_duration; // 0x133c + float min_throw_duration; // 0x1340 + float max_throw_duration; // 0x1344 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Dawnbreaker_Solar_Guardian : public CDOTABaseAbility { public: - CHandle< CBaseEntity > m_hThinker; // 0x558 - bool m_bJumping; // 0x55c + CHandle< CBaseEntity > m_hThinker; // 0x568 + bool m_bJumping; // 0x56c }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Thinker : public CDOTA_Buff { public: - float pulse_interval; // 0x11e8 - int32_t iEffectRadius; // 0x11ec - int32_t base_damage; // 0x11f0 - int32_t base_heal; // 0x11f4 - ParticleIndex_t m_nThinkerFXIndex; // 0x11f8 + float pulse_interval; // 0x12b8 + int32_t iEffectRadius; // 0x12bc + int32_t base_damage; // 0x12c0 + int32_t base_heal; // 0x12c4 + ParticleIndex_t m_nThinkerFXIndex; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Evasion : public CDOTA_Buff { public: - int32_t miss_rate; // 0x11e8 + int32_t miss_rate; // 0x12b8 }; // Alignment: 9 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_AirTime : public CDOTA_Buff { public: - float m_flStartZ; // 0x11e8 - float m_flCurTime; // 0x11ec - Vector m_vDirection; // 0x11f0 - float m_flEndTime; // 0x11fc - CHandle< CBaseEntity > m_hThinker; // 0x1200 - Vector m_vCurrentTargetPosition; // 0x1204 - Vector m_vDesiredTargetPosition; // 0x1210 - Vector m_vStartPosition; // 0x121c - int32_t airtime_scepter_movement_speed; // 0x1228 -}; - -// Alignment: 2 -// Size: 0x11f0 -class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Disable : public CDOTA_Buff -{ -public: - ParticleIndex_t m_nCasterFXIndex; // 0x11e8 - ParticleIndex_t m_nStatusFXIndex; // 0x11ec + float m_flStartZ; // 0x12b8 + float m_flCurTime; // 0x12bc + Vector m_vDirection; // 0x12c0 + float m_flEndTime; // 0x12cc + CHandle< CBaseEntity > m_hThinker; // 0x12d0 + Vector m_vCurrentTargetPosition; // 0x12d4 + Vector m_vDesiredTargetPosition; // 0x12e0 + Vector m_vStartPosition; // 0x12ec + int32_t airtime_scepter_movement_speed; // 0x12f8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 +class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_LandingStun : public CDOTA_Modifier_Stunned +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12c0 +class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Disable : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nCasterFXIndex; // 0x12b8 + ParticleIndex_t m_nStatusFXIndex; // 0x12bc +}; + +// Alignment: 0 +// Size: 0x12b8 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_After_Land : public CDOTA_Buff { public: @@ -72266,7 +73478,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Dawnbreaker_Luminosity : public CDOTABaseAbility { public: @@ -72274,114 +73486,114 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Dawnbreaker_Luminosity : public CDOTA_Buff { public: - bool m_bAppliesToCreeps; // 0x11e8 + bool m_bAppliesToCreeps; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t attack_count; // 0x11ec - bool m_bShouldIncrement; // 0x11f0 + int32_t attack_count; // 0x12bc + bool m_bShouldIncrement; // 0x12c0 }; // Alignment: 8 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Dawnbreaker_Luminosity_Attack_Buff : public CDOTA_Buff { public: - bool m_bIsBuffedAttack; // 0x11e8 + bool m_bIsBuffedAttack; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t heal_pct; // 0x11ec - int32_t bonus_damage; // 0x11f0 - int32_t heal_radius; // 0x11f4 - int32_t heal_from_creeps; // 0x11f8 - int32_t allied_healing_pct; // 0x11fc - CUtlVector< CHandle< CBaseEntity > > hTargets; // 0x1200 - float m_flTotalToHeal; // 0x1218 + int32_t heal_pct; // 0x12bc + int32_t bonus_damage; // 0x12c0 + int32_t heal_radius; // 0x12c4 + int32_t heal_from_creeps; // 0x12c8 + int32_t allied_healing_pct; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > hTargets; // 0x12d0 + float m_flTotalToHeal; // 0x12e8 }; // Alignment: 25 -// Size: 0x600 +// Size: 0x610 class CDOTA_Ability_Dawnbreaker_Celestial_Hammer : public CDOTABaseAbility { public: - int32_t m_nProjectileIndex; // 0x558 - int32_t m_nReturnProjectileID; // 0x55c - Vector m_vEndLocation; // 0x560 - float m_fZCoord; // 0x56c - Vector m_vLastTrailThinkerLocation; // 0x570 - bool m_bFlareDone; // 0x57c - bool m_bStartedCatchAnimation; // 0x57d - bool m_bIsReturning; // 0x57e + int32_t m_nProjectileIndex; // 0x568 + int32_t m_nReturnProjectileID; // 0x56c + Vector m_vEndLocation; // 0x570 + float m_fZCoord; // 0x57c + Vector m_vLastTrailThinkerLocation; // 0x580 + bool m_bFlareDone; // 0x58c + bool m_bStartedCatchAnimation; // 0x58d + bool m_bIsReturning; // 0x58e private: - [[maybe_unused]] uint8_t __pad057f[0x1]; // 0x57f + [[maybe_unused]] uint8_t __pad058f[0x1]; // 0x58f public: - CUtlVector< CHandle< CBaseEntity > > m_hReturnHits; // 0x580 - CUtlVector< CHandle< CBaseEntity > > m_hAoEHits; // 0x598 - ParticleIndex_t m_nFXIndex; // 0x5b0 - ParticleIndex_t m_nFXIndexC; // 0x5b4 - ParticleIndex_t m_nFXHammerReturnIndex; // 0x5b8 - ParticleIndex_t m_nFXHammerProjectileIndex; // 0x5bc - ParticleIndex_t m_nFXHeroSolarGuardianTrailIndex; // 0x5c0 - CHandle< CBaseEntity > m_hThinker; // 0x5c4 - int32_t projectile_speed; // 0x5c8 - int32_t projectile_radius; // 0x5cc - int32_t hammer_damage; // 0x5d0 - int32_t hammer_aoe_radius; // 0x5d4 - int32_t flare_radius; // 0x5d8 - bool bHasStartedBurning; // 0x5dc + CUtlVector< CHandle< CBaseEntity > > m_hReturnHits; // 0x590 + CUtlVector< CHandle< CBaseEntity > > m_hAoEHits; // 0x5a8 + ParticleIndex_t m_nFXIndex; // 0x5c0 + ParticleIndex_t m_nFXIndexC; // 0x5c4 + ParticleIndex_t m_nFXHammerReturnIndex; // 0x5c8 + ParticleIndex_t m_nFXHammerProjectileIndex; // 0x5cc + ParticleIndex_t m_nFXHeroSolarGuardianTrailIndex; // 0x5d0 + CHandle< CBaseEntity > m_hThinker; // 0x5d4 + int32_t projectile_speed; // 0x5d8 + int32_t projectile_radius; // 0x5dc + int32_t hammer_damage; // 0x5e0 + int32_t hammer_aoe_radius; // 0x5e4 + int32_t flare_radius; // 0x5e8 + bool bHasStartedBurning; // 0x5ec private: - [[maybe_unused]] uint8_t __pad05dd[0x3]; // 0x5dd + [[maybe_unused]] uint8_t __pad05ed[0x3]; // 0x5ed public: - float flare_debuff_duration; // 0x5e0 - int32_t return_anim_distance_threshold; // 0x5e4 - int32_t range; // 0x5e8 + float flare_debuff_duration; // 0x5f0 + int32_t return_anim_distance_threshold; // 0x5f4 + int32_t range; // 0x5f8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 + ParticleIndex_t m_nFXIndex; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dawnbreaker_Converge_Thinker : public CDOTA_Buff { public: - int32_t flare_radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t flare_radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 11 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x11e8 - int32_t projectile_speed; // 0x11ec - int32_t travel_speed_pct; // 0x11f0 - int32_t m_nMaxRange; // 0x11f4 - Vector m_vStartPoint; // 0x11f8 - Vector m_vLastTrailThinkerLocation; // 0x1204 - Vector m_vEndPointShard; // 0x1210 - ParticleIndex_t m_nStatusFXIndex; // 0x121c - int32_t flare_radius; // 0x1220 - bool bHasStartedBurning; // 0x1224 + int32_t m_nProjectileID; // 0x12b8 + int32_t projectile_speed; // 0x12bc + int32_t travel_speed_pct; // 0x12c0 + int32_t m_nMaxRange; // 0x12c4 + Vector m_vStartPoint; // 0x12c8 + Vector m_vLastTrailThinkerLocation; // 0x12d4 + Vector m_vEndPointShard; // 0x12e0 + ParticleIndex_t m_nStatusFXIndex; // 0x12ec + int32_t flare_radius; // 0x12f0 + bool bHasStartedBurning; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad1225[0x3]; // 0x1225 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - float flare_debuff_duration; // 0x1228 + float flare_debuff_duration; // 0x12f8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Caster : public CDOTA_Buff { public: @@ -72389,7 +73601,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Dawnbreaker_Fire_Wreath : public CDOTABaseAbility { public: @@ -72397,7 +73609,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Magic_Immunity_Tooltip : public CDOTA_Buff { public: @@ -72405,64 +73617,64 @@ public: }; // Alignment: 20 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Caster : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - int32_t shard_movement_penalty; // 0x11ec - int32_t swipe_radius; // 0x11f0 - int32_t swipe_damage; // 0x11f4 - int32_t smash_radius; // 0x11f8 - int32_t smash_damage; // 0x11fc - int32_t m_nCurrentSpeed; // 0x1200 - float flSwipeInterval; // 0x1204 - GameTime_t m_flNextHit; // 0x1208 - int32_t iCurrentAttack; // 0x120c - int32_t total_attacks; // 0x1210 - float smash_stun_duration; // 0x1214 - float sweep_stun_duration; // 0x1218 - bool m_bHasCompletedMove; // 0x121c + int32_t movement_speed; // 0x12b8 + int32_t shard_movement_penalty; // 0x12bc + int32_t swipe_radius; // 0x12c0 + int32_t swipe_damage; // 0x12c4 + int32_t smash_radius; // 0x12c8 + int32_t smash_damage; // 0x12cc + int32_t m_nCurrentSpeed; // 0x12d0 + float flSwipeInterval; // 0x12d4 + GameTime_t m_flNextHit; // 0x12d8 + int32_t iCurrentAttack; // 0x12dc + int32_t total_attacks; // 0x12e0 + float smash_stun_duration; // 0x12e4 + float sweep_stun_duration; // 0x12e8 + bool m_bHasCompletedMove; // 0x12ec private: - [[maybe_unused]] uint8_t __pad121d[0x3]; // 0x121d + [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed public: - float duration; // 0x1220 - Vector m_vTargetHorizontalDirection; // 0x1224 - int32_t smash_distance_from_hero; // 0x1230 - float animation_rate; // 0x1234 - float turn_rate; // 0x1238 - float m_flFacingTarget; // 0x123c + float duration; // 0x12f0 + Vector m_vTargetHorizontalDirection; // 0x12f4 + int32_t smash_distance_from_hero; // 0x1300 + float animation_rate; // 0x1304 + float turn_rate; // 0x1308 + float m_flFacingTarget; // 0x130c }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Attack_Bonus : public CDOTA_Buff { public: - int32_t attack_damage; // 0x11e8 - int32_t creep_damage_penalty; // 0x11ec + int32_t attack_damage; // 0x12b8 + int32_t creep_damage_penalty; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Slow : public CDOTA_Buff { public: - int32_t swipe_slow; // 0x11e8 + int32_t swipe_slow; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Smash_Stun : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - float m_flStartZ; // 0x11ec - float m_flCurTime; // 0x11f0 + int32_t damage; // 0x12b8 + float m_flStartZ; // 0x12bc + float m_flCurTime; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Dawnbreaker_Converge : public CDOTABaseAbility { public: @@ -72470,17 +73682,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Dawnbreaker_Converge : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 - int32_t burn_damage; // 0x11ec - float burn_interval; // 0x11f0 + int32_t move_slow; // 0x12b8 + int32_t burn_damage; // 0x12bc + float burn_interval; // 0x12c0 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Dawnbreaker_Land : public CDOTABaseAbility { public: @@ -72488,7 +73700,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Celestial_Hammer_Damage : public CDOTABaseAbility { public: @@ -72496,7 +73708,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Fire_Wreath_Magic_Immunity : public CDOTABaseAbility { public: @@ -72504,7 +73716,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Solar_Guardian_Radius : public CDOTABaseAbility { public: @@ -72512,7 +73724,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Converge_Slow : public CDOTABaseAbility { public: @@ -72520,7 +73732,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Celestial_Hammer_Cast_Range : public CDOTABaseAbility { public: @@ -72528,7 +73740,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Fire_Wreath_Ministun : public CDOTABaseAbility { public: @@ -72536,7 +73748,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Luminosity_Attack_Count : public CDOTABaseAbility { public: @@ -72544,7 +73756,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Fire_wreath_Charges : public CDOTABaseAbility { public: @@ -72552,7 +73764,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Solar_Guardian_Cooldown : public CDOTABaseAbility { public: @@ -72560,7 +73772,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Luminosity_Crit : public CDOTABaseAbility { public: @@ -72568,7 +73780,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_FireWreath_Swipe : public CDOTABaseAbility { public: @@ -72576,7 +73788,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_CelestialHammer_Slow : public CDOTABaseAbility { public: @@ -72584,7 +73796,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_FireWreath_AoE : public CDOTABaseAbility { public: @@ -72592,7 +73804,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Marci_Grapple : public CDOTABaseAbility { public: @@ -72600,117 +73812,117 @@ public: }; // Alignment: 12 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Marci_Grapple_VictimMotion : public CDOTA_Buff { public: - int32_t impact_damage; // 0x11e8 - float debuff_duration; // 0x11ec - int32_t landing_radius; // 0x11f0 - float air_duration; // 0x11f4 - int32_t air_height; // 0x11f8 - int32_t travel_distance; // 0x11fc - Vector m_vDestination; // 0x1200 - float m_flStartZ; // 0x120c - float m_flCurTime; // 0x1210 - float m_flJumpDuration; // 0x1214 - float m_flJumpHeight; // 0x1218 - Vector m_vTargetHorizontalDirection; // 0x121c + int32_t impact_damage; // 0x12b8 + float debuff_duration; // 0x12bc + int32_t landing_radius; // 0x12c0 + float air_duration; // 0x12c4 + int32_t air_height; // 0x12c8 + int32_t travel_distance; // 0x12cc + Vector m_vDestination; // 0x12d0 + float m_flStartZ; // 0x12dc + float m_flCurTime; // 0x12e0 + float m_flJumpDuration; // 0x12e4 + float m_flJumpHeight; // 0x12e8 + Vector m_vTargetHorizontalDirection; // 0x12ec }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Marci_Dispose_Debuff : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x11e8 + int32_t movement_slow_pct; // 0x12b8 }; // Alignment: 17 -// Size: 0x5c0 +// Size: 0x5d0 class CDOTA_Ability_Marci_Companion_Run : public CDOTABaseAbility { public: - int32_t m_nTrackingProjectileID; // 0x558 - ParticleIndex_t m_nFXIndex; // 0x55c - int32_t m_nMaxJumpDistance; // 0x560 - int32_t landing_radius; // 0x564 - int32_t move_speed; // 0x568 - float ally_buff_duration; // 0x56c - int32_t min_jump_distance; // 0x570 - int32_t max_jump_distance; // 0x574 - int32_t impact_position_offset; // 0x578 - int32_t vector_preview_radius; // 0x57c - Vector m_vEndpoint; // 0x580 - ParticleIndex_t m_nToBounceFXIndex; // 0x58c - ParticleIndex_t m_nToTargetFXIndex; // 0x590 - Vector m_vDashPosition; // 0x594 - Vector m_vFacePosition; // 0x5a0 - Vector m_vTravelDir; // 0x5ac - float m_fTravelDistance; // 0x5b8 + int32_t m_nTrackingProjectileID; // 0x568 + ParticleIndex_t m_nFXIndex; // 0x56c + int32_t m_nMaxJumpDistance; // 0x570 + int32_t landing_radius; // 0x574 + int32_t move_speed; // 0x578 + float ally_buff_duration; // 0x57c + int32_t min_jump_distance; // 0x580 + int32_t max_jump_distance; // 0x584 + int32_t impact_position_offset; // 0x588 + int32_t vector_preview_radius; // 0x58c + Vector m_vEndpoint; // 0x590 + ParticleIndex_t m_nToBounceFXIndex; // 0x59c + ParticleIndex_t m_nToTargetFXIndex; // 0x5a0 + Vector m_vDashPosition; // 0x5a4 + Vector m_vFacePosition; // 0x5b0 + Vector m_vTravelDir; // 0x5bc + float m_fTravelDistance; // 0x5c8 }; // Alignment: 12 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Marci_Lunge_TrackingMotion : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x11e8 - int32_t m_nMaxJumpDistance; // 0x11ec - int32_t landing_radius; // 0x11f0 - int32_t max_jump_distance; // 0x11f4 - int32_t min_jump_distance; // 0x11f8 - int32_t target_abort_distance; // 0x11fc - int32_t impact_position_offset; // 0x1200 - float m_flCastDistance; // 0x1204 - ParticleIndex_t m_nAoEFXIndex; // 0x1208 - Vector m_vDestination; // 0x120c - CHandle< CBaseEntity > m_hBounceEntity; // 0x1218 - CHandle< CBaseEntity > m_hBounceEntityClient; // 0x121c + int32_t m_nProjectileID; // 0x12b8 + int32_t m_nMaxJumpDistance; // 0x12bc + int32_t landing_radius; // 0x12c0 + int32_t max_jump_distance; // 0x12c4 + int32_t min_jump_distance; // 0x12c8 + int32_t target_abort_distance; // 0x12cc + int32_t impact_position_offset; // 0x12d0 + float m_flCastDistance; // 0x12d4 + ParticleIndex_t m_nAoEFXIndex; // 0x12d8 + Vector m_vDestination; // 0x12dc + CHandle< CBaseEntity > m_hBounceEntity; // 0x12e8 + CHandle< CBaseEntity > m_hBounceEntityClient; // 0x12ec }; // Alignment: 27 -// Size: 0x1268 +// Size: 0x1338 class CDOTA_Modifier_Marci_Lunge_Arc : public CDOTA_Buff { public: - float m_flPredictedTotalTime; // 0x11e8 - Vector m_vStartPosition; // 0x11ec - float m_flCurrentTimeHoriz; // 0x11f8 - float m_flCurrentTimeVert; // 0x11fc - bool m_bDamageApplied; // 0x1200 - bool m_bTargetTeleported; // 0x1201 + float m_flPredictedTotalTime; // 0x12b8 + Vector m_vStartPosition; // 0x12bc + float m_flCurrentTimeHoriz; // 0x12c8 + float m_flCurrentTimeVert; // 0x12cc + bool m_bDamageApplied; // 0x12d0 + bool m_bTargetTeleported; // 0x12d1 private: - [[maybe_unused]] uint8_t __pad1202[0x2]; // 0x1202 + [[maybe_unused]] uint8_t __pad12d2[0x2]; // 0x12d2 public: - Vector m_vHorizontalVelocity; // 0x1204 - Vector m_vLastKnownTargetPosition; // 0x1210 - float m_flInitialVelocityZ; // 0x121c - float m_fClampedProjectileSpeed; // 0x1220 - ParticleIndex_t m_nFXIndex; // 0x1224 - float m_fAcceleration; // 0x1228 - bool m_bTriggeredLandingAnim; // 0x122c + Vector m_vHorizontalVelocity; // 0x12d4 + Vector m_vLastKnownTargetPosition; // 0x12e0 + float m_flInitialVelocityZ; // 0x12ec + float m_fClampedProjectileSpeed; // 0x12f0 + ParticleIndex_t m_nFXIndex; // 0x12f4 + float m_fAcceleration; // 0x12f8 + bool m_bTriggeredLandingAnim; // 0x12fc private: - [[maybe_unused]] uint8_t __pad122d[0x3]; // 0x122d + [[maybe_unused]] uint8_t __pad12fd[0x3]; // 0x12fd public: - int32_t m_nMaxJumpDistance; // 0x1230 - int32_t min_jump_distance; // 0x1234 - int32_t max_jump_distance; // 0x1238 - float min_lob_travel_time; // 0x123c - float max_lob_travel_time; // 0x1240 - int32_t landing_radius; // 0x1244 - float debuff_duration; // 0x1248 - float min_height_above_lowest; // 0x124c - float min_height_above_highest; // 0x1250 - float min_acceleration; // 0x1254 - float max_acceleration; // 0x1258 - float impact_damage; // 0x125c - int32_t impact_position_offset; // 0x1260 - float ally_buff_duration; // 0x1264 + int32_t m_nMaxJumpDistance; // 0x1300 + int32_t min_jump_distance; // 0x1304 + int32_t max_jump_distance; // 0x1308 + float min_lob_travel_time; // 0x130c + float max_lob_travel_time; // 0x1310 + int32_t landing_radius; // 0x1314 + float debuff_duration; // 0x1318 + float min_height_above_lowest; // 0x131c + float min_height_above_highest; // 0x1320 + float min_acceleration; // 0x1324 + float max_acceleration; // 0x1328 + float impact_damage; // 0x132c + int32_t impact_position_offset; // 0x1330 + float ally_buff_duration; // 0x1334 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Marci_Lunge_LandingAnim : public CDOTA_Buff { public: @@ -72718,128 +73930,138 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Marci_CompanionRun_AllyMovespeed : public CDOTA_Buff { public: - float ally_movespeed_pct; // 0x11e8 + float ally_movespeed_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Marci_Lunge_Debuff : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x11e8 + int32_t movement_slow_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Marci_Lunge_Buff : public CDOTA_Buff { public: - int32_t scepter_armor; // 0x11e8 -}; - -// Alignment: 2 -// Size: 0x560 -class CDOTA_Ability_Marci_Guardian : public CDOTABaseAbility -{ -public: - float buff_duration; // 0x558 - int32_t nearest_ally_search_range; // 0x55c -}; - -// Alignment: 5 -// Size: 0x1200 -class CDOTA_Modifier_Marci_Guardian_Buff : public CDOTA_Buff -{ -public: - float lifesteal_pct; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t bonus_attack_range; // 0x11f0 - float m_fLifestealPct; // 0x11f4 - float m_fDamageAbsorbed; // 0x11f8 -}; - -// Alignment: 5 -// Size: 0x570 -class CDOTA_Ability_Marci_Unleash : public CDOTABaseAbility -{ -public: - float duration; // 0x558 - int32_t pulse_radius; // 0x55c - float pulse_debuff_duration; // 0x560 - int32_t pulse_damage; // 0x564 - float pulse_silence_duration; // 0x568 -}; - -// Alignment: 4 -// Size: 0x1200 -class CDOTA_Modifier_Marci_Unleash_Pull : public CDOTA_Buff -{ -public: - Vector m_vDirection; // 0x11e8 - float m_flEndTime; // 0x11f4 - float m_flCurTime; // 0x11f8 - int32_t shard_push_length; // 0x11fc -}; - -// Alignment: 5 -// Size: 0x1210 -class CDOTA_Modifier_Marci_Unleash : public CDOTA_Buff -{ -public: - float time_between_flurries; // 0x11e8 - int32_t charges_per_flurry; // 0x11ec - int32_t flurry_charge_increment; // 0x11f0 - int32_t bonus_movespeed; // 0x11f4 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 -}; - -// Alignment: 9 -// Size: 0x1208 -class CDOTA_Modifier_Marci_Unleash_Flurry : public CDOTA_Buff -{ -public: - int32_t flurry_bonus_attack_speed; // 0x11e8 - float time_between_flurries; // 0x11ec - float debuff_duration; // 0x11f0 - float max_time_window_per_hit; // 0x11f4 - bool m_bBonusSpeed; // 0x11f8 -private: - [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 -public: - ParticleIndex_t m_nFXStackIndex; // 0x11fc - bool m_bIsDoingFlurryAttack; // 0x1200 - bool m_bIsDoingFlurryPulseAttack; // 0x1201 -private: - [[maybe_unused]] uint8_t __pad1202[0x2]; // 0x1202 -public: - GameTime_t m_fLastAttackTime; // 0x1204 + int32_t scepter_armor; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x578 +class CDOTA_Ability_Marci_Guardian : public CDOTABaseAbility +{ +public: + float buff_duration; // 0x568 + int32_t nearest_ally_search_range; // 0x56c + CHandle< CBaseEntity > m_hPartner; // 0x570 +}; + +// Alignment: 11 +// Size: 0x12e8 +class CDOTA_Modifier_Marci_Guardian_Buff : public CDOTA_Buff +{ +public: + float lifesteal_pct; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t bonus_attack_range; // 0x12c0 + int32_t max_partner_distance; // 0x12c4 + int32_t max_partner_penalty; // 0x12c8 + int32_t creep_lifesteal_reduction_pct; // 0x12cc + float m_fLifestealPct; // 0x12d0 + float m_fDamageAbsorbed; // 0x12d4 + CHandle< CBaseEntity > m_hPartner; // 0x12d8 + bool m_bActive; // 0x12dc +private: + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd +public: + ParticleIndex_t m_nFxIndex; // 0x12e0 +}; + +// Alignment: 5 +// Size: 0x580 +class CDOTA_Ability_Marci_Unleash : public CDOTABaseAbility +{ +public: + float duration; // 0x568 + int32_t pulse_radius; // 0x56c + float pulse_debuff_duration; // 0x570 + int32_t pulse_damage; // 0x574 + float pulse_silence_duration; // 0x578 +}; + +// Alignment: 4 +// Size: 0x12d0 +class CDOTA_Modifier_Marci_Unleash_Pull : public CDOTA_Buff +{ +public: + Vector m_vDirection; // 0x12b8 + float m_flEndTime; // 0x12c4 + float m_flCurTime; // 0x12c8 + int32_t shard_push_length; // 0x12cc +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Marci_Unleash : public CDOTA_Buff +{ +public: + float time_between_flurries; // 0x12b8 + int32_t charges_per_flurry; // 0x12bc + int32_t flurry_charge_increment; // 0x12c0 + int32_t bonus_movespeed; // 0x12c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 +}; + +// Alignment: 9 +// Size: 0x12d8 +class CDOTA_Modifier_Marci_Unleash_Flurry : public CDOTA_Buff +{ +public: + int32_t flurry_bonus_attack_speed; // 0x12b8 + float time_between_flurries; // 0x12bc + float debuff_duration; // 0x12c0 + float max_time_window_per_hit; // 0x12c4 + bool m_bBonusSpeed; // 0x12c8 +private: + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 +public: + ParticleIndex_t m_nFXStackIndex; // 0x12cc + bool m_bIsDoingFlurryAttack; // 0x12d0 + bool m_bIsDoingFlurryPulseAttack; // 0x12d1 +private: + [[maybe_unused]] uint8_t __pad12d2[0x2]; // 0x12d2 +public: + GameTime_t m_fLastAttackTime; // 0x12d4 +}; + +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Marci_Unleash_FlurryCooldown : public CDOTA_Buff { public: - int32_t charges_per_flurry; // 0x11e8 - float time_between_flurries; // 0x11ec - float recovery_fixed_attack_rate; // 0x11f0 + int32_t charges_per_flurry; // 0x12b8 + float time_between_flurries; // 0x12bc + float recovery_fixed_attack_rate; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Marci_Unleash_FlurryPulse_Debuff : public CDOTA_Buff { public: - float pulse_move_slow_pct; // 0x11e8 - float pulse_attack_slow_pct; // 0x11ec + float pulse_move_slow_pct; // 0x12b8 + float pulse_attack_slow_pct; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Marci_Lunge_AllyAbsorb : public CDOTABaseAbility { public: @@ -72847,7 +74069,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Marci_Lunge_Damage : public CDOTABaseAbility { public: @@ -72855,7 +74077,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Marci_Lunge_Range : public CDOTABaseAbility { public: @@ -72863,7 +74085,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Marci_Grapple_StunDuration : public CDOTABaseAbility { public: @@ -72871,7 +74093,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Marci_Guardian_MagicImmunity : public CDOTABaseAbility { public: @@ -72879,7 +74101,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Marci_Guardian_MagicImmunity : public CDOTA_Modifier_DebuffImmune { public: @@ -72887,7 +74109,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Marci_Unleash_LungeRefresh : public CDOTABaseAbility { public: @@ -72895,7 +74117,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Marci_Unleash_Silence : public CDOTABaseAbility { public: @@ -72903,7 +74125,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Marci_Unleash_Pulse_Silence : public CDOTA_Buff { public: @@ -72911,7 +74133,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Marci_Guardian_Lifesteal : public CDOTABaseAbility { public: @@ -72919,7 +74141,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_PrimalBeast_Trample : public CDOTABaseAbility { public: @@ -72927,95 +74149,95 @@ public: }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Primalbeast_Trample : public CDOTA_Buff { public: - int32_t effect_radius; // 0x11e8 - Vector vLastPos; // 0x11ec - float flCurrentDistance; // 0x11f8 - int32_t step_distance; // 0x11fc - int32_t bonus_magic_resistance; // 0x1200 - bool m_bIsUnslowable; // 0x1204 + int32_t effect_radius; // 0x12b8 + Vector vLastPos; // 0x12bc + float flCurrentDistance; // 0x12c8 + int32_t step_distance; // 0x12cc + int32_t bonus_magic_resistance; // 0x12d0 + bool m_bIsUnslowable; // 0x12d4 }; // Alignment: 1 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_PrimalBeast_Pulverize : public CDOTABaseAbility { public: - CDOTA_BaseNPC* m_hTarget; // 0x558 + CDOTA_BaseNPC* m_hTarget; // 0x568 }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_PrimalBeast_Pulverize : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - float m_flOffset; // 0x11ec - QAngle m_vStartAngles; // 0x11f0 - Vector m_vStartLocation; // 0x11fc - float animation_rate; // 0x1208 - bool m_bInterrupted; // 0x120c - bool m_bHasBeenDestroyed; // 0x120d + ParticleIndex_t m_nFXIndex; // 0x12b8 + float m_flOffset; // 0x12bc + QAngle m_vStartAngles; // 0x12c0 + Vector m_vStartLocation; // 0x12cc + float animation_rate; // 0x12d8 + bool m_bInterrupted; // 0x12dc + bool m_bHasBeenDestroyed; // 0x12dd }; // Alignment: 9 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_PrimalBeast_Pulverize_Self : public CDOTA_Buff { public: - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x11e8 - Vector m_vPulverizeCenter; // 0x11ec - Vector m_vCasterStartPos; // 0x11f8 - int32_t splash_radius; // 0x1204 - float interval; // 0x1208 - float ministun; // 0x120c - int32_t damage; // 0x1210 - int32_t bonus_damage_per_hit; // 0x1214 - int32_t m_nHitCount; // 0x1218 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x12b8 + Vector m_vPulverizeCenter; // 0x12bc + Vector m_vCasterStartPos; // 0x12c8 + int32_t splash_radius; // 0x12d4 + float interval; // 0x12d8 + float ministun; // 0x12dc + int32_t damage; // 0x12e0 + int32_t bonus_damage_per_hit; // 0x12e4 + int32_t m_nHitCount; // 0x12e8 }; // Alignment: 8 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_PrimalBeast_Onslaught : public CDOTABaseAbility { public: - float max_charge_time; // 0x558 - float knockback_distance; // 0x55c - int32_t knockback_damage; // 0x560 - int32_t collision_radius; // 0x564 - int32_t max_distance; // 0x568 - Vector m_vStartPos; // 0x56c - ParticleIndex_t m_nFXIndex; // 0x578 - int32_t m_nProjectileID; // 0x57c + float max_charge_time; // 0x568 + float knockback_distance; // 0x56c + int32_t knockback_damage; // 0x570 + int32_t collision_radius; // 0x574 + int32_t max_distance; // 0x578 + Vector m_vStartPos; // 0x57c + ParticleIndex_t m_nFXIndex; // 0x588 + int32_t m_nProjectileID; // 0x58c }; // Alignment: 12 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_PrimalBeast_Onslaught_Windup : public CDOTA_Buff { public: - bool m_bReachedMax; // 0x11e8 - bool m_bShouldCharge; // 0x11e9 + bool m_bReachedMax; // 0x12b8 + bool m_bShouldCharge; // 0x12b9 private: - [[maybe_unused]] uint8_t __pad11ea[0x2]; // 0x11ea + [[maybe_unused]] uint8_t __pad12ba[0x2]; // 0x12ba public: - float m_flLastOverheadTime; // 0x11ec - float m_flFacingTarget; // 0x11f0 - Vector m_vAimTarget; // 0x11f4 - ParticleIndex_t m_nCrosshairFX; // 0x1200 - float m_flChargeDuration; // 0x1204 - int32_t max_distance; // 0x1208 - float max_charge_time; // 0x120c - float turn_rate; // 0x1210 - float base_power; // 0x1214 - int32_t charge_speed; // 0x1218 + float m_flLastOverheadTime; // 0x12bc + float m_flFacingTarget; // 0x12c0 + Vector m_vAimTarget; // 0x12c4 + ParticleIndex_t m_nCrosshairFX; // 0x12d0 + float m_flChargeDuration; // 0x12d4 + int32_t max_distance; // 0x12d8 + float max_charge_time; // 0x12dc + float turn_rate; // 0x12e0 + float base_power; // 0x12e4 + int32_t charge_speed; // 0x12e8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_PrimalBeast_Onslaught_Release : public CDOTABaseAbility { public: @@ -73023,190 +74245,190 @@ public: }; // Alignment: 10 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_PrimalBeast_Onslaught_Movement : public CDOTA_Buff { public: - float tick_interval; // 0x11e8 - float charge_speed; // 0x11ec - float movement_turn_rate; // 0x11f0 - int32_t knockback_radius; // 0x11f4 - float knockback_distance; // 0x11f8 - int32_t knockback_damage; // 0x11fc - int32_t m_nEnemyHeroesHit; // 0x1200 - float m_flFacingTarget; // 0x1204 - ParticleIndex_t m_nFXIndex; // 0x1208 + float tick_interval; // 0x12b8 + float charge_speed; // 0x12bc + float movement_turn_rate; // 0x12c0 + int32_t knockback_radius; // 0x12c4 + float knockback_distance; // 0x12c8 + int32_t knockback_damage; // 0x12cc + int32_t m_nEnemyHeroesHit; // 0x12d0 + float m_flFacingTarget; // 0x12d4 + ParticleIndex_t m_nFXIndex; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1210 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12e0 }; // Alignment: 10 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_PrimalBeast_Onslaught_Knockback : public CDOTA_Buff { public: - Vector m_vLoc; // 0x11e8 - float m_flPredictedTotalTime; // 0x11f4 - Vector m_vStartPosition; // 0x11f8 - float m_flCurrentTimeHoriz; // 0x1204 - float m_flCurrentTimeVert; // 0x1208 - bool m_bHorizontalMotionInterrupted; // 0x120c - bool m_bTargetTeleported; // 0x120d + Vector m_vLoc; // 0x12b8 + float m_flPredictedTotalTime; // 0x12c4 + Vector m_vStartPosition; // 0x12c8 + float m_flCurrentTimeHoriz; // 0x12d4 + float m_flCurrentTimeVert; // 0x12d8 + bool m_bHorizontalMotionInterrupted; // 0x12dc + bool m_bTargetTeleported; // 0x12dd private: - [[maybe_unused]] uint8_t __pad120e[0x2]; // 0x120e + [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de public: - Vector m_vHorizontalVelocity; // 0x1210 - Vector m_vLastKnownTargetPosition; // 0x121c - float m_flInitialVelocityZ; // 0x1228 + Vector m_vHorizontalVelocity; // 0x12e0 + Vector m_vLastKnownTargetPosition; // 0x12ec + float m_flInitialVelocityZ; // 0x12f8 }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_PrimalBeast_Uproar : public CDOTABaseAbility { public: // MNetworkEnable // MNetworkChangeCallback "OnUproarActiveChanged" - int32_t m_iUproarStatus; // 0x558 - bool m_bUpdateIcons; // 0x55c + int32_t m_iUproarStatus; // 0x568 + bool m_bUpdateIcons; // 0x56c }; // Alignment: 12 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_PrimalBeast_Uproar : public CDOTA_Modifier_Stacking_Base { public: - int32_t stack_limit; // 0x1208 - int32_t damage_limit; // 0x120c - float stack_duration; // 0x1210 - float damage_min; // 0x1214 - float damage_max; // 0x1218 - int32_t bonus_damage_per_stack; // 0x121c - ParticleIndex_t m_nFxIndexA; // 0x1220 - int32_t iCur_stack; // 0x1224 - int32_t bonus_damage; // 0x1228 - float slow_duration; // 0x122c + int32_t stack_limit; // 0x12d8 + int32_t damage_limit; // 0x12dc + float stack_duration; // 0x12e0 + float damage_min; // 0x12e4 + float damage_max; // 0x12e8 + int32_t bonus_damage_per_stack; // 0x12ec + ParticleIndex_t m_nFxIndexA; // 0x12f0 + int32_t iCur_stack; // 0x12f4 + int32_t bonus_damage; // 0x12f8 + float slow_duration; // 0x12fc private: - [[maybe_unused]] uint8_t __pad1230[0x18]; // 0x1230 + [[maybe_unused]] uint8_t __pad1300[0x18]; // 0x1300 public: - float m_fTotalDamage; // 0x1248 - GameTime_t m_flLastStackTime; // 0x124c + float m_fTotalDamage; // 0x1318 + GameTime_t m_flLastStackTime; // 0x131c }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PrimalBeast_Uproar_Slow : public CDOTA_Buff { public: - int32_t move_slow_per_stack; // 0x11e8 + int32_t move_slow_per_stack; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_PrimalBeast_Uproar_Roared_Self : public CDOTA_Buff { public: - int32_t roared_bonus_attack_speed; // 0x11e8 - int32_t roared_bonus_armor; // 0x11ec - int32_t m_nBuffStackCount; // 0x11f0 + int32_t roared_bonus_attack_speed; // 0x12b8 + int32_t roared_bonus_armor; // 0x12bc + int32_t m_nBuffStackCount; // 0x12c0 }; // Alignment: 11 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Primal_Beast_Uproar_Projectile_Thinker : public CDOTA_Buff { public: - int32_t projectiles_per_stack; // 0x11e8 - int32_t projectile_speed; // 0x11ec - int32_t projectile_distance; // 0x11f0 - int32_t projectile_width; // 0x11f4 - int32_t splinter_angle; // 0x11f8 - float split_delay; // 0x11fc - int32_t projectile_waves; // 0x1200 - int32_t m_nCurrentWaveCount; // 0x1204 - int32_t tectonic_shift_projectiles; // 0x1208 + int32_t projectiles_per_stack; // 0x12b8 + int32_t projectile_speed; // 0x12bc + int32_t projectile_distance; // 0x12c0 + int32_t projectile_width; // 0x12c4 + int32_t splinter_angle; // 0x12c8 + float split_delay; // 0x12cc + int32_t projectile_waves; // 0x12d0 + int32_t m_nCurrentWaveCount; // 0x12d4 + int32_t tectonic_shift_projectiles; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlVector< CHandle< CBaseEntity > > m_vecEnemiesHit; // 0x1210 - CUtlVector< int32 > m_vecProjectileHandles; // 0x1228 + CUtlVector< CHandle< CBaseEntity > > m_vecEnemiesHit; // 0x12e0 + CUtlVector< int32 > m_vecProjectileHandles; // 0x12f8 }; // Alignment: 7 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_PrimalBeast_Rock_Throw : public CDOTABaseAbility { public: - int32_t base_damage; // 0x558 - int32_t impact_radius; // 0x55c - int32_t fragment_impact_radius; // 0x560 - int32_t fragment_impact_distance; // 0x564 - int32_t min_range; // 0x568 - float stun_duration; // 0x56c - ParticleIndex_t m_nFXPreview; // 0x570 + int32_t base_damage; // 0x568 + int32_t impact_radius; // 0x56c + int32_t fragment_impact_radius; // 0x570 + int32_t fragment_impact_distance; // 0x574 + int32_t min_range; // 0x578 + float stun_duration; // 0x57c + ParticleIndex_t m_nFXPreview; // 0x580 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Muerta_Gunslinger : public CDOTA_Buff { public: - float double_shot_chance; // 0x11e8 - float target_search_bonus_range; // 0x11ec - CHandle< CBaseEntity > m_hSecondaryTarget; // 0x11f0 + float double_shot_chance; // 0x12b8 + float target_search_bonus_range; // 0x12bc + CHandle< CBaseEntity > m_hSecondaryTarget; // 0x12c0 }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Muerta_PierceTheVeil : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 9 -// Size: 0x5b0 +// Size: 0x5c0 class CDOTA_Ability_Muerta_DeadShot : public CDOTABaseAbility { public: - int32_t radius; // 0x558 - int32_t ricochet_radius_start; // 0x55c - int32_t ricochet_radius_end; // 0x560 - int32_t speed; // 0x564 - Vector m_vTargetPos; // 0x568 - Vector m_vEndpoint; // 0x574 - CHandle< CBaseEntity > m_hTreeTarget; // 0x580 - Vector m_vRicochetDir; // 0x584 + int32_t radius; // 0x568 + int32_t ricochet_radius_start; // 0x56c + int32_t ricochet_radius_end; // 0x570 + int32_t speed; // 0x574 + Vector m_vTargetPos; // 0x578 + Vector m_vEndpoint; // 0x584 + CHandle< CBaseEntity > m_hTreeTarget; // 0x590 + Vector m_vRicochetDir; // 0x594 private: - [[maybe_unused]] uint8_t __pad0590[0x8]; // 0x590 + [[maybe_unused]] uint8_t __pad05a0[0x8]; // 0x5a0 public: - CUtlVector< CHandle< CBaseEntity > > m_vEnemyHeroVisibilityOnCast; // 0x598 + CUtlVector< CHandle< CBaseEntity > > m_vEnemyHeroVisibilityOnCast; // 0x5a8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Muerta_DeadShot_Slow : public CDOTA_Buff { public: - int32_t impact_slow_percent; // 0x11e8 + int32_t impact_slow_percent; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Muerta_DeadShot_Fear : public CDOTA_Buff { public: - Vector m_vFearDir; // 0x11e8 + Vector m_vFearDir; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Muerta_PierceTheVeil : public CDOTABaseAbility { public: @@ -73214,7 +74436,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Muerta_PierceTheVeilTransform : public CDOTA_Buff { public: @@ -73222,20 +74444,20 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Muerta_PierceTheVeil_Buff : public CDOTA_Buff { public: - int32_t modelscale; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t spell_lifesteal; // 0x11f0 - int32_t attack_projectile_speed_bonus; // 0x11f4 - int32_t attack_range_bonus; // 0x11f8 - int32_t m_iOriginalAttackCapabilities; // 0x11fc + int32_t modelscale; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t spell_lifesteal; // 0x12c0 + int32_t attack_projectile_speed_bonus; // 0x12c4 + int32_t attack_range_bonus; // 0x12c8 + int32_t m_iOriginalAttackCapabilities; // 0x12cc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Muerta_PierceTheVeil_MagicImmunityDamageCancel : public CDOTA_Buff { public: @@ -73243,7 +74465,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Muerta_PierceTheVeil_SpellAmpBoost : public CDOTA_Buff { public: @@ -73251,7 +74473,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Muerta_TheCalling_Invulnerable : public CDOTA_Buff { public: @@ -73259,7 +74481,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Muerta_TheCalling : public CDOTABaseAbility { public: @@ -73267,47 +74489,47 @@ public: }; // Alignment: 15 -// Size: 0x1258 +// Size: 0x1328 class CDOTA_Modifier_Muerta_Revenant_Thinker : public CDOTA_Buff { public: - bool m_bSpiritsExplode; // 0x11e8 + bool m_bSpiritsExplode; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t damage; // 0x11ec - int32_t hit_radius; // 0x11f0 - int32_t dead_zone_distance; // 0x11f4 - float speed_initial; // 0x11f8 - float speed_max; // 0x11fc - float acceleration; // 0x1200 - int32_t num_revenants; // 0x1204 - int32_t rotation_direction; // 0x1208 - int32_t radius; // 0x120c - float rotation_initial; // 0x1210 - int32_t show_warning; // 0x1214 - ParticleIndex_t m_nWarningFX; // 0x1218 + int32_t damage; // 0x12bc + int32_t hit_radius; // 0x12c0 + int32_t dead_zone_distance; // 0x12c4 + float speed_initial; // 0x12c8 + float speed_max; // 0x12cc + float acceleration; // 0x12d0 + int32_t num_revenants; // 0x12d4 + int32_t rotation_direction; // 0x12d8 + int32_t radius; // 0x12dc + float rotation_initial; // 0x12e0 + int32_t show_warning; // 0x12e4 + ParticleIndex_t m_nWarningFX; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< sRevenantDef > m_SpiritDefs; // 0x1220 + CUtlVector< sRevenantDef > m_SpiritDefs; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad1238[0x18]; // 0x1238 + [[maybe_unused]] uint8_t __pad1308[0x18]; // 0x1308 public: - int32_t m_nRevenantImpacts; // 0x1250 + int32_t m_nRevenantImpacts; // 0x1320 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Muerta_TheCallingAuraSlow : public CDOTA_Buff { public: - int32_t aura_movespeed_slow; // 0x11e8 - int32_t aura_attackspeed_slow; // 0x11ec + int32_t aura_movespeed_slow; // 0x12b8 + int32_t aura_attackspeed_slow; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Muerta_TheCalling_Silence : public CDOTA_Buff { public: @@ -73315,7 +74537,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Muerta_Gunslinger : public CDOTABaseAbility { public: @@ -73323,17 +74545,17 @@ public: }; // Alignment: 2 -// Size: 0x560 +// Size: 0x570 class CDOTA_Ability_Muerta_PartingShot : public CDOTABaseAbility { public: // MNetworkEnable - CHandle< CBaseEntity > m_hAbilitySoulEntity; // 0x558 - CHandle< CBaseEntity > m_hTarget; // 0x55c + CHandle< CBaseEntity > m_hAbilitySoulEntity; // 0x568 + CHandle< CBaseEntity > m_hTarget; // 0x56c }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Muerta_PartingShot_Knockback : public CDOTA_Modifier_Knockback { public: @@ -73341,7 +74563,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Muerta_PartingShot_SoulClone : public CDOTA_Buff { public: @@ -73349,27 +74571,27 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Muerta_PartingShot_SoulDebuff : public CDOTA_Buff { public: - int32_t ethereal_damage_bonus; // 0x11e8 - int32_t movement_slow; // 0x11ec - CHandle< CBaseEntity > m_hPhysicalBody; // 0x11f0 - ParticleIndex_t m_nTetherFXIndex; // 0x11f4 + int32_t ethereal_damage_bonus; // 0x12b8 + int32_t movement_slow; // 0x12bc + CHandle< CBaseEntity > m_hPhysicalBody; // 0x12c0 + ParticleIndex_t m_nTetherFXIndex; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Muerta_PartingShot_ProjectileReturn : public CDOTA_Buff { public: - int32_t m_nProjectileHandle; // 0x11e8 - CHandle< CBaseEntity > m_hPhysicalBody; // 0x11ec + int32_t m_nProjectileHandle; // 0x12b8 + CHandle< CBaseEntity > m_hPhysicalBody; // 0x12bc }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Special_Bonus_Unique_Muerta_TrickShotCharges : public CDOTABaseAbility { public: @@ -73377,7 +74599,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Bracer : public CDOTA_Item { public: @@ -73385,28 +74607,28 @@ public: }; // Alignment: 1 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_Bracer : public CDOTA_Item { public: - int32_t counter; // 0x600 + int32_t counter; // 0x610 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Bracer : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_agility; // 0x11ec - int32_t bonus_intellect; // 0x11f0 - int32_t clock_time; // 0x11f4 - float bonus_health_regen; // 0x11f8 - int32_t bonus_damage; // 0x11fc + int32_t bonus_strength; // 0x12b8 + int32_t bonus_agility; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + int32_t clock_time; // 0x12c4 + float bonus_health_regen; // 0x12c8 + int32_t bonus_damage; // 0x12cc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Gauntlets : public CDOTA_Item { public: @@ -73414,15 +74636,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Gauntlets : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 + int32_t bonus_strength; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Circlet : public CDOTA_Item { public: @@ -73430,15 +74652,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Circlet : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 + int32_t bonus_all_stats; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Slippers : public CDOTA_Item { public: @@ -73446,15 +74668,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Slippers : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 + int32_t bonus_agility; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_WraithBand : public CDOTA_Item { public: @@ -73462,28 +74684,28 @@ public: }; // Alignment: 1 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_WraithBand : public CDOTA_Item { public: - int32_t counter; // 0x600 + int32_t counter; // 0x610 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_WraithBand : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_agility; // 0x11ec - int32_t bonus_intellect; // 0x11f0 - int32_t bonus_attack_speed; // 0x11f4 - int32_t clock_time; // 0x11f8 - float bonus_armor; // 0x11fc + int32_t bonus_strength; // 0x12b8 + int32_t bonus_agility; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c4 + int32_t clock_time; // 0x12c8 + float bonus_armor; // 0x12cc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Mantle : public CDOTA_Item { public: @@ -73491,15 +74713,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Mantle : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 + int32_t bonus_intellect; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_NullTalisman : public CDOTA_Item { public: @@ -73507,28 +74729,28 @@ public: }; // Alignment: 1 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_NullTalisman : public CDOTA_Item { public: - int32_t counter; // 0x600 + int32_t counter; // 0x610 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_NullTalisman : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_agility; // 0x11ec - int32_t bonus_intellect; // 0x11f0 - float bonus_mana_regen; // 0x11f4 - int32_t bonus_max_mana_percentage; // 0x11f8 - int32_t clock_time; // 0x11fc + int32_t bonus_strength; // 0x12b8 + int32_t bonus_agility; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + float bonus_mana_regen; // 0x12c4 + int32_t bonus_max_mana_percentage; // 0x12c8 + int32_t clock_time; // 0x12cc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Tango : public CDOTA_Item { public: @@ -73536,33 +74758,33 @@ public: }; // Alignment: 2 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_Tango_Single : public CDOTA_Item { public: - GameTime_t m_flCreationTime; // 0x600 - float duration_to_use; // 0x604 + GameTime_t m_flCreationTime; // 0x610 + float duration_to_use; // 0x614 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_TangoHeal : public CDOTA_Buff { public: - float health_regen; // 0x11e8 - bool superheal; // 0x11ec + float health_regen; // 0x12b8 + bool superheal; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - float m_fHealingDone; // 0x11f0 + float m_fHealingDone; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlString m_sAbilityClassname; // 0x11f8 + CUtlString m_sAbilityClassname; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Clarity : public CDOTA_Item { public: @@ -73570,15 +74792,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ClarityPotion : public CDOTA_Buff { public: - float mana_regen; // 0x11e8 + float mana_regen; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Flask : public CDOTA_Item { public: @@ -73586,21 +74808,21 @@ public: }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_FlaskHealing : public CDOTA_Buff { public: - int32_t health_regen; // 0x11e8 - int32_t break_on_hero_damage; // 0x11ec - float m_fHealingDone; // 0x11f0 + int32_t health_regen; // 0x12b8 + int32_t break_on_hero_damage; // 0x12bc + float m_fHealingDone; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlString m_sAbilityClassname; // 0x11f8 + CUtlString m_sAbilityClassname; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_BootsOfSpeed : public CDOTA_Item { public: @@ -73608,15 +74830,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_BootsOfSpeed : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 + int32_t bonus_movement_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_BootsOfTravel : public CDOTA_Item { public: @@ -73624,7 +74846,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_BootsOfTravel_2 : public CDOTA_Item_Recipe_BootsOfTravel { public: @@ -73632,25 +74854,25 @@ public: }; // Alignment: 3 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_BootsOfTravel : public CDOTA_Item { public: - float m_flTeleportTimeOverride; // 0x600 - bool m_bPendingSellExcessScrolls; // 0x604 - bool m_bQueueSellScrolls; // 0x605 + float m_flTeleportTimeOverride; // 0x610 + bool m_bPendingSellExcessScrolls; // 0x614 + bool m_bQueueSellScrolls; // 0x615 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_BootsOfTravel : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 + int32_t bonus_movement_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_BootsOfTravel_2 : public CDOTA_Modifier_Item_BootsOfTravel { public: @@ -73658,7 +74880,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_BootsOfTravel_Incoming : public CDOTA_Buff { public: @@ -73666,7 +74888,7 @@ public: }; // Alignment: 0 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_BootsOfTravel_2 : public CDOTA_Item_BootsOfTravel { public: @@ -73674,7 +74896,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_PowerTreads : public CDOTA_Item { public: @@ -73682,29 +74904,29 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_PowerTreads : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed_ranged; // 0x11e8 - int32_t bonus_movement_speed_melee; // 0x11ec - int32_t bonus_attack_speed; // 0x11f0 - int32_t bonus_stat; // 0x11f4 - int32_t bonus_damage; // 0x11f8 + int32_t bonus_movement_speed_ranged; // 0x12b8 + int32_t bonus_movement_speed_melee; // 0x12bc + int32_t bonus_attack_speed; // 0x12c0 + int32_t bonus_stat; // 0x12c4 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_PowerTreads : public CDOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnPowerTreadsStatChanged" - int32_t m_iStat; // 0x600 + int32_t m_iStat; // 0x610 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_PhaseBoots : public CDOTA_Item { public: @@ -73712,7 +74934,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_PhaseBoots : public CDOTA_Item { public: @@ -73720,31 +74942,31 @@ public: }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_PhaseBoots : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_damage_melee; // 0x11ec - int32_t bonus_damage_range; // 0x11f0 - int32_t damage_block_melee; // 0x11f4 - int32_t damage_block_ranged; // 0x11f8 - int32_t block_chance; // 0x11fc - int32_t bonus_attack_speed; // 0x1200 - int32_t bonus_armor; // 0x1204 + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_damage_melee; // 0x12bc + int32_t bonus_damage_range; // 0x12c0 + int32_t damage_block_melee; // 0x12c4 + int32_t damage_block_ranged; // 0x12c8 + int32_t block_chance; // 0x12cc + int32_t bonus_attack_speed; // 0x12d0 + int32_t bonus_armor; // 0x12d4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_PhaseBoots_Active : public CDOTA_Buff { public: - int32_t phase_movement_speed; // 0x11e8 - int32_t phase_movement_speed_range; // 0x11ec + int32_t phase_movement_speed; // 0x12b8 + int32_t phase_movement_speed_range; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_TranquilBoots : public CDOTA_Item { public: @@ -73752,34 +74974,34 @@ public: }; // Alignment: 2 -// Size: 0x620 +// Size: 0x630 class CDOTA_Item_TranquilBoots : public CDOTA_Item { public: - int32_t break_count; // 0x600 + int32_t break_count; // 0x610 private: - [[maybe_unused]] uint8_t __pad0604[0x4]; // 0x604 + [[maybe_unused]] uint8_t __pad0614[0x4]; // 0x614 public: - CUtlVector< GameTime_t > m_DamageList; // 0x608 + CUtlVector< GameTime_t > m_DamageList; // 0x618 }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_TranquilBoots : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t broken_movement_speed; // 0x11ec - int32_t bonus_armor; // 0x11f0 - int32_t bonus_health_regen; // 0x11f4 - int32_t break_threshold; // 0x11f8 - int32_t break_time; // 0x11fc - int32_t break_count; // 0x1200 - float m_flResetTime; // 0x1204 + int32_t bonus_movement_speed; // 0x12b8 + int32_t broken_movement_speed; // 0x12bc + int32_t bonus_armor; // 0x12c0 + int32_t bonus_health_regen; // 0x12c4 + int32_t break_threshold; // 0x12c8 + int32_t break_time; // 0x12cc + int32_t break_count; // 0x12d0 + float m_flResetTime; // 0x12d4 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_TranquilBoots2 : public CDOTA_Item { public: @@ -73787,33 +75009,33 @@ public: }; // Alignment: 2 -// Size: 0x620 +// Size: 0x630 class CDOTA_Item_TranquilBoots2 : public CDOTA_Item { public: - int32_t break_count; // 0x600 + int32_t break_count; // 0x610 private: - [[maybe_unused]] uint8_t __pad0604[0x4]; // 0x604 + [[maybe_unused]] uint8_t __pad0614[0x4]; // 0x614 public: - CUtlVector< GameTime_t > m_DamageList; // 0x608 + CUtlVector< GameTime_t > m_DamageList; // 0x618 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_TranquilBoots2 : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t broken_movement_speed; // 0x11ec - int32_t bonus_armor; // 0x11f0 - int32_t bonus_health_regen; // 0x11f4 - int32_t break_threshold; // 0x11f8 - int32_t break_time; // 0x11fc - int32_t break_count; // 0x1200 + int32_t bonus_movement_speed; // 0x12b8 + int32_t broken_movement_speed; // 0x12bc + int32_t bonus_armor; // 0x12c0 + int32_t bonus_health_regen; // 0x12c4 + int32_t break_threshold; // 0x12c8 + int32_t break_time; // 0x12cc + int32_t break_count; // 0x12d0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Hermes_Sandals : public CDOTA_Item { public: @@ -73821,7 +75043,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Hermes_Sandals : public CDOTA_Item { public: @@ -73829,30 +75051,30 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Hermes_Sandals : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_damage_melee; // 0x11ec - int32_t bonus_damage_range; // 0x11f0 - int32_t bonus_armor; // 0x11f4 - int32_t bonus_agility; // 0x11f8 + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_damage_melee; // 0x12bc + int32_t bonus_damage_range; // 0x12c0 + int32_t bonus_armor; // 0x12c4 + int32_t bonus_agility; // 0x12c8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Hermes_Sandals_Active : public CDOTA_Buff { public: - int32_t phase_movement_speed; // 0x11e8 - int32_t phase_movement_speed_range; // 0x11ec - ParticleIndex_t m_nFXIndex; // 0x11f0 - bool m_bWasRooted; // 0x11f4 + int32_t phase_movement_speed; // 0x12b8 + int32_t phase_movement_speed_range; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c0 + bool m_bWasRooted; // 0x12c4 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Samurai_Tabi : public CDOTA_Item { public: @@ -73860,78 +75082,78 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Samurai_Tabi : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t bonus_all_stats; // 0x11f0 - int32_t bonus_damage; // 0x11f4 + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t bonus_all_stats; // 0x12c0 + int32_t bonus_damage; // 0x12c4 }; // Alignment: 1 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_Samurai_Tabi : public CDOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnSamurai_TabiStatChanged" - int32_t m_iStat; // 0x600 + int32_t m_iStat; // 0x610 }; // Alignment: 11 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Item_Samurai_Tabi_Str : public CDOTA_Buff_Item { public: - int32_t stat_per_tick; // 0x11e8 - int32_t bonus_all_stats; // 0x11ec - float base_interval; // 0x11f0 - int32_t max_tick_count; // 0x11f4 - float str_root_duration; // 0x11f8 - float str_root_cooldown; // 0x11fc - int32_t str_root_chance; // 0x1200 - float str_bonus_damage; // 0x1204 - int32_t iCurrentTickCount; // 0x1208 - GameTime_t m_flLastRootTime; // 0x120c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1210 + int32_t stat_per_tick; // 0x12b8 + int32_t bonus_all_stats; // 0x12bc + float base_interval; // 0x12c0 + int32_t max_tick_count; // 0x12c4 + float str_root_duration; // 0x12c8 + float str_root_cooldown; // 0x12cc + int32_t str_root_chance; // 0x12d0 + float str_bonus_damage; // 0x12d4 + int32_t iCurrentTickCount; // 0x12d8 + GameTime_t m_flLastRootTime; // 0x12dc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Samurai_Tabi_Agi : public CDOTA_Buff_Item { public: - int32_t stat_per_tick; // 0x11e8 - float base_interval; // 0x11ec - int32_t max_tick_count; // 0x11f0 - int32_t bonus_all_stats; // 0x11f4 - int32_t agi_counter_chance; // 0x11f8 - float agi_counter_cooldown; // 0x11fc - GameTime_t m_flLastCounterTime; // 0x1200 - int32_t iCurrentTickCount; // 0x1204 + int32_t stat_per_tick; // 0x12b8 + float base_interval; // 0x12bc + int32_t max_tick_count; // 0x12c0 + int32_t bonus_all_stats; // 0x12c4 + int32_t agi_counter_chance; // 0x12c8 + float agi_counter_cooldown; // 0x12cc + GameTime_t m_flLastCounterTime; // 0x12d0 + int32_t iCurrentTickCount; // 0x12d4 }; // Alignment: 10 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Item_Samurai_Tabi_Int : public CDOTA_Buff_Item { public: - int32_t stat_per_tick; // 0x11e8 - float base_interval; // 0x11ec - int32_t max_tick_count; // 0x11f0 - float int_damage_interval; // 0x11f4 - float int_damage_range; // 0x11f8 - float int_damage; // 0x11fc - int32_t iCurrentTickCount; // 0x1200 - int32_t int_max_targets; // 0x1204 - GameTime_t m_flNextHit; // 0x1208 - int32_t bonus_all_stats; // 0x120c + int32_t stat_per_tick; // 0x12b8 + float base_interval; // 0x12bc + int32_t max_tick_count; // 0x12c0 + float int_damage_interval; // 0x12c4 + float int_damage_range; // 0x12c8 + float int_damage; // 0x12cc + int32_t iCurrentTickCount; // 0x12d0 + int32_t int_max_targets; // 0x12d4 + GameTime_t m_flNextHit; // 0x12d8 + int32_t bonus_all_stats; // 0x12dc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_GlovesOfHaste : public CDOTA_Item { public: @@ -73939,15 +75161,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifer_Item_GlovesOfHaste : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 + int32_t bonus_attack_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_BeltOfStrength : public CDOTA_Item { public: @@ -73955,15 +75177,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_BeltOfStrength : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 + int32_t bonus_strength; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_RobeOfMagi : public CDOTA_Item { public: @@ -73971,15 +75193,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_RobeOfMagi : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 + int32_t bonus_intellect; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_BootsOfElven : public CDOTA_Item { public: @@ -73987,15 +75209,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_BootsOfElven : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 + int32_t bonus_agility; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_BladesOfAttack : public CDOTA_Item { public: @@ -74003,27 +75225,27 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_BladesOfAttack : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 3 -// Size: 0x610 +// Size: 0x620 class CDOTA_Item_EmptyBottle : public CDOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnStoredRuneChanged" - int32_t m_iStoredRuneType; // 0x600 - GameTime_t m_fStoredRuneTime; // 0x604 - float rune_expire_time; // 0x608 + int32_t m_iStoredRuneType; // 0x610 + GameTime_t m_fStoredRuneTime; // 0x614 + float rune_expire_time; // 0x618 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_EmptyBottle : public CDOTA_Buff_Item { public: @@ -74031,20 +75253,20 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_BottleRegeneration : public CDOTA_Buff { public: - int32_t health_restore; // 0x11e8 - int32_t mana_restore; // 0x11ec - int32_t health_restore_pct; // 0x11f0 - int32_t mana_restore_pct; // 0x11f4 - int32_t break_on_hero_damage; // 0x11f8 - float m_fHealingDone; // 0x11fc + int32_t health_restore; // 0x12b8 + int32_t mana_restore; // 0x12bc + int32_t health_restore_pct; // 0x12c0 + int32_t mana_restore_pct; // 0x12c4 + int32_t break_on_hero_damage; // 0x12c8 + float m_fHealingDone; // 0x12cc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_DemonEdge : public CDOTA_Item { public: @@ -74052,15 +75274,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_DemonEdge : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Eaglehorn : public CDOTA_Item { public: @@ -74068,15 +75290,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_EagleHorn : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 + int32_t bonus_agility; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Reaver : public CDOTA_Item { public: @@ -74084,15 +75306,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Reaver : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 + int32_t bonus_strength; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_SacredRelic : public CDOTA_Item { public: @@ -74100,15 +75322,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_SacredRelic : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Hyperstone : public CDOTA_Item { public: @@ -74116,15 +75338,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Hyperstone : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 + int32_t bonus_attack_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_RingOfHealth : public CDOTA_Item { public: @@ -74132,15 +75354,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_RingOfHealth : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x11e8 + float bonus_health_regen; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_VoidStone : public CDOTA_Item { public: @@ -74148,15 +75370,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_VoidStone : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x11e8 + float bonus_mana_regen; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_MysticStaff : public CDOTA_Item { public: @@ -74164,15 +75386,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_MysticStaff : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 + int32_t bonus_intellect; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_EnergyBooster : public CDOTA_Item { public: @@ -74180,15 +75402,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_EnergyBooster : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x11e8 + int32_t bonus_mana; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_PointBooster : public CDOTA_Item { public: @@ -74196,16 +75418,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_PointBooster : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x11e8 - int32_t bonus_health; // 0x11ec + int32_t bonus_mana; // 0x12b8 + int32_t bonus_health; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_VitalityBooster : public CDOTA_Item { public: @@ -74213,15 +75435,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_VitalityBooster : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 + int32_t bonus_health; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Broadsword : public CDOTA_Item { public: @@ -74229,15 +75451,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Broadsword : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Quarterstaff : public CDOTA_Item { public: @@ -74245,16 +75467,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Quarterstaff : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_speed; // 0x11ec + int32_t bonus_damage; // 0x12b8 + int32_t bonus_speed; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Claymore : public CDOTA_Item { public: @@ -74262,15 +75484,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Claymore : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_RingOfProtection : public CDOTA_Item { public: @@ -74278,15 +75500,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_RingOfProtection : public CDOTA_Buff_Item { public: - float bonus_armor; // 0x11e8 + float bonus_armor; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_StoutShield : public CDOTA_Item { public: @@ -74294,17 +75516,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_StoutShield : public CDOTA_Buff_Item { public: - int32_t damage_block_melee; // 0x11e8 - int32_t damage_block_ranged; // 0x11ec - int32_t block_chance; // 0x11f0 + int32_t damage_block_melee; // 0x12b8 + int32_t damage_block_ranged; // 0x12bc + int32_t block_chance; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Javelin : public CDOTA_Item { public: @@ -74312,17 +75534,17 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Javelin : public CDOTA_Buff_Item { public: - int32_t bonus_chance; // 0x11e8 - int32_t bonus_chance_damage; // 0x11ec - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + int32_t bonus_chance; // 0x12b8 + int32_t bonus_chance_damage; // 0x12bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_MithrilHammer : public CDOTA_Item { public: @@ -74330,15 +75552,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_MithrilHammer : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_ChainMail : public CDOTA_Item { public: @@ -74346,15 +75568,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_ChainMail : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_HelmOfIronWill : public CDOTA_Item { public: @@ -74362,16 +75584,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_HelmOfIronWill : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 - float bonus_regen; // 0x11ec + int32_t bonus_armor; // 0x12b8 + float bonus_regen; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_PlateMail : public CDOTA_Item { public: @@ -74379,15 +75601,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_PlateMail : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_QuellingBlade : public CDOTA_Item { public: @@ -74395,16 +75617,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_QuellingBlade : public CDOTA_Buff_Item { public: - int32_t damage_bonus; // 0x11e8 - int32_t damage_bonus_ranged; // 0x11ec + int32_t damage_bonus; // 0x12b8 + int32_t damage_bonus_ranged; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_IronwoodBranch : public CDOTA_Item { public: @@ -74412,15 +75634,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_IronwoodBranch : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 + int32_t bonus_all_stats; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_OgreAxe : public CDOTA_Item { public: @@ -74428,15 +75650,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_OgreAxe : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 + int32_t bonus_strength; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_BladeOfAlacrity : public CDOTA_Item { public: @@ -74444,15 +75666,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_BladeOfAlacrity : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 + int32_t bonus_agility; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_StaffOfWizardry : public CDOTA_Item { public: @@ -74460,15 +75682,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_StaffOfWizardry : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 + int32_t bonus_intellect; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_UltimateOrb : public CDOTA_Item { public: @@ -74476,15 +75698,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_UltimateOrb : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 + int32_t bonus_all_stats; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_MaskOfDeath : public CDOTA_Item { public: @@ -74492,16 +75714,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_MaskOfDeath : public CDOTA_Buff_Item { public: - int32_t lifesteal_percent; // 0x11e8 - int32_t creep_lifesteal_reduction_pct; // 0x11ec + int32_t lifesteal_percent; // 0x12b8 + int32_t creep_lifesteal_reduction_pct; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_RingOfRegeneration : public CDOTA_Item { public: @@ -74509,15 +75731,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_RingOfRegeneration : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x11e8 + float bonus_health_regen; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_BlinkDagger : public CDOTA_Item { public: @@ -74525,7 +75747,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_SuperBlinkDagger : public CDOTA_Item_BlinkDagger { public: @@ -74533,15 +75755,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_BlinkDagger : public CDOTA_Buff_Item { public: - float blink_damage_cooldown; // 0x11e8 + float blink_damage_cooldown; // 0x12b8 }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_SuperBlinkDagger : public CDOTA_Modifier_Item_BlinkDagger { public: @@ -74549,7 +75771,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_SobiMask : public CDOTA_Item { public: @@ -74557,43 +75779,43 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_SobiMask : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x11e8 + float bonus_mana_regen; // 0x12b8 }; // Alignment: 4 -// Size: 0x610 +// Size: 0x620 class CDOTA_Item_GemOfTrueSight : public CDOTA_Item { public: - int32_t m_iTempViewer; // 0x600 - int32_t m_iTeam; // 0x604 - int32_t m_nFXIndex; // 0x608 - CHandle< CBaseEntity > m_hThinker; // 0x60c + int32_t m_iTempViewer; // 0x610 + int32_t m_iTeam; // 0x614 + int32_t m_nFXIndex; // 0x618 + CHandle< CBaseEntity > m_hThinker; // 0x61c }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_GemOfTrueSight : public CDOTA_Buff_Item { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Gem_Active_TrueSight : public CDOTA_Buff { public: - int32_t active_radius; // 0x11e8 - float duration; // 0x11ec + int32_t active_radius; // 0x12b8 + float duration; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_PlaneswalkersCloak : public CDOTA_Item { public: @@ -74601,15 +75823,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_PlaneswalkersCloak : public CDOTA_Buff_Item { public: - int32_t bonus_magical_armor; // 0x11e8 + int32_t bonus_magical_armor; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_MagicStick : public CDOTA_Item { public: @@ -74617,16 +75839,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_MagicStick : public CDOTA_Buff_Item { public: - int32_t charge_radius; // 0x11e8 - int32_t max_charges; // 0x11ec + int32_t charge_radius; // 0x12b8 + int32_t max_charges; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_MagicWand : public CDOTA_Item { public: @@ -74634,7 +75856,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_MagicWand : public CDOTA_Item { public: @@ -74642,17 +75864,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_MagicWand : public CDOTA_Buff_Item { public: - int32_t charge_radius; // 0x11e8 - int32_t max_charges; // 0x11ec - int32_t bonus_all_stats; // 0x11f0 + int32_t charge_radius; // 0x12b8 + int32_t max_charges; // 0x12bc + int32_t bonus_all_stats; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_TalismanOfEvasion : public CDOTA_Item { public: @@ -74660,15 +75882,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_TalismanOfEvasion : public CDOTA_Buff_Item { public: - int32_t bonus_evasion; // 0x11e8 + int32_t bonus_evasion; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_GhostScepter : public CDOTA_Item { public: @@ -74676,23 +75898,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_GhostScepter : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 + int32_t bonus_all_stats; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_GhostScepter_Active : public CDOTA_Buff { public: - int32_t extra_spell_damage_percent; // 0x11e8 + int32_t extra_spell_damage_percent; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_HandOfMidas : public CDOTA_Item { public: @@ -74700,23 +75922,25 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_HandOfMidas : public CDOTA_Item { public: // No members available }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Item_HandOfMidas : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 + int32_t bonus_attack_speed; // 0x12b8 + float charge_gain_timer; // 0x12bc + int32_t max_charges; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_OblivionStaff : public CDOTA_Item { public: @@ -74724,7 +75948,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_OblivionStaff : public CDOTA_Item { public: @@ -74732,18 +75956,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_OblivionStaff : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t bonus_damage; // 0x11f0 - float bonus_mana_regen; // 0x11f4 + int32_t bonus_intellect; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t bonus_damage; // 0x12c0 + float bonus_mana_regen; // 0x12c4 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Perseverance : public CDOTA_Item { public: @@ -74751,7 +75975,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Perseverance : public CDOTA_Item { public: @@ -74759,16 +75983,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Perseverance : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x11e8 - float bonus_mana_regen; // 0x11ec + float bonus_health_regen; // 0x12b8 + float bonus_mana_regen; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_PoorMansShield : public CDOTA_Item { public: @@ -74776,7 +76000,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_PoorMansShield : public CDOTA_Item { public: @@ -74784,18 +76008,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_PoorMansShield : public CDOTA_Buff_Item { public: - int32_t damage_block_melee; // 0x11e8 - int32_t damage_block_ranged; // 0x11ec - int32_t block_chance; // 0x11f0 - int32_t bonus_agility; // 0x11f4 + int32_t damage_block_melee; // 0x12b8 + int32_t damage_block_ranged; // 0x12bc + int32_t block_chance; // 0x12c0 + int32_t bonus_agility; // 0x12c4 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_DustofAppearance : public CDOTA_Item { public: @@ -74803,28 +76027,28 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_DustofAppearance_Thinker : public CDOTA_Buff { public: - float radius; // 0x11e8 - float duration; // 0x11ec - float linger_duration; // 0x11f0 - int32_t movespeed; // 0x11f4 - float damage; // 0x11f8 + float radius; // 0x12b8 + float duration; // 0x12bc + float linger_duration; // 0x12c0 + int32_t movespeed; // 0x12c4 + float damage; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_DustofAppearance : public CDOTA_Buff { public: - int32_t movespeed; // 0x11e8 - bool m_bCastOnInvisibleHero; // 0x11ec + int32_t movespeed; // 0x12b8 + bool m_bCastOnInvisibleHero; // 0x12bc }; // Alignment: 0 -// Size: 0x8f0 +// Size: 0x900 class CDOTA_NoWardTrigger : public CBaseTrigger { public: @@ -74832,7 +76056,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Buff_Wards : public CDOTA_Buff { public: @@ -74840,7 +76064,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_ObserverWard : public CDOTA_Item { public: @@ -74848,7 +76072,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_ObserverWard : public CDOTA_Buff_Item { public: @@ -74856,7 +76080,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_SentryWard : public CDOTA_Item { public: @@ -74864,7 +76088,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_SentryWard : public CDOTA_Buff_Item { public: @@ -74872,29 +76096,29 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_WardTrueSight : public CDOTA_Buff { public: - int32_t true_sight_range; // 0x11e8 + int32_t true_sight_range; // 0x12b8 }; // Alignment: 7 -// Size: 0x628 +// Size: 0x638 class CDOTA_Item_TeleportScroll : public CDOTA_Item { public: - CHandle< CBaseEntity > m_hTeleportTarget; // 0x600 - ParticleIndex_t m_nFXOrigin; // 0x604 - ParticleIndex_t m_nFXDestination; // 0x608 - Vector m_vDestination; // 0x60c - int32_t m_iMinDistance; // 0x618 - float m_flBaseTeleportTime; // 0x61c - float m_flExtraTeleportTime; // 0x620 + CHandle< CBaseEntity > m_hTeleportTarget; // 0x610 + ParticleIndex_t m_nFXOrigin; // 0x614 + ParticleIndex_t m_nFXDestination; // 0x618 + Vector m_vDestination; // 0x61c + int32_t m_iMinDistance; // 0x628 + float m_flBaseTeleportTime; // 0x62c + float m_flExtraTeleportTime; // 0x630 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_DivineRapier : public CDOTA_Item { public: @@ -74902,7 +76126,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_DivineRapier : public CDOTA_Item { public: @@ -74910,15 +76134,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_DivineRapier : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_MonkeyKingBar : public CDOTA_Item { public: @@ -74926,7 +76150,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_MonkeyKingBar : public CDOTA_Item { public: @@ -74934,19 +76158,19 @@ public: }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Item_MonkeyKingBar : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_chance; // 0x11ec - int32_t bonus_chance_damage; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_chance; // 0x12bc + int32_t bonus_chance_damage; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Radiance : public CDOTA_Item { public: @@ -74954,7 +76178,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Radiance : public CDOTA_Item { public: @@ -74962,32 +76186,32 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Radiance : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t evasion; // 0x11ec - int32_t upgrade_day_vision; // 0x11f0 - int32_t aura_radius; // 0x11f4 - bool m_bLastToggleState; // 0x11f8 + int32_t bonus_damage; // 0x12b8 + int32_t evasion; // 0x12bc + int32_t upgrade_day_vision; // 0x12c0 + int32_t aura_radius; // 0x12c4 + bool m_bLastToggleState; // 0x12c8 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Radiance_Debuff : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - int32_t aura_damage; // 0x11f0 - int32_t aura_damage_upgrade_bonus; // 0x11f4 - int32_t aura_damage_illusions; // 0x11f8 - int32_t blind_pct; // 0x11fc + int32_t aura_damage; // 0x12c0 + int32_t aura_damage_upgrade_bonus; // 0x12c4 + int32_t aura_damage_illusions; // 0x12c8 + int32_t blind_pct; // 0x12cc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Butterfly : public CDOTA_Item { public: @@ -74995,7 +76219,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Butterfly : public CDOTA_Item { public: @@ -75003,26 +76227,27 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Butterfly_Extra : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x11e8 + int32_t bonus_move_speed; // 0x12b8 }; -// Alignment: 4 -// Size: 0x11f8 +// Alignment: 5 +// Size: 0x12d0 class CDOTA_Modifier_Item_Butterfly : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_agility; // 0x11ec - int32_t bonus_evasion; // 0x11f0 - int32_t bonus_attack_speed; // 0x11f4 + int32_t bonus_damage; // 0x12b8 + int32_t bonus_agility; // 0x12bc + int32_t bonus_evasion; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c4 + int32_t bonus_slow_resistance; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_GreaterCritical : public CDOTA_Item { public: @@ -75030,7 +76255,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_GreaterCritical : public CDOTA_Item { public: @@ -75038,17 +76263,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_GreaterCritical : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t crit_chance; // 0x11ec - int32_t crit_multiplier; // 0x11f0 + int32_t bonus_damage; // 0x12b8 + int32_t crit_chance; // 0x12bc + int32_t crit_multiplier; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_CraniumBasher : public CDOTA_Item { public: @@ -75056,7 +76281,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_CraniumBasher : public CDOTA_Item { public: @@ -75064,25 +76289,25 @@ public: }; // Alignment: 8 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Item_CraniumBasher : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bash_chance_melee; // 0x11ec - int32_t bash_chance_ranged; // 0x11f0 - float bash_duration; // 0x11f4 - float bash_cooldown; // 0x11f8 - int32_t bonus_chance_damage; // 0x11fc - int32_t bonus_damage; // 0x1200 + int32_t bonus_strength; // 0x12b8 + int32_t bash_chance_melee; // 0x12bc + int32_t bash_chance_ranged; // 0x12c0 + float bash_duration; // 0x12c4 + float bash_cooldown; // 0x12c8 + int32_t bonus_chance_damage; // 0x12cc + int32_t bonus_damage; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_AbyssalBlade : public CDOTA_Item { public: @@ -75090,7 +76315,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_AbyssalBlade : public CDOTA_Item { public: @@ -75098,30 +76323,30 @@ public: }; // Alignment: 13 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Item_AbyssalBlade : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bash_chance_melee; // 0x11ec - int32_t bash_chance_ranged; // 0x11f0 - float bash_duration; // 0x11f4 - float bash_cooldown; // 0x11f8 - int32_t bonus_chance_damage; // 0x11fc - int32_t bonus_damage; // 0x1200 + int32_t bonus_strength; // 0x12b8 + int32_t bash_chance_melee; // 0x12bc + int32_t bash_chance_ranged; // 0x12c0 + float bash_duration; // 0x12c4 + float bash_cooldown; // 0x12c8 + int32_t bonus_chance_damage; // 0x12cc + int32_t bonus_damage; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 - int32_t bonus_health; // 0x1220 - float bonus_health_regen; // 0x1224 - int32_t block_damage_ranged; // 0x1228 - int32_t block_damage_melee; // 0x122c - int32_t block_chance; // 0x1230 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 + int32_t bonus_health; // 0x12f0 + float bonus_health_regen; // 0x12f4 + int32_t block_damage_ranged; // 0x12f8 + int32_t block_damage_melee; // 0x12fc + int32_t block_chance; // 0x1300 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Battlefury : public CDOTA_Item { public: @@ -75129,7 +76354,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Battlefury : public CDOTA_Item { public: @@ -75137,26 +76362,26 @@ public: }; // Alignment: 12 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Item_Battlefury : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - float bonus_health_regen; // 0x11ec - float bonus_mana_regen; // 0x11f0 - int32_t cleave_damage_percent; // 0x11f4 - int32_t cleave_damage_percent_creep; // 0x11f8 - int32_t cleave_starting_width; // 0x11fc - int32_t cleave_ending_width; // 0x1200 - int32_t cleave_distance; // 0x1204 - int32_t upgraded_cleave_bonus; // 0x1208 - int32_t upgraded_damage_bonus; // 0x120c - int32_t quelling_bonus; // 0x1210 - int32_t quelling_bonus_ranged; // 0x1214 + int32_t bonus_damage; // 0x12b8 + float bonus_health_regen; // 0x12bc + float bonus_mana_regen; // 0x12c0 + int32_t cleave_damage_percent; // 0x12c4 + int32_t cleave_damage_percent_creep; // 0x12c8 + int32_t cleave_starting_width; // 0x12cc + int32_t cleave_ending_width; // 0x12d0 + int32_t cleave_distance; // 0x12d4 + int32_t upgraded_cleave_bonus; // 0x12d8 + int32_t upgraded_damage_bonus; // 0x12dc + int32_t quelling_bonus; // 0x12e0 + int32_t quelling_bonus_ranged; // 0x12e4 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_MantaStyle : public CDOTA_Item { public: @@ -75164,7 +76389,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_MantaStyle : public CDOTA_Item { public: @@ -75172,19 +76397,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_MantaStyle : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_strength; // 0x11ec - int32_t bonus_agility; // 0x11f0 - int32_t bonus_intellect; // 0x11f4 - int32_t bonus_movement_speed; // 0x11f8 + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_strength; // 0x12bc + int32_t bonus_agility; // 0x12c0 + int32_t bonus_intellect; // 0x12c4 + int32_t bonus_movement_speed; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Manta_Phase : public CDOTA_Buff { public: @@ -75192,7 +76417,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Manta : public CDOTA_Buff { public: @@ -75200,7 +76425,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_LesserCritical : public CDOTA_Item { public: @@ -75208,7 +76433,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_LesserCritical : public CDOTA_Item { public: @@ -75216,17 +76441,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_LesserCritical : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t crit_chance; // 0x11ec - int32_t crit_multiplier; // 0x11f0 + int32_t bonus_damage; // 0x12b8 + int32_t crit_chance; // 0x12bc + int32_t crit_multiplier; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Armlet : public CDOTA_Item { public: @@ -75234,43 +76459,44 @@ public: }; // Alignment: 3 -// Size: 0x610 +// Size: 0x620 class CDOTA_Item_Armlet : public CDOTA_Item { public: - float toggle_cooldown; // 0x600 - GameTime_t m_flLastActivateTime; // 0x604 - GameTime_t m_flLastDeactivateTime; // 0x608 + float toggle_cooldown; // 0x610 + GameTime_t m_flLastActivateTime; // 0x614 + GameTime_t m_flLastDeactivateTime; // 0x618 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Armlet : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t bonus_armor; // 0x11f0 - int32_t bonus_health_regen; // 0x11f4 + int32_t bonus_damage; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t bonus_armor; // 0x12c0 + int32_t bonus_health_regen; // 0x12c4 }; -// Alignment: 8 -// Size: 0x1208 +// Alignment: 9 +// Size: 0x12e0 class CDOTA_Modifier_Armlet_UnholyStrength : public CDOTA_Buff { public: - int32_t unholy_bonus_damage; // 0x11e8 - int32_t unholy_bonus_attack_speed; // 0x11ec - int32_t unholy_bonus_strength; // 0x11f0 - int32_t unholy_bonus_armor; // 0x11f4 - int32_t unholy_health_drain_per_second; // 0x11f8 - int32_t str_tick_count; // 0x11fc - float tick_interval; // 0x1200 - float m_flDamageRemainder; // 0x1204 + int32_t unholy_bonus_damage; // 0x12b8 + int32_t unholy_bonus_attack_speed; // 0x12bc + int32_t unholy_bonus_strength; // 0x12c0 + int32_t unholy_bonus_armor; // 0x12c4 + int32_t unholy_health_drain_per_second; // 0x12c8 + int32_t str_tick_count; // 0x12cc + int32_t unholy_bonus_slow_resistance; // 0x12d0 + float tick_interval; // 0x12d4 + float m_flDamageRemainder; // 0x12d8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_InvisibilityEdge : public CDOTA_Item { public: @@ -75278,7 +76504,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_InvisibilityEdge : public CDOTA_Item { public: @@ -75286,26 +76512,26 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_InvisibilityEdge : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_damage; // 0x11ec - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_damage; // 0x12bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_InvisibilityEdge_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t windwalk_bonus_damage; // 0x11f8 - int32_t windwalk_movement_speed; // 0x11fc + int32_t windwalk_bonus_damage; // 0x12c8 + int32_t windwalk_movement_speed; // 0x12cc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_SheepStick : public CDOTA_Item { public: @@ -75313,36 +76539,36 @@ public: }; // Alignment: 1 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_SheepStick : public CDOTA_Item { public: - int32_t upgrade_radius; // 0x600 + int32_t upgrade_radius; // 0x610 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_SheepStick : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_agility; // 0x11ec - int32_t bonus_intellect; // 0x11f0 - float bonus_mana_regen; // 0x11f4 - int32_t bonus_mana; // 0x11f8 - int32_t cast_range_bonus; // 0x11fc + int32_t bonus_strength; // 0x12b8 + int32_t bonus_agility; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + float bonus_mana_regen; // 0x12c4 + int32_t bonus_mana; // 0x12c8 + int32_t cast_range_bonus; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SheepStick_Debuff : public CDOTA_Modifier_Hexed { public: - float sheep_movement_speed; // 0x11e8 + float sheep_movement_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_OrchidMalevolence : public CDOTA_Item { public: @@ -75350,7 +76576,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_OrchidMalevolence : public CDOTA_Item { public: @@ -75358,28 +76584,28 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_OrchidMalevolence : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - float bonus_mana_regen; // 0x11ec - float bonus_health_regen; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - int32_t bonus_attack_speed; // 0x11f8 + int32_t bonus_intellect; // 0x12b8 + float bonus_mana_regen; // 0x12bc + float bonus_health_regen; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + int32_t bonus_attack_speed; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_OrchidMalevolence_Debuff : public CDOTA_Buff { public: - float silence_damage_percent; // 0x11e8 - float m_flDamageTaken; // 0x11ec + float silence_damage_percent; // 0x12b8 + float m_flDamageTaken; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_RodOfAtos : public CDOTA_Item { public: @@ -75387,25 +76613,26 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_RodOfAtos : public CDOTA_Item { public: // No members available }; -// Alignment: 3 -// Size: 0x11f8 +// Alignment: 4 +// Size: 0x12c8 class CDOTA_Modifier_Item_RodOfAtos : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_agility; // 0x11ec - int32_t bonus_intellect; // 0x11f0 + int32_t bonus_strength; // 0x12b8 + int32_t bonus_agility; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + int32_t bonus_hp; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_RodOfAtos_Debuff : public CDOTA_Modifier_Rooted { public: @@ -75413,7 +76640,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Cyclone : public CDOTA_Item { public: @@ -75421,7 +76648,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Cyclone : public CDOTA_Item { public: @@ -75429,25 +76656,25 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Cyclone : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t bonus_movement_speed; // 0x11f0 + int32_t bonus_intellect; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_movement_speed; // 0x12c0 }; // Alignment: 1 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Eul_Cyclone : public CDOTA_Modifier_Cyclone { public: - CHandle< CBaseEntity > m_hBlocker; // 0x1200 + CHandle< CBaseEntity > m_hBlocker; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Eul_Cyclone_Thinker : public CDOTA_Buff { public: @@ -75455,7 +76682,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_ForceStaff : public CDOTA_Item { public: @@ -75463,7 +76690,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_ForceStaff : public CDOTA_Item { public: @@ -75471,27 +76698,27 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_ForceStaff : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_intellect; // 0x11ec + int32_t bonus_health; // 0x12b8 + int32_t bonus_intellect; // 0x12bc }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_ForceStaff : public CDOTA_Buff { public: - Vector m_vDirection; // 0x11e8 - float m_flEndTime; // 0x11f4 - float m_flCurTime; // 0x11f8 - float push_length; // 0x11fc + Vector m_vDirection; // 0x12b8 + float m_flEndTime; // 0x12c4 + float m_flCurTime; // 0x12c8 + float push_length; // 0x12cc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Dagon : public CDOTA_Item { public: @@ -75499,7 +76726,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Dagon2 : public CDOTA_Item_Recipe_Dagon { public: @@ -75507,7 +76734,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Dagon3 : public CDOTA_Item_Recipe_Dagon { public: @@ -75515,7 +76742,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Dagon4 : public CDOTA_Item_Recipe_Dagon { public: @@ -75523,7 +76750,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Dagon5 : public CDOTA_Item_Recipe_Dagon { public: @@ -75531,7 +76758,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Dagon : public CDOTA_Item { public: @@ -75539,7 +76766,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Dagon : public CDOTA_Buff { public: @@ -75547,7 +76774,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Dagon_Upgraded : public CDOTA_Item_Dagon { public: @@ -75555,7 +76782,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Dagon_Upgraded2 : public CDOTA_Item_Dagon_Upgraded { public: @@ -75563,7 +76790,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Dagon_Upgraded3 : public CDOTA_Item_Dagon_Upgraded { public: @@ -75571,7 +76798,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Dagon_Upgraded4 : public CDOTA_Item_Dagon_Upgraded { public: @@ -75579,7 +76806,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Dagon_Upgraded5 : public CDOTA_Item_Dagon_Upgraded { public: @@ -75587,19 +76814,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Dagon : public CDOTA_Buff_Item { public: - int32_t bonus_int; // 0x11e8 - int32_t bonus_str; // 0x11ec - int32_t bonus_agi; // 0x11f0 - float passive_spell_lifesteal; // 0x11f4 - float dagon_spell_lifesteal; // 0x11f8 + int32_t bonus_int; // 0x12b8 + int32_t bonus_str; // 0x12bc + int32_t bonus_agi; // 0x12c0 + float passive_spell_lifesteal; // 0x12c4 + float dagon_spell_lifesteal; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_RefresherOrb : public CDOTA_Item { public: @@ -75607,7 +76834,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_RefresherOrb : public CDOTA_Item { public: @@ -75615,25 +76842,35 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_RefresherOrb : public CDOTA_Buff_Item { public: - int32_t bonus_health_regen; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t bonus_damage; // 0x11f0 + int32_t bonus_health_regen; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_damage; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_RefresherOrb_Shard : public CDOTA_Item { public: // No members available }; +// Alignment: 3 +// Size: 0x12c8 +class CDOTA_Modifier_Item_RefresherShard : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health_regen; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_damage; // 0x12c0 +}; + // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_UltimateScepter : public CDOTA_Item { public: @@ -75641,7 +76878,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_UltimateScepter_2 : public CDOTA_Item { public: @@ -75649,7 +76886,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_UltimateScepter_2 : public CDOTA_Item { public: @@ -75657,7 +76894,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_UltimateScepter : public CDOTA_Item { public: @@ -75665,7 +76902,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_UltimateScepter_Roshan : public CDOTA_Item { public: @@ -75673,18 +76910,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_UltimateScepter : public CDOTA_Buff_Item { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t bonus_all_stats; // 0x11ec - int32_t bonus_health; // 0x11f0 - int32_t bonus_mana; // 0x11f4 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t bonus_all_stats; // 0x12bc + int32_t bonus_health; // 0x12c0 + int32_t bonus_mana; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_UltimateScepter_Consumed : public CDOTA_Buff_Item { public: @@ -75692,18 +76929,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_UltimateScepter_Consumed_Alchemist : public CDOTA_Modifier_Item_UltimateScepter_Consumed { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t bonus_all_stats; // 0x11ec - int32_t bonus_health; // 0x11f0 - int32_t bonus_mana; // 0x11f4 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t bonus_all_stats; // 0x12bc + int32_t bonus_health; // 0x12c0 + int32_t bonus_mana; // 0x12c4 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Assault_Cuirass : public CDOTA_Item { public: @@ -75711,7 +76948,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Assault_Cuirass : public CDOTA_Item { public: @@ -75719,7 +76956,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Assault_Cuirass_Positive_Aura : public CDOTA_Buff_Item { public: @@ -75727,16 +76964,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Assault_Cuirass_Positive : public CDOTA_Buff { public: - int32_t aura_attack_speed; // 0x11e8 - int32_t aura_positive_armor; // 0x11ec + int32_t aura_attack_speed; // 0x12b8 + int32_t aura_positive_armor; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Assault_Cuirass_Negative_Armor_Aura : public CDOTA_Buff_Item { public: @@ -75744,24 +76981,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Assault_Cuirass_Negative_Armor : public CDOTA_Buff { public: - int32_t aura_negative_armor; // 0x11e8 + int32_t aura_negative_armor; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Assault_Cuirass : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_armor; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Heart : public CDOTA_Item { public: @@ -75769,7 +77006,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Heart : public CDOTA_Item { public: @@ -75777,17 +77014,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Heart : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_health; // 0x11ec - float health_regen_pct; // 0x11f0 + int32_t bonus_strength; // 0x12b8 + int32_t bonus_health; // 0x12bc + float health_regen_pct; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Black_King_Bar : public CDOTA_Item { public: @@ -75795,42 +77032,42 @@ public: }; // Alignment: 1 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_Black_King_Bar : public CDOTA_Item { public: - bool m_bActive; // 0x600 + bool m_bActive; // 0x610 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Black_King_Bar_Immune : public CDOTA_Modifier_DebuffImmune { public: - int32_t model_scale; // 0x11e8 - int32_t magic_resist; // 0x11ec + int32_t model_scale; // 0x12b8 + int32_t magic_resist; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Black_King_Bar : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_damage; // 0x11ec - float duration; // 0x11f0 + int32_t bonus_strength; // 0x12b8 + int32_t bonus_damage; // 0x12bc + float duration; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Aegis : public CDOTA_Buff_Item { public: - float reincarnate_time; // 0x11e8 + float reincarnate_time; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aegis_Regen : public CDOTA_Buff { public: @@ -75838,25 +77075,25 @@ public: }; // Alignment: 2 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_Aegis : public CDOTA_Item { public: - int32_t m_iKillerTeam; // 0x600 - GameTime_t m_fEquipTime; // 0x604 + int32_t m_iKillerTeam; // 0x610 + GameTime_t m_fEquipTime; // 0x614 }; // Alignment: 1 -// Size: 0x618 +// Size: 0x628 class CDOTA_Item_TierToken : public CDOTA_Item { public: // MNetworkEnable - AbilityID_t m_vecChoices[5]; // 0x600 + AbilityID_t m_vecChoices[5]; // 0x610 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Shivas_Guard : public CDOTA_Item { public: @@ -75864,7 +77101,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Shivas_Guard : public CDOTA_Item { public: @@ -75872,49 +77109,50 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Shivas_Guard : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - int32_t bonus_armor; // 0x11ec - int32_t aura_radius; // 0x11f0 + int32_t bonus_intellect; // 0x12b8 + int32_t bonus_armor; // 0x12bc + int32_t aura_radius; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Shivas_Guard_Aura : public CDOTA_Buff { public: - int32_t aura_attack_speed; // 0x11e8 - int32_t hp_regen_degen_aura; // 0x11ec + int32_t aura_attack_speed; // 0x12b8 + int32_t hp_regen_degen_aura; // 0x12bc }; -// Alignment: 8 -// Size: 0x1230 +// Alignment: 9 +// Size: 0x1308 class CDOTA_Modifier_Item_Shivas_Guard_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x11e8 - GameTime_t m_fLastThink; // 0x11ec - CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x11f0 - CountdownTimer m_ViewerTimer; // 0x1208 - int32_t blast_speed; // 0x1220 - int32_t blast_radius; // 0x1224 - int32_t blast_damage; // 0x1228 - float blast_debuff_duration; // 0x122c + float m_fCurRadius; // 0x12b8 + GameTime_t m_fLastThink; // 0x12bc + CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x12c0 + CountdownTimer m_ViewerTimer; // 0x12d8 + int32_t blast_speed; // 0x12f0 + int32_t blast_radius; // 0x12f4 + int32_t blast_damage; // 0x12f8 + int32_t illusion_multiplier_pct; // 0x12fc + float blast_debuff_duration; // 0x1300 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Shivas_Guard_Blast : public CDOTA_Buff { public: - int32_t blast_movement_speed; // 0x11e8 + int32_t blast_movement_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Bloodstone : public CDOTA_Item { public: @@ -75922,7 +77160,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Bloodstone : public CDOTA_Item { public: @@ -75930,7 +77168,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Bloodstone_Active : public CDOTA_Buff { public: @@ -75938,18 +77176,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Bloodstone : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_mana; // 0x11ec - float spell_lifesteal; // 0x11f0 - float lifesteal_multiplier; // 0x11f4 + int32_t bonus_health; // 0x12b8 + int32_t bonus_mana; // 0x12bc + float spell_lifesteal; // 0x12c0 + float lifesteal_multiplier; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Bloodstone_Drained : public CDOTA_Buff { public: @@ -75957,7 +77195,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Sange : public CDOTA_Item { public: @@ -75965,7 +77203,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Sange : public CDOTA_Item { public: @@ -75973,17 +77211,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Sange : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t hp_regen_amp; // 0x11ec - int32_t status_resistance; // 0x11f0 + int32_t bonus_strength; // 0x12b8 + int32_t hp_regen_amp; // 0x12bc + int32_t status_resistance; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Yasha : public CDOTA_Item { public: @@ -75991,7 +77229,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Yasha : public CDOTA_Item { public: @@ -75999,17 +77237,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Yasha : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t movement_speed_percent_bonus; // 0x11f0 + int32_t bonus_agility; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t movement_speed_percent_bonus; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_SangeAndYasha : public CDOTA_Item { public: @@ -76017,7 +77255,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_SangeAndYasha : public CDOTA_Item { public: @@ -76025,20 +77263,20 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_SangeAndYasha : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t movement_speed_percent_bonus; // 0x11f0 - int32_t bonus_strength; // 0x11f4 - int32_t hp_regen_amp; // 0x11f8 - int32_t status_resistance; // 0x11fc + int32_t bonus_agility; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t movement_speed_percent_bonus; // 0x12c0 + int32_t bonus_strength; // 0x12c4 + int32_t hp_regen_amp; // 0x12c8 + int32_t status_resistance; // 0x12cc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_MaskOfMadness : public CDOTA_Item { public: @@ -76046,7 +77284,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_MaskOfMadness : public CDOTA_Item { public: @@ -76054,28 +77292,28 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_MaskOfMadness : public CDOTA_Buff_Item { public: - int32_t lifesteal_percent; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t bonus_damage; // 0x11f0 - int32_t creep_lifesteal_reduction_pct; // 0x11f4 + int32_t lifesteal_percent; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t bonus_damage; // 0x12c0 + int32_t creep_lifesteal_reduction_pct; // 0x12c4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_MaskOfMadness_Berserk : public CDOTA_Buff { public: - int32_t berserk_bonus_attack_speed; // 0x11e8 - int32_t berserk_bonus_movement_speed; // 0x11ec - int32_t berserk_armor_reduction; // 0x11f0 + int32_t berserk_bonus_attack_speed; // 0x12b8 + int32_t berserk_bonus_movement_speed; // 0x12bc + int32_t berserk_armor_reduction; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Sphere : public CDOTA_Item { public: @@ -76083,7 +77321,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Sphere : public CDOTA_Item { public: @@ -76091,41 +77329,41 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Sphere : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 - float bonus_health_regen; // 0x11ec - float bonus_mana_regen; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - float block_cooldown; // 0x11f8 - float upgrade_absorb_duration; // 0x11fc + int32_t bonus_all_stats; // 0x12b8 + float bonus_health_regen; // 0x12bc + float bonus_mana_regen; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + float block_cooldown; // 0x12c8 + float upgrade_absorb_duration; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Sphere_Target : public CDOTA_Buff_Item { public: - float upgrade_absorb_duration; // 0x11e8 + float upgrade_absorb_duration; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Sphere_Upgrade_Absorb : public CDOTA_Buff { public: - int32_t damage_absorb; // 0x11e8 - bool m_bStartedTimer; // 0x11ec + int32_t damage_absorb; // 0x12b8 + bool m_bStartedTimer; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd public: - int32_t m_flDamageAbsorbed; // 0x11f0 + int32_t m_flDamageAbsorbed; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Vanguard : public CDOTA_Item { public: @@ -76133,7 +77371,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Vanguard : public CDOTA_Item { public: @@ -76141,19 +77379,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Vanguard : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - float bonus_health_regen; // 0x11ec - int32_t block_damage_ranged; // 0x11f0 - int32_t block_damage_melee; // 0x11f4 - int32_t block_chance; // 0x11f8 + int32_t bonus_health; // 0x12b8 + float bonus_health_regen; // 0x12bc + int32_t block_damage_ranged; // 0x12c0 + int32_t block_damage_melee; // 0x12c4 + int32_t block_chance; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Crimson_Guard : public CDOTA_Item { public: @@ -76161,7 +77399,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Crimson_Guard : public CDOTA_Item { public: @@ -76169,31 +77407,31 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Crimson_Guard_Extra : public CDOTA_Buff { public: - int32_t block_chance_active; // 0x11e8 - int32_t block_damage_active; // 0x11ec - int32_t strength_pct; // 0x11f0 + int32_t block_chance_active; // 0x12b8 + int32_t block_damage_active; // 0x12bc + int32_t strength_pct; // 0x12c0 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Crimson_Guard : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - float bonus_health_regen; // 0x11ec - float bonus_armor; // 0x11f0 - int32_t block_damage_ranged; // 0x11f4 - int32_t block_damage_melee; // 0x11f8 - int32_t block_chance; // 0x11fc - int32_t bonus_aoe_radius; // 0x1200 + int32_t bonus_health; // 0x12b8 + float bonus_health_regen; // 0x12bc + float bonus_armor; // 0x12c0 + int32_t block_damage_ranged; // 0x12c4 + int32_t block_damage_melee; // 0x12c8 + int32_t block_chance; // 0x12cc + int32_t bonus_aoe_radius; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Crimson_Guard_NoStack : public CDOTA_Buff { public: @@ -76201,7 +77439,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Blade_Mail : public CDOTA_Item { public: @@ -76209,7 +77447,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Blade_Mail : public CDOTA_Item { public: @@ -76217,7 +77455,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Blade_Mail_Reflect : public CDOTA_Buff { public: @@ -76225,20 +77463,20 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Blade_Mail : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_armor; // 0x11ec - int32_t bonus_intellect; // 0x11f0 - int32_t passive_reflection_constant; // 0x11f4 - int32_t passive_reflection_pct; // 0x11f8 - int32_t active_reflection_pct; // 0x11fc + int32_t bonus_damage; // 0x12b8 + int32_t bonus_armor; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + int32_t passive_reflection_constant; // 0x12c4 + int32_t passive_reflection_pct; // 0x12c8 + int32_t active_reflection_pct; // 0x12cc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Soul_Booster : public CDOTA_Item { public: @@ -76246,7 +77484,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Soul_Booster : public CDOTA_Item { public: @@ -76254,17 +77492,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Soul_Booster : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_mana; // 0x11ec - int32_t bonus_magical_armor; // 0x11f0 + int32_t bonus_health; // 0x12b8 + int32_t bonus_mana; // 0x12bc + int32_t bonus_magical_armor; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Hood_Of_Defiance : public CDOTA_Item { public: @@ -76272,7 +77510,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Hood_Of_Defiance : public CDOTA_Item { public: @@ -76280,25 +77518,25 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Hood_Of_Defiance_Barrier : public CDOTA_Buff { public: - int32_t barrier_block; // 0x11e8 - int32_t barrier_amount; // 0x11ec + int32_t barrier_block; // 0x12b8 + int32_t barrier_amount; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Hood_Of_Defiance : public CDOTA_Buff_Item { public: - int32_t bonus_spell_resist; // 0x11e8 - float bonus_health_regen; // 0x11ec + int32_t bonus_spell_resist; // 0x12b8 + float bonus_health_regen; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Mekansm : public CDOTA_Item { public: @@ -76306,7 +77544,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Mekansm : public CDOTA_Item { public: @@ -76314,24 +77552,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Mekansm : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t aura_radius; // 0x12b8 + int32_t bonus_armor; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Mekansm_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x11e8 + float aura_health_regen; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Mekansm_Noheal : public CDOTA_Buff { public: @@ -76339,7 +77577,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Vladmir : public CDOTA_Item { public: @@ -76347,7 +77585,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Vladmir : public CDOTA_Item { public: @@ -76355,27 +77593,27 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Vladmir : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Vladmir_Aura : public CDOTA_Buff { public: - int32_t lifesteal_aura; // 0x11e8 - int32_t damage_aura; // 0x11ec - float armor_aura; // 0x11f0 - float mana_regen_aura; // 0x11f4 - int32_t creep_lifesteal_reduction_pct; // 0x11f8 + int32_t lifesteal_aura; // 0x12b8 + int32_t damage_aura; // 0x12bc + float armor_aura; // 0x12c0 + float mana_regen_aura; // 0x12c4 + int32_t creep_lifesteal_reduction_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Buckler : public CDOTA_Item { public: @@ -76383,28 +77621,28 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Buckler : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x11e8 + bool m_bAppliesToCreeps; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t bonus_aoe_radius; // 0x11ec - float armor; // 0x11f0 + int32_t bonus_aoe_radius; // 0x12bc + float armor; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Buckler_Effect : public CDOTA_Buff { public: - float bonus_aoe_armor; // 0x11e8 + float bonus_aoe_armor; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Buckler : public CDOTA_Item { public: @@ -76412,7 +77650,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Ring_Of_Basilius : public CDOTA_Item { public: @@ -76420,7 +77658,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Ring_Of_Basilius : public CDOTA_Item { public: @@ -76428,24 +77666,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Ring_Of_Basilius : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x11e8 - float mana_regen; // 0x11ec + int32_t aura_radius; // 0x12b8 + float mana_regen; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Ring_Of_Basilius_Effect : public CDOTA_Buff { public: - float aura_mana_regen; // 0x11e8 + float aura_mana_regen; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Pipe : public CDOTA_Item { public: @@ -76453,7 +77691,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Pipe : public CDOTA_Item { public: @@ -76461,37 +77699,37 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Pipe : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 - float health_regen; // 0x11ec - int32_t magic_resistance; // 0x11f0 - int32_t aura_radius; // 0x11f4 + int32_t bonus_all_stats; // 0x12b8 + float health_regen; // 0x12bc + int32_t magic_resistance; // 0x12c0 + int32_t aura_radius; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Pipe_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x11e8 - int32_t magic_resistance_aura; // 0x11ec + float aura_health_regen; // 0x12b8 + int32_t magic_resistance_aura; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Pipe_Barrier : public CDOTA_Buff { public: - int32_t barrier_amount; // 0x11e8 - int32_t barrier_block; // 0x11ec - int32_t barrier_block_creep; // 0x11f0 + int32_t barrier_amount; // 0x12b8 + int32_t barrier_block; // 0x12bc + int32_t barrier_block_creep; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Pipe_Debuff : public CDOTA_Buff { public: @@ -76499,7 +77737,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Urn_Of_Shadows : public CDOTA_Item { public: @@ -76507,7 +77745,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Urn_Of_Shadows : public CDOTA_Item { public: @@ -76515,34 +77753,34 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Urn_Of_Shadows : public CDOTA_Buff_Item { public: - float mana_regen; // 0x11e8 - int32_t bonus_all_stats; // 0x11ec - float bonus_armor; // 0x11f0 + float mana_regen; // 0x12b8 + int32_t bonus_all_stats; // 0x12bc + float bonus_armor; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Urn_Heal : public CDOTA_Buff { public: - int32_t soul_heal_amount; // 0x11e8 - float m_fHealingDone; // 0x11ec + int32_t soul_heal_amount; // 0x12b8 + float m_fHealingDone; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Urn_Damage : public CDOTA_Buff { public: - int32_t soul_damage_amount; // 0x11e8 + int32_t soul_damage_amount; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Headdress : public CDOTA_Item { public: @@ -76550,7 +77788,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Headdress : public CDOTA_Item { public: @@ -76558,24 +77796,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Headdress : public CDOTA_Buff_Item { public: - float health_regen; // 0x11e8 - int32_t aura_radius; // 0x11ec + float health_regen; // 0x12b8 + int32_t aura_radius; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Headdress_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x11e8 + float aura_health_regen; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Satanic : public CDOTA_Item { public: @@ -76583,7 +77821,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Satanic : public CDOTA_Item { public: @@ -76591,27 +77829,27 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Satanic : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_strength; // 0x11ec - int32_t lifesteal_percent; // 0x11f0 - int32_t unholy_lifesteal_percent; // 0x11f4 - int32_t creep_lifesteal_reduction_pct; // 0x11f8 + int32_t bonus_damage; // 0x12b8 + int32_t bonus_strength; // 0x12bc + int32_t lifesteal_percent; // 0x12c0 + int32_t unholy_lifesteal_percent; // 0x12c4 + int32_t creep_lifesteal_reduction_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Satanic_Unholy : public CDOTA_Buff { public: - int32_t unholy_lifesteal_percent; // 0x11e8 + int32_t unholy_lifesteal_percent; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_HelmOfTheDominator : public CDOTA_Item { public: @@ -76619,7 +77857,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_HelmOfTheDominator_2 : public CDOTA_Item { public: @@ -76627,7 +77865,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_HelmOfTheOverlord : public CDOTA_Item { public: @@ -76635,7 +77873,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_HelmOfTheDominator : public CDOTA_Item { public: @@ -76643,7 +77881,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_HelmOfTheDominator_2 : public CDOTA_Item_HelmOfTheDominator { public: @@ -76651,7 +77889,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_HelmOfTheOverlord : public CDOTA_Item_HelmOfTheDominator { public: @@ -76659,17 +77897,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_HelmOfTheDominator : public CDOTA_Buff_Item { public: - int32_t bonus_stats; // 0x11e8 - int32_t bonus_armor; // 0x11ec - float bonus_regen; // 0x11f0 + int32_t bonus_stats; // 0x12b8 + int32_t bonus_armor; // 0x12bc + float bonus_regen; // 0x12c0 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_HelmOfTheDominator_2 : public CDOTA_Modifier_Item_HelmOfTheDominator { public: @@ -76677,22 +77915,22 @@ public: }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_HelmOfTheDominator_BonusHealth : public CDOTA_Buff { public: - int32_t health_min; // 0x11e8 - int32_t new_max; // 0x11ec - int32_t health_bonus; // 0x11f0 - int32_t model_scale; // 0x11f4 - int32_t creep_bonus_damage; // 0x11f8 - int32_t creep_bonus_hp_regen; // 0x11fc - int32_t creep_bonus_mp_regen; // 0x1200 - int32_t creep_bonus_armor; // 0x1204 + int32_t health_min; // 0x12b8 + int32_t new_max; // 0x12bc + int32_t health_bonus; // 0x12c0 + int32_t model_scale; // 0x12c4 + int32_t creep_bonus_damage; // 0x12c8 + int32_t creep_bonus_hp_regen; // 0x12cc + int32_t creep_bonus_mp_regen; // 0x12d0 + int32_t creep_bonus_armor; // 0x12d4 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Desolator : public CDOTA_Item { public: @@ -76700,7 +77938,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Desolator : public CDOTA_Item { public: @@ -76708,31 +77946,31 @@ public: }; // Alignment: 6 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Item_Desolator : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_damage_per_kill; // 0x11ec - int32_t bonus_damage_per_assist; // 0x11f0 - int32_t max_damage; // 0x11f4 - float corruption_duration; // 0x11f8 + int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage_per_kill; // 0x12bc + int32_t bonus_damage_per_assist; // 0x12c0 + int32_t max_damage; // 0x12c4 + float corruption_duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Desolator_Corruption : public CDOTA_Buff { public: - int32_t corruption_armor; // 0x11e8 + int32_t corruption_armor; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Revenants_Brooch : public CDOTA_Item { public: @@ -76740,56 +77978,61 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Revenants_Brooch : public CDOTA_Item { public: // No members available }; -// Alignment: 10 -// Size: 0x1238 +// Alignment: 11 +// Size: 0x1310 class CDOTA_Modifier_Item_Revenants_Brooch : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 - int32_t projectile_speed; // 0x11ec - int32_t bonus_intellect; // 0x11f0 - int32_t bonus_attack_speed; // 0x11f4 - int32_t mana_cost; // 0x11f8 - int32_t slow_duration; // 0x11fc - int32_t damage_penalty; // 0x1200 - int32_t passive_cooldown; // 0x1204 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 - CUtlVector< int16 > m_InFlightWitchBladeAttackRecords; // 0x1220 + int32_t bonus_armor; // 0x12b8 + int32_t projectile_speed; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c4 + int32_t mana_cost; // 0x12c8 + int32_t slow_duration; // 0x12cc + int32_t spell_amp_duration; // 0x12d0 + int32_t damage_penalty; // 0x12d4 + int32_t passive_cooldown; // 0x12d8 +private: + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 + CUtlVector< int16 > m_InFlightWitchBladeAttackRecords; // 0x12f8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Revenants_Brooch_InternalCD : public CDOTA_Buff { public: // No members available }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Item_Revenants_Brooch_Counter : public CDOTA_Buff { public: - float active_attack_speed; // 0x11e8 + float active_attack_speed; // 0x12b8 + float active_spell_amp; // 0x12bc }; -// Alignment: 0 -// Size: 0x11e8 +// Alignment: 1 +// Size: 0x12c0 class CDOTA_Modifier_Misery_Debuff : public CDOTA_Buff { public: - // No members available + int32_t active_mres_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Eagle_Eye : public CDOTA_Item { public: @@ -76797,27 +78040,27 @@ public: }; // Alignment: 4 -// Size: 0x610 +// Size: 0x620 class CDOTA_Item_EagleEye : public CDOTA_Item { public: - int32_t m_iTempViewer; // 0x600 - int32_t m_iTeam; // 0x604 - int32_t m_nFXIndex; // 0x608 - CHandle< CBaseEntity > m_hThinker; // 0x60c + int32_t m_iTempViewer; // 0x610 + int32_t m_iTeam; // 0x614 + int32_t m_nFXIndex; // 0x618 + CHandle< CBaseEntity > m_hThinker; // 0x61c }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_EagleEye : public CDOTA_Buff_Item { public: - int32_t radius; // 0x11e8 - int32_t bonus_agi; // 0x11ec + int32_t radius; // 0x12b8 + int32_t bonus_agi; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Tenderizer : public CDOTA_Item { public: @@ -76825,7 +78068,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Tenderizer : public CDOTA_Item { public: @@ -76833,33 +78076,33 @@ public: }; // Alignment: 11 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Item_Tenderizer : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_agility; // 0x11ec - int32_t bash_chance_melee; // 0x11f0 - int32_t bash_chance_ranged; // 0x11f4 - float bash_duration; // 0x11f8 - float bash_cooldown; // 0x11fc - int32_t bonus_chance_damage; // 0x1200 - int32_t bonus_damage; // 0x1204 - int32_t weaken_per_hit; // 0x1208 - float weaken_duration; // 0x120c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1210 + int32_t bonus_strength; // 0x12b8 + int32_t bonus_agility; // 0x12bc + int32_t bash_chance_melee; // 0x12c0 + int32_t bash_chance_ranged; // 0x12c4 + float bash_duration; // 0x12c8 + float bash_cooldown; // 0x12cc + int32_t bonus_chance_damage; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + int32_t weaken_per_hit; // 0x12d8 + float weaken_duration; // 0x12dc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 }; // Alignment: 1 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Tenderizer_Weaken : public CDOTA_Modifier_Stacking_Base { public: - int32_t weaken_per_hit; // 0x1208 + int32_t weaken_per_hit; // 0x12d8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Boots_Of_Bearing : public CDOTA_Item { public: @@ -76867,45 +78110,45 @@ public: }; // Alignment: 1 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_Boots_Of_Bearing : public CDOTA_Item { public: - int32_t radius; // 0x600 + int32_t radius; // 0x610 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Boots_Of_Bearing : public CDOTA_Buff_Item { public: - int32_t radius; // 0x11e8 - int32_t bonus_movement_speed; // 0x11ec - int32_t bonus_health_regen; // 0x11f0 - int32_t bonus_str; // 0x11f4 - int32_t bonus_int; // 0x11f8 + int32_t radius; // 0x12b8 + int32_t bonus_movement_speed; // 0x12bc + int32_t bonus_health_regen; // 0x12c0 + int32_t bonus_str; // 0x12c4 + int32_t bonus_int; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Boots_Of_Bearing_Aura : public CDOTA_Buff { public: - int32_t aura_movement_speed; // 0x11e8 + int32_t aura_movement_speed; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Boots_Of_Bearing_Active : public CDOTA_Buff { public: - int32_t bonus_attack_speed_pct; // 0x11e8 - int32_t bonus_movement_speed_pct; // 0x11ec - float bonus_ms_duration; // 0x11f0 + int32_t bonus_attack_speed_pct; // 0x12b8 + int32_t bonus_movement_speed_pct; // 0x12bc + float bonus_ms_duration; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_VoidwalkerScythe : public CDOTA_Item { public: @@ -76913,7 +78156,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_VoidwalkerScythe : public CDOTA_Item { public: @@ -76921,42 +78164,42 @@ public: }; // Alignment: 6 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Item_VoidwalkerScythe : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 - int32_t attacks; // 0x11ec - int32_t bonus_damage; // 0x11f0 - float buff_duration; // 0x11f4 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 - int32_t m_nCounter; // 0x1210 + int32_t bonus_agility; // 0x12b8 + int32_t attacks; // 0x12bc + int32_t bonus_damage; // 0x12c0 + float buff_duration; // 0x12c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + int32_t m_nCounter; // 0x12e0 }; // Alignment: 9 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Voidwalker_Phased : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - float max_damage_duration; // 0x11ec - int32_t attack_range_bonus; // 0x11f0 + int32_t damage; // 0x12b8 + float max_damage_duration; // 0x12bc + int32_t attack_range_bonus; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 - bool bAttackRange; // 0x1210 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + bool bAttackRange; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - float m_flStartTime; // 0x1214 - float m_flFadeTime; // 0x1218 - float m_flDamageScale; // 0x121c - float duration; // 0x1220 + float m_flStartTime; // 0x12e4 + float m_flFadeTime; // 0x12e8 + float m_flDamageScale; // 0x12ec + float duration; // 0x12f0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_WraithPact : public CDOTA_Item { public: @@ -76964,45 +78207,45 @@ public: }; // Alignment: 1 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_WraithPact : public CDOTA_Item { public: - CHandle< CBaseEntity > m_hWard; // 0x600 + CHandle< CBaseEntity > m_hWard; // 0x610 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_WraithPact : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x11e8 - int32_t bonus_mana; // 0x11ec - int32_t bonus_health; // 0x11f0 + int32_t aura_radius; // 0x12b8 + int32_t bonus_mana; // 0x12bc + int32_t bonus_health; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_WraithPact_Thinker : public CDOTA_Buff { public: - int32_t pact_aura_radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec - float aura_dps; // 0x11f0 + int32_t pact_aura_radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc + float aura_dps; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_WraithPact_DeathAura : public CDOTA_Buff { public: - int32_t armor_penalty_aura; // 0x11e8 - int32_t damage_penalty_aura; // 0x11ec - float aura_dps; // 0x11f0 + int32_t armor_penalty_aura; // 0x12b8 + int32_t damage_penalty_aura; // 0x12bc + float aura_dps; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Skadi : public CDOTA_Item { public: @@ -77010,7 +78253,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Skadi : public CDOTA_Item { public: @@ -77018,31 +78261,31 @@ public: }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Item_Skadi : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 - int32_t bonus_health; // 0x11ec - int32_t bonus_mana; // 0x11f0 - float cold_duration; // 0x11f4 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 + int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_health; // 0x12bc + int32_t bonus_mana; // 0x12c0 + float cold_duration; // 0x12c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Skadi_Slow : public CDOTA_Buff { public: - int32_t cold_slow_melee; // 0x11e8 - int32_t cold_attack_slow_melee; // 0x11ec - int32_t cold_slow_ranged; // 0x11f0 - int32_t cold_attack_slow_ranged; // 0x11f4 - int32_t heal_reduction; // 0x11f8 + int32_t cold_slow_melee; // 0x12b8 + int32_t cold_attack_slow_melee; // 0x12bc + int32_t cold_slow_ranged; // 0x12c0 + int32_t cold_attack_slow_ranged; // 0x12c4 + int32_t heal_reduction; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Mjollnir : public CDOTA_Item { public: @@ -77050,7 +78293,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Mjollnir : public CDOTA_Item { public: @@ -77058,64 +78301,64 @@ public: }; // Alignment: 8 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_MjollnirChain : public CDOTA_Buff { public: - int32_t chain_radius; // 0x11e8 - int32_t chain_strikes; // 0x11ec - int32_t chain_damage; // 0x11f0 - float chain_delay; // 0x11f4 - int32_t chain_damage_per_charge; // 0x11f8 - int32_t m_iCurJumpCount; // 0x11fc - Vector m_vCurTargetLoc; // 0x1200 + int32_t chain_radius; // 0x12b8 + int32_t chain_strikes; // 0x12bc + int32_t chain_damage; // 0x12c0 + float chain_delay; // 0x12c4 + int32_t chain_damage_per_charge; // 0x12c8 + int32_t m_iCurJumpCount; // 0x12cc + Vector m_vCurTargetLoc; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1210 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12e0 }; // Alignment: 11 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Item_Mjollnir : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t chain_chance; // 0x11f0 - int32_t chain_strikes; // 0x11f4 - int32_t chain_damage; // 0x11f8 - int32_t chain_radius; // 0x11fc - int32_t chain_damage_per_charge; // 0x1200 - int32_t max_charges; // 0x1204 - float chain_cooldown; // 0x1208 + int32_t bonus_damage; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t chain_chance; // 0x12c0 + int32_t chain_strikes; // 0x12c4 + int32_t chain_damage; // 0x12c8 + int32_t chain_radius; // 0x12cc + int32_t chain_damage_per_charge; // 0x12d0 + int32_t max_charges; // 0x12d4 + float chain_cooldown; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1210 - CountdownTimer m_ChainTimer; // 0x1228 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 + CountdownTimer m_ChainTimer; // 0x12f8 }; // Alignment: 9 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Item_Mjollnir_Static : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - int32_t static_chance; // 0x11f0 - int32_t static_strikes; // 0x11f4 - int32_t static_damage; // 0x11f8 - int32_t static_primary_radius; // 0x11fc - int32_t static_seconary_radius; // 0x1200 - int32_t static_radius; // 0x1204 - float static_cooldown; // 0x1208 - int32_t chain_damage_per_charge; // 0x120c - CountdownTimer m_StaticTimer; // 0x1210 + int32_t static_chance; // 0x12c0 + int32_t static_strikes; // 0x12c4 + int32_t static_damage; // 0x12c8 + int32_t static_primary_radius; // 0x12cc + int32_t static_seconary_radius; // 0x12d0 + int32_t static_radius; // 0x12d4 + float static_cooldown; // 0x12d8 + int32_t chain_damage_per_charge; // 0x12dc + CountdownTimer m_StaticTimer; // 0x12e0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Maelstrom : public CDOTA_Item { public: @@ -77123,7 +78366,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Maelstrom : public CDOTA_Item { public: @@ -77131,36 +78374,36 @@ public: }; // Alignment: 7 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_MaelstromChain : public CDOTA_Buff { public: - int32_t chain_radius; // 0x11e8 - int32_t chain_strikes; // 0x11ec - int32_t chain_damage; // 0x11f0 - float chain_delay; // 0x11f4 - int32_t m_iCurJumpCount; // 0x11f8 - Vector m_vCurTargetLoc; // 0x11fc - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1208 + int32_t chain_radius; // 0x12b8 + int32_t chain_strikes; // 0x12bc + int32_t chain_damage; // 0x12c0 + float chain_delay; // 0x12c4 + int32_t m_iCurJumpCount; // 0x12c8 + Vector m_vCurTargetLoc; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12d8 }; // Alignment: 8 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Item_Maelstrom : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t chain_chance; // 0x11ec - int32_t chain_strikes; // 0x11f0 - int32_t chain_damage; // 0x11f4 - int32_t chain_radius; // 0x11f8 - float chain_cooldown; // 0x11fc - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200 - CountdownTimer m_ChainTimer; // 0x1218 + int32_t bonus_damage; // 0x12b8 + int32_t chain_chance; // 0x12bc + int32_t chain_strikes; // 0x12c0 + int32_t chain_damage; // 0x12c4 + int32_t chain_radius; // 0x12c8 + float chain_cooldown; // 0x12cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + CountdownTimer m_ChainTimer; // 0x12e8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Diffusal_Blade : public CDOTA_Item { public: @@ -77168,7 +78411,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Diffusal_Blade2 : public CDOTA_Item_Recipe_Diffusal_Blade { public: @@ -77176,7 +78419,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Diffusal_Blade : public CDOTA_Item { public: @@ -77184,28 +78427,28 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Diffusal_Blade : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 - int32_t bonus_intellect; // 0x11ec - float damage_per_burn; // 0x11f0 - int32_t feedback_mana_burn; // 0x11f4 - int32_t feedback_mana_burn_illusion_melee; // 0x11f8 - int32_t feedback_mana_burn_illusion_ranged; // 0x11fc + int32_t bonus_agility; // 0x12b8 + int32_t bonus_intellect; // 0x12bc + float damage_per_burn; // 0x12c0 + int32_t feedback_mana_burn; // 0x12c4 + int32_t feedback_mana_burn_illusion_melee; // 0x12c8 + int32_t feedback_mana_burn_illusion_ranged; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Diffusal_Blade_Slow : public CDOTA_Buff { public: - int32_t purge_rate; // 0x11e8 + int32_t purge_rate; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Diffusal_Blade_Level2 : public CDOTA_Item_Diffusal_Blade { public: @@ -77213,7 +78456,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Ethereal_Blade : public CDOTA_Item { public: @@ -77221,7 +78464,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Ethereal_Blade : public CDOTA_Item { public: @@ -77229,36 +78472,36 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Ethereal_Blade : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_agility; // 0x11ec - int32_t bonus_intellect; // 0x11f0 - int32_t spell_amp; // 0x11f4 - int32_t spell_lifesteal_amp; // 0x11f8 - int32_t mana_regen_multiplier; // 0x11fc + int32_t bonus_strength; // 0x12b8 + int32_t bonus_agility; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + int32_t spell_amp; // 0x12c4 + int32_t spell_lifesteal_amp; // 0x12c8 + int32_t mana_regen_multiplier; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Ethereal_Blade_Ethereal : public CDOTA_Buff { public: - int32_t ethereal_damage_bonus; // 0x11e8 + int32_t ethereal_damage_bonus; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Ethereal_Blade_Slow : public CDOTA_Buff { public: - int32_t blast_movement_slow; // 0x11e8 + int32_t blast_movement_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Soul_Ring : public CDOTA_Item { public: @@ -77266,7 +78509,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Soul_Ring : public CDOTA_Item { public: @@ -77274,26 +78517,26 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Soul_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - float bonus_armor; // 0x11ec + int32_t bonus_strength; // 0x12b8 + float bonus_armor; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Soul_Ring_Buff : public CDOTA_Buff { public: - int32_t m_iTempExtraMaxMana; // 0x11e8 - int32_t m_iManaToRemove; // 0x11ec - float duration; // 0x11f0 + int32_t m_iTempExtraMaxMana; // 0x12b8 + int32_t m_iManaToRemove; // 0x12bc + float duration; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Necronomicon : public CDOTA_Item { public: @@ -77301,7 +78544,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Necronomicon_2 : public CDOTA_Item_Recipe_Necronomicon { public: @@ -77309,7 +78552,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Necronomicon_3 : public CDOTA_Item_Recipe_Necronomicon { public: @@ -77317,16 +78560,16 @@ public: }; // Alignment: 2 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_Necronomicon : public CDOTA_Item { public: - CHandle< CBaseEntity > m_hWarrior; // 0x600 - CHandle< CBaseEntity > m_hArcher; // 0x604 + CHandle< CBaseEntity > m_hWarrior; // 0x610 + CHandle< CBaseEntity > m_hArcher; // 0x614 }; // Alignment: 0 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_Necronomicon_Level2 : public CDOTA_Item_Necronomicon { public: @@ -77334,7 +78577,7 @@ public: }; // Alignment: 0 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_Necronomicon_Level3 : public CDOTA_Item_Necronomicon { public: @@ -77342,60 +78585,60 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Necronomicon : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - float bonus_mana_regen; // 0x11ec + int32_t bonus_strength; // 0x12b8 + float bonus_mana_regen; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Necronomicon_2 : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x11e8 - int32_t bonus_strength; // 0x11ec - int32_t aura_radius; // 0x11f0 + float bonus_mana_regen; // 0x12b8 + int32_t bonus_strength; // 0x12bc + int32_t aura_radius; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Necronomicon_3 : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x11e8 - int32_t bonus_strength; // 0x11ec - int32_t aura_radius; // 0x11f0 + float bonus_mana_regen; // 0x12b8 + int32_t bonus_strength; // 0x12bc + int32_t aura_radius; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Necronomicon_Mana_Aura : public CDOTA_Buff { public: - float aura_mana_regen; // 0x11e8 + float aura_mana_regen; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Necronomicon_Mana_Aura_2 : public CDOTA_Buff { public: - float aura_mana_regen; // 0x11e8 + float aura_mana_regen; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Necronomicon_Mana_Aura_3 : public CDOTA_Buff { public: - float aura_mana_regen; // 0x11e8 + float aura_mana_regen; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Necronomicon_Warrior_ManaBurn : public CDOTABaseAbility { public: @@ -77403,15 +78646,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Necronomicon_Warrior_ManaBurn : public CDOTA_Buff { public: - int32_t burn_amount; // 0x11e8 + int32_t burn_amount; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Necronomicon_Warrior_LastWill : public CDOTABaseAbility { public: @@ -77419,15 +78662,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Necronomicon_Warrior_LastWill : public CDOTA_Buff { public: - int32_t explosion; // 0x11e8 + int32_t explosion; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Necronomicon_Warrior_Sight : public CDOTABaseAbility { public: @@ -77435,15 +78678,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Necronomicon_Warrior_Sight : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Necronomicon_Archer_ManaBurn : public CDOTABaseAbility { public: @@ -77451,7 +78694,7 @@ public: }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Necronomicon_Archer_Purge : public CDOTABaseAbility { public: @@ -77459,15 +78702,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Necronomicon_Archer_Purge : public CDOTA_Buff { public: - int32_t purge_rate; // 0x11e8 + int32_t purge_rate; // 0x12b8 }; // Alignment: 0 -// Size: 0x558 +// Size: 0x568 class CDOTA_Ability_Necronomicon_Archer_AoE : public CDOTABaseAbility { public: @@ -77475,23 +78718,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Necronomicon_Archer_AoE : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Necronomicon_Archer_Aura : public CDOTA_Buff { public: - int32_t ms_bonus; // 0x11e8 + int32_t ms_bonus; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Courier : public CDOTA_Item { public: @@ -77499,7 +78742,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Flying_Courier : public CDOTA_Item { public: @@ -77507,7 +78750,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Cheese : public CDOTA_Item { public: @@ -77515,7 +78758,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Royale_With_Cheese : public CDOTA_Item { public: @@ -77523,21 +78766,21 @@ public: }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Royale_With_Cheese : public CDOTA_Buff { public: - float shield; // 0x11e8 - float regen; // 0x11ec - float idle; // 0x11f0 - int32_t m_nDamageAbsorbed; // 0x11f4 - GameTime_t m_timeLastTick; // 0x11f8 - GameTime_t m_timeLastDamage; // 0x11fc - ParticleIndex_t nFXIndex; // 0x1200 + float shield; // 0x12b8 + float regen; // 0x12bc + float idle; // 0x12c0 + int32_t m_nDamageAbsorbed; // 0x12c4 + GameTime_t m_timeLastTick; // 0x12c8 + GameTime_t m_timeLastDamage; // 0x12cc + ParticleIndex_t nFXIndex; // 0x12d0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Arcane_Boots : public CDOTA_Item { public: @@ -77545,7 +78788,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Arcane_Boots : public CDOTA_Item { public: @@ -77553,24 +78796,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Arcane_Boots : public CDOTA_Buff_Item { public: - int32_t bonus_movement; // 0x11e8 - int32_t bonus_mana; // 0x11ec + int32_t bonus_movement; // 0x12b8 + int32_t bonus_mana; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ArcaneBoots_ManaRegen : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Orb_of_Venom : public CDOTA_Item { public: @@ -77578,29 +78821,29 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Orb_of_Venom : public CDOTA_Buff_Item { public: - int32_t poison_movement_speed_melee; // 0x11e8 - int32_t poison_movement_speed_range; // 0x11ec - float poison_duration; // 0x11f0 - float poison_damage_melee; // 0x11f4 - float poison_damage_range; // 0x11f8 + int32_t poison_movement_speed_melee; // 0x12b8 + int32_t poison_movement_speed_range; // 0x12bc + float poison_duration; // 0x12c0 + float poison_damage_melee; // 0x12c4 + float poison_damage_range; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Orb_of_Venom_Slow : public CDOTA_Buff { public: - float duration; // 0x11e8 - float slow; // 0x11ec - float damage; // 0x11f0 + float duration; // 0x12b8 + float slow; // 0x12bc + float damage; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Ancient_Janggo : public CDOTA_Item { public: @@ -77608,42 +78851,42 @@ public: }; // Alignment: 1 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_Ancient_Janggo : public CDOTA_Item { public: - int32_t radius; // 0x600 + int32_t radius; // 0x610 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Ancient_Janggo : public CDOTA_Buff_Item { public: - int32_t radius; // 0x11e8 - int32_t bonus_str; // 0x11ec - int32_t bonus_int; // 0x11f0 + int32_t radius; // 0x12b8 + int32_t bonus_str; // 0x12bc + int32_t bonus_int; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Ancient_Janggo_Aura : public CDOTA_Buff { public: - int32_t aura_movement_speed; // 0x11e8 + int32_t aura_movement_speed; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Ancient_Janggo_Active : public CDOTA_Buff { public: - int32_t bonus_attack_speed_pct; // 0x11e8 - int32_t bonus_movement_speed_pct; // 0x11ec + int32_t bonus_attack_speed_pct; // 0x12b8 + int32_t bonus_movement_speed_pct; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Medallion_Of_Courage : public CDOTA_Item { public: @@ -77651,7 +78894,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Medallion_Of_Courage : public CDOTA_Item { public: @@ -77659,49 +78902,58 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Medallion_Of_Courage : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 - float bonus_mana_regen_pct; // 0x11ec + int32_t bonus_armor; // 0x12b8 + float bonus_mana_regen_pct; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Addition : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Reduction : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 + int32_t armor_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Smoke_Of_Deceit : public CDOTA_Item { public: // No members available }; -// Alignment: 2 -// Size: 0x1200 +// Alignment: 3 +// Size: 0x12d8 class CDOTA_Modifier_Smoke_Of_Deceit : public CDOTA_Modifier_Invisible { public: - int32_t bonus_movement_speed; // 0x11f8 - int32_t visibility_radius; // 0x11fc + int32_t bonus_movement_speed; // 0x12c8 + int32_t visibility_radius; // 0x12cc + int32_t secondary_application_radius; // 0x12d0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x12b8 +class CDOTA_Modifier_Smoke_Of_Deceit_Secondary_Application_Cooldown : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x610 class CDOTA_Item_Recipe_Veil_Of_Discord : public CDOTA_Item { public: @@ -77709,7 +78961,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Veil_Of_Discord : public CDOTA_Item { public: @@ -77717,45 +78969,45 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Veil_Of_Discord_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t debuff_radius; // 0x11ec - float resist_debuff_duration; // 0x11f0 - int32_t m_nHeroesHit; // 0x11f4 - bool m_bHitInvisibleHero; // 0x11f8 - bool m_bFirstPulse; // 0x11f9 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t debuff_radius; // 0x12bc + float resist_debuff_duration; // 0x12c0 + int32_t m_nHeroesHit; // 0x12c4 + bool m_bHitInvisibleHero; // 0x12c8 + bool m_bFirstPulse; // 0x12c9 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Veil_Of_Discord : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x11e8 - int32_t bonus_all_stats; // 0x11ec + int32_t aura_radius; // 0x12b8 + int32_t bonus_all_stats; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Veil_Of_Discord_Mana : public CDOTA_Buff { public: - float aura_mana_regen; // 0x11e8 + float aura_mana_regen; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Veil_Of_Discord_Debuff : public CDOTA_Buff { public: - int32_t spell_amp; // 0x11e8 + int32_t spell_amp; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_HeavensHalberd : public CDOTA_Item { public: @@ -77763,7 +79015,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_HeavensHalberd : public CDOTA_Item { public: @@ -77771,26 +79023,26 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_HeavensHalberd : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t hp_regen_amp; // 0x11ec - int32_t bonus_evasion; // 0x11f0 - int32_t status_resistance; // 0x11f4 + int32_t bonus_strength; // 0x12b8 + int32_t hp_regen_amp; // 0x12bc + int32_t bonus_evasion; // 0x12c0 + int32_t status_resistance; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_HeavensHalberd_Debuff : public CDOTA_Buff { public: - bool m_bPierceDebuffImmunity; // 0x11e8 + bool m_bPierceDebuffImmunity; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_RingOfAquila : public CDOTA_Item { public: @@ -77798,28 +79050,28 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_RingOfAquila_Aura : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x11e8 + bool m_bAppliesToCreeps; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t aura_radius; // 0x11ec + int32_t aura_radius; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_RingOfAquila_Aura_Bonus : public CDOTA_Buff { public: - int32_t aura_bonus_armor; // 0x11e8 - float aura_mana_regen; // 0x11ec + int32_t aura_bonus_armor; // 0x12b8 + float aura_mana_regen; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_RingOfAquila : public CDOTA_Item { public: @@ -77827,37 +79079,37 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_RingOfAquila : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_agility; // 0x11ec - int32_t bonus_intellect; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - int32_t bonus_armor; // 0x11f8 + int32_t bonus_strength; // 0x12b8 + int32_t bonus_agility; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 1 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_ShadowAmulet : public CDOTA_Item { public: - GameTime_t m_flLastTimeCast; // 0x600 + GameTime_t m_flLastTimeCast; // 0x610 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_ShadowAmulet_Fade : public CDOTA_Buff { public: - float fade_time; // 0x11e8 - GameTime_t m_flFadeTime; // 0x11ec - bool m_bFaded; // 0x11f0 + float fade_time; // 0x12b8 + GameTime_t m_flFadeTime; // 0x12bc + bool m_bFaded; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Moonshard : public CDOTA_Item { public: @@ -77865,7 +79117,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Moonshard : public CDOTA_Item { public: @@ -77873,25 +79125,25 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Moonshard : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_night_vision; // 0x11ec + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_night_vision; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Moonshard_Consumed : public CDOTA_Buff { public: - int32_t consumed_bonus; // 0x11e8 - int32_t consumed_bonus_night_vision; // 0x11ec + int32_t consumed_bonus; // 0x12b8 + int32_t consumed_bonus_night_vision; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Silver_Edge : public CDOTA_Item { public: @@ -77899,7 +79151,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Silver_Edge : public CDOTA_Item { public: @@ -77907,34 +79159,34 @@ public: }; // Alignment: 8 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Item_Silver_Edge : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t bonus_attack_speed; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - int32_t crit_chance; // 0x11f8 - int32_t crit_multiplier; // 0x11fc - float backstab_duration; // 0x1200 + int32_t bonus_intellect; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_attack_speed; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + int32_t crit_chance; // 0x12c8 + int32_t crit_multiplier; // 0x12cc + float backstab_duration; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 2 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Silver_Edge_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t windwalk_bonus_damage; // 0x11f8 - int32_t windwalk_movement_speed; // 0x11fc + int32_t windwalk_bonus_damage; // 0x12c8 + int32_t windwalk_movement_speed; // 0x12cc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Silver_Edge_Debuff : public CDOTA_Buff { public: @@ -77942,7 +79194,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_GlimmerCape : public CDOTA_Item { public: @@ -77950,7 +79202,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_GlimmerCape : public CDOTA_Item { public: @@ -77958,7 +79210,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_GlimmerCape_Building_Limit : public CDOTA_Buff { public: @@ -77966,30 +79218,30 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_GlimmerCape : public CDOTA_Buff_Item { public: - int32_t bonus_magical_armor; // 0x11e8 + int32_t bonus_magical_armor; // 0x12b8 }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_GlimmerCape_Fade : public CDOTA_Buff { public: - int32_t active_movement_speed; // 0x11e8 - int32_t barrier_block; // 0x11ec - int32_t barrier_amount; // 0x11f0 - float initial_fade_delay; // 0x11f4 - float secondary_fade_delay; // 0x11f8 - float m_flFadeTime; // 0x11fc - float m_flCurentFadeDelay; // 0x1200 - GameTime_t m_flLastActionTime; // 0x1204 + int32_t active_movement_speed; // 0x12b8 + int32_t barrier_block; // 0x12bc + int32_t barrier_amount; // 0x12c0 + float initial_fade_delay; // 0x12c4 + float secondary_fade_delay; // 0x12c8 + float m_flFadeTime; // 0x12cc + float m_flCurentFadeDelay; // 0x12d0 + GameTime_t m_flLastActionTime; // 0x12d4 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Solar_Crest : public CDOTA_Item { public: @@ -77997,7 +79249,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Solar_Crest : public CDOTA_Item { public: @@ -78005,39 +79257,39 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Solar_Crest : public CDOTA_Buff_Item { public: - float bonus_mana_regen_pct; // 0x11e8 - int32_t bonus_armor; // 0x11ec - int32_t bonus_all_stats; // 0x11f0 - int32_t self_movement_speed; // 0x11f4 - ParticleIndex_t nFXIndex; // 0x11f8 + float bonus_mana_regen_pct; // 0x12b8 + int32_t bonus_armor; // 0x12bc + int32_t bonus_all_stats; // 0x12c0 + int32_t self_movement_speed; // 0x12c4 + ParticleIndex_t nFXIndex; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Solar_Crest_Armor_Addition : public CDOTA_Buff { public: - int32_t target_armor; // 0x11e8 - int32_t target_attack_speed; // 0x11ec - int32_t target_movement_speed; // 0x11f0 + int32_t target_armor; // 0x12b8 + int32_t target_attack_speed; // 0x12bc + int32_t target_movement_speed; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Solar_Crest_Armor_Reduction : public CDOTA_Buff { public: - int32_t target_armor; // 0x11e8 - int32_t target_attack_speed; // 0x11ec - int32_t target_movement_speed; // 0x11f0 + int32_t target_armor; // 0x12b8 + int32_t target_attack_speed; // 0x12bc + int32_t target_movement_speed; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Ward_Dispenser : public CDOTA_Item { public: @@ -78045,7 +79297,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Ward_Dispenser : public CDOTA_Item { public: @@ -78053,15 +79305,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Ward_Dispenser : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 + int32_t bonus_health; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Ward_Delay : public CDOTA_Buff { public: @@ -78069,26 +79321,26 @@ public: }; // Alignment: 4 -// Size: 0x610 +// Size: 0x620 class CDOTA_Item_Ward_Maker : public CDOTA_Item { public: - float sentry_refresh; // 0x600 - int32_t max_sentry_charges; // 0x604 - GameTime_t m_flLastThinkTime; // 0x608 - float m_flTimeAccumulator; // 0x60c + float sentry_refresh; // 0x610 + int32_t max_sentry_charges; // 0x614 + GameTime_t m_flLastThinkTime; // 0x618 + float m_flTimeAccumulator; // 0x61c }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Ward_Maker : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 + int32_t bonus_health; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Guardian_Greaves : public CDOTA_Item { public: @@ -78096,7 +79348,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Guardian_Greaves : public CDOTA_Item { public: @@ -78104,30 +79356,30 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Guardian_Greaves : public CDOTA_Buff_Item { public: - int32_t bonus_movement; // 0x11e8 - int32_t bonus_mana; // 0x11ec - int32_t bonus_armor; // 0x11f0 - int32_t aura_radius; // 0x11f4 + int32_t bonus_movement; // 0x12b8 + int32_t bonus_mana; // 0x12bc + int32_t bonus_armor; // 0x12c0 + int32_t aura_radius; // 0x12c4 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Guardian_Greaves_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x11e8 - float aura_armor; // 0x11ec - float aura_health_regen_bonus; // 0x11f0 - float aura_armor_bonus; // 0x11f4 - int32_t aura_bonus_threshold; // 0x11f8 + float aura_health_regen; // 0x12b8 + float aura_armor; // 0x12bc + float aura_health_regen_bonus; // 0x12c0 + float aura_armor_bonus; // 0x12c4 + int32_t aura_bonus_threshold; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Enchanted_Mango : public CDOTA_Item { public: @@ -78135,15 +79387,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Enchanted_Mango : public CDOTA_Buff_Item { public: - float hp_regen; // 0x11e8 + float hp_regen; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Famango : public CDOTA_Item { public: @@ -78151,7 +79403,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_GreatFamango : public CDOTA_Item_Famango { public: @@ -78159,7 +79411,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_GreaterFamango : public CDOTA_Item_Famango { public: @@ -78167,7 +79419,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_GreatFamango : public CDOTA_Item { public: @@ -78175,7 +79427,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_GreaterFamango : public CDOTA_Item { public: @@ -78183,7 +79435,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Lotus_Orb : public CDOTA_Item { public: @@ -78191,7 +79443,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Lotus_Orb : public CDOTA_Item { public: @@ -78199,27 +79451,27 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Lotus_Orb : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t bonus_armor; // 0x11f0 - int32_t bonus_mana; // 0x11f4 - float block_cooldown; // 0x11f8 + float bonus_health_regen; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_armor; // 0x12c0 + int32_t bonus_mana; // 0x12c4 + float block_cooldown; // 0x12c8 }; // Alignment: 1 -// Size: 0x13c0 +// Size: 0x1490 class CDOTA_Modifier_Item_Lotus_Orb_Active : public CDOTA_Buff { public: - CModifierParams m_LastParams; // 0x11e8 + CModifierParams m_LastParams; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lotus_Orb_Delay : public CDOTA_Buff { public: @@ -78227,20 +79479,20 @@ public: }; // Alignment: 6 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Lotus_Orb_ChannelCheck : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hAbility; // 0x11e8 - CHandle< CBaseEntity > m_hTarget; // 0x11ec - Vector m_vLocation; // 0x11f0 - GameTime_t m_fChannelEnd; // 0x11fc - bool m_bInterrupt; // 0x1200 - bool m_bExpired; // 0x1201 + CHandle< CBaseEntity > m_hAbility; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12bc + Vector m_vLocation; // 0x12c0 + GameTime_t m_fChannelEnd; // 0x12cc + bool m_bInterrupt; // 0x12d0 + bool m_bExpired; // 0x12d1 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Octarine_Core : public CDOTA_Item { public: @@ -78248,7 +79500,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Octarine_Core : public CDOTA_Item { public: @@ -78256,19 +79508,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Octarine_Core : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_mana; // 0x11ec - float bonus_cooldown; // 0x11f0 - float bonus_health_regen; // 0x11f4 - float bonus_mana_regen; // 0x11f8 + int32_t bonus_health; // 0x12b8 + int32_t bonus_mana; // 0x12bc + float bonus_cooldown; // 0x12c0 + float bonus_health_regen; // 0x12c4 + float bonus_mana_regen; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Faerie_Fire : public CDOTA_Item { public: @@ -78276,15 +79528,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Faerie_Fire : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_DragonLance : public CDOTA_Item { public: @@ -78292,7 +79544,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_DragonLance : public CDOTA_Item { public: @@ -78300,17 +79552,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_DragonLance : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 - int32_t bonus_strength; // 0x11ec - int32_t base_attack_range; // 0x11f0 + int32_t bonus_agility; // 0x12b8 + int32_t bonus_strength; // 0x12bc + int32_t base_attack_range; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Aether_Lens : public CDOTA_Item { public: @@ -78318,7 +79570,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Aether_Lens : public CDOTA_Item { public: @@ -78326,17 +79578,71 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aether_Lens : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t cast_range_bonus; // 0x11f0 + int32_t bonus_mana; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t cast_range_bonus; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 +class CDOTA_Item_Recipe_Aetherial_Halo : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x610 +class CDOTA_Item_Halo : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 8 +// Size: 0x12d8 +class CDOTA_Modifier_Halo : public CDOTA_Buff_Item +{ +public: + int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_health; // 0x12bc + int32_t bonus_mana; // 0x12c0 + float bonus_mana_regen; // 0x12c4 + float slow_duration; // 0x12c8 + int32_t cast_range_bonus; // 0x12cc + int32_t aoe_bonus; // 0x12d0 + int32_t bonus_spell_damage; // 0x12d4 +}; + +// Alignment: 0 +// Size: 0x610 +class CDOTA_Item_Aetherial_Halo : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 8 +// Size: 0x12d8 +class CDOTA_Modifier_Aetherial_Halo : public CDOTA_Buff_Item +{ +public: + int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_health; // 0x12bc + int32_t bonus_mana; // 0x12c0 + float bonus_mana_regen; // 0x12c4 + float slow_duration; // 0x12c8 + int32_t cast_range_bonus; // 0x12cc + int32_t aoe_bonus; // 0x12d0 + int32_t bonus_spell_damage; // 0x12d4 +}; + +// Alignment: 0 +// Size: 0x610 class CDOTA_Item_Recipe_Iron_Talon : public CDOTA_Item { public: @@ -78344,7 +79650,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Iron_Talon : public CDOTA_Item { public: @@ -78352,16 +79658,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Iron_Talon : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - float bonus_armor; // 0x11ec + int32_t bonus_attack_speed; // 0x12b8 + float bonus_armor; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Bloodthorn : public CDOTA_Item { public: @@ -78369,7 +79675,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Bloodthorn : public CDOTA_Item { public: @@ -78377,37 +79683,37 @@ public: }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Item_Bloodthorn : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t bonus_damage; // 0x11f0 - int32_t bonus_attack_speed; // 0x11f4 - int32_t spell_amp; // 0x11f8 - int32_t mana_regen_multiplier; // 0x11fc - int32_t bonus_magic_resist; // 0x1200 - float duration; // 0x1204 - float bonus_health_regen; // 0x1208 + int32_t bonus_intellect; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_damage; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c4 + int32_t spell_amp; // 0x12c8 + int32_t mana_regen_multiplier; // 0x12cc + int32_t bonus_magic_resist; // 0x12d0 + float duration; // 0x12d4 + float bonus_health_regen; // 0x12d8 }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Bloodthorn_Debuff : public CDOTA_Buff { public: - float target_crit_multiplier; // 0x11e8 - float silence_damage_percent; // 0x11ec - float m_flDamageTaken; // 0x11f0 + float target_crit_multiplier; // 0x12b8 + float silence_damage_percent; // 0x12bc + float m_flDamageTaken; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< int16 > m_vRecords; // 0x11f8 + CUtlVector< int16 > m_vRecords; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_EchoSabre : public CDOTA_Item { public: @@ -78415,7 +79721,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_EchoSabre : public CDOTA_Item { public: @@ -78423,30 +79729,30 @@ public: }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_EchoSabre : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t bonus_damage; // 0x11f0 - float bonus_mana_regen; // 0x11f4 - int32_t bonus_strength; // 0x11f8 - float slow_duration; // 0x11fc - bool bonus_speed; // 0x1200 + int32_t bonus_intellect; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t bonus_damage; // 0x12c0 + float bonus_mana_regen; // 0x12c4 + int32_t bonus_strength; // 0x12c8 + float slow_duration; // 0x12cc + bool bonus_speed; // 0x12d0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EchoSabre_Debuff : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 - int32_t attack_speed_slow; // 0x11ec + int32_t movement_slow; // 0x12b8 + int32_t attack_speed_slow; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Blight_Stone : public CDOTA_Item { public: @@ -78454,27 +79760,27 @@ public: }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Blight_Stone : public CDOTA_Buff_Item { public: - float corruption_duration; // 0x11e8 + float corruption_duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Blight_Stone_Corruption : public CDOTA_Buff { public: - int32_t corruption_armor; // 0x11e8 + int32_t corruption_armor; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_WindLace : public CDOTA_Item { public: @@ -78482,15 +79788,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_WindLace : public CDOTA_Buff_Item { public: - int32_t movement_speed; // 0x11e8 + int32_t movement_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Tome_Of_Knowledge : public CDOTA_Item { public: @@ -78498,7 +79804,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tome_Of_Knowledge : public CDOTA_Buff { public: @@ -78506,7 +79812,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tome_Of_Knowledge_Consumed : public CDOTA_Buff { public: @@ -78514,7 +79820,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Hurricane_Pike : public CDOTA_Item { public: @@ -78522,7 +79828,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Hurricane_Pike : public CDOTA_Item { public: @@ -78530,56 +79836,56 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Hurricane_Pike : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_intellect; // 0x11ec - int32_t bonus_agility; // 0x11f0 - int32_t bonus_strength; // 0x11f4 - int32_t base_attack_range; // 0x11f8 + int32_t bonus_health; // 0x12b8 + int32_t bonus_intellect; // 0x12bc + int32_t bonus_agility; // 0x12c0 + int32_t bonus_strength; // 0x12c4 + int32_t base_attack_range; // 0x12c8 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Hurricane_Pike_Active : public CDOTA_Buff { public: - Vector m_vDirection; // 0x11e8 - float m_flEndTime; // 0x11f4 - float m_flCurTime; // 0x11f8 - float push_length; // 0x11fc + Vector m_vDirection; // 0x12b8 + float m_flEndTime; // 0x12c4 + float m_flCurTime; // 0x12c8 + float push_length; // 0x12cc }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Hurricane_Pike_Active_Alternate : public CDOTA_Buff { public: - Vector m_vDirection; // 0x11e8 - float m_flEndTime; // 0x11f4 - float m_flCurTime; // 0x11f8 - float enemy_length; // 0x11fc + Vector m_vDirection; // 0x12b8 + float m_flEndTime; // 0x12c4 + float m_flCurTime; // 0x12c8 + float enemy_length; // 0x12cc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Hurricane_Pike_Range : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - int32_t max_attacks; // 0x11ec - int32_t m_iNumAttacks; // 0x11f0 - bool bActive; // 0x11f4 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + int32_t max_attacks; // 0x12bc + int32_t m_iNumAttacks; // 0x12c0 + bool bActive; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - int32_t bonus_attack_speed; // 0x11f8 + int32_t bonus_attack_speed; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Infused_Raindrop : public CDOTA_Item { public: @@ -78587,29 +79893,29 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Infused_Raindrop : public CDOTA_Buff_Item { public: - float mana_regen; // 0x11e8 - float bonus_armor; // 0x11ec - int32_t bonus_magical_armor; // 0x11f0 - int32_t magic_damage_block; // 0x11f4 - int32_t min_damage; // 0x11f8 + float mana_regen; // 0x12b8 + float bonus_armor; // 0x12bc + int32_t bonus_magical_armor; // 0x12c0 + int32_t magic_damage_block; // 0x12c4 + int32_t min_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_RiverPainter : public CDOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnRiverColorChanged" - int32_t m_iRiverPaintColor; // 0x600 + int32_t m_iRiverPaintColor; // 0x610 }; // Alignment: 0 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_RiverPainter2 : public CDOTA_Item_RiverPainter { public: @@ -78617,7 +79923,7 @@ public: }; // Alignment: 0 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_RiverPainter3 : public CDOTA_Item_RiverPainter { public: @@ -78625,7 +79931,7 @@ public: }; // Alignment: 0 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_RiverPainter4 : public CDOTA_Item_RiverPainter { public: @@ -78633,7 +79939,7 @@ public: }; // Alignment: 0 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_RiverPainter5 : public CDOTA_Item_RiverPainter { public: @@ -78641,7 +79947,7 @@ public: }; // Alignment: 0 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_RiverPainter6 : public CDOTA_Item_RiverPainter { public: @@ -78649,7 +79955,7 @@ public: }; // Alignment: 0 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_RiverPainter7 : public CDOTA_Item_RiverPainter { public: @@ -78657,7 +79963,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_MeteorHammer : public CDOTA_Item { public: @@ -78665,47 +79971,47 @@ public: }; // Alignment: 2 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_MeteorHammer : public CDOTA_Item { public: - ParticleIndex_t m_nFXIndex; // 0x600 - ParticleIndex_t m_nFXIndexB; // 0x604 + ParticleIndex_t m_nFXIndex; // 0x610 + ParticleIndex_t m_nFXIndexB; // 0x614 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_MeteorHammer : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 - float bonus_health_regen; // 0x11ec - float bonus_mana_regen; // 0x11f0 + int32_t bonus_all_stats; // 0x12b8 + float bonus_health_regen; // 0x12bc + float bonus_mana_regen; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_MeteorHammer_Land : public CDOTA_Buff { public: - int32_t impact_radius; // 0x11e8 - float land_time; // 0x11ec - float burn_duration; // 0x11f0 + int32_t impact_radius; // 0x12b8 + float land_time; // 0x12bc + float burn_duration; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_MeteorHammer_Burn : public CDOTA_Buff { public: - int32_t burn_dps_buildings; // 0x11e8 - int32_t burn_dps_units; // 0x11ec - float burn_interval; // 0x11f0 - int32_t burn_slow; // 0x11f4 + int32_t burn_dps_buildings; // 0x12b8 + int32_t burn_dps_units; // 0x12bc + float burn_interval; // 0x12c0 + int32_t burn_slow; // 0x12c4 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Nullifier : public CDOTA_Item { public: @@ -78713,7 +80019,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Nullifier : public CDOTA_Item { public: @@ -78721,33 +80027,33 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Nullifier : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 - int32_t bonus_regen; // 0x11ec - int32_t bonus_damage; // 0x11f0 + int32_t bonus_armor; // 0x12b8 + int32_t bonus_regen; // 0x12bc + int32_t bonus_damage; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Nullifier_Mute : public CDOTA_Buff { public: - float slow_interval_duration; // 0x11e8 + float slow_interval_duration; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Nullifier_Slow : public CDOTA_Buff { public: - int32_t slow_pct; // 0x11e8 + int32_t slow_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Spirit_Vessel : public CDOTA_Item { public: @@ -78755,7 +80061,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Spirit_Vessel : public CDOTA_Item { public: @@ -78763,37 +80069,37 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Spirit_Vessel : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - float bonus_mana_regen; // 0x11ec - float bonus_armor; // 0x11f0 - int32_t bonus_all_stats; // 0x11f4 + int32_t bonus_health; // 0x12b8 + float bonus_mana_regen; // 0x12bc + float bonus_armor; // 0x12c0 + int32_t bonus_all_stats; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Spirit_Vessel_Heal : public CDOTA_Buff { public: - int32_t soul_heal_amount; // 0x11e8 - float m_fHealingDone; // 0x11ec + int32_t soul_heal_amount; // 0x12b8 + float m_fHealingDone; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Spirit_Vessel_Damage : public CDOTA_Buff { public: - int32_t hp_regen_reduction_enemy; // 0x11e8 - int32_t soul_damage_amount; // 0x11ec - float enemy_hp_drain; // 0x11f0 + int32_t hp_regen_reduction_enemy; // 0x12b8 + int32_t soul_damage_amount; // 0x12bc + float enemy_hp_drain; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_AeonDisk : public CDOTA_Item { public: @@ -78801,35 +80107,35 @@ public: }; // Alignment: 2 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_AeonDisk : public CDOTA_Item { public: - int32_t m_nUses; // 0x600 - int32_t max_level; // 0x604 + int32_t m_nUses; // 0x610 + int32_t max_level; // 0x614 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_AeonDisk : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_mana; // 0x11ec - int32_t health_threshold_pct; // 0x11f0 - float buff_duration; // 0x11f4 + int32_t bonus_health; // 0x12b8 + int32_t bonus_mana; // 0x12bc + int32_t health_threshold_pct; // 0x12c0 + float buff_duration; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_AeonDisk_Buff : public CDOTA_Buff { public: - int32_t status_resistance; // 0x11e8 + int32_t status_resistance; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Kaya : public CDOTA_Item { public: @@ -78837,7 +80143,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Kaya : public CDOTA_Item { public: @@ -78845,18 +80151,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Kaya : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - int32_t spell_amp; // 0x11ec - int32_t mana_regen_multiplier; // 0x11f0 - int32_t spell_lifesteal_amp; // 0x11f4 + int32_t bonus_intellect; // 0x12b8 + int32_t spell_amp; // 0x12bc + int32_t mana_regen_multiplier; // 0x12c0 + int32_t spell_lifesteal_amp; // 0x12c4 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_PocketTower : public CDOTA_Item { public: @@ -78864,7 +80170,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_PocketRoshan : public CDOTA_Item { public: @@ -78872,7 +80178,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Crown : public CDOTA_Item { public: @@ -78880,15 +80186,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Crown : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 + int32_t bonus_all_stats; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Holy_Locket : public CDOTA_Item { public: @@ -78896,38 +80202,37 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Holy_Locket : public CDOTA_Item { public: // No members available }; -// Alignment: 8 -// Size: 0x1208 +// Alignment: 7 +// Size: 0x12d8 class CDOTA_Modifier_Item_Holy_Locket : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x11e8 - int32_t bonus_health; // 0x11ec - int32_t bonus_mana; // 0x11f0 - int32_t heal_increase; // 0x11f4 - int32_t charge_radius; // 0x11f8 - int32_t max_charges; // 0x11fc - int32_t bonus_all_stats; // 0x1200 - int32_t charge_gain_timer; // 0x1204 + int32_t aura_radius; // 0x12b8 + int32_t bonus_health; // 0x12bc + int32_t bonus_mana; // 0x12c0 + int32_t heal_increase; // 0x12c4 + int32_t charge_radius; // 0x12c8 + int32_t max_charges; // 0x12cc + int32_t bonus_all_stats; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Holy_Locket_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x11e8 + float aura_health_regen; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Kaya_And_Sange : public CDOTA_Item { public: @@ -78935,7 +80240,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Kaya_And_Sange : public CDOTA_Item { public: @@ -78943,21 +80248,21 @@ public: }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Kaya_And_Sange : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t hp_regen_amp; // 0x11ec - int32_t bonus_intellect; // 0x11f0 - int32_t spell_amp; // 0x11f4 - int32_t mana_regen_multiplier; // 0x11f8 - int32_t status_resistance; // 0x11fc - int32_t spell_lifesteal_amp; // 0x1200 + int32_t bonus_strength; // 0x12b8 + int32_t hp_regen_amp; // 0x12bc + int32_t bonus_intellect; // 0x12c0 + int32_t spell_amp; // 0x12c4 + int32_t mana_regen_multiplier; // 0x12c8 + int32_t status_resistance; // 0x12cc + int32_t spell_lifesteal_amp; // 0x12d0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Yasha_And_Kaya : public CDOTA_Item { public: @@ -78965,7 +80270,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Yasha_And_Kaya : public CDOTA_Item { public: @@ -78973,32 +80278,32 @@ public: }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Yasha_And_Kaya : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t movement_speed_percent_bonus; // 0x11f0 - int32_t bonus_intellect; // 0x11f4 - int32_t spell_amp; // 0x11f8 - int32_t mana_regen_multiplier; // 0x11fc - int32_t spell_lifesteal_amp; // 0x1200 + int32_t bonus_agility; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t movement_speed_percent_bonus; // 0x12c0 + int32_t bonus_intellect; // 0x12c4 + int32_t spell_amp; // 0x12c8 + int32_t mana_regen_multiplier; // 0x12cc + int32_t spell_lifesteal_amp; // 0x12d0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Yasha_And_Kaya_Maim : public CDOTA_Buff { public: - int32_t maim_slow_movement; // 0x11e8 - int32_t maim_slow_attack; // 0x11ec - int32_t maim_slow_movement_range; // 0x11f0 - int32_t maim_slow_attack_range; // 0x11f4 + int32_t maim_slow_movement; // 0x12b8 + int32_t maim_slow_attack; // 0x12bc + int32_t maim_slow_movement_range; // 0x12c0 + int32_t maim_slow_attack_range; // 0x12c4 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_RingOfTarrasque : public CDOTA_Item { public: @@ -79006,16 +80311,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_RingOfTarrasque : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x11e8 - int32_t bonus_health; // 0x11ec + float bonus_health_regen; // 0x12b8 + int32_t bonus_health; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Diadem : public CDOTA_Item { public: @@ -79023,15 +80328,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Diadem : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 + int32_t bonus_all_stats; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Blood_Grenade : public CDOTA_Item { public: @@ -79039,7 +80344,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Blood_Grenade : public CDOTA_Item { public: @@ -79047,39 +80352,39 @@ public: }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Blood_Grenade_Flight_Thinker : public CDOTA_Buff { public: - int32_t speed; // 0x11e8 - int32_t radius; // 0x11ec - int32_t damage_over_time; // 0x11f0 - int32_t impact_damage; // 0x11f4 - float debuff_duration; // 0x11f8 - int32_t movespeed_slow; // 0x11fc - float tick_rate; // 0x1200 - ParticleIndex_t m_nFXIndex; // 0x1204 + int32_t speed; // 0x12b8 + int32_t radius; // 0x12bc + int32_t damage_over_time; // 0x12c0 + int32_t impact_damage; // 0x12c4 + float debuff_duration; // 0x12c8 + int32_t movespeed_slow; // 0x12cc + float tick_rate; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Blood_Grenade : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 + int32_t bonus_health; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Blood_Grenade_Debuff : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 - float damage_over_time; // 0x11ec + int32_t movespeed_slow; // 0x12b8 + float damage_over_time; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Phylactery : public CDOTA_Item { public: @@ -79087,7 +80392,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Phylactery : public CDOTA_Item { public: @@ -79095,29 +80400,29 @@ public: }; // Alignment: 7 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Item_Phylactery : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_mana; // 0x11ec - float bonus_mana_regen; // 0x11f0 - int32_t bonus_spell_damage; // 0x11f4 - float slow_duration; // 0x11f8 - int32_t bonus_all_stats; // 0x11fc - CUtlVector< CDOTABaseAbility* > vecActivatedAbilities; // 0x1200 + int32_t bonus_health; // 0x12b8 + int32_t bonus_mana; // 0x12bc + float bonus_mana_regen; // 0x12c0 + int32_t bonus_spell_damage; // 0x12c4 + float slow_duration; // 0x12c8 + int32_t bonus_all_stats; // 0x12cc + CUtlVector< CDOTABaseAbility* > vecActivatedAbilities; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Phylactery_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Disperser : public CDOTA_Item { public: @@ -79125,7 +80430,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Disperser : public CDOTA_Item { public: @@ -79133,48 +80438,48 @@ public: }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Item_Disperser : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 - int32_t bonus_intellect; // 0x11ec - int32_t bonus_attack_speed; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - float bonus_mana_regen; // 0x11f8 - float damage_per_burn; // 0x11fc - int32_t feedback_mana_burn; // 0x1200 - int32_t feedback_mana_burn_illusion_melee; // 0x1204 - int32_t feedback_mana_burn_illusion_ranged; // 0x1208 + int32_t bonus_agility; // 0x12b8 + int32_t bonus_intellect; // 0x12bc + int32_t bonus_attack_speed; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + float bonus_mana_regen; // 0x12c8 + float damage_per_burn; // 0x12cc + int32_t feedback_mana_burn; // 0x12d0 + int32_t feedback_mana_burn_illusion_melee; // 0x12d4 + int32_t feedback_mana_burn_illusion_ranged; // 0x12d8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Disperser_Evasion_Buff : public CDOTA_Buff { public: - int32_t purge_bonus_miss_rate; // 0x11e8 + int32_t purge_bonus_miss_rate; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Disperser_Attack_Debuff : public CDOTA_Buff { public: - int32_t attack_speed_slow; // 0x11e8 + int32_t attack_speed_slow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Disperser_Movespeed_Buff : public CDOTA_Buff { public: - int32_t movement_speed_buff_rate; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t movement_speed_buff_rate; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Cornucopia : public CDOTA_Item { public: @@ -79182,7 +80487,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Cornucopia : public CDOTA_Item { public: @@ -79190,17 +80495,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Cornucopia : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t bonus_damage; // 0x11f0 + float bonus_health_regen; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_damage; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Pavise : public CDOTA_Item { public: @@ -79208,7 +80513,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Pavise : public CDOTA_Item { public: @@ -79216,26 +80521,26 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Pavise : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t bonus_health; // 0x11f0 + int32_t bonus_armor; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_health; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Pavise_Shield : public CDOTA_Buff { public: - int32_t absorb_amount; // 0x11e8 - int32_t m_nAbsorbRemaining; // 0x11ec + int32_t absorb_amount; // 0x12b8 + int32_t m_nAbsorbRemaining; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Keen_Optic : public CDOTA_Item { public: @@ -79243,7 +80548,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Keen_Optic : public CDOTA_Item { public: @@ -79251,16 +80556,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Keen_Optic : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x11e8 - int32_t cast_range_bonus; // 0x11ec + float bonus_mana_regen; // 0x12b8 + int32_t cast_range_bonus; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Grove_Bow : public CDOTA_Item { public: @@ -79268,7 +80573,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Grove_Bow : public CDOTA_Item { public: @@ -79276,25 +80581,25 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Grove_Bow : public CDOTA_Buff_Item { public: - int32_t attack_range_bonus; // 0x11e8 - int32_t attack_speed_bonus; // 0x11ec - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + int32_t attack_range_bonus; // 0x12b8 + int32_t attack_speed_bonus; // 0x12bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Grove_Bow_Debuff : public CDOTA_Buff { public: - int32_t magic_resistance_reduction; // 0x11e8 + int32_t magic_resistance_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Quickening_Charm : public CDOTA_Item { public: @@ -79302,7 +80607,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Quickening_Charm : public CDOTA_Item { public: @@ -79310,16 +80615,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Quickening_Charm : public CDOTA_Buff_Item { public: - int32_t bonus_cooldown; // 0x11e8 - int32_t bonus_health_regen; // 0x11ec + int32_t bonus_cooldown; // 0x12b8 + int32_t bonus_health_regen; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Philosophers_Stone : public CDOTA_Item { public: @@ -79327,17 +80632,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Philosophers_Stone : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x11e8 - int32_t bonus_gpm; // 0x11ec - int32_t bonus_damage; // 0x11f0 + int32_t bonus_mana; // 0x12b8 + int32_t bonus_gpm; // 0x12bc + int32_t bonus_damage; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Force_Boots : public CDOTA_Item { public: @@ -79345,7 +80650,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Force_Boots : public CDOTA_Item { public: @@ -79353,28 +80658,28 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Force_Boots : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t hp_regen; // 0x11ec + int32_t bonus_movement_speed; // 0x12b8 + int32_t hp_regen; // 0x12bc }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Force_Boots : public CDOTA_Buff { public: - Vector m_vDirection; // 0x11e8 - float m_flEndTime; // 0x11f4 - float m_flCurTime; // 0x11f8 - int32_t push_length; // 0x11fc - float push_duration; // 0x1200 + Vector m_vDirection; // 0x12b8 + float m_flEndTime; // 0x12c4 + float m_flCurTime; // 0x12c8 + int32_t push_length; // 0x12cc + float push_duration; // 0x12d0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Desolator_2 : public CDOTA_Item { public: @@ -79382,7 +80687,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Desolator_2 : public CDOTA_Item { public: @@ -79390,25 +80695,25 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Desolator_2 : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - float corruption_duration; // 0x11ec - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + int32_t bonus_damage; // 0x12b8 + float corruption_duration; // 0x12bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Desolator_2_Corruption : public CDOTA_Buff { public: - int32_t corruption_armor; // 0x11e8 + int32_t corruption_armor; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Phoenix_Ash : public CDOTA_Item { public: @@ -79416,7 +80721,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Phoenix_Ash : public CDOTA_Item { public: @@ -79424,15 +80729,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Phoenix_Ash : public CDOTA_Buff_Item { public: - int32_t health_pct; // 0x11e8 + int32_t health_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Seer_Stone : public CDOTA_Item { public: @@ -79440,7 +80745,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Seer_Stone : public CDOTA_Item { public: @@ -79448,26 +80753,26 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Seer_Stone_Truesight : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float duration; // 0x11ec + int32_t radius; // 0x12b8 + float duration; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Seer_Stone : public CDOTA_Buff_Item { public: - int32_t cast_range_bonus; // 0x11e8 - int32_t vision_bonus; // 0x11ec - int32_t mana_regen; // 0x11f0 + int32_t cast_range_bonus; // 0x12b8 + int32_t vision_bonus; // 0x12bc + int32_t mana_regen; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Greater_Mango : public CDOTA_Item { public: @@ -79475,7 +80780,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Elixer : public CDOTA_Item { public: @@ -79483,17 +80788,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_ElixerHealing : public CDOTA_Buff { public: - int32_t health; // 0x11e8 - int32_t mana; // 0x11ec - float duration; // 0x11f0 + int32_t health; // 0x12b8 + int32_t mana; // 0x12bc + float duration; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Vampire_Fangs : public CDOTA_Item { public: @@ -79501,18 +80806,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Vampire_Fangs : public CDOTA_Buff_Item { public: - int32_t attack_lifesteal; // 0x11e8 - int32_t spell_lifesteal; // 0x11ec - int32_t night_vision; // 0x11f0 - int32_t creep_lifesteal_reduction_pct; // 0x11f4 + int32_t attack_lifesteal; // 0x12b8 + int32_t spell_lifesteal; // 0x12bc + int32_t night_vision; // 0x12c0 + int32_t creep_lifesteal_reduction_pct; // 0x12c4 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Craggy_Coat : public CDOTA_Item { public: @@ -79520,17 +80825,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Craggy_Coat : public CDOTA_Buff_Item { public: - int32_t armor_bonus; // 0x11e8 - int32_t attack_speed; // 0x11ec - int32_t bonus_health; // 0x11f0 + int32_t armor_bonus; // 0x12b8 + int32_t attack_speed; // 0x12bc + int32_t bonus_health; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Greater_Faerie_Fire : public CDOTA_Item { public: @@ -79538,15 +80843,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Greater_Faerie_Fire : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Timeless_Relic : public CDOTA_Item { public: @@ -79554,7 +80859,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Timeless_Relic : public CDOTA_Item { public: @@ -79562,16 +80867,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Timeless_Relic : public CDOTA_Buff_Item { public: - int32_t spell_amp; // 0x11e8 - int32_t debuff_amp; // 0x11ec + int32_t spell_amp; // 0x12b8 + int32_t debuff_amp; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Mirror_Shield : public CDOTA_Item { public: @@ -79579,18 +80884,18 @@ public: }; // Alignment: 4 -// Size: 0x13d0 +// Size: 0x14a0 class CDOTA_Modifier_Item_Mirror_Shield : public CDOTA_Buff_Item { public: - CModifierParams m_LastParams; // 0x11e8 - int32_t all_stats; // 0x13c0 - int32_t reflect_chance; // 0x13c4 - bool m_bProcSuccessful; // 0x13c8 + CModifierParams m_LastParams; // 0x12b8 + int32_t all_stats; // 0x1490 + int32_t reflect_chance; // 0x1494 + bool m_bProcSuccessful; // 0x1498 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mirror_Shield_Delay : public CDOTA_Buff { public: @@ -79598,7 +80903,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Ironwood_tree : public CDOTA_Item { public: @@ -79606,7 +80911,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Ironwood_tree : public CDOTA_Item { public: @@ -79614,15 +80919,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Ironwood_tree : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 + int32_t bonus_all_stats; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Royal_jelly : public CDOTA_Item { public: @@ -79630,16 +80935,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Royal_Jelly : public CDOTA_Buff { public: - float health_regen; // 0x11e8 - float mana_regen; // 0x11ec + float health_regen; // 0x12b8 + float mana_regen; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Pupils_gift : public CDOTA_Item { public: @@ -79647,7 +80952,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Pupils_gift : public CDOTA_Item { public: @@ -79655,15 +80960,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Pupils_gift : public CDOTA_Buff_Item { public: - int32_t secondary_stats; // 0x11e8 + int32_t secondary_stats; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Tome_of_aghanim : public CDOTA_Item { public: @@ -79671,7 +80976,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tome_of_Aghanim : public CDOTA_Buff { public: @@ -79679,7 +80984,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Repair_kit : public CDOTA_Item { public: @@ -79687,25 +80992,25 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Repair_Kit : public CDOTA_Buff_Item { public: - int32_t hp_regen; // 0x11e8 + int32_t hp_regen; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Repair_Kit : public CDOTA_Buff { public: - float health_regen; // 0x11e8 - int32_t armor_bonus; // 0x11ec - int32_t multishot_count; // 0x11f0 + float health_regen; // 0x12b8 + int32_t armor_bonus; // 0x12bc + int32_t multishot_count; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Mind_Breaker : public CDOTA_Item { public: @@ -79713,7 +81018,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Mind_Breaker2 : public CDOTA_Item_Recipe_Mind_Breaker { public: @@ -79721,7 +81026,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Mind_Breaker : public CDOTA_Item { public: @@ -79729,17 +81034,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Mind_Breaker : public CDOTA_Buff_Item { public: - int32_t magic_damage; // 0x11e8 - int32_t attack_speed; // 0x11ec - float duration; // 0x11f0 + int32_t magic_damage; // 0x12b8 + int32_t attack_speed; // 0x12bc + float duration; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Third_eye : public CDOTA_Item { public: @@ -79747,17 +81052,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Third_Eye : public CDOTA_Buff { public: - int32_t truesight_radius; // 0x11e8 - int32_t bonus_vision; // 0x11ec - int32_t bonus_all_stats; // 0x11f0 + int32_t truesight_radius; // 0x12b8 + int32_t bonus_vision; // 0x12bc + int32_t bonus_all_stats; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Spell_Prism : public CDOTA_Item { public: @@ -79765,17 +81070,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Spell_Prism : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 - int32_t bonus_cooldown; // 0x11ec - float mana_regen; // 0x11f0 + int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_cooldown; // 0x12bc + float mana_regen; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Spell_Prism_Active : public CDOTA_Buff { public: @@ -79783,7 +81088,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Horizon : public CDOTA_Item { public: @@ -79791,7 +81096,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Fusion_rune : public CDOTA_Item { public: @@ -79799,16 +81104,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Fusion_runeHealing : public CDOTA_Buff { public: - int32_t health_regen; // 0x11e8 - float m_fHealingDone; // 0x11ec + int32_t health_regen; // 0x12b8 + float m_fHealingDone; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Princes_Knife : public CDOTA_Item { public: @@ -79816,24 +81121,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Princes_Knife : public CDOTA_Buff_Item { public: - float duration; // 0x11e8 - int32_t projectile_bonus; // 0x11ec + float duration; // 0x12b8 + int32_t projectile_bonus; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Princes_Knife_Hex : public CDOTA_Modifier_Hexed { public: - int32_t movespeed; // 0x11e8 + int32_t movespeed; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Spider_Legs : public CDOTA_Item { public: @@ -79841,24 +81146,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spider_Legs : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t turn_rate; // 0x11ec + int32_t bonus_movement_speed; // 0x12b8 + int32_t turn_rate; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Spider_Legs_Active : public CDOTA_Buff { public: - int32_t bonus_movement_speed_active; // 0x11e8 + int32_t bonus_movement_speed_active; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Helm_Of_The_Undying : public CDOTA_Item { public: @@ -79866,16 +81171,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Helm_Of_The_Undying : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 - float duration; // 0x11ec + int32_t bonus_armor; // 0x12b8 + float duration; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Mango_Tree : public CDOTA_Item { public: @@ -79883,60 +81188,60 @@ public: }; // Alignment: 3 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Item_Mango_Tree : public CDOTA_Buff_Item { public: - CHandle< CBaseEntity > m_hTree; // 0x11e8 + CHandle< CBaseEntity > m_hTree; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CountdownTimer m_Timer; // 0x11f0 - float seconds; // 0x1208 + CountdownTimer m_Timer; // 0x12c0 + float seconds; // 0x12d8 }; // Alignment: 7 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Passive_Mango_Tree : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTree; // 0x11e8 - int32_t m_nMangoSeconds; // 0x11ec - CountdownTimer m_MangoTimer; // 0x11f0 - int32_t m_nRespawnSeconds; // 0x1208 + CHandle< CBaseEntity > m_hTree; // 0x12b8 + int32_t m_nMangoSeconds; // 0x12bc + CountdownTimer m_MangoTimer; // 0x12c0 + int32_t m_nRespawnSeconds; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CountdownTimer m_RespawnTimer; // 0x1210 - int32_t m_nMangosAvailable; // 0x1228 - int32_t m_nChannelCount; // 0x122c + CountdownTimer m_RespawnTimer; // 0x12e0 + int32_t m_nMangosAvailable; // 0x12f8 + int32_t m_nChannelCount; // 0x12fc }; // Alignment: 3 -// Size: 0x570 +// Size: 0x580 class CDOTA_Ability_PluckFamango : public CDOTABaseAbility { public: // MNetworkEnable - CHandle< CBaseEntity > m_hTarget; // 0x558 + CHandle< CBaseEntity > m_hTarget; // 0x568 private: - [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c + [[maybe_unused]] uint8_t __pad056c[0x4]; // 0x56c public: - CDOTA_Buff* m_pMyBuff; // 0x560 - float famango_rate; // 0x568 + CDOTA_Buff* m_pMyBuff; // 0x570 + float famango_rate; // 0x578 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class Modifier_Pluck_Famango_Channel : public CDOTA_Buff { public: - float famango_rate; // 0x11e8 - CHandle< CBaseEntity > m_hMangoTree; // 0x11ec + float famango_rate; // 0x12b8 + CHandle< CBaseEntity > m_hMangoTree; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Vambrace : public CDOTA_Item { public: @@ -79944,30 +81249,30 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Vambrace : public CDOTA_Buff_Item { public: - int32_t bonus_primary_stat; // 0x11e8 - int32_t bonus_secondary_stat; // 0x11ec - int32_t bonus_magic_resistance; // 0x11f0 - int32_t bonus_spell_amp; // 0x11f4 - int32_t bonus_attack_speed; // 0x11f8 - int32_t m_iStat; // 0x11fc + int32_t bonus_primary_stat; // 0x12b8 + int32_t bonus_secondary_stat; // 0x12bc + int32_t bonus_magic_resistance; // 0x12c0 + int32_t bonus_spell_amp; // 0x12c4 + int32_t bonus_attack_speed; // 0x12c8 + int32_t m_iStat; // 0x12cc }; // Alignment: 1 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_Vambrace : public CDOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnVambraceStatChanged" - int32_t m_iStat; // 0x600 + int32_t m_iStat; // 0x610 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Witless_shako : public CDOTA_Item { public: @@ -79975,16 +81280,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Witless_shako : public CDOTA_Buff_Item { public: - int32_t max_health; // 0x11e8 - int32_t max_mana; // 0x11ec + int32_t max_health; // 0x12b8 + int32_t max_mana; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Imp_Claw : public CDOTA_Item { public: @@ -79992,16 +81297,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Imp_Claw : public CDOTA_Buff_Item { public: - int32_t crit_multiplier; // 0x11e8 - int32_t bonus_damage; // 0x11ec + int32_t crit_multiplier; // 0x12b8 + int32_t bonus_damage; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Flicker : public CDOTA_Item { public: @@ -80009,15 +81314,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Flicker : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 + int32_t bonus_movement_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Flicker_Damaged : public CDOTA_Buff_Item { public: @@ -80025,7 +81330,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Spy_Gadget : public CDOTA_Item { public: @@ -80033,25 +81338,25 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Spy_Gadget_Aura : public CDOTA_Buff_Item { public: - int32_t scan_cooldown_reduction; // 0x11e8 - int32_t aura_range; // 0x11ec + int32_t scan_cooldown_reduction; // 0x12b8 + int32_t aura_range; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Spy_Gadget : public CDOTA_Buff { public: - int32_t attack_range; // 0x11e8 - int32_t cast_range; // 0x11ec + int32_t attack_range; // 0x12b8 + int32_t cast_range; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Ocean_Heart : public CDOTA_Item { public: @@ -80059,7 +81364,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Ocean_Heart : public CDOTA_Item { public: @@ -80067,18 +81372,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Ocean_Heart : public CDOTA_Buff_Item { public: - float water_hp_regen; // 0x11e8 - float water_mp_regen; // 0x11ec - int32_t all_stats; // 0x11f0 - bool m_bInRiver; // 0x11f4 + float water_hp_regen; // 0x12b8 + float water_mp_regen; // 0x12bc + int32_t all_stats; // 0x12c0 + bool m_bInRiver; // 0x12c4 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Broom_Handle : public CDOTA_Item { public: @@ -80086,7 +81391,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Broom_Handle : public CDOTA_Item { public: @@ -80094,17 +81399,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Broom_Handle : public CDOTA_Buff_Item { public: - int32_t melee_attack_range; // 0x11e8 - int32_t bonus_armor; // 0x11ec - int32_t bonus_damage; // 0x11f0 + int32_t melee_attack_range; // 0x12b8 + int32_t bonus_armor; // 0x12bc + int32_t bonus_damage; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Trusty_Shovel : public CDOTA_Item { public: @@ -80112,28 +81417,28 @@ public: }; // Alignment: 3 -// Size: 0x618 +// Size: 0x628 class CDOTA_Item_Trusty_Shovel : public CDOTA_Item { public: - Vector m_vChannelPos; // 0x600 - bool m_bIsUnderwater; // 0x60c + Vector m_vChannelPos; // 0x610 + bool m_bIsUnderwater; // 0x61c private: - [[maybe_unused]] uint8_t __pad060d[0x3]; // 0x60d + [[maybe_unused]] uint8_t __pad061d[0x3]; // 0x61d public: - ParticleIndex_t m_nPhaseStartFXIndex; // 0x610 + ParticleIndex_t m_nPhaseStartFXIndex; // 0x620 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Trusty_Shovel : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 + int32_t bonus_health; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Nether_Shawl : public CDOTA_Item { public: @@ -80141,7 +81446,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Nether_Shawl : public CDOTA_Item { public: @@ -80149,17 +81454,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Nether_Shawl : public CDOTA_Buff_Item { public: - int32_t bonus_magic_resistance; // 0x11e8 - int32_t bonus_spell_amp; // 0x11ec - int32_t bonus_armor; // 0x11f0 + int32_t bonus_magic_resistance; // 0x12b8 + int32_t bonus_spell_amp; // 0x12bc + int32_t bonus_armor; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Dragon_Scale : public CDOTA_Item { public: @@ -80167,7 +81472,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Dragon_Scale : public CDOTA_Item { public: @@ -80175,24 +81480,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Dragon_Scale : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 - int32_t bonus_hp_regen; // 0x11ec + int32_t bonus_armor; // 0x12b8 + int32_t bonus_hp_regen; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Dragon_Scale_Burn : public CDOTA_Buff { public: - int32_t damage_per_sec; // 0x11e8 + int32_t damage_per_sec; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Essence_Ring : public CDOTA_Item { public: @@ -80200,7 +81505,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Essence_Ring : public CDOTA_Item { public: @@ -80208,24 +81513,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Essence_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_int; // 0x11e8 - float mp_regen; // 0x11ec + int32_t bonus_int; // 0x12b8 + float mp_regen; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Essence_Ring_Active : public CDOTA_Buff { public: - int32_t health_gain; // 0x11e8 + int32_t health_gain; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Clumsy_Net : public CDOTA_Item { public: @@ -80233,7 +81538,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Clumsy_Net : public CDOTA_Item { public: @@ -80241,7 +81546,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Clumsy_Net_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -80249,16 +81554,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Clumsy_Net : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x11e8 - int32_t mana_regen; // 0x11ec + int32_t all_stats; // 0x12b8 + int32_t mana_regen; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Enchanted_Quiver : public CDOTA_Item { public: @@ -80266,7 +81571,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Enchanted_Quiver : public CDOTA_Item { public: @@ -80274,21 +81579,21 @@ public: }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Item_Enchanted_Quiver : public CDOTA_Buff_Item { public: - int32_t bonus_attack_range; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t active_bonus_attack_range; // 0x11f0 + int32_t bonus_attack_range; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t active_bonus_attack_range; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Ninja_Gear : public CDOTA_Item { public: @@ -80296,7 +81601,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Ninja_Gear : public CDOTA_Item { public: @@ -80304,16 +81609,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Ninja_Gear : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 - int32_t passive_movement_bonus; // 0x11ec + int32_t bonus_agility; // 0x12b8 + int32_t passive_movement_bonus; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Illusionsts_Cape : public CDOTA_Item { public: @@ -80321,7 +81626,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Illusionsts_Cape : public CDOTA_Item { public: @@ -80329,7 +81634,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Illusionsts_Cape_Marker : public CDOTA_Buff { public: @@ -80337,24 +81642,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Illusionsts_Cape : public CDOTA_Buff_Item { public: - int32_t bonus_agi; // 0x11e8 - int32_t bonus_str; // 0x11ec + int32_t bonus_agi; // 0x12b8 + int32_t bonus_str; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Illusionists_Cape_Aura : public CDOTA_Buff { public: - int32_t attack_damage_aura; // 0x11e8 + int32_t attack_damage_aura; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Havoc_Hammer : public CDOTA_Item { public: @@ -80362,7 +81667,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Havoc_Hammer : public CDOTA_Item { public: @@ -80370,24 +81675,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Havoc_Hammer : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_strength; // 0x11ec + int32_t bonus_damage; // 0x12b8 + int32_t bonus_strength; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Havoc_Hammer_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Panic_Button : public CDOTA_Item { public: @@ -80395,7 +81700,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Panic_Button : public CDOTA_Item { public: @@ -80403,16 +81708,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Panic_Button : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - float health_threshold; // 0x11ec + int32_t bonus_health; // 0x12b8 + float health_threshold; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Apex : public CDOTA_Item { public: @@ -80420,7 +81725,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Apex : public CDOTA_Item { public: @@ -80428,16 +81733,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Apex : public CDOTA_Buff_Item { public: - int32_t primary_stat; // 0x11e8 - int32_t primary_stat_universal; // 0x11ec + int32_t primary_stat; // 0x12b8 + int32_t primary_stat_universal; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Ballista : public CDOTA_Item { public: @@ -80445,7 +81750,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Ballista : public CDOTA_Item { public: @@ -80453,17 +81758,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Ballista : public CDOTA_Buff_Item { public: - int32_t attack_range_bonus; // 0x11e8 - float knockback_distance; // 0x11ec - float knockback_duration; // 0x11f0 + int32_t attack_range_bonus; // 0x12b8 + float knockback_distance; // 0x12bc + float knockback_duration; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Woodland_Striders : public CDOTA_Item { public: @@ -80471,7 +81776,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Woodland_Striders : public CDOTA_Item { public: @@ -80479,24 +81784,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Woodland_Striders : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x11e8 - int32_t bonus_hp_regen; // 0x11ec + int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_hp_regen; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Woodland_Striders_Active : public CDOTA_Buff { public: - float tree_duration; // 0x11e8 + float tree_duration; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Trident : public CDOTA_Item { public: @@ -80504,7 +81809,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Trident : public CDOTA_Item { public: @@ -80512,24 +81817,24 @@ public: }; // Alignment: 10 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Item_Trident : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t movement_speed_percent_bonus; // 0x11f0 - int32_t bonus_strength; // 0x11f4 - int32_t hp_regen_amp; // 0x11f8 - int32_t status_resistance; // 0x11fc - int32_t bonus_intellect; // 0x1200 - int32_t spell_amp; // 0x1204 - int32_t mana_regen_multiplier; // 0x1208 - int32_t magic_damage_attack; // 0x120c + int32_t bonus_agility; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t movement_speed_percent_bonus; // 0x12c0 + int32_t bonus_strength; // 0x12c4 + int32_t hp_regen_amp; // 0x12c8 + int32_t status_resistance; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + int32_t spell_amp; // 0x12d4 + int32_t mana_regen_multiplier; // 0x12d8 + int32_t magic_damage_attack; // 0x12dc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Demonicon : public CDOTA_Item { public: @@ -80537,33 +81842,33 @@ public: }; // Alignment: 1 -// Size: 0x618 +// Size: 0x628 class CDOTA_Item_Demonicon : public CDOTA_Item { public: - CUtlVector< CHandle< CBaseEntity > > m_hDemonSummons; // 0x600 + CUtlVector< CHandle< CBaseEntity > > m_hDemonSummons; // 0x610 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Demonicon : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_intellect; // 0x11ec + int32_t bonus_strength; // 0x12b8 + int32_t bonus_intellect; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Demonicon_Bonus : public CDOTA_Buff { public: - int32_t hp_bonus; // 0x11e8 - int32_t damage_bonus; // 0x11ec + int32_t hp_bonus; // 0x12b8 + int32_t damage_bonus; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Fallen_Sky : public CDOTA_Item { public: @@ -80571,7 +81876,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Fallen_Sky : public CDOTA_Item { public: @@ -80579,39 +81884,39 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Fallen_Sky : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t bonus_intellect; // 0x11ec - float bonus_health_regen; // 0x11f0 - float bonus_mana_regen; // 0x11f4 - float blink_damage_cooldown; // 0x11f8 + int32_t bonus_strength; // 0x12b8 + int32_t bonus_intellect; // 0x12bc + float bonus_health_regen; // 0x12c0 + float bonus_mana_regen; // 0x12c4 + float blink_damage_cooldown; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Fallen_Sky_Land : public CDOTA_Buff { public: - int32_t impact_radius; // 0x11e8 - float land_time; // 0x11ec - float burn_duration; // 0x11f0 + int32_t impact_radius; // 0x12b8 + float land_time; // 0x12bc + float burn_duration; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Fallen_Sky_Burn : public CDOTA_Buff { public: - int32_t burn_dps_buildings; // 0x11e8 - int32_t burn_dps_units; // 0x11ec - float burn_interval; // 0x11f0 + int32_t burn_dps_buildings; // 0x12b8 + int32_t burn_dps_units; // 0x12bc + float burn_interval; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Pirate_Hat : public CDOTA_Item { public: @@ -80619,29 +81924,29 @@ public: }; // Alignment: 3 -// Size: 0x618 +// Size: 0x628 class CDOTA_Item_Pirate_Hat : public CDOTA_Item { public: - Vector m_vChannelPos; // 0x600 - bool m_bIsUnderwater; // 0x60c + Vector m_vChannelPos; // 0x610 + bool m_bIsUnderwater; // 0x61c private: - [[maybe_unused]] uint8_t __pad060d[0x3]; // 0x60d + [[maybe_unused]] uint8_t __pad061d[0x3]; // 0x61d public: - ParticleIndex_t m_nPhaseStartFXIndex; // 0x610 + ParticleIndex_t m_nPhaseStartFXIndex; // 0x620 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Pirate_Hat : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_ms; // 0x11ec + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_ms; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Dimensional_Doorway : public CDOTA_Item { public: @@ -80649,7 +81954,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Dimensional_Doorway : public CDOTA_Item { public: @@ -80657,7 +81962,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Ex_Machina : public CDOTA_Item { public: @@ -80665,7 +81970,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Ex_Machina : public CDOTA_Item { public: @@ -80673,15 +81978,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Ex_Machina : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Faded_Broach : public CDOTA_Item { public: @@ -80689,7 +81994,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Faded_Broach : public CDOTA_Item { public: @@ -80697,16 +82002,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Faded_Broach : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x11e8 - int32_t bonus_movement_speed; // 0x11ec + int32_t bonus_mana; // 0x12b8 + int32_t bonus_movement_speed; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Paladin_Sword : public CDOTA_Item { public: @@ -80714,7 +82019,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Paladin_Sword : public CDOTA_Item { public: @@ -80722,19 +82027,19 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Paladin_Sword : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_lifesteal; // 0x11ec - int32_t bonus_spell_lifesteal; // 0x11f0 - int32_t bonus_amp; // 0x11f4 - int32_t creep_lifesteal_reduction_pct; // 0x11f8 + int32_t bonus_damage; // 0x12b8 + int32_t bonus_lifesteal; // 0x12bc + int32_t bonus_spell_lifesteal; // 0x12c0 + int32_t bonus_amp; // 0x12c4 + int32_t creep_lifesteal_reduction_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Minotaur_Horn : public CDOTA_Item { public: @@ -80742,7 +82047,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Minotaur_Horn : public CDOTA_Item { public: @@ -80750,23 +82055,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Minotaur_Horn_Immune : public CDOTA_Modifier_MagicImmune { public: - int32_t model_scale; // 0x11e8 + int32_t model_scale; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Minotaur_Horn : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 + int32_t bonus_strength; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Orb_Of_Destruction : public CDOTA_Item { public: @@ -80774,7 +82079,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Orb_Of_Destruction : public CDOTA_Item { public: @@ -80782,30 +82087,30 @@ public: }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Orb_Of_Destruction : public CDOTA_Buff_Item { public: - float duration; // 0x11e8 + float duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Orb_Of_Destruction_Debuff : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 - int32_t slow_melee; // 0x11ec - int32_t slow_range; // 0x11f0 - bool bCasterRanged; // 0x11f4 + int32_t armor_reduction; // 0x12b8 + int32_t slow_melee; // 0x12bc + int32_t slow_range; // 0x12c0 + bool bCasterRanged; // 0x12c4 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_The_Leveller : public CDOTA_Item { public: @@ -80813,7 +82118,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_The_Leveller : public CDOTA_Item { public: @@ -80821,17 +82126,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_The_Leveller : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_armor; // 0x11ec - int32_t demolish; // 0x11f0 + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_armor; // 0x12bc + int32_t demolish; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Arcane_Ring : public CDOTA_Item { public: @@ -80839,7 +82144,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Arcane_Ring : public CDOTA_Item { public: @@ -80847,16 +82152,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Arcane_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 - int32_t bonus_intelligence; // 0x11ec + int32_t bonus_armor; // 0x12b8 + int32_t bonus_intelligence; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Titan_Sliver : public CDOTA_Item { public: @@ -80864,7 +82169,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Titan_Sliver : public CDOTA_Item { public: @@ -80872,17 +82177,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Titan_Sliver : public CDOTA_Buff_Item { public: - int32_t base_attack_damage; // 0x11e8 - int32_t magic_resistance; // 0x11ec - int32_t status_resistance; // 0x11f0 + int32_t base_attack_damage; // 0x12b8 + int32_t magic_resistance; // 0x12bc + int32_t status_resistance; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Voodoo_Mask : public CDOTA_Item { public: @@ -80890,15 +82195,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Voodoo_Mask : public CDOTA_Buff_Item { public: - float spell_lifesteal; // 0x11e8 + float spell_lifesteal; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Blitz_Knuckles : public CDOTA_Item { public: @@ -80906,15 +82211,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifer_Item_Blitz_Knuckles : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 + int32_t bonus_attack_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Witch_Blade : public CDOTA_Item { public: @@ -80922,7 +82227,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Witch_Blade : public CDOTA_Item { public: @@ -80930,32 +82235,32 @@ public: }; // Alignment: 6 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Item_Witch_Blade : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t bonus_armor; // 0x11f0 - float slow_duration; // 0x11f4 - int32_t projectile_speed; // 0x11f8 + int32_t bonus_intellect; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t bonus_armor; // 0x12c0 + float slow_duration; // 0x12c4 + int32_t projectile_speed; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Witch_Blade_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 - float int_damage_multiplier; // 0x11ec + int32_t slow; // 0x12b8 + float int_damage_multiplier; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_MaskOfDispair : public CDOTA_Item { public: @@ -80963,7 +82268,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_MaskOfDispair : public CDOTA_Item { public: @@ -80971,27 +82276,27 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_MaskOfDispair : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - float bonus_armor; // 0x11ec - int32_t spell_lifesteal; // 0x11f0 + int32_t bonus_strength; // 0x12b8 + float bonus_armor; // 0x12bc + int32_t spell_lifesteal; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_MaskOfDispair_Berserk : public CDOTA_Buff { public: - int32_t berserk_spell_amp; // 0x11e8 - int32_t berserk_manacost_reduction; // 0x11ec - int32_t berserk_magic_resistance; // 0x11f0 + int32_t berserk_spell_amp; // 0x12b8 + int32_t berserk_manacost_reduction; // 0x12bc + int32_t berserk_magic_resistance; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Chipped_Vest : public CDOTA_Item { public: @@ -80999,7 +82304,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Chipped_Vest : public CDOTA_Item { public: @@ -81007,17 +82312,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Chipped_Vest : public CDOTA_Buff_Item { public: - float hp_regen; // 0x11e8 - int32_t damage_return_hero; // 0x11ec - int32_t damage_return_creep; // 0x11f0 + float hp_regen; // 0x12b8 + int32_t damage_return_hero; // 0x12bc + int32_t damage_return_creep; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Cloak_Of_Flames : public CDOTA_Item { public: @@ -81025,7 +82330,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Cloak_Of_Flames : public CDOTA_Item { public: @@ -81033,26 +82338,26 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Cloak_Of_Flames : public CDOTA_Buff_Item { public: - int32_t armor; // 0x11e8 - int32_t magic_resistance; // 0x11ec - int32_t radius; // 0x11f0 + int32_t armor; // 0x12b8 + int32_t magic_resistance; // 0x12bc + int32_t radius; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Cloak_Of_Flames_Debuff : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t damage_illusions; // 0x11ec + int32_t damage; // 0x12b8 + int32_t damage_illusions; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Elven_Tunic : public CDOTA_Item { public: @@ -81060,7 +82365,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Elven_Tunic : public CDOTA_Item { public: @@ -81068,17 +82373,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Elven_Tunic : public CDOTA_Buff_Item { public: - int32_t attack_speed; // 0x11e8 - int32_t evasion; // 0x11ec - int32_t movment; // 0x11f0 + int32_t attack_speed; // 0x12b8 + int32_t evasion; // 0x12bc + int32_t movment; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Gloves_Of_Travel : public CDOTA_Item { public: @@ -81086,7 +82391,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Gloves_Of_Travel : public CDOTA_Item { public: @@ -81094,15 +82399,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Gloves_Of_Travel : public CDOTA_Buff_Item { public: - int32_t attack_speed; // 0x11e8 + int32_t attack_speed; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Orb_Of_Corrosion : public CDOTA_Item { public: @@ -81110,7 +82415,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Orb_Of_Corrosion : public CDOTA_Item { public: @@ -81118,32 +82423,32 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Orb_Of_Corrosion : public CDOTA_Buff_Item { public: - int32_t health_bonus; // 0x11e8 - float duration; // 0x11ec - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + int32_t health_bonus; // 0x12b8 + float duration; // 0x12bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Orb_Of_Corrosion_Debuff : public CDOTA_Buff { public: - int32_t armor; // 0x11e8 - int32_t slow_melee; // 0x11ec - int32_t slow_range; // 0x11f0 - bool bCasterRanged; // 0x11f4 + int32_t armor; // 0x12b8 + int32_t slow_melee; // 0x12bc + int32_t slow_range; // 0x12c0 + bool bCasterRanged; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - int32_t damage; // 0x11f8 + int32_t damage; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Sorcerers_Staff : public CDOTA_Item { public: @@ -81151,7 +82456,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Sorcerers_Staff : public CDOTA_Item { public: @@ -81159,16 +82464,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Sorcerers_Staff : public CDOTA_Buff_Item { public: - int32_t mana_regen_amp; // 0x11e8 - int32_t spell_amp_creeps; // 0x11ec + int32_t mana_regen_amp; // 0x12b8 + int32_t spell_amp_creeps; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Trickster_Cloak : public CDOTA_Item { public: @@ -81176,7 +82481,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Trickster_Cloak : public CDOTA_Item { public: @@ -81184,17 +82489,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Trickster_Cloak : public CDOTA_Buff_Item { public: - int32_t evasion; // 0x11e8 - int32_t magic_resistance; // 0x11ec - float debuff_limit; // 0x11f0 + int32_t evasion; // 0x12b8 + int32_t magic_resistance; // 0x12bc + float debuff_limit; // 0x12c0 }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Trickster_Cloak_Invis : public CDOTA_Modifier_Invisible { public: @@ -81202,7 +82507,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Venom_Gland : public CDOTA_Item { public: @@ -81210,7 +82515,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Venom_Gland : public CDOTA_Item { public: @@ -81218,30 +82523,30 @@ public: }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Item_Venom_Gland : public CDOTA_Buff_Item { public: - int32_t primary_attribute; // 0x11e8 - int32_t debuff_amp; // 0x11ec - float duration; // 0x11f0 + int32_t primary_attribute; // 0x12b8 + int32_t debuff_amp; // 0x12bc + float duration; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Venom_Gland_Debuff : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t degen; // 0x11ec + int32_t damage; // 0x12b8 + int32_t degen; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Wizard_Glass : public CDOTA_Item { public: @@ -81249,7 +82554,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Wizard_Glass : public CDOTA_Item { public: @@ -81257,16 +82562,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Wizard_Glass : public CDOTA_Buff_Item { public: - int32_t debuff_amp; // 0x11e8 - int32_t cooldown_reduction; // 0x11ec + int32_t debuff_amp; // 0x12b8 + int32_t cooldown_reduction; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Gladiator_Helm : public CDOTA_Item { public: @@ -81274,7 +82579,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Gladiator_Helm : public CDOTA_Item { public: @@ -81282,7 +82587,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Gladiator_Helm : public CDOTA_Buff_Item { public: @@ -81290,17 +82595,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Gladiator_Helm_Buff : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t armor; // 0x11ec - int32_t movement_speed; // 0x11f0 + int32_t damage; // 0x12b8 + int32_t armor; // 0x12bc + int32_t movement_speed; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Possessed_Mask : public CDOTA_Item { public: @@ -81308,7 +82613,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Possessed_Mask : public CDOTA_Item { public: @@ -81316,16 +82621,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Possessed_Mask : public CDOTA_Buff_Item { public: - int32_t primary_attribute; // 0x11e8 - int32_t lifesteal; // 0x11ec + int32_t primary_attribute; // 0x12b8 + int32_t lifesteal; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_AssassinsDagger : public CDOTA_Item { public: @@ -81333,25 +82638,25 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_AssassinsDagger : public CDOTA_Buff_Item { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 - int32_t debuff_duration; // 0x1200 - int32_t bonus_attack_speed; // 0x1204 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + int32_t debuff_duration; // 0x12d0 + int32_t bonus_attack_speed; // 0x12d4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Assassins_Dagger_Debuff : public CDOTA_Buff { public: - int32_t armor_debuff; // 0x11e8 + int32_t armor_debuff; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_AsceticCap : public CDOTA_Item { public: @@ -81359,24 +82664,25 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_AsceticCap : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - float hp_regen; // 0x11ec + int32_t bonus_health; // 0x12b8 + float hp_regen; // 0x12bc }; -// Alignment: 1 -// Size: 0x11f0 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Item_AsceticCapBuff : public CDOTA_Buff { public: - int32_t status_resistance; // 0x11e8 + int32_t status_resistance; // 0x12b8 + int32_t slow_resistance; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_SamplePicker : public CDOTA_Item { public: @@ -81384,17 +82690,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_SamplePicker : public CDOTA_Buff_Item { public: - int32_t base_gold; // 0x11e8 - int32_t gold_per_level; // 0x11ec - int32_t strength_penalty; // 0x11f0 + int32_t base_gold; // 0x12b8 + int32_t gold_per_level; // 0x12bc + int32_t strength_penalty; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_IcarusWings : public CDOTA_Item { public: @@ -81402,31 +82708,31 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_IcarusWings : public CDOTA_Buff_Item { public: - float move_speed; // 0x11e8 + float move_speed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_IcarusWingsBuff : public CDOTA_Buff_Item { public: - int32_t status_resistance; // 0x11e8 + int32_t status_resistance; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_IcarusWingsDebuff : public CDOTA_Buff_Item { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Dynamite_Jacket : public CDOTA_Item { public: @@ -81434,26 +82740,26 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Dynamite_Jacket : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x11e8 - int32_t radius; // 0x11ec - int32_t damage; // 0x11f0 - float blind_duration; // 0x11f4 + int32_t bonus_armor; // 0x12b8 + int32_t radius; // 0x12bc + int32_t damage; // 0x12c0 + float blind_duration; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Jacket_Blind : public CDOTA_Buff { public: - float blind_pct; // 0x11e8 + float blind_pct; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Tree_Processor : public CDOTA_Item { public: @@ -81461,24 +82767,24 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Tree_Processor : public CDOTA_Buff_Item { public: - int32_t bonus_int; // 0x11e8 + int32_t bonus_int; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Tree_Processor_Speed : public CDOTA_Buff_Item { public: - int32_t health_per_tree; // 0x11e8 - int32_t hp_bonus; // 0x11ec + int32_t health_per_tree; // 0x12b8 + int32_t hp_bonus; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Heavy_Blade : public CDOTA_Item { public: @@ -81486,31 +82792,31 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Heavy_Blade : public CDOTA_Buff_Item { public: - float damage; // 0x11e8 - int32_t attack_speed; // 0x11ec + float damage; // 0x12b8 + int32_t attack_speed; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Mechanical_Arm : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x11e8 + bool m_bAppliesToCreeps; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - float bat; // 0x11ec - float stun_duration; // 0x11f0 - int32_t stun_chance; // 0x11f4 - int32_t m_nAttack; // 0x11f8 + float bat; // 0x12bc + float stun_duration; // 0x12c0 + int32_t stun_chance; // 0x12c4 + int32_t m_nAttack; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Mechanical_Arm : public CDOTA_Item { public: @@ -81518,7 +82824,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mechanical_Arm_Counter : public CDOTA_Buff { public: @@ -81526,7 +82832,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Fortitude_Ring : public CDOTA_Item { public: @@ -81534,7 +82840,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Fortitude_Ring : public CDOTA_Item { public: @@ -81542,24 +82848,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Fortitude_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - float hp_regen; // 0x11ec + int32_t bonus_health; // 0x12b8 + float hp_regen; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Fortitude_Ring_Active : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 + int32_t damage_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_PogoStick : public CDOTA_Item { public: @@ -81567,40 +82873,40 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_PogoStick : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_mana; // 0x11ec - int32_t bonus_intellect; // 0x11f0 + int32_t bonus_health; // 0x12b8 + int32_t bonus_mana; // 0x12bc + int32_t bonus_intellect; // 0x12c0 }; // Alignment: 13 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Pogo_Stick_Active : public CDOTA_Buff { public: - float m_flTotalTime; // 0x11e8 - float m_flInitialVelocity; // 0x11ec - Vector m_vStartPosition; // 0x11f0 - Vector m_vTargetHorizontalDirection; // 0x11fc - float m_flCurrentTimeHoriz; // 0x1208 - float m_flCurrentTimeVert; // 0x120c - bool m_bInterrupted; // 0x1210 + float m_flTotalTime; // 0x12b8 + float m_flInitialVelocity; // 0x12bc + Vector m_vStartPosition; // 0x12c0 + Vector m_vTargetHorizontalDirection; // 0x12cc + float m_flCurrentTimeHoriz; // 0x12d8 + float m_flCurrentTimeVert; // 0x12dc + bool m_bInterrupted; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t leap_distance; // 0x1214 - float leap_speed; // 0x1218 - float leap_acceleration; // 0x121c - int32_t leap_radius; // 0x1220 - float leap_bonus_duration; // 0x1224 - bool m_bLaunched; // 0x1228 + int32_t leap_distance; // 0x12e4 + float leap_speed; // 0x12e8 + float leap_acceleration; // 0x12ec + int32_t leap_radius; // 0x12f0 + float leap_bonus_duration; // 0x12f4 + bool m_bLaunched; // 0x12f8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Paintball : public CDOTA_Item { public: @@ -81608,23 +82914,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Paintball : public CDOTA_Buff_Item { public: - int32_t movespeed; // 0x11e8 + int32_t movespeed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Paintball_Debuff : public CDOTA_Buff { public: - int32_t dps; // 0x11e8 + int32_t dps; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_UnstableWand : public CDOTA_Item { public: @@ -81632,15 +82938,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_UnstableWand : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x11e8 + int32_t all_stats; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_UnstableWand_Critter : public CDOTA_Modifier_Hexed { public: @@ -81648,7 +82954,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_LightRobes : public CDOTA_Item { public: @@ -81656,24 +82962,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_LightRobes : public CDOTA_Buff_Item { public: - int32_t health_penalty; // 0x11e8 - int32_t attack_speed; // 0x11ec + int32_t health_penalty; // 0x12b8 + int32_t attack_speed; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Force_Field_Bonus_Aura : public CDOTA_Buff { public: - int32_t bonus_aoe_radius; // 0x11e8 + int32_t bonus_aoe_radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Force_Field_Bonus : public CDOTA_Buff { public: @@ -81681,34 +82987,34 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Force_Field : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x11e8 + bool m_bAppliesToCreeps; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - int32_t bonus_aoe_radius; // 0x11ec - int32_t self_armor; // 0x11f0 - int32_t self_mres; // 0x11f4 + int32_t bonus_aoe_radius; // 0x12bc + int32_t self_armor; // 0x12c0 + int32_t self_mres; // 0x12c4 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Force_Field_Effect : public CDOTA_Buff { public: - float bonus_aoe_armor; // 0x11e8 - float bonus_aoe_ms; // 0x11ec - float bonus_aoe_mres; // 0x11f0 - float self_mres; // 0x11f4 - float self_armor; // 0x11f8 - int32_t active_reflection_pct; // 0x11fc + float bonus_aoe_armor; // 0x12b8 + float bonus_aoe_ms; // 0x12bc + float bonus_aoe_mres; // 0x12c0 + float self_mres; // 0x12c4 + float self_armor; // 0x12c8 + int32_t active_reflection_pct; // 0x12cc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Force_Field : public CDOTA_Item { public: @@ -81716,7 +83022,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Misericorde : public CDOTA_Item { public: @@ -81724,18 +83030,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Misericorde : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t missing_hp; // 0x11ec - int32_t damage; // 0x11f0 - int32_t aspd; // 0x11f4 + int32_t bonus_damage; // 0x12b8 + int32_t missing_hp; // 0x12bc + int32_t damage; // 0x12c0 + int32_t aspd; // 0x12c4 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Ancient_Perseverance : public CDOTA_Item { public: @@ -81743,7 +83049,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Ancient_Perseverance : public CDOTA_Item { public: @@ -81751,17 +83057,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Ancient_Perseverance : public CDOTA_Buff_Item { public: - int32_t damage; // 0x11e8 - int32_t hp_regen; // 0x11ec - int32_t mana_regen_amp; // 0x11f0 + int32_t damage; // 0x12b8 + int32_t hp_regen; // 0x12bc + int32_t mana_regen_amp; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Oakheart : public CDOTA_Item { public: @@ -81769,7 +83075,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Oakheart : public CDOTA_Item { public: @@ -81777,25 +83083,25 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Oakheart : public CDOTA_Buff_Item { public: - int32_t strength; // 0x11e8 + int32_t strength; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Oakheart_Healing : public CDOTA_Buff { public: - int32_t heal; // 0x11e8 - float duration; // 0x11ec - float regen; // 0x11f0 + int32_t heal; // 0x12b8 + float duration; // 0x12bc + float regen; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Stormcrafter : public CDOTA_Item { public: @@ -81803,7 +83109,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Stormcrafter : public CDOTA_Item { public: @@ -81811,30 +83117,30 @@ public: }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Stormcrafter : public CDOTA_Buff_Item { public: - GameTime_t m_flNextHit; // 0x11e8 - int32_t passive_movement_bonus; // 0x11ec - int32_t range; // 0x11f0 - float interval; // 0x11f4 - int32_t damage; // 0x11f8 - float slow_duration; // 0x11fc - float bonus_mana_regen; // 0x1200 - int32_t max_targets; // 0x1204 + GameTime_t m_flNextHit; // 0x12b8 + int32_t passive_movement_bonus; // 0x12bc + int32_t range; // 0x12c0 + float interval; // 0x12c4 + int32_t damage; // 0x12c8 + float slow_duration; // 0x12cc + float bonus_mana_regen; // 0x12d0 + int32_t max_targets; // 0x12d4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Stormcrafter_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Overflowing_Elixir : public CDOTA_Item { public: @@ -81842,25 +83148,25 @@ public: }; // Alignment: 2 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_Overflowing_Elixir : public CDOTA_Item { public: - int32_t m_iStoredRuneType; // 0x600 - GameTime_t m_fStoredRuneTime; // 0x604 + int32_t m_iStoredRuneType; // 0x610 + GameTime_t m_fStoredRuneTime; // 0x614 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Overflowing_Elixir_Regen : public CDOTA_Buff { public: - int32_t health; // 0x11e8 - int32_t mana; // 0x11ec + int32_t health; // 0x12b8 + int32_t mana; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Mysterious_Hat : public CDOTA_Item { public: @@ -81868,7 +83174,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Mysterious_Hat : public CDOTA_Item { public: @@ -81876,17 +83182,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Mysterious_Hat : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t spell_amp; // 0x11ec - int32_t manacost_reduction; // 0x11f0 + int32_t bonus_health; // 0x12b8 + int32_t spell_amp; // 0x12bc + int32_t manacost_reduction; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Orb_of_Pestilence : public CDOTA_Item { public: @@ -81894,7 +83200,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Orb_of_Pestilence : public CDOTA_Item { public: @@ -81902,30 +83208,30 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Orb_of_Pestilence : public CDOTA_Buff_Item { public: - int32_t poison_movement_speed_melee; // 0x11e8 - int32_t poison_movement_speed_range; // 0x11ec - float poison_duration; // 0x11f0 - float poison_damage; // 0x11f4 - int32_t armor; // 0x11f8 - float hp_regen; // 0x11fc + int32_t poison_movement_speed_melee; // 0x12b8 + int32_t poison_movement_speed_range; // 0x12bc + float poison_duration; // 0x12c0 + float poison_damage; // 0x12c4 + int32_t armor; // 0x12c8 + float hp_regen; // 0x12cc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Orb_of_Pestilence_Slow : public CDOTA_Buff { public: - float duration; // 0x11e8 - int32_t slow; // 0x11ec - float damage; // 0x11f0 + float duration; // 0x12b8 + int32_t slow; // 0x12bc + float damage; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Fluffy_Hat : public CDOTA_Item { public: @@ -81933,7 +83239,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Fluffy_Hat : public CDOTA_Item { public: @@ -81941,15 +83247,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Fluffy_Hat : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 + int32_t bonus_health; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Falcon_Blade : public CDOTA_Item { public: @@ -81957,7 +83263,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Falcon_Blade : public CDOTA_Item { public: @@ -81965,20 +83271,20 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Falcon_Blade : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_damage_per_kill; // 0x11ec - int32_t bonus_damage_per_assist; // 0x11f0 - int32_t bonus_health; // 0x11f4 - int32_t max_damage; // 0x11f8 - float bonus_mana_regen; // 0x11fc + int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage_per_kill; // 0x12bc + int32_t bonus_damage_per_assist; // 0x12c0 + int32_t bonus_health; // 0x12c4 + int32_t max_damage; // 0x12c8 + float bonus_mana_regen; // 0x12cc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Mage_Slayer : public CDOTA_Item { public: @@ -81986,7 +83292,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Mage_Slayer : public CDOTA_Item { public: @@ -81994,28 +83300,28 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Mage_Slayer : public CDOTA_Buff_Item { public: - int32_t bonus_magical_armor; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t bonus_damage; // 0x11f0 - float duration; // 0x11f4 - float bonus_mana_regen; // 0x11f8 - int32_t bonus_intellect; // 0x11fc + int32_t bonus_magical_armor; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t bonus_damage; // 0x12c0 + float duration; // 0x12c4 + float bonus_mana_regen; // 0x12c8 + int32_t bonus_intellect; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Mage_Slayer_Debuff : public CDOTA_Buff { public: - int32_t spell_amp_debuff; // 0x11e8 + int32_t spell_amp_debuff; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Overwhelming_Blink : public CDOTA_Item { public: @@ -82023,7 +83329,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Overwhelming_Blink : public CDOTA_Item { public: @@ -82031,7 +83337,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_SuperOverwhelming_Blink : public CDOTA_Item_Overwhelming_Blink { public: @@ -82039,33 +83345,36 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Overwhelming_Blink : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - float blink_damage_cooldown; // 0x11ec + int32_t bonus_strength; // 0x12b8 + float blink_damage_cooldown; // 0x12bc }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_SuperOverwhelming_Blink : public CDOTA_Modifier_Item_Overwhelming_Blink { public: // No members available }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 5 +// Size: 0x12d0 class CDOTA_Modifier_Item_Overwhelming_Blink_Debuff : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 - int32_t attack_slow; // 0x11ec + float caster_strength; // 0x12b8 + int32_t movement_slow; // 0x12bc + int32_t attack_slow; // 0x12c0 + float damage_pct_over_time; // 0x12c4 + float m_flTickDamage; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Swift_Blink : public CDOTA_Item { public: @@ -82073,7 +83382,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Swift_Blink : public CDOTA_Item { public: @@ -82081,7 +83390,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_SuperSwift_Blink : public CDOTA_Item_Swift_Blink { public: @@ -82089,16 +83398,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Swift_Blink : public CDOTA_Buff_Item { public: - float blink_damage_cooldown; // 0x11e8 - int32_t bonus_agility; // 0x11ec + float blink_damage_cooldown; // 0x12b8 + int32_t bonus_agility; // 0x12bc }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_SuperSwift_Blink : public CDOTA_Modifier_Item_Swift_Blink { public: @@ -82106,16 +83415,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Swift_Blink_Buff : public CDOTA_Buff { public: - int32_t bonus_movement; // 0x11e8 - int32_t bonus_agi_active; // 0x11ec + int32_t bonus_movement; // 0x12b8 + int32_t bonus_agi_active; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Arcane_Blink : public CDOTA_Item { public: @@ -82123,7 +83432,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Arcane_Blink : public CDOTA_Item { public: @@ -82131,7 +83440,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_SuperArcane_Blink : public CDOTA_Item_Arcane_Blink { public: @@ -82139,34 +83448,35 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Arcane_Blink : public CDOTA_Buff_Item { public: - float blink_damage_cooldown; // 0x11e8 - int32_t bonus_intellect; // 0x11ec + float blink_damage_cooldown; // 0x12b8 + int32_t bonus_intellect; // 0x12bc }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_SuperArcane_Blink : public CDOTA_Modifier_Item_Arcane_Blink { public: // No members available }; -// Alignment: 3 -// Size: 0x11f8 +// Alignment: 4 +// Size: 0x12c8 class CDOTA_Modifier_Item_Arcane_Blink_Buff : public CDOTA_Buff { public: - int32_t cast_pct_improvement; // 0x11e8 - int32_t manacost_reduction; // 0x11ec - int32_t debuff_amp; // 0x11f0 + int32_t cast_pct_improvement; // 0x12b8 + int32_t manacost_reduction; // 0x12bc + int32_t debuff_amp; // 0x12c0 + int32_t cast_range_bonus; // 0x12c4 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Wind_Waker : public CDOTA_Item { public: @@ -82174,7 +83484,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Wind_Waker : public CDOTA_Item { public: @@ -82182,32 +83492,32 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Wind_Waker : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t bonus_movement_speed; // 0x11f0 - int32_t bonus_mana; // 0x11f4 - int32_t cast_range_bonus; // 0x11f8 + int32_t bonus_intellect; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_movement_speed; // 0x12c0 + int32_t bonus_mana; // 0x12c4 + int32_t cast_range_bonus; // 0x12c8 }; // Alignment: 6 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Wind_Waker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hBlocker; // 0x11e8 - GameTime_t m_flStartTime; // 0x11ec - Vector m_vStartPos; // 0x11f0 - float m_flCurTime; // 0x11fc - float m_flHeightT; // 0x1200 - Vector m_vMoveToPos; // 0x1204 + CHandle< CBaseEntity > m_hBlocker; // 0x12b8 + GameTime_t m_flStartTime; // 0x12bc + Vector m_vStartPos; // 0x12c0 + float m_flCurTime; // 0x12cc + float m_flHeightT; // 0x12d0 + Vector m_vMoveToPos; // 0x12d4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Eul_Wind_Waker_Thinker : public CDOTA_Buff { public: @@ -82215,7 +83525,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Aghanims_Shard : public CDOTA_Item { public: @@ -82223,7 +83533,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Aghanims_Shard_Roshan : public CDOTA_Item { public: @@ -82231,7 +83541,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghanims_Shard : public CDOTA_Buff { public: @@ -82239,7 +83549,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Eternal_Shroud : public CDOTA_Item { public: @@ -82247,7 +83557,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Eternal_Shroud : public CDOTA_Item { public: @@ -82255,28 +83565,28 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Eternal_Shroud_Barrier : public CDOTA_Buff { public: - int32_t barrier_block; // 0x11e8 - int32_t barrier_amount; // 0x11ec + int32_t barrier_block; // 0x12b8 + int32_t barrier_amount; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Eternal_Shroud : public CDOTA_Buff_Item { public: - int32_t bonus_spell_resist; // 0x11e8 - int32_t bonus_strength; // 0x11ec - int32_t bonus_armor; // 0x11f0 - float bonus_health_regen; // 0x11f4 - int32_t mana_restore_pct; // 0x11f8 + int32_t bonus_spell_resist; // 0x12b8 + int32_t bonus_strength; // 0x12bc + int32_t bonus_armor; // 0x12c0 + float bonus_health_regen; // 0x12c4 + int32_t mana_restore_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Star_Mace : public CDOTA_Item { public: @@ -82284,7 +83594,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Star_Mace : public CDOTA_Item { public: @@ -82292,20 +83602,20 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Star_Mace : public CDOTA_Buff_Item { public: - int32_t movement_speed_pct; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t cleave_damage_percent; // 0x11f0 - int32_t cleave_starting_width; // 0x11f4 - int32_t cleave_ending_width; // 0x11f8 - int32_t cleave_distance; // 0x11fc + int32_t movement_speed_pct; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t cleave_damage_percent; // 0x12c0 + int32_t cleave_starting_width; // 0x12c4 + int32_t cleave_ending_width; // 0x12c8 + int32_t cleave_distance; // 0x12cc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Penta_Edged_Sword : public CDOTA_Item { public: @@ -82313,7 +83623,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Penta_Edged_Sword : public CDOTA_Item { public: @@ -82321,27 +83631,27 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Penta_Edged_Sword : public CDOTA_Buff_Item { public: - int32_t damage; // 0x11e8 - int32_t maim_chance; // 0x11ec - float maim_duration; // 0x11f0 - int32_t melee_attack_range; // 0x11f4 + int32_t damage; // 0x12b8 + int32_t maim_chance; // 0x12bc + float maim_duration; // 0x12c0 + int32_t melee_attack_range; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Penta_Edged_Sword_Maim : public CDOTA_Buff { public: - int32_t maim_slow_movement; // 0x11e8 - int32_t maim_slow_attack; // 0x11ec + int32_t maim_slow_movement; // 0x12b8 + int32_t maim_slow_attack; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Gungir : public CDOTA_Item { public: @@ -82349,7 +83659,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Gungir : public CDOTA_Item { public: @@ -82357,42 +83667,40 @@ public: }; // Alignment: 7 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_GungirChain : public CDOTA_Buff { public: - int32_t chain_radius; // 0x11e8 - int32_t chain_strikes; // 0x11ec - int32_t chain_damage; // 0x11f0 - float chain_delay; // 0x11f4 - int32_t m_iCurJumpCount; // 0x11f8 - Vector m_vCurTargetLoc; // 0x11fc - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1208 + int32_t chain_radius; // 0x12b8 + int32_t chain_strikes; // 0x12bc + int32_t chain_damage; // 0x12c0 + float chain_delay; // 0x12c4 + int32_t m_iCurJumpCount; // 0x12c8 + Vector m_vCurTargetLoc; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12d8 }; -// Alignment: 11 -// Size: 0x1240 +// Alignment: 12 +// Size: 0x1310 class CDOTA_Modifier_Item_Gungir : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x11e8 - int32_t bonus_strength; // 0x11ec - int32_t bonus_agility; // 0x11f0 - int32_t bonus_intellect; // 0x11f4 - int32_t chain_chance; // 0x11f8 - int32_t chain_strikes; // 0x11fc - int32_t chain_damage; // 0x1200 - int32_t chain_radius; // 0x1204 - float chain_cooldown; // 0x1208 -private: - [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1210 - CountdownTimer m_ChainTimer; // 0x1228 + int32_t bonus_damage; // 0x12b8 + int32_t bonus_strength; // 0x12bc + int32_t bonus_agility; // 0x12c0 + int32_t bonus_intellect; // 0x12c4 + int32_t bonus_hp; // 0x12c8 + int32_t chain_chance; // 0x12cc + int32_t chain_strikes; // 0x12d0 + int32_t chain_damage; // 0x12d4 + int32_t chain_radius; // 0x12d8 + float chain_cooldown; // 0x12dc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 + CountdownTimer m_ChainTimer; // 0x12f8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Gungnir_Debuff : public CDOTA_Modifier_Rooted { public: @@ -82400,7 +83708,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Orb_Of_Revelations : public CDOTA_Item { public: @@ -82408,37 +83716,37 @@ public: }; // Alignment: 2 -// Size: 0x620 +// Size: 0x630 class CDOTA_Item_Orb_Of_Revelations : public CDOTA_Item { public: - CountdownTimer m_ViewerTimer; // 0x600 - int32_t m_iProjectile; // 0x618 + CountdownTimer m_ViewerTimer; // 0x610 + int32_t m_iProjectile; // 0x628 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Orb_Of_Revelations : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_mana; // 0x11ec - float bonus_mana_regen; // 0x11f0 - int32_t cast_range_bonus; // 0x11f4 - int32_t bonus_magical_armor; // 0x11f8 + int32_t bonus_health; // 0x12b8 + int32_t bonus_mana; // 0x12bc + float bonus_mana_regen; // 0x12c0 + int32_t cast_range_bonus; // 0x12c4 + int32_t bonus_magical_armor; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Orb_Of_Revelations_Reveal : public CDOTA_Buff { public: - int32_t movespeed; // 0x11e8 - bool m_bCastOnInvisibleHero; // 0x11ec + int32_t movespeed; // 0x12b8 + bool m_bCastOnInvisibleHero; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Satchel : public CDOTA_Item { public: @@ -82446,16 +83754,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Satchel : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 - int32_t xp_gain; // 0x11ec + int32_t bonus_all_stats; // 0x12b8 + int32_t xp_gain; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Grandmasters_Glaive : public CDOTA_Item { public: @@ -82463,67 +83771,67 @@ public: }; // Alignment: 19 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_Item_Grandmasters_Glaive : public CDOTA_Buff_Item { public: - int32_t sange_bonus_strength; // 0x11e8 - int32_t sange_status_resistance; // 0x11ec - int32_t sange_hp_regen_amp; // 0x11f0 - int32_t kaya_bonus_intellect; // 0x11f4 - int32_t kaya_spell_amp; // 0x11f8 - int32_t kaya_mana_regen_multiplier; // 0x11fc - int32_t kaya_magic_damage_attack; // 0x1200 - int32_t yasha_bonus_agility; // 0x1204 - int32_t yasha_bonus_attack_speed; // 0x1208 - int32_t yasha_movement_speed_percent_bonus; // 0x120c - int32_t m_iCurrentStance; // 0x1210 - int32_t bonus_strength; // 0x1214 - int32_t bash_chance_melee; // 0x1218 - int32_t bash_chance_ranged; // 0x121c - float bash_duration; // 0x1220 - float bash_cooldown; // 0x1224 - int32_t bonus_chance_damage; // 0x1228 - int32_t bonus_damage; // 0x122c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1230 + int32_t sange_bonus_strength; // 0x12b8 + int32_t sange_status_resistance; // 0x12bc + int32_t sange_hp_regen_amp; // 0x12c0 + int32_t kaya_bonus_intellect; // 0x12c4 + int32_t kaya_spell_amp; // 0x12c8 + int32_t kaya_mana_regen_multiplier; // 0x12cc + int32_t kaya_magic_damage_attack; // 0x12d0 + int32_t yasha_bonus_agility; // 0x12d4 + int32_t yasha_bonus_attack_speed; // 0x12d8 + int32_t yasha_movement_speed_percent_bonus; // 0x12dc + int32_t m_iCurrentStance; // 0x12e0 + int32_t bonus_strength; // 0x12e4 + int32_t bash_chance_melee; // 0x12e8 + int32_t bash_chance_ranged; // 0x12ec + float bash_duration; // 0x12f0 + float bash_cooldown; // 0x12f4 + int32_t bonus_chance_damage; // 0x12f8 + int32_t bonus_damage; // 0x12fc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x1300 }; // Alignment: 1 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_Grandmasters_Glaive : public CDOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnGrandmastersStatChanged" - int32_t m_iStat; // 0x600 + int32_t m_iStat; // 0x610 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Agi : public CDOTA_Buff { public: - int32_t agi_stance; // 0x11e8 + int32_t agi_stance; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Str : public CDOTA_Buff { public: - int32_t str_stance; // 0x11e8 + int32_t str_stance; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Int : public CDOTA_Buff { public: - int32_t int_stance; // 0x11e8 + int32_t int_stance; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Warhammer : public CDOTA_Item { public: @@ -82531,7 +83839,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Warhammer : public CDOTA_Item { public: @@ -82539,23 +83847,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Warhammer : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 + int32_t bonus_strength; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Warhammer_Armor : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 + int32_t armor_reduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Psychic_Headband : public CDOTA_Item { public: @@ -82563,7 +83871,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Psychic_Headband : public CDOTA_Item { public: @@ -82571,28 +83879,28 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Psychic_Headband : public CDOTA_Buff_Item { public: - int32_t intelligence_pct; // 0x11e8 - int32_t cast_range; // 0x11ec + int32_t intelligence_pct; // 0x12b8 + int32_t cast_range; // 0x12bc }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Psychic_Headband : public CDOTA_Buff { public: - Vector m_vDirection; // 0x11e8 - float m_flEndTime; // 0x11f4 - float m_flCurTime; // 0x11f8 - int32_t push_length; // 0x11fc - float push_duration; // 0x1200 + Vector m_vDirection; // 0x12b8 + float m_flEndTime; // 0x12c4 + float m_flCurTime; // 0x12c8 + int32_t push_length; // 0x12cc + float push_duration; // 0x12d0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Ceremonial_Robe : public CDOTA_Item { public: @@ -82600,7 +83908,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Ceremonial_Robe : public CDOTA_Item { public: @@ -82608,25 +83916,25 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Ceremonial_Robe : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x11e8 - int32_t aura_radius; // 0x11ec + int32_t bonus_mana; // 0x12b8 + int32_t aura_radius; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Ceremonial_Robe_Aura : public CDOTA_Buff { public: - int32_t status_resistance; // 0x11e8 - int32_t magic_resistance; // 0x11ec + int32_t status_resistance; // 0x12b8 + int32_t magic_resistance; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Book_Of_Shadows : public CDOTA_Item { public: @@ -82634,7 +83942,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Book_Of_Shadows : public CDOTA_Item { public: @@ -82642,24 +83950,25 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Book_Of_Shadows : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 - int32_t night_vision; // 0x11ec + int32_t bonus_all_stats; // 0x12b8 + int32_t night_vision; // 0x12bc }; -// Alignment: 0 -// Size: 0x11e8 +// Alignment: 2 +// Size: 0x12c0 class CDOTA_Modifier_Item_Book_Of_Shadows_Buff : public CDOTA_Buff { public: - // No members available + bool m_bUntargetableAllies; // 0x12b8 + bool m_bUntargetableEnemies; // 0x12b9 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Giants_Ring : public CDOTA_Item { public: @@ -82667,7 +83976,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Giants_Ring : public CDOTA_Item { public: @@ -82675,20 +83984,20 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Giants_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 - int32_t movement_speed; // 0x11ec - int32_t model_scale; // 0x11f0 - int32_t damage_radius; // 0x11f4 - int32_t pct_str_damage_per_second; // 0x11f8 - float tick_rate; // 0x11fc + int32_t bonus_strength; // 0x12b8 + int32_t movement_speed; // 0x12bc + int32_t model_scale; // 0x12c0 + int32_t damage_radius; // 0x12c4 + int32_t pct_str_damage_per_second; // 0x12c8 + float tick_rate; // 0x12cc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Vengeances_Shadow : public CDOTA_Item { public: @@ -82696,7 +84005,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Vengeances_Shadow : public CDOTA_Item { public: @@ -82704,24 +84013,24 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Vengeances_Shadow : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t damage_return; // 0x11ec + int32_t bonus_health; // 0x12b8 + int32_t damage_return; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Vengeances_Shadow_Illusions : public CDOTA_Buff { public: - bool m_bLeftoverHybrid; // 0x11e8 + bool m_bLeftoverHybrid; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Bullwhip : public CDOTA_Item { public: @@ -82729,7 +84038,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Bullwhip : public CDOTA_Item { public: @@ -82737,35 +84046,35 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Bullwhip : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x11e8 - float bonus_mana_regen; // 0x11ec + float bonus_health_regen; // 0x12b8 + float bonus_mana_regen; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Bullwhip_Buff_Thinker : public CDOTA_Buff { public: - int32_t speed; // 0x11e8 - CHandle< CBaseEntity > m_hTarget; // 0x11ec - ParticleIndex_t m_nFXIndex; // 0x11f0 + int32_t speed; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Bullwhip_Buff : public CDOTA_Buff { public: - int32_t speed; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t speed; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Quicksilver_Amulet : public CDOTA_Item { public: @@ -82773,7 +84082,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Quicksilver_Amulet : public CDOTA_Item { public: @@ -82781,20 +84090,20 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Quicksilver_Amulet : public CDOTA_Buff_Item { public: - int32_t base_attack; // 0x11e8 - int32_t bonus_attack; // 0x11ec - int32_t base_movement; // 0x11f0 - int32_t bonus_movement; // 0x11f4 - int32_t projectile_increase; // 0x11f8 - int32_t anim_increase; // 0x11fc + int32_t base_attack; // 0x12b8 + int32_t bonus_attack; // 0x12bc + int32_t base_movement; // 0x12c0 + int32_t bonus_movement; // 0x12c4 + int32_t projectile_increase; // 0x12c8 + int32_t anim_increase; // 0x12cc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Naginata : public CDOTA_Item { public: @@ -82802,7 +84111,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Naginata : public CDOTA_Item { public: @@ -82810,21 +84119,21 @@ public: }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Naginata : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - int32_t bonus_damage; // 0x11f0 - int32_t bonus_health; // 0x11f4 - float bonus_mana_regen; // 0x11f8 - int32_t cooldown_reduction_percent; // 0x11fc - int32_t bonus_chance; // 0x1200 + int32_t bonus_intellect; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + int32_t bonus_damage; // 0x12c0 + int32_t bonus_health; // 0x12c4 + float bonus_mana_regen; // 0x12c8 + int32_t cooldown_reduction_percent; // 0x12cc + int32_t bonus_chance; // 0x12d0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_SeedsOfSerenity : public CDOTA_Item { public: @@ -82832,33 +84141,33 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_SeedsOfSerenity : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - float bonus_health_regen; // 0x11ec + int32_t bonus_health; // 0x12b8 + float bonus_health_regen; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_SeedsOfSerenity_Active_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_SeedsOfSerenity_Active : public CDOTA_Buff { public: - int32_t aura_health_regen; // 0x11e8 + int32_t aura_health_regen; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_LanceOfPursuit : public CDOTA_Item { public: @@ -82866,29 +84175,29 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_LanceOfPursuit : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x11e8 - int32_t bonus_strength; // 0x11ec - int32_t backstab_damage; // 0x11f0 - int32_t backstab_angle; // 0x11f4 - float slow_duration; // 0x11f8 - bool m_bBackstab; // 0x11fc + int32_t bonus_mana; // 0x12b8 + int32_t bonus_strength; // 0x12bc + int32_t backstab_damage; // 0x12c0 + int32_t backstab_angle; // 0x12c4 + float slow_duration; // 0x12c8 + bool m_bBackstab; // 0x12cc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Lance_of_Pursuit_Slow : public CDOTA_Buff { public: - int32_t slow_pct_melee; // 0x11e8 - int32_t slow_pct_ranged; // 0x11ec + int32_t slow_pct_melee; // 0x12b8 + int32_t slow_pct_ranged; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Occult_Bracelet : public CDOTA_Item { public: @@ -82896,27 +84205,27 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Occult_Bracelet : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x11e8 - int32_t stack_limit; // 0x11ec - float stack_duration; // 0x11f0 - GameTime_t m_flStackDieTime; // 0x11f4 - int32_t magic_resistance; // 0x11f8 + int32_t bonus_all_stats; // 0x12b8 + int32_t stack_limit; // 0x12bc + float stack_duration; // 0x12c0 + GameTime_t m_flStackDieTime; // 0x12c4 + int32_t magic_resistance; // 0x12c8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Occult_Bracelet_Stack : public CDOTA_Buff { public: - float mana_regen; // 0x11e8 + float mana_regen; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Tome_of_Omniscience : public CDOTA_Item { public: @@ -82924,17 +84233,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Tome_of_Omniscience : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x11e8 - int32_t bonus_xpm; // 0x11ec - int32_t bonus_armor; // 0x11f0 + int32_t bonus_mana; // 0x12b8 + int32_t bonus_xpm; // 0x12bc + int32_t bonus_armor; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_OgreSealTotem : public CDOTA_Item { public: @@ -82942,47 +84251,47 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_OgreSealTotem : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 + int32_t bonus_strength; // 0x12b8 }; // Alignment: 14 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_OgreSealTotem_Active : public CDOTA_Buff { public: - float m_flTotalTime; // 0x11e8 - float m_flInitialVelocity; // 0x11ec - Vector m_vStartPosition; // 0x11f0 - Vector m_vTargetHorizontalDirection; // 0x11fc - float m_flCurrentTimeHoriz; // 0x1208 - float m_flCurrentTimeVert; // 0x120c - bool m_bInterrupted; // 0x1210 + float m_flTotalTime; // 0x12b8 + float m_flInitialVelocity; // 0x12bc + Vector m_vStartPosition; // 0x12c0 + Vector m_vTargetHorizontalDirection; // 0x12cc + float m_flCurrentTimeHoriz; // 0x12d8 + float m_flCurrentTimeVert; // 0x12dc + bool m_bInterrupted; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t m_nCurrentBounce; // 0x1214 - int32_t leap_distance; // 0x1218 - float leap_speed; // 0x121c - float leap_acceleration; // 0x1220 - int32_t leap_radius; // 0x1224 - float leap_bonus_duration; // 0x1228 - bool m_bLaunched; // 0x122c + int32_t m_nCurrentBounce; // 0x12e4 + int32_t leap_distance; // 0x12e8 + float leap_speed; // 0x12ec + float leap_acceleration; // 0x12f0 + int32_t leap_radius; // 0x12f4 + float leap_bonus_duration; // 0x12f8 + bool m_bLaunched; // 0x12fc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_OgreSealTotem_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_WandOfTheBrine : public CDOTA_Item { public: @@ -82990,27 +84299,27 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_WandOfTheBrine : public CDOTA_Buff_Item { public: - int32_t heal_increase; // 0x11e8 + int32_t heal_increase; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_WandOfTheBrine_Active : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - float interval; // 0x11ec - int32_t damage_reduction; // 0x11f0 - int32_t heal; // 0x11f4 - ParticleIndex_t m_nFXIndex; // 0x11f8 + int32_t movement_speed; // 0x12b8 + float interval; // 0x12bc + int32_t damage_reduction; // 0x12c0 + int32_t heal; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Slime_Vial : public CDOTA_Item { public: @@ -83018,40 +84327,40 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Slime_Vial : public CDOTA_Buff_Item { public: - int32_t health_regen; // 0x11e8 + int32_t health_regen; // 0x12b8 }; // Alignment: 8 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Item_Slime_Vial_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x11e8 - GameTime_t m_fLastThink; // 0x11ec - CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x11f0 - CountdownTimer m_ViewerTimer; // 0x1208 - int32_t spill_speed; // 0x1220 - int32_t spill_radius; // 0x1224 - int32_t spill_damage; // 0x1228 - float spill_debuff_duration; // 0x122c + float m_fCurRadius; // 0x12b8 + GameTime_t m_fLastThink; // 0x12bc + CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x12c0 + CountdownTimer m_ViewerTimer; // 0x12d8 + int32_t spill_speed; // 0x12f0 + int32_t spill_radius; // 0x12f4 + int32_t spill_damage; // 0x12f8 + float spill_debuff_duration; // 0x12fc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Slime_Vial_Spill_Debuff : public CDOTA_Buff { public: - int32_t spill_movement_speed; // 0x11e8 - int32_t spill_attack_speed; // 0x11ec - int32_t spill_self_bonus_armor; // 0x11f0 + int32_t spill_movement_speed; // 0x12b8 + int32_t spill_attack_speed; // 0x12bc + int32_t spill_self_bonus_armor; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Harpoon : public CDOTA_Item { public: @@ -83059,7 +84368,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Harpoon : public CDOTA_Item { public: @@ -83067,57 +84376,57 @@ public: }; // Alignment: 10 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Item_Harpoon : public CDOTA_Buff_Item { public: - int32_t bonus_chance; // 0x11e8 - int32_t bonus_chance_damage; // 0x11ec - int32_t bonus_strength; // 0x11f0 - int32_t bonus_agility; // 0x11f4 - int32_t bonus_intellect; // 0x11f8 - float bonus_mana_regen; // 0x11fc - int32_t bonus_damage; // 0x1200 - int32_t bonus_speed; // 0x1204 - CUtlVector< int16 > m_InFlightProcAttackRecords; // 0x1208 - int32_t m_nBonusProcAttackRecord; // 0x1220 + int32_t bonus_chance; // 0x12b8 + int32_t bonus_chance_damage; // 0x12bc + int32_t bonus_strength; // 0x12c0 + int32_t bonus_agility; // 0x12c4 + int32_t bonus_intellect; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_damage; // 0x12d0 + int32_t bonus_speed; // 0x12d4 + CUtlVector< int16 > m_InFlightProcAttackRecords; // 0x12d8 + int32_t m_nBonusProcAttackRecord; // 0x12f0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Harpoon_EchoSabre_Component : public CDOTA_Buff_Item { public: - float slow_duration; // 0x11e8 - int32_t bonus_attack_speed; // 0x11ec - bool bonus_speed; // 0x11f0 + float slow_duration; // 0x12b8 + int32_t bonus_attack_speed; // 0x12bc + bool bonus_speed; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - float passive_cooldown; // 0x11f4 + float passive_cooldown; // 0x12c4 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Harpoon_Pull : public CDOTA_Buff { public: - Vector m_vDirection; // 0x11e8 - float m_flEndTime; // 0x11f4 - float m_flCurTime; // 0x11f8 - float m_flDistance; // 0x11fc + Vector m_vDirection; // 0x12b8 + float m_flEndTime; // 0x12c4 + float m_flCurTime; // 0x12c8 + float m_flDistance; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Harpoon_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Harpoon_InternalCD : public CDOTA_Buff { public: @@ -83125,7 +84434,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Guardian_Shell : public CDOTA_Item { public: @@ -83133,43 +84442,43 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Guardian_Shell : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x11e8 - int32_t bonus_armor; // 0x11ec - float counter_cooldown; // 0x11f0 - GameTime_t m_flLastCounterTime; // 0x11f4 + int32_t all_stats; // 0x12b8 + int32_t bonus_armor; // 0x12bc + float counter_cooldown; // 0x12c0 + GameTime_t m_flLastCounterTime; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_GuardianShell_Active : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 + ParticleIndex_t m_nFXIndex; // 0x12b8 }; // Alignment: 1 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_Arcane_Scout : public CDOTA_Item { public: - CHandle< CBaseEntity > m_hScout; // 0x600 + CHandle< CBaseEntity > m_hScout; // 0x610 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Arcane_Scout : public CDOTA_Buff_Item { public: - int32_t vision_bonus; // 0x11e8 - int32_t magic_resist; // 0x11ec + int32_t vision_bonus; // 0x12b8 + int32_t magic_resist; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Arcane_Scout_Self_Vision : public CDOTA_Buff { public: @@ -83177,36 +84486,36 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Arcane_Scout_Invulnerability : public CDOTA_Modifier_Invulnerable { public: - int32_t scout_movespeed; // 0x11e8 - int32_t sight_range; // 0x11ec + int32_t scout_movespeed; // 0x12b8 + int32_t sight_range; // 0x12bc }; // Alignment: 1 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_Barricade : public CDOTA_Item { public: - CHandle< CBaseEntity > m_hScout; // 0x600 + CHandle< CBaseEntity > m_hScout; // 0x610 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Barricade_Thinker : public CDOTA_Buff { public: - int32_t length; // 0x11e8 - int32_t width; // 0x11ec - int32_t max_hits; // 0x11f0 - int32_t m_iCurrentHits; // 0x11f4 - int32_t m_hObstruction; // 0x11f8 + int32_t length; // 0x12b8 + int32_t width; // 0x12bc + int32_t max_hits; // 0x12c0 + int32_t m_iCurrentHits; // 0x12c4 + int32_t m_hObstruction; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_Barricade_Blocker : public CDOTA_Buff { public: @@ -83214,16 +84523,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Barricade : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_armor; // 0x11ec + int32_t bonus_health; // 0x12b8 + int32_t bonus_armor; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_EyeOfTheVizier : public CDOTA_Item { public: @@ -83231,17 +84540,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_EyeOfTheVizier : public CDOTA_Buff_Item { public: - int32_t cast_range_bonus; // 0x11e8 - int32_t mana_reduction_pct; // 0x11ec - float bonus_mana_regen; // 0x11f0 + int32_t cast_range_bonus; // 0x12b8 + int32_t mana_reduction_pct; // 0x12bc + float bonus_mana_regen; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_ManaclesOfPower : public CDOTA_Item { public: @@ -83249,63 +84558,63 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_ManaclesOfPower : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x11e8 + int32_t bonus_strength; // 0x12b8 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_ManaclesOfPower_Effect : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hPartner; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec - float leash_distance; // 0x11f0 - float leash_limit_multiplier; // 0x11f4 - CHandle< CBaseEntity > m_hAnchor; // 0x11f8 + CHandle< CBaseEntity > m_hPartner; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc + float leash_distance; // 0x12c0 + float leash_limit_multiplier; // 0x12c4 + CHandle< CBaseEntity > m_hAnchor; // 0x12c8 }; // Alignment: 3 -// Size: 0x610 +// Size: 0x620 class CDOTA_Item_Bottomless_Chalice : public CDOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnChaliceStoredRuneChanged" - int32_t m_iStoredRuneType; // 0x600 - GameTime_t m_fStoredRuneTime; // 0x604 - float stored_rune_duration; // 0x608 + int32_t m_iStoredRuneType; // 0x610 + GameTime_t m_fStoredRuneTime; // 0x614 + float stored_rune_duration; // 0x618 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Bottomless_Chalice_Regen : public CDOTA_Buff { public: - int32_t health; // 0x11e8 - int32_t mana; // 0x11ec + int32_t health; // 0x12b8 + int32_t mana; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_Bottomless_Chalice : public CDOTA_Buff_Item { public: - int32_t max_charges_per_kill; // 0x11e8 - float recharge_time; // 0x11ec - bool m_bFull; // 0x11f0 + int32_t max_charges_per_kill; // 0x12b8 + float recharge_time; // 0x12bc + bool m_bFull; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 + [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 public: - int32_t bonus_intellect; // 0x11f4 - int32_t movement_speed; // 0x11f8 + int32_t bonus_intellect; // 0x12c4 + int32_t movement_speed; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_WandOfSanctitude : public CDOTA_Item { public: @@ -83313,25 +84622,25 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_WandOfSanctitude : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x11e8 - int32_t cast_range_bonus; // 0x11ec + int32_t all_stats; // 0x12b8 + int32_t cast_range_bonus; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_WandOfSanctitude_Active_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t radius; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_SpecialistsArray : public CDOTA_Item { public: @@ -83339,19 +84648,19 @@ public: }; // Alignment: 5 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Item_SpecialistsArray : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t proc_bonus_damage; // 0x11f0 - int32_t count; // 0x11f4 - int32_t secondary_target_range_bonus; // 0x11f8 + int32_t all_stats; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t proc_bonus_damage; // 0x12c0 + int32_t count; // 0x12c4 + int32_t secondary_target_range_bonus; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_DaggerOfRistul : public CDOTA_Item { public: @@ -83359,23 +84668,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_DaggerOfRistul : public CDOTA_Buff_Item { public: - int32_t aspd; // 0x11e8 + int32_t aspd; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_DaggerOfRistul_Buff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x11e8 + int32_t bonus_damage; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Lunar_Crest : public CDOTA_Item { public: @@ -83383,7 +84692,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Lunar_Crest : public CDOTA_Item { public: @@ -83391,35 +84700,35 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Lunar_Crest : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t movement_speed; // 0x11ec - int32_t bonus_spell_resist; // 0x11f0 + int32_t bonus_health; // 0x12b8 + int32_t movement_speed; // 0x12bc + int32_t bonus_spell_resist; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Lunar_Crest_Barrier_Addition : public CDOTA_Buff { public: - int32_t barrier_block; // 0x11e8 - int32_t barrier_amount; // 0x11ec + int32_t barrier_block; // 0x12b8 + int32_t barrier_amount; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Lunar_Crest_Barrier_Reduction : public CDOTA_Buff { public: - int32_t barrier_block; // 0x11e8 - float m_flDamageTotal; // 0x11ec + int32_t barrier_block; // 0x12b8 + float m_flDamageTotal; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Magus_Minimus : public CDOTA_Item { public: @@ -83427,7 +84736,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Magus_Minimus : public CDOTA_Item { public: @@ -83435,38 +84744,38 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Magus_Minimus_Inhibit : public CDOTA_Buff { public: - int32_t purge_rate; // 0x11e8 + int32_t purge_rate; // 0x12b8 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Item_Magus_Minimus : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x11e8 - int32_t bonus_intellect; // 0x11ec - float damage_per_burn; // 0x11f0 - int32_t feedback_mana_burn; // 0x11f4 - int32_t feedback_mana_burn_illusion_melee; // 0x11f8 - int32_t feedback_mana_burn_illusion_ranged; // 0x11fc - int32_t aura_radius; // 0x1200 + int32_t bonus_agility; // 0x12b8 + int32_t bonus_intellect; // 0x12bc + float damage_per_burn; // 0x12c0 + int32_t feedback_mana_burn; // 0x12c4 + int32_t feedback_mana_burn_illusion_melee; // 0x12c8 + int32_t feedback_mana_burn_illusion_ranged; // 0x12cc + int32_t aura_radius; // 0x12d0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Magus_Minimus_Aura_Slow : public CDOTA_Buff { public: - int32_t max_slow_pct; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t max_slow_pct; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Recipe_Witches_Switch : public CDOTA_Item { public: @@ -83474,7 +84783,7 @@ public: }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Witches_Switch : public CDOTA_Item { public: @@ -83482,28 +84791,28 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Witches_Switch : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x11e8 - float bonus_mana_regen; // 0x11ec - int32_t bonus_armor; // 0x11f0 - int32_t aura_radius; // 0x11f4 + float bonus_health_regen; // 0x12b8 + float bonus_mana_regen; // 0x12bc + int32_t bonus_armor; // 0x12c0 + int32_t aura_radius; // 0x12c4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Witches_Switch_Aura_Effect : public CDOTA_Buff { public: - float aura_mana_regen; // 0x11e8 - float aura_health_regen; // 0x11ec - int32_t aura_armor; // 0x11f0 + float aura_mana_regen; // 0x12b8 + float aura_health_regen; // 0x12bc + int32_t aura_armor; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Spark_Of_Courage : public CDOTA_Item { public: @@ -83511,36 +84820,37 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Spark_Of_Courage : public CDOTA_Buff_Item { public: - int32_t damage; // 0x11e8 - int32_t armor; // 0x11ec - int32_t health_pct; // 0x11f0 + int32_t damage; // 0x12b8 + int32_t armor; // 0x12bc + int32_t health_pct; // 0x12c0 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_VindicatorsAxe : public CDOTA_Item { public: // No members available }; -// Alignment: 4 -// Size: 0x11f8 +// Alignment: 5 +// Size: 0x12d0 class CDOTA_Modifier_Item_VindicatorsAxe : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_damage; // 0x11ec - int32_t bonus_armor; // 0x11f0 - ParticleIndex_t m_nFxIndex; // 0x11f4 + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_damage; // 0x12bc + int32_t bonus_armor; // 0x12c0 + int32_t bonus_slow_resist; // 0x12c4 + ParticleIndex_t m_nFxIndex; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_DandelionAmulet : public CDOTA_Item { public: @@ -83548,18 +84858,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifer_Item_DandelionAmulet : public CDOTA_Buff_Item { public: - int32_t move_speed; // 0x11e8 - int32_t mana; // 0x11ec - int32_t magic_block; // 0x11f0 - int32_t min_damage; // 0x11f4 + int32_t move_speed; // 0x12b8 + int32_t mana; // 0x12bc + int32_t magic_block; // 0x12c0 + int32_t min_damage; // 0x12c4 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_BlightedSpirit : public CDOTA_Item { public: @@ -83567,25 +84877,25 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifer_Item_BlightedSpirit : public CDOTA_Buff_Item { public: - int32_t magic_resist; // 0x11e8 - float duration; // 0x11ec + int32_t magic_resist; // 0x12b8 + float duration; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_BlightedSpirit_Blight : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x11e8 - int32_t heal_reduction; // 0x11ec + int32_t damage_per_second; // 0x12b8 + int32_t heal_reduction; // 0x12bc }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_DuelistGloves : public CDOTA_Item { public: @@ -83593,18 +84903,18 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_DuelistGloves : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x11e8 - int32_t bonus_damage; // 0x11ec - float radius; // 0x11f0 - int32_t actual_attack_speed; // 0x11f4 + int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_damage; // 0x12bc + float radius; // 0x12c0 + int32_t actual_attack_speed; // 0x12c4 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_HorizonsEquilibrium : public CDOTA_Item { public: @@ -83612,78 +84922,79 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Item_HorizonsEquilibrium : public CDOTA_Buff_Item { public: - int32_t distance; // 0x11e8 - int32_t damage_reduction; // 0x11ec - int32_t attack_lifesteal; // 0x11f0 - int32_t spell_lifesteal; // 0x11f4 - int32_t creep_lifesteal_reduction_pct; // 0x11f8 + int32_t distance; // 0x12b8 + int32_t damage_reduction; // 0x12bc + int32_t attack_lifesteal; // 0x12c0 + int32_t spell_lifesteal; // 0x12c4 + int32_t creep_lifesteal_reduction_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x608 +// Size: 0x618 class CDOTA_Item_TurtleShell : public CDOTA_Item { public: - float duration; // 0x600 + float duration; // 0x610 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifer_Item_TurtleShell : public CDOTA_Buff_Item { public: - int32_t armor; // 0x11e8 + int32_t armor; // 0x12b8 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifer_Item_TurtleShell_Shell : public CDOTA_Buff_Item { public: - int32_t damage_reduction; // 0x11e8 - Vector m_vecPosition; // 0x11ec - ParticleIndex_t m_nFXIndex; // 0x11f8 + int32_t damage_reduction; // 0x12b8 + Vector m_vecPosition; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_MartyrsPlate : public CDOTA_Item { public: // No members available }; -// Alignment: 2 -// Size: 0x11f0 +// Alignment: 3 +// Size: 0x12c8 class CDOTA_Modifier_Item_MartyrsPlate : public CDOTA_Buff_Item { public: - float duration; // 0x11e8 - int32_t magic_resist; // 0x11ec + float duration; // 0x12b8 + int32_t magic_resist; // 0x12bc + float hp_regen; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_MartyrsPlate_Aura : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_MartyrsPlate_Effect : public CDOTA_Buff_Item { public: - int32_t damage_redirection; // 0x11e8 + int32_t damage_redirection; // 0x12b8 }; // Alignment: 0 -// Size: 0x600 +// Size: 0x610 class CDOTA_Item_Gossamer_Cape : public CDOTA_Item { public: @@ -83691,312 +85002,312 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Gossamer_Cape : public CDOTA_Buff_Item { public: - float movement_speed; // 0x11e8 + float movement_speed; // 0x12b8 }; // Alignment: 5 -// Size: 0x770 +// Size: 0x780 class CFogVolume : public CServerOnlyModelEntity { public: - CUtlSymbolLarge m_fogName; // 0x748 - CUtlSymbolLarge m_postProcessName; // 0x750 - CUtlSymbolLarge m_colorCorrectionName; // 0x758 + CUtlSymbolLarge m_fogName; // 0x758 + CUtlSymbolLarge m_postProcessName; // 0x760 + CUtlSymbolLarge m_colorCorrectionName; // 0x768 private: - [[maybe_unused]] uint8_t __pad0760[0x8]; // 0x760 + [[maybe_unused]] uint8_t __pad0770[0x8]; // 0x770 public: - bool m_bDisabled; // 0x768 - bool m_bInFogVolumesList; // 0x769 + bool m_bDisabled; // 0x778 + bool m_bInFogVolumesList; // 0x779 }; // Alignment: 60 -// Size: 0x820 +// Size: 0x848 class CDOTAPlayerController : public CBasePlayerController { private: - [[maybe_unused]] uint8_t __pad0658[0x8]; // 0x658 + [[maybe_unused]] uint8_t __pad0680[0x8]; // 0x680 public: - int32_t m_iMinimapMove; // 0x660 + int32_t m_iMinimapMove; // 0x688 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" // MNetworkPriority "32" - int32_t m_iCursor[2]; // 0x664 + int32_t m_iCursor[2]; // 0x68c // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - int32_t m_iSpectatorClickBehavior; // 0x66c + int32_t m_iSpectatorClickBehavior; // 0x694 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - float m_flAspectRatio; // 0x670 + float m_flAspectRatio; // 0x698 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - CHandle< CBaseEntity > m_hSpectatorQueryUnit; // 0x674 + CHandle< CBaseEntity > m_hSpectatorQueryUnit; // 0x69c // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - int32_t m_iStatsPanel; // 0x678 + int32_t m_iStatsPanel; // 0x6a0 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - int32_t m_iShopPanel; // 0x67c + int32_t m_iShopPanel; // 0x6a4 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - ShopItemViewMode_t m_iShopViewMode; // 0x680 + ShopItemViewMode_t m_iShopViewMode; // 0x6a8 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - int32_t m_iStatsDropdownCategory; // 0x684 + int32_t m_iStatsDropdownCategory; // 0x6ac // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - int32_t m_iStatsDropdownSort; // 0x688 + int32_t m_iStatsDropdownSort; // 0x6b0 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - char m_szShopString[64]; // 0x68c + char m_szShopString[64]; // 0x6b4 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - bool m_bInShowCaseMode; // 0x6cc + bool m_bInShowCaseMode; // 0x6f4 private: - [[maybe_unused]] uint8_t __pad06cd[0x3]; // 0x6cd + [[maybe_unused]] uint8_t __pad06f5[0x3]; // 0x6f5 public: // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - float m_flCameraZoomAmount; // 0x6d0 + float m_flCameraZoomAmount; // 0x6f8 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - int32_t m_iHighPriorityScore; // 0x6d4 + int32_t m_iHighPriorityScore; // 0x6fc // MNetworkEnable // MNetworkUserGroup "DOTATeamMatesAndCommentatorTable" - AbilityID_t m_quickBuyItems[9]; // 0x6d8 + AbilityID_t m_quickBuyItems[9]; // 0x700 // MNetworkEnable // MNetworkUserGroup "DOTATeamMatesAndCommentatorTable" - bool m_quickBuyIsPurchasable[9]; // 0x6fc + bool m_quickBuyIsPurchasable[9]; // 0x724 private: - [[maybe_unused]] uint8_t __pad0705[0x3]; // 0x705 + [[maybe_unused]] uint8_t __pad072d[0x3]; // 0x72d public: // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - float m_flFrameTime; // 0x708 + float m_flFrameTime; // 0x730 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - float m_flFrameTimeStdDev; // 0x70c + float m_flFrameTimeStdDev; // 0x734 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" - float m_flUnfilteredFrameTime; // 0x710 + float m_flUnfilteredFrameTime; // 0x738 // MNetworkEnable - bool m_bUsingAssistedCameraOperator; // 0x714 + bool m_bUsingAssistedCameraOperator; // 0x73c // MNetworkEnable - bool m_bUsingCameraMan; // 0x715 + bool m_bUsingCameraMan; // 0x73d private: - [[maybe_unused]] uint8_t __pad0716[0x2]; // 0x716 + [[maybe_unused]] uint8_t __pad073e[0x2]; // 0x73e public: // MNetworkEnable - int32_t m_nPlayerAssistFlags; // 0x718 - float m_flHighPriorityScoreTimeStamp; // 0x71c - float m_flExecuteOrdersLagCompensation; // 0x720 + int32_t m_nPlayerAssistFlags; // 0x740 + float m_flHighPriorityScoreTimeStamp; // 0x744 + float m_flExecuteOrdersLagCompensation; // 0x748 // MNetworkEnable - int32_t m_iMusicStatus; // 0x724 + int32_t m_iMusicStatus; // 0x74c // MNetworkEnable - float m_flMusicOperatorVals[3]; // 0x728 + float m_flMusicOperatorVals[3]; // 0x750 // MNetworkEnable - int32_t m_iMusicOperatorVals[4]; // 0x734 + int32_t m_iMusicOperatorVals[4]; // 0x75c private: - [[maybe_unused]] uint8_t __pad0744[0x4]; // 0x744 + [[maybe_unused]] uint8_t __pad076c[0x4]; // 0x76c public: - CountdownTimer m_MusicRestTime; // 0x748 + CountdownTimer m_MusicRestTime; // 0x770 // MNetworkEnable - CHandle< CBaseEntity > m_hKillCamUnit; // 0x760 - Vector m_vecCrosshairTracePos; // 0x764 - CEntityIndex m_iCrosshairEntity; // 0x770 + CHandle< CBaseEntity > m_hKillCamUnit; // 0x788 + Vector m_vecCrosshairTracePos; // 0x78c + CEntityIndex m_iCrosshairEntity; // 0x798 // MNetworkEnable - PlayerID_t m_nPlayerID; // 0x774 + PlayerID_t m_nPlayerID; // 0x79c // MNetworkEnable - CHandle< CBaseEntity > m_hAssignedHero; // 0x778 + CHandle< CBaseEntity > m_hAssignedHero; // 0x7a0 private: - [[maybe_unused]] uint8_t __pad077c[0xc]; // 0x77c + [[maybe_unused]] uint8_t __pad07a4[0xc]; // 0x7a4 public: - bool m_bTeleportRequiresHalt; // 0x788 - bool m_bChannelRequiresHalt; // 0x789 + bool m_bTeleportRequiresHalt; // 0x7b0 + bool m_bChannelRequiresHalt; // 0x7b1 private: - [[maybe_unused]] uint8_t __pad078a[0x2]; // 0x78a + [[maybe_unused]] uint8_t __pad07b2[0x2]; // 0x7b2 public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - int32_t m_nServerOrderSequenceNumber; // 0x78c - float m_flLastOrderTime; // 0x790 - float m_flLastKnownActiveTime; // 0x794 - GameTime_t m_flLastReconnectTime; // 0x798 - GameTime_t m_fLastSuggestionTime; // 0x79c + int32_t m_nServerOrderSequenceNumber; // 0x7b4 + float m_flLastOrderTime; // 0x7b8 + float m_flLastKnownActiveTime; // 0x7bc + GameTime_t m_flLastReconnectTime; // 0x7c0 + GameTime_t m_fLastSuggestionTime; // 0x7c4 private: - [[maybe_unused]] uint8_t __pad07a0[0x20]; // 0x7a0 + [[maybe_unused]] uint8_t __pad07c8[0x20]; // 0x7c8 public: - bool m_bWantsRandomHero; // 0x7c0 - bool m_bFullyJoinedServer; // 0x7c1 + bool m_bWantsRandomHero; // 0x7e8 + bool m_bFullyJoinedServer; // 0x7e9 private: - [[maybe_unused]] uint8_t __pad07c2[0x2]; // 0x7c2 + [[maybe_unused]] uint8_t __pad07ea[0x2]; // 0x7ea public: - int32_t m_nCheatDetectOrderReferenceCommandNumber; // 0x7c4 - PlayerID_t m_iSwapPreferencePlayerID; // 0x7c8 - uint32_t m_nCoachListenMask; // 0x7cc + int32_t m_nCheatDetectOrderReferenceCommandNumber; // 0x7ec + PlayerID_t m_iSwapPreferencePlayerID; // 0x7f0 + uint32_t m_nCoachListenMask; // 0x7f4 // MNetworkEnable - int32_t m_nCachedCoachedTeam; // 0x7d0 - float m_flLastChatWheelTime[2]; // 0x7d4 - float m_flLastChatWheelAudioTime[2]; // 0x7dc - float m_flLastChatWheelAllChatAudioTime[2]; // 0x7e4 - float m_flLastChatWheelSprayTime; // 0x7ec - float m_flLastChatWheelLongCooldownTime; // 0x7f0 - float m_flLastPingTime; // 0x7f4 - float m_flPingAllowance; // 0x7f8 - float m_flLastMapLineTime; // 0x7fc - float m_flMapLineAllowance; // 0x800 - float m_flLastVersusBehaviorTime; // 0x804 - float m_flVersusBehaviorAllowance; // 0x808 - uint8_t m_pOrderRetirementHistory[10]; // 0x80c - uint16_t m_nOrderRetirementSum; // 0x816 - int32_t m_nOrderRetirementLastTick; // 0x818 + int32_t m_nCachedCoachedTeam; // 0x7f8 + float m_flLastChatWheelTime[2]; // 0x7fc + float m_flLastChatWheelAudioTime[2]; // 0x804 + float m_flLastChatWheelAllChatAudioTime[2]; // 0x80c + float m_flLastChatWheelSprayTime; // 0x814 + float m_flLastChatWheelLongCooldownTime; // 0x818 + float m_flLastPingTime; // 0x81c + float m_flPingAllowance; // 0x820 + float m_flLastMapLineTime; // 0x824 + float m_flMapLineAllowance; // 0x828 + float m_flLastVersusBehaviorTime; // 0x82c + float m_flVersusBehaviorAllowance; // 0x830 + uint8_t m_pOrderRetirementHistory[10]; // 0x834 + uint16_t m_nOrderRetirementSum; // 0x83e + int32_t m_nOrderRetirementLastTick; // 0x840 }; // Alignment: 16 -// Size: 0x5d8 +// Size: 0x5e8 class CDOTATeam : public CTeam { private: - [[maybe_unused]] uint8_t __pad0550[0x10]; // 0x550 + [[maybe_unused]] uint8_t __pad0560[0x10]; // 0x560 public: // MNetworkEnable - int32_t m_iHeroKills; // 0x560 + int32_t m_iHeroKills; // 0x570 // MNetworkEnable - int32_t m_iTowerKills; // 0x564 + int32_t m_iTowerKills; // 0x574 // MNetworkEnable - int32_t m_iBarracksKills; // 0x568 + int32_t m_iBarracksKills; // 0x578 // MNetworkEnable - uint32_t m_unTournamentTeamID; // 0x56c + uint32_t m_unTournamentTeamID; // 0x57c // MNetworkEnable // MNetworkEncoder - uint64_t m_ulTeamLogo; // 0x570 + uint64_t m_ulTeamLogo; // 0x580 // MNetworkEnable // MNetworkEncoder - uint64_t m_ulTeamBaseLogo; // 0x578 + uint64_t m_ulTeamBaseLogo; // 0x588 // MNetworkEnable // MNetworkEncoder - uint64_t m_ulTeamBannerLogo; // 0x580 + uint64_t m_ulTeamBannerLogo; // 0x590 // MNetworkEnable - bool m_bTeamComplete; // 0x588 + bool m_bTeamComplete; // 0x598 // MNetworkEnable - bool m_bTeamIsHomeTeam; // 0x589 + bool m_bTeamIsHomeTeam; // 0x599 // MNetworkEnable - Color m_CustomHealthbarColor; // 0x58a + Color m_CustomHealthbarColor; // 0x59a // MNetworkEnable - char m_szTag[33]; // 0x58e + char m_szTag[33]; // 0x59e private: - [[maybe_unused]] uint8_t __pad05af[0x1]; // 0x5af + [[maybe_unused]] uint8_t __pad05bf[0x1]; // 0x5bf public: - int32_t m_event_lobby_updated; // 0x5b0 - int32_t m_nKillStreak; // 0x5b4 - int32_t m_iRecentKillCount; // 0x5b8 - int32_t m_iRandomNumber; // 0x5bc - CountdownTimer m_RecentHeroKillTimer; // 0x5c0 + int32_t m_event_lobby_updated; // 0x5c0 + int32_t m_nKillStreak; // 0x5c4 + int32_t m_iRecentKillCount; // 0x5c8 + int32_t m_iRandomNumber; // 0x5cc + CountdownTimer m_RecentHeroKillTimer; // 0x5d0 }; // Alignment: 5 -// Size: 0x770 +// Size: 0x780 class CDOTA_Item_Physical : public CBaseAnimatingActivity { public: - int32_t m_nFlags; // 0x758 - int32_t m_nRevealedInFoWForTeam; // 0x75c - GameTime_t m_fCreationTime; // 0x760 + int32_t m_nFlags; // 0x768 + int32_t m_nRevealedInFoWForTeam; // 0x76c + GameTime_t m_fCreationTime; // 0x770 // MNetworkEnable - CHandle< CDOTA_Item > m_hItem; // 0x764 + CHandle< CDOTA_Item > m_hItem; // 0x774 // MNetworkEnable - bool m_bIsLowPriorityHoverItem; // 0x768 + bool m_bIsLowPriorityHoverItem; // 0x778 }; // Alignment: 5 -// Size: 0x968 +// Size: 0x978 class CDOTA_Item_Rune : public CBaseAnimatingActivity { public: - CHandle< CBaseEntity > m_hRuneSpawner; // 0x758 + CHandle< CBaseEntity > m_hRuneSpawner; // 0x768 // MNetworkEnable - int32_t m_iRuneType; // 0x75c + int32_t m_iRuneType; // 0x76c // MNetworkEnable // MNetworkBitCount "4" - float m_flRuneTime; // 0x760 + float m_flRuneTime; // 0x770 // MNetworkEnable - int32_t m_nMapLocationTeam; // 0x764 + int32_t m_nMapLocationTeam; // 0x774 // MNetworkEnable - char m_szLocation[512]; // 0x768 + char m_szLocation[512]; // 0x778 }; // Alignment: 4 -// Size: 0x770 +// Size: 0x780 class CDOTA_Item_RuneSpawner_Powerup : public CBaseAnimatingActivity { public: - CUtlSymbolLarge m_szPosition; // 0x758 + CUtlSymbolLarge m_szPosition; // 0x768 // MNetworkEnable - float m_flLastSpawnTime; // 0x760 + float m_flLastSpawnTime; // 0x770 // MNetworkEnable - float m_flNextSpawnTime; // 0x764 + float m_flNextSpawnTime; // 0x774 // MNetworkEnable - bool m_bNextRuneIsWater; // 0x768 + bool m_bNextRuneIsWater; // 0x778 }; // Alignment: 4 -// Size: 0x770 +// Size: 0x780 class CDOTA_Item_RuneSpawner_XP : public CBaseAnimatingActivity { public: - CUtlSymbolLarge m_szPosition; // 0x758 - int32_t m_nDotaTeam; // 0x760 + CUtlSymbolLarge m_szPosition; // 0x768 + int32_t m_nDotaTeam; // 0x770 // MNetworkEnable - float m_flLastSpawnTime; // 0x764 + float m_flLastSpawnTime; // 0x774 // MNetworkEnable - float m_flNextSpawnTime; // 0x768 + float m_flNextSpawnTime; // 0x778 }; // Alignment: 4 -// Size: 0x770 +// Size: 0x780 class CDOTA_Item_RuneSpawner_Bounty : public CBaseAnimatingActivity { public: - CUtlSymbolLarge m_szPosition; // 0x758 - int32_t m_nDotaTeam; // 0x760 + CUtlSymbolLarge m_szPosition; // 0x768 + int32_t m_nDotaTeam; // 0x770 // MNetworkEnable - float m_flLastSpawnTime; // 0x764 + float m_flLastSpawnTime; // 0x774 // MNetworkEnable - float m_flNextSpawnTime; // 0x768 + float m_flNextSpawnTime; // 0x778 }; // Alignment: 2 -// Size: 0x760 +// Size: 0x770 class CDOTA_Item_RuneSpawner : public CBaseAnimatingActivity { public: // MNetworkEnable - float m_flLastSpawnTime; // 0x758 + float m_flLastSpawnTime; // 0x768 // MNetworkEnable - float m_flNextSpawnTime; // 0x75c + float m_flNextSpawnTime; // 0x76c }; // Alignment: 1 -// Size: 0x4a0 +// Size: 0x4b0 class CDOTA_ItemSpawner : public CPointEntity { public: - CUtlSymbolLarge m_szItemName; // 0x498 + CUtlSymbolLarge m_szItemName; // 0x4a8 }; // Alignment: 1 -// Size: 0x938 +// Size: 0x948 class CTriggerDota : public CTriggerMultiple { public: - CDotaEntityFilterFlags m_FilterFlags; // 0x918 + CDotaEntityFilterFlags m_FilterFlags; // 0x928 }; // Alignment: 0 -// Size: 0x918 +// Size: 0x928 class CDOTA_HeroTrigger : public CTriggerMultiple { public: @@ -84004,56 +85315,56 @@ public: }; // Alignment: 4 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_TutorialNPCBlocker_Thinker : public CDOTA_Buff { public: - Vector m_vecStart; // 0x11e8 - Vector m_vecEnd; // 0x11f4 - float m_flRadius; // 0x1200 - bool m_bHidden; // 0x1204 + Vector m_vecStart; // 0x12b8 + Vector m_vecEnd; // 0x12c4 + float m_flRadius; // 0x12d0 + bool m_bHidden; // 0x12d4 }; // Alignment: 5 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_TutorialNPCBlocker : public CDOTA_Buff { public: - Vector m_vecStart; // 0x11e8 - Vector m_vecEnd; // 0x11f4 - Vector m_vecCenter; // 0x1200 - ParticleIndex_t m_nFXIndex; // 0x120c - bool m_bHidden; // 0x1210 + Vector m_vecStart; // 0x12b8 + Vector m_vecEnd; // 0x12c4 + Vector m_vecCenter; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12dc + bool m_bHidden; // 0x12e0 }; // Alignment: 10 -// Size: 0x978 +// Size: 0x988 class CEnvDeferredLight : public CModelPointEntity { public: - CHandle< CBaseEntity > m_hTargetEntity; // 0x748 + CHandle< CBaseEntity > m_hTargetEntity; // 0x758 // MNetworkEnable - Color m_LightColor; // 0x74c + Color m_LightColor; // 0x75c // MNetworkEnable - float m_flIntensity; // 0x750 + float m_flIntensity; // 0x760 // MNetworkEnable - float m_flLightSize; // 0x754 + float m_flLightSize; // 0x764 // MNetworkEnable - float m_flSpotFoV; // 0x758 + float m_flSpotFoV; // 0x768 // MNetworkEnable - QAngle m_vLightDirection; // 0x75c + QAngle m_vLightDirection; // 0x76c // MNetworkEnable - float m_flStartFalloff; // 0x768 + float m_flStartFalloff; // 0x778 // MNetworkEnable - float m_flDistanceFalloff; // 0x76c + float m_flDistanceFalloff; // 0x77c // MNetworkEnable - uint32_t m_nFlags; // 0x770 + uint32_t m_nFlags; // 0x780 // MNetworkEnable - char m_ProjectedTextureName[512]; // 0x774 + char m_ProjectedTextureName[512]; // 0x784 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AttributeBonus : public CDOTA_Buff { public: @@ -84061,271 +85372,271 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Gold : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_HP : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_MP : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Attack_Speed : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Base_Attack_Rate : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Attributes : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_All_Stats : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Movement_Speed : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Cast_Speed : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Movement_Speed_Percentage : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_HP_Regen : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_MP_Regen : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_MP_Regen_Amp : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Manaloss_Reduction : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Agility_And_Intelligence : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Intelligence : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Strength : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Agility : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Magic_Resistance : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Status_Resistance : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Day_Vision : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Night_Vision : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Vision : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Armor : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Attack_Damage : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Attack_Base_Damage : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Attack_Range : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Cast_Range : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Spell_Amplify : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Cooldown_Reduction : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Respawn_Reduction : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Gold_Income : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Evasion : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Special_Bonus_Unique_Morphling_4 : public CDOTA_Buff { public: @@ -84333,7 +85644,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Special_Bonus_Unique_Treant_3 : public CDOTA_Buff { public: @@ -84341,25 +85652,25 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_20_Bash : public CDOTA_Buff { public: - float value; // 0x11e8 - float value2; // 0x11ec + float value; // 0x12b8 + float value2; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Crit : public CDOTA_Buff { public: - float crit_chance; // 0x11e8 - float crit_multiplier; // 0x11ec + float crit_chance; // 0x12b8 + float crit_multiplier; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Special_Bonus_Tree_Walking : public CDOTA_Buff { public: @@ -84367,62 +85678,62 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Lifesteal : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Cleave : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Corruption : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Corruption_Debuff : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Mana_Break : public CDOTA_Buff { public: - int32_t value; // 0x11e8 - int32_t burn_illusions_ranged; // 0x11ec - int32_t burn_illusions_melee; // 0x11f0 - float damage_per_burn; // 0x11f4 + int32_t value; // 0x12b8 + int32_t burn_illusions_ranged; // 0x12bc + int32_t burn_illusions_melee; // 0x12c0 + float damage_per_burn; // 0x12c4 }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Special_Bonus_Spell_Block : public CDOTA_Buff { public: - float block_cooldown; // 0x11e8 + float block_cooldown; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CountdownTimer m_CooldownTimer; // 0x11f0 + CountdownTimer m_CooldownTimer; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Special_Bonus_Spell_Immunity : public CDOTA_Modifier_MagicImmune { public: @@ -84430,15 +85741,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Haste : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Special_Bonus_TrueStrike : public CDOTA_Buff { public: @@ -84446,33 +85757,33 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Reincarnation : public CDOTA_Buff { public: - float value; // 0x11e8 - float reincarnate_time; // 0x11ec - GameTime_t m_fLastReincarnationTime; // 0x11f0 + float value; // 0x12b8 + float reincarnate_time; // 0x12bc + GameTime_t m_fLastReincarnationTime; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Spell_Lifesteal : public CDOTA_Buff { public: - float value; // 0x11e8 + float value; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Special_Bonus_Exp_Boost : public CDOTA_Buff { public: - int32_t value; // 0x11e8 + int32_t value; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Stacking_Gold_Rate_Boost : public CDOTA_Buff { public: @@ -84480,7 +85791,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Stacking_Exp_Rate_Boost : public CDOTA_Buff { public: @@ -84488,17 +85799,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_Summon_Common_Thinker : public CDOTA_Buff { public: - float grace_period; // 0x11e8 - int32_t search_distance; // 0x11ec - float think_interval; // 0x11f0 + float grace_period; // 0x12b8 + int32_t search_distance; // 0x12bc + float think_interval; // 0x12c0 }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Healing_Campfire_Aura : public CDOTA_Buff { public: @@ -84506,69 +85817,69 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Healing_Campfire_Heal : public CDOTA_Buff { public: - int32_t heal_amount; // 0x11e8 + int32_t heal_amount; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_Summon_Snowman_Thinker : public CDOTA_Buff { public: - float grace_period; // 0x11e8 - int32_t search_distance; // 0x11ec - float think_interval; // 0x11f0 + float grace_period; // 0x12b8 + int32_t search_distance; // 0x12bc + float think_interval; // 0x12c0 }; // Alignment: 31 -// Size: 0x1290 +// Size: 0x1360 class CDOTA_Modifier_Seasonal_Penguin : public CDOTA_Buff { public: - float m_fLifetimeGained; // 0x11e8 - Vector m_vTargetPos; // 0x11ec - int32_t m_nCurrentSpeed; // 0x11f8 - GameTime_t m_fLastBumpTime; // 0x11fc - Vector m_vLastPos; // 0x1200 - CHandle< CBaseEntity > m_hLastHit; // 0x120c - Vector m_vDir; // 0x1210 - Vector m_vRunEndPos; // 0x121c - bool m_bIsInInitialRun; // 0x1228 + float m_fLifetimeGained; // 0x12b8 + Vector m_vTargetPos; // 0x12bc + int32_t m_nCurrentSpeed; // 0x12c8 + GameTime_t m_fLastBumpTime; // 0x12cc + Vector m_vLastPos; // 0x12d0 + CHandle< CBaseEntity > m_hLastHit; // 0x12dc + Vector m_vDir; // 0x12e0 + Vector m_vRunEndPos; // 0x12ec + bool m_bIsInInitialRun; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad1229[0x3]; // 0x1229 + [[maybe_unused]] uint8_t __pad12f9[0x3]; // 0x12f9 public: - Vector m_vJumpEndPos; // 0x122c - bool m_bPlayedVroomSinceLastCrash; // 0x1238 + Vector m_vJumpEndPos; // 0x12fc + bool m_bPlayedVroomSinceLastCrash; // 0x1308 private: - [[maybe_unused]] uint8_t __pad1239[0x3]; // 0x1239 + [[maybe_unused]] uint8_t __pad1309[0x3]; // 0x1309 public: - ParticleIndex_t m_nVroomFX; // 0x123c - GameTime_t m_fLastSpeedStepTime; // 0x1240 - GameTime_t m_fLastSpeechTime; // 0x1244 - ParticleIndex_t m_nFXStackIndex; // 0x1248 - int32_t m_nBumpsSinceLastCrash; // 0x124c - CHandle< CBaseEntity > m_hLastBumpingHero; // 0x1250 - int32_t initial_speed; // 0x1254 - int32_t max_speed; // 0x1258 - int32_t speed_step; // 0x125c - float speed_step_interval; // 0x1260 - float bump_delay; // 0x1264 - float bump_delay_absolute; // 0x1268 - int32_t bump_collision_radius; // 0x126c - int32_t run_distance; // 0x1270 - int32_t jump_distance; // 0x1274 - int32_t speed_after_crash; // 0x1278 - int32_t speed_gain_per_hero_bump; // 0x127c - float max_gainable_lifetime; // 0x1280 - float lifetime_gain_per_hero_bump; // 0x1284 - float min_speech_repeat_time; // 0x1288 + ParticleIndex_t m_nVroomFX; // 0x130c + GameTime_t m_fLastSpeedStepTime; // 0x1310 + GameTime_t m_fLastSpeechTime; // 0x1314 + ParticleIndex_t m_nFXStackIndex; // 0x1318 + int32_t m_nBumpsSinceLastCrash; // 0x131c + CHandle< CBaseEntity > m_hLastBumpingHero; // 0x1320 + int32_t initial_speed; // 0x1324 + int32_t max_speed; // 0x1328 + int32_t speed_step; // 0x132c + float speed_step_interval; // 0x1330 + float bump_delay; // 0x1334 + float bump_delay_absolute; // 0x1338 + int32_t bump_collision_radius; // 0x133c + int32_t run_distance; // 0x1340 + int32_t jump_distance; // 0x1344 + int32_t speed_after_crash; // 0x1348 + int32_t speed_gain_per_hero_bump; // 0x134c + float max_gainable_lifetime; // 0x1350 + float lifetime_gain_per_hero_bump; // 0x1354 + float min_speech_repeat_time; // 0x1358 }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Seasonal_FestiveFirework : public CDOTA_Buff { public: @@ -84576,7 +85887,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Seasonal_Firecrackers : public CDOTA_Buff { public: @@ -84584,145 +85895,145 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Ability_Seasonal_Summon_Dragon_Thinker : public CDOTA_Buff { public: - float grace_period; // 0x11e8 - int32_t search_distance; // 0x11ec - float think_interval; // 0x11f0 + float grace_period; // 0x12b8 + int32_t search_distance; // 0x12bc + float think_interval; // 0x12c0 }; // Alignment: 14 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Seasonal_Summon_CNY_Balloon_Thinker : public CDOTA_Buff { public: - float speed; // 0x11e8 - int32_t min_distance_before_bounce; // 0x11ec - float drag; // 0x11f0 - float max_height; // 0x11f4 - float max_vertical_move_time; // 0x11f8 - float bounce_turn_angle; // 0x11fc - float bounce_turn_angle_tree; // 0x1200 - float bounce_delay; // 0x1204 - Vector m_vLastPos; // 0x1208 - Vector m_vDir; // 0x1214 - float m_flSpeed; // 0x1220 - float m_flDistRemaining; // 0x1224 - float m_flTreeTimeRemaining; // 0x1228 - CHandle< CBaseEntity > m_hLastHit; // 0x122c + float speed; // 0x12b8 + int32_t min_distance_before_bounce; // 0x12bc + float drag; // 0x12c0 + float max_height; // 0x12c4 + float max_vertical_move_time; // 0x12c8 + float bounce_turn_angle; // 0x12cc + float bounce_turn_angle_tree; // 0x12d0 + float bounce_delay; // 0x12d4 + Vector m_vLastPos; // 0x12d8 + Vector m_vDir; // 0x12e4 + float m_flSpeed; // 0x12f0 + float m_flDistRemaining; // 0x12f4 + float m_flTreeTimeRemaining; // 0x12f8 + CHandle< CBaseEntity > m_hLastHit; // 0x12fc }; // Alignment: 14 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Seasonal_Summon_TI9_Balloon_Thinker : public CDOTA_Buff { public: - float speed; // 0x11e8 - int32_t min_distance_before_bounce; // 0x11ec - float drag; // 0x11f0 - float max_height; // 0x11f4 - float max_vertical_move_time; // 0x11f8 - float bounce_turn_angle; // 0x11fc - float bounce_turn_angle_tree; // 0x1200 - float bounce_delay; // 0x1204 - Vector m_vLastPos; // 0x1208 - Vector m_vDir; // 0x1214 - float m_flSpeed; // 0x1220 - float m_flDistRemaining; // 0x1224 - float m_flTreeTimeRemaining; // 0x1228 - CHandle< CBaseEntity > m_hLastHit; // 0x122c + float speed; // 0x12b8 + int32_t min_distance_before_bounce; // 0x12bc + float drag; // 0x12c0 + float max_height; // 0x12c4 + float max_vertical_move_time; // 0x12c8 + float bounce_turn_angle; // 0x12cc + float bounce_turn_angle_tree; // 0x12d0 + float bounce_delay; // 0x12d4 + Vector m_vLastPos; // 0x12d8 + Vector m_vDir; // 0x12e4 + float m_flSpeed; // 0x12f0 + float m_flDistRemaining; // 0x12f4 + float m_flTreeTimeRemaining; // 0x12f8 + CHandle< CBaseEntity > m_hLastHit; // 0x12fc }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_TI9_Drums_Thinker : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x10]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x10]; // 0x12b8 public: - int32_t m_nNextSoundIndex; // 0x11f8 + int32_t m_nNextSoundIndex; // 0x12c8 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_TI9_Shovel_Stasis_Trap : public CDOTA_Modifier_Seasonal_Summon_Common_Thinker { public: - CHandle< CBaseEntity > m_hHero; // 0x11f8 + CHandle< CBaseEntity > m_hHero; // 0x12c8 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_TI9_Shovel_BabyRoshan : public CDOTA_Buff { public: - bool m_bFirstThink; // 0x11e8 + bool m_bFirstThink; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - GameTime_t m_flStartTime; // 0x11ec - Vector m_vecStartingPos; // 0x11f0 + GameTime_t m_flStartTime; // 0x12bc + Vector m_vecStartingPos; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_TI9_Shovel_Ghost_Haunt : public CDOTA_Buff { public: - int32_t nDamageInstances; // 0x11e8 - GameTime_t m_flLastAttackTime; // 0x11ec - GameTime_t m_flLastMoveTime; // 0x11f0 - CHandle< CBaseEntity > m_hGhost; // 0x11f4 + int32_t nDamageInstances; // 0x12b8 + GameTime_t m_flLastAttackTime; // 0x12bc + GameTime_t m_flLastMoveTime; // 0x12c0 + CHandle< CBaseEntity > m_hGhost; // 0x12c4 }; // Alignment: 4 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Seasonal_TI9_Shovel_Pudgling : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x11e8 - int32_t m_nActionCount; // 0x11ec - Vector m_vecStartingPos; // 0x11f0 - Vector m_vecDestinationOffset; // 0x11fc + GameTime_t m_flStartTime; // 0x12b8 + int32_t m_nActionCount; // 0x12bc + Vector m_vecStartingPos; // 0x12c0 + Vector m_vecDestinationOffset; // 0x12cc }; // Alignment: 17 -// Size: 0x1270 +// Size: 0x1340 class CDOTA_Modifier_Seasonal_TI9_Monkey_Thinker : public CDOTA_Buff { public: - float attack_range; // 0x11e8 - float attack_time; // 0x11ec - float attack_projectile_time; // 0x11f0 - int32_t projectile_speed; // 0x11f4 - float turn_time; // 0x11f8 - float turn_angle; // 0x11fc - float shoot_angle; // 0x1200 - float m_flTurnRate; // 0x1204 - float m_flTargetYaw; // 0x1208 - float m_flLastTurnTime; // 0x120c - GameTick_t m_nLastTickCount; // 0x1210 + float attack_range; // 0x12b8 + float attack_time; // 0x12bc + float attack_projectile_time; // 0x12c0 + int32_t projectile_speed; // 0x12c4 + float turn_time; // 0x12c8 + float turn_angle; // 0x12cc + float shoot_angle; // 0x12d0 + float m_flTurnRate; // 0x12d4 + float m_flTargetYaw; // 0x12d8 + float m_flLastTurnTime; // 0x12dc + GameTick_t m_nLastTickCount; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - bool m_bHappyMonkeyCondition; // 0x1218 + bool m_bHappyMonkeyCondition; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - CHandle< CDOTA_BaseNPC > m_hAngryTarget; // 0x121c - CHandle< CDOTA_BaseNPC > m_hAttackTarget; // 0x1220 + CHandle< CDOTA_BaseNPC > m_hAngryTarget; // 0x12ec + CHandle< CDOTA_BaseNPC > m_hAttackTarget; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad1224[0x4]; // 0x1224 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CountdownTimer m_AttackTimer; // 0x1228 - CountdownTimer m_AttackProjectileTimer; // 0x1240 - CountdownTimer m_HappyTimer; // 0x1258 + CountdownTimer m_AttackTimer; // 0x12f8 + CountdownTimer m_AttackProjectileTimer; // 0x1310 + CountdownTimer m_HappyTimer; // 0x1328 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Seasonal_TI9_MonkeyPoop : public CDOTA_Buff { public: @@ -84730,183 +86041,183 @@ public: }; // Alignment: 13 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Lesser_NightCrawler_Pounce : public CDOTA_Buff { public: - float m_flTotalTime; // 0x11e8 - float m_flInitialVelocity; // 0x11ec - Vector m_vStartPosition; // 0x11f0 - Vector m_vTargetHorizontalDirection; // 0x11fc - float m_flCurrentTimeHoriz; // 0x1208 - float m_flCurrentTimeVert; // 0x120c - bool m_bInterrupted; // 0x1210 + float m_flTotalTime; // 0x12b8 + float m_flInitialVelocity; // 0x12bc + Vector m_vStartPosition; // 0x12c0 + Vector m_vTargetHorizontalDirection; // 0x12cc + float m_flCurrentTimeHoriz; // 0x12d8 + float m_flCurrentTimeVert; // 0x12dc + bool m_bInterrupted; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t pounce_distance; // 0x1214 - float pounce_speed; // 0x1218 - float pounce_acceleration; // 0x121c - int32_t pounce_radius; // 0x1220 - int32_t pounce_damage; // 0x1224 - float leash_duration; // 0x1228 + int32_t pounce_distance; // 0x12e4 + float pounce_speed; // 0x12e8 + float pounce_acceleration; // 0x12ec + int32_t pounce_radius; // 0x12f0 + int32_t pounce_damage; // 0x12f4 + float leash_duration; // 0x12f8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Zombie_Berserk : public CDOTA_Buff { public: - int32_t berserk_bonus_attack_speed; // 0x11e8 - int32_t berserk_bonus_movement_speed; // 0x11ec + int32_t berserk_bonus_attack_speed; // 0x12b8 + int32_t berserk_bonus_movement_speed; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Corpselord_Revive : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t ticks_to_revive; // 0x11ec - float tick_interval; // 0x11f0 - CHandle< CDOTA_BaseNPC > m_pReviveTarget; // 0x11f4 - int32_t m_nCurrentTicks; // 0x11f8 + int32_t radius; // 0x12b8 + int32_t ticks_to_revive; // 0x12bc + float tick_interval; // 0x12c0 + CHandle< CDOTA_BaseNPC > m_pReviveTarget; // 0x12c4 + int32_t m_nCurrentTicks; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Creature_IceSlam_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - ParticleIndex_t m_nPathEffectIndex; // 0x11ec + int32_t radius; // 0x12b8 + ParticleIndex_t m_nPathEffectIndex; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_GreaterClarity : public CDOTA_Buff { public: - int32_t total_mana; // 0x11e8 + int32_t total_mana; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_UpgradedMortar : public CDOTA_Buff { public: - int32_t bonus_per_upgrade; // 0x11e8 + int32_t bonus_per_upgrade; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_UpgradedBarricade : public CDOTA_Buff { public: - int32_t armor_bonus_per_upgrade; // 0x11e8 - int32_t hp_bonus_per_upgrade; // 0x11ec + int32_t armor_bonus_per_upgrade; // 0x12b8 + int32_t hp_bonus_per_upgrade; // 0x12bc }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Creature_HybridFlyer : public CDOTA_Buff { public: - CountdownTimer m_ctTimer; // 0x11e8 + CountdownTimer m_ctTimer; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Creature_Full_Avoidance : public CDOTA_Buff { public: - float m_flOriginalAvoidance; // 0x11e8 + float m_flOriginalAvoidance; // 0x12b8 }; // Alignment: 17 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_LootDrop_Thinker : public CDOTA_Buff { public: - bool m_bAutoPickup; // 0x11e8 - bool m_bOnlyPlayerHeroPickup; // 0x11e9 - bool m_bCreepHeroPickup; // 0x11ea - bool m_bAutoUse; // 0x11eb - bool m_bFlying; // 0x11ec - bool m_bUseSpawnAnim; // 0x11ed - bool m_bAutoTeleport; // 0x11ee + bool m_bAutoPickup; // 0x12b8 + bool m_bOnlyPlayerHeroPickup; // 0x12b9 + bool m_bCreepHeroPickup; // 0x12ba + bool m_bAutoUse; // 0x12bb + bool m_bFlying; // 0x12bc + bool m_bUseSpawnAnim; // 0x12bd + bool m_bAutoTeleport; // 0x12be private: - [[maybe_unused]] uint8_t __pad11ef[0x1]; // 0x11ef + [[maybe_unused]] uint8_t __pad12bf[0x1]; // 0x12bf public: - GameTime_t m_flKnockbackStartTime; // 0x11f0 - GameTime_t m_flKnockbackEndTime; // 0x11f4 - float m_flKnockbackHeight; // 0x11f8 - float m_flInitialHeight; // 0x11fc - float m_flKnockbackDuration; // 0x1200 - float m_flEndHeight; // 0x1204 - Vector m_vStartPos; // 0x1208 - Vector m_vEndPos; // 0x1214 - float m_fPickupRadius; // 0x1220 + GameTime_t m_flKnockbackStartTime; // 0x12c0 + GameTime_t m_flKnockbackEndTime; // 0x12c4 + float m_flKnockbackHeight; // 0x12c8 + float m_flInitialHeight; // 0x12cc + float m_flKnockbackDuration; // 0x12d0 + float m_flEndHeight; // 0x12d4 + Vector m_vStartPos; // 0x12d8 + Vector m_vEndPos; // 0x12e4 + float m_fPickupRadius; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad1224[0x4]; // 0x1224 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CUtlString m_strTransitionEffect; // 0x1228 + CUtlString m_strTransitionEffect; // 0x12f8 }; // Alignment: 13 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_ItemWiggle_Thinker : public CDOTA_Buff { public: - Vector m_vOriginalPosition; // 0x11e8 - float m_flOriginalScale; // 0x11f4 - GameTime_t m_flLastChangeTime; // 0x11f8 - Vector m_vLastChangePosition; // 0x11fc - float m_flLastChangeScale; // 0x1208 - Vector m_vTargetPosition; // 0x120c - float m_flTargetScale; // 0x1218 - bool m_bFirstThink; // 0x121c + Vector m_vOriginalPosition; // 0x12b8 + float m_flOriginalScale; // 0x12c4 + GameTime_t m_flLastChangeTime; // 0x12c8 + Vector m_vLastChangePosition; // 0x12cc + float m_flLastChangeScale; // 0x12d8 + Vector m_vTargetPosition; // 0x12dc + float m_flTargetScale; // 0x12e8 + bool m_bFirstThink; // 0x12ec private: - [[maybe_unused]] uint8_t __pad121d[0x3]; // 0x121d + [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed public: - float m_flStartAmplitude; // 0x1220 - float m_flEndAmplitude; // 0x1224 - float m_flScaleAmplitude; // 0x1228 - float m_flStartFrequency; // 0x122c - float m_flEndFrequency; // 0x1230 + float m_flStartAmplitude; // 0x12f0 + float m_flEndAmplitude; // 0x12f4 + float m_flScaleAmplitude; // 0x12f8 + float m_flStartFrequency; // 0x12fc + float m_flEndFrequency; // 0x1300 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_Summon_Snowman_Thinker : public CDOTA_Buff { public: - float tick_rate; // 0x11e8 - int32_t taunt_radius; // 0x11ec - float taunt_duration; // 0x11f0 + float tick_rate; // 0x12b8 + int32_t taunt_radius; // 0x12bc + float taunt_duration; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Snowman_Taunt : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hZombieTarget; // 0x11e8 - bool m_bDidSetAttackTarget; // 0x11ec + CHandle< CBaseEntity > m_hZombieTarget; // 0x12b8 + bool m_bDidSetAttackTarget; // 0x12bc }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Decorate_Tree_Thinker : public CDOTA_Buff { public: - int32_t num_explosions; // 0x11e8 - int32_t radius; // 0x11ec - float m_fExplosions; // 0x11f0 + int32_t num_explosions; // 0x12b8 + int32_t radius; // 0x12bc + float m_fExplosions; // 0x12c0 }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_FestiveFirework : public CDOTA_Buff { public: @@ -84914,331 +86225,331 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_FestiveFirework_Blind : public CDOTA_Buff { public: - int32_t miss_rate; // 0x11e8 + int32_t miss_rate; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_Siege_Fireball_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float duration; // 0x11ec - float tick_interval; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 + int32_t radius; // 0x12b8 + float duration; // 0x12bc + float tick_interval; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Siege_Fireball_Burn : public CDOTA_Buff { public: - int32_t damage_per_tick; // 0x11e8 - float tick_interval; // 0x11ec + int32_t damage_per_tick; // 0x12b8 + float tick_interval; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeLock : public CDOTA_Buff { public: - float duration; // 0x11e8 - float duration_creep; // 0x11ec - int32_t chance_pct; // 0x11f0 - int32_t bonus_damage; // 0x11f4 - int32_t radius; // 0x11f8 + float duration; // 0x12b8 + float duration_creep; // 0x12bc + int32_t chance_pct; // 0x12c0 + int32_t bonus_damage; // 0x12c4 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker : public CDOTA_Buff { public: - CUtlVector< CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker::sDamageSources > m_vDamageSources; // 0x11e8 + CUtlVector< CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker::sDamageSources > m_vDamageSources; // 0x12b8 }; // Alignment: 6 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_Frostivus2018_FacelessVoid_TimeWalk : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - int32_t speed; // 0x568 - int32_t range; // 0x56c - int32_t radius; // 0x570 - int32_t damage; // 0x574 - int32_t m_nProjectileID; // 0x578 - Vector m_vProjectileLocation; // 0x57c + int32_t speed; // 0x578 + int32_t range; // 0x57c + int32_t radius; // 0x580 + int32_t damage; // 0x584 + int32_t m_nProjectileID; // 0x588 + Vector m_vProjectileLocation; // 0x58c }; // Alignment: 15 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_Frostivus2018_Luna_Eclipse : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - int32_t radius; // 0x11ec - int32_t beams; // 0x11f0 - int32_t hit_count; // 0x11f4 - int32_t m_iBeamDamage; // 0x11f8 - float m_flBeamStun; // 0x11fc - Vector vPosition; // 0x1200 - int32_t lucent_beam_radius; // 0x120c - bool bAreaTarget; // 0x1210 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + int32_t radius; // 0x12bc + int32_t beams; // 0x12c0 + int32_t hit_count; // 0x12c4 + int32_t m_iBeamDamage; // 0x12c8 + float m_flBeamStun; // 0x12cc + Vector vPosition; // 0x12d0 + int32_t lucent_beam_radius; // 0x12dc + bool bAreaTarget; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t m_iTickCount; // 0x1214 - ParticleIndex_t m_nMoonlightFXIndex; // 0x1218 + int32_t m_iTickCount; // 0x12e4 + ParticleIndex_t m_nMoonlightFXIndex; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< CHandle< CBaseEntity > > m_HitTargets; // 0x1220 - float beam_interval; // 0x1238 - float beam_interval_scepter; // 0x123c - float m_flInterval; // 0x1240 + CUtlVector< CHandle< CBaseEntity > > m_HitTargets; // 0x12f0 + float beam_interval; // 0x1308 + float beam_interval_scepter; // 0x130c + float m_flInterval; // 0x1310 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_Clinkz_Strafe : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x11e8 - int32_t attack_spill_width; // 0x11ec - int32_t attack_spill_range; // 0x11f0 - float spill_damage_multiplier; // 0x11f4 + int32_t attack_speed_bonus_pct; // 0x12b8 + int32_t attack_spill_width; // 0x12bc + int32_t attack_spill_range; // 0x12c0 + float spill_damage_multiplier; // 0x12c4 }; // Alignment: 6 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Frostivus2018_Clinkz_SearingArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 - bool m_bBonusAttack; // 0x1200 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + bool m_bBonusAttack; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t damage_bonus; // 0x1204 - int32_t attack_spill_width; // 0x1208 - int32_t attack_spill_range; // 0x120c - float spill_damage_multiplier; // 0x1210 + int32_t damage_bonus; // 0x12d4 + int32_t attack_spill_width; // 0x12d8 + int32_t attack_spill_range; // 0x12dc + float spill_damage_multiplier; // 0x12e0 }; // Alignment: 7 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk : public CDOTA_Modifier_Invisible { public: - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x11f8 - bool m_bFreePathing; // 0x1210 + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x12c8 + bool m_bFreePathing; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t move_speed_bonus_pct; // 0x1214 - int32_t radius; // 0x1218 - int32_t attack_steal_amount; // 0x121c - float attack_steal_duration; // 0x1220 - int32_t max_stacks; // 0x1224 + int32_t move_speed_bonus_pct; // 0x12e4 + int32_t radius; // 0x12e8 + int32_t attack_steal_amount; // 0x12ec + float attack_steal_duration; // 0x12f0 + int32_t max_stacks; // 0x12f4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk_BonusDamage : public CDOTA_Buff { public: - int32_t bonus_base_dmg_per_stack; // 0x11e8 + int32_t bonus_base_dmg_per_stack; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk_AttackDebuff : public CDOTA_Buff { public: - int32_t attack_steal_amount; // 0x11e8 + int32_t attack_steal_amount; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_Clinkz_Burning_Army_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x11e8 - Vector m_vFacePosition; // 0x11ec + int32_t m_iCount; // 0x12b8 + Vector m_vFacePosition; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Clinkz_Burning_Army : public CDOTA_Buff { public: - float attack_rate; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + float attack_rate; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 11 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Frostivus2018_BroodBaby_Launch : public CDOTA_Buff { public: - Vector m_vLoc; // 0x11e8 - float m_flPredictedTotalTime; // 0x11f4 - Vector m_vStartPosition; // 0x11f8 - float m_flCurrentTimeHoriz; // 0x1204 - float m_flCurrentTimeVert; // 0x1208 - bool m_bHorizontalMotionInterrupted; // 0x120c - bool m_bDamageApplied; // 0x120d - bool m_bTargetTeleported; // 0x120e + Vector m_vLoc; // 0x12b8 + float m_flPredictedTotalTime; // 0x12c4 + Vector m_vStartPosition; // 0x12c8 + float m_flCurrentTimeHoriz; // 0x12d4 + float m_flCurrentTimeVert; // 0x12d8 + bool m_bHorizontalMotionInterrupted; // 0x12dc + bool m_bDamageApplied; // 0x12dd + bool m_bTargetTeleported; // 0x12de private: - [[maybe_unused]] uint8_t __pad120f[0x1]; // 0x120f + [[maybe_unused]] uint8_t __pad12df[0x1]; // 0x12df public: - Vector m_vHorizontalVelocity; // 0x1210 - Vector m_vLastKnownTargetPosition; // 0x121c - float m_flInitialVelocityZ; // 0x1228 + Vector m_vHorizontalVelocity; // 0x12e0 + Vector m_vLastKnownTargetPosition; // 0x12ec + float m_flInitialVelocityZ; // 0x12f8 }; // Alignment: 4 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Tusk_SnowballMeteor_Land : public CDOTA_Buff { public: - Vector m_vDir; // 0x11e8 - int32_t travel_speed; // 0x11f4 - int32_t travel_distance; // 0x11f8 - int32_t vision_distance; // 0x11fc + Vector m_vDir; // 0x12b8 + int32_t travel_speed; // 0x12c4 + int32_t travel_distance; // 0x12c8 + int32_t vision_distance; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tusk_SnowballMeteor_Burn : public CDOTA_Buff { public: - float m_flDamagePerSecond; // 0x11e8 + float m_flDamagePerSecond; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Tusk_WalrusKick_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x11e8 + int32_t move_slow; // 0x12b8 }; // Alignment: 9 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Frostivus2018_Tusk_WalrusKick_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x11e8 - float m_flStartZ; // 0x11ec - float m_flCurTime; // 0x11f0 - float m_flOldPitch; // 0x11f4 - QAngle m_qRotation; // 0x11f8 - int32_t m_nRotations; // 0x1204 - Vector m_vDirection; // 0x1208 - float m_flEndTime; // 0x1214 - int32_t push_length; // 0x1218 + int32_t hp_threshold; // 0x12b8 + float m_flStartZ; // 0x12bc + float m_flCurTime; // 0x12c0 + float m_flOldPitch; // 0x12c4 + QAngle m_qRotation; // 0x12c8 + int32_t m_nRotations; // 0x12d4 + Vector m_vDirection; // 0x12d8 + float m_flEndTime; // 0x12e4 + int32_t push_length; // 0x12e8 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_DarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x11e8 - float damage; // 0x11ec - float max_damage_duration; // 0x11f0 - float slow_radius; // 0x11f4 - float burn_duration; // 0x11f8 - float burn_damage; // 0x11fc - float slow_attack_speed_pct; // 0x1200 + GameTime_t m_flStartTime; // 0x12b8 + float damage; // 0x12bc + float max_damage_duration; // 0x12c0 + float slow_radius; // 0x12c4 + float burn_duration; // 0x12c8 + float burn_damage; // 0x12cc + float slow_attack_speed_pct; // 0x12d0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_DarkWillow_ShadowRealm_Burn_Slow : public CDOTA_Buff { public: - float burn_damage; // 0x11e8 - int32_t move_slow; // 0x11ec - float m_flDamageScale; // 0x11f0 + float burn_damage; // 0x12b8 + int32_t move_slow; // 0x12bc + float m_flDamageScale; // 0x12c0 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_DarkWillow_BrambleMaze_Creation_Thinker : public CDOTA_Buff { public: - float latch_creation_interval; // 0x11e8 - float initial_creation_delay; // 0x11ec - int32_t placement_count; // 0x11f0 - float placement_duration; // 0x11f4 - int32_t m_iBramblesIndex; // 0x11f8 + float latch_creation_interval; // 0x12b8 + float initial_creation_delay; // 0x12bc + int32_t placement_count; // 0x12c0 + float placement_duration; // 0x12c4 + int32_t m_iBramblesIndex; // 0x12c8 }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Frostivus2018_DarkWillow_BrambleMaze_Thinker : public CDOTA_Buff { public: - int32_t latch_count; // 0x11e8 - int32_t latch_range; // 0x11ec - int32_t latch_vision; // 0x11f0 - float latch_creation_delay; // 0x11f4 - float latch_duration; // 0x11f8 + int32_t latch_count; // 0x12b8 + int32_t latch_range; // 0x12bc + int32_t latch_vision; // 0x12c0 + float latch_creation_delay; // 0x12c4 + float latch_duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x8]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x8]; // 0x12cc public: - bool m_bActive; // 0x1204 + bool m_bActive; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - int32_t m_nLatchedEnemies; // 0x1208 + int32_t m_nLatchedEnemies; // 0x12d8 }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_DarkWillow_Bedlam : public CDOTA_Buff { public: - float m_flRotation; // 0x11e8 - CHandle< CBaseEntity > m_hWisp; // 0x11ec - GameTime_t m_flLastAttack; // 0x11f0 - int32_t roaming_radius; // 0x11f4 - int32_t attack_radius; // 0x11f8 - float roaming_seconds_per_rotation; // 0x11fc - float attack_interval; // 0x1200 - int32_t attack_targets; // 0x1204 + float m_flRotation; // 0x12b8 + CHandle< CBaseEntity > m_hWisp; // 0x12bc + GameTime_t m_flLastAttack; // 0x12c0 + int32_t roaming_radius; // 0x12c4 + int32_t attack_radius; // 0x12c8 + float roaming_seconds_per_rotation; // 0x12cc + float attack_interval; // 0x12d0 + int32_t attack_targets; // 0x12d4 }; // Alignment: 10 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Frostivus2018_Puck_DreamCoil_Thinker : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_hLinkedEntities; // 0x11e8 - int32_t coil_radius; // 0x1200 - int32_t coil_break_radius; // 0x1204 - float coil_stun_duration; // 0x1208 - float coil_stun_duration_scepter; // 0x120c - float coil_slow; // 0x1210 - int32_t coil_break_damage; // 0x1214 - int32_t coil_break_damage_scepter; // 0x1218 - bool m_bHasScepter; // 0x121c + CUtlVector< CHandle< CBaseEntity > > m_hLinkedEntities; // 0x12b8 + int32_t coil_radius; // 0x12d0 + int32_t coil_break_radius; // 0x12d4 + float coil_stun_duration; // 0x12d8 + float coil_stun_duration_scepter; // 0x12dc + float coil_slow; // 0x12e0 + int32_t coil_break_damage; // 0x12e4 + int32_t coil_break_damage_scepter; // 0x12e8 + bool m_bHasScepter; // 0x12ec private: - [[maybe_unused]] uint8_t __pad121d[0x3]; // 0x121d + [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed public: - CUtlVector< ParticleIndex_t > m_FXIndex; // 0x1220 + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x12f0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Frostivus2018_Puck_Coiled : public CDOTA_Buff { public: @@ -85246,91 +86557,91 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Spectre_ActiveDispersion : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x11e8 + int32_t damage_reflection_pct; // 0x12b8 }; // Alignment: 10 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Frostivus2018_Spectre_ActiveDispersion_Thinker : public CDOTA_Buff { public: - float m_fDamage; // 0x11e8 - float m_fLastRadius; // 0x11ec - float m_fCurRadius; // 0x11f0 - GameTime_t m_fLastThink; // 0x11f4 - bool m_bContracting; // 0x11f8 + float m_fDamage; // 0x12b8 + float m_fLastRadius; // 0x12bc + float m_fCurRadius; // 0x12c0 + GameTime_t m_fLastThink; // 0x12c4 + bool m_bContracting; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x7]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x7]; // 0x12c9 public: - CountdownTimer m_ViewerTimer; // 0x1200 - ParticleIndex_t m_nFXIndex; // 0x1218 + CountdownTimer m_ViewerTimer; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x1220 - int32_t speed; // 0x1238 - int32_t radius; // 0x123c + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12f0 + int32_t speed; // 0x1308 + int32_t radius; // 0x130c }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x11e8 + int32_t slow_movement_speed; // 0x12b8 }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t damage_reduction; // 0x11ec - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x11f0 + int32_t radius; // 0x12b8 + int32_t damage_reduction; // 0x12bc + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede_Bonus_Armor : public CDOTA_Buff { public: - int32_t bonus_base_armor_per_stack; // 0x11e8 + int32_t bonus_base_armor_per_stack; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Centaur_Return_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 + int32_t aura_radius; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_Centaur_Return : public CDOTA_Buff { public: - int32_t return_damage; // 0x11e8 - float strength_gain_duration; // 0x11ec - int32_t max_stacks; // 0x11f0 - int32_t ally_factor; // 0x11f4 + int32_t return_damage; // 0x12b8 + float strength_gain_duration; // 0x12bc + int32_t max_stacks; // 0x12c0 + int32_t ally_factor; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Centaur_Return_Bonus_Strength : public CDOTA_Buff { public: - int32_t strength_gain; // 0x11e8 + int32_t strength_gain; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Frostivus2018_Huskar_Inner_Fire_Disarm : public CDOTA_Buff { public: @@ -85338,359 +86649,359 @@ public: }; // Alignment: 3 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Self : public CDOTA_Buff { public: - int32_t health_cost; // 0x11e8 - int32_t spear_aoe; // 0x11ec - CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 + int32_t health_cost; // 0x12b8 + int32_t spear_aoe; // 0x12bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Counter : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Debuff : public CDOTA_Buff { public: - int32_t burn_damage; // 0x11e8 - float tick_rate; // 0x11ec + int32_t burn_damage; // 0x12b8 + float tick_rate; // 0x12bc }; // Alignment: 4 -// Size: 0x580 +// Size: 0x590 class CDOTA_Ability_Frostivus2018_Huskar_Life_Break : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - Vector m_vProjectileLocation; // 0x568 - CHandle< CBaseEntity > m_hTarget; // 0x574 - bool m_bInterrupted; // 0x578 + Vector m_vProjectileLocation; // 0x578 + CHandle< CBaseEntity > m_hTarget; // 0x584 + bool m_bInterrupted; // 0x588 private: - [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 + [[maybe_unused]] uint8_t __pad0589[0x3]; // 0x589 public: - int32_t max_damage; // 0x57c + int32_t max_damage; // 0x58c }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Omniknight_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x11e8 - int32_t bonus_health_regen; // 0x11ec + int32_t speed_bonus; // 0x12b8 + int32_t bonus_health_regen; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Omniknight_Repel : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 + int32_t damage_reduction; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Frostivus2018_Magnataur_Skewer_Bonus_Strength : public CDOTA_Buff { public: - int32_t strength_gain; // 0x11e8 + int32_t strength_gain; // 0x12b8 }; // Alignment: 10 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Frostivus2018_Pangolier_ShieldCrash_Jump : public CDOTA_Buff { public: - float jump_duration; // 0x11e8 - float jump_duration_gyroshell; // 0x11ec - int32_t jump_height; // 0x11f0 - int32_t jump_height_gyroshell; // 0x11f4 - float m_flStartZ; // 0x11f8 - float m_flCurTime; // 0x11fc - float m_flJumpDuration; // 0x1200 - float m_flJumpHeight; // 0x1204 - int32_t jump_horizontal_distance; // 0x1208 - Vector m_vTargetHorizontalDirection; // 0x120c + float jump_duration; // 0x12b8 + float jump_duration_gyroshell; // 0x12bc + int32_t jump_height; // 0x12c0 + int32_t jump_height_gyroshell; // 0x12c4 + float m_flStartZ; // 0x12c8 + float m_flCurTime; // 0x12cc + float m_flJumpDuration; // 0x12d0 + float m_flJumpHeight; // 0x12d4 + int32_t jump_horizontal_distance; // 0x12d8 + Vector m_vTargetHorizontalDirection; // 0x12dc }; // Alignment: 11 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Frostivus2018_TrollWarlord_BattleTrance : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - int32_t attack_speed; // 0x11ec - int32_t lifesteal; // 0x11f0 - int32_t bonus_damage_pct; // 0x11f4 - float cleave_damage_pct; // 0x11f8 - int32_t cleave_starting_width; // 0x11fc - int32_t cleave_ending_width; // 0x1200 - int32_t cleave_distance; // 0x1204 - float splash_damage_pct; // 0x1208 - int32_t splash_radius; // 0x120c - CHandle< CBaseEntity > m_hTarget; // 0x1210 + int32_t movement_speed; // 0x12b8 + int32_t attack_speed; // 0x12bc + int32_t lifesteal; // 0x12c0 + int32_t bonus_damage_pct; // 0x12c4 + float cleave_damage_pct; // 0x12c8 + int32_t cleave_starting_width; // 0x12cc + int32_t cleave_ending_width; // 0x12d0 + int32_t cleave_distance; // 0x12d4 + float splash_damage_pct; // 0x12d8 + int32_t splash_radius; // 0x12dc + CHandle< CBaseEntity > m_hTarget; // 0x12e0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_TrollWarlord_Fervor : public CDOTA_Buff { public: - int32_t attack_speed; // 0x11e8 - int32_t max_stacks; // 0x11ec - CHandle< CBaseEntity > m_hUnit; // 0x11f0 + int32_t attack_speed; // 0x12b8 + int32_t max_stacks; // 0x12bc + CHandle< CBaseEntity > m_hUnit; // 0x12c0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_Earthshaker_Aftershock : public CDOTA_Buff { public: - int32_t aftershock_range; // 0x11e8 - float stun_duration; // 0x11ec - int32_t ability_damage; // 0x11f0 + int32_t aftershock_range; // 0x12b8 + float stun_duration; // 0x12bc + int32_t ability_damage; // 0x12c0 }; // Alignment: 4 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Frostivus2018_Weaver_GeminateAttack : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - int32_t m_iAttacksRemaining; // 0x11ec + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + int32_t m_iAttacksRemaining; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11f0[0x38]; // 0x11f0 + [[maybe_unused]] uint8_t __pad12c0[0x38]; // 0x12c0 public: - int32_t arrow_count; // 0x1228 - int32_t bonus_range; // 0x122c + int32_t arrow_count; // 0x12f8 + int32_t bonus_range; // 0x12fc }; // Alignment: 8 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_AghsFort_Tower_BlastWave_Thinker : public CDOTA_Buff { public: - float damage_pct; // 0x11e8 - float m_fCurRadius; // 0x11ec - GameTime_t m_fLastThink; // 0x11f0 + float damage_pct; // 0x12b8 + float m_fCurRadius; // 0x12bc + GameTime_t m_fLastThink; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 + [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 public: - CountdownTimer m_ViewerTimer; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x1210 + CountdownTimer m_ViewerTimer; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x1218 - int32_t speed; // 0x1230 - int32_t radius; // 0x1234 + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12e8 + int32_t speed; // 0x1300 + int32_t radius; // 0x1304 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Debuff : public CDOTA_Buff { public: - int32_t corpse_explosion_radius; // 0x11e8 - int32_t corpse_explosion_damage_pct; // 0x11ec - int32_t corpse_explosion_chance_pct; // 0x11f0 + int32_t corpse_explosion_radius; // 0x12b8 + int32_t corpse_explosion_damage_pct; // 0x12bc + int32_t corpse_explosion_chance_pct; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Reward_HPAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Reward_HPAura_Bonus : public CDOTA_Buff { public: - float bonus_hp; // 0x11e8 + float bonus_hp; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Reward_CritAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Reward_CritAura_Bonus : public CDOTA_Buff { public: - int32_t crit_chance; // 0x11e8 - int32_t crit_multiplier; // 0x11ec + int32_t crit_chance; // 0x12b8 + int32_t crit_multiplier; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Reward_MagicResistAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Reward_MagicResistAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_magical_armor; // 0x11e8 + int32_t bonus_magical_armor; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Reward_ArmorAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Reward_ArmorAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 15 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x11e8 - float m_fCurRadius; // 0x11ec - GameTime_t m_fLastThink; // 0x11f0 - bool m_bWindingUp; // 0x11f4 + float m_fLastRadius; // 0x12b8 + float m_fCurRadius; // 0x12bc + GameTime_t m_fLastThink; // 0x12c0 + bool m_bWindingUp; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - CountdownTimer m_ViewerTimer; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x1210 + CountdownTimer m_ViewerTimer; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x1218 - int32_t speed; // 0x1230 - int32_t radius; // 0x1234 - int32_t damage_min; // 0x1238 - int32_t damage_max; // 0x123c - int32_t slow_min; // 0x1240 - int32_t slow_max; // 0x1244 - float slow_duration; // 0x1248 - float windup_time; // 0x124c + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12e8 + int32_t speed; // 0x1300 + int32_t radius; // 0x1304 + int32_t damage_min; // 0x1308 + int32_t damage_max; // 0x130c + int32_t slow_min; // 0x1310 + int32_t slow_max; // 0x1314 + float slow_duration; // 0x1318 + float windup_time; // 0x131c }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x11e8 + int32_t slow_amount; // 0x12b8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Ascension_Bulwark : public CDOTA_Buff { public: - float physical_damage_reduction; // 0x11e8 - float physical_damage_reduction_side; // 0x11ec - float forward_angle; // 0x11f0 - float side_angle; // 0x11f4 + float physical_damage_reduction; // 0x12b8 + float physical_damage_reduction_side; // 0x12bc + float forward_angle; // 0x12c0 + float side_angle; // 0x12c4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Ascension_AcidBlood_Thinker : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - int32_t radius; // 0x11ec - ParticleIndex_t m_nFXIndex; // 0x11f0 + int32_t damage; // 0x12b8 + int32_t radius; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Ascension_AcidBlood : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 + int32_t armor_reduction; // 0x12b8 }; // Alignment: 14 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_AghsFort_Firefly : public CDOTA_Buff { public: - float pool_duration; // 0x11e8 - int32_t radius; // 0x11ec - int32_t m_ifirefly_Active; // 0x11f0 - int32_t tree_radius; // 0x11f4 - int32_t damage_pct_per_second; // 0x11f8 - int32_t movement_speed; // 0x11fc - float trail_placement_duration; // 0x1200 - float burn_linger_duration; // 0x1204 - bool m_bActive; // 0x1208 + float pool_duration; // 0x12b8 + int32_t radius; // 0x12bc + int32_t m_ifirefly_Active; // 0x12c0 + int32_t tree_radius; // 0x12c4 + int32_t damage_pct_per_second; // 0x12c8 + int32_t movement_speed; // 0x12cc + float trail_placement_duration; // 0x12d0 + float burn_linger_duration; // 0x12d4 + bool m_bActive; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - ParticleIndex_t m_nFXIndex; // 0x120c - ParticleIndex_t m_nFXIndexB; // 0x1210 - GameTime_t m_flStartTime; // 0x1214 - Vector m_vLastFirePoolLoc; // 0x1218 + ParticleIndex_t m_nFXIndex; // 0x12dc + ParticleIndex_t m_nFXIndexB; // 0x12e0 + GameTime_t m_flStartTime; // 0x12e4 + Vector m_vLastFirePoolLoc; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad1224[0x4]; // 0x1224 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CUtlVector< Vector > m_vFirePoolLocations; // 0x1228 + CUtlVector< Vector > m_vFirePoolLocations; // 0x12f8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Firefly_Burn : public CDOTA_Buff { public: - int32_t damage_pct_per_second; // 0x11e8 - int32_t movement_speed; // 0x11ec - float tick_interval; // 0x11f0 - GameTime_t m_fNextDamageTick; // 0x11f4 + int32_t damage_pct_per_second; // 0x12b8 + int32_t movement_speed; // 0x12bc + float tick_interval; // 0x12c0 + GameTime_t m_fNextDamageTick; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Ascension_Silence_Charge : public CDOTA_Buff { public: @@ -85698,7 +87009,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Ascension_Silence : public CDOTA_Buff { public: @@ -85706,7 +87017,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Ascension_Silence_Display : public CDOTA_Buff { public: @@ -85714,26 +87025,26 @@ public: }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ascension_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 + [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 public: - int32_t radius; // 0x11f0 + int32_t radius; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Ascension_MagneticField_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance; // 0x11e8 - int32_t radius; // 0x11ec + int32_t evasion_chance; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Ascension_Invis_Warning : public CDOTA_Buff { public: @@ -85741,7 +87052,7 @@ public: }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ascension_Invis : public CDOTA_Modifier_PersistentInvisibility { public: @@ -85749,17 +87060,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Ascension_Meteoric_Land : public CDOTA_Buff { public: - int32_t impact_radius; // 0x11e8 - float land_time; // 0x11ec - float burn_duration; // 0x11f0 + int32_t impact_radius; // 0x12b8 + float land_time; // 0x12bc + float burn_duration; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Morty_Hop_Controller : public CDOTA_Buff { public: @@ -85767,109 +87078,109 @@ public: }; // Alignment: 11 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Morty_Hop : public CDOTA_Buff { public: - Vector m_vStartPosition; // 0x11e8 - Vector m_vTargetPosition; // 0x11f4 - float m_flCurrentTimeHoriz; // 0x1200 - float m_flCurrentTimeVert; // 0x1204 - float m_flZCoefficientA; // 0x1208 - float m_flZCoefficientB; // 0x120c - bool m_bInterrupted; // 0x1210 + Vector m_vStartPosition; // 0x12b8 + Vector m_vTargetPosition; // 0x12c4 + float m_flCurrentTimeHoriz; // 0x12d0 + float m_flCurrentTimeVert; // 0x12d4 + float m_flZCoefficientA; // 0x12d8 + float m_flZCoefficientB; // 0x12dc + bool m_bInterrupted; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - float duration; // 0x1214 - int32_t height; // 0x1218 - int32_t damage; // 0x121c - int32_t damage_radius; // 0x1220 + float duration; // 0x12e4 + int32_t height; // 0x12e8 + int32_t damage; // 0x12ec + int32_t damage_radius; // 0x12f0 }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_ExplosiveBarrel : public CDOTA_Buff { public: - ParticleIndex_t m_nPreviewFX; // 0x11e8 - int32_t radius; // 0x11ec - int32_t damage; // 0x11f0 - int32_t vision_radius; // 0x11f4 - float vision_duration; // 0x11f8 - int32_t model_scale; // 0x11fc - bool bExploding; // 0x1200 + ParticleIndex_t m_nPreviewFX; // 0x12b8 + int32_t radius; // 0x12bc + int32_t damage; // 0x12c0 + int32_t vision_radius; // 0x12c4 + float vision_duration; // 0x12c8 + int32_t model_scale; // 0x12cc + bool bExploding; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - float stun_duration; // 0x1204 + float stun_duration; // 0x12d4 }; // Alignment: 10 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_PlayerTransform : public CDOTA_Buff { public: - itemid_t m_nCourierItemId; // 0x11e8 - CUtlString m_ModelNameOfDisguise; // 0x11f0 + itemid_t m_nCourierItemId; // 0x12b8 + CUtlString m_ModelNameOfDisguise; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad11f8[0x8]; // 0x11f8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - int32_t m_nMoveSpeed; // 0x1200 - int32_t m_nDisguisedSpeed; // 0x1204 - ParticleIndex_t m_nDisguiseEffectIndex; // 0x1208 - CHandle< CBaseEntity > m_hCourier; // 0x120c - bool m_bIsFlyingCourier; // 0x1210 + int32_t m_nMoveSpeed; // 0x12d0 + int32_t m_nDisguisedSpeed; // 0x12d4 + ParticleIndex_t m_nDisguiseEffectIndex; // 0x12d8 + CHandle< CBaseEntity > m_hCourier; // 0x12dc + bool m_bIsFlyingCourier; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x7]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x7]; // 0x12e1 public: - char* s_pszDonkeyDisguise; // 0x1218 - float invul_duration; // 0x1220 - bool m_bParticlesSpawned; // 0x1224 + char* s_pszDonkeyDisguise; // 0x12e8 + float invul_duration; // 0x12f0 + bool m_bParticlesSpawned; // 0x12f4 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ravage_Potion : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 - float m_flStartZ; // 0x11ec - float m_flCurTime; // 0x11f0 - bool m_bDamageApplied; // 0x11f4 + int32_t damage; // 0x12b8 + float m_flStartZ; // 0x12bc + float m_flCurTime; // 0x12c0 + bool m_bDamageApplied; // 0x12c4 }; // Alignment: 10 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_DragonPotion : public CDOTA_Buff_Item { public: - int32_t m_iOriginalAttackCapabilities; // 0x11e8 + int32_t m_iOriginalAttackCapabilities; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11f0 - int32_t bonus_movement_speed; // 0x11f8 - int32_t bonus_attack_damage; // 0x11fc - int32_t bonus_attack_range; // 0x1200 - int32_t attack_projectile_speed; // 0x1204 - int32_t magic_resistance; // 0x1208 - int32_t model_scale; // 0x120c - int32_t skin_number; // 0x1210 - bool flying_movement; // 0x1214 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12c0 + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_attack_damage; // 0x12cc + int32_t bonus_attack_range; // 0x12d0 + int32_t attack_projectile_speed; // 0x12d4 + int32_t magic_resistance; // 0x12d8 + int32_t model_scale; // 0x12dc + int32_t skin_number; // 0x12e0 + bool flying_movement; // 0x12e4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Arcanist_Potion : public CDOTA_Buff { public: - int32_t m_nCooldownReductionPct; // 0x11e8 - int32_t m_nManaCostReductionPct; // 0x11ec + int32_t m_nCooldownReductionPct; // 0x12b8 + int32_t m_nManaCostReductionPct; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_EchoSlamPotion_Debuff : public CDOTA_Buff { public: @@ -85877,7 +87188,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Potion_SpendCharge : public CDOTA_Buff_Item { public: @@ -85885,78 +87196,78 @@ public: }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Thinker : public CDOTA_Buff_Item { public: - float m_fProcChance; // 0x11e8 - int32_t m_nRadius; // 0x11ec - int32_t m_nMovespeedBonus; // 0x11f0 - float m_fStunDuration; // 0x11f4 - float m_fSlowDuration; // 0x11f8 - float m_fDelay; // 0x11fc - int32_t m_nTorrentDamage; // 0x1200 + float m_fProcChance; // 0x12b8 + int32_t m_nRadius; // 0x12bc + int32_t m_nMovespeedBonus; // 0x12c0 + float m_fStunDuration; // 0x12c4 + float m_fSlowDuration; // 0x12c8 + float m_fDelay; // 0x12cc + int32_t m_nTorrentDamage; // 0x12d0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Torrent : public CDOTA_Buff_Item { public: - int32_t m_nTorrentDamage; // 0x11e8 - float m_flStartZ; // 0x11ec - float m_flCurTime; // 0x11f0 + int32_t m_nTorrentDamage; // 0x12b8 + float m_flStartZ; // 0x12bc + float m_flCurTime; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Torrent_Slow : public CDOTA_Buff { public: - int32_t m_nMovespeedBonus; // 0x11e8 + int32_t m_nMovespeedBonus; // 0x12b8 }; // Alignment: 9 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_ShadowWaveEffectPotion : public CDOTA_Buff_Item { public: - int32_t m_iCurJumpCount; // 0x11e8 - Vector m_vCurTargetLoc; // 0x11ec - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x11f8 - float m_fProcChance; // 0x1210 - int32_t m_nCastRange; // 0x1214 - int32_t m_nBounceRadius; // 0x1218 - int32_t m_nDamageRadius; // 0x121c - int32_t m_nDamage; // 0x1220 - int32_t m_nMaxTargets; // 0x1224 + int32_t m_iCurJumpCount; // 0x12b8 + Vector m_vCurTargetLoc; // 0x12bc + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12c8 + float m_fProcChance; // 0x12e0 + int32_t m_nCastRange; // 0x12e4 + int32_t m_nBounceRadius; // 0x12e8 + int32_t m_nDamageRadius; // 0x12ec + int32_t m_nDamage; // 0x12f0 + int32_t m_nMaxTargets; // 0x12f4 }; // Alignment: 16 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Minor_Stats_Upgrade : public CDOTA_Buff { public: - int32_t bonus_all_stats; // 0x11e8 - int32_t bonus_primary_stat; // 0x11ec - int32_t bonus_movespeed; // 0x11f0 - int32_t bonus_hp_regen; // 0x11f4 - int32_t bonus_armor; // 0x11f8 - int32_t bonus_attack_damage; // 0x11fc - int32_t bonus_cast_range; // 0x1200 - int32_t bonus_spell_amp; // 0x1204 - int32_t bonus_health; // 0x1208 - int32_t bonus_mana; // 0x120c - int32_t bonus_attack_speed; // 0x1210 - int32_t bonus_heal_amp; // 0x1214 - int32_t bonus_mana_regen; // 0x1218 - int32_t bonus_evasion; // 0x121c - int32_t bonus_magic_resist; // 0x1220 - int32_t bonus_lifesteal; // 0x1224 + int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_primary_stat; // 0x12bc + int32_t bonus_movespeed; // 0x12c0 + int32_t bonus_hp_regen; // 0x12c4 + int32_t bonus_armor; // 0x12c8 + int32_t bonus_attack_damage; // 0x12cc + int32_t bonus_cast_range; // 0x12d0 + int32_t bonus_spell_amp; // 0x12d4 + int32_t bonus_health; // 0x12d8 + int32_t bonus_mana; // 0x12dc + int32_t bonus_attack_speed; // 0x12e0 + int32_t bonus_heal_amp; // 0x12e4 + int32_t bonus_mana_regen; // 0x12e8 + int32_t bonus_evasion; // 0x12ec + int32_t bonus_magic_resist; // 0x12f0 + int32_t bonus_lifesteal; // 0x12f4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_AggroOverride : public CDOTA_Buff { public: @@ -85964,71 +87275,71 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_SwampSickness : public CDOTA_Buff { public: - int32_t slow_percent; // 0x11e8 - bool m_bInRiver; // 0x11ec + int32_t slow_percent; // 0x12b8 + bool m_bInRiver; // 0x12bc }; // Alignment: 8 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_RestorativeFlower : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t heal; // 0x11ec - int32_t vision_radius; // 0x11f0 - float vision_duration; // 0x11f4 - int32_t model_scale; // 0x11f8 - bool bExploding; // 0x11fc + int32_t radius; // 0x12b8 + int32_t heal; // 0x12bc + int32_t vision_radius; // 0x12c0 + float vision_duration; // 0x12c4 + int32_t model_scale; // 0x12c8 + bool bExploding; // 0x12cc private: - [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float stun_duration; // 0x1200 - ParticleIndex_t m_nFXAmbient; // 0x1204 + float stun_duration; // 0x12d0 + ParticleIndex_t m_nFXAmbient; // 0x12d4 }; // Alignment: 7 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_StonehallGeneral_OverwhelmingOdds_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t max_steps; // 0x11ec - float damage_interval; // 0x11f0 - int32_t m_nNumSteps; // 0x11f4 - int32_t m_nRadiusStep; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x11fc - Vector m_vDir; // 0x1200 + int32_t radius; // 0x12b8 + int32_t max_steps; // 0x12bc + float damage_interval; // 0x12c0 + int32_t m_nNumSteps; // 0x12c4 + int32_t m_nRadiusStep; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + Vector m_vDir; // 0x12d0 }; // Alignment: 10 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Boss_DarkWillow_Bedlam : public CDOTA_Buff { public: - float m_flRotation; // 0x11e8 - CHandle< CBaseEntity > m_hWisp; // 0x11ec - GameTime_t m_flLastAttack; // 0x11f0 - bool reversed; // 0x11f4 + float m_flRotation; // 0x12b8 + CHandle< CBaseEntity > m_hWisp; // 0x12bc + GameTime_t m_flLastAttack; // 0x12c0 + bool reversed; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - int32_t roaming_radius; // 0x11f8 - int32_t attack_radius; // 0x11fc - float roaming_seconds_per_rotation; // 0x1200 - float attack_interval; // 0x1204 - bool m_bSetupWarning; // 0x1208 + int32_t roaming_radius; // 0x12c8 + int32_t attack_radius; // 0x12cc + float roaming_seconds_per_rotation; // 0x12d0 + float attack_interval; // 0x12d4 + bool m_bSetupWarning; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - ParticleIndex_t m_nPreviewFX; // 0x120c + ParticleIndex_t m_nPreviewFX; // 0x12dc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Enrage : public CDOTA_Buff { public: @@ -86036,38 +87347,38 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Spectre_ActiveDispersion : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x11e8 + int32_t damage_reflection_pct; // 0x12b8 }; // Alignment: 10 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_AghsFort_Spectre_ActiveDispersion_Thinker : public CDOTA_Buff { public: - float m_fDamage; // 0x11e8 - float m_fLastRadius; // 0x11ec - float m_fCurRadius; // 0x11f0 - GameTime_t m_fLastThink; // 0x11f4 - bool m_bContracting; // 0x11f8 + float m_fDamage; // 0x12b8 + float m_fLastRadius; // 0x12bc + float m_fCurRadius; // 0x12c0 + GameTime_t m_fLastThink; // 0x12c4 + bool m_bContracting; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x7]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x7]; // 0x12c9 public: - CountdownTimer m_ViewerTimer; // 0x1200 - ParticleIndex_t m_nFXIndex; // 0x1218 + CountdownTimer m_ViewerTimer; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x1220 - int32_t speed; // 0x1238 - int32_t radius; // 0x123c + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12f0 + int32_t speed; // 0x1308 + int32_t radius; // 0x130c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_RockGolem_Avalanche_Stun : public CDOTA_Modifier_Stunned { public: @@ -86075,75 +87386,75 @@ public: }; // Alignment: 7 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_RockGolem_Avalanche : public CDOTA_Buff { public: - CUtlVector< CDOTA_BaseNPC* > m_pHeroesHit; // 0x11e8 - int32_t radius; // 0x1200 - float total_duration; // 0x1204 - float stun_duration; // 0x1208 - int32_t tick_count; // 0x120c - int32_t m_damage; // 0x1210 - int32_t m_nTicks; // 0x1214 + CUtlVector< CDOTA_BaseNPC* > m_pHeroesHit; // 0x12b8 + int32_t radius; // 0x12d0 + float total_duration; // 0x12d4 + float stun_duration; // 0x12d8 + int32_t tick_count; // 0x12dc + int32_t m_damage; // 0x12e0 + int32_t m_nTicks; // 0x12e4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Creature_Phoenix_FireSpiritCount : public CDOTA_Buff { public: - int32_t spirit_count; // 0x11e8 - ParticleIndex_t m_nFXIndex; // 0x11ec + int32_t spirit_count; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Creature_Phoenix_Sun : public CDOTA_Buff { public: - int32_t aura_radius; // 0x11e8 - float stun_duration; // 0x11ec - int32_t max_hero_attacks; // 0x11f0 - int32_t max_hero_attacks_scepter; // 0x11f4 - int32_t max_hero_attacks_required; // 0x11f8 - float caster_life_pct; // 0x11fc - CHandle< CBaseEntity > m_hSecondaryTarget; // 0x1200 - int32_t m_iAttackCount; // 0x1204 - int32_t creep_attacks_count; // 0x1208 + int32_t aura_radius; // 0x12b8 + float stun_duration; // 0x12bc + int32_t max_hero_attacks; // 0x12c0 + int32_t max_hero_attacks_scepter; // 0x12c4 + int32_t max_hero_attacks_required; // 0x12c8 + float caster_life_pct; // 0x12cc + CHandle< CBaseEntity > m_hSecondaryTarget; // 0x12d0 + int32_t m_iAttackCount; // 0x12d4 + int32_t creep_attacks_count; // 0x12d8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_PudgeMiniboss_HatefulStrike : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t maxhp_percent_damage; // 0x11ec - int32_t every_n_attacks; // 0x11f0 - bool crit_active; // 0x11f4 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t maxhp_percent_damage; // 0x12bc + int32_t every_n_attacks; // 0x12c0 + bool crit_active; // 0x12c4 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruption : public CDOTA_Buff { public: - float armor_reduction_per_stack; // 0x11e8 - float stack_duration; // 0x11ec + float armor_reduction_per_stack; // 0x12b8 + float stack_duration; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruptionDebuff : public CDOTA_Buff { public: - float armor_reduction_per_stack; // 0x11e8 - float stack_duration; // 0x11ec + float armor_reduction_per_stack; // 0x12b8 + float stack_duration; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruptionStack : public CDOTA_Buff { public: @@ -86151,17 +87462,17 @@ public: }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Wave_Blast_Knockback : public CDOTA_Buff { public: - float disarm_duration; // 0x11e8 - Vector m_vPushDir; // 0x11ec - GameTime_t m_flStartTime; // 0x11f8 + float disarm_duration; // 0x12b8 + Vector m_vPushDir; // 0x12bc + GameTime_t m_flStartTime; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Wave_Blast_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -86169,43 +87480,43 @@ public: }; // Alignment: 9 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_Waveblaster_Leap : public CDOTA_Buff { public: - float m_flTotalTime; // 0x11e8 - float m_flInitialVelocity; // 0x11ec - Vector m_vStartPosition; // 0x11f0 - Vector m_vTargetHorizontalDirection; // 0x11fc - float m_flCurrentTimeHoriz; // 0x1208 - float m_flCurrentTimeVert; // 0x120c - bool m_bInterrupted; // 0x1210 + float m_flTotalTime; // 0x12b8 + float m_flInitialVelocity; // 0x12bc + Vector m_vStartPosition; // 0x12c0 + Vector m_vTargetHorizontalDirection; // 0x12cc + float m_flCurrentTimeHoriz; // 0x12d8 + float m_flCurrentTimeVert; // 0x12dc + bool m_bInterrupted; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - float leap_speed; // 0x1214 - float leap_acceleration; // 0x1218 + float leap_speed; // 0x12e4 + float leap_acceleration; // 0x12e8 }; // Alignment: 5 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_AghsFort_Morphling_Waveform : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - int32_t m_nProjectileID; // 0x568 - Vector m_vProjectileLocation; // 0x56c - CHandle< CBaseEntity > m_hHitHero; // 0x578 - bool m_bGrantedGem; // 0x57c + int32_t m_nProjectileID; // 0x578 + Vector m_vProjectileLocation; // 0x57c + CHandle< CBaseEntity > m_hHitHero; // 0x588 + bool m_bGrantedGem; // 0x58c private: - [[maybe_unused]] uint8_t __pad057d[0x3]; // 0x57d + [[maybe_unused]] uint8_t __pad058d[0x3]; // 0x58d public: - ParticleIndex_t m_nPreviewFX; // 0x580 + ParticleIndex_t m_nPreviewFX; // 0x590 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Morphling_Waveform : public CDOTA_Buff { public: @@ -86213,60 +87524,60 @@ public: }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Creature_Impale : public CDOTA_Buff { public: - float m_flStartZ; // 0x11e8 - float m_flCurTime; // 0x11ec - float m_flDuration; // 0x11f0 - bool m_bDamageApplied; // 0x11f4 + float m_flStartZ; // 0x12b8 + float m_flCurTime; // 0x12bc + float m_flDuration; // 0x12c0 + bool m_bDamageApplied; // 0x12c4 }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Creature_SpikedCarapace : public CDOTA_Buff { public: - float stun_duration; // 0x11e8 + float stun_duration; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< CHandle< CBaseEntity > > m_vecAlreadyAppliedDebuff; // 0x11f0 + CUtlVector< CHandle< CBaseEntity > > m_vecAlreadyAppliedDebuff; // 0x12c0 }; // Alignment: 15 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_Aghsfort_Walrus_Pudge_Harpoon : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - Vector m_vProjectileLocation; // 0x568 - float hook_speed; // 0x574 - int32_t hook_width; // 0x578 - int32_t hook_distance; // 0x57c - bool m_bRetracting; // 0x580 - bool m_bDiedInHook; // 0x581 + Vector m_vProjectileLocation; // 0x578 + float hook_speed; // 0x584 + int32_t hook_width; // 0x588 + int32_t hook_distance; // 0x58c + bool m_bRetracting; // 0x590 + bool m_bDiedInHook; // 0x591 private: - [[maybe_unused]] uint8_t __pad0582[0x2]; // 0x582 + [[maybe_unused]] uint8_t __pad0592[0x2]; // 0x592 public: - CHandle< CBaseEntity > m_hVictim; // 0x584 - Vector m_vTargetPosition; // 0x588 - Vector m_vCasterPosition; // 0x594 - bool m_bChainDetached; // 0x5a0 + CHandle< CBaseEntity > m_hVictim; // 0x594 + Vector m_vTargetPosition; // 0x598 + Vector m_vCasterPosition; // 0x5a4 + bool m_bChainDetached; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 + [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 public: - ParticleIndex_t m_iChainParticle; // 0x5a4 - int32_t m_iHookParticle; // 0x5a8 - int32_t m_nManaCost; // 0x5ac - CHandle< CBaseEntity > m_hSourceCaster; // 0x5b0 - ParticleIndex_t m_nPreviewFX; // 0x5b4 + ParticleIndex_t m_iChainParticle; // 0x5b4 + int32_t m_iHookParticle; // 0x5b8 + int32_t m_nManaCost; // 0x5bc + CHandle< CBaseEntity > m_hSourceCaster; // 0x5c0 + ParticleIndex_t m_nPreviewFX; // 0x5c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Walrus_Pudge_Harpoon_PathingFix : public CDOTA_Buff { public: @@ -86274,7 +87585,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Walrus_Pudge_Harpoon : public CDOTA_Buff { public: @@ -86282,29 +87593,29 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Creature_Flamestrike : public CDOTA_Buff { public: - int32_t impact_radius; // 0x11e8 - float ground_burn_duration; // 0x11ec - float damage; // 0x11f0 - int32_t vision_distance; // 0x11f4 - float vision_duration; // 0x11f8 + int32_t impact_radius; // 0x12b8 + float ground_burn_duration; // 0x12bc + float damage; // 0x12c0 + int32_t vision_distance; // 0x12c4 + float vision_duration; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Creature_Flamestrike_Ground : public CDOTA_Buff { public: - float burn_interval; // 0x11e8 - int32_t burn_radius; // 0x11ec - int32_t burn_dps; // 0x11f0 + float burn_interval; // 0x12b8 + int32_t burn_radius; // 0x12bc + int32_t burn_dps; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_DragonKnight_BreatheFire_Debuff : public CDOTA_Buff { public: @@ -86312,83 +87623,83 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PineCone_ShieldBash_Slow : public CDOTA_Buff { public: - int32_t knockback_slow; // 0x11e8 + int32_t knockback_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PineCone_ShieldBash_Crit : public CDOTA_Buff { public: - int32_t crit_mult; // 0x11e8 + int32_t crit_mult; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PineCone_AcornShot_DelayThinker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - int32_t m_nSourceProjectileHandle; // 0x11ec + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + int32_t m_nSourceProjectileHandle; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PineCone_AcornShot_TreeThinker : public CDOTA_Buff { public: - CHandle< CDOTA_TempTree > m_hTree; // 0x11e8 - int32_t fow_viewer; // 0x11ec + CHandle< CDOTA_TempTree > m_hTree; // 0x12b8 + int32_t fow_viewer; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PineCone_AcornShot_BonusDamage : public CDOTA_Buff { public: - int32_t acorn_shot_damage; // 0x11e8 - int32_t base_damage_pct; // 0x11ec + int32_t acorn_shot_damage; // 0x12b8 + int32_t base_damage_pct; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PineCone_AcornShot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Lifestealer_Enraged_Pulse : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_UrnUpheaval : public CDOTA_Buff { public: - int32_t m_iSlow; // 0x11e8 + int32_t m_iSlow; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_UpheavalUrn_Reincarnation : public CDOTA_Buff { public: - float reincarnate_time; // 0x11e8 - GameTime_t m_fLastReincarnationTime; // 0x11ec + float reincarnate_time; // 0x12b8 + GameTime_t m_fLastReincarnationTime; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_SkeletonKing_VampiricAura : public CDOTA_Buff { public: @@ -86396,123 +87707,123 @@ public: }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Shadow_Demon_Shadow_Poison : public CDOTA_Buff { public: - float stack_damage; // 0x11e8 - float bonus_stack_damage; // 0x11ec - int32_t max_multiply_stacks; // 0x11f0 - int32_t release_at_max_stacks; // 0x11f4 - ParticleIndex_t m_nFXStackIndex; // 0x11f8 + float stack_damage; // 0x12b8 + float bonus_stack_damage; // 0x12bc + int32_t max_multiply_stacks; // 0x12c0 + int32_t release_at_max_stacks; // 0x12c4 + ParticleIndex_t m_nFXStackIndex; // 0x12c8 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_ShadowShaman_Shackles : public CDOTA_Buff { public: - float tick_interval; // 0x11e8 - float total_damage; // 0x11ec - float channel_time; // 0x11f0 + float tick_interval; // 0x12b8 + float total_damage; // 0x12bc + float channel_time; // 0x12c0 }; // Alignment: 5 -// Size: 0x588 +// Size: 0x598 class CDOTA_Ability_Aghsfort_Elemental_Wisp_Tether : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: // MNetworkEnable - CHandle< CBaseEntity > m_hTarget; // 0x568 - Vector m_vProjectileLocation; // 0x56c - bool m_bProjectileActive; // 0x578 + CHandle< CBaseEntity > m_hTarget; // 0x578 + Vector m_vProjectileLocation; // 0x57c + bool m_bProjectileActive; // 0x588 private: - [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 + [[maybe_unused]] uint8_t __pad0589[0x3]; // 0x589 public: - int32_t latch_distance; // 0x57c - int32_t m_iProjectileIndex; // 0x580 + int32_t latch_distance; // 0x58c + int32_t m_iProjectileIndex; // 0x590 }; // Alignment: 14 -// Size: 0x1238 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether : public CDOTA_Buff { public: - bool m_bInManaGained; // 0x11e8 + bool m_bInManaGained; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - CHandle< CBaseEntity > m_hTarget; // 0x11ec - CUtlVector< CHandle< CBaseEntity > > hStunnedEntities; // 0x11f0 - float slow_duration; // 0x1208 - int32_t movespeed; // 0x120c - int32_t self_bonus; // 0x1210 - bool m_bIsInRange; // 0x1214 + CHandle< CBaseEntity > m_hTarget; // 0x12bc + CUtlVector< CHandle< CBaseEntity > > hStunnedEntities; // 0x12c0 + float slow_duration; // 0x12d8 + int32_t movespeed; // 0x12dc + int32_t self_bonus; // 0x12e0 + bool m_bIsInRange; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad1215[0x3]; // 0x1215 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - int32_t radius; // 0x1218 - int32_t latch_distance; // 0x121c - float m_flHealthHealed; // 0x1220 - float m_flManaHealed; // 0x1224 - float tether_heal_amp; // 0x1228 - GameTime_t m_flHealMessageTime; // 0x122c - GameTime_t m_flManaMessageTime; // 0x1230 + int32_t radius; // 0x12e8 + int32_t latch_distance; // 0x12ec + float m_flHealthHealed; // 0x12f0 + float m_flManaHealed; // 0x12f4 + float tether_heal_amp; // 0x12f8 + GameTime_t m_flHealMessageTime; // 0x12fc + GameTime_t m_flManaMessageTime; // 0x1300 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether_Haste : public CDOTA_Buff { public: - int32_t movement_speed; // 0x11e8 - int32_t attack_speed; // 0x11ec - int32_t health_regen; // 0x11f0 - int32_t status_resist; // 0x11f4 + int32_t movement_speed; // 0x12b8 + int32_t attack_speed; // 0x12bc + int32_t health_regen; // 0x12c0 + int32_t status_resist; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Wildwing_Tornado_Blast_Debuff : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x11e8 - Vector m_vStartPos; // 0x11ec - float m_flCurTime; // 0x11f8 - float m_flHeightT; // 0x11fc + GameTime_t m_flStartTime; // 0x12b8 + Vector m_vStartPos; // 0x12bc + float m_flCurTime; // 0x12c8 + float m_flHeightT; // 0x12cc }; // Alignment: 3 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise : public CDOTA_Buff { public: - CountdownTimer m_RevealTimer; // 0x11e8 - CountdownTimer m_InvisAttackTimer; // 0x1200 - CountdownTimer m_CooldownTimer; // 0x1218 + CountdownTimer m_RevealTimer; // 0x12b8 + CountdownTimer m_InvisAttackTimer; // 0x12d0 + CountdownTimer m_CooldownTimer; // 0x12e8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Tree_Walking : public CDOTA_Buff { public: - int32_t movement_bonus; // 0x11e8 - int32_t regen_amp; // 0x11ec + int32_t movement_bonus; // 0x12b8 + int32_t regen_amp; // 0x12bc }; // Alignment: 0 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Invis : public CDOTA_Modifier_Invisible { public: @@ -86520,7 +87831,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_NearTreeDisplay : public CDOTA_Buff { public: @@ -86528,80 +87839,80 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Root : public CDOTA_Buff { public: - float m_iEntangleDamage; // 0x11e8 + float m_iEntangleDamage; // 0x12b8 }; // Alignment: 7 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_PoisonNova_Creature_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x11e8 - GameTime_t m_fLastThink; // 0x11ec - CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x11f0 - int32_t speed; // 0x1208 - int32_t radius; // 0x120c - int32_t start_radius; // 0x1210 - float duration; // 0x1214 + float m_fCurRadius; // 0x12b8 + GameTime_t m_fLastThink; // 0x12bc + CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x12c0 + int32_t speed; // 0x12d8 + int32_t radius; // 0x12dc + int32_t start_radius; // 0x12e0 + float duration; // 0x12e4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonNova : public CDOTA_Buff { public: - int32_t damage; // 0x11e8 + int32_t damage; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonSting_Applier : public CDOTA_Buff { public: - float duration; // 0x11e8 - int32_t damage; // 0x11ec + float duration; // 0x12b8 + int32_t damage; // 0x12bc }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Venomancer_PoisonSting : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x11e8 - int32_t movement_speed; // 0x11ec - int32_t m_nTicksRemaining; // 0x11f0 - float m_flAttackDamage; // 0x11f4 + int32_t m_iDamage; // 0x12b8 + int32_t movement_speed; // 0x12bc + int32_t m_nTicksRemaining; // 0x12c0 + float m_flAttackDamage; // 0x12c4 }; // Alignment: 7 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Firestorm_Thinker : public CDOTA_Buff { public: - int32_t wave_damage; // 0x11e8 - int32_t wave_count; // 0x11ec - int32_t radius; // 0x11f0 - int32_t summon_count; // 0x11f4 - float wave_interval; // 0x11f8 - float burn_duration; // 0x11fc - float first_wave_delay; // 0x1200 + int32_t wave_damage; // 0x12b8 + int32_t wave_count; // 0x12bc + int32_t radius; // 0x12c0 + int32_t summon_count; // 0x12c4 + float wave_interval; // 0x12c8 + float burn_duration; // 0x12cc + float first_wave_delay; // 0x12d0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Firestorm_Burn : public CDOTA_Buff { public: - float burn_damage; // 0x11e8 - float burn_interval; // 0x11ec + float burn_damage; // 0x12b8 + float burn_interval; // 0x12bc }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_Warp_Channel_Soundstop : public CDOTA_Buff { public: @@ -86609,68 +87920,68 @@ public: }; // Alignment: 11 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_Warp_Channel : public CDOTA_Buff { public: - ParticleIndex_t m_nfxTargetTp; // 0x11e8 - ParticleIndex_t m_nfxTargetTp2; // 0x11ec - ParticleIndex_t m_nfxAmbientFx; // 0x11f0 - ParticleIndex_t m_nfxPortal1; // 0x11f4 - ParticleIndex_t m_nfxPortal2; // 0x11f8 + ParticleIndex_t m_nfxTargetTp; // 0x12b8 + ParticleIndex_t m_nfxTargetTp2; // 0x12bc + ParticleIndex_t m_nfxAmbientFx; // 0x12c0 + ParticleIndex_t m_nfxPortal1; // 0x12c4 + ParticleIndex_t m_nfxPortal2; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11fc[0x8]; // 0x11fc + [[maybe_unused]] uint8_t __pad12cc[0x8]; // 0x12cc public: - CHandle< CBaseEntity > m_hPortal; // 0x1204 - Vector m_vStartPosition; // 0x1208 - float m_flTotalTime; // 0x1214 - float m_flElapsedTimePortion; // 0x1218 - float animation_rate; // 0x121c - int32_t stop_distance; // 0x1220 + CHandle< CBaseEntity > m_hPortal; // 0x12d4 + Vector m_vStartPosition; // 0x12d8 + float m_flTotalTime; // 0x12e4 + float m_flElapsedTimePortion; // 0x12e8 + float animation_rate; // 0x12ec + int32_t stop_distance; // 0x12f0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nPortalAmbientFX; // 0x11e8 + ParticleIndex_t m_nPortalAmbientFX; // 0x12b8 }; // Alignment: 16 -// Size: 0x5c0 +// Size: 0x5d0 class CDOTA_Ability_Aghsfort_Bonus_Pudge_MeatHook : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - Vector m_vProjectileLocation; // 0x568 - float hook_speed; // 0x574 - int32_t hook_width; // 0x578 - int32_t hook_distance; // 0x57c - bool m_bRetracting; // 0x580 - bool m_bDiedInHook; // 0x581 + Vector m_vProjectileLocation; // 0x578 + float hook_speed; // 0x584 + int32_t hook_width; // 0x588 + int32_t hook_distance; // 0x58c + bool m_bRetracting; // 0x590 + bool m_bDiedInHook; // 0x591 private: - [[maybe_unused]] uint8_t __pad0582[0x2]; // 0x582 + [[maybe_unused]] uint8_t __pad0592[0x2]; // 0x592 public: - CHandle< CBaseEntity > m_hVictim; // 0x584 - Vector m_vTargetPosition; // 0x588 - Vector m_vCasterPosition; // 0x594 - bool m_bChainDetached; // 0x5a0 + CHandle< CBaseEntity > m_hVictim; // 0x594 + Vector m_vTargetPosition; // 0x598 + Vector m_vCasterPosition; // 0x5a4 + bool m_bChainDetached; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 + [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 public: - ParticleIndex_t m_iChainParticle; // 0x5a4 - int32_t m_iHookParticle; // 0x5a8 - int32_t m_nManaCost; // 0x5ac - CHandle< CBaseEntity > m_hSourceCaster; // 0x5b0 - int32_t m_nNextConsecutiveHitCount; // 0x5b4 + ParticleIndex_t m_iChainParticle; // 0x5b4 + int32_t m_iHookParticle; // 0x5b8 + int32_t m_nManaCost; // 0x5bc + CHandle< CBaseEntity > m_hSourceCaster; // 0x5c0 + int32_t m_nNextConsecutiveHitCount; // 0x5c4 // MNetworkEnable - int32_t m_nConsecutiveHits; // 0x5b8 + int32_t m_nConsecutiveHits; // 0x5c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Aghsfort_Bonus_Pudge_Meat_Hook : public CDOTA_Buff { public: @@ -86678,7 +87989,7 @@ public: }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_AmoebaBoss_Summoned_Knockback : public CDOTA_Modifier_Knockback { public: @@ -86686,110 +87997,110 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Aghsfort_Modifier_Magnus_Push_Skewer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x11e8 + int32_t m_nProjectileID; // 0x12b8 }; // Alignment: 18 -// Size: 0x1278 +// Size: 0x1348 class CDOTA_Modifier_Aghsfort_Hoodwink_ArcingBoomerang : public CDOTA_Buff { public: - Vector m_vLeftControl; // 0x11e8 - Vector m_vRightControl; // 0x11f4 - Vector m_vTargetLoc; // 0x1200 - Vector m_vOriginalTargetLoc; // 0x120c - Vector m_vSourceLoc; // 0x1218 - float m_flDuration; // 0x1224 - GameTime_t m_flDieTime; // 0x1228 - bool m_bReturning; // 0x122c + Vector m_vLeftControl; // 0x12b8 + Vector m_vRightControl; // 0x12c4 + Vector m_vTargetLoc; // 0x12d0 + Vector m_vOriginalTargetLoc; // 0x12dc + Vector m_vSourceLoc; // 0x12e8 + float m_flDuration; // 0x12f4 + GameTime_t m_flDieTime; // 0x12f8 + bool m_bReturning; // 0x12fc private: - [[maybe_unused]] uint8_t __pad122d[0x3]; // 0x122d + [[maybe_unused]] uint8_t __pad12fd[0x3]; // 0x12fd public: - int32_t m_nFramesToWait; // 0x1230 - CHandle< CBaseEntity > m_hBoomerang; // 0x1234 - ParticleIndex_t m_nBoomerangFXIndex; // 0x1238 - ParticleIndex_t m_nOldBoomerangFXindex; // 0x123c - CUtlVector< CHandle< CBaseEntity > > m_vecUniqueHitList; // 0x1240 - int32_t radius; // 0x1258 - int32_t spread; // 0x125c - int32_t damage; // 0x1260 - float min_throw_duration; // 0x1264 - float max_throw_duration; // 0x1268 + int32_t m_nFramesToWait; // 0x1300 + CHandle< CBaseEntity > m_hBoomerang; // 0x1304 + ParticleIndex_t m_nBoomerangFXIndex; // 0x1308 + ParticleIndex_t m_nOldBoomerangFXindex; // 0x130c + CUtlVector< CHandle< CBaseEntity > > m_vecUniqueHitList; // 0x1310 + int32_t radius; // 0x1328 + int32_t spread; // 0x132c + int32_t damage; // 0x1330 + float min_throw_duration; // 0x1334 + float max_throw_duration; // 0x1338 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Pugna_Grandmaster_NetherWard : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float mana_multiplier; // 0x11ec - float mana_drained_per_attack; // 0x11f0 + int32_t radius; // 0x12b8 + float mana_multiplier; // 0x12bc + float mana_drained_per_attack; // 0x12c0 }; // Alignment: 23 -// Size: 0x1260 +// Size: 0x1330 class CDOTA_Modifier_AghsFort_AssaultCaptain_SunRay : public CDOTA_Buff { public: - int32_t hp_cost_perc_per_second; // 0x11e8 - int32_t beam_range; // 0x11ec - int32_t base_damage; // 0x11f0 - int32_t base_heal; // 0x11f4 - float tick_interval; // 0x11f8 - float forward_move_speed; // 0x11fc - float turn_rate_initial; // 0x1200 - float turn_rate; // 0x1204 - int32_t radius; // 0x1208 - int32_t self_turn_rate_percent; // 0x120c - float m_flCurrentTime; // 0x1210 - GameTime_t m_flLastDamageTime; // 0x1214 - float m_flAccumulatedSelfDamage; // 0x1218 - bool m_bMovingForward; // 0x121c - bool m_bTurningFast; // 0x121d + int32_t hp_cost_perc_per_second; // 0x12b8 + int32_t beam_range; // 0x12bc + int32_t base_damage; // 0x12c0 + int32_t base_heal; // 0x12c4 + float tick_interval; // 0x12c8 + float forward_move_speed; // 0x12cc + float turn_rate_initial; // 0x12d0 + float turn_rate; // 0x12d4 + int32_t radius; // 0x12d8 + int32_t self_turn_rate_percent; // 0x12dc + float m_flCurrentTime; // 0x12e0 + GameTime_t m_flLastDamageTime; // 0x12e4 + float m_flAccumulatedSelfDamage; // 0x12e8 + bool m_bMovingForward; // 0x12ec + bool m_bTurningFast; // 0x12ed private: - [[maybe_unused]] uint8_t __pad121e[0x2]; // 0x121e + [[maybe_unused]] uint8_t __pad12ee[0x2]; // 0x12ee public: - float m_flFacingTarget; // 0x1220 - float hp_perc_damage; // 0x1224 - float hp_perc_heal; // 0x1228 - ParticleIndex_t m_nBeamFXIndex; // 0x122c - CHandle< CBaseEntity > m_hVisionThinkers[8]; // 0x1230 - CHandle< CBaseEntity > m_hBeamEnd; // 0x1250 - bool m_bCreatedVisionThinkers; // 0x1254 + float m_flFacingTarget; // 0x12f0 + float hp_perc_damage; // 0x12f4 + float hp_perc_heal; // 0x12f8 + ParticleIndex_t m_nBeamFXIndex; // 0x12fc + CHandle< CBaseEntity > m_hVisionThinkers[8]; // 0x1300 + CHandle< CBaseEntity > m_hBeamEnd; // 0x1320 + bool m_bCreatedVisionThinkers; // 0x1324 private: - [[maybe_unused]] uint8_t __pad1255[0x3]; // 0x1255 + [[maybe_unused]] uint8_t __pad1325[0x3]; // 0x1325 public: - CHandle< CBaseEntity > m_hBeamEndSound; // 0x1258 + CHandle< CBaseEntity > m_hBeamEndSound; // 0x1328 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_BossWinterWyvern_Cold_Embrace_Thinker : public CDOTA_Buff { public: - int32_t freeze_radius; // 0x11e8 - int32_t freeze_damage; // 0x11ec - float freeze_debuff_duration; // 0x11f0 - float freeze_delay; // 0x11f4 - ParticleIndex_t m_nFXIndex; // 0x11f8 + int32_t freeze_radius; // 0x12b8 + int32_t freeze_damage; // 0x12bc + float freeze_debuff_duration; // 0x12c0 + float freeze_delay; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AghsFort_BossWinterWyvern_Cold_Embrace_Debuff : public CDOTA_Buff { public: - int32_t linger_movement_slow; // 0x11e8 - int32_t linger_damage; // 0x11ec + int32_t linger_movement_slow; // 0x12b8 + int32_t linger_damage; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Blessings_Debuff_Duration_Increase : public CDOTA_Buff { public: @@ -86797,51 +88108,51 @@ public: }; // Alignment: 4 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_TrapRoom_Hookshot : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - Vector m_vStartPosition; // 0x11ec + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + Vector m_vStartPosition; // 0x12bc private: - [[maybe_unused]] uint8_t __pad11f8[0x8]; // 0x11f8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - int32_t speed; // 0x1200 - float duration; // 0x1204 + int32_t speed; // 0x12d0 + float duration; // 0x12d4 }; // Alignment: 15 -// Size: 0x5b8 +// Size: 0x5c8 class CDOTA_Ability_AghsFort_TrapRoom_MeatHook : public CDOTABaseAbility { private: - [[maybe_unused]] uint8_t __pad0558[0x10]; // 0x558 + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 public: - Vector m_vProjectileLocation; // 0x568 - float hook_speed; // 0x574 - int32_t hook_width; // 0x578 - int32_t hook_distance; // 0x57c - bool m_bRetracting; // 0x580 - bool m_bDiedInHook; // 0x581 + Vector m_vProjectileLocation; // 0x578 + float hook_speed; // 0x584 + int32_t hook_width; // 0x588 + int32_t hook_distance; // 0x58c + bool m_bRetracting; // 0x590 + bool m_bDiedInHook; // 0x591 private: - [[maybe_unused]] uint8_t __pad0582[0x2]; // 0x582 + [[maybe_unused]] uint8_t __pad0592[0x2]; // 0x592 public: - CHandle< CBaseEntity > m_hVictim; // 0x584 - Vector m_vTargetPosition; // 0x588 - Vector m_vCasterPosition; // 0x594 - bool m_bChainDetached; // 0x5a0 + CHandle< CBaseEntity > m_hVictim; // 0x594 + Vector m_vTargetPosition; // 0x598 + Vector m_vCasterPosition; // 0x5a4 + bool m_bChainDetached; // 0x5b0 private: - [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 + [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 public: - ParticleIndex_t m_iChainParticle; // 0x5a4 - int32_t m_iHookParticle; // 0x5a8 - int32_t m_nManaCost; // 0x5ac - CHandle< CBaseEntity > m_hSourceCaster; // 0x5b0 - int32_t m_nNextConsecutiveHitCount; // 0x5b4 + ParticleIndex_t m_iChainParticle; // 0x5b4 + int32_t m_iHookParticle; // 0x5b8 + int32_t m_nManaCost; // 0x5bc + CHandle< CBaseEntity > m_hSourceCaster; // 0x5c0 + int32_t m_nNextConsecutiveHitCount; // 0x5c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_TrapRoom_MeatHook_PathingFix : public CDOTA_Buff { public: @@ -86849,7 +88160,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_TrapRoom_MeatHook : public CDOTA_Buff { public: @@ -86857,7 +88168,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Effigy_AghsFort : public CDOTA_Buff { public: @@ -86865,7 +88176,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_AghsFort_Watch_Tower_Capturing : public CDOTA_Buff { public: @@ -86873,115 +88184,115 @@ public: }; // Alignment: 15 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_AghsFort_Watch_Tower : public CDOTA_Buff { public: - TowerState_t m_nState; // 0x11e8 - float m_flYaw; // 0x11ec - int32_t m_nCaptureDuration; // 0x11f0 - GameTime_t m_flEffectiveCaptureStartTime; // 0x11f4 - int32_t m_nCapturingPlayerCount; // 0x11f8 - float m_flCaptureProgress; // 0x11fc - int32_t m_iCapturingTeam; // 0x1200 - ParticleIndex_t m_nFxOutpostAmbient; // 0x1204 - GameTime_t m_flDestroyTime; // 0x1208 - GameTime_t m_flAutoChannelCompleteTime; // 0x120c - bool m_bAscensionLevelPicker; // 0x1210 + TowerState_t m_nState; // 0x12b8 + float m_flYaw; // 0x12bc + int32_t m_nCaptureDuration; // 0x12c0 + GameTime_t m_flEffectiveCaptureStartTime; // 0x12c4 + int32_t m_nCapturingPlayerCount; // 0x12c8 + float m_flCaptureProgress; // 0x12cc + int32_t m_iCapturingTeam; // 0x12d0 + ParticleIndex_t m_nFxOutpostAmbient; // 0x12d4 + GameTime_t m_flDestroyTime; // 0x12d8 + GameTime_t m_flAutoChannelCompleteTime; // 0x12dc + bool m_bAscensionLevelPicker; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t m_nEliteChallengeLevel; // 0x1214 - CUtlString m_strNextRoomName; // 0x1218 - CUtlString m_strNextEncounterName; // 0x1220 - bool m_bStartedBeamFacing; // 0x1228 + int32_t m_nEliteChallengeLevel; // 0x12e4 + CUtlString m_strNextRoomName; // 0x12e8 + CUtlString m_strNextEncounterName; // 0x12f0 + bool m_bStartedBeamFacing; // 0x12f8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x11e8 - float think_interval; // 0x11ec - float acknowledged_cooldown; // 0x11f0 - bool m_bAcknowledged; // 0x11f4 - bool m_bFirstThink; // 0x11f5 + int32_t acknowledge_range; // 0x12b8 + float think_interval; // 0x12bc + float acknowledged_cooldown; // 0x12c0 + bool m_bAcknowledged; // 0x12c4 + bool m_bFirstThink; // 0x12c5 private: - [[maybe_unused]] uint8_t __pad11f6[0x2]; // 0x11f6 + [[maybe_unused]] uint8_t __pad12c6[0x2]; // 0x12c6 public: - int32_t high_five_level; // 0x11f8 + int32_t high_five_level; // 0x12c8 }; // Alignment: 2 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Jungle_Spirit : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > hCasterList; // 0x11e8 - bool bAcceptingGems; // 0x1200 + CUtlVector< CHandle< CBaseEntity > > hCasterList; // 0x12b8 + bool bAcceptingGems; // 0x12d0 }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Spirit_Gem : public CDOTA_Buff { public: - float m_flOriginalModelScale; // 0x11e8 - int32_t m_nHealthBarOffsetOverride; // 0x11ec - ParticleIndex_t m_nFXStackIndex; // 0x11f0 - float m_fScaleGainPerGem; // 0x11f4 - int32_t m_nLevel; // 0x11f8 + float m_flOriginalModelScale; // 0x12b8 + int32_t m_nHealthBarOffsetOverride; // 0x12bc + ParticleIndex_t m_nFXStackIndex; // 0x12c0 + float m_fScaleGainPerGem; // 0x12c4 + int32_t m_nLevel; // 0x12c8 }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Jungle_Spirit_Reductions : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_vecAlliesNearby; // 0x11e8 - int32_t m_nAlliesNearby; // 0x1200 - int32_t stat_reduction_pct; // 0x1204 - int32_t armor_reduction; // 0x1208 - int32_t radius; // 0x120c + CUtlVector< CHandle< CBaseEntity > > m_vecAlliesNearby; // 0x12b8 + int32_t m_nAlliesNearby; // 0x12d0 + int32_t stat_reduction_pct; // 0x12d4 + int32_t armor_reduction; // 0x12d8 + int32_t radius; // 0x12dc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Jungle_Spirit_Ally_Alert : public CDOTA_Buff { public: - GameTime_t m_flLastHowl; // 0x11e8 + GameTime_t m_flLastHowl; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation_Effect : public CDOTA_Buff { public: - int32_t distance_from_shrine; // 0x11e8 + int32_t distance_from_shrine; // 0x12b8 }; // Alignment: 3 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation_Regen : public CDOTA_Buff { public: - int32_t health_restore; // 0x11e8 - int32_t mana_restore; // 0x11ec - float regen_interval; // 0x11f0 + int32_t health_restore; // 0x12b8 + int32_t mana_restore; // 0x12bc + float regen_interval; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_JungleSpirit_BaseAttackRangeIncrease : public CDOTA_Buff { public: @@ -86989,27 +88300,27 @@ public: }; // Alignment: 10 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Morokai_JungleHealBeam : public CDOTA_Buff { public: - int32_t beam_count; // 0x11e8 - int32_t beam_range; // 0x11ec - int32_t beam_radius; // 0x11f0 - int32_t beam_buffer; // 0x11f4 - int32_t turn_rate; // 0x11f8 - int32_t hp_per_second; // 0x11fc - GameTime_t m_flLastThinkTime; // 0x1200 + int32_t beam_count; // 0x12b8 + int32_t beam_range; // 0x12bc + int32_t beam_radius; // 0x12c0 + int32_t beam_buffer; // 0x12c4 + int32_t turn_rate; // 0x12c8 + int32_t hp_per_second; // 0x12cc + GameTime_t m_flLastThinkTime; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1204[0x1c]; // 0x1204 + [[maybe_unused]] uint8_t __pad12d4[0x1c]; // 0x12d4 public: - CUtlVector< CHandle< CBaseEntity > > m_vecTargetedEntities; // 0x1220 - float flLastTreeDestroyed; // 0x1238 - float flTreeDestructionCooldown; // 0x123c + CUtlVector< CHandle< CBaseEntity > > m_vecTargetedEntities; // 0x12f0 + float flLastTreeDestroyed; // 0x1308 + float flTreeDestructionCooldown; // 0x130c }; // Alignment: 0 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Ability_JungleSpirit_Volcano_Eruption_Knockback : public CDOTA_Modifier_Knockback { public: @@ -87017,51 +88328,51 @@ public: }; // Alignment: 12 -// Size: 0x1278 +// Size: 0x1348 class CDOTA_Modifier_JungleSpirit_Storm_Cyclone : public CDOTA_Buff { public: - CUtlVector< ParticleIndex_t > m_FXIndex; // 0x11e8 - CUtlVector< CHandle< CBaseEntity > > m_hCyclones; // 0x1200 - int32_t projectile_distance; // 0x1218 - int32_t projectile_radius; // 0x121c - int32_t projectile_amount; // 0x1220 - float projectile_duration; // 0x1224 - float delay; // 0x1228 - GameTime_t m_flDieTime; // 0x122c - GameTime_t m_flStartTime; // 0x1230 + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x12b8 + CUtlVector< CHandle< CBaseEntity > > m_hCyclones; // 0x12d0 + int32_t projectile_distance; // 0x12e8 + int32_t projectile_radius; // 0x12ec + int32_t projectile_amount; // 0x12f0 + float projectile_duration; // 0x12f4 + float delay; // 0x12f8 + GameTime_t m_flDieTime; // 0x12fc + GameTime_t m_flStartTime; // 0x1300 private: - [[maybe_unused]] uint8_t __pad1234[0x4]; // 0x1234 + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 public: - CUtlVector< Vector > m_vLeftControl; // 0x1238 - CUtlVector< Vector > m_vSourceLoc; // 0x1250 - Vector m_vTargetLoc; // 0x1268 + CUtlVector< Vector > m_vLeftControl; // 0x1308 + CUtlVector< Vector > m_vSourceLoc; // 0x1320 + Vector m_vTargetLoc; // 0x1338 }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Jungle_Spirit_Storm_Cyclone_Debuff : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x11e8 - Vector m_vStartPos; // 0x11ec - float m_flCurTime; // 0x11f8 - float m_flHeightT; // 0x11fc - int32_t cyclone_damage; // 0x1200 + GameTime_t m_flStartTime; // 0x12b8 + Vector m_vStartPos; // 0x12bc + float m_flCurTime; // 0x12c8 + float m_flHeightT; // 0x12cc + int32_t cyclone_damage; // 0x12d0 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Jungle_Spirit_Storm_Cyclone_Invulnerable : public CDOTA_Buff { public: - ParticleIndex_t nFXIndex; // 0x11e8 - int32_t projectile_radius; // 0x11ec - int32_t projectile_destruction_radius; // 0x11f0 + ParticleIndex_t nFXIndex; // 0x12b8 + int32_t projectile_radius; // 0x12bc + int32_t projectile_destruction_radius; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Jungle_Spirit_Storm_Multicast : public CDOTA_Buff { public: @@ -87069,7 +88380,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Jungle_Spirit_Storm_Multicast_Cooldown : public CDOTA_Buff { public: @@ -87077,7 +88388,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Jungle_Spirit_Jungle_Lumber_Lock : public CDOTA_Buff { public: @@ -87085,7 +88396,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Jungle_Spirit_Jungle_Lumber_Lock_Immunity : public CDOTA_Buff { public: @@ -87093,7 +88404,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Jungle_Spirit_Volcano_Fire_Strike : public CDOTA_Buff { public: @@ -87101,58 +88412,58 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Jungle_Spirit_Volcano_Fire_Strike_Caster : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x11e8 + int32_t damage_modifier; // 0x12b8 }; // Alignment: 4 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Jungle_Spirit_Range_Attack : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t projectile_speed; // 0x11ec - float turn_rate; // 0x11f0 - CHandle< CBaseEntity > m_hAttachTarget; // 0x11f4 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t projectile_speed; // 0x12bc + float turn_rate; // 0x12c0 + CHandle< CBaseEntity > m_hAttachTarget; // 0x12c4 }; // Alignment: 16 -// Size: 0x1250 +// Size: 0x1320 class CDOTA_Modifier_Seasonal_TI10_Portal : public CDOTA_Buff { public: - ParticleIndex_t m_nPhaseStartFXIndex; // 0x11e8 - Vector m_vSpawnPos; // 0x11ec - CUtlVector< Vector > m_vecEmissions; // 0x11f8 - bool m_bChatSent; // 0x1210 + ParticleIndex_t m_nPhaseStartFXIndex; // 0x12b8 + Vector m_vSpawnPos; // 0x12bc + CUtlVector< Vector > m_vecEmissions; // 0x12c8 + bool m_bChatSent; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t m_nPhase; // 0x1214 - int32_t m_nNumEmitted; // 0x1218 - int32_t m_nNumDrops; // 0x121c - GameTime_t m_flStartTime; // 0x1220 - GameTime_t m_flLastEmitTime; // 0x1224 - bool m_bIsOnRadiant; // 0x1228 - bool m_bUseLargeEmit; // 0x1229 + int32_t m_nPhase; // 0x12e4 + int32_t m_nNumEmitted; // 0x12e8 + int32_t m_nNumDrops; // 0x12ec + GameTime_t m_flStartTime; // 0x12f0 + GameTime_t m_flLastEmitTime; // 0x12f4 + bool m_bIsOnRadiant; // 0x12f8 + bool m_bUseLargeEmit; // 0x12f9 private: - [[maybe_unused]] uint8_t __pad122a[0x2]; // 0x122a + [[maybe_unused]] uint8_t __pad12fa[0x2]; // 0x12fa public: - int32_t m_nOutcome; // 0x122c + int32_t m_nOutcome; // 0x12fc private: - [[maybe_unused]] uint8_t __pad1230[0x10]; // 0x1230 + [[maybe_unused]] uint8_t __pad1300[0x10]; // 0x1300 public: - int32_t PHASE_OPEN; // 0x1240 - int32_t PHASE_EMIT; // 0x1244 - int32_t PHASE_EMIT_DONE; // 0x1248 - int32_t PHASE_CLOSE; // 0x124c + int32_t PHASE_OPEN; // 0x1310 + int32_t PHASE_EMIT; // 0x1314 + int32_t PHASE_EMIT_DONE; // 0x1318 + int32_t PHASE_CLOSE; // 0x131c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Seasonal_TI10_DiscoBall : public CDOTA_Buff { public: @@ -87160,76 +88471,76 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Seasonal_TI10_DiscoBall_Channeling : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t m_nGesture; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t m_nGesture; // 0x12bc }; // Alignment: 39 -// Size: 0x12b0 +// Size: 0x1380 class CDOTA_Modifier_Seasonal_TI10_SoccerBall : public CDOTA_Buff { public: - Vector m_vPost1; // 0x11e8 - Vector m_vPost2; // 0x11f4 - Vector m_vPostForward; // 0x1200 - ParticleIndex_t m_nPost1FXIndex; // 0x120c - ParticleIndex_t m_nPost2FXIndex; // 0x1210 - ParticleIndex_t m_nPost3FXIndex; // 0x1214 - int32_t PHASE_START; // 0x1218 - int32_t PHASE_GESTURE; // 0x121c - int32_t PHASE_FX; // 0x1220 - int32_t PHASE_MOTION; // 0x1224 - int32_t PHASE_IMPACT; // 0x1228 - int32_t PHASE_FAIL; // 0x122c - int32_t PHASE_CROSSED_GOAL; // 0x1230 - int32_t PHASE_GOAL; // 0x1234 - float tick_interval; // 0x1238 - float forward_move_speed; // 0x123c - float magnus_coefficient; // 0x1240 - float magnus_falloff; // 0x1244 - float drag_coefficient; // 0x1248 - float min_delay; // 0x124c - float max_delay; // 0x1250 - int32_t hit_radius; // 0x1254 - ParticleIndex_t m_nFXIndex; // 0x1258 - Vector m_vVelocity; // 0x125c - Vector m_vSpawnPos; // 0x1268 - Vector m_vTargetPos; // 0x1274 - int32_t m_nPhase; // 0x1280 - int32_t m_nHits; // 0x1284 - float m_flMagnusValue; // 0x1288 - GameTime_t m_flStartTime; // 0x128c - float m_flDelay; // 0x1290 - GameTime_t m_flStateChangeTime; // 0x1294 - bool m_bFirstThink; // 0x1298 - bool m_bGroundHit; // 0x1299 + Vector m_vPost1; // 0x12b8 + Vector m_vPost2; // 0x12c4 + Vector m_vPostForward; // 0x12d0 + ParticleIndex_t m_nPost1FXIndex; // 0x12dc + ParticleIndex_t m_nPost2FXIndex; // 0x12e0 + ParticleIndex_t m_nPost3FXIndex; // 0x12e4 + int32_t PHASE_START; // 0x12e8 + int32_t PHASE_GESTURE; // 0x12ec + int32_t PHASE_FX; // 0x12f0 + int32_t PHASE_MOTION; // 0x12f4 + int32_t PHASE_IMPACT; // 0x12f8 + int32_t PHASE_FAIL; // 0x12fc + int32_t PHASE_CROSSED_GOAL; // 0x1300 + int32_t PHASE_GOAL; // 0x1304 + float tick_interval; // 0x1308 + float forward_move_speed; // 0x130c + float magnus_coefficient; // 0x1310 + float magnus_falloff; // 0x1314 + float drag_coefficient; // 0x1318 + float min_delay; // 0x131c + float max_delay; // 0x1320 + int32_t hit_radius; // 0x1324 + ParticleIndex_t m_nFXIndex; // 0x1328 + Vector m_vVelocity; // 0x132c + Vector m_vSpawnPos; // 0x1338 + Vector m_vTargetPos; // 0x1344 + int32_t m_nPhase; // 0x1350 + int32_t m_nHits; // 0x1354 + float m_flMagnusValue; // 0x1358 + GameTime_t m_flStartTime; // 0x135c + float m_flDelay; // 0x1360 + GameTime_t m_flStateChangeTime; // 0x1364 + bool m_bFirstThink; // 0x1368 + bool m_bGroundHit; // 0x1369 private: - [[maybe_unused]] uint8_t __pad129a[0x2]; // 0x129a + [[maybe_unused]] uint8_t __pad136a[0x2]; // 0x136a public: - PlayerID_t m_nTargetPlayerID; // 0x129c - float m_flCurTime; // 0x12a0 - float m_flStartZ; // 0x12a4 - float m_flAirTime; // 0x12a8 - float m_flHeight; // 0x12ac + PlayerID_t m_nTargetPlayerID; // 0x136c + float m_flCurTime; // 0x1370 + float m_flStartZ; // 0x1374 + float m_flAirTime; // 0x1378 + float m_flHeight; // 0x137c }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_TI10_HotPotato : public CDOTA_Buff { public: - float debuff_duration; // 0x11e8 - float time_to_explode; // 0x11ec - float throw_time; // 0x11f0 - GameTime_t m_fLastThink; // 0x11f4 + float debuff_duration; // 0x12b8 + float time_to_explode; // 0x12bc + float throw_time; // 0x12c0 + GameTime_t m_fLastThink; // 0x12c4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Seasonal_TI10_HotPotato_InboundPotato : public CDOTA_Buff { public: @@ -87237,7 +88548,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Seasonal_TI10_HotPotato_Debuff : public CDOTA_Buff { public: @@ -87245,130 +88556,130 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_TI10_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x11e8 - float think_interval; // 0x11ec - float acknowledged_cooldown; // 0x11f0 - bool m_bAcknowledged; // 0x11f4 - bool m_bFirstThink; // 0x11f5 + int32_t acknowledge_range; // 0x12b8 + float think_interval; // 0x12bc + float acknowledged_cooldown; // 0x12c0 + bool m_bAcknowledged; // 0x12c4 + bool m_bFirstThink; // 0x12c5 private: - [[maybe_unused]] uint8_t __pad11f6[0x2]; // 0x11f6 + [[maybe_unused]] uint8_t __pad12c6[0x2]; // 0x12c6 public: - int32_t high_five_level; // 0x11f8 + int32_t high_five_level; // 0x12c8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_TI11_RockPaperScissors_Playing : public CDOTA_Buff { public: - float input_duration; // 0x11e8 - float think_interval; // 0x11ec - bool m_bChoseOption; // 0x11f0 + float input_duration; // 0x12b8 + float think_interval; // 0x12bc + bool m_bChoseOption; // 0x12c0 }; // Alignment: 9 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Seasonal_TI11_RockPaperScissors : public CDOTA_Buff { public: - float challenge_duration; // 0x11e8 - float reveal_duration; // 0x11ec - float reveal_delay; // 0x11f0 - float completed_cooldown; // 0x11f4 - float think_interval; // 0x11f8 - float acknowledge_range; // 0x11fc + float challenge_duration; // 0x12b8 + float reveal_duration; // 0x12bc + float reveal_delay; // 0x12c0 + float completed_cooldown; // 0x12c4 + float think_interval; // 0x12c8 + float acknowledge_range; // 0x12cc private: - [[maybe_unused]] uint8_t __pad1200[0x4]; // 0x1200 + [[maybe_unused]] uint8_t __pad12d0[0x4]; // 0x12d0 public: - GameTime_t m_flRevealTime; // 0x1204 - bool m_bFirstThink; // 0x1208 + GameTime_t m_flRevealTime; // 0x12d4 + bool m_bFirstThink; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - PlayerID_t m_nRevealOpponentPlayerID; // 0x120c + PlayerID_t m_nRevealOpponentPlayerID; // 0x12dc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_TI11_BubbleGun : public CDOTA_Buff { public: - float think_interval; // 0x11e8 - int32_t max_charges; // 0x11ec - int32_t m_nChargesUsed; // 0x11f0 + float think_interval; // 0x12b8 + int32_t max_charges; // 0x12bc + int32_t m_nChargesUsed; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Seasonal_Summon_TI11_Balloon_Visuals : public CDOTA_Buff { public: - float model_scale_per_stack; // 0x11e8 - bool m_bIsRadiant; // 0x11ec + float model_scale_per_stack; // 0x12b8 + bool m_bIsRadiant; // 0x12bc }; // Alignment: 19 -// Size: 0x1248 +// Size: 0x1318 class CDOTA_Modifier_Seasonal_Summon_TI11_Balloon_Thinker : public CDOTA_Buff { public: - float speed; // 0x11e8 - int32_t min_distance_before_bounce; // 0x11ec - float drag; // 0x11f0 - float max_height; // 0x11f4 - float max_vertical_move_time; // 0x11f8 - float bounce_turn_angle; // 0x11fc - float bounce_turn_angle_tree; // 0x1200 - float bounce_delay; // 0x1204 - int32_t max_bounces; // 0x1208 - float max_model_scale; // 0x120c - float power_growth_exponent; // 0x1210 - Vector m_vLastPos; // 0x1214 - Vector m_vDir; // 0x1220 - float m_flSpeed; // 0x122c - float m_flDistRemaining; // 0x1230 - float m_flTreeTimeRemaining; // 0x1234 - int32_t m_nTimesBounced; // 0x1238 - float m_flModelScale; // 0x123c - CHandle< CBaseEntity > m_hLastHit; // 0x1240 + float speed; // 0x12b8 + int32_t min_distance_before_bounce; // 0x12bc + float drag; // 0x12c0 + float max_height; // 0x12c4 + float max_vertical_move_time; // 0x12c8 + float bounce_turn_angle; // 0x12cc + float bounce_turn_angle_tree; // 0x12d0 + float bounce_delay; // 0x12d4 + int32_t max_bounces; // 0x12d8 + float max_model_scale; // 0x12dc + float power_growth_exponent; // 0x12e0 + Vector m_vLastPos; // 0x12e4 + Vector m_vDir; // 0x12f0 + float m_flSpeed; // 0x12fc + float m_flDistRemaining; // 0x1300 + float m_flTreeTimeRemaining; // 0x1304 + int32_t m_nTimesBounced; // 0x1308 + float m_flModelScale; // 0x130c + CHandle< CBaseEntity > m_hLastHit; // 0x1310 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Seasonal_TI11_DuelAccepted : public CDOTA_Buff { public: - PlayerID_t m_nDuelOpponent; // 0x11e8 + PlayerID_t m_nDuelOpponent; // 0x12b8 }; // Alignment: 9 -// Size: 0x1258 +// Size: 0x1328 class CDOTA_Modifier_Seasonal_TI11_CongaLine : public CDOTA_Buff { public: - int32_t NUM_SOUNDS; // 0x11e8 - float dance_interval; // 0x11ec - float gesture_duration; // 0x11f0 - float catch_up_distance; // 0x11f4 - float slow_duration; // 0x11f8 - float slow_amount; // 0x11fc - int32_t m_nGesture; // 0x1200 + int32_t NUM_SOUNDS; // 0x12b8 + float dance_interval; // 0x12bc + float gesture_duration; // 0x12c0 + float catch_up_distance; // 0x12c4 + float slow_duration; // 0x12c8 + float slow_amount; // 0x12cc + int32_t m_nGesture; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< CDOTA_BaseNPC > > m_vecDancers; // 0x1208 + CUtlVector< CHandle< CDOTA_BaseNPC > > m_vecDancers; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad1220[0x30]; // 0x1220 + [[maybe_unused]] uint8_t __pad12f0[0x30]; // 0x12f0 public: - bool m_bIsGesturing; // 0x1250 + bool m_bIsGesturing; // 0x1320 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Seasonal_TI11_CongaLineDancer : public CDOTA_Buff { public: @@ -87376,15 +88687,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Seasonal_TI11_CongaLineSlow : public CDOTA_Buff { public: - float m_flMaxSpeed; // 0x11e8 + float m_flMaxSpeed; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Diretide_Portal_Channeling : public CDOTA_Buff { public: @@ -87392,31 +88703,31 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Diretide_Portal_Buff : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hInvader; // 0x11e8 + CHandle< CBaseEntity > m_hInvader; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_Diretide2020_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x11e8 - float think_interval; // 0x11ec - float acknowledged_cooldown; // 0x11f0 - bool m_bAcknowledged; // 0x11f4 - bool m_bFirstThink; // 0x11f5 + int32_t acknowledge_range; // 0x12b8 + float think_interval; // 0x12bc + float acknowledged_cooldown; // 0x12c0 + bool m_bAcknowledged; // 0x12c4 + bool m_bFirstThink; // 0x12c5 private: - [[maybe_unused]] uint8_t __pad11f6[0x2]; // 0x11f6 + [[maybe_unused]] uint8_t __pad12c6[0x2]; // 0x12c6 public: - int32_t high_five_level; // 0x11f8 + int32_t high_five_level; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Spring2021_BombHolder : public CDOTA_Buff_Item { public: @@ -87424,7 +88735,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Spring2021_BombPlantable : public CDOTA_Buff { public: @@ -87432,41 +88743,41 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Spring2021_DefusalBomb : public CDOTA_Buff { public: - float BOMB_DURATION; // 0x11e8 - float BOMB_FAST_TICK_START; // 0x11ec - float BOMB_DEFAULT_TICK; // 0x11f0 + float BOMB_DURATION; // 0x12b8 + float BOMB_FAST_TICK_START; // 0x12bc + float BOMB_DEFAULT_TICK; // 0x12c0 }; // Alignment: 11 -// Size: 0x1240 +// Size: 0x1310 class CDOTA_Modifier_Spring2021_TowerDeathRing_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x11e8 - float m_fCurRadius; // 0x11ec - GameTime_t m_fLastThink; // 0x11f0 - bool m_bWindingUp; // 0x11f4 + float m_fLastRadius; // 0x12b8 + float m_fCurRadius; // 0x12bc + GameTime_t m_fLastThink; // 0x12c0 + bool m_bWindingUp; // 0x12c4 private: - [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 + [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 public: - CountdownTimer m_ViewerTimer; // 0x11f8 - ParticleIndex_t m_nFXIndex; // 0x1210 + CountdownTimer m_ViewerTimer; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x1218 - int32_t speed; // 0x1230 - int32_t radius; // 0x1234 - int32_t damage; // 0x1238 - float windup_time; // 0x123c + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12e8 + int32_t speed; // 0x1300 + int32_t radius; // 0x1304 + int32_t damage; // 0x1308 + float windup_time; // 0x130c }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Winter2022_EnableFeedableRoshanInteract : public CDOTA_Buff { public: @@ -87474,50 +88785,50 @@ public: }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Plus_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x11e8 - float think_interval; // 0x11ec - float acknowledged_cooldown; // 0x11f0 - bool m_bAcknowledged; // 0x11f4 - bool m_bFirstThink; // 0x11f5 + int32_t acknowledge_range; // 0x12b8 + float think_interval; // 0x12bc + float acknowledged_cooldown; // 0x12c0 + bool m_bAcknowledged; // 0x12c4 + bool m_bFirstThink; // 0x12c5 private: - [[maybe_unused]] uint8_t __pad11f6[0x2]; // 0x11f6 + [[maybe_unused]] uint8_t __pad12c6[0x2]; // 0x12c6 public: - int32_t high_five_level; // 0x11f8 + int32_t high_five_level; // 0x12c8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_MuertasGun : public CDOTA_Buff_Item { public: - ParticleIndex_t m_nFXIndex; // 0x11e8 - int32_t bonus_cast_pct; // 0x11ec - int32_t bonus_spell_amp; // 0x11f0 - int32_t health_pct_penalty; // 0x11f4 + ParticleIndex_t m_nFXIndex; // 0x12b8 + int32_t bonus_cast_pct; // 0x12bc + int32_t bonus_spell_amp; // 0x12c0 + int32_t health_pct_penalty; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Muertas_Gun_Slow : public CDOTA_Buff { public: - int32_t impact_slow_percent; // 0x11e8 + int32_t impact_slow_percent; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Muertas_Gun_Fear : public CDOTA_Buff { public: - Vector m_vFearDir; // 0x11e8 + Vector m_vFearDir; // 0x12b8 }; // Alignment: 0 -// Size: 0x498 +// Size: 0x4a8 class CInfoOfrendaStatueSpawn : public CPointEntity { public: @@ -87525,44 +88836,58 @@ public: }; // Alignment: 0 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Ofrenda_Pledge : public CDOTA_Buff { public: // No members available }; +// Alignment: 4 +// Size: 0x12d0 +class CDOTA_Modifier_Seasonal_10thAnniversary_PartyHat : public CDOTA_Buff +{ +public: + int32_t controlled_unit_search_radius; // 0x12b8 + bool child_modifier; // 0x12bc +private: + [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd +public: + CUtlString m_strEffectName; // 0x12c0 + ParticleIndex_t m_nHatFXIndex; // 0x12c8 +}; + // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Item_AghsFort_Bloodstone_Active : public CDOTA_Buff { public: - int32_t mana_cost_percentage; // 0x11e8 - float restore_duration; // 0x11ec - float m_flDrainAmount; // 0x11f0 + int32_t mana_cost_percentage; // 0x12b8 + float restore_duration; // 0x12bc + float m_flDrainAmount; // 0x12c0 }; // Alignment: 12 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Item_AghsFort_Bloodstone : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x11e8 - int32_t bonus_mana; // 0x11ec - int32_t mana_regen_multiplier; // 0x11f0 - float regen_per_charge; // 0x11f4 - float amp_per_charge; // 0x11f8 - int32_t death_charges; // 0x11fc - int32_t kill_charges; // 0x1200 - float hero_lifesteal; // 0x1204 - float creep_lifesteal; // 0x1208 - int32_t bonus_intellect; // 0x120c - int32_t spell_amp; // 0x1210 - int32_t spell_lifesteal_amp; // 0x1214 + int32_t bonus_health; // 0x12b8 + int32_t bonus_mana; // 0x12bc + int32_t mana_regen_multiplier; // 0x12c0 + float regen_per_charge; // 0x12c4 + float amp_per_charge; // 0x12c8 + int32_t death_charges; // 0x12cc + int32_t kill_charges; // 0x12d0 + float hero_lifesteal; // 0x12d4 + float creep_lifesteal; // 0x12d8 + int32_t bonus_intellect; // 0x12dc + int32_t spell_amp; // 0x12e0 + int32_t spell_lifesteal_amp; // 0x12e4 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Item_AghsFort_Bloodstone_GainableCharges : public CDOTA_Buff { public: @@ -87570,7 +88895,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Diabled_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -87578,7 +88903,7 @@ public: }; // Alignment: 0 -// Size: 0x8f0 +// Size: 0x900 class CDOTA_BossAttackableTrigger : public CBaseTrigger { public: @@ -87586,195 +88911,195 @@ public: }; // Alignment: 3 -// Size: 0x4f0 +// Size: 0x500 class CInfoPlayerStartDota : public CPointEntity { public: // MNetworkEnable - bool m_bDisabled; // 0x498 + bool m_bDisabled; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad0499[0x7]; // 0x499 + [[maybe_unused]] uint8_t __pad04a9[0x7]; // 0x4a9 public: - CEntityIOOutput m_OnEnabled; // 0x4a0 - CEntityIOOutput m_OnDisabled; // 0x4c8 + CEntityIOOutput m_OnEnabled; // 0x4b0 + CEntityIOOutput m_OnDisabled; // 0x4d8 }; // Alignment: 1 -// Size: 0x760 +// Size: 0x770 class CDOTA_Pet_CarriedItem : public CBaseAnimatingActivity { public: - CHandle< CDOTA_BaseNPC_Hero > m_hHeroHandle; // 0x758 + CHandle< CDOTA_BaseNPC_Hero > m_hHeroHandle; // 0x768 }; // Alignment: 2 -// Size: 0x920 +// Size: 0x930 class CDOTA_ShopTrigger : public CBaseTrigger { public: - int32_t m_ShopType; // 0x8f0 + int32_t m_ShopType; // 0x900 private: - [[maybe_unused]] uint8_t __pad08f4[0x4]; // 0x8f4 + [[maybe_unused]] uint8_t __pad0904[0x4]; // 0x904 public: - CEntityIOOutput m_OnTrigger; // 0x8f8 + CEntityIOOutput m_OnTrigger; // 0x908 }; // Alignment: 15 -// Size: 0x518 +// Size: 0x528 class CDOTA_NPCSpawner : public CPointEntity { public: - CUtlSymbolLarge m_szNPCScriptName; // 0x498 - CUtlSymbolLarge m_szNPCName; // 0x4a0 - CUtlSymbolLarge m_szNPCFirstWaypoint; // 0x4a8 - CountdownTimer m_SpawnTimer; // 0x4b0 - CountdownTimer m_IntervalTimer; // 0x4c8 - int32_t m_iTeam; // 0x4e0 - int32_t m_iUpgradeMelee; // 0x4e4 - int32_t m_iUpgradeRange; // 0x4e8 - int32_t m_iMeleeCount; // 0x4ec - int32_t m_iSiegeCount; // 0x4f0 - int32_t m_iRangeCount; // 0x4f4 - int32_t m_iWaves; // 0x4f8 - bool m_bFirstWave; // 0x4fc - bool m_bShouldSpawnStrongCreep; // 0x4fd + CUtlSymbolLarge m_szNPCScriptName; // 0x4a8 + CUtlSymbolLarge m_szNPCName; // 0x4b0 + CUtlSymbolLarge m_szNPCFirstWaypoint; // 0x4b8 + CountdownTimer m_SpawnTimer; // 0x4c0 + CountdownTimer m_IntervalTimer; // 0x4d8 + int32_t m_iTeam; // 0x4f0 + int32_t m_iUpgradeMelee; // 0x4f4 + int32_t m_iUpgradeRange; // 0x4f8 + int32_t m_iMeleeCount; // 0x4fc + int32_t m_iSiegeCount; // 0x500 + int32_t m_iRangeCount; // 0x504 + int32_t m_iWaves; // 0x508 + bool m_bFirstWave; // 0x50c + bool m_bShouldSpawnStrongCreep; // 0x50d private: - [[maybe_unused]] uint8_t __pad04fe[0x2]; // 0x4fe + [[maybe_unused]] uint8_t __pad050e[0x2]; // 0x50e public: - CUtlVector< CHandle< CDOTA_BaseNPC > > m_Units; // 0x500 + CUtlVector< CHandle< CDOTA_BaseNPC > > m_Units; // 0x510 }; // Alignment: 22 -// Size: 0x598 +// Size: 0x5a8 class CDOTA_NeutralSpawner : public CPointEntity { public: - bool m_bGameStarted; // 0x498 - bool m_bFirstSpawn; // 0x499 + bool m_bGameStarted; // 0x4a8 + bool m_bFirstSpawn; // 0x4a9 private: - [[maybe_unused]] uint8_t __pad049a[0x6]; // 0x49a + [[maybe_unused]] uint8_t __pad04aa[0x6]; // 0x4aa public: - CountdownTimer m_SpawnTimer; // 0x4a0 - int32_t m_iNextSpawnType; // 0x4b8 - int32_t m_iPreviousSpawnType; // 0x4bc - int32_t m_iTotalToSpawn; // 0x4c0 - int32_t m_iForcedSpawnType; // 0x4c4 - int32_t m_iNumBatchesToSpawn; // 0x4c8 - bool m_bLimitedBatches; // 0x4cc + CountdownTimer m_SpawnTimer; // 0x4b0 + int32_t m_iNextSpawnType; // 0x4c8 + int32_t m_iPreviousSpawnType; // 0x4cc + int32_t m_iTotalToSpawn; // 0x4d0 + int32_t m_iForcedSpawnType; // 0x4d4 + int32_t m_iNumBatchesToSpawn; // 0x4d8 + bool m_bLimitedBatches; // 0x4dc private: - [[maybe_unused]] uint8_t __pad04cd[0x3]; // 0x4cd + [[maybe_unused]] uint8_t __pad04dd[0x3]; // 0x4dd public: - PlayerID_t m_iStackingCreditPlayerID; // 0x4d0 - float m_fInternalSpawnTimerTime; // 0x4d4 - CountdownTimer m_InternalSpawnTimer; // 0x4d8 - CountdownTimer m_FXTimer; // 0x4f0 - CUtlVector< CHandle< CDOTA_BaseNPC > > m_PendingUnits; // 0x508 - CUtlVector< CHandle< CDOTA_BaseNPC > > m_Units; // 0x520 - bool m_bSeenClearedByTeam[2]; // 0x538 + PlayerID_t m_iStackingCreditPlayerID; // 0x4e0 + float m_fInternalSpawnTimerTime; // 0x4e4 + CountdownTimer m_InternalSpawnTimer; // 0x4e8 + CountdownTimer m_FXTimer; // 0x500 + CUtlVector< CHandle< CDOTA_BaseNPC > > m_PendingUnits; // 0x518 + CUtlVector< CHandle< CDOTA_BaseNPC > > m_Units; // 0x530 + bool m_bSeenClearedByTeam[2]; // 0x548 private: - [[maybe_unused]] uint8_t __pad053a[0x6]; // 0x53a + [[maybe_unused]] uint8_t __pad054a[0x6]; // 0x54a public: - CUtlSymbolLarge m_szVolumeName; // 0x540 - CUtlVector< CHandle< CBaseEntity > > m_hVolumes; // 0x548 - CEntityIOOutput m_OnSpawnerExhausted; // 0x560 + CUtlSymbolLarge m_szVolumeName; // 0x550 + CUtlVector< CHandle< CBaseEntity > > m_hVolumes; // 0x558 + CEntityIOOutput m_OnSpawnerExhausted; // 0x570 // MNetworkEnable - int32_t m_Type; // 0x588 - int32_t m_PullType; // 0x58c - int32_t m_AggroType; // 0x590 + int32_t m_Type; // 0x598 + int32_t m_PullType; // 0x59c + int32_t m_AggroType; // 0x5a0 }; // Alignment: 11 -// Size: 0x4c8 +// Size: 0x4d8 class CDOTA_RoshanSpawner : public CPointEntity { public: - bool m_bIsRoshanAlive; // 0x498 - bool m_bSpawnRequested; // 0x499 + bool m_bIsRoshanAlive; // 0x4a8 + bool m_bSpawnRequested; // 0x4a9 private: - [[maybe_unused]] uint8_t __pad049a[0x2]; // 0x49a + [[maybe_unused]] uint8_t __pad04aa[0x2]; // 0x4aa public: - CHandle< CBaseEntity > m_hRoshan; // 0x49c - GameTime_t m_fRoshanKillTime; // 0x4a0 - int32_t m_nSentRoshReclaim; // 0x4a4 - int32_t m_nSentRoshRespawn; // 0x4a8 - float m_fRoshanRespawnDuration; // 0x4ac + CHandle< CBaseEntity > m_hRoshan; // 0x4ac + GameTime_t m_fRoshanKillTime; // 0x4b0 + int32_t m_nSentRoshReclaim; // 0x4b4 + int32_t m_nSentRoshRespawn; // 0x4b8 + float m_fRoshanRespawnDuration; // 0x4bc // MNetworkEnable - int32_t m_iKillCount; // 0x4b0 + int32_t m_iKillCount; // 0x4c0 // MNetworkEnable - Vector m_vRoshanAltLocation; // 0x4b4 - ParticleIndex_t m_nFXIndex; // 0x4c0 - ParticleIndex_t m_nFXIndex2; // 0x4c4 + Vector m_vRoshanAltLocation; // 0x4c4 + ParticleIndex_t m_nFXIndex; // 0x4d0 + ParticleIndex_t m_nFXIndex2; // 0x4d4 }; // Alignment: 9 -// Size: 0x4b8 +// Size: 0x4c8 class CDOTA_MinibossSpawner : public CPointEntity { public: - bool m_bIsMinibossAlive; // 0x498 - bool m_bSpawnRequested; // 0x499 + bool m_bIsMinibossAlive; // 0x4a8 + bool m_bSpawnRequested; // 0x4a9 private: - [[maybe_unused]] uint8_t __pad049a[0x2]; // 0x49a + [[maybe_unused]] uint8_t __pad04aa[0x2]; // 0x4aa 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 + CHandle< CBaseEntity > m_hMiniboss; // 0x4ac + GameTime_t m_fMinibossKillTime; // 0x4b0 + int32_t m_nSentMinibossReclaim; // 0x4b4 + int32_t m_nSentMinibossRespawn; // 0x4b8 + int32_t m_nTimesSpawned; // 0x4bc + float m_fMinibossRespawnDuration; // 0x4c0 + bool m_bIsRadiantMiniboss; // 0x4c4 }; // Alignment: 18 -// Size: 0x580 +// Size: 0x590 class CDOTA_ScriptedSpawner : public CPointEntity { private: - [[maybe_unused]] uint8_t __pad0498[0x10]; // 0x498 + [[maybe_unused]] uint8_t __pad04a8[0x10]; // 0x4a8 public: - CUtlSymbolLarge m_szNPCFirstWaypoint; // 0x4a8 - int32_t m_nNPCType; // 0x4b0 - bool m_bAllowRelaxation; // 0x4b4 - bool m_bPlayPostVictoryAnims; // 0x4b5 - bool m_bDisableAutoAttack; // 0x4b6 - bool m_bAutomaticallyRespawn; // 0x4b7 - bool m_bInvulnerable; // 0x4b8 - bool m_bAllowHeroTargets; // 0x4b9 + CUtlSymbolLarge m_szNPCFirstWaypoint; // 0x4b8 + int32_t m_nNPCType; // 0x4c0 + bool m_bAllowRelaxation; // 0x4c4 + bool m_bPlayPostVictoryAnims; // 0x4c5 + bool m_bDisableAutoAttack; // 0x4c6 + bool m_bAutomaticallyRespawn; // 0x4c7 + bool m_bInvulnerable; // 0x4c8 + bool m_bAllowHeroTargets; // 0x4c9 private: - [[maybe_unused]] uint8_t __pad04ba[0x2]; // 0x4ba + [[maybe_unused]] uint8_t __pad04ca[0x2]; // 0x4ca public: - int32_t m_nActivityOverride; // 0x4bc - float m_flDuration; // 0x4c0 - bool m_bAnimationFireOnce; // 0x4c4 + int32_t m_nActivityOverride; // 0x4cc + float m_flDuration; // 0x4d0 + bool m_bAnimationFireOnce; // 0x4d4 private: - [[maybe_unused]] uint8_t __pad04c5[0x3]; // 0x4c5 + [[maybe_unused]] uint8_t __pad04d5[0x3]; // 0x4d5 public: - CUtlVector< CDOTA_ScriptedSpawner::scripted_moveto_t > m_hMoveToTargets; // 0x4c8 - CEntityIOOutput m_OnAllUnitsKilled; // 0x4e0 - CEntityIOOutput m_OnUnitKilled; // 0x508 - CEntityIOOutput m_OnHealthLow; // 0x530 - CUtlVector< CHandle< CDOTA_BaseNPC > > m_Units; // 0x558 - CHandle< CBaseEntity > m_hSpawnpoint; // 0x570 + CUtlVector< CDOTA_ScriptedSpawner::scripted_moveto_t > m_hMoveToTargets; // 0x4d8 + CEntityIOOutput m_OnAllUnitsKilled; // 0x4f0 + CEntityIOOutput m_OnUnitKilled; // 0x518 + CEntityIOOutput m_OnHealthLow; // 0x540 + CUtlVector< CHandle< CDOTA_BaseNPC > > m_Units; // 0x568 + CHandle< CBaseEntity > m_hSpawnpoint; // 0x580 private: - [[maybe_unused]] uint8_t __pad0574[0x4]; // 0x574 + [[maybe_unused]] uint8_t __pad0584[0x4]; // 0x584 public: - CUtlSymbolLarge m_szCustomNPCName; // 0x578 + CUtlSymbolLarge m_szCustomNPCName; // 0x588 }; // Alignment: 9 -// Size: 0x4f0 +// Size: 0x500 class CPathTrack : public CPointEntity { public: - CPathTrack* m_pnext; // 0x498 - CPathTrack* m_pprevious; // 0x4a0 - CPathTrack* m_paltpath; // 0x4a8 - float m_flRadius; // 0x4b0 - float m_length; // 0x4b4 - CUtlSymbolLarge m_altName; // 0x4b8 - int32_t m_nIterVal; // 0x4c0 - TrackOrientationType_t m_eOrientationType; // 0x4c4 - CEntityIOOutput m_OnPass; // 0x4c8 + CPathTrack* m_pnext; // 0x4a8 + CPathTrack* m_pprevious; // 0x4b0 + CPathTrack* m_paltpath; // 0x4b8 + float m_flRadius; // 0x4c0 + float m_length; // 0x4c4 + CUtlSymbolLarge m_altName; // 0x4c8 + int32_t m_nIterVal; // 0x4d0 + TrackOrientationType_t m_eOrientationType; // 0x4d4 + CEntityIOOutput m_OnPass; // 0x4d8 // Static fields: static int32_t &Get_s_nCurrIterVal(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CPathTrack")->m_static_fields[0]->m_instance);}; @@ -87782,74 +89107,80 @@ public: }; // Alignment: 5 -// Size: 0x4b0 +// Size: 0x4c0 class CInfoDynamicShadowHint : public CPointEntity { public: - bool m_bDisabled; // 0x498 + bool m_bDisabled; // 0x4a8 private: - [[maybe_unused]] uint8_t __pad0499[0x3]; // 0x499 + [[maybe_unused]] uint8_t __pad04a9[0x3]; // 0x4a9 public: - float m_flRange; // 0x49c - int32_t m_nImportance; // 0x4a0 - int32_t m_nLightChoice; // 0x4a4 - CHandle< CBaseEntity > m_hLight; // 0x4a8 + float m_flRange; // 0x4ac + int32_t m_nImportance; // 0x4b0 + int32_t m_nLightChoice; // 0x4b4 + CHandle< CBaseEntity > m_hLight; // 0x4b8 // Static fields: static CUtlVector< CInfoDynamicShadowHint* > &Get_m_AllHints(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CInfoDynamicShadowHint")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 -// Size: 0x4c8 +// Size: 0x4d8 class CInfoDynamicShadowHintBox : public CInfoDynamicShadowHint { public: - Vector m_vBoxMins; // 0x4b0 - Vector m_vBoxMaxs; // 0x4bc + Vector m_vBoxMins; // 0x4c0 + Vector m_vBoxMaxs; // 0x4cc }; -// Alignment: 10 -// Size: 0x790 +// Alignment: 12 +// Size: 0x7b8 class CEnvSky : public CBaseModelEntity { public: // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x748 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x758 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - bool m_bStartDisabled; // 0x750 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterialLightingOnly; // 0x760 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - Color m_vTintColor; // 0x751 + bool m_bStartDisabled; // 0x768 + // MNetworkEnable + // MNetworkChangeCallback "SkyStateChanged" + Color m_vTintColor; // 0x769 + // MNetworkEnable + // MNetworkChangeCallback "SkyStateChanged" + Color m_vTintColorLightingOnly; // 0x76d private: - [[maybe_unused]] uint8_t __pad0755[0x3]; // 0x755 + [[maybe_unused]] uint8_t __pad0771[0x3]; // 0x771 public: // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flBrightnessScale; // 0x758 + float m_flBrightnessScale; // 0x774 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - int32_t m_nFogType; // 0x75c + int32_t m_nFogType; // 0x778 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMinStart; // 0x760 + float m_flFogMinStart; // 0x77c // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMinEnd; // 0x764 + float m_flFogMinEnd; // 0x780 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMaxStart; // 0x768 + float m_flFogMaxStart; // 0x784 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMaxEnd; // 0x76c + float m_flFogMaxEnd; // 0x788 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - bool m_bEnabled; // 0x770 + bool m_bEnabled; // 0x78c }; // Alignment: 0 -// Size: 0x4c0 +// Size: 0x4d0 class CTonemapController2Alias_env_tonemap_controller2 : public CTonemapController2 { public: @@ -87857,24 +89188,24 @@ public: }; // Alignment: 2 -// Size: 0x900 +// Size: 0x910 class CTonemapTrigger : public CBaseTrigger { public: - CUtlSymbolLarge m_tonemapControllerName; // 0x8f0 - CEntityHandle m_hTonemapController; // 0x8f8 + CUtlSymbolLarge m_tonemapControllerName; // 0x900 + CEntityHandle m_hTonemapController; // 0x908 }; // Alignment: 1 -// Size: 0x958 +// Size: 0x968 class CFogTrigger : public CBaseTrigger { public: - fogparams_t m_fog; // 0x8f0 + fogparams_t m_fog; // 0x900 }; // Alignment: 1 -// Size: 0x750 +// Size: 0x760 class CLightEntity : public CBaseModelEntity { public: @@ -87882,11 +89213,11 @@ public: // MNetworkUserGroup "CLightComponent" // MNetworkAlias "CLightComponent" // MNetworkTypeAlias "CLightComponent" - CLightComponent* m_CLightComponent; // 0x748 + CLightComponent* m_CLightComponent; // 0x758 }; // Alignment: 0 -// Size: 0x750 +// Size: 0x760 class CLightSpotEntity : public CLightEntity { public: @@ -87894,7 +89225,7 @@ public: }; // Alignment: 0 -// Size: 0x750 +// Size: 0x760 class CLightOrthoEntity : public CLightEntity { public: @@ -87902,7 +89233,7 @@ public: }; // Alignment: 0 -// Size: 0x750 +// Size: 0x760 class CLightDirectionalEntity : public CLightEntity { public: @@ -87910,7 +89241,7 @@ public: }; // Alignment: 0 -// Size: 0x750 +// Size: 0x760 class CLightEnvironmentEntity : public CLightDirectionalEntity { public: @@ -87918,121 +89249,121 @@ public: }; // Alignment: 12 -// Size: 0x930 +// Size: 0x940 class CPostProcessingVolume : public CBaseTrigger { private: - [[maybe_unused]] uint8_t __pad08f0[0x10]; // 0x8f0 + [[maybe_unused]] uint8_t __pad0900[0x10]; // 0x900 public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostSettings; // 0x900 + CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostSettings; // 0x910 // MNetworkEnable - float m_flFadeDuration; // 0x908 + float m_flFadeDuration; // 0x918 // MNetworkEnable - float m_flMinLogExposure; // 0x90c + float m_flMinLogExposure; // 0x91c // MNetworkEnable - float m_flMaxLogExposure; // 0x910 + float m_flMaxLogExposure; // 0x920 // MNetworkEnable - float m_flMinExposure; // 0x914 + float m_flMinExposure; // 0x924 // MNetworkEnable - float m_flMaxExposure; // 0x918 + float m_flMaxExposure; // 0x928 // MNetworkEnable - float m_flExposureCompensation; // 0x91c + float m_flExposureCompensation; // 0x92c // MNetworkEnable - float m_flExposureFadeSpeedUp; // 0x920 + float m_flExposureFadeSpeedUp; // 0x930 // MNetworkEnable - float m_flExposureFadeSpeedDown; // 0x924 + float m_flExposureFadeSpeedDown; // 0x934 // MNetworkEnable - float m_flTonemapEVSmoothingRange; // 0x928 + float m_flTonemapEVSmoothingRange; // 0x938 // MNetworkEnable - bool m_bMaster; // 0x92c + bool m_bMaster; // 0x93c // MNetworkEnable - bool m_bExposureControl; // 0x92d + bool m_bExposureControl; // 0x93d }; // Alignment: 10 -// Size: 0x7a8 +// Size: 0x7b8 class CBasePlayerWeapon : public CBaseAnimatingActivity { public: // MNetworkEnable // MNetworkChangeCallback "OnWeaponStateChanged" - WeaponState_t m_iState; // 0x758 - bool m_bRemoveable; // 0x75c + WeaponState_t m_iState; // 0x768 + bool m_bRemoveable; // 0x76c private: - [[maybe_unused]] uint8_t __pad075d[0x3]; // 0x75d + [[maybe_unused]] uint8_t __pad076d[0x3]; // 0x76d public: // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - GameTick_t m_nNextPrimaryAttackTick; // 0x760 + GameTick_t m_nNextPrimaryAttackTick; // 0x770 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - float m_flNextPrimaryAttackTickRatio; // 0x764 + float m_flNextPrimaryAttackTickRatio; // 0x774 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - GameTick_t m_nNextSecondaryAttackTick; // 0x768 + GameTick_t m_nNextSecondaryAttackTick; // 0x778 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - float m_flNextSecondaryAttackTickRatio; // 0x76c + float m_flNextSecondaryAttackTickRatio; // 0x77c // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkPriority "32" - int32_t m_iClip1; // 0x770 + int32_t m_iClip1; // 0x780 // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkUserGroup "LocalWeaponExclusive" - int32_t m_iClip2; // 0x774 + int32_t m_iClip2; // 0x784 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - int32_t m_pReserveAmmo[2]; // 0x778 - CEntityIOOutput m_OnPlayerUse; // 0x780 + int32_t m_pReserveAmmo[2]; // 0x788 + CEntityIOOutput m_OnPlayerUse; // 0x790 }; // Alignment: 5 -// Size: 0xcd8 +// Size: 0xce8 class CEnvParticleGlow : public CParticleSystem { public: // MNetworkEnable - float m_flAlphaScale; // 0xcc0 + float m_flAlphaScale; // 0xcd0 // MNetworkEnable - float m_flRadiusScale; // 0xcc4 + float m_flRadiusScale; // 0xcd4 // MNetworkEnable - float m_flSelfIllumScale; // 0xcc8 + float m_flSelfIllumScale; // 0xcd8 // MNetworkEnable - Color m_ColorTint; // 0xccc + Color m_ColorTint; // 0xcdc // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hTextureOverride; // 0xcd0 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hTextureOverride; // 0xce0 }; // Alignment: 8 -// Size: 0x780 +// Size: 0x790 class CTextureBasedAnimatable : public CBaseModelEntity { public: // MNetworkEnable - bool m_bLoop; // 0x748 + bool m_bLoop; // 0x758 private: - [[maybe_unused]] uint8_t __pad0749[0x3]; // 0x749 + [[maybe_unused]] uint8_t __pad0759[0x3]; // 0x759 public: // MNetworkEnable - float m_flFPS; // 0x74c + float m_flFPS; // 0x75c // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hPositionKeys; // 0x750 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hPositionKeys; // 0x760 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hRotationKeys; // 0x758 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hRotationKeys; // 0x768 // MNetworkEnable - Vector m_vAnimationBoundsMin; // 0x760 + Vector m_vAnimationBoundsMin; // 0x770 // MNetworkEnable - Vector m_vAnimationBoundsMax; // 0x76c + Vector m_vAnimationBoundsMax; // 0x77c // MNetworkEnable - float m_flStartTime; // 0x778 + float m_flStartTime; // 0x788 // MNetworkEnable - float m_flStartFrame; // 0x77c + float m_flStartFrame; // 0x78c }; // Alignment: 0 -// Size: 0x748 +// Size: 0x758 class CWorld : public CBaseModelEntity { public: @@ -88040,175 +89371,175 @@ public: }; // Alignment: 13 -// Size: 0x928 +// Size: 0x988 class CBaseAnimGraph : public CBaseModelEntity { private: - [[maybe_unused]] uint8_t __pad0748[0x8]; // 0x748 + [[maybe_unused]] uint8_t __pad0758[0x8]; // 0x758 public: // MNetworkEnable - bool m_bInitiallyPopulateInterpHistory; // 0x750 + bool m_bInitiallyPopulateInterpHistory; // 0x760 // MNetworkEnable - bool m_bShouldAnimateDuringGameplayPause; // 0x751 + bool m_bShouldAnimateDuringGameplayPause; // 0x761 private: - [[maybe_unused]] uint8_t __pad0752[0x6]; // 0x752 + [[maybe_unused]] uint8_t __pad0762[0x6]; // 0x762 public: - IChoreoServices* m_pChoreoServices; // 0x758 + IChoreoServices* m_pChoreoServices; // 0x768 // MNetworkEnable - bool m_bAnimGraphUpdateEnabled; // 0x760 + bool m_bAnimGraphUpdateEnabled; // 0x770 private: - [[maybe_unused]] uint8_t __pad0761[0x93]; // 0x761 + [[maybe_unused]] uint8_t __pad0771[0x93]; // 0x771 public: // MNetworkDisable - float m_flLastEventAnimTime; // 0x7f4 + float m_flLastEventAnimTime; // 0x804 private: - [[maybe_unused]] uint8_t __pad07f8[0x4]; // 0x7f8 + [[maybe_unused]] uint8_t __pad0808[0x4]; // 0x808 public: // MNetworkDisable - AnimationUpdateListHandle_t m_hAnimationUpdate; // 0x7fc - float m_flMaxSlopeDistance; // 0x800 - Vector m_vLastSlopeCheckPos; // 0x804 - bool m_bAnimGraphDirty; // 0x810 + AnimationUpdateListHandle_t m_hAnimationUpdate; // 0x80c + float m_flMaxSlopeDistance; // 0x810 + Vector m_vLastSlopeCheckPos; // 0x814 + bool m_bAnimGraphDirty; // 0x820 private: - [[maybe_unused]] uint8_t __pad0811[0x3]; // 0x811 + [[maybe_unused]] uint8_t __pad0821[0x3]; // 0x821 public: // MNetworkEnable - Vector m_vecForce; // 0x814 + Vector m_vecForce; // 0x824 // MNetworkEnable - int32_t m_nForceBone; // 0x820 + int32_t m_nForceBone; // 0x830 private: - [[maybe_unused]] uint8_t __pad0824[0x14]; // 0x824 + [[maybe_unused]] uint8_t __pad0834[0x14]; // 0x834 public: // MNetworkEnable - PhysicsRagdollPose_t* m_pRagdollPose; // 0x838 + PhysicsRagdollPose_t* m_pRagdollPose; // 0x848 // MNetworkEnable // MNetworkChangeCallback "OnClientRagdollChanged" - bool m_bClientRagdoll; // 0x840 + bool m_bClientRagdoll; // 0x850 }; // Alignment: 4 -// Size: 0x798 +// Size: 0x7a8 class CBaseProp : public CBaseAnimatingActivity { public: - bool m_bModelOverrodeBlockLOS; // 0x758 + bool m_bModelOverrodeBlockLOS; // 0x768 private: - [[maybe_unused]] uint8_t __pad0759[0x3]; // 0x759 + [[maybe_unused]] uint8_t __pad0769[0x3]; // 0x769 public: - int32_t m_iShapeType; // 0x75c - bool m_bConformToCollisionBounds; // 0x760 + int32_t m_iShapeType; // 0x76c + bool m_bConformToCollisionBounds; // 0x770 private: - [[maybe_unused]] uint8_t __pad0761[0x3]; // 0x761 + [[maybe_unused]] uint8_t __pad0771[0x3]; // 0x771 public: - matrix3x4_t m_mPreferredCatchTransform; // 0x764 + matrix3x4_t m_mPreferredCatchTransform; // 0x774 }; // Alignment: 34 -// Size: 0x8d0 +// Size: 0x8e0 class CBreakableProp : public CBaseProp { private: - [[maybe_unused]] uint8_t __pad0798[0x10]; // 0x798 + [[maybe_unused]] uint8_t __pad07a8[0x10]; // 0x7a8 public: - CEntityIOOutput m_OnBreak; // 0x7a8 - CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0x7d0 - CEntityIOOutput m_OnTakeDamage; // 0x7f8 - float m_impactEnergyScale; // 0x820 - int32_t m_iMinHealthDmg; // 0x824 - QAngle m_preferredCarryAngles; // 0x828 - float m_flPressureDelay; // 0x834 - CHandle< CBaseEntity > m_hBreaker; // 0x838 - PerformanceMode_t m_PerformanceMode; // 0x83c - float m_flDmgModBullet; // 0x840 - float m_flDmgModClub; // 0x844 - float m_flDmgModExplosive; // 0x848 - float m_flDmgModFire; // 0x84c - CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0x850 - CUtlSymbolLarge m_iszBasePropData; // 0x858 - int32_t m_iInteractions; // 0x860 - GameTime_t m_flPreventDamageBeforeTime; // 0x864 - bool m_bHasBreakPiecesOrCommands; // 0x868 + CEntityIOOutput m_OnBreak; // 0x7b8 + CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0x7e0 + CEntityIOOutput m_OnTakeDamage; // 0x808 + float m_impactEnergyScale; // 0x830 + int32_t m_iMinHealthDmg; // 0x834 + QAngle m_preferredCarryAngles; // 0x838 + float m_flPressureDelay; // 0x844 + CHandle< CBaseEntity > m_hBreaker; // 0x848 + PerformanceMode_t m_PerformanceMode; // 0x84c + float m_flDmgModBullet; // 0x850 + float m_flDmgModClub; // 0x854 + float m_flDmgModExplosive; // 0x858 + float m_flDmgModFire; // 0x85c + CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0x860 + CUtlSymbolLarge m_iszBasePropData; // 0x868 + int32_t m_iInteractions; // 0x870 + GameTime_t m_flPreventDamageBeforeTime; // 0x874 + bool m_bHasBreakPiecesOrCommands; // 0x878 private: - [[maybe_unused]] uint8_t __pad0869[0x3]; // 0x869 + [[maybe_unused]] uint8_t __pad0879[0x3]; // 0x879 public: - float m_explodeDamage; // 0x86c - float m_explodeRadius; // 0x870 + float m_explodeDamage; // 0x87c + float m_explodeRadius; // 0x880 private: - [[maybe_unused]] uint8_t __pad0874[0x4]; // 0x874 + [[maybe_unused]] uint8_t __pad0884[0x4]; // 0x884 public: - float m_explosionDelay; // 0x878 + float m_explosionDelay; // 0x888 private: - [[maybe_unused]] uint8_t __pad087c[0x4]; // 0x87c + [[maybe_unused]] uint8_t __pad088c[0x4]; // 0x88c public: - CUtlSymbolLarge m_explosionBuildupSound; // 0x880 - CUtlSymbolLarge m_explosionCustomEffect; // 0x888 - CUtlSymbolLarge m_explosionCustomSound; // 0x890 - CUtlSymbolLarge m_explosionModifier; // 0x898 - CHandle< CBasePlayerPawn > m_hPhysicsAttacker; // 0x8a0 - GameTime_t m_flLastPhysicsInfluenceTime; // 0x8a4 - bool m_bOriginalBlockLOS; // 0x8a8 + CUtlSymbolLarge m_explosionBuildupSound; // 0x890 + CUtlSymbolLarge m_explosionCustomEffect; // 0x898 + CUtlSymbolLarge m_explosionCustomSound; // 0x8a0 + CUtlSymbolLarge m_explosionModifier; // 0x8a8 + CHandle< CBasePlayerPawn > m_hPhysicsAttacker; // 0x8b0 + GameTime_t m_flLastPhysicsInfluenceTime; // 0x8b4 + bool m_bOriginalBlockLOS; // 0x8b8 private: - [[maybe_unused]] uint8_t __pad08a9[0x3]; // 0x8a9 + [[maybe_unused]] uint8_t __pad08b9[0x3]; // 0x8b9 public: - float m_flDefaultFadeScale; // 0x8ac - CHandle< CBaseEntity > m_hLastAttacker; // 0x8b0 - CHandle< CBaseEntity > m_hFlareEnt; // 0x8b4 - bool m_bUsePuntSound; // 0x8b8 + float m_flDefaultFadeScale; // 0x8bc + CHandle< CBaseEntity > m_hLastAttacker; // 0x8c0 + CHandle< CBaseEntity > m_hFlareEnt; // 0x8c4 + bool m_bUsePuntSound; // 0x8c8 private: - [[maybe_unused]] uint8_t __pad08b9[0x7]; // 0x8b9 + [[maybe_unused]] uint8_t __pad08c9[0x7]; // 0x8c9 public: - CUtlSymbolLarge m_iszPuntSound; // 0x8c0 + CUtlSymbolLarge m_iszPuntSound; // 0x8d0 // MNetworkEnable - bool m_noGhostCollision; // 0x8c8 + bool m_noGhostCollision; // 0x8d8 }; // Alignment: 27 -// Size: 0x9e0 +// Size: 0x9f0 class CDynamicProp : public CBreakableProp { public: - bool m_bRandomAnimator; // 0x8d0 + bool m_bRandomAnimator; // 0x8e0 private: - [[maybe_unused]] uint8_t __pad08d1[0x3]; // 0x8d1 + [[maybe_unused]] uint8_t __pad08e1[0x3]; // 0x8e1 public: - GameTime_t m_flNextRandAnim; // 0x8d4 - float m_flMinRandAnimDuration; // 0x8d8 - float m_flMaxRandAnimDuration; // 0x8dc + GameTime_t m_flNextRandAnim; // 0x8e4 + float m_flMinRandAnimDuration; // 0x8e8 + float m_flMaxRandAnimDuration; // 0x8ec private: - [[maybe_unused]] uint8_t __pad08e0[0x8]; // 0x8e0 + [[maybe_unused]] uint8_t __pad08f0[0x8]; // 0x8f0 public: - bool m_bCreateNavObstacle; // 0x8e8 + bool m_bCreateNavObstacle; // 0x8f8 // MNetworkEnable - bool m_bUseHitboxesForRenderBox; // 0x8e9 + bool m_bUseHitboxesForRenderBox; // 0x8f9 // MNetworkEnable - bool m_bUseAnimGraph; // 0x8ea + bool m_bUseAnimGraph; // 0x8fa private: - [[maybe_unused]] uint8_t __pad08eb[0x5]; // 0x8eb + [[maybe_unused]] uint8_t __pad08fb[0x5]; // 0x8fb public: - CEntityIOOutput m_pOutputAnimBegun; // 0x8f0 - CEntityIOOutput m_pOutputAnimOver; // 0x918 - CEntityIOOutput m_pOutputAnimLoopCycleOver; // 0x940 - CEntityIOOutput m_OnAnimReachedStart; // 0x968 - CEntityIOOutput m_OnAnimReachedEnd; // 0x990 - CUtlSymbolLarge m_iszDefaultAnim; // 0x9b8 - AnimLoopMode_t m_nDefaultAnimLoopMode; // 0x9c0 - 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 + CEntityIOOutput m_pOutputAnimBegun; // 0x900 + CEntityIOOutput m_pOutputAnimOver; // 0x928 + CEntityIOOutput m_pOutputAnimLoopCycleOver; // 0x950 + CEntityIOOutput m_OnAnimReachedStart; // 0x978 + CEntityIOOutput m_OnAnimReachedEnd; // 0x9a0 + CUtlSymbolLarge m_iszDefaultAnim; // 0x9c8 + AnimLoopMode_t m_nDefaultAnimLoopMode; // 0x9d0 + bool m_bAnimateOnServer; // 0x9d4 + bool m_bRandomizeCycle; // 0x9d5 + bool m_bStartDisabled; // 0x9d6 + bool m_bScriptedMovement; // 0x9d7 + bool m_bFiredStartEndOutput; // 0x9d8 + bool m_bForceNpcExclude; // 0x9d9 + bool m_bCreateNonSolid; // 0x9da + bool m_bIsOverrideProp; // 0x9db + int32_t m_iInitialGlowState; // 0x9dc + int32_t m_nGlowRange; // 0x9e0 + int32_t m_nGlowRangeMin; // 0x9e4 + Color m_glowColor; // 0x9e8 + int32_t m_nGlowTeam; // 0x9ec }; // Alignment: 0 -// Size: 0x9e0 +// Size: 0x9f0 class CDynamicPropAlias_dynamic_prop : public CDynamicProp { public: @@ -88216,7 +89547,7 @@ public: }; // Alignment: 0 -// Size: 0x9e0 +// Size: 0x9f0 class CDynamicPropAlias_prop_dynamic_override : public CDynamicProp { public: @@ -88224,7 +89555,7 @@ public: }; // Alignment: 0 -// Size: 0x9e0 +// Size: 0x9f0 class CDynamicPropAlias_cable_dynamic : public CDynamicProp { public: @@ -88232,94 +89563,94 @@ public: }; // Alignment: 10 -// Size: 0xb18 +// Size: 0xb28 class CColorCorrectionVolume : public CBaseTrigger { public: // MNetworkEnable - bool m_bEnabled; // 0x8f0 + bool m_bEnabled; // 0x900 private: - [[maybe_unused]] uint8_t __pad08f1[0x3]; // 0x8f1 + [[maybe_unused]] uint8_t __pad0901[0x3]; // 0x901 public: // MNetworkEnable - float m_MaxWeight; // 0x8f4 + float m_MaxWeight; // 0x904 // MNetworkEnable - float m_FadeDuration; // 0x8f8 - bool m_bStartDisabled; // 0x8fc + float m_FadeDuration; // 0x908 + bool m_bStartDisabled; // 0x90c private: - [[maybe_unused]] uint8_t __pad08fd[0x3]; // 0x8fd + [[maybe_unused]] uint8_t __pad090d[0x3]; // 0x90d public: // MNetworkEnable - float m_Weight; // 0x900 + float m_Weight; // 0x910 // MNetworkEnable - char m_lookupFilename[512]; // 0x904 - float m_LastEnterWeight; // 0xb04 - GameTime_t m_LastEnterTime; // 0xb08 - float m_LastExitWeight; // 0xb0c - GameTime_t m_LastExitTime; // 0xb10 + char m_lookupFilename[512]; // 0x914 + float m_LastEnterWeight; // 0xb14 + GameTime_t m_LastEnterTime; // 0xb18 + float m_LastExitWeight; // 0xb1c + GameTime_t m_LastExitTime; // 0xb20 }; // Alignment: 30 -// Size: 0x850 +// Size: 0x860 class CPointCommentaryNode : public CBaseAnimatingActivity { public: - CUtlSymbolLarge m_iszPreCommands; // 0x758 - CUtlSymbolLarge m_iszPostCommands; // 0x760 + CUtlSymbolLarge m_iszPreCommands; // 0x768 + CUtlSymbolLarge m_iszPostCommands; // 0x770 // MNetworkEnable - CUtlSymbolLarge m_iszCommentaryFile; // 0x768 - CUtlSymbolLarge m_iszViewTarget; // 0x770 - CHandle< CBaseEntity > m_hViewTarget; // 0x778 - CHandle< CBaseEntity > m_hViewTargetAngles; // 0x77c - CUtlSymbolLarge m_iszViewPosition; // 0x780 + CUtlSymbolLarge m_iszCommentaryFile; // 0x778 + CUtlSymbolLarge m_iszViewTarget; // 0x780 + CHandle< CBaseEntity > m_hViewTarget; // 0x788 + CHandle< CBaseEntity > m_hViewTargetAngles; // 0x78c + CUtlSymbolLarge m_iszViewPosition; // 0x790 // MNetworkEnable - CHandle< CBaseEntity > m_hViewPosition; // 0x788 - CHandle< CBaseEntity > m_hViewPositionMover; // 0x78c - bool m_bPreventMovement; // 0x790 - bool m_bUnderCrosshair; // 0x791 - bool m_bUnstoppable; // 0x792 + CHandle< CBaseEntity > m_hViewPosition; // 0x798 + CHandle< CBaseEntity > m_hViewPositionMover; // 0x79c + bool m_bPreventMovement; // 0x7a0 + bool m_bUnderCrosshair; // 0x7a1 + bool m_bUnstoppable; // 0x7a2 private: - [[maybe_unused]] uint8_t __pad0793[0x1]; // 0x793 + [[maybe_unused]] uint8_t __pad07a3[0x1]; // 0x7a3 public: - GameTime_t m_flFinishedTime; // 0x794 - Vector m_vecFinishOrigin; // 0x798 - QAngle m_vecOriginalAngles; // 0x7a4 - QAngle m_vecFinishAngles; // 0x7b0 - bool m_bPreventChangesWhileMoving; // 0x7bc - bool m_bDisabled; // 0x7bd + GameTime_t m_flFinishedTime; // 0x7a4 + Vector m_vecFinishOrigin; // 0x7a8 + QAngle m_vecOriginalAngles; // 0x7b4 + QAngle m_vecFinishAngles; // 0x7c0 + bool m_bPreventChangesWhileMoving; // 0x7cc + bool m_bDisabled; // 0x7cd private: - [[maybe_unused]] uint8_t __pad07be[0x2]; // 0x7be + [[maybe_unused]] uint8_t __pad07ce[0x2]; // 0x7ce public: - Vector m_vecTeleportOrigin; // 0x7c0 - GameTime_t m_flAbortedPlaybackAt; // 0x7cc - CEntityIOOutput m_pOnCommentaryStarted; // 0x7d0 - CEntityIOOutput m_pOnCommentaryStopped; // 0x7f8 + Vector m_vecTeleportOrigin; // 0x7d0 + GameTime_t m_flAbortedPlaybackAt; // 0x7dc + CEntityIOOutput m_pOnCommentaryStarted; // 0x7e0 + CEntityIOOutput m_pOnCommentaryStopped; // 0x808 // MNetworkEnable - bool m_bActive; // 0x820 + bool m_bActive; // 0x830 private: - [[maybe_unused]] uint8_t __pad0821[0x3]; // 0x821 + [[maybe_unused]] uint8_t __pad0831[0x3]; // 0x831 public: // MNetworkEnable - GameTime_t m_flStartTime; // 0x824 + GameTime_t m_flStartTime; // 0x834 // MNetworkEnable - float m_flStartTimeInCommentary; // 0x828 + float m_flStartTimeInCommentary; // 0x838 private: - [[maybe_unused]] uint8_t __pad082c[0x4]; // 0x82c + [[maybe_unused]] uint8_t __pad083c[0x4]; // 0x83c public: // MNetworkEnable - CUtlSymbolLarge m_iszTitle; // 0x830 + CUtlSymbolLarge m_iszTitle; // 0x840 // MNetworkEnable - CUtlSymbolLarge m_iszSpeakers; // 0x838 + CUtlSymbolLarge m_iszSpeakers; // 0x848 // MNetworkEnable - int32_t m_iNodeNumber; // 0x840 + int32_t m_iNodeNumber; // 0x850 // MNetworkEnable - int32_t m_iNodeNumberMax; // 0x844 + int32_t m_iNodeNumberMax; // 0x854 // MNetworkEnable - bool m_bListenedTo; // 0x848 + bool m_bListenedTo; // 0x858 }; // Alignment: 0 -// Size: 0x7b8 +// Size: 0x7c8 class CCommentaryViewPosition : public CSprite { public: @@ -88327,45 +89658,45 @@ public: }; // Alignment: 19 -// Size: 0x890 +// Size: 0x8a0 class CEnvBeam : public CBeam { public: - int32_t m_active; // 0x7e8 + int32_t m_active; // 0x7f8 private: - [[maybe_unused]] uint8_t __pad07ec[0x4]; // 0x7ec + [[maybe_unused]] uint8_t __pad07fc[0x4]; // 0x7fc public: - CStrongHandle< InfoForResourceTypeIMaterial2 > m_spriteTexture; // 0x7f0 - CUtlSymbolLarge m_iszStartEntity; // 0x7f8 - CUtlSymbolLarge m_iszEndEntity; // 0x800 - float m_life; // 0x808 - float m_boltWidth; // 0x80c - float m_noiseAmplitude; // 0x810 - int32_t m_speed; // 0x814 - float m_restrike; // 0x818 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_spriteTexture; // 0x800 + CUtlSymbolLarge m_iszStartEntity; // 0x808 + CUtlSymbolLarge m_iszEndEntity; // 0x810 + float m_life; // 0x818 + float m_boltWidth; // 0x81c + float m_noiseAmplitude; // 0x820 + int32_t m_speed; // 0x824 + float m_restrike; // 0x828 private: - [[maybe_unused]] uint8_t __pad081c[0x4]; // 0x81c + [[maybe_unused]] uint8_t __pad082c[0x4]; // 0x82c public: - CUtlSymbolLarge m_iszSpriteName; // 0x820 - int32_t m_frameStart; // 0x828 - Vector m_vEndPointWorld; // 0x82c - Vector m_vEndPointRelative; // 0x838 - float m_radius; // 0x844 - Touch_t m_TouchType; // 0x848 -private: - [[maybe_unused]] uint8_t __pad084c[0x4]; // 0x84c -public: - CUtlSymbolLarge m_iFilterName; // 0x850 - CHandle< CBaseEntity > m_hFilter; // 0x858 + CUtlSymbolLarge m_iszSpriteName; // 0x830 + int32_t m_frameStart; // 0x838 + Vector m_vEndPointWorld; // 0x83c + Vector m_vEndPointRelative; // 0x848 + float m_radius; // 0x854 + Touch_t m_TouchType; // 0x858 private: [[maybe_unused]] uint8_t __pad085c[0x4]; // 0x85c public: - CUtlSymbolLarge m_iszDecal; // 0x860 - CEntityIOOutput m_OnTouchedByEntity; // 0x868 + CUtlSymbolLarge m_iFilterName; // 0x860 + CHandle< CBaseEntity > m_hFilter; // 0x868 +private: + [[maybe_unused]] uint8_t __pad086c[0x4]; // 0x86c +public: + CUtlSymbolLarge m_iszDecal; // 0x870 + CEntityIOOutput m_OnTouchedByEntity; // 0x878 }; // Alignment: 0 -// Size: 0x808 +// Size: 0x818 class CPushable : public CBreakable { public: @@ -88373,7 +89704,7 @@ public: }; // Alignment: 0 -// Size: 0x878 +// Size: 0x888 class CFuncMoveLinearAlias_momentary_door : public CFuncMoveLinear { public: @@ -88381,33 +89712,33 @@ public: }; // Alignment: 3 -// Size: 0x7f8 +// Size: 0x808 class CGunTarget : public CBaseToggle { public: - bool m_on; // 0x7c8 + bool m_on; // 0x7d8 private: - [[maybe_unused]] uint8_t __pad07c9[0x3]; // 0x7c9 + [[maybe_unused]] uint8_t __pad07d9[0x3]; // 0x7d9 public: - CHandle< CBaseEntity > m_hTargetEnt; // 0x7cc - CEntityIOOutput m_OnDeath; // 0x7d0 + CHandle< CBaseEntity > m_hTargetEnt; // 0x7dc + CEntityIOOutput m_OnDeath; // 0x7e0 }; // Alignment: 3 -// Size: 0x908 +// Size: 0x918 class CTriggerGameEvent : public CBaseTrigger { public: // MNetworkEnable - CUtlString m_strStartTouchEventName; // 0x8f0 + CUtlString m_strStartTouchEventName; // 0x900 // MNetworkEnable - CUtlString m_strEndTouchEventName; // 0x8f8 + CUtlString m_strEndTouchEventName; // 0x908 // MNetworkEnable - CUtlString m_strTriggerID; // 0x900 + CUtlString m_strTriggerID; // 0x910 }; // Alignment: 0 -// Size: 0x788 +// Size: 0x798 class CSimpleMarkupVolumeTagged : public CMarkupVolumeTagged { public: @@ -88415,7 +89746,7 @@ public: }; // Alignment: 0 -// Size: 0x788 +// Size: 0x798 class CMarkupVolumeTagged_Nav : public CMarkupVolumeTagged { public: @@ -88423,27 +89754,27 @@ public: }; // Alignment: 1 -// Size: 0x7a8 +// Size: 0x7b8 class CMarkupVolumeTagged_NavGame : public CMarkupVolumeWithRef { public: - bool m_bFloodFillAttribute; // 0x7a0 + bool m_bFloodFillAttribute; // 0x7b0 }; // Alignment: 4 -// Size: 0x7a0 +// Size: 0x7b0 class CFuncElectrifiedVolume : public CFuncBrush { public: // MNetworkEnable - CUtlSymbolLarge m_EffectName; // 0x768 - CUtlSymbolLarge m_EffectInterpenetrateName; // 0x770 - CUtlSymbolLarge m_EffectZapName; // 0x778 - CUtlSymbolLarge m_iszEffectSource; // 0x780 + CUtlSymbolLarge m_EffectName; // 0x778 + CUtlSymbolLarge m_EffectInterpenetrateName; // 0x780 + CUtlSymbolLarge m_EffectZapName; // 0x788 + CUtlSymbolLarge m_iszEffectSource; // 0x790 }; // Alignment: 0 -// Size: 0x4c8 +// Size: 0x4d8 class CPathCornerCrash : public CPathCorner { public: @@ -88451,23 +89782,23 @@ public: }; // Alignment: 1 -// Size: 0x760 +// Size: 0x770 class CConstraintAnchor : public CBaseAnimatingActivity { public: - float m_massScale; // 0x758 + float m_massScale; // 0x768 }; // Alignment: 1 -// Size: 0x9e8 +// Size: 0x9f8 class COrnamentProp : public CDynamicProp { public: - CUtlSymbolLarge m_initialOwner; // 0x9e0 + CUtlSymbolLarge m_initialOwner; // 0x9f0 }; // Alignment: 0 -// Size: 0x7a0 +// Size: 0x7b0 class CRopeKeyframeAlias_move_rope : public CRopeKeyframe { public: @@ -88475,7 +89806,7 @@ public: }; // Alignment: 0 -// Size: 0x9f8 +// Size: 0xa00 class CSceneEntityAlias_logic_choreographed_scene : public CSceneEntity { public: @@ -88483,35 +89814,35 @@ public: }; // Alignment: 5 -// Size: 0xa10 +// Size: 0xa18 class CInstancedSceneEntity : public CSceneEntity { public: - CHandle< CBaseEntity > m_hOwner; // 0x9f8 - bool m_bHadOwner; // 0x9fc + CHandle< CBaseEntity > m_hOwner; // 0xa00 + bool m_bHadOwner; // 0xa04 private: - [[maybe_unused]] uint8_t __pad09fd[0x3]; // 0x9fd + [[maybe_unused]] uint8_t __pad0a05[0x3]; // 0xa05 public: - float m_flPostSpeakDelay; // 0xa00 - float m_flPreDelay; // 0xa04 - bool m_bIsBackground; // 0xa08 + float m_flPostSpeakDelay; // 0xa08 + float m_flPreDelay; // 0xa0c + bool m_bIsBackground; // 0xa10 }; // Alignment: 3 -// Size: 0x918 +// Size: 0x928 class CTriggerSoundscape : public CBaseTrigger { public: - CHandle< CEnvSoundscapeTriggerable > m_hSoundscape; // 0x8f0 + CHandle< CEnvSoundscapeTriggerable > m_hSoundscape; // 0x900 private: - [[maybe_unused]] uint8_t __pad08f4[0x4]; // 0x8f4 + [[maybe_unused]] uint8_t __pad0904[0x4]; // 0x904 public: - CUtlSymbolLarge m_SoundscapeName; // 0x8f8 - CUtlVector< CHandle< CBasePlayerPawn > > m_spectators; // 0x900 + CUtlSymbolLarge m_SoundscapeName; // 0x908 + CUtlVector< CHandle< CBasePlayerPawn > > m_spectators; // 0x910 }; // Alignment: 0 -// Size: 0x7b8 +// Size: 0x7c8 class CSpriteAlias_env_glow : public CSprite { public: @@ -88519,74 +89850,74 @@ public: }; // Alignment: 5 -// Size: 0x7f0 +// Size: 0x800 class CBasePlatTrain : public CBaseToggle { public: - CUtlSymbolLarge m_NoiseMoving; // 0x7c8 - CUtlSymbolLarge m_NoiseArrived; // 0x7d0 + CUtlSymbolLarge m_NoiseMoving; // 0x7d8 + CUtlSymbolLarge m_NoiseArrived; // 0x7e0 private: - [[maybe_unused]] uint8_t __pad07d8[0x8]; // 0x7d8 + [[maybe_unused]] uint8_t __pad07e8[0x8]; // 0x7e8 public: - float m_volume; // 0x7e0 - float m_flTWidth; // 0x7e4 - float m_flTLength; // 0x7e8 + float m_volume; // 0x7f0 + float m_flTWidth; // 0x7f4 + float m_flTLength; // 0x7f8 }; // Alignment: 1 -// Size: 0x7f8 +// Size: 0x808 class CFuncPlat : public CBasePlatTrain { public: - CUtlSymbolLarge m_sNoise; // 0x7f0 + CUtlSymbolLarge m_sNoise; // 0x800 }; // Alignment: 2 -// Size: 0x810 +// Size: 0x820 class CFuncPlatRot : public CFuncPlat { public: - QAngle m_end; // 0x7f8 - QAngle m_start; // 0x804 + QAngle m_end; // 0x808 + QAngle m_start; // 0x814 }; // Alignment: 6 -// Size: 0x810 +// Size: 0x820 class CFuncTrain : public CBasePlatTrain { public: - CHandle< CBaseEntity > m_hCurrentTarget; // 0x7f0 - bool m_activated; // 0x7f4 + CHandle< CBaseEntity > m_hCurrentTarget; // 0x800 + bool m_activated; // 0x804 private: - [[maybe_unused]] uint8_t __pad07f5[0x3]; // 0x7f5 + [[maybe_unused]] uint8_t __pad0805[0x3]; // 0x805 public: - CHandle< CBaseEntity > m_hEnemy; // 0x7f8 - float m_flBlockDamage; // 0x7fc - GameTime_t m_flNextBlockTime; // 0x800 + CHandle< CBaseEntity > m_hEnemy; // 0x808 + float m_flBlockDamage; // 0x80c + GameTime_t m_flNextBlockTime; // 0x810 private: - [[maybe_unused]] uint8_t __pad0804[0x4]; // 0x804 + [[maybe_unused]] uint8_t __pad0814[0x4]; // 0x814 public: - CUtlSymbolLarge m_iszLastTarget; // 0x808 + CUtlSymbolLarge m_iszLastTarget; // 0x818 }; // Alignment: 9 -// Size: 0x850 +// Size: 0x860 class CFuncTrackChange : public CFuncPlatRot { public: - CPathTrack* m_trackTop; // 0x810 - CPathTrack* m_trackBottom; // 0x818 - CFuncTrackTrain* m_train; // 0x820 - CUtlSymbolLarge m_trackTopName; // 0x828 - CUtlSymbolLarge m_trackBottomName; // 0x830 - CUtlSymbolLarge m_trainName; // 0x838 - TRAIN_CODE m_code; // 0x840 - int32_t m_targetState; // 0x844 - int32_t m_use; // 0x848 + CPathTrack* m_trackTop; // 0x820 + CPathTrack* m_trackBottom; // 0x828 + CFuncTrackTrain* m_train; // 0x830 + CUtlSymbolLarge m_trackTopName; // 0x838 + CUtlSymbolLarge m_trackBottomName; // 0x840 + CUtlSymbolLarge m_trainName; // 0x848 + TRAIN_CODE m_code; // 0x850 + int32_t m_targetState; // 0x854 + int32_t m_use; // 0x858 }; // Alignment: 0 -// Size: 0x850 +// Size: 0x860 class CFuncTrackAuto : public CFuncTrackChange { public: @@ -88594,31 +89925,31 @@ public: }; // Alignment: 1 -// Size: 0x918 +// Size: 0x928 class CTriggerRemove : public CBaseTrigger { public: - CEntityIOOutput m_OnRemove; // 0x8f0 + CEntityIOOutput m_OnRemove; // 0x900 }; // Alignment: 1 -// Size: 0x9a0 +// Size: 0x9b0 class CScriptTriggerHurt : public CTriggerHurt { public: - Vector m_vExtent; // 0x990 + Vector m_vExtent; // 0x9a0 }; // Alignment: 1 -// Size: 0x928 +// Size: 0x938 class CScriptTriggerMultiple : public CTriggerMultiple { public: - Vector m_vExtent; // 0x918 + Vector m_vExtent; // 0x928 }; // Alignment: 0 -// Size: 0x918 +// Size: 0x928 class CTriggerOnce : public CTriggerMultiple { public: @@ -88626,85 +89957,85 @@ public: }; // Alignment: 1 -// Size: 0x928 +// Size: 0x938 class CScriptTriggerOnce : public CTriggerOnce { public: - Vector m_vExtent; // 0x918 + Vector m_vExtent; // 0x928 }; // Alignment: 15 -// Size: 0x9b8 +// Size: 0x9c8 class CTriggerLook : public CTriggerOnce { public: - CHandle< CBaseEntity > m_hLookTarget; // 0x918 - float m_flFieldOfView; // 0x91c - float m_flLookTime; // 0x920 - float m_flLookTimeTotal; // 0x924 - GameTime_t m_flLookTimeLast; // 0x928 - float m_flTimeoutDuration; // 0x92c - bool m_bTimeoutFired; // 0x930 - bool m_bIsLooking; // 0x931 - bool m_b2DFOV; // 0x932 - bool m_bUseVelocity; // 0x933 - CHandle< CBaseEntity > m_hActivator; // 0x934 + CHandle< CBaseEntity > m_hLookTarget; // 0x928 + float m_flFieldOfView; // 0x92c + float m_flLookTime; // 0x930 + float m_flLookTimeTotal; // 0x934 + GameTime_t m_flLookTimeLast; // 0x938 + float m_flTimeoutDuration; // 0x93c + bool m_bTimeoutFired; // 0x940 + bool m_bIsLooking; // 0x941 + bool m_b2DFOV; // 0x942 + bool m_bUseVelocity; // 0x943 + CHandle< CBaseEntity > m_hActivator; // 0x944 // MNetworkEnable - bool m_bTestOcclusion; // 0x938 + bool m_bTestOcclusion; // 0x948 private: - [[maybe_unused]] uint8_t __pad0939[0x7]; // 0x939 + [[maybe_unused]] uint8_t __pad0949[0x7]; // 0x949 public: - CEntityIOOutput m_OnTimeout; // 0x940 - CEntityIOOutput m_OnStartLook; // 0x968 - CEntityIOOutput m_OnEndLook; // 0x990 + CEntityIOOutput m_OnTimeout; // 0x950 + CEntityIOOutput m_OnStartLook; // 0x978 + CEntityIOOutput m_OnEndLook; // 0x9a0 }; // Alignment: 5 -// Size: 0x918 +// Size: 0x928 class CTriggerPush : public CBaseTrigger { public: - QAngle m_angPushEntitySpace; // 0x8f0 - Vector m_vecPushDirEntitySpace; // 0x8fc - bool m_bTriggerOnStartTouch; // 0x908 + QAngle m_angPushEntitySpace; // 0x900 + Vector m_vecPushDirEntitySpace; // 0x90c + bool m_bTriggerOnStartTouch; // 0x918 private: - [[maybe_unused]] uint8_t __pad0909[0x3]; // 0x909 + [[maybe_unused]] uint8_t __pad0919[0x3]; // 0x919 public: - float m_flAlternateTicksFix; // 0x90c - float m_flPushSpeed; // 0x910 + float m_flAlternateTicksFix; // 0x91c + float m_flPushSpeed; // 0x920 }; // Alignment: 1 -// Size: 0x928 +// Size: 0x938 class CScriptTriggerPush : public CTriggerPush { public: - Vector m_vExtent; // 0x918 + Vector m_vExtent; // 0x928 }; // Alignment: 1 -// Size: 0x8f8 +// Size: 0x908 class CTriggerToggleSave : public CBaseTrigger { public: - bool m_bDisabled; // 0x8f0 + bool m_bDisabled; // 0x900 }; // Alignment: 3 -// Size: 0x900 +// Size: 0x910 class CTriggerSave : public CBaseTrigger { public: - bool m_bForceNewLevelUnit; // 0x8f0 + bool m_bForceNewLevelUnit; // 0x900 private: - [[maybe_unused]] uint8_t __pad08f1[0x3]; // 0x8f1 + [[maybe_unused]] uint8_t __pad0901[0x3]; // 0x901 public: - float m_fDangerousTimer; // 0x8f4 - int32_t m_minHitPoints; // 0x8f8 + float m_fDangerousTimer; // 0x904 + int32_t m_minHitPoints; // 0x908 }; // Alignment: 0 -// Size: 0x8f0 +// Size: 0x900 class CTriggerGravity : public CBaseTrigger { public: @@ -88712,36 +90043,36 @@ public: }; // Alignment: 5 -// Size: 0x930 +// Size: 0x940 class CTriggerProximity : public CBaseTrigger { public: - CHandle< CBaseEntity > m_hMeasureTarget; // 0x8f0 + CHandle< CBaseEntity > m_hMeasureTarget; // 0x900 private: - [[maybe_unused]] uint8_t __pad08f4[0x4]; // 0x8f4 + [[maybe_unused]] uint8_t __pad0904[0x4]; // 0x904 public: - CUtlSymbolLarge m_iszMeasureTarget; // 0x8f8 - float m_fRadius; // 0x900 - int32_t m_nTouchers; // 0x904 - CEntityOutputTemplate< float32 > m_NearestEntityDistance; // 0x908 + CUtlSymbolLarge m_iszMeasureTarget; // 0x908 + float m_fRadius; // 0x910 + int32_t m_nTouchers; // 0x914 + CEntityOutputTemplate< float32 > m_NearestEntityDistance; // 0x918 }; // Alignment: 4 -// Size: 0x950 +// Size: 0x960 class CTriggerImpact : public CTriggerMultiple { public: - float m_flMagnitude; // 0x918 - float m_flNoise; // 0x91c - float m_flViewkick; // 0x920 + float m_flMagnitude; // 0x928 + float m_flNoise; // 0x92c + float m_flViewkick; // 0x930 private: - [[maybe_unused]] uint8_t __pad0924[0x4]; // 0x924 + [[maybe_unused]] uint8_t __pad0934[0x4]; // 0x934 public: - CEntityOutputTemplate< Vector > m_pOutputForce; // 0x928 + CEntityOutputTemplate< Vector > m_pOutputForce; // 0x938 }; // Alignment: 0 -// Size: 0x8f0 +// Size: 0x900 class CServerRagdollTrigger : public CBaseTrigger { public: @@ -88749,71 +90080,71 @@ public: }; // Alignment: 2 -// Size: 0x920 +// Size: 0x930 class CTriggerActiveWeaponDetect : public CBaseTrigger { public: - CEntityIOOutput m_OnTouchedActiveWeapon; // 0x8f0 - CUtlSymbolLarge m_iszWeaponClassName; // 0x918 + CEntityIOOutput m_OnTouchedActiveWeapon; // 0x900 + CUtlSymbolLarge m_iszWeaponClassName; // 0x928 }; // Alignment: 13 -// Size: 0x950 +// Size: 0x960 class CTriggerPhysics : public CBaseTrigger { private: - [[maybe_unused]] uint8_t __pad08f0[0x10]; // 0x8f0 + [[maybe_unused]] uint8_t __pad0900[0x10]; // 0x900 public: - float m_gravityScale; // 0x900 - float m_linearLimit; // 0x904 - float m_linearDamping; // 0x908 - float m_angularLimit; // 0x90c - float m_angularDamping; // 0x910 - float m_linearForce; // 0x914 - float m_flFrequency; // 0x918 - float m_flDampingRatio; // 0x91c - Vector m_vecLinearForcePointAt; // 0x920 - bool m_bCollapseToForcePoint; // 0x92c + float m_gravityScale; // 0x910 + float m_linearLimit; // 0x914 + float m_linearDamping; // 0x918 + float m_angularLimit; // 0x91c + float m_angularDamping; // 0x920 + float m_linearForce; // 0x924 + float m_flFrequency; // 0x928 + float m_flDampingRatio; // 0x92c + Vector m_vecLinearForcePointAt; // 0x930 + bool m_bCollapseToForcePoint; // 0x93c private: - [[maybe_unused]] uint8_t __pad092d[0x3]; // 0x92d + [[maybe_unused]] uint8_t __pad093d[0x3]; // 0x93d public: - Vector m_vecLinearForcePointAtWorld; // 0x930 - Vector m_vecLinearForceDirection; // 0x93c - bool m_bConvertToDebrisWhenPossible; // 0x948 + Vector m_vecLinearForcePointAtWorld; // 0x940 + Vector m_vecLinearForceDirection; // 0x94c + bool m_bConvertToDebrisWhenPossible; // 0x958 }; // Alignment: 2 -// Size: 0x920 +// Size: 0x930 class CTriggerDetectBulletFire : public CBaseTrigger { public: - bool m_bPlayerFireOnly; // 0x8f0 + bool m_bPlayerFireOnly; // 0x900 private: - [[maybe_unused]] uint8_t __pad08f1[0x7]; // 0x8f1 + [[maybe_unused]] uint8_t __pad0901[0x7]; // 0x901 public: - CEntityIOOutput m_OnDetectedBulletFire; // 0x8f8 + CEntityIOOutput m_OnDetectedBulletFire; // 0x908 }; // Alignment: 1 -// Size: 0x950 +// Size: 0x960 class CTriggerDetectExplosion : public CBaseTrigger { private: - [[maybe_unused]] uint8_t __pad08f0[0x38]; // 0x8f0 + [[maybe_unused]] uint8_t __pad0900[0x38]; // 0x900 public: - CEntityIOOutput m_OnDetectedExplosion; // 0x928 + CEntityIOOutput m_OnDetectedExplosion; // 0x938 }; // Alignment: 1 -// Size: 0x768 +// Size: 0x778 class CScriptNavBlocker : public CFuncNavBlocker { public: - Vector m_vExtent; // 0x758 + Vector m_vExtent; // 0x768 }; // Alignment: 7 -// Size: 0x7e8 +// Size: 0x7f8 class CBaseFlex : public CBaseAnimatingOverlay { public: @@ -88822,187 +90153,188 @@ public: // MNetworkMinValue "0.000000" // MNetworkMaxValue "1.000000" // MNetworkEncodeFlags - CNetworkUtlVectorBase< float32 > m_flexWeight; // 0x758 + CNetworkUtlVectorBase< float32 > m_flexWeight; // 0x768 // MNetworkEnable // MNetworkEncoder - Vector m_vLookTargetPosition; // 0x770 + Vector m_vLookTargetPosition; // 0x780 // MNetworkEnable - bool m_blinktoggle; // 0x77c + bool m_blinktoggle; // 0x78c private: - [[maybe_unused]] uint8_t __pad077d[0x53]; // 0x77d + [[maybe_unused]] uint8_t __pad078d[0x53]; // 0x78d public: - GameTime_t m_flAllowResponsesEndTime; // 0x7d0 - GameTime_t m_flLastFlexAnimationTime; // 0x7d4 - uint32_t m_nNextSceneEventId; // 0x7d8 - bool m_bUpdateLayerPriorities; // 0x7dc + GameTime_t m_flAllowResponsesEndTime; // 0x7e0 + GameTime_t m_flLastFlexAnimationTime; // 0x7e4 + uint32_t m_nNextSceneEventId; // 0x7e8 + bool m_bUpdateLayerPriorities; // 0x7ec }; // Alignment: 8 -// Size: 0x830 +// Size: 0x840 class CItem : public CBaseAnimatingActivity { private: - [[maybe_unused]] uint8_t __pad0758[0x8]; // 0x758 + [[maybe_unused]] uint8_t __pad0768[0x8]; // 0x768 public: - CEntityIOOutput m_OnPlayerTouch; // 0x760 - bool m_bActivateWhenAtRest; // 0x788 + CEntityIOOutput m_OnPlayerTouch; // 0x770 + bool m_bActivateWhenAtRest; // 0x798 private: - [[maybe_unused]] uint8_t __pad0789[0x7]; // 0x789 + [[maybe_unused]] uint8_t __pad0799[0x7]; // 0x799 public: - CEntityIOOutput m_OnCacheInteraction; // 0x790 - CEntityIOOutput m_OnPlayerPickup; // 0x7b8 - CEntityIOOutput m_OnGlovePulled; // 0x7e0 - Vector m_vOriginalSpawnOrigin; // 0x808 - QAngle m_vOriginalSpawnAngles; // 0x814 - bool m_bPhysStartAsleep; // 0x820 + CEntityIOOutput m_OnCacheInteraction; // 0x7a0 + CEntityIOOutput m_OnPlayerPickup; // 0x7c8 + CEntityIOOutput m_OnGlovePulled; // 0x7f0 + Vector m_vOriginalSpawnOrigin; // 0x818 + QAngle m_vOriginalSpawnAngles; // 0x824 + bool m_bPhysStartAsleep; // 0x830 }; // Alignment: 28 -// Size: 0xad0 +// Size: 0xb30 class CRagdollProp : public CBaseAnimGraph { private: - [[maybe_unused]] uint8_t __pad0928[0x8]; // 0x928 + [[maybe_unused]] uint8_t __pad0988[0x8]; // 0x988 public: - ragdoll_t m_ragdoll; // 0x930 - bool m_bStartDisabled; // 0x968 + ragdoll_t m_ragdoll; // 0x990 + bool m_bStartDisabled; // 0x9c8 private: - [[maybe_unused]] uint8_t __pad0969[0x7]; // 0x969 + [[maybe_unused]] uint8_t __pad09c9[0x7]; // 0x9c9 public: // MNetworkEnable // MNetworkEncoder - CNetworkUtlVectorBase< Vector > m_ragPos; // 0x970 + CNetworkUtlVectorBase< Vector > m_ragPos; // 0x9d0 // MNetworkEnable // MNetworkEncoder // MNetworkBitCount "13" - CNetworkUtlVectorBase< QAngle > m_ragAngles; // 0x988 + CNetworkUtlVectorBase< QAngle > m_ragAngles; // 0x9e8 // MNetworkEnable - CHandle< CBaseEntity > m_hRagdollSource; // 0x9a0 - uint32_t m_lastUpdateTickCount; // 0x9a4 - bool m_allAsleep; // 0x9a8 - bool m_bFirstCollisionAfterLaunch; // 0x9a9 + CHandle< CBaseEntity > m_hRagdollSource; // 0xa00 + uint32_t m_lastUpdateTickCount; // 0xa04 + bool m_allAsleep; // 0xa08 + bool m_bFirstCollisionAfterLaunch; // 0xa09 private: - [[maybe_unused]] uint8_t __pad09aa[0x2]; // 0x9aa + [[maybe_unused]] uint8_t __pad0a0a[0x2]; // 0xa0a public: - 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 + CHandle< CBaseEntity > m_hDamageEntity; // 0xa0c + CHandle< CBaseEntity > m_hKiller; // 0xa10 + CHandle< CBasePlayerPawn > m_hPhysicsAttacker; // 0xa14 + GameTime_t m_flLastPhysicsInfluenceTime; // 0xa18 + GameTime_t m_flFadeOutStartTime; // 0xa1c + float m_flFadeTime; // 0xa20 // MNetworkDisable - Vector m_vecLastOrigin; // 0x9c4 - GameTime_t m_flAwakeTime; // 0x9d0 - GameTime_t m_flLastOriginChangeTime; // 0x9d4 - int32_t m_nBloodColor; // 0x9d8 + Vector m_vecLastOrigin; // 0xa24 + GameTime_t m_flAwakeTime; // 0xa30 + GameTime_t m_flLastOriginChangeTime; // 0xa34 + int32_t m_nBloodColor; // 0xa38 private: - [[maybe_unused]] uint8_t __pad09dc[0x4]; // 0x9dc + [[maybe_unused]] uint8_t __pad0a3c[0x4]; // 0xa3c public: - CUtlSymbolLarge m_strOriginClassName; // 0x9e0 - CUtlSymbolLarge m_strSourceClassName; // 0x9e8 - bool m_bHasBeenPhysgunned; // 0x9f0 - bool m_bShouldTeleportPhysics; // 0x9f1 + CUtlSymbolLarge m_strOriginClassName; // 0xa40 + CUtlSymbolLarge m_strSourceClassName; // 0xa48 + bool m_bHasBeenPhysgunned; // 0xa50 + bool m_bShouldTeleportPhysics; // 0xa51 private: - [[maybe_unused]] uint8_t __pad09f2[0x2]; // 0x9f2 + [[maybe_unused]] uint8_t __pad0a52[0x2]; // 0xa52 public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1.000000" // MNetworkEncodeFlags - float m_flBlendWeight; // 0x9f4 - float m_flDefaultFadeScale; // 0x9f8 + float m_flBlendWeight; // 0xa54 + float m_flDefaultFadeScale; // 0xa58 private: - [[maybe_unused]] uint8_t __pad09fc[0x4]; // 0x9fc + [[maybe_unused]] uint8_t __pad0a5c[0x4]; // 0xa5c public: - CUtlVector< Vector > m_ragdollMins; // 0xa00 - CUtlVector< Vector > m_ragdollMaxs; // 0xa18 - bool m_bShouldDeleteActivationRecord; // 0xa30 + CUtlVector< Vector > m_ragdollMins; // 0xa60 + CUtlVector< Vector > m_ragdollMaxs; // 0xa78 + bool m_bShouldDeleteActivationRecord; // 0xa90 private: - [[maybe_unused]] uint8_t __pad0a31[0x5f]; // 0xa31 + [[maybe_unused]] uint8_t __pad0a91[0x5f]; // 0xa91 public: - bool m_bValidatePoweredRagdollPose; // 0xa90 + bool m_bValidatePoweredRagdollPose; // 0xaf0 }; // Alignment: 12 -// Size: 0x7e8 +// Size: 0x7f8 class CPhysMagnet : public CBaseAnimatingActivity { public: - CEntityIOOutput m_OnMagnetAttach; // 0x758 - CEntityIOOutput m_OnMagnetDetach; // 0x780 - float m_massScale; // 0x7a8 - float m_forceLimit; // 0x7ac - float m_torqueLimit; // 0x7b0 + CEntityIOOutput m_OnMagnetAttach; // 0x768 + CEntityIOOutput m_OnMagnetDetach; // 0x790 + float m_massScale; // 0x7b8 + float m_forceLimit; // 0x7bc + float m_torqueLimit; // 0x7c0 private: - [[maybe_unused]] uint8_t __pad07b4[0x4]; // 0x7b4 + [[maybe_unused]] uint8_t __pad07c4[0x4]; // 0x7c4 public: - CUtlVector< magnetted_objects_t > m_MagnettedEntities; // 0x7b8 - bool m_bActive; // 0x7d0 - bool m_bHasHitSomething; // 0x7d1 + CUtlVector< magnetted_objects_t > m_MagnettedEntities; // 0x7c8 + bool m_bActive; // 0x7e0 + bool m_bHasHitSomething; // 0x7e1 private: - [[maybe_unused]] uint8_t __pad07d2[0x2]; // 0x7d2 + [[maybe_unused]] uint8_t __pad07e2[0x2]; // 0x7e2 public: - float m_flTotalMass; // 0x7d4 - float m_flRadius; // 0x7d8 - GameTime_t m_flNextSuckTime; // 0x7dc - int32_t m_iMaxObjectsAttached; // 0x7e0 + float m_flTotalMass; // 0x7e4 + float m_flRadius; // 0x7e8 + GameTime_t m_flNextSuckTime; // 0x7ec + int32_t m_iMaxObjectsAttached; // 0x7f0 }; -// Alignment: 33 -// Size: 0xa38 +// Alignment: 34 +// Size: 0xa50 class CPhysicsProp : public CBreakableProp { private: - [[maybe_unused]] uint8_t __pad08d0[0x8]; // 0x8d0 + [[maybe_unused]] uint8_t __pad08e0[0x8]; // 0x8e0 public: - CEntityIOOutput m_MotionEnabled; // 0x8d8 - CEntityIOOutput m_OnAwakened; // 0x900 - CEntityIOOutput m_OnAwake; // 0x928 - CEntityIOOutput m_OnAsleep; // 0x950 - CEntityIOOutput m_OnPlayerUse; // 0x978 - CEntityIOOutput m_OnPlayerPickup; // 0x9a0 - CEntityIOOutput m_OnOutOfWorld; // 0x9c8 - float m_massScale; // 0x9f0 - float m_inertiaScale; // 0x9f4 - int32_t m_damageType; // 0x9f8 - int32_t m_damageToEnableMotion; // 0x9fc - float m_flForceToEnableMotion; // 0xa00 - bool m_bThrownByPlayer; // 0xa04 - bool m_bDroppedByPlayer; // 0xa05 - bool m_bTouchedByPlayer; // 0xa06 - bool m_bFirstCollisionAfterLaunch; // 0xa07 - int32_t m_iExploitableByPlayer; // 0xa08 - bool m_bHasBeenAwakened; // 0xa0c - bool m_bIsOverrideProp; // 0xa0d + CEntityIOOutput m_MotionEnabled; // 0x8e8 + CEntityIOOutput m_OnAwakened; // 0x910 + CEntityIOOutput m_OnAwake; // 0x938 + CEntityIOOutput m_OnAsleep; // 0x960 + CEntityIOOutput m_OnPlayerUse; // 0x988 + CEntityIOOutput m_OnPlayerPickup; // 0x9b0 + CEntityIOOutput m_OnOutOfWorld; // 0x9d8 + float m_massScale; // 0xa00 + float m_inertiaScale; // 0xa04 + float m_buoyancyScale; // 0xa08 + int32_t m_damageType; // 0xa0c + int32_t m_damageToEnableMotion; // 0xa10 + float m_flForceToEnableMotion; // 0xa14 + bool m_bThrownByPlayer; // 0xa18 + bool m_bDroppedByPlayer; // 0xa19 + bool m_bTouchedByPlayer; // 0xa1a + bool m_bFirstCollisionAfterLaunch; // 0xa1b + int32_t m_iExploitableByPlayer; // 0xa1c + bool m_bHasBeenAwakened; // 0xa20 + bool m_bIsOverrideProp; // 0xa21 private: - [[maybe_unused]] uint8_t __pad0a0e[0x2]; // 0xa0e + [[maybe_unused]] uint8_t __pad0a22[0x2]; // 0xa22 public: - GameTime_t m_fNextCheckDisableMotionContactsTime; // 0xa10 - int32_t m_iInitialGlowState; // 0xa14 - int32_t m_nGlowRange; // 0xa18 - int32_t m_nGlowRangeMin; // 0xa1c - Color m_glowColor; // 0xa20 - bool m_bForceNavIgnore; // 0xa24 - bool m_bNoNavmeshBlocker; // 0xa25 - bool m_bForceNpcExclude; // 0xa26 - bool m_bShouldAutoConvertBackFromDebris; // 0xa27 - bool m_bMuteImpactEffects; // 0xa28 + GameTime_t m_fNextCheckDisableMotionContactsTime; // 0xa24 + int32_t m_iInitialGlowState; // 0xa28 + int32_t m_nGlowRange; // 0xa2c + int32_t m_nGlowRangeMin; // 0xa30 + Color m_glowColor; // 0xa34 + bool m_bForceNavIgnore; // 0xa38 + bool m_bNoNavmeshBlocker; // 0xa39 + bool m_bForceNpcExclude; // 0xa3a + bool m_bShouldAutoConvertBackFromDebris; // 0xa3b + bool m_bMuteImpactEffects; // 0xa3c private: - [[maybe_unused]] uint8_t __pad0a29[0x7]; // 0xa29 + [[maybe_unused]] uint8_t __pad0a3d[0x7]; // 0xa3d public: - bool m_bAcceptDamageFromHeldObjects; // 0xa30 - bool m_bEnableUseOutput; // 0xa31 + bool m_bAcceptDamageFromHeldObjects; // 0xa44 + bool m_bEnableUseOutput; // 0xa45 // MNetworkEnable - bool m_bAwake; // 0xa32 + bool m_bAwake; // 0xa46 private: - [[maybe_unused]] uint8_t __pad0a33[0x1]; // 0xa33 + [[maybe_unused]] uint8_t __pad0a47[0x1]; // 0xa47 public: - int32_t m_nCollisionGroupOverride; // 0xa34 + int32_t m_nCollisionGroupOverride; // 0xa48 }; // Alignment: 0 -// Size: 0xa38 +// Size: 0xa50 class CPhysicsPropOverride : public CPhysicsProp { public: @@ -89010,46 +90342,38 @@ public: }; // Alignment: 5 -// Size: 0xa70 +// Size: 0xa88 class CPhysicsPropRespawnable : public CPhysicsProp { public: - Vector m_vOriginalSpawnOrigin; // 0xa38 - QAngle m_vOriginalSpawnAngles; // 0xa44 - Vector m_vOriginalMins; // 0xa50 - Vector m_vOriginalMaxs; // 0xa5c - float m_flRespawnDuration; // 0xa68 + Vector m_vOriginalSpawnOrigin; // 0xa50 + QAngle m_vOriginalSpawnAngles; // 0xa5c + Vector m_vOriginalMins; // 0xa68 + Vector m_vOriginalMaxs; // 0xa74 + float m_flRespawnDuration; // 0xa80 }; // Alignment: 3 -// Size: 0x928 +// Size: 0x938 class CEconEntity : public CBaseFlex { private: - [[maybe_unused]] uint8_t __pad07e8[0x10]; // 0x7e8 + [[maybe_unused]] uint8_t __pad07f8[0x10]; // 0x7f8 public: // MNetworkEnable - CAttributeContainer m_AttributeManager; // 0x7f8 - CHandle< CBaseEntity > m_hOldProvidee; // 0x920 - int32_t m_iOldOwnerClass; // 0x924 + CAttributeContainer m_AttributeManager; // 0x808 + CHandle< CBaseEntity > m_hOldProvidee; // 0x930 + int32_t m_iOldOwnerClass; // 0x934 }; // Alignment: 0 -// Size: 0x930 +// Size: 0x940 class CEconWearable : public CEconEntity { public: // No members available }; -// Alignment: 0 -// Size: 0x930 -class CTFWearableItem : public CEconWearable -{ -public: - // No members available -}; - // Alignment: 0 // Size: 0x20 class IBody : public INextBotComponent @@ -89059,7 +90383,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Fountain_Glyph : public CDOTA_Buff { public: @@ -89067,17 +90391,17 @@ public: }; // Alignment: 3 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Radar_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - bool m_bEverFound; // 0x11ec - bool m_bBonus; // 0x11ed + int32_t radius; // 0x12b8 + bool m_bEverFound; // 0x12bc + bool m_bBonus; // 0x12bd }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Courier_AutoDeliver : public CDOTA_Buff { public: @@ -89085,7 +90409,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Turbo_Courier_Haste : public CDOTA_Buff { public: @@ -89093,7 +90417,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Turbo_Courier_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -89101,7 +90425,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Jungle_Varmint : public CDOTA_Buff { public: @@ -89109,84 +90433,84 @@ public: }; // Alignment: 11 -// Size: 0x1228 +// Size: 0x12f8 class CDOTA_Modifier_JungleVarmint_Dive : public CDOTA_Buff { public: - float m_flTotalTime; // 0x11e8 - float m_flInitialVelocity; // 0x11ec - Vector m_vStartPosition; // 0x11f0 - Vector m_vTargetHorizontalDirection; // 0x11fc - float m_flCurrentTimeHoriz; // 0x1208 - float m_flCurrentTimeVert; // 0x120c - bool m_bInterrupted; // 0x1210 + float m_flTotalTime; // 0x12b8 + float m_flInitialVelocity; // 0x12bc + Vector m_vStartPosition; // 0x12c0 + Vector m_vTargetHorizontalDirection; // 0x12cc + float m_flCurrentTimeHoriz; // 0x12d8 + float m_flCurrentTimeVert; // 0x12dc + bool m_bInterrupted; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t distance; // 0x1214 - float speed; // 0x1218 - float acceleration; // 0x121c - int32_t radius; // 0x1220 + int32_t distance; // 0x12e4 + float speed; // 0x12e8 + float acceleration; // 0x12ec + int32_t radius; // 0x12f0 }; // Alignment: 5 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter_Active : public CDOTA_Buff { public: - int32_t scepter_move_speed_pct; // 0x11e8 - int32_t scepter_attack_speed; // 0x11ec - CHandle< CBaseEntity > m_hTarget; // 0x11f0 - bool m_bPassive; // 0x11f4 - bool m_bKillAtEnd; // 0x11f5 + int32_t scepter_move_speed_pct; // 0x12b8 + int32_t scepter_attack_speed; // 0x12bc + CHandle< CBaseEntity > m_hTarget; // 0x12c0 + bool m_bPassive; // 0x12c4 + bool m_bKillAtEnd; // 0x12c5 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Item_Helm_Of_The_Undying_Active : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 - bool m_bPassive; // 0x11ec + CHandle< CBaseEntity > m_hTarget; // 0x12b8 + bool m_bPassive; // 0x12bc }; // Alignment: 8 -// Size: 0x1218 +// Size: 0x12e8 class CDOTA_Modifier_Legion_Commander_Duel : public CDOTA_Buff { public: - int32_t reward_damage; // 0x11e8 - int32_t scepter_damage_reduction_pct; // 0x11ec - bool m_bAttacked; // 0x11f0 - bool m_bHadAVictor; // 0x11f1 + int32_t reward_damage; // 0x12b8 + int32_t scepter_damage_reduction_pct; // 0x12bc + bool m_bAttacked; // 0x12c0 + bool m_bHadAVictor; // 0x12c1 private: - [[maybe_unused]] uint8_t __pad11f2[0x2]; // 0x11f2 + [[maybe_unused]] uint8_t __pad12c2[0x2]; // 0x12c2 public: - GameTime_t m_flTimeDuelStart; // 0x11f4 - CHandle< CBaseEntity > m_hPartner; // 0x11f8 - float m_flNextTime; // 0x11fc - CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x1200 + GameTime_t m_flTimeDuelStart; // 0x12c4 + CHandle< CBaseEntity > m_hPartner; // 0x12c8 + float m_flNextTime; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x12d0 }; // Alignment: 2 -// Size: 0x778 +// Size: 0x788 class CDOTA_Item_Tombstone_Drop : public CDOTA_Item_Physical { public: - int32_t m_iTempViewer; // 0x770 - int32_t m_iTeam; // 0x774 + int32_t m_iTempViewer; // 0x780 + int32_t m_iTeam; // 0x784 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_JungleVarmint_Creator : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hVarmint; // 0x11e8 + CHandle< CBaseEntity > m_hVarmint; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Outpost_Summoning : public CDOTA_Buff { public: @@ -89194,7 +90518,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Watch_Tower_Capturing : public CDOTA_Buff { public: @@ -89202,32 +90526,32 @@ public: }; // Alignment: 12 -// Size: 0x1230 +// Size: 0x1300 class CDOTA_Modifier_Watch_Tower : public CDOTA_Buff { public: - int32_t m_nTeamNumber; // 0x11e8 - int32_t m_iCapturingTeam; // 0x11ec - float m_flCaptureProgress; // 0x11f0 - float m_flBonusTime; // 0x11f4 - bool m_bInitialSetupDone; // 0x11f8 + int32_t m_nTeamNumber; // 0x12b8 + int32_t m_iCapturingTeam; // 0x12bc + float m_flCaptureProgress; // 0x12c0 + float m_flBonusTime; // 0x12c4 + bool m_bInitialSetupDone; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t m_iOriginalTeam; // 0x11fc - CHandle< CBaseEntity > m_hPreviousHero; // 0x1200 + int32_t m_iOriginalTeam; // 0x12cc + CHandle< CBaseEntity > m_hPreviousHero; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< PlayerID_t > m_vecLastCreditedPlayerIDs; // 0x1208 - float m_flAccumulatedCaptureTime; // 0x1220 - int32_t m_iBonusCount; // 0x1224 - ParticleIndex_t m_nFxOutpostAmbient; // 0x1228 - ParticleIndex_t m_nFxOutpostInitialAmbient; // 0x122c + CUtlVector< PlayerID_t > m_vecLastCreditedPlayerIDs; // 0x12d8 + float m_flAccumulatedCaptureTime; // 0x12f0 + int32_t m_iBonusCount; // 0x12f4 + ParticleIndex_t m_nFxOutpostAmbient; // 0x12f8 + ParticleIndex_t m_nFxOutpostInitialAmbient; // 0x12fc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Watch_Tower_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -89235,7 +90559,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Watch_Tower_Invulnerable_Temporary : public CDOTA_Modifier_Invulnerable { public: @@ -89243,7 +90567,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Watch_Tower_Marker : public CDOTA_Buff { public: @@ -89251,7 +90575,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lamp_Ready : public CDOTA_Buff { public: @@ -89259,7 +90583,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Lamp_On : public CDOTA_Buff { public: @@ -89267,46 +90591,45 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Lamp_Off : public CDOTA_Buff { public: - int32_t m_iTempViewer; // 0x11e8 + int32_t m_iTempViewer; // 0x12b8 }; -// Alignment: 5 -// Size: 0x1200 +// Alignment: 4 +// Size: 0x12c8 class CDOTA_Modifier_Twin_Gate_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nPortalAmbientFX; // 0x11e8 - float m_fPortalRadius; // 0x11ec - ParticleIndex_t m_nChannelFX; // 0x11f0 - int32_t m_nChannelCount; // 0x11f4 - ParticleIndex_t m_nCountdownFX; // 0x11f8 + ParticleIndex_t m_nPortalAmbientFX; // 0x12b8 + float m_fPortalRadius; // 0x12bc + ParticleIndex_t m_nChannelFX; // 0x12c0 + int32_t m_nChannelCount; // 0x12c4 }; // Alignment: 12 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Twin_Gate_Warp_Channel : public CDOTA_Buff { public: - ParticleIndex_t m_nfxTargetTp; // 0x11e8 - ParticleIndex_t m_nfxTargetTp2; // 0x11ec - ParticleIndex_t m_nfxAmbientFx; // 0x11f0 - ParticleIndex_t m_nfxPortal1; // 0x11f4 - ParticleIndex_t m_nfxPortal2; // 0x11f8 - CHandle< CBaseEntity > m_hPortal; // 0x11fc - CHandle< CBaseEntity > m_hOtherPortal; // 0x1200 - Vector m_vStartPosition; // 0x1204 - float m_flTotalTime; // 0x1210 - float m_flElapsedTimePortion; // 0x1214 - float animation_rate; // 0x1218 - int32_t stop_distance; // 0x121c + ParticleIndex_t m_nfxTargetTp; // 0x12b8 + ParticleIndex_t m_nfxTargetTp2; // 0x12bc + ParticleIndex_t m_nfxAmbientFx; // 0x12c0 + ParticleIndex_t m_nfxPortal1; // 0x12c4 + ParticleIndex_t m_nfxPortal2; // 0x12c8 + CHandle< CBaseEntity > m_hPortal; // 0x12cc + CHandle< CBaseEntity > m_hOtherPortal; // 0x12d0 + Vector m_vStartPosition; // 0x12d4 + float m_flTotalTime; // 0x12e0 + float m_flElapsedTimePortion; // 0x12e4 + float animation_rate; // 0x12e8 + int32_t stop_distance; // 0x12ec }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_Vampire_Aura : public CDOTA_Buff { public: @@ -89314,28 +90637,28 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mutation_Vampire : public CDOTA_Buff { public: - int32_t m_iLifeStealPct; // 0x11e8 - int32_t m_iHealthDrain; // 0x11ec + int32_t m_iLifeStealPct; // 0x12b8 + int32_t m_iHealthDrain; // 0x12bc }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Mutation_Spellcast : public CDOTA_Buff { public: - CUtlVector< CDOTABaseAbility* > m_vecAbilities; // 0x11e8 - float m_fNextCastTime; // 0x1200 - float m_fCastInterval; // 0x1204 - float m_fWarningTime; // 0x1208 - int32_t m_iNextAbility; // 0x120c + CUtlVector< CDOTABaseAbility* > m_vecAbilities; // 0x12b8 + float m_fNextCastTime; // 0x12d0 + float m_fCastInterval; // 0x12d4 + float m_fWarningTime; // 0x12d8 + int32_t m_iNextAbility; // 0x12dc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_DeathExplosion_Aura : public CDOTA_Buff { public: @@ -89343,7 +90666,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_DeathExplosion_TeamAura : public CDOTA_Modifier_Mutation_DeathExplosion_Aura { public: @@ -89351,7 +90674,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_DeathExplosion : public CDOTA_Buff { public: @@ -89359,17 +90682,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_DeathExplosionDelayed : public CDOTA_Buff { public: - int32_t m_iDamageBase; // 0x11e8 - int32_t m_iDamagePerLevel; // 0x11ec - int32_t m_iRadius; // 0x11f0 + int32_t m_iDamageBase; // 0x12b8 + int32_t m_iDamagePerLevel; // 0x12bc + int32_t m_iRadius; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_NoHealthBars_Aura : public CDOTA_Buff { public: @@ -89377,7 +90700,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_StationaryDamageReduction_Aura : public CDOTA_Buff { public: @@ -89385,15 +90708,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mutation_StationaryDamageReduction : public CDOTA_Buff { public: - int32_t m_iReductionPct; // 0x11e8 + int32_t m_iReductionPct; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_CreateTombstone_Aura : public CDOTA_Buff { public: @@ -89401,7 +90724,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_CreateTombstone_Team_Aura : public CDOTA_Modifier_Mutation_CreateTombstone_Aura { public: @@ -89409,7 +90732,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_CreateTombstone : public CDOTA_Buff { public: @@ -89417,7 +90740,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_KillstreakPower_Aura : public CDOTA_Buff { public: @@ -89425,17 +90748,17 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_KillstreakPower : public CDOTA_Buff { public: - int32_t m_iDamageDonePct; // 0x11e8 - int32_t m_iDamageTakenPct; // 0x11ec - int32_t m_iModelScale; // 0x11f0 + int32_t m_iDamageDonePct; // 0x12b8 + int32_t m_iDamageTakenPct; // 0x12bc + int32_t m_iModelScale; // 0x12c0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_Treecutter_Aura : public CDOTA_Buff { public: @@ -89443,23 +90766,23 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mutation_Treecutter : public CDOTA_Buff { public: - int32_t m_iRadius; // 0x11e8 + int32_t m_iRadius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mutation_FreeRapiers_Team : public CDOTA_Buff { public: - int32_t m_nLastInterval; // 0x11e8 + int32_t m_nLastInterval; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_Cooldown_Reduction_Team_Aura : public CDOTA_Buff { public: @@ -89467,15 +90790,15 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mutation_Cooldown_Reduction : public CDOTA_Buff { public: - int32_t m_iCooldownReduction; // 0x11e8 + int32_t m_iCooldownReduction; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_CritChance_Team_Aura : public CDOTA_Buff { public: @@ -89483,16 +90806,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Mutation_Crit_Chance : public CDOTA_Buff { public: - int32_t m_iChance; // 0x11e8 - int32_t m_iDamageMultiplier; // 0x11ec + int32_t m_iChance; // 0x12b8 + int32_t m_iDamageMultiplier; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_PocketRoshan_Team : public CDOTA_Buff { public: @@ -89500,7 +90823,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Mutation_DropItemOnDeath_Team : public CDOTA_Buff { public: @@ -89508,17 +90831,17 @@ public: }; // Alignment: 4 -// Size: 0x1268 +// Size: 0x1338 class CDOTA_Modifier_ContextualTips : public CDOTA_Buff { public: - bool m_bAllEnemiesBots; // 0x11e8 + bool m_bAllEnemiesBots; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - GameTime_t m_flGloblLastTipSendTime; // 0x11ec - GameTime_t m_flLastEnemyHeroDamageTime; // 0x11f0 - GameTime_t m_flLastEnemyHeroVisibleTime; // 0x11f4 + GameTime_t m_flGloblLastTipSendTime; // 0x12bc + GameTime_t m_flLastEnemyHeroDamageTime; // 0x12c0 + GameTime_t m_flLastEnemyHeroVisibleTime; // 0x12c4 // 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);}; @@ -89526,7 +90849,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_731_Teaser_Stun : public CDOTA_Buff { public: @@ -89534,7 +90857,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_731_Teaser_Thinker : public CDOTA_Buff { public: @@ -89542,153 +90865,153 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Neutral_Sleep_AI : public CDOTA_Buff { public: - ParticleIndex_t m_iFXIndex; // 0x11e8 + ParticleIndex_t m_iFXIndex; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Neutral_Creep_Lost : public CDOTA_Buff { public: - bool m_bActive; // 0x11e8 + bool m_bActive; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - GameTime_t m_flCreationTime; // 0x11ec - ParticleIndex_t m_iFXIndex; // 0x11f0 + GameTime_t m_flCreationTime; // 0x12bc + ParticleIndex_t m_iFXIndex; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_KoboldTaskmaster_SpeedAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_KoboldTaskmaster_SpeedAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x11e8 + int32_t bonus_movement_speed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_CentaurKhan_EnduranceAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_CentaurKhan_EnduranceAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x11e8 + int32_t bonus_attack_speed; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spawnlord_Master_Stomp : public CDOTA_Buff { public: - int32_t armor_reduction_pct; // 0x11e8 - float m_flArmorReduction; // 0x11ec + int32_t armor_reduction_pct; // 0x12b8 + float m_flArmorReduction; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spawnlord_Master_Freeze : public CDOTA_Buff { public: - bool m_bFreezeAttack; // 0x11e8 + bool m_bFreezeAttack; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 + [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 public: - ParticleIndex_t m_nFXIndex; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spawnlord_Master_Freeze_Root : public CDOTA_Buff { public: - int32_t max_ticks; // 0x11e8 - float damage; // 0x11ec + int32_t max_ticks; // 0x12b8 + float damage; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_GnollAssassin_EnvenomedWeapon : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x11e8 - float non_hero_duration; // 0x11ec - float hero_duration; // 0x11f0 + int32_t damage_per_second; // 0x12b8 + float non_hero_duration; // 0x12bc + float hero_duration; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_GnollAssassin_EnvenomedWeapon_Poison : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x11e8 - int32_t regen_reduction; // 0x11ec + int32_t damage_per_second; // 0x12b8 + int32_t regen_reduction; // 0x12bc }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Ghost_FrostAttack : public CDOTA_Buff { public: - float duration; // 0x11e8 - int32_t movespeed_slow; // 0x11ec - int32_t attackspeed_slow; // 0x11f0 + float duration; // 0x12b8 + int32_t movespeed_slow; // 0x12bc + int32_t attackspeed_slow; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Ghost_FrostAttack_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 - int32_t attackspeed_slow; // 0x11ec + int32_t movespeed_slow; // 0x12b8 + int32_t attackspeed_slow; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_PolarFurbolgUrsaWarrior_ThunderClap : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 - int32_t attackspeed_slow; // 0x11ec + int32_t movespeed_slow; // 0x12b8 + int32_t attackspeed_slow; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_WarpineRaider_SeedShot : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x11e8 + CHandle< CBaseEntity > m_hTarget; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_WarpineRaider_SeedShot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x11e8 + int32_t slow; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Neutral_SpellImmunity : public CDOTA_Modifier_MagicImmune { public: @@ -89696,7 +91019,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Neutral_SpellImmunity_Visible : public CDOTA_Modifier_MagicImmune { public: @@ -89704,25 +91027,25 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_OgreMagi_FrostArmor : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x11e8 - float slow_duration; // 0x11ec + int32_t armor_bonus; // 0x12b8 + float slow_duration; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_OgreMagi_FrostArmor_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 - int32_t attackspeed_slow; // 0x11ec + int32_t movespeed_slow; // 0x12b8 + int32_t attackspeed_slow; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DarkTrollWarlord_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -89730,28 +91053,28 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_GiantWolf_CriticalStrike : public CDOTA_Buff { public: - int32_t crit_mult; // 0x11e8 - int32_t crit_chance; // 0x11ec + int32_t crit_mult; // 0x12b8 + int32_t crit_chance; // 0x12bc }; // Alignment: 5 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_MudGolem_RockDestroy : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - float duration; // 0x11ec - int32_t shard_health; // 0x11f0 - int32_t shard_damage; // 0x11f4 - int32_t shard_duration; // 0x11f8 + int32_t radius; // 0x12b8 + float duration; // 0x12bc + int32_t shard_health; // 0x12c0 + int32_t shard_damage; // 0x12c4 + int32_t shard_duration; // 0x12c8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_MudGolem_Rock_Shard : public CDOTA_Buff { public: @@ -89759,7 +91082,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DoNotCastEnsnare : public CDOTA_Buff { public: @@ -89767,7 +91090,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DoNotCastRock : public CDOTA_Buff { public: @@ -89775,7 +91098,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_DoNotCastSmash : public CDOTA_Buff { public: @@ -89783,118 +91106,118 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AlphaWolf_CriticalStrike : public CDOTA_Buff { public: - int32_t crit_mult; // 0x11e8 - int32_t crit_chance; // 0x11ec + int32_t crit_mult; // 0x12b8 + int32_t crit_chance; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AncientRockGolem_Weakening_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AncientRockGolem_Weakening : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x11e8 + int32_t armor_reduction; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BlackDrake_MagicAmplification_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BlackDrake_MagicAmplification : public CDOTA_Buff { public: - int32_t spell_amp; // 0x11e8 + int32_t spell_amp; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AlphaWolf_CommandAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_AlphaWolf_CommandAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x11e8 + int32_t bonus_damage_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FrostbittenGolem_TimeWarpAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FrostbittenGolem_TimeWarpAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_cdr; // 0x11e8 + int32_t bonus_cdr; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_IceShaman_IncendiaryBomb : public CDOTA_Buff { public: - int32_t burn_damage; // 0x11e8 - int32_t building_damage_pct; // 0x11ec + int32_t burn_damage; // 0x12b8 + int32_t building_damage_pct; // 0x12bc }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Tornado_Tempest : public CDOTA_Buff { public: - int32_t near_radius; // 0x11e8 - int32_t near_damage; // 0x11ec - int32_t far_radius; // 0x11f0 - int32_t far_damage; // 0x11f4 - float tick_rate; // 0x11f8 + int32_t near_radius; // 0x12b8 + int32_t near_damage; // 0x12bc + int32_t far_radius; // 0x12c0 + int32_t far_damage; // 0x12c4 + float tick_rate; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Tornado_Tempest_Debuff : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 - int32_t attackspeed_slow; // 0x11ec + int32_t movespeed_slow; // 0x12b8 + int32_t attackspeed_slow; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Wildkin_Tornado : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tornado_ExpirationTime : public CDOTA_Buff { public: @@ -89902,241 +91225,241 @@ public: }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_EnragedWildkin_Hurricane : public CDOTA_Buff { public: - Vector m_vDirection; // 0x11e8 - float m_flEndTime; // 0x11f4 - float m_flCurTime; // 0x11f8 - ParticleIndex_t m_FX; // 0x11fc - int32_t distance; // 0x1200 + Vector m_vDirection; // 0x12b8 + float m_flEndTime; // 0x12c4 + float m_flCurTime; // 0x12c8 + ParticleIndex_t m_FX; // 0x12cc + int32_t distance; // 0x12d0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BerserkerTroll_Break : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Kobold_Disarm : public CDOTA_Buff { public: - float duration; // 0x11e8 + float duration; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EnragedWildkin_ToughnessAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_EnragedWildkin_ToughnessAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_GraniteGolem_HPAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_GraniteGolem_HPAura_Bonus : public CDOTA_Buff { public: - float bonus_hp; // 0x11e8 + float bonus_hp; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SatyrTrickster_Purge : public CDOTA_Buff { public: - int32_t purge_rate; // 0x11e8 + int32_t purge_rate; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SatyrSoulstealer_ManaBurn : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SatyrHellcaller_UnholyAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_SatyrHellcaller_UnholyAura_Bonus : public CDOTA_Buff { public: - float health_regen; // 0x11e8 + float health_regen; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spawnlord_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Spawnlord_Aura_Bonus : public CDOTA_Buff { public: - int32_t lifesteal; // 0x11e8 - int32_t hp_regen; // 0x11ec + int32_t lifesteal; // 0x12b8 + int32_t hp_regen; // 0x12bc }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ForestTrollHighPriest_HealAutocast : public CDOTA_Buff { public: - int32_t health; // 0x11e8 - CHandle< CBaseEntity > m_hHealTarget; // 0x11ec + int32_t health; // 0x12b8 + CHandle< CBaseEntity > m_hHealTarget; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ForestTrollHighPriest_ManaAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_ForestTrollHighPriest_ManaAura_Bonus : public CDOTA_Buff { public: - float mana_regen; // 0x11e8 - int32_t allow_multiple; // 0x11ec - int32_t m_nAttributes; // 0x11f0 + float mana_regen; // 0x12b8 + int32_t allow_multiple; // 0x12bc + int32_t m_nAttributes; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ForestTrollHighPriest_HealAmp : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_ForestTrollHighPriest_HealAmp_Bonus : public CDOTA_Buff { public: - float heal_amp; // 0x11e8 + float heal_amp; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Furbolg_Enrage_AttackSpeed_OnDeath : public CDOTA_Buff { public: - float duration; // 0x11e8 - int32_t radius; // 0x11ec + float duration; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifer_Furbolg_Enrage_AttackSpeed : public CDOTA_Buff { public: - int32_t bonus_aspd; // 0x11e8 + int32_t bonus_aspd; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Furbolg_Enrage_Damage_OnDeath : public CDOTA_Buff { public: - float duration; // 0x11e8 - int32_t radius; // 0x11ec + float duration; // 0x12b8 + int32_t radius; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FelBeast_Haunt_OnDeath : public CDOTA_Buff { public: - int32_t projectile_speed; // 0x11e8 + int32_t projectile_speed; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_FelBeast_Haunt : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x11e8 + int32_t damage_per_second; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifer_Furbolg_Enrage_Damage : public CDOTA_Buff { public: - int32_t bonus_dmg_pct; // 0x11e8 + int32_t bonus_dmg_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_KoboldTunneler_ProspectingAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_KoboldTunneler_ProspectingAura_Money : public CDOTA_Buff { public: - int32_t gpm_aura; // 0x11e8 + int32_t gpm_aura; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_HillTroll_RallyAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_HillTroll_Rally : public CDOTA_Buff { public: - int32_t damage_bonus; // 0x11e8 + int32_t damage_bonus; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_HillTroll_Rally_Stack : public CDOTA_Buff { public: @@ -90144,16 +91467,16 @@ public: }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_HarpyScout_TakeOff : public CDOTA_Buff { public: - int32_t move_speed_penalty; // 0x11e8 - float cost_per_second; // 0x11ec + int32_t move_speed_penalty; // 0x12b8 + float cost_per_second; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_OgreSmash_Swing : public CDOTA_Buff { public: @@ -90161,164 +91484,164 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_GiantWolf_Intimidate : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x11e8 + int32_t damage_reduction; // 0x12b8 }; // Alignment: 6 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_HarpyStorm_ChainLightning : public CDOTA_Buff { public: - int32_t jump_range; // 0x11e8 - int32_t max_targets; // 0x11ec - float damage_percent_loss; // 0x11f0 - float m_flCurDamage; // 0x11f4 - Vector m_vJumpPosition; // 0x11f8 + int32_t jump_range; // 0x12b8 + int32_t max_targets; // 0x12bc + float damage_percent_loss; // 0x12c0 + float m_flCurDamage; // 0x12c4 + Vector m_vJumpPosition; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1208 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12d8 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_BlackDragon_Fireball_Thinker : public CDOTA_Buff { public: - float burn_interval; // 0x11e8 - int32_t radius; // 0x11ec - int32_t damage; // 0x11f0 + float burn_interval; // 0x12b8 + int32_t radius; // 0x12bc + int32_t damage; // 0x12c0 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BlackDragon_SplashAttack : public CDOTA_Buff { public: - int32_t range; // 0x11e8 - float damage_percent; // 0x11ec + int32_t range; // 0x12b8 + float damage_percent; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BlackDragon_DragonhideAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BlackDragon_DragonhideAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MudGolem_CloakAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MudGolem_CloakAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_magical_armor; // 0x11e8 - int32_t bonus_magical_armor_creeps; // 0x11ec + int32_t bonus_magical_armor; // 0x12b8 + int32_t bonus_magical_armor_creeps; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BlueDragonspawnSorcerer_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance_pct; // 0x11e8 + int32_t evasion_chance_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BlueDragonspawnOverseer_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance_pct; // 0x11e8 + int32_t evasion_chance_pct; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BlueDragonspawnOverseer_DevotionAura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BlueDragonspawnOverseer_DevotionAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x11e8 + int32_t bonus_armor; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BigThunderLizard_Wardrums : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BigThunderLizard_Wardrums_Aura : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x11e8 - int32_t accuracy; // 0x11ec + int32_t speed_bonus; // 0x12b8 + int32_t accuracy; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BigThunderLizard_Slam : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x11e8 + int32_t movespeed_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_BigThunderLizard_Frenzy : public CDOTA_Buff { public: - int32_t attackspeed_bonus; // 0x11e8 + int32_t attackspeed_bonus; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Greevil_Miniboss_Casting : public CDOTA_Buff { public: - int32_t cast_animation; // 0x11e8 + int32_t cast_animation; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Greevil_Miniboss_Black_Nightmare : public CDOTA_Buff { public: - float animation_rate; // 0x11e8 + float animation_rate; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Greevil_Miniboss_Black_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -90326,19 +91649,19 @@ public: }; // Alignment: 5 -// Size: 0x1208 +// Size: 0x12d8 class CDOTA_Modifier_Greevil_Miniboss_Blue_ColdFeet : public CDOTA_Buff { public: - Vector m_vecStartPosition; // 0x11e8 - int32_t m_nCurrentTick; // 0x11f4 - float damage; // 0x11f8 - int32_t break_distance; // 0x11fc - float stun_duration; // 0x1200 + Vector m_vecStartPosition; // 0x12b8 + int32_t m_nCurrentTick; // 0x12c4 + float damage; // 0x12c8 + int32_t break_distance; // 0x12cc + float stun_duration; // 0x12d0 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Greevil_Miniboss_Blue_ColdFeet_Freeze : public CDOTA_Modifier_Stunned { public: @@ -90346,53 +91669,53 @@ public: }; // Alignment: 5 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Greevil_Miniboss_Blue_IceVortexThinker : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t movement_speed_pct; // 0x11ec - int32_t spell_resist_pct; // 0x11f0 - ParticleIndex_t m_nFXIndex; // 0x11f4 - CUtlVector< CHandle< CBaseEntity > > m_hChilledEntities; // 0x11f8 + int32_t radius; // 0x12b8 + int32_t movement_speed_pct; // 0x12bc + int32_t spell_resist_pct; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c4 + CUtlVector< CHandle< CBaseEntity > > m_hChilledEntities; // 0x12c8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Greevil_Miniboss_Blue_IceVortex : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x11e8 - int32_t spell_resist_pct; // 0x11ec + int32_t movement_speed_pct; // 0x12b8 + int32_t spell_resist_pct; // 0x12bc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Greevil_Miniboss_Red_Earthshock : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 + int32_t movement_slow; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Greevil_Miniboss_Red_Overpower : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x11e8 + int32_t attack_speed_bonus_pct; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Greevil_Miniboss_Yellow_IonShell : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t damage_per_second; // 0x11ec + int32_t radius; // 0x12b8 + int32_t damage_per_second; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Greevil_Miniboss_Yellow_Surge : public CDOTA_Buff { public: @@ -90400,32 +91723,32 @@ public: }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Greevil_Miniboss_White_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Greevil_Miniboss_White_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x11e8 + int32_t speed_bonus; // 0x12b8 }; // Alignment: 2 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Greevil_Miniboss_Green_LivingArmor : public CDOTA_Buff { public: - int32_t health_regen; // 0x11e8 - int32_t damage_block; // 0x11ec + int32_t health_regen; // 0x12b8 + int32_t damage_block; // 0x12bc }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Greevil_Miniboss_Green_Overgrowth : public CDOTA_Buff { public: @@ -90433,102 +91756,102 @@ public: }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Greevil_Miniboss_Orange_LightStrikeArray_Thinker : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x11e8 - float m_flStunDuration; // 0x11ec - int32_t light_strike_array_aoe; // 0x11f0 + int32_t m_iDamage; // 0x12b8 + float m_flStunDuration; // 0x12bc + int32_t light_strike_array_aoe; // 0x12c0 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Greevil_Miniboss_Purple_VenomousGale : public CDOTA_Buff { public: - int32_t movement_slow; // 0x11e8 - int32_t tick_damage; // 0x11ec - float tick_interval; // 0x11f0 - float duration; // 0x11f4 + int32_t movement_slow; // 0x12b8 + int32_t tick_damage; // 0x12bc + float tick_interval; // 0x12c0 + float duration; // 0x12c4 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Greevil_Miniboss_Sight : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 + int32_t radius; // 0x12b8 }; // Alignment: 9 -// Size: 0x1210 +// Size: 0x12e0 class CDOTA_Modifier_Neutral_Upgrade : public CDOTA_Buff { public: - float increase_time; // 0x11e8 - int32_t increase_damage; // 0x11ec - int32_t increase_health; // 0x11f0 - float increase_armor; // 0x11f4 - int32_t increase_aspd; // 0x11f8 - int32_t increase_gold; // 0x11fc - int32_t increase_xp; // 0x1200 - int32_t current_level; // 0x1204 - int32_t max_level; // 0x1208 + float increase_time; // 0x12b8 + int32_t increase_damage; // 0x12bc + int32_t increase_health; // 0x12c0 + float increase_armor; // 0x12c4 + int32_t increase_aspd; // 0x12c8 + int32_t increase_gold; // 0x12cc + int32_t increase_xp; // 0x12d0 + int32_t current_level; // 0x12d4 + int32_t max_level; // 0x12d8 }; // Alignment: 4 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Creep_Siege : public CDOTA_Buff { public: - int32_t bonus_building_damage; // 0x11e8 - int32_t incoming_hero_damage_penalty; // 0x11ec - int32_t incoming_basic_damage_penalty; // 0x11f0 - int32_t incoming_controlled_unit_penalty; // 0x11f4 + int32_t bonus_building_damage; // 0x12b8 + int32_t incoming_hero_damage_penalty; // 0x12bc + int32_t incoming_basic_damage_penalty; // 0x12c0 + int32_t incoming_controlled_unit_penalty; // 0x12c4 }; // Alignment: 3 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_Creep_Piercing : public CDOTA_Buff { public: - int32_t creep_damage_bonus; // 0x11e8 - int32_t hero_damage_penalty; // 0x11ec - int32_t heavy_damage_penalty; // 0x11f0 + int32_t creep_damage_bonus; // 0x12b8 + int32_t hero_damage_penalty; // 0x12bc + int32_t heavy_damage_penalty; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Creep_Irresolute : public CDOTA_Buff { public: - int32_t hero_damage_penalty; // 0x11e8 + int32_t hero_damage_penalty; // 0x12b8 }; // Alignment: 6 -// Size: 0x1200 +// Size: 0x12d0 class CDOTA_Modifier_Creep_Bonus_XP : public CDOTA_Buff { public: - int32_t radius; // 0x11e8 - int32_t hero_damage_penalty; // 0x11ec - int32_t bonus_gold; // 0x11f0 - int32_t m_iGoldBounty; // 0x11f4 - ParticleIndex_t iBannerEffect; // 0x11f8 - ParticleIndex_t iRingEffect; // 0x11fc + int32_t radius; // 0x12b8 + int32_t hero_damage_penalty; // 0x12bc + int32_t bonus_gold; // 0x12c0 + int32_t m_iGoldBounty; // 0x12c4 + ParticleIndex_t iBannerEffect; // 0x12c8 + ParticleIndex_t iRingEffect; // 0x12cc }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_Flagbearer_Creep_Aura_Effect : public CDOTA_Buff { public: - int32_t bonus_health_regen; // 0x11e8 + int32_t bonus_health_regen; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Filler_Tooltip : public CDOTA_Buff { public: @@ -90536,27 +91859,27 @@ public: }; // Alignment: 2 -// Size: 0x11f8 +// Size: 0x12c8 class CDOTA_Modifier_MuertaReleaseEvent_RemoveGravestone : public CDOTA_Buff { public: - ParticleIndex_t m_nParticleIndex; // 0x11e8 + ParticleIndex_t m_nParticleIndex; // 0x12b8 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc public: - CUtlVector< ParticleIndex_t >* m_pActiveGravestones; // 0x11f0 + CUtlVector< ParticleIndex_t >* m_pActiveGravestones; // 0x12c0 }; // Alignment: 1 -// Size: 0x11f0 +// Size: 0x12c0 class CDOTA_Modifier_MuertaReleaseEvent : public CDOTA_Buff { public: - CHandle< CIngameEvent_MuertaReleaseSpring2023 > m_hEvent; // 0x11e8 + CHandle< CIngameEvent_MuertaReleaseSpring2023 > m_hEvent; // 0x12b8 }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_Tutorial_Sleep : public CDOTA_Modifier_Stunned { public: @@ -90564,7 +91887,7 @@ public: }; // Alignment: 0 -// Size: 0x11e8 +// Size: 0x12b8 class CDOTA_Modifier_ARDM_NewHero : public CDOTA_Modifier_Tutorial_Sleep { public: @@ -90572,15 +91895,15 @@ public: }; // Alignment: 1 -// Size: 0x1220 +// Size: 0x12f0 class CDOTA_Modifier_Gold_Bag_Launch : public CDOTA_Modifier_Knockback { public: - int32_t gold_amount; // 0x1218 + int32_t gold_amount; // 0x12e8 }; // Alignment: 0 -// Size: 0x618 +// Size: 0x628 class CDOTA_Item_Tier1Token : public CDOTA_Item_TierToken { public: @@ -90588,7 +91911,7 @@ public: }; // Alignment: 0 -// Size: 0x618 +// Size: 0x628 class CDOTA_Item_Tier2Token : public CDOTA_Item_TierToken { public: @@ -90596,7 +91919,7 @@ public: }; // Alignment: 0 -// Size: 0x618 +// Size: 0x628 class CDOTA_Item_Tier3Token : public CDOTA_Item_TierToken { public: @@ -90604,7 +91927,7 @@ public: }; // Alignment: 0 -// Size: 0x618 +// Size: 0x628 class CDOTA_Item_Tier4Token : public CDOTA_Item_TierToken { public: @@ -90612,7 +91935,7 @@ public: }; // Alignment: 0 -// Size: 0x618 +// Size: 0x628 class CDOTA_Item_Tier5Token : public CDOTA_Item_TierToken { public: @@ -90620,7 +91943,7 @@ public: }; // Alignment: 0 -// Size: 0x9e0 +// Size: 0x9f0 class CAdditionalWearable : public CDynamicProp { public: @@ -90628,25 +91951,25 @@ public: }; // Alignment: 5 -// Size: 0x938 +// Size: 0x948 class CDOTAWearableItem : public CEconWearable { public: // MNetworkEnable - bool m_bOwnerModelChanged; // 0x930 + bool m_bOwnerModelChanged; // 0x940 // MNetworkEnable - bool m_bIsGeneratingEconItem; // 0x931 + bool m_bIsGeneratingEconItem; // 0x941 // MNetworkEnable - bool m_bIsItemVisibleOnGeneratedEntity; // 0x932 + bool m_bIsItemVisibleOnGeneratedEntity; // 0x942 // MNetworkEnable // MNetworkChangeCallback "OnHideWearableButDrawAdditionalWearablesChanged" - bool m_bHideWearableButDrawAdditionalWearables; // 0x933 + bool m_bHideWearableButDrawAdditionalWearables; // 0x943 // MNetworkEnable - CHandle< CBaseAnimatingActivity > m_hAdditionalWearable; // 0x934 + CHandle< CBaseAnimatingActivity > m_hAdditionalWearable; // 0x944 }; // Alignment: 0 -// Size: 0x978 +// Size: 0x988 class CEnvDeferredSpotLight : public CEnvDeferredLight { public: @@ -90654,73 +91977,73 @@ public: }; // Alignment: 10 -// Size: 0xa00 +// Size: 0xa10 class CDOTA_GuildBannerDynamic : public CDynamicProp { public: // MNetworkEnable - bool m_bRespawnClientEntity; // 0x9e0 + bool m_bRespawnClientEntity; // 0x9f0 // MNetworkEnable - bool m_bPlaySpawnAnimation; // 0x9e1 + bool m_bPlaySpawnAnimation; // 0x9f1 // MNetworkEnable - uint8_t m_unGuildTier; // 0x9e2 + uint8_t m_unGuildTier; // 0x9f2 // MNetworkEnable - uint8_t m_unPrimaryColor; // 0x9e3 + uint8_t m_unPrimaryColor; // 0x9f3 // MNetworkEnable - uint8_t m_unSecondaryColor; // 0x9e4 + uint8_t m_unSecondaryColor; // 0x9f4 // MNetworkEnable - uint8_t m_unPattern; // 0x9e5 + uint8_t m_unPattern; // 0x9f5 private: - [[maybe_unused]] uint8_t __pad09e6[0x2]; // 0x9e6 + [[maybe_unused]] uint8_t __pad09f6[0x2]; // 0x9f6 public: // MNetworkEnable - uint64_t m_unLogo; // 0x9e8 + uint64_t m_unLogo; // 0x9f8 // MNetworkEnable - GuildID_t m_unGuildID; // 0x9f0 + GuildID_t m_unGuildID; // 0xa00 // MNetworkEnable - uint32_t m_unGuildFlags; // 0x9f4 + uint32_t m_unGuildFlags; // 0xa04 // MNetworkEnable - bool m_bUsePanelCache; // 0x9f8 + bool m_bUsePanelCache; // 0xa08 }; // Alignment: 1 -// Size: 0x9e8 +// Size: 0x9f8 class CDOTAPropCustomTexture : public CDynamicProp { public: // MNetworkEnable - uint32_t m_unTeamID; // 0x9e0 + uint32_t m_unTeamID; // 0x9f0 }; // Alignment: 1 -// Size: 0x9e8 +// Size: 0x9f8 class CDOTAPropConsumableBanner : public CDynamicProp { public: // MNetworkEnable - bool m_bUseAvatar; // 0x9e0 + bool m_bUseAvatar; // 0x9f0 }; // Alignment: 1 -// Size: 0xa08 +// Size: 0xa18 class CDOTAPropTI10PlayerGuildBanner : public CDOTA_GuildBannerDynamic { public: // MNetworkEnable - int32_t m_nPlayerID; // 0xa00 + int32_t m_nPlayerID; // 0xa10 }; // Alignment: 1 -// Size: 0xa08 +// Size: 0xa18 class CDOTAPropPlusPlayerGuildBanner : public CDOTA_GuildBannerDynamic { public: // MNetworkEnable - int32_t m_nPlayerID; // 0xa00 + int32_t m_nPlayerID; // 0xa10 }; // Alignment: 0 -// Size: 0x4f0 +// Size: 0x500 class CInfoPlayerStartGoodGuys : public CInfoPlayerStartDota { public: @@ -90728,7 +92051,7 @@ public: }; // Alignment: 0 -// Size: 0x4f0 +// Size: 0x500 class CInfoPlayerStartBadGuys : public CInfoPlayerStartDota { public: @@ -90736,7 +92059,7 @@ public: }; // Alignment: 0 -// Size: 0x518 +// Size: 0x528 class CDOTA_NPCSpawnerGoodTop : public CDOTA_NPCSpawner { public: @@ -90744,7 +92067,7 @@ public: }; // Alignment: 0 -// Size: 0x518 +// Size: 0x528 class CDOTA_NPCSpawnerGoodMid : public CDOTA_NPCSpawner { public: @@ -90752,7 +92075,7 @@ public: }; // Alignment: 0 -// Size: 0x518 +// Size: 0x528 class CDOTA_NPCSpawnerGoodBot : public CDOTA_NPCSpawner { public: @@ -90760,7 +92083,7 @@ public: }; // Alignment: 0 -// Size: 0x518 +// Size: 0x528 class CDOTA_NPCSpawnerBadTop : public CDOTA_NPCSpawner { public: @@ -90768,7 +92091,7 @@ public: }; // Alignment: 0 -// Size: 0x518 +// Size: 0x528 class CDOTA_NPCSpawnerBadMid : public CDOTA_NPCSpawner { public: @@ -90776,7 +92099,7 @@ public: }; // Alignment: 0 -// Size: 0x518 +// Size: 0x528 class CDOTA_NPCSpawnerBadBot : public CDOTA_NPCSpawner { public: @@ -90784,7 +92107,7 @@ public: }; // Alignment: 0 -// Size: 0x7e8 +// Size: 0x7f8 class CBaseFlexAlias_funCBaseFlex : public CBaseFlex { public: @@ -90792,16 +92115,16 @@ public: }; // Alignment: 2 -// Size: 0x860 +// Size: 0x870 class CScriptItem : public CItem { public: - CEntityIOOutput m_OnPlayerPickup; // 0x830 - MoveType_t m_MoveTypeOverride; // 0x858 + CEntityIOOutput m_OnPlayerPickup; // 0x840 + MoveType_t m_MoveTypeOverride; // 0x868 }; // Alignment: 0 -// Size: 0xad0 +// Size: 0xb30 class CRagdollPropAlias_physics_prop_ragdoll : public CRagdollProp { public: @@ -90809,189 +92132,189 @@ public: }; // Alignment: 6 -// Size: 0xb10 +// Size: 0xb70 class CRagdollPropAttached : public CRagdollProp { public: // MNetworkEnable - uint32_t m_boneIndexAttached; // 0xad0 + uint32_t m_boneIndexAttached; // 0xb30 // MNetworkEnable - uint32_t m_ragdollAttachedObjectIndex; // 0xad4 + uint32_t m_ragdollAttachedObjectIndex; // 0xb34 // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointBoneSpace; // 0xad8 + Vector m_attachmentPointBoneSpace; // 0xb38 // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointRagdollSpace; // 0xae4 - bool m_bShouldDetach; // 0xaf0 + Vector m_attachmentPointRagdollSpace; // 0xb44 + bool m_bShouldDetach; // 0xb50 private: - [[maybe_unused]] uint8_t __pad0af1[0xf]; // 0xaf1 + [[maybe_unused]] uint8_t __pad0b51[0xf]; // 0xb51 public: - bool m_bShouldDeleteAttachedActivationRecord; // 0xb00 + bool m_bShouldDeleteAttachedActivationRecord; // 0xb60 }; -// Alignment: 14 -// Size: 0x8a0 +// Alignment: 13 +// Size: 0x8a8 class CBaseCombatCharacter : public CBaseFlex { public: - bool m_bForceServerRagdoll; // 0x7e8 + bool m_bForceServerRagdoll; // 0x7f8 private: - [[maybe_unused]] uint8_t __pad07e9[0x7]; // 0x7e9 + [[maybe_unused]] uint8_t __pad07f9[0x7]; // 0x7f9 public: // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CEconWearable > > m_hMyWearables; // 0x7f0 + CNetworkUtlVectorBase< CHandle< CEconWearable > > m_hMyWearables; // 0x800 // MNetworkEnable - float m_flFieldOfView; // 0x808 - float m_impactEnergyScale; // 0x80c - HitGroup_t m_LastHitGroup; // 0x810 - bool m_bApplyStressDamage; // 0x814 + float m_flFieldOfView; // 0x818 + float m_impactEnergyScale; // 0x81c + HitGroup_t m_LastHitGroup; // 0x820 + bool m_bApplyStressDamage; // 0x824 private: - [[maybe_unused]] uint8_t __pad0815[0x3]; // 0x815 + [[maybe_unused]] uint8_t __pad0825[0x3]; // 0x825 public: - int32_t m_bloodColor; // 0x818 + int32_t m_bloodColor; // 0x828 private: - [[maybe_unused]] uint8_t __pad081c[0x5c]; // 0x81c + [[maybe_unused]] uint8_t __pad082c[0x5c]; // 0x82c public: - int32_t m_registeredNavTeam; // 0x878 - int32_t m_navMeshID; // 0x87c - int32_t m_iDamageCount; // 0x880 -private: - [[maybe_unused]] uint8_t __pad0884[0x4]; // 0x884 -public: - CUtlVector< RelationshipOverride_t >* m_pVecRelationships; // 0x888 - CUtlSymbolLarge m_strRelationships; // 0x890 - Hull_t m_eHull; // 0x898 - uint32_t m_nNavHullIdx; // 0x89c + int32_t m_navMeshID; // 0x888 + int32_t m_iDamageCount; // 0x88c + CUtlVector< RelationshipOverride_t >* m_pVecRelationships; // 0x890 + CUtlSymbolLarge m_strRelationships; // 0x898 + Hull_t m_eHull; // 0x8a0 + uint32_t m_nNavHullIdx; // 0x8a4 // Static fields: static int32_t &Get_sm_lastInteraction(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseCombatCharacter")->m_static_fields[0]->m_instance);}; }; // Alignment: 32 -// Size: 0x9a0 +// Size: 0x9b0 class CItemGeneric : public CItem { private: - [[maybe_unused]] uint8_t __pad0830[0x8]; // 0x830 + [[maybe_unused]] uint8_t __pad0840[0x8]; // 0x840 public: - bool m_bHasTriggerRadius; // 0x838 - bool m_bHasPickupRadius; // 0x839 + bool m_bHasTriggerRadius; // 0x848 + bool m_bHasPickupRadius; // 0x849 private: - [[maybe_unused]] uint8_t __pad083a[0x2]; // 0x83a + [[maybe_unused]] uint8_t __pad084a[0x2]; // 0x84a public: - float m_flPickupRadiusSqr; // 0x83c - float m_flTriggerRadiusSqr; // 0x840 - GameTime_t m_flLastPickupCheck; // 0x844 - bool m_bPlayerCounterListenerAdded; // 0x848 - bool m_bPlayerInTriggerRadius; // 0x849 + float m_flPickupRadiusSqr; // 0x84c + float m_flTriggerRadiusSqr; // 0x850 + GameTime_t m_flLastPickupCheck; // 0x854 + bool m_bPlayerCounterListenerAdded; // 0x858 + bool m_bPlayerInTriggerRadius; // 0x859 private: - [[maybe_unused]] uint8_t __pad084a[0x6]; // 0x84a + [[maybe_unused]] uint8_t __pad085a[0x6]; // 0x85a public: - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hSpawnParticleEffect; // 0x850 - CUtlSymbolLarge m_pAmbientSoundEffect; // 0x858 - bool m_bAutoStartAmbientSound; // 0x860 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hSpawnParticleEffect; // 0x860 + CUtlSymbolLarge m_pAmbientSoundEffect; // 0x868 + bool m_bAutoStartAmbientSound; // 0x870 private: - [[maybe_unused]] uint8_t __pad0861[0x7]; // 0x861 + [[maybe_unused]] uint8_t __pad0871[0x7]; // 0x871 public: - CUtlSymbolLarge m_pSpawnScriptFunction; // 0x868 - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hPickupParticleEffect; // 0x870 - CUtlSymbolLarge m_pPickupSoundEffect; // 0x878 - CUtlSymbolLarge m_pPickupScriptFunction; // 0x880 - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hTimeoutParticleEffect; // 0x888 - CUtlSymbolLarge m_pTimeoutSoundEffect; // 0x890 - CUtlSymbolLarge m_pTimeoutScriptFunction; // 0x898 - CUtlSymbolLarge m_pPickupFilterName; // 0x8a0 - CHandle< CBaseFilter > m_hPickupFilter; // 0x8a8 + CUtlSymbolLarge m_pSpawnScriptFunction; // 0x878 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hPickupParticleEffect; // 0x880 + CUtlSymbolLarge m_pPickupSoundEffect; // 0x888 + CUtlSymbolLarge m_pPickupScriptFunction; // 0x890 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hTimeoutParticleEffect; // 0x898 + CUtlSymbolLarge m_pTimeoutSoundEffect; // 0x8a0 + CUtlSymbolLarge m_pTimeoutScriptFunction; // 0x8a8 + CUtlSymbolLarge m_pPickupFilterName; // 0x8b0 + CHandle< CBaseFilter > m_hPickupFilter; // 0x8b8 private: - [[maybe_unused]] uint8_t __pad08ac[0x4]; // 0x8ac + [[maybe_unused]] uint8_t __pad08bc[0x4]; // 0x8bc public: - CEntityIOOutput m_OnPickup; // 0x8b0 - CEntityIOOutput m_OnTimeout; // 0x8d8 - CEntityIOOutput m_OnTriggerStartTouch; // 0x900 - CEntityIOOutput m_OnTriggerTouch; // 0x928 - CEntityIOOutput m_OnTriggerEndTouch; // 0x950 - CUtlSymbolLarge m_pAllowPickupScriptFunction; // 0x978 - float m_flPickupRadius; // 0x980 - float m_flTriggerRadius; // 0x984 - CUtlSymbolLarge m_pTriggerSoundEffect; // 0x988 - bool m_bGlowWhenInTrigger; // 0x990 - Color m_glowColor; // 0x991 - bool m_bUseable; // 0x995 + CEntityIOOutput m_OnPickup; // 0x8c0 + CEntityIOOutput m_OnTimeout; // 0x8e8 + CEntityIOOutput m_OnTriggerStartTouch; // 0x910 + CEntityIOOutput m_OnTriggerTouch; // 0x938 + CEntityIOOutput m_OnTriggerEndTouch; // 0x960 + CUtlSymbolLarge m_pAllowPickupScriptFunction; // 0x988 + float m_flPickupRadius; // 0x990 + float m_flTriggerRadius; // 0x994 + CUtlSymbolLarge m_pTriggerSoundEffect; // 0x998 + bool m_bGlowWhenInTrigger; // 0x9a0 + Color m_glowColor; // 0x9a1 + bool m_bUseable; // 0x9a5 private: - [[maybe_unused]] uint8_t __pad0996[0x2]; // 0x996 + [[maybe_unused]] uint8_t __pad09a6[0x2]; // 0x9a6 public: - CHandle< CItemGenericTriggerHelper > m_hTriggerHelper; // 0x998 + CHandle< CItemGenericTriggerHelper > m_hTriggerHelper; // 0x9a8 }; -// Alignment: 21 -// Size: 0x9c0 +// Alignment: 22 +// Size: 0x9d8 class CBasePlayerPawn : public CBaseCombatCharacter { public: // MNetworkEnable - CPlayer_WeaponServices* m_pWeaponServices; // 0x8a0 + CPlayer_WeaponServices* m_pWeaponServices; // 0x8a8 // MNetworkEnable - CPlayer_ItemServices* m_pItemServices; // 0x8a8 + CPlayer_ItemServices* m_pItemServices; // 0x8b0 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - CPlayer_AutoaimServices* m_pAutoaimServices; // 0x8b0 + CPlayer_AutoaimServices* m_pAutoaimServices; // 0x8b8 // MNetworkEnable - CPlayer_ObserverServices* m_pObserverServices; // 0x8b8 + CPlayer_ObserverServices* m_pObserverServices; // 0x8c0 // MNetworkEnable - CPlayer_WaterServices* m_pWaterServices; // 0x8c0 + CPlayer_WaterServices* m_pWaterServices; // 0x8c8 // MNetworkEnable - CPlayer_UseServices* m_pUseServices; // 0x8c8 + CPlayer_UseServices* m_pUseServices; // 0x8d0 // MNetworkEnable - CPlayer_FlashlightServices* m_pFlashlightServices; // 0x8d0 + CPlayer_FlashlightServices* m_pFlashlightServices; // 0x8d8 // MNetworkEnable - CPlayer_CameraServices* m_pCameraServices; // 0x8d8 + CPlayer_CameraServices* m_pCameraServices; // 0x8e0 // MNetworkEnable - CPlayer_MovementServices* m_pMovementServices; // 0x8e0 + CPlayer_MovementServices* m_pMovementServices; // 0x8e8 private: - [[maybe_unused]] uint8_t __pad08e8[0x8]; // 0x8e8 + [[maybe_unused]] uint8_t __pad08f0[0x8]; // 0x8f0 public: - QAngle v_angle; // 0x8f0 + QAngle v_angle; // 0x8f8 + QAngle v_anglePrevious; // 0x904 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_iHideHUD; // 0x8fc - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - sky3dparams_t m_skybox3d; // 0x900 - GameTime_t m_fTimeLastHurt; // 0x990 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - GameTime_t m_flDeathTime; // 0x994 - GameTime_t m_fNextSuicideTime; // 0x998 - bool m_fInitHUD; // 0x99c + uint32_t m_iHideHUD; // 0x910 private: - [[maybe_unused]] uint8_t __pad099d[0x3]; // 0x99d + [[maybe_unused]] uint8_t __pad0914[0x4]; // 0x914 public: - CAI_Expresser* m_pExpresser; // 0x9a0 // MNetworkEnable - CHandle< CBasePlayerController > m_hController; // 0x9a8 + // MNetworkUserGroup "LocalPlayerExclusive" + sky3dparams_t m_skybox3d; // 0x918 + GameTime_t m_fTimeLastHurt; // 0x9a8 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + GameTime_t m_flDeathTime; // 0x9ac + GameTime_t m_fNextSuicideTime; // 0x9b0 + bool m_fInitHUD; // 0x9b4 private: - [[maybe_unused]] uint8_t __pad09ac[0x4]; // 0x9ac + [[maybe_unused]] uint8_t __pad09b5[0x3]; // 0x9b5 public: - float m_fHltvReplayDelay; // 0x9b0 - float m_fHltvReplayEnd; // 0x9b4 - CEntityIndex m_iHltvReplayEntity; // 0x9b8 + CAI_Expresser* m_pExpresser; // 0x9b8 + // MNetworkEnable + CHandle< CBasePlayerController > m_hController; // 0x9c0 +private: + [[maybe_unused]] uint8_t __pad09c4[0x4]; // 0x9c4 +public: + float m_fHltvReplayDelay; // 0x9c8 + float m_fHltvReplayEnd; // 0x9cc + CEntityIndex m_iHltvReplayEntity; // 0x9d0 }; // Alignment: 2 -// Size: 0x930 +// Size: 0x938 class NextBotCombatCharacter : public CBaseCombatCharacter { private: - [[maybe_unused]] uint8_t __pad08a0[0x88]; // 0x8a0 + [[maybe_unused]] uint8_t __pad08a8[0x88]; // 0x8a8 public: // MNetworkEnable - uint8_t m_nLod; // 0x928 - bool m_didModelChange; // 0x929 + uint8_t m_nLod; // 0x930 + bool m_didModelChange; // 0x931 }; // Alignment: 0 -// Size: 0x938 +// Size: 0x948 class CDOTA_Tiny_ScepterTree : public CDOTAWearableItem { public: @@ -90999,511 +92322,513 @@ public: }; // Alignment: 0 -// Size: 0x9c0 +// Size: 0x9d8 class CDOTAPlayerPawn : public CBasePlayerPawn { public: // No members available }; -// Alignment: 251 -// Size: 0x1738 +// Alignment: 253 +// Size: 0x1760 class CDOTA_BaseNPC : public NextBotCombatCharacter { private: - [[maybe_unused]] uint8_t __pad0930[0x20]; // 0x930 + [[maybe_unused]] uint8_t __pad0938[0x20]; // 0x938 public: - bool m_bPledgedOfrenda; // 0x950 + bool m_bPledgedOfrenda; // 0x958 private: - [[maybe_unused]] uint8_t __pad0951[0x3]; // 0x951 + [[maybe_unused]] uint8_t __pad0959[0x3]; // 0x959 public: - uint32_t m_iUnitType; // 0x954 - Color m_colorGemColor; // 0x958 - bool m_bHasColorGem; // 0x95c + uint32_t m_iUnitType; // 0x95c + Color m_colorGemColor; // 0x960 + bool m_bHasColorGem; // 0x964 // MNetworkEnable - bool m_bSelectionRingVisible; // 0x95d + bool m_bSelectionRingVisible; // 0x965 private: - [[maybe_unused]] uint8_t __pad095e[0xa]; // 0x95e + [[maybe_unused]] uint8_t __pad0966[0xa]; // 0x966 public: - CUtlSymbolLarge m_iszBaseClass; // 0x968 - int32_t m_iStartingMaxHealth; // 0x970 - int32_t m_iStartingMaxMana; // 0x974 - int32_t m_iStartingMana; // 0x978 + CUtlSymbolLarge m_iszBaseClass; // 0x970 + int32_t m_iStartingMaxHealth; // 0x978 + int32_t m_iStartingMaxMana; // 0x97c + int32_t m_iStartingMana; // 0x980 // MNetworkEnable // MNetworkPriority "32" - int32_t m_iCurrentLevel; // 0x97c + int32_t m_iCurrentLevel; // 0x984 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0.000000" // MNetworkMaxValue "65536.000000" - float m_flMana; // 0x980 - float m_flBaseMaxMana; // 0x984 + float m_flMana; // 0x988 + float m_flBaseMaxMana; // 0x98c // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0.000000" // MNetworkMaxValue "65536.000000" - float m_flMaxMana; // 0x988 + float m_flMaxMana; // 0x990 // MNetworkEnable // MNetworkBitCount "14" // MNetworkMinValue "-50.000000" // MNetworkMaxValue "500.000000" - float m_flManaThinkRegen; // 0x98c - float m_flBaseMaxHealth; // 0x990 + float m_flManaThinkRegen; // 0x994 + float m_flBaseMaxHealth; // 0x998 // MNetworkEnable // MNetworkBitCount "18" // MNetworkMinValue "-100.000000" // MNetworkMaxValue "1000.000000" - float m_flHealthThinkRegen; // 0x994 + float m_flHealthThinkRegen; // 0x99c // MNetworkEnable - int32_t m_nHealthBarOffsetOverride; // 0x998 - int32_t m_nHealthBarOffset; // 0x99c + int32_t m_nHealthBarOffsetOverride; // 0x9a0 + int32_t m_nHealthBarOffset; // 0x9a4 // MNetworkEnable - bool m_bIsPhantom; // 0x9a0 + bool m_bIsPhantom; // 0x9a8 // MNetworkEnable - bool m_bIsAncient; // 0x9a1 + bool m_bIsAncient; // 0x9a9 // MNetworkEnable - bool m_bIsBossCreature; // 0x9a2 + bool m_bIsBossCreature; // 0x9aa // MNetworkEnable - bool m_bIsNeutralUnitType; // 0x9a3 - bool m_bAutoAttacksByDefault; // 0x9a4 + bool m_bIsNeutralUnitType; // 0x9ab + bool m_bAutoAttacksByDefault; // 0x9ac // MNetworkEnable - bool m_bIsSummoned; // 0x9a5 + bool m_bIsSummoned; // 0x9ad // MNetworkEnable - bool m_bCanBeDominated; // 0x9a6 + bool m_bCanBeDominated; // 0x9ae // MNetworkEnable - bool m_bCanRespawn; // 0x9a7 - bool m_bConsideredHero; // 0x9a8 - bool m_bUsesConstantGesture; // 0x9a9 - bool m_bIsPlayingSingleForcedActivity; // 0x9aa + bool m_bCanRespawn; // 0x9af + bool m_bConsideredHero; // 0x9b0 + bool m_bUsesConstantGesture; // 0x9b1 + bool m_bIsPlayingSingleForcedActivity; // 0x9b2 // MNetworkEnable - bool m_bHasUpgradeableAbilities; // 0x9ab + bool m_bHasUpgradeableAbilities; // 0x9b3 // MNetworkEnable - int32_t m_iBKBChargesUsed; // 0x9ac + int32_t m_iBKBChargesUsed; // 0x9b4 // MNetworkEnable - int32_t m_iAeonChargesUsed; // 0x9b0 + int32_t m_iAeonChargesUsed; // 0x9b8 // MNetworkEnable - GameTime_t m_flRefresherUseTime; // 0x9b4 + GameTime_t m_flRefresherUseTime; // 0x9bc // MNetworkEnable - float m_flRefresherLastCooldown; // 0x9b8 + float m_flRefresherLastCooldown; // 0x9c0 // MNetworkEnable - GameTime_t m_flLastDealtDamageTime; // 0x9bc + GameTime_t m_flLastDealtDamageTime; // 0x9c4 // MNetworkEnable - int32_t m_iBotDebugData; // 0x9c0 + int32_t m_iBotDebugData; // 0x9c8 // MNetworkEnable - bool m_bIsMoving; // 0x9c4 + bool m_bIsMoving; // 0x9cc private: - [[maybe_unused]] uint8_t __pad09c5[0x19b]; // 0x9c5 + [[maybe_unused]] uint8_t __pad09cd[0x19b]; // 0x9cd +public: + float m_flChannelMultiplier; // 0xb68 + // MNetworkEnable + bool m_bCanUseWards; // 0xb6c + // MNetworkEnable + bool m_bCanUseAllItems; // 0xb6d +private: + [[maybe_unused]] uint8_t __pad0b6e[0x2]; // 0xb6e +public: + PlayerID_t m_iLastAbilityPlayer; // 0xb70 + bool m_bIsPhantomBlocker; // 0xb74 + bool m_bBlocksCreepSpawn; // 0xb75 + bool m_bCanSellItems; // 0xb76 +private: + [[maybe_unused]] uint8_t __pad0b77[0x1]; // 0xb77 public: // MNetworkEnable - bool m_bCanUseWards; // 0xb60 - // MNetworkEnable - bool m_bCanUseAllItems; // 0xb61 + CHandle< CDOTA_NeutralSpawner > m_hNeutralSpawner; // 0xb78 + bool m_bTrackDamageTaken; // 0xb7c private: - [[maybe_unused]] uint8_t __pad0b62[0x2]; // 0xb62 + [[maybe_unused]] uint8_t __pad0b7d[0x3]; // 0xb7d public: - PlayerID_t m_iLastAbilityPlayer; // 0xb64 - bool m_bIsPhantomBlocker; // 0xb68 - bool m_bBlocksCreepSpawn; // 0xb69 - bool m_bCanSellItems; // 0xb6a -private: - [[maybe_unused]] uint8_t __pad0b6b[0x1]; // 0xb6b -public: - // MNetworkEnable - CHandle< CDOTA_NeutralSpawner > m_hNeutralSpawner; // 0xb6c - bool m_bTrackDamageTaken; // 0xb70 -private: - [[maybe_unused]] uint8_t __pad0b71[0x3]; // 0xb71 -public: - GameTick_t m_nNextRegenThink; // 0xb74 - GameTick_t m_nNextModifierThink; // 0xb78 - GameTick_t m_nNextModelScaleThink; // 0xb7c - GameTick_t m_nNextUnitThink; // 0xb80 + GameTick_t m_nNextRegenThink; // 0xb80 + GameTick_t m_nNextModifierThink; // 0xb84 + GameTick_t m_nNextModelScaleThink; // 0xb88 + GameTick_t m_nNextUnitThink; // 0xb8c // MNetworkEnable // MNetworkBitCount "18" // MNetworkMinValue "-100.000000" // MNetworkMaxValue "1000.000000" - float m_flManaRegen; // 0xb84 + float m_flManaRegen; // 0xb90 // MNetworkEnable // MNetworkBitCount "18" // MNetworkMinValue "-100.000000" // MNetworkMaxValue "1000.000000" - float m_flHealthRegen; // 0xb88 -private: - [[maybe_unused]] uint8_t __pad0b8c[0x4]; // 0xb8c -public: + float m_flHealthRegen; // 0xb94 // MNetworkEnable // MNetworkPriority "32" - 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 + int64_t m_nTotalDamageTaken; // 0xb98 + float m_flHealthRegenCounter; // 0xba0 + float m_flManaRegenCounter; // 0xba4 + float m_flAccumulatedHeal; // 0xba8 + int32_t m_iBaseAttackSpeed; // 0xbac + int32_t m_iBaseDamageMin; // 0xbb0 + int32_t m_iBaseDamageMax; // 0xbb4 + int32_t m_iAttackRange; // 0xbb8 + int32_t m_iAttackRangeBuffer; // 0xbbc // MNetworkEnable - int32_t m_iMoveSpeed; // 0xbb8 - float m_flTurnRate; // 0xbbc - int32_t m_iHasAggressiveStance; // 0xbc0 - bool m_bInAggressiveStance; // 0xbc4 - bool m_bInInjuredAggressiveStance; // 0xbc5 + int32_t m_iMoveSpeed; // 0xbc0 + float m_flTurnRate; // 0xbc4 + int32_t m_iHasAggressiveStance; // 0xbc8 + bool m_bInAggressiveStance; // 0xbcc + bool m_bInInjuredAggressiveStance; // 0xbcd private: - [[maybe_unused]] uint8_t __pad0bc6[0x2]; // 0xbc6 + [[maybe_unused]] uint8_t __pad0bce[0x2]; // 0xbce public: - float m_flFollowRange; // 0xbc8 - int32_t m_iAcquisitionRange; // 0xbcc - float m_flAttackAnimationPoint; // 0xbd0 - float m_flHullRadius; // 0xbd4 - float m_flCollisionPadding; // 0xbd8 + float m_flFollowRange; // 0xbd0 + int32_t m_iAcquisitionRange; // 0xbd4 + float m_flAttackAnimationPoint; // 0xbd8 + float m_flHullRadius; // 0xbdc + float m_flCollisionPadding; // 0xbe0 // MNetworkEnable - GameTime_t m_flTauntCooldown; // 0xbdc + GameTime_t m_flTauntCooldown; // 0xbe4 // MNetworkEnable - GameTime_t m_flTauntCooldown2; // 0xbe0 + GameTime_t m_flTauntCooldown2; // 0xbe8 // MNetworkEnable - 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 + float m_fRevealRadius; // 0xbec + float m_flProjectileCollisionSize; // 0xbf0 + ObstructionRelationshipClass_t m_ObstructionRelationshipClass; // 0xbf4 + CUtlSymbolLarge m_iszParticleFolder; // 0xbf8 + CUtlSymbolLarge m_iszGameSoundsFile; // 0xc00 + CUtlSymbolLarge m_iszVoiceFile; // 0xc08 + CUtlSymbolLarge m_iszSoundSet; // 0xc10 + CUtlSymbolLarge m_iszSelectionGroup; // 0xc18 + CUtlSymbolLarge m_iszAnimationModifier; // 0xc20 private: - [[maybe_unused]] uint8_t __pad0c20[0x8]; // 0xc20 + [[maybe_unused]] uint8_t __pad0c28[0x8]; // 0xc28 public: - float m_flBaseAttackTime; // 0xc28 + float m_flBaseAttackTime; // 0xc30 // MNetworkEnable - int32_t m_iDayTimeVisionRange; // 0xc2c + int32_t m_iDayTimeVisionRange; // 0xc34 // MNetworkEnable - int32_t m_iNightTimeVisionRange; // 0xc30 - float m_fBotAttackDesire; // 0xc34 - int32_t m_iUnitRelationshipClass; // 0xc38 + int32_t m_iNightTimeVisionRange; // 0xc38 + float m_fBotAttackDesire; // 0xc3c + int32_t m_iUnitRelationshipClass; // 0xc40 // MNetworkEnable - float m_flPhysicalArmorValue; // 0xc3c + float m_flPhysicalArmorValue; // 0xc44 // MNetworkEnable - float m_flMagicalResistanceValue; // 0xc40 - int32_t m_iTeamName; // 0xc44 + float m_flMagicalResistanceValue; // 0xc48 + int32_t m_iTeamName; // 0xc4c // MNetworkEnable // MNetworkPriority "32" - int32_t m_iAttackCapabilities; // 0xc48 + int32_t m_iAttackCapabilities; // 0xc50 // MNetworkEnable // MNetworkPriority "32" - int32_t m_iSpecialAbility; // 0xc4c - int32_t m_iMoveCapabilities; // 0xc50 - int32_t m_iOriginalAttackCapabilities; // 0xc54 + int32_t m_iSpecialAbility; // 0xc54 + int32_t m_iMoveCapabilities; // 0xc58 + int32_t m_iOriginalAttackCapabilities; // 0xc5c // MNetworkEnable - int32_t m_iXPBounty; // 0xc58 + int32_t m_iXPBounty; // 0xc60 // MNetworkEnable - int32_t m_iXPBountyExtra; // 0xc5c + int32_t m_iXPBountyExtra; // 0xc64 // MNetworkEnable - int32_t m_iGoldBountyMin; // 0xc60 + int32_t m_iGoldBountyMin; // 0xc68 // MNetworkEnable - int32_t m_iGoldBountyMax; // 0xc64 - PlayerID_t m_nFarmClaimPlayerID; // 0xc68 + int32_t m_iGoldBountyMax; // 0xc6c + PlayerID_t m_nFarmClaimPlayerID; // 0xc70 // MNetworkEnable - 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 + PlayerID_t m_nPlayerOwnerID; // 0xc74 + CUtlSymbolLarge m_iszAbilityList[35]; // 0xc78 + int32_t m_iAttackDamageType; // 0xd90 + bool m_bIsIdle; // 0xd94 + bool m_bHold; // 0xd95 + bool m_bWasKilledPassively; // 0xd96 private: - [[maybe_unused]] uint8_t __pad0d8f[0x1]; // 0xd8f + [[maybe_unused]] uint8_t __pad0d97[0x1]; // 0xd97 public: - 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 + 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 private: - [[maybe_unused]] uint8_t __pad0dcd[0x3]; // 0xdcd + [[maybe_unused]] uint8_t __pad0dd5[0x3]; // 0xdd5 public: - Vector m_vTargetLastKnownPosition; // 0xdd0 + Vector m_vTargetLastKnownPosition; // 0xdd8 private: - [[maybe_unused]] uint8_t __pad0ddc[0x1c]; // 0xddc + [[maybe_unused]] uint8_t __pad0de4[0x1c]; // 0xde4 public: // MNetworkEnable - GameTime_t m_flLastDamageTime; // 0xdf8 + GameTime_t m_flLastDamageTime; // 0xe00 // MNetworkEnable - GameTime_t m_flLastAttackTime; // 0xdfc - GameTime_t m_flTimeSinceLastAbilityNag; // 0xe00 - GameTime_t m_flLastTeleportTime; // 0xe04 + GameTime_t m_flLastAttackTime; // 0xe04 + GameTime_t m_flTimeSinceLastAbilityNag; // 0xe08 + GameTime_t m_flLastTeleportTime; // 0xe0c // MNetworkEnable - uint64_t m_nUnitState64; // 0xe08 - GameTime_t m_vLastVisibilityChange[15]; // 0xe10 + uint64_t m_nUnitState64; // 0xe10 + GameTime_t m_vLastVisibilityChange[15]; // 0xe18 private: - [[maybe_unused]] uint8_t __pad0e4c[0x1c]; // 0xe4c + [[maybe_unused]] uint8_t __pad0e54[0x1c]; // 0xe54 public: - bool m_bFirstSpawn; // 0xe68 + bool m_bFirstSpawn; // 0xe70 private: - [[maybe_unused]] uint8_t __pad0e69[0x3]; // 0xe69 + [[maybe_unused]] uint8_t __pad0e71[0x3]; // 0xe71 public: - CHandle< CBaseEntity > m_hAttackTarget; // 0xe6c - CHandle< CBaseEntity > m_hAggroTarget; // 0xe70 - CHandle< CBaseEntity > m_hCommandAttackTarget; // 0xe74 - CUtlSymbolLarge m_iszOriginalModel; // 0xe78 + CHandle< CBaseEntity > m_hAttackTarget; // 0xe74 + CHandle< CBaseEntity > m_hAggroTarget; // 0xe78 + CHandle< CBaseEntity > m_hCommandAttackTarget; // 0xe7c + CUtlSymbolLarge m_iszOriginalModel; // 0xe80 // MNetworkEnable - int8_t m_nUnitModelVariant; // 0xe80 - int8_t m_nUnitModelVariantCount; // 0xe81 - bool m_bPseudoQueueOrders; // 0xe82 - bool m_bCastLocked; // 0xe83 + int8_t m_nUnitModelVariant; // 0xe88 + int8_t m_nUnitModelVariantCount; // 0xe89 + bool m_bPseudoQueueOrders; // 0xe8a + bool m_bCastLocked; // 0xe8b private: - [[maybe_unused]] uint8_t __pad0e84[0x1c]; // 0xe84 + [[maybe_unused]] uint8_t __pad0e8c[0x1c]; // 0xe8c public: - GameTime_t m_flAttackRegulator; // 0xea0 - float m_flTimeDisparityTolerance; // 0xea4 - GameTime_t m_fAttackPhaseEndTime; // 0xea8 - GameTime_t m_flPositionUpdateTime; // 0xeac - Vector m_vLastPositionSent; // 0xeb0 + GameTime_t m_flAttackRegulator; // 0xea8 + float m_flTimeDisparityTolerance; // 0xeac + GameTime_t m_fAttackPhaseEndTime; // 0xeb0 + GameTime_t m_flPositionUpdateTime; // 0xeb4 + Vector m_vLastPositionSent; // 0xeb8 // MNetworkEnable - // MNetworkUserGroup "SpectatorsOnly" // MNetworkPriority "32" - int32_t m_iTaggedAsVisibleByTeam; // 0xebc + int32_t m_iTaggedAsVisibleByTeam; // 0xec4 // MNetworkEnable - uint64_t m_iIsControllableByPlayer64; // 0xec0 - PlayerID_t m_nControllingPlayerID; // 0xec8 - bool m_bRunAIWhenControllableByPlayer; // 0xecc + uint64_t m_iIsControllableByPlayer64; // 0xec8 + PlayerID_t m_nControllingPlayerID; // 0xed0 + bool m_bRunAIWhenControllableByPlayer; // 0xed4 private: - [[maybe_unused]] uint8_t __pad0ecd[0x3]; // 0xecd + [[maybe_unused]] uint8_t __pad0ed5[0x3]; // 0xed5 public: // MNetworkEnable // MNetworkUserGroup "Abilities" // MNetworkPriority "32" - CHandle< CBaseEntity > m_hAbilities[35]; // 0xed0 + CHandle< CBaseEntity > m_hAbilities[35]; // 0xed8 private: - [[maybe_unused]] uint8_t __pad0f5c[0x4]; // 0xf5c + [[maybe_unused]] uint8_t __pad0f64[0x4]; // 0xf64 public: - CUtlVector< CHandle< CBaseEntity > > m_associatedEmptyAbilities; // 0xf60 - CHandle< CBaseEntity > m_hActiveAbility; // 0xf78 - Vector m_vCursorLocation; // 0xf7c - CHandle< CBaseEntity > m_hCursorTarget; // 0xf88 - CHandle< CBaseEntity > m_hOriginalCursorTarget; // 0xf8c - bool m_bCursorTargetingNothing; // 0xf90 + CUtlVector< CHandle< CBaseEntity > > m_associatedEmptyAbilities; // 0xf68 + CHandle< CBaseEntity > m_hActiveAbility; // 0xf80 + Vector m_vCursorLocation; // 0xf84 + CHandle< CBaseEntity > m_hCursorTarget; // 0xf90 + CHandle< CBaseEntity > m_hOriginalCursorTarget; // 0xf94 + bool m_bCursorTargetingNothing; // 0xf98 private: - [[maybe_unused]] uint8_t __pad0f91[0x7]; // 0xf91 + [[maybe_unused]] uint8_t __pad0f99[0x7]; // 0xf99 public: // MNetworkEnable - CDOTA_ModifierManager m_ModifierManager; // 0xf98 + CDOTA_ModifierManager m_ModifierManager; // 0xfa0 private: - [[maybe_unused]] uint8_t __pad1210[0x8]; // 0x1210 + [[maybe_unused]] uint8_t __pad1230[0x8]; // 0x1230 public: - float m_flInvisibilityLevel; // 0x1218 + float m_flInvisibilityLevel; // 0x1238 private: - [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c + [[maybe_unused]] uint8_t __pad123c[0x4]; // 0x123c public: - CUtlSymbolLarge m_iszMapUnitName; // 0x1220 + CUtlSymbolLarge m_iszMapUnitName; // 0x1240 // MNetworkEnable // MNetworkDisable - CUtlSymbolLarge m_iszUnitName; // 0x1228 + CUtlSymbolLarge m_iszUnitName; // 0x1248 // MNetworkEnable - int32_t m_iUnitNameIndex; // 0x1230 + int32_t m_iUnitNameIndex; // 0x1250 // MNetworkEnable - int32_t m_iDamageMin; // 0x1234 + int32_t m_iDamageMin; // 0x1254 // MNetworkEnable - int32_t m_iDamageMax; // 0x1238 + int32_t m_iDamageMax; // 0x1258 // MNetworkEnable - int32_t m_iDamageBonus; // 0x123c + int32_t m_iDamageBonus; // 0x125c // MNetworkEnable - bool m_bIsWaitingToSpawn; // 0x1240 + bool m_bIsWaitingToSpawn; // 0x1260 private: - [[maybe_unused]] uint8_t __pad1241[0x3]; // 0x1241 + [[maybe_unused]] uint8_t __pad1261[0x3]; // 0x1261 public: - int32_t m_iLeashType; // 0x1244 - int32_t m_iAggroType; // 0x1248 - bool m_bCreepIgnoreAggro; // 0x124c - bool m_bCreepFirstWave; // 0x124d + int32_t m_iLeashType; // 0x1264 + int32_t m_iAggroType; // 0x1268 + bool m_bCreepIgnoreAggro; // 0x126c + bool m_bCreepFirstWave; // 0x126d // MNetworkEnable - bool m_bIsIllusion; // 0x124e + bool m_bIsIllusion; // 0x126e // MNetworkEnable - uint8_t m_nUnitLabelIndex; // 0x124f + uint8_t m_nUnitLabelIndex; // 0x126f // MNetworkEnable - CUtlString m_szScaleset; // 0x1250 + CUtlString m_szScaleset; // 0x1270 // MNetworkEnable - CUtlString m_szUnitLabel; // 0x1258 - CUtlString m_strAnimationModifier; // 0x1260 + CUtlString m_szUnitLabel; // 0x1278 + CUtlString m_strAnimationModifier; // 0x1280 private: - [[maybe_unused]] uint8_t __pad1268[0x8]; // 0x1268 + [[maybe_unused]] uint8_t __pad1288[0x8]; // 0x1288 public: - CLocomotionBase* m_locomotor; // 0x1270 - IBody* m_body; // 0x1278 - bool m_bNeverMoveToClearSpace; // 0x1280 + // MNetworkEnable + CHandle< CBaseEntity > m_hOwnerNPC; // 0x1290 private: - [[maybe_unused]] uint8_t __pad1281[0x3]; // 0x1281 + [[maybe_unused]] uint8_t __pad1294[0x4]; // 0x1294 +public: + CLocomotionBase* m_locomotor; // 0x1298 + IBody* m_body; // 0x12a0 + bool m_bNeverMoveToClearSpace; // 0x12a8 +private: + [[maybe_unused]] uint8_t __pad12a9[0x3]; // 0x12a9 public: // MNetworkEnable // MNetworkUserGroup "SpectatorsOnly" - CHandle< CBaseEntity > m_hGoalEntity; // 0x1284 - bool m_bMustReachEachGoalEntity; // 0x1288 + CHandle< CBaseEntity > m_hGoalEntity; // 0x12ac + bool m_bMustReachEachGoalEntity; // 0x12b0 private: - [[maybe_unused]] uint8_t __pad1289[0x3]; // 0x1289 + [[maybe_unused]] uint8_t __pad12b1[0x3]; // 0x12b1 public: - Vector m_vInitialGoalPosition; // 0x128c + Vector m_vInitialGoalPosition; // 0x12b4 private: - [[maybe_unused]] uint8_t __pad1298[0x18]; // 0x1298 + [[maybe_unused]] uint8_t __pad12c0[0x18]; // 0x12c0 public: - CUnitOrders m_CurrentQueuedOrder; // 0x12b0 + CUnitOrders m_CurrentQueuedOrder; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12f0[0x18]; // 0x12f0 + [[maybe_unused]] uint8_t __pad1318[0x18]; // 0x1318 public: // MNetworkEnable - CDOTA_UnitInventory m_Inventory; // 0x1308 - CHandle< CBaseEntity > m_hItemToDrop; // 0x13d8 + CDOTA_UnitInventory m_Inventory; // 0x1330 + CHandle< CBaseEntity > m_hItemToDrop; // 0x1400 // MNetworkEnable - DOTA_SHOP_TYPE m_iCurShop; // 0x13dc - CHandle< CBaseEntity > m_hLastNearShop; // 0x13e0 + DOTA_SHOP_TYPE m_iCurShop; // 0x1404 + CHandle< CBaseEntity > m_hLastNearShop; // 0x1408 private: - [[maybe_unused]] uint8_t __pad13e4[0x4]; // 0x13e4 + [[maybe_unused]] uint8_t __pad140c[0x4]; // 0x140c public: // MNetworkEnable - CUtlSymbolLarge m_szCurShopEntName; // 0x13e8 - bool m_bHasInventory; // 0x13f0 + CUtlSymbolLarge m_szCurShopEntName; // 0x1410 + bool m_bHasInventory; // 0x1418 private: - [[maybe_unused]] uint8_t __pad13f1[0x3]; // 0x13f1 + [[maybe_unused]] uint8_t __pad1419[0x3]; // 0x1419 public: - float m_flBaselineModelScale; // 0x13f4 - float m_fModelScaleMultiplier; // 0x13f8 - float m_fModelScaleMultiplierChangeStart; // 0x13fc - GameTime_t m_fModelScaleMultiplierChangeTime; // 0x1400 - float m_flPreviousModelScale; // 0x1404 - float m_fMaxModelScaleMultiplier; // 0x1408 - bool m_bIsCamped; // 0x140c - bool m_bIsReturningHome; // 0x140d - bool m_bWantsToFlee; // 0x140e - bool m_bWakesNeutrals; // 0x140f - bool m_bNeutralIgnore; // 0x1410 - bool m_bIdleAcquire; // 0x1411 - bool m_bCanFollowUnseenUnits; // 0x1412 - bool m_bExpired; // 0x1413 - Vector m_vCurrentMovementOrderDestination; // 0x1414 - Vector m_vPreviousMovementOrderDestination; // 0x1420 - Vector m_vResumePreviousMovementRequestLocation; // 0x142c - bool m_bCurrentOrderIsMovement; // 0x1438 - bool m_bPreviousOrderIsMovement; // 0x1439 - bool m_bResumePreviousMovement; // 0x143a - bool m_bIsPatrolling; // 0x143b - GameTime_t m_flCreationTime; // 0x143c - bool m_bTargetMovedOutOfRange; // 0x1440 - bool m_bChaseTargetMoves; // 0x1441 + float m_flBaselineModelScale; // 0x141c + float m_fModelScaleMultiplier; // 0x1420 + float m_fModelScaleMultiplierChangeStart; // 0x1424 + GameTime_t m_fModelScaleMultiplierChangeTime; // 0x1428 + float m_flPreviousModelScale; // 0x142c + float m_fMaxModelScaleMultiplier; // 0x1430 + bool m_bIsCamped; // 0x1434 + bool m_bIsReturningHome; // 0x1435 + bool m_bWantsToFlee; // 0x1436 + bool m_bWakesNeutrals; // 0x1437 + bool m_bNeutralIgnore; // 0x1438 + bool m_bIdleAcquire; // 0x1439 + bool m_bCanFollowUnseenUnits; // 0x143a + bool m_bExpired; // 0x143b + Vector m_vCurrentMovementOrderDestination; // 0x143c + Vector m_vPreviousMovementOrderDestination; // 0x1448 + Vector m_vResumePreviousMovementRequestLocation; // 0x1454 + bool m_bCurrentOrderIsMovement; // 0x1460 + bool m_bPreviousOrderIsMovement; // 0x1461 + bool m_bResumePreviousMovement; // 0x1462 + bool m_bIsPatrolling; // 0x1463 + GameTime_t m_flCreationTime; // 0x1464 + bool m_bTargetMovedOutOfRange; // 0x1468 + bool m_bChaseTargetMoves; // 0x1469 private: - [[maybe_unused]] uint8_t __pad1442[0x2]; // 0x1442 + [[maybe_unused]] uint8_t __pad146a[0x2]; // 0x146a public: - float m_flChaseDistance; // 0x1444 - CHandle< CBaseEntity > m_hChaseEntity; // 0x1448 + float m_flChaseDistance; // 0x146c + CHandle< CBaseEntity > m_hChaseEntity; // 0x1470 private: - [[maybe_unused]] uint8_t __pad144c[0x4]; // 0x144c + [[maybe_unused]] uint8_t __pad1474[0x4]; // 0x1474 public: - CUtlVector< CUtlSymbol > m_ActivityModifiers; // 0x1450 - bool m_bActivityModifiersDirty; // 0x1468 + CUtlVector< CUtlSymbol > m_ActivityModifiers; // 0x1478 + bool m_bActivityModifiersDirty; // 0x1490 private: - [[maybe_unused]] uint8_t __pad1469[0x7]; // 0x1469 + [[maybe_unused]] uint8_t __pad1491[0x7]; // 0x1491 public: - CUtlVector< CUtlSymbol > m_ActivityModifiersFromScript; // 0x1470 - GameTime_t m_flBlinkDaggerTime; // 0x1488 - float m_flAdditionalBattleMusicWeight; // 0x148c + CUtlVector< CUtlSymbol > m_ActivityModifiersFromScript; // 0x1498 + GameTime_t m_flBlinkDaggerTime; // 0x14b0 + float m_flAdditionalBattleMusicWeight; // 0x14b4 // MNetworkEnable - bool m_bStolenScepter; // 0x1490 - bool m_bHasScepterCached; // 0x1491 - bool m_bHasShardCached; // 0x1492 + bool m_bStolenScepter; // 0x14b8 + bool m_bHasScepterCached; // 0x14b9 + bool m_bHasShardCached; // 0x14ba private: - [[maybe_unused]] uint8_t __pad1493[0x5]; // 0x1493 + [[maybe_unused]] uint8_t __pad14bb[0x5]; // 0x14bb public: - CLocalNPCObstructionsCache m_LocalNPCObstructionsCache; // 0x1498 + CLocalNPCObstructionsCache m_LocalNPCObstructionsCache; // 0x14c0 private: - [[maybe_unused]] uint8_t __pad14b8[0x20]; // 0x14b8 + [[maybe_unused]] uint8_t __pad14e0[0x20]; // 0x14e0 public: - GameTime_t m_flCritBashFailUntil; // 0x14d8 - float m_flAttackTimeLostToLastTick; // 0x14dc - float m_flAttackTimeAtLastTick; // 0x14e0 - float m_flCompanionDistance; // 0x14e4 - bool m_bIsPartyCompanion; // 0x14e8 - bool m_bCanPartyCompanionAttack; // 0x14e9 + GameTime_t m_flCritBashFailUntil; // 0x1500 + float m_flAttackTimeLostToLastTick; // 0x1504 + float m_flAttackTimeAtLastTick; // 0x1508 + float m_flCompanionDistance; // 0x150c + bool m_bIsPartyCompanion; // 0x1510 + bool m_bCanPartyCompanionAttack; // 0x1511 private: - [[maybe_unused]] uint8_t __pad14ea[0x2]; // 0x14ea + [[maybe_unused]] uint8_t __pad1512[0x2]; // 0x1512 public: - CHandle< CBaseEntity > m_CompanionEntity; // 0x14ec - bool m_bFacePlayer; // 0x14f0 + CHandle< CBaseEntity > m_CompanionEntity; // 0x1514 + bool m_bFacePlayer; // 0x1518 private: - [[maybe_unused]] uint8_t __pad14f1[0x3]; // 0x14f1 + [[maybe_unused]] uint8_t __pad1519[0x3]; // 0x1519 public: - GameTime_t m_flLastIdleChangeTime; // 0x14f4 - bool m_bUseNeutralCreepBehavior; // 0x14f8 + GameTime_t m_flLastIdleChangeTime; // 0x151c + bool m_bUseNeutralCreepBehavior; // 0x1520 private: - [[maybe_unused]] uint8_t __pad14f9[0x27]; // 0x14f9 + [[maybe_unused]] uint8_t __pad1521[0x27]; // 0x1521 public: - bool m_bHasBuiltWearableSpawnList; // 0x1520 + bool m_bHasBuiltWearableSpawnList; // 0x1548 private: - [[maybe_unused]] uint8_t __pad1521[0x3]; // 0x1521 + [[maybe_unused]] uint8_t __pad1549[0x3]; // 0x1549 public: - GameTick_t m_nFoWFadeStartTime[15]; // 0x1524 - int32_t m_nFOWVisibilityRadius; // 0x1560 - Vector m_vFOWOriginOverride; // 0x1564 - CUtlString m_strLastKillerAbility; // 0x1570 + GameTick_t m_nFoWFadeStartTime[15]; // 0x154c + int32_t m_nFOWVisibilityRadius; // 0x1588 + Vector m_vFOWOriginOverride; // 0x158c + CUtlString m_strLastKillerAbility; // 0x1598 // MNetworkEnable // MNetworkPriority "32" - int32_t m_anglediff; // 0x1578 + int32_t m_anglediff; // 0x15a0 // MNetworkEnable // MNetworkPriority "32" - int32_t m_NetworkActivity; // 0x157c + int32_t m_NetworkActivity; // 0x15a4 // MNetworkEnable // MNetworkPriority "32" - int32_t m_NetworkSequenceIndex; // 0x1580 + int32_t m_NetworkSequenceIndex; // 0x15a8 // MNetworkEnable - bool m_bShouldDoFlyHeightVisual; // 0x1584 + bool m_bShouldDoFlyHeightVisual; // 0x15ac private: - [[maybe_unused]] uint8_t __pad1585[0x3]; // 0x1585 + [[maybe_unused]] uint8_t __pad15ad[0x3]; // 0x15ad public: // MNetworkEnable - float m_flStartSequenceCycle; // 0x1588 - bool m_bMidLoading; // 0x158c + float m_flStartSequenceCycle; // 0x15b0 + bool m_bMidLoading; // 0x15b4 private: - [[maybe_unused]] uint8_t __pad158d[0x3]; // 0x158d + [[maybe_unused]] uint8_t __pad15b5[0x3]; // 0x15b5 public: - CHandle< CDOTA_ScriptedSpawner > m_hTutorialSpawner; // 0x1590 + CHandle< CDOTA_ScriptedSpawner > m_hTutorialSpawner; // 0x15b8 private: - [[maybe_unused]] uint8_t __pad1594[0x4]; // 0x1594 + [[maybe_unused]] uint8_t __pad15bc[0x4]; // 0x15bc public: - CountdownTimer m_AngerCooldownTimer; // 0x1598 - int32_t m_iProjectileMoveSpeed; // 0x15b0 + CountdownTimer m_AngerCooldownTimer; // 0x15c0 + int32_t m_iProjectileMoveSpeed; // 0x15d8 private: - [[maybe_unused]] uint8_t __pad15b4[0x4]; // 0x15b4 + [[maybe_unused]] uint8_t __pad15dc[0x4]; // 0x15dc public: - CUtlSymbolLarge m_iszAutoAttackRangedParticle; // 0x15b8 - int32_t m_nPoseParameterTurn; // 0x15c0 - int32_t m_nPoseParameterRun; // 0x15c4 - float m_flLean; // 0x15c8 - float m_flRun; // 0x15cc + CUtlSymbolLarge m_iszAutoAttackRangedParticle; // 0x15e0 + int32_t m_nPoseParameterTurn; // 0x15e8 + int32_t m_nPoseParameterRun; // 0x15ec + float m_flLean; // 0x15f0 + float m_flRun; // 0x15f4 // MNetworkEnable - char m_CustomHealthLabel[256]; // 0x15d0 + char m_CustomHealthLabel[256]; // 0x15f8 // MNetworkEnable - Color m_CustomHealthLabelColor; // 0x16d0 - item_definition_index_t m_nWearableDefIndex; // 0x16d4 - int8_t m_nArcanaLevel; // 0x16d8 - int8_t m_nDefaultArcanaLevel; // 0x16d9 - Color m_defaultColorGemColor; // 0x16da - bool m_bDisableDamageDisplay; // 0x16de + Color m_CustomHealthLabelColor; // 0x16f8 + item_definition_index_t m_nWearableDefIndex; // 0x16fc + int8_t m_nArcanaLevel; // 0x1700 + int8_t m_nDefaultArcanaLevel; // 0x1701 + Color m_defaultColorGemColor; // 0x1702 + bool m_bDisableDamageDisplay; // 0x1706 private: - [[maybe_unused]] uint8_t __pad16df[0x1]; // 0x16df + [[maybe_unused]] uint8_t __pad1707[0x1]; // 0x1707 public: - Color m_gibTintColor; // 0x16e0 - float m_flPathfindingSearchDepthScale; // 0x16e4 - CUtlVector< int32 > m_ActivitiesStarted; // 0x16e8 - CHandle< CBaseEntity > m_hIllusionOriginal; // 0x1700 - CHandle< CDOTA_BaseNPC > m_hDirectionalRangedFakeTarget; // 0x1704 + Color m_gibTintColor; // 0x1708 + float m_flPathfindingSearchDepthScale; // 0x170c + CUtlVector< int32 > m_ActivitiesStarted; // 0x1710 + CHandle< CBaseEntity > m_hIllusionOriginal; // 0x1728 + CHandle< CDOTA_BaseNPC > m_hDirectionalRangedFakeTarget; // 0x172c private: - [[maybe_unused]] uint8_t __pad1708[0x28]; // 0x1708 + [[maybe_unused]] uint8_t __pad1730[0x28]; // 0x1730 public: - bool m_bShouldComputeRemainingPathLength; // 0x1730 + bool m_bShouldComputeRemainingPathLength; // 0x1758 private: - [[maybe_unused]] uint8_t __pad1731[0x3]; // 0x1731 + [[maybe_unused]] uint8_t __pad1759[0x3]; // 0x1759 public: - float m_flRemainingPathLength; // 0x1734 + float m_flRemainingPathLength; // 0x175c }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_Additive : public CDOTA_BaseNPC { public: @@ -91511,31 +92836,31 @@ public: }; // Alignment: 4 -// Size: 0x1768 +// Size: 0x1790 class CDOTA_BaseNPC_Creep : public CDOTA_BaseNPC_Additive { public: - CDOTA_CreepKillInfo m_KillInfo; // 0x1738 - DOTA_LANE m_Lane; // 0x1758 - bool m_bPushback; // 0x175c + CDOTA_CreepKillInfo m_KillInfo; // 0x1760 + DOTA_LANE m_Lane; // 0x1780 + bool m_bPushback; // 0x1784 private: - [[maybe_unused]] uint8_t __pad175d[0x3]; // 0x175d + [[maybe_unused]] uint8_t __pad1785[0x3]; // 0x1785 public: // MNetworkEnable - float m_flAim; // 0x1760 + float m_flAim; // 0x1788 }; // Alignment: 2 -// Size: 0x1788 +// Size: 0x17b0 class CDOTA_BaseNPC_Creep_Lane : public CDOTA_BaseNPC_Creep { public: - CountdownTimer m_ThinkTimer; // 0x1768 - bool m_bInEnemyBase; // 0x1780 + CountdownTimer m_ThinkTimer; // 0x1790 + bool m_bInEnemyBase; // 0x17a8 }; // Alignment: 0 -// Size: 0x1788 +// Size: 0x17b0 class CDOTA_BaseNPC_Creep_Siege : public CDOTA_BaseNPC_Creep_Lane { public: @@ -91543,15 +92868,15 @@ public: }; // Alignment: 1 -// Size: 0x1780 +// Size: 0x17a8 class CDOTA_BaseNPC_Creep_Neutral : public CDOTA_BaseNPC_Creep { public: - CountdownTimer m_ThinkTimer; // 0x1768 + CountdownTimer m_ThinkTimer; // 0x1790 }; // Alignment: 0 -// Size: 0x1768 +// Size: 0x1790 class CDOTA_BaseNPC_Creep_Talking : public CDOTA_BaseNPC_Creep { public: @@ -91559,87 +92884,87 @@ public: }; // Alignment: 36 -// Size: 0x1840 +// Size: 0x1868 class CDOTA_BaseNPC_Building : public CDOTA_BaseNPC { public: // MNetworkEnable - int32_t m_iDamageLevel; // 0x1738 + int32_t m_iDamageLevel; // 0x1760 private: - [[maybe_unused]] uint8_t __pad173c[0x4]; // 0x173c + [[maybe_unused]] uint8_t __pad1764[0x4]; // 0x1764 public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndex; // 0x1740 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndex; // 0x1768 // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndexDestruction; // 0x1748 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndexDestruction; // 0x1770 // MNetworkEnable - QAngle m_angInitialAngles; // 0x1750 + QAngle m_angInitialAngles; // 0x1778 // MNetworkEnable - HSequence m_hHeroStatueSequence; // 0x175c + HSequence m_hHeroStatueSequence; // 0x1784 // MNetworkEnable - HSequence m_hConstantLayerSequence; // 0x1760 + HSequence m_hConstantLayerSequence; // 0x1788 // MNetworkEnable - float m_fHeroStatueCycle; // 0x1764 + float m_fHeroStatueCycle; // 0x178c // MNetworkEnable - int32_t m_iHeroStatueStatusEffectIndex; // 0x1768 + int32_t m_iHeroStatueStatusEffectIndex; // 0x1790 // MNetworkEnable - bool m_bHeroStatue; // 0x176c + bool m_bHeroStatue; // 0x1794 // MNetworkEnable - bool m_bBattleCup; // 0x176d + bool m_bBattleCup; // 0x1795 // MNetworkEnable - char m_HeroStatueInscription[32]; // 0x176e + char m_HeroStatueInscription[32]; // 0x1796 private: - [[maybe_unused]] uint8_t __pad178e[0x2]; // 0x178e + [[maybe_unused]] uint8_t __pad17b6[0x2]; // 0x17b6 public: // MNetworkEnable - PlayerID_t m_iHeroStatueOwnerPlayerID; // 0x1790 + PlayerID_t m_iHeroStatueOwnerPlayerID; // 0x17b8 // MNetworkEnable - Color m_ParticleTintColor; // 0x1794 - CUtlSymbolLarge m_sDestroySnd; // 0x1798 - CUtlSymbolLarge m_sDmgLvl1Snd; // 0x17a0 - CUtlSymbolLarge m_sDmgLvl2Snd; // 0x17a8 - CUtlSymbolLarge m_iszLinkedUnit; // 0x17b0 - CUtlSymbolLarge m_iszAmbientEffectName; // 0x17b8 - CUtlSymbolLarge m_iszDestructionEffectName; // 0x17c0 - CUtlSymbolLarge m_iszDamageModelLevel1; // 0x17c8 - CUtlSymbolLarge m_iszDamageModelLevel2; // 0x17d0 - CUtlSymbolLarge m_iszDamageEffectLevel1; // 0x17d8 - CUtlSymbolLarge m_iszDamageEffectLevel2; // 0x17e0 - float m_flDamageThresholdLevel1; // 0x17e8 - float m_flDamageThresholdLevel2; // 0x17ec - bool m_bVulnerableOnCreepSpawn; // 0x17f0 - bool m_bHasOverriddenDestructionEffect; // 0x17f1 + Color m_ParticleTintColor; // 0x17bc + CUtlSymbolLarge m_sDestroySnd; // 0x17c0 + CUtlSymbolLarge m_sDmgLvl1Snd; // 0x17c8 + CUtlSymbolLarge m_sDmgLvl2Snd; // 0x17d0 + CUtlSymbolLarge m_iszLinkedUnit; // 0x17d8 + CUtlSymbolLarge m_iszAmbientEffectName; // 0x17e0 + CUtlSymbolLarge m_iszDestructionEffectName; // 0x17e8 + CUtlSymbolLarge m_iszDamageModelLevel1; // 0x17f0 + CUtlSymbolLarge m_iszDamageModelLevel2; // 0x17f8 + CUtlSymbolLarge m_iszDamageEffectLevel1; // 0x1800 + CUtlSymbolLarge m_iszDamageEffectLevel2; // 0x1808 + float m_flDamageThresholdLevel1; // 0x1810 + float m_flDamageThresholdLevel2; // 0x1814 + bool m_bVulnerableOnCreepSpawn; // 0x1818 + bool m_bHasOverriddenDestructionEffect; // 0x1819 private: - [[maybe_unused]] uint8_t __pad17f2[0x2]; // 0x17f2 + [[maybe_unused]] uint8_t __pad181a[0x2]; // 0x181a public: - int32_t m_iUpgradeIdentifier; // 0x17f4 - int32_t m_iInvulnCount; // 0x17f8 - int32_t m_iPlayerOwner; // 0x17fc - DOTA_LANE m_Lane; // 0x1800 - float m_fAmountAlongLane[2]; // 0x1804 - Vector m_vOverrideInitialAngles; // 0x180c - Vector m_vOverrideInitialAnglesBG; // 0x1818 - int32_t m_nOverrideInitialAngles; // 0x1824 - CountdownTimer m_IdleRareAnimationTime; // 0x1828 + int32_t m_iUpgradeIdentifier; // 0x181c + int32_t m_iInvulnCount; // 0x1820 + int32_t m_iPlayerOwner; // 0x1824 + DOTA_LANE m_Lane; // 0x1828 + float m_fAmountAlongLane[2]; // 0x182c + Vector m_vOverrideInitialAngles; // 0x1834 + Vector m_vOverrideInitialAnglesBG; // 0x1840 + int32_t m_nOverrideInitialAngles; // 0x184c + CountdownTimer m_IdleRareAnimationTime; // 0x1850 // 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: 0x1878 +// Size: 0x18a0 class CDOTA_BaseNPC_Tower : public CDOTA_BaseNPC_Building { public: - CEntityIOOutput m_OnTowerKilled; // 0x1840 + CEntityIOOutput m_OnTowerKilled; // 0x1868 // MNetworkEnable - CHandle< CBaseEntity > m_hTowerAttackTarget; // 0x1868 + CHandle< CBaseEntity > m_hTowerAttackTarget; // 0x1890 // MNetworkEnable - CHandle< CBaseEntity > m_hTowerHighFiveTarget; // 0x186c + CHandle< CBaseEntity > m_hTowerHighFiveTarget; // 0x1894 }; // Alignment: 0 -// Size: 0x1840 +// Size: 0x1868 class CDOTA_BaseNPC_Filler : public CDOTA_BaseNPC_Building { public: @@ -91647,7 +92972,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_NPC_BaseBlocker : public CDOTA_BaseNPC_Additive { public: @@ -91655,16 +92980,16 @@ public: }; // Alignment: 1 -// Size: 0x1848 +// Size: 0x1870 class CDOTA_NPC_Lantern : public CDOTA_BaseNPC_Building { public: // MNetworkEnable - CUtlSymbolLarge m_szInteractAbilityName; // 0x1840 + CUtlSymbolLarge m_szInteractAbilityName; // 0x1868 }; // Alignment: 0 -// Size: 0x1840 +// Size: 0x1868 class CDOTA_BaseNPC_MangoTree : public CDOTA_BaseNPC_Building { public: @@ -91672,18 +92997,18 @@ public: }; // Alignment: 2 -// Size: 0x1850 +// Size: 0x1878 class CDOTA_BaseNPC_Watch_Tower : public CDOTA_BaseNPC_Building { public: // MNetworkEnable - CUtlSymbolLarge m_szOutpostName; // 0x1840 + CUtlSymbolLarge m_szOutpostName; // 0x1868 // MNetworkEnable - CUtlSymbolLarge m_szInteractAbilityName; // 0x1848 + CUtlSymbolLarge m_szInteractAbilityName; // 0x1870 }; // Alignment: 0 -// Size: 0x1840 +// Size: 0x1868 class CDOTA_BaseNPC_Healer : public CDOTA_BaseNPC_Building { public: @@ -91691,7 +93016,7 @@ public: }; // Alignment: 0 -// Size: 0x1878 +// Size: 0x18a0 class CDOTA_BaseNPC_RespawningTower : public CDOTA_BaseNPC_Tower { public: @@ -91699,7 +93024,7 @@ public: }; // Alignment: 0 -// Size: 0x1840 +// Size: 0x1868 class CDOTA_BaseNPC_Fort : public CDOTA_BaseNPC_Building { public: @@ -91707,7 +93032,7 @@ public: }; // Alignment: 0 -// Size: 0x1840 +// Size: 0x1868 class CDOTA_BaseNPC_Barracks : public CDOTA_BaseNPC_Building { public: @@ -91715,7 +93040,7 @@ public: }; // Alignment: 0 -// Size: 0x1878 +// Size: 0x18a0 class CDOTA_BaseNPC_SDKTower : public CDOTA_BaseNPC_Tower { public: @@ -91723,15 +93048,15 @@ public: }; // Alignment: 1 -// Size: 0x1880 +// Size: 0x18a8 class CDOTA_BaseNPC_HoldoutTower : public CDOTA_BaseNPC_Tower { public: - DOTA_HOLDOUT_TOWER_TYPE m_iTowerType; // 0x1878 + DOTA_HOLDOUT_TOWER_TYPE m_iTowerType; // 0x18a0 }; // Alignment: 0 -// Size: 0x1880 +// Size: 0x18a8 class CDOTA_BaseNPC_HoldoutTower_LightFast : public CDOTA_BaseNPC_HoldoutTower { public: @@ -91739,7 +93064,7 @@ public: }; // Alignment: 0 -// Size: 0x1880 +// Size: 0x18a8 class CDOTA_BaseNPC_HoldoutTower_HeavySlow : public CDOTA_BaseNPC_HoldoutTower { public: @@ -91747,7 +93072,7 @@ public: }; // Alignment: 0 -// Size: 0x1880 +// Size: 0x18a8 class CDOTA_BaseNPC_HoldoutTower_ReduceSpeed : public CDOTA_BaseNPC_HoldoutTower { public: @@ -91755,7 +93080,7 @@ public: }; // Alignment: 0 -// Size: 0x1840 +// Size: 0x1868 class CDOTA_BaseNPC_Effigy_Statue : public CDOTA_BaseNPC_Building { public: @@ -91763,7 +93088,7 @@ public: }; // Alignment: 0 -// Size: 0x1840 +// Size: 0x1868 class CDOTA_BaseNPC_Effigy_BattleCup : public CDOTA_BaseNPC_Building { public: @@ -91771,7 +93096,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_RotatableBuilding : public CDOTA_BaseNPC { public: @@ -91779,204 +93104,201 @@ public: }; // Alignment: 80 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_BaseNPC_Hero : public CDOTA_BaseNPC_Additive { private: - [[maybe_unused]] uint8_t __pad1738[0x98]; // 0x1738 + [[maybe_unused]] uint8_t __pad1760[0x98]; // 0x1760 public: // MNetworkEnable - float m_flStrength; // 0x17d0 + float m_flStrength; // 0x17f8 // MNetworkEnable - float m_flAgility; // 0x17d4 + float m_flAgility; // 0x17fc // MNetworkEnable - float m_flIntellect; // 0x17d8 + float m_flIntellect; // 0x1800 // MNetworkEnable - float m_flStrengthTotal; // 0x17dc + float m_flStrengthTotal; // 0x1804 // MNetworkEnable - float m_flAgilityTotal; // 0x17e0 + float m_flAgilityTotal; // 0x1808 // MNetworkEnable - float m_flIntellectTotal; // 0x17e4 + float m_flIntellectTotal; // 0x180c // MNetworkEnable - int32_t m_iRecentDamage; // 0x17e8 + int32_t m_iRecentDamage; // 0x1810 // MNetworkEnable - int32_t m_iPrimaryAttribute; // 0x17ec + int32_t m_iPrimaryAttribute; // 0x1814 // MNetworkEnable - GameTime_t m_flDeathTime; // 0x17f0 - float m_flStrengthGain; // 0x17f4 - float m_flAgilityGain; // 0x17f8 - float m_flIntellectGain; // 0x17fc - float m_flLastSuggestionTime; // 0x1800 - int32_t m_nSuggestionHandle; // 0x1804 - bool m_bItemsAddedToLoadout; // 0x1808 + GameTime_t m_flDeathTime; // 0x1818 + float m_flStrengthGain; // 0x181c + float m_flAgilityGain; // 0x1820 + float m_flIntellectGain; // 0x1824 + float m_flLastSuggestionTime; // 0x1828 + int32_t m_nSuggestionHandle; // 0x182c + bool m_bItemsAddedToLoadout; // 0x1830 private: - [[maybe_unused]] uint8_t __pad1809[0x3]; // 0x1809 + [[maybe_unused]] uint8_t __pad1831[0x3]; // 0x1831 public: - int32_t m_nSuggestPregameHandle; // 0x180c - bool m_bPregameItemsAddedToLoadout; // 0x1810 + int32_t m_nSuggestPregameHandle; // 0x1834 + bool m_bPregameItemsAddedToLoadout; // 0x1838 private: - [[maybe_unused]] uint8_t __pad1811[0x3]; // 0x1811 + [[maybe_unused]] uint8_t __pad1839[0x3]; // 0x1839 public: - CHandle< CBaseEntity > m_hNewARDMHero; // 0x1814 - GameTime_t m_fBuybackCooldown; // 0x1818 - GameTime_t m_fBuybackGoldLimit; // 0x181c - int32_t m_nLastHealedAmount; // 0x1820 - float m_flLastHealedTime; // 0x1824 - CHandle< CBaseEntity > m_hLastHealEntity; // 0x1828 - Vector m_vRespawnPosition; // 0x182c - CUtlVector< CDOTA_BaseNPC_Hero::sHeroDamageInfo > m_HeroDamageInfoArray; // 0x1838 - CUtlVector< CDOTA_BaseNPC_Hero::sHeroRecentModifierInfo > m_vecRecentModifiers; // 0x1850 - GameTime_t m_fMostRecentDamageTime; // 0x1868 + CHandle< CBaseEntity > m_hNewARDMHero; // 0x183c + GameTime_t m_fBuybackCooldown; // 0x1840 + GameTime_t m_fBuybackGoldLimit; // 0x1844 + int32_t m_nLastHealedAmount; // 0x1848 + float m_flLastHealedTime; // 0x184c + CHandle< CBaseEntity > m_hLastHealEntity; // 0x1850 + Vector m_vRespawnPosition; // 0x1854 + CUtlVector< CDOTA_BaseNPC_Hero::sHeroDamageInfo > m_HeroDamageInfoArray; // 0x1860 + CUtlVector< CDOTA_BaseNPC_Hero::sHeroRecentModifierInfo > m_vecRecentModifiers; // 0x1878 + GameTime_t m_fMostRecentDamageTime; // 0x1890 // MNetworkEnable - int32_t m_iAbilityPoints; // 0x186c + int32_t m_iAbilityPoints; // 0x1894 // MNetworkEnable // MNetworkPriority "32" - int32_t m_iCurrentXP; // 0x1870 + int32_t m_iCurrentXP; // 0x1898 // MNetworkEnable - GameTime_t m_flRespawnTime; // 0x1874 + GameTime_t m_flRespawnTime; // 0x189c // MNetworkEnable - float m_flRespawnTimePenalty; // 0x1878 - float m_flTimeUntilRespawn; // 0x187c - float m_flScriptRespawnTime; // 0x1880 - float m_flPendingRespawnTime; // 0x1884 + float m_flRespawnTimePenalty; // 0x18a0 + float m_flTimeUntilRespawn; // 0x18a4 + float m_flScriptRespawnTime; // 0x18a8 + float m_flPendingRespawnTime; // 0x18ac // MNetworkEnable - bool m_bScriptDisableRespawns; // 0x1888 + bool m_bScriptDisableRespawns; // 0x18b0 private: - [[maybe_unused]] uint8_t __pad1889[0x3]; // 0x1889 + [[maybe_unused]] uint8_t __pad18b1[0x3]; // 0x18b1 public: // MNetworkEnable - PlayerID_t m_iPlayerID; // 0x188c - PlayerID_t m_iIllusionOriginalPlayerID; // 0x1890 - int32_t m_iHeroID; // 0x1894 + PlayerID_t m_iPlayerID; // 0x18b4 + PlayerID_t m_iIllusionOriginalPlayerID; // 0x18b8 + int32_t m_iHeroID; // 0x18bc // MNetworkEnable - CHandle< CDOTA_BaseNPC_Hero > m_hReplicatingOtherHeroModel; // 0x1898 + CHandle< CDOTA_BaseNPC_Hero > m_hReplicatingOtherHeroModel; // 0x18c0 private: - [[maybe_unused]] uint8_t __pad189c[0x3c]; // 0x189c + [[maybe_unused]] uint8_t __pad18c4[0x3c]; // 0x18c4 public: - CountdownTimer m_RespawnMusicTimer; // 0x18d8 - CountdownTimer m_HeroKillTimer; // 0x18f0 - CountdownTimer m_MultipleHeroKillTimer; // 0x1908 - CountdownTimer m_MultipleLastHitTimer; // 0x1920 - int32_t m_iMultipleKillCount; // 0x1938 - bool m_bDisableWearables; // 0x193c + CountdownTimer m_RespawnMusicTimer; // 0x1900 + CountdownTimer m_HeroKillTimer; // 0x1918 + CountdownTimer m_MultipleHeroKillTimer; // 0x1930 + CountdownTimer m_MultipleLastHitTimer; // 0x1948 + int32_t m_iMultipleKillCount; // 0x1960 + bool m_bDisableWearables; // 0x1964 private: - [[maybe_unused]] uint8_t __pad193d[0x3]; // 0x193d + [[maybe_unused]] uint8_t __pad1965[0x3]; // 0x1965 public: - CHandle< CDOTAWearableItem > m_hTogglableWearable[97]; // 0x1940 -private: - [[maybe_unused]] uint8_t __pad1ac4[0x4]; // 0x1ac4 -public: - CDOTA_BaseNPC_Hero::KillInfo_t m_KillInfo; // 0x1ac8 - CountdownTimer m_DirectorAbilityActivity; // 0x1ae8 + CHandle< CDOTAWearableItem > m_hTogglableWearable[98]; // 0x1968 + CDOTA_BaseNPC_Hero::KillInfo_t m_KillInfo; // 0x1af0 + CountdownTimer m_DirectorAbilityActivity; // 0x1b10 // MNetworkEnable - bool m_bReincarnating; // 0x1b00 + bool m_bReincarnating; // 0x1b28 // MNetworkEnable - bool m_bCustomKillEffect; // 0x1b01 + bool m_bCustomKillEffect; // 0x1b29 private: - [[maybe_unused]] uint8_t __pad1b02[0x2]; // 0x1b02 + [[maybe_unused]] uint8_t __pad1b2a[0x2]; // 0x1b2a public: // MNetworkEnable - GameTime_t m_flSpawnedAt; // 0x1b04 - CountdownTimer m_PurchaseItemTimer; // 0x1b08 - CountdownTimer m_NeutralItemTimer; // 0x1b20 - CountdownTimer m_RetrieveItemsFromStashTimer; // 0x1b38 - CountdownTimer m_RequestGoToSecretShopTimer; // 0x1b50 - int32_t m_iNextItemToPurchase; // 0x1b68 - bool m_bDoesNextItemCompleteRecipe; // 0x1b6c + GameTime_t m_flSpawnedAt; // 0x1b2c + CountdownTimer m_PurchaseItemTimer; // 0x1b30 + CountdownTimer m_NeutralItemTimer; // 0x1b48 + CountdownTimer m_RetrieveItemsFromStashTimer; // 0x1b60 + CountdownTimer m_RequestGoToSecretShopTimer; // 0x1b78 + int32_t m_iNextItemToPurchase; // 0x1b90 + bool m_bDoesNextItemCompleteRecipe; // 0x1b94 private: - [[maybe_unused]] uint8_t __pad1b6d[0x3]; // 0x1b6d + [[maybe_unused]] uint8_t __pad1b95[0x3]; // 0x1b95 public: - CUtlVector< sLoadoutItem > m_Loadout; // 0x1b70 - CUtlVector< CUtlPair< AbilityID_t, bool > > m_BuildingOrBuilt; // 0x1b88 - sLoadoutItem m_TPScroll; // 0x1ba0 - sLoadoutItem m_Dust; // 0x1bb8 - sLoadoutItem m_Gem; // 0x1bd0 - sLoadoutItem m_SentryWard; // 0x1be8 - sLoadoutItem m_ObserverWard; // 0x1c00 - sLoadoutItem m_Courier; // 0x1c18 - sLoadoutItem m_FlyingCourier; // 0x1c30 - bool m_bAutoPurchaseItems; // 0x1c48 - bool m_bBuybackDisabled; // 0x1c49 + CUtlVector< sLoadoutItem > m_Loadout; // 0x1b98 + CUtlVector< CUtlPair< AbilityID_t, bool > > m_BuildingOrBuilt; // 0x1bb0 + sLoadoutItem m_TPScroll; // 0x1bc8 + sLoadoutItem m_Dust; // 0x1be0 + sLoadoutItem m_Gem; // 0x1bf8 + sLoadoutItem m_SentryWard; // 0x1c10 + sLoadoutItem m_ObserverWard; // 0x1c28 + sLoadoutItem m_Courier; // 0x1c40 + sLoadoutItem m_FlyingCourier; // 0x1c58 + bool m_bAutoPurchaseItems; // 0x1c70 + bool m_bBuybackDisabled; // 0x1c71 private: - [[maybe_unused]] uint8_t __pad1c4a[0x6]; // 0x1c4a + [[maybe_unused]] uint8_t __pad1c72[0x6]; // 0x1c72 public: - CUtlVector< CHandle< CDOTA_BaseNPC_Pet > > m_hPets; // 0x1c50 - bool m_bPreventPetSpawn; // 0x1c68 + CUtlVector< CHandle< CDOTA_BaseNPC_Pet > > m_hPets; // 0x1c78 + bool m_bPreventPetSpawn; // 0x1c90 private: - [[maybe_unused]] uint8_t __pad1c69[0x7]; // 0x1c69 + [[maybe_unused]] uint8_t __pad1c91[0x7]; // 0x1c91 public: - CDOTAMusicProbabilityEntry m_MusicProbabilityGank; // 0x1c70 + CDOTAMusicProbabilityEntry m_MusicProbabilityGank; // 0x1c98 private: - [[maybe_unused]] uint8_t __pad1c98[0x28]; // 0x1c98 + [[maybe_unused]] uint8_t __pad1cc0[0x28]; // 0x1cc0 public: - CUtlString m_strCustomKillEffect; // 0x1cc0 - CUtlString m_strCustomHexModel; // 0x1cc8 - ParticleIndex_t m_nKillStreakFX; // 0x1cd0 + CUtlString m_strCustomKillEffect; // 0x1ce8 + CUtlString m_strCustomHexModel; // 0x1cf0 + ParticleIndex_t m_nKillStreakFX; // 0x1cf8 private: - [[maybe_unused]] uint8_t __pad1cd4[0x4]; // 0x1cd4 + [[maybe_unused]] uint8_t __pad1cfc[0x4]; // 0x1cfc public: - CUtlVector< CHandle< CBaseEntity > > m_AbilitiesPendingDelete; // 0x1cd8 - CUtlVector< sAcquireHistory > m_vecItemPurchaseHistory; // 0x1cf0 - CUtlVector< sAcquireHistory > m_vecAbilitySkillHistory; // 0x1d08 - CUtlVector< sAcquireHistory > m_vecNeutralItemEquippedHistory; // 0x1d20 + CUtlVector< CHandle< CBaseEntity > > m_AbilitiesPendingDelete; // 0x1d00 + CUtlVector< sAcquireHistory > m_vecItemPurchaseHistory; // 0x1d18 + CUtlVector< sAcquireHistory > m_vecAbilitySkillHistory; // 0x1d30 + CUtlVector< sAcquireHistory > m_vecNeutralItemEquippedHistory; // 0x1d48 private: - [[maybe_unused]] uint8_t __pad1d38[0x18]; // 0x1d38 + [[maybe_unused]] uint8_t __pad1d60[0x18]; // 0x1d60 public: - CUtlVector< CHandle< CDOTA_BaseNPC_Hero > > m_vecExpiredIllusions; // 0x1d50 + CUtlVector< CHandle< CDOTA_BaseNPC_Hero > > m_vecExpiredIllusions; // 0x1d78 private: - [[maybe_unused]] uint8_t __pad1d68[0x4]; // 0x1d68 + [[maybe_unused]] uint8_t __pad1d90[0x4]; // 0x1d90 public: - float m_flLastTimeLookedAtByDirector; // 0x1d6c + float m_flLastTimeLookedAtByDirector; // 0x1d94 }; // Alignment: 10 -// Size: 0x1768 +// Size: 0x1790 class CDOTA_BaseNPC_Pet : public CDOTA_BaseNPC { public: - CHandle< CDOTA_BaseNPC_Hero > m_hHeroHandle; // 0x1738 - float m_flPetThreatLevel; // 0x173c - bool m_bReadyToPerformCoopTeleport; // 0x1740 - bool m_bSupportsCoopTeleport; // 0x1741 + CHandle< CDOTA_BaseNPC_Hero > m_hHeroHandle; // 0x1760 + float m_flPetThreatLevel; // 0x1764 + bool m_bReadyToPerformCoopTeleport; // 0x1768 + bool m_bSupportsCoopTeleport; // 0x1769 private: - [[maybe_unused]] uint8_t __pad1742[0x2]; // 0x1742 + [[maybe_unused]] uint8_t __pad176a[0x2]; // 0x176a public: - PetCoopStates_t m_nCoopState; // 0x1744 - CUtlString m_strPickupItemModel; // 0x1748 - CHandle< CDOTA_Pet_CarriedItem > m_hCarriedItem; // 0x1750 - int32_t m_nPetLevel; // 0x1754 - PetLevelup_Rule_t m_nLevelupRule; // 0x1758 + PetCoopStates_t m_nCoopState; // 0x176c + CUtlString m_strPickupItemModel; // 0x1770 + CHandle< CDOTA_Pet_CarriedItem > m_hCarriedItem; // 0x1778 + int32_t m_nPetLevel; // 0x177c + PetLevelup_Rule_t m_nLevelupRule; // 0x1780 private: - [[maybe_unused]] uint8_t __pad175c[0x4]; // 0x175c + [[maybe_unused]] uint8_t __pad1784[0x4]; // 0x1784 public: - int32_t m_nXPCompendiumEventID; // 0x1760 + int32_t m_nXPCompendiumEventID; // 0x1788 }; // Alignment: 1 -// Size: 0x1848 +// Size: 0x1870 class CDOTA_BaseNPC_Shop : public CDOTA_BaseNPC_Building { public: // MNetworkEnable - DOTA_SHOP_TYPE m_ShopType; // 0x1840 + DOTA_SHOP_TYPE m_ShopType; // 0x1868 }; // Alignment: 2 -// Size: 0x1870 +// Size: 0x1898 class CDOTA_BaseNPC_HallofFame : public CDOTA_BaseNPC_Building { private: - [[maybe_unused]] uint8_t __pad1840[0x10]; // 0x1840 + [[maybe_unused]] uint8_t __pad1868[0x10]; // 0x1868 public: - int32_t m_event_dota_player_team_changed; // 0x1850 + int32_t m_event_dota_player_team_changed; // 0x1878 private: - [[maybe_unused]] uint8_t __pad1854[0x4]; // 0x1854 + [[maybe_unused]] uint8_t __pad187c[0x4]; // 0x187c public: - CountdownTimer m_glowThinkTimer; // 0x1858 + CountdownTimer m_glowThinkTimer; // 0x1880 }; // Alignment: 0 -// Size: 0x1840 +// Size: 0x1868 class CDOTA_BaseNPC_Promo : public CDOTA_BaseNPC_Building { public: @@ -91984,87 +93306,87 @@ public: }; // Alignment: 47 -// Size: 0x18b8 +// Size: 0x18e0 class CDOTA_BaseNPC_Creature : public CDOTA_BaseNPC_Creep { public: - bool m_bInitialized; // 0x1768 - bool m_bCanRespawn; // 0x1769 - bool m_bUsesGestureBasedAttackAnimation; // 0x176a - bool m_bIsHybridFlyer; // 0x176b - bool m_bRequiresReachingEndPath; // 0x176c - bool m_bAggroOwnerOnDamage; // 0x176d - bool m_bReceivedAggroOnDamageOrder; // 0x176e + bool m_bInitialized; // 0x1790 + bool m_bCanRespawn; // 0x1791 + bool m_bUsesGestureBasedAttackAnimation; // 0x1792 + bool m_bIsHybridFlyer; // 0x1793 + bool m_bRequiresReachingEndPath; // 0x1794 + bool m_bAggroOwnerOnDamage; // 0x1795 + bool m_bReceivedAggroOnDamageOrder; // 0x1796 private: - [[maybe_unused]] uint8_t __pad176f[0x1]; // 0x176f + [[maybe_unused]] uint8_t __pad1797[0x1]; // 0x1797 public: - CUtlVector< CreatureStateData_t > m_vCreatureStates; // 0x1770 - char* m_pszDefaultState; // 0x1788 - char* m_pszCurrentState; // 0x1790 - int32_t m_nHPGain; // 0x1798 - int32_t m_nManaGain; // 0x179c - float m_flHPRegenGain; // 0x17a0 - float m_flManaRegenGain; // 0x17a4 - int32_t m_nDamageGain; // 0x17a8 - float m_flArmorGain; // 0x17ac - float m_flMagicResistGain; // 0x17b0 - float m_flDisableResistGain; // 0x17b4 - float m_flAttackTimeGain; // 0x17b8 - int32_t m_nMoveSpeedGain; // 0x17bc - int32_t m_nBountyGain; // 0x17c0 - int32_t m_nXPGain; // 0x17c4 - int32_t m_nPermanentDesire; // 0x17c8 - int32_t m_nCreatureDesire; // 0x17cc - int32_t m_nCurrentCastBehavior; // 0x17d0 - bool m_bIsBuildingAggressive; // 0x17d4 - bool m_bIsHeroAggressive; // 0x17d5 - bool m_bDisableClumpingBehavior; // 0x17d6 + CUtlVector< CreatureStateData_t > m_vCreatureStates; // 0x1798 + char* m_pszDefaultState; // 0x17b0 + char* m_pszCurrentState; // 0x17b8 + int32_t m_nHPGain; // 0x17c0 + int32_t m_nManaGain; // 0x17c4 + float m_flHPRegenGain; // 0x17c8 + float m_flManaRegenGain; // 0x17cc + int32_t m_nDamageGain; // 0x17d0 + float m_flArmorGain; // 0x17d4 + float m_flMagicResistGain; // 0x17d8 + float m_flDisableResistGain; // 0x17dc + float m_flAttackTimeGain; // 0x17e0 + int32_t m_nMoveSpeedGain; // 0x17e4 + int32_t m_nBountyGain; // 0x17e8 + int32_t m_nXPGain; // 0x17ec + int32_t m_nPermanentDesire; // 0x17f0 + int32_t m_nCreatureDesire; // 0x17f4 + int32_t m_nCurrentCastBehavior; // 0x17f8 + bool m_bIsBuildingAggressive; // 0x17fc + bool m_bIsHeroAggressive; // 0x17fd + bool m_bDisableClumpingBehavior; // 0x17fe private: - [[maybe_unused]] uint8_t __pad17d7[0x1]; // 0x17d7 + [[maybe_unused]] uint8_t __pad17ff[0x1]; // 0x17ff public: - float m_flDisableResistance; // 0x17d8 - float m_flUltimateDisableResistance; // 0x17dc - bool m_bHasOffensiveAbility; // 0x17e0 + float m_flDisableResistance; // 0x1800 + float m_flUltimateDisableResistance; // 0x1804 + bool m_bHasOffensiveAbility; // 0x1808 private: - [[maybe_unused]] uint8_t __pad17e1[0x7]; // 0x17e1 + [[maybe_unused]] uint8_t __pad1809[0x7]; // 0x1809 public: - CUtlVector< CreatureAbilityData_t > m_vOffensiveAbilities; // 0x17e8 - bool m_bHasDefensiveAbility; // 0x1800 + CUtlVector< CreatureAbilityData_t > m_vOffensiveAbilities; // 0x1810 + bool m_bHasDefensiveAbility; // 0x1828 private: - [[maybe_unused]] uint8_t __pad1801[0x7]; // 0x1801 + [[maybe_unused]] uint8_t __pad1829[0x7]; // 0x1829 public: - CUtlVector< CreatureAbilityData_t > m_vDefensiveAbilities; // 0x1808 - bool m_bHasEscapeAbility; // 0x1820 + CUtlVector< CreatureAbilityData_t > m_vDefensiveAbilities; // 0x1830 + bool m_bHasEscapeAbility; // 0x1848 private: - [[maybe_unused]] uint8_t __pad1821[0x7]; // 0x1821 + [[maybe_unused]] uint8_t __pad1849[0x7]; // 0x1849 public: - CUtlVector< CreatureAbilityData_t > m_vEscapeAbilities; // 0x1828 - CDOTABaseAbility* m_pLastUsedAbility; // 0x1840 - Vector m_vDesiredCastLocation; // 0x1848 + CUtlVector< CreatureAbilityData_t > m_vEscapeAbilities; // 0x1850 + CDOTABaseAbility* m_pLastUsedAbility; // 0x1868 + Vector m_vDesiredCastLocation; // 0x1870 private: - [[maybe_unused]] uint8_t __pad1854[0x4]; // 0x1854 + [[maybe_unused]] uint8_t __pad187c[0x4]; // 0x187c public: - CDOTA_BaseNPC* m_pDesiredNPCTarget; // 0x1858 - CDOTA_BaseNPC* m_pEscortTarget; // 0x1860 - Vector m_vLastDamageSource; // 0x1868 - bool m_bIsChampion; // 0x1874 + CDOTA_BaseNPC* m_pDesiredNPCTarget; // 0x1880 + CDOTA_BaseNPC* m_pEscortTarget; // 0x1888 + Vector m_vLastDamageSource; // 0x1890 + bool m_bIsChampion; // 0x189c private: - [[maybe_unused]] uint8_t __pad1875[0x3]; // 0x1875 + [[maybe_unused]] uint8_t __pad189d[0x3]; // 0x189d public: - CUtlVector< ItemDropData_t* > m_vItemDropData; // 0x1878 - CUtlVector< item_definition_index_t > m_vecAttachWearableItemDefs; // 0x1890 - GameTime_t m_flRespawnTime; // 0x18a8 + CUtlVector< ItemDropData_t* > m_vItemDropData; // 0x18a0 + CUtlVector< item_definition_index_t > m_vecAttachWearableItemDefs; // 0x18b8 + GameTime_t m_flRespawnTime; // 0x18d0 // MNetworkEnable - bool m_bIsCurrentlyChanneling; // 0x18ac + bool m_bIsCurrentlyChanneling; // 0x18d4 private: - [[maybe_unused]] uint8_t __pad18ad[0x3]; // 0x18ad + [[maybe_unused]] uint8_t __pad18d5[0x3]; // 0x18d5 public: // MNetworkEnable - float m_flChannelCycle; // 0x18b0 + float m_flChannelCycle; // 0x18d8 }; // Alignment: 0 -// Size: 0x1840 +// Size: 0x1868 class CDOTA_BaseNPC_NeutralItemStash : public CDOTA_BaseNPC_Building { public: @@ -92072,25 +93394,25 @@ public: }; // Alignment: 2 -// Size: 0x18d0 +// Size: 0x18f8 class CDOTA_BaseNPC_Trap_Ward : public CDOTA_BaseNPC_Creature { public: - CUtlSymbolLarge m_iszDefaultAnim; // 0x18b8 - Vector m_vTrapTargetLocal; // 0x18c0 + CUtlSymbolLarge m_iszDefaultAnim; // 0x18e0 + Vector m_vTrapTargetLocal; // 0x18e8 }; // Alignment: 2 -// Size: 0x1848 +// Size: 0x1870 class CDOTA_BaseNPC_CustomEffigy : public CDOTA_BaseNPC_Building { public: - uint32_t m_unStatusEffectIndex; // 0x1840 - CHandle< CBaseEntity > m_hPedestal; // 0x1844 + uint32_t m_unStatusEffectIndex; // 0x1868 + CHandle< CBaseEntity > m_hPedestal; // 0x186c }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_JungleVarmint : public CDOTA_BaseNPC_Additive { public: @@ -92098,15 +93420,15 @@ public: }; // Alignment: 1 -// Size: 0x1848 +// Size: 0x1870 class CDOTA_Unit_Twin_Gate : public CDOTA_BaseNPC_Building { public: - CHandle< CBaseEntity > m_hOtherPortal; // 0x1840 + CHandle< CBaseEntity > m_hOtherPortal; // 0x1868 }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CIngameEvent_MuertaReleaseSpring2023_DummyModifierHolder : public CDOTA_BaseNPC_Additive { public: @@ -92114,7 +93436,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_NPC_DataDriven : public CDOTA_BaseNPC_Additive { public: @@ -92122,7 +93444,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_Unit_AghsFort_EarthSpiritBoss_Stone : public CDOTA_BaseNPC { public: @@ -92130,18 +93452,18 @@ public: }; // Alignment: 2 -// Size: 0x1740 +// Size: 0x1768 class CDOTA_NPC_Aghsfort_WitchDoctor_Ward : public CDOTA_BaseNPC_Additive { public: // MNetworkEnable - int32_t m_nTargetType; // 0x1738 + int32_t m_nTargetType; // 0x1760 // MNetworkEnable - int32_t m_nTargetFlags; // 0x173c + int32_t m_nTargetFlags; // 0x1764 }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_AghsFort_Unit_Undying_Tombstone : public CDOTA_BaseNPC_Additive { public: @@ -92149,16 +93471,16 @@ public: }; // Alignment: 2 -// Size: 0x1788 +// Size: 0x17b0 class CDOTA_AghsFort_Unit_Undying_Zombie : public CDOTA_BaseNPC_Creep { public: - CountdownTimer m_ctRespawn; // 0x1768 - CDOTA_BaseNPC* m_pTombstone; // 0x1780 + CountdownTimer m_ctRespawn; // 0x1790 + CDOTA_BaseNPC* m_pTombstone; // 0x17a8 }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_AghsFort_Unit_Hero_Undying : public CDOTA_BaseNPC_Hero { public: @@ -92166,7 +93488,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_NPC_AghsFort_Lich_Ice_Spire : public CDOTA_BaseNPC_Additive { public: @@ -92174,7 +93496,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_AghsFort_Hero_Phoenix : public CDOTA_BaseNPC_Hero { public: @@ -92182,17 +93504,17 @@ public: }; // Alignment: 3 -// Size: 0x1d80 +// Size: 0x1da8 class CDOTA_AghsFort_Unit_ArcWarden_Boss : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nTalkFXIndex; // 0x1d70 - ParticleIndex_t m_nFXDeath; // 0x1d74 - ParticleIndex_t m_nTempestFX; // 0x1d78 + ParticleIndex_t m_nTalkFXIndex; // 0x1d98 + ParticleIndex_t m_nFXDeath; // 0x1d9c + ParticleIndex_t m_nTempestFX; // 0x1da0 }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Aghsfort_PrimalBeast_Boss : public CDOTA_BaseNPC_Hero { public: @@ -92200,7 +93522,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_AghsFort_Hero_Clinkz : public CDOTA_BaseNPC_Hero { public: @@ -92208,7 +93530,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_AghsFort_Clinkz_Skeleton_Archer : public CDOTA_BaseNPC { public: @@ -92216,7 +93538,7 @@ public: }; // Alignment: 0 -// Size: 0x18b8 +// Size: 0x18e0 class CDOTA_BaseNPC_AghsFort_Clinkz_Skeleton_Colossus : public CDOTA_BaseNPC_Creature { public: @@ -92224,7 +93546,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_AncientApparition : public CDOTA_BaseNPC_Hero { public: @@ -92232,7 +93554,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_AntiMage : public CDOTA_BaseNPC_Hero { public: @@ -92240,7 +93562,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Bane : public CDOTA_BaseNPC_Hero { public: @@ -92248,7 +93570,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Pudge : public CDOTA_BaseNPC_Hero { public: @@ -92256,23 +93578,23 @@ public: }; // Alignment: 1 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_Juggernaut : public CDOTA_BaseNPC_Hero { public: - uint32_t m_unOmniKills; // 0x1d70 + uint32_t m_unOmniKills; // 0x1d98 }; // Alignment: 1 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_Nevermore : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1d70 + ParticleIndex_t m_nFXDeath; // 0x1d98 }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_SandKing : public CDOTA_BaseNPC_Hero { public: @@ -92280,7 +93602,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Mirana : public CDOTA_BaseNPC_Hero { public: @@ -92288,7 +93610,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Sven : public CDOTA_BaseNPC_Hero { public: @@ -92296,21 +93618,21 @@ public: }; // Alignment: 3 -// Size: 0x1da0 +// Size: 0x1dc8 class CDOTA_Unit_Hero_SkeletonKing : public CDOTA_BaseNPC_Hero { public: - int32_t m_nSkeletonWarriors; // 0x1d70 + int32_t m_nSkeletonWarriors; // 0x1d98 // MNetworkEnable // MNetworkChangeCallback "OnSKArcanaProgressChanged" - int32_t m_vecInitialHeroKillBitmask[5]; // 0x1d74 + int32_t m_vecInitialHeroKillBitmask[5]; // 0x1d9c // MNetworkEnable // MNetworkChangeCallback "OnSKArcanaProgressChanged" - int32_t m_vecInGameHeroKillBitmask[5]; // 0x1d88 + int32_t m_vecInGameHeroKillBitmask[5]; // 0x1db0 }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_StormSpirit : public CDOTA_BaseNPC_Hero { public: @@ -92318,7 +93640,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_DrowRanger : public CDOTA_BaseNPC_Hero { public: @@ -92326,32 +93648,32 @@ public: }; // Alignment: 1 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_Earthshaker : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1d70 -}; - -// Alignment: 1 -// Size: 0x1d78 -class CDOTA_Unit_Hero_VengefulSpirit : public CDOTA_BaseNPC_Hero -{ -public: - bool m_bArcanaEquipped; // 0x1d70 -}; - -// Alignment: 2 -// Size: 0x1d78 -class CDOTA_Unit_Hero_CrystalMaiden : public CDOTA_BaseNPC_Hero -{ -public: - int32_t m_iParticleMouthIndex; // 0x1d70 - int32_t m_iParticleHandRIndex; // 0x1d74 + ParticleIndex_t m_nFXDeath; // 0x1d98 }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 +class CDOTA_Unit_Hero_VengefulSpirit : public CDOTA_BaseNPC_Hero +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x1da0 +class CDOTA_Unit_Hero_CrystalMaiden : public CDOTA_BaseNPC_Hero +{ +public: + int32_t m_iParticleMouthIndex; // 0x1d98 + int32_t m_iParticleHandRIndex; // 0x1d9c +}; + +// Alignment: 0 +// Size: 0x1d98 class CDOTA_Unit_Hero_Axe : public CDOTA_BaseNPC_Hero { public: @@ -92359,7 +93681,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Bloodseeker : public CDOTA_BaseNPC_Hero { public: @@ -92367,28 +93689,28 @@ public: }; // Alignment: 1 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_PhantomLancer : public CDOTA_BaseNPC_Hero { public: - bool m_bInventoryEnabled; // 0x1d70 + bool m_bInventoryEnabled; // 0x1d98 }; // Alignment: 2 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_Razor : public CDOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_nTargetAngle; // 0x1d70 + int32_t m_nTargetAngle; // 0x1d98 // MNetworkEnable // MNetworkPriority "32" - int32_t m_nTargetRange; // 0x1d74 + int32_t m_nTargetRange; // 0x1d9c }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Lina : public CDOTA_BaseNPC_Hero { public: @@ -92396,7 +93718,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Morphling : public CDOTA_BaseNPC_Hero { public: @@ -92404,7 +93726,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_Unit_ZeusCloud : public CDOTA_BaseNPC_Additive { public: @@ -92412,7 +93734,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Zuus : public CDOTA_BaseNPC_Hero { public: @@ -92420,28 +93742,28 @@ public: }; // Alignment: 1 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_Kunkka : public CDOTA_BaseNPC_Hero { public: - int32_t m_nFXIndex; // 0x1d70 + int32_t m_nFXIndex; // 0x1d98 }; // Alignment: 4 -// Size: 0x1d80 +// Size: 0x1da8 class CDOTA_Unit_Hero_Tiny : public CDOTA_BaseNPC_Hero { public: - CHandle< CBaseEntity > m_hTreeWearable; // 0x1d70 - ParticleIndex_t m_nFXIndexScepterAmbient; // 0x1d74 + CHandle< CBaseEntity > m_hTreeWearable; // 0x1d98 + ParticleIndex_t m_nFXIndexScepterAmbient; // 0x1d9c // MNetworkEnable - CHandle< CDOTA_BaseNPC > m_hIllusionOwner; // 0x1d78 + CHandle< CDOTA_BaseNPC > m_hIllusionOwner; // 0x1da0 // MNetworkEnable - bool m_bIllusionHasTree; // 0x1d7c + bool m_bIllusionHasTree; // 0x1da4 }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Puck : public CDOTA_BaseNPC_Hero { public: @@ -92449,18 +93771,18 @@ public: }; // Alignment: 2 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_Windrunner : public CDOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_nTargetAngle; // 0x1d70 - ParticleIndex_t m_nFXDeath; // 0x1d74 + int32_t m_nTargetAngle; // 0x1d98 + ParticleIndex_t m_nFXDeath; // 0x1d9c }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Lich : public CDOTA_BaseNPC_Hero { public: @@ -92468,15 +93790,26 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_NPC_Lich_Ice_Spire : public CDOTA_BaseNPC_Additive { public: // No members available }; +// Alignment: 2 +// Size: 0x1770 +class CDOTA_Unit_Tidehunter_Anchor : public CDOTA_BaseNPC_Additive +{ +public: + // MNetworkEnable + CHandle< CBaseEntity > m_hTarget; // 0x1760 + // MNetworkEnable + Vector m_vProjectilePosition; // 0x1764 +}; + // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Tidehunter : public CDOTA_BaseNPC_Hero { public: @@ -92484,16 +93817,16 @@ public: }; // Alignment: 2 -// Size: 0x1748 +// Size: 0x1770 class CDOTA_BaseNPC_ShadowShaman_SerpentWard : public CDOTA_BaseNPC_Additive { public: - QAngle m_angle; // 0x1738 - int32_t m_iPoseParameterAim; // 0x1744 + QAngle m_angle; // 0x1760 + int32_t m_iPoseParameterAim; // 0x176c }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_ShadowShaman : public CDOTA_BaseNPC_Hero { public: @@ -92501,7 +93834,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Riki : public CDOTA_BaseNPC_Hero { public: @@ -92509,7 +93842,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Enigma : public CDOTA_BaseNPC_Hero { public: @@ -92517,7 +93850,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Tinker : public CDOTA_BaseNPC_Hero { public: @@ -92525,7 +93858,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_WitchDoctor : public CDOTA_BaseNPC_Hero { public: @@ -92533,18 +93866,18 @@ public: }; // Alignment: 2 -// Size: 0x1740 +// Size: 0x1768 class CDOTA_NPC_WitchDoctor_Ward : public CDOTA_BaseNPC_Additive { public: // MNetworkEnable - int32_t m_nTargetType; // 0x1738 + int32_t m_nTargetType; // 0x1760 // MNetworkEnable - int32_t m_nTargetFlags; // 0x173c + int32_t m_nTargetFlags; // 0x1764 }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Sniper : public CDOTA_BaseNPC_Hero { public: @@ -92552,7 +93885,7 @@ public: }; // Alignment: 0 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_Necrolyte : public CDOTA_BaseNPC_Hero { public: @@ -92560,7 +93893,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Slardar : public CDOTA_BaseNPC_Hero { public: @@ -92568,7 +93901,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Ursa : public CDOTA_BaseNPC_Hero { public: @@ -92576,23 +93909,23 @@ public: }; // Alignment: 1 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_Lion : public CDOTA_BaseNPC_Hero { public: - uint32_t m_unFingerPrestigeKills; // 0x1d70 + uint32_t m_unFingerPrestigeKills; // 0x1d98 }; // Alignment: 1 -// Size: 0x1740 +// Size: 0x1768 class CDOTA_Unit_Announcer : public CDOTA_BaseNPC { public: - int32_t m_iAudienceTeam; // 0x1738 + int32_t m_iAudienceTeam; // 0x1760 }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_Unit_CustomGameAnnouncer : public CDOTA_BaseNPC { public: @@ -92600,59 +93933,59 @@ public: }; // Alignment: 10 -// Size: 0x1770 +// Size: 0x1798 class CDOTA_Unit_Courier : public CDOTA_BaseNPC_Additive { public: - bool m_bUnitRespawned; // 0x1738 - bool m_bPreUpdateFlyingCourier; // 0x1739 + bool m_bUnitRespawned; // 0x1760 + bool m_bPreUpdateFlyingCourier; // 0x1761 private: - [[maybe_unused]] uint8_t __pad173a[0x2]; // 0x173a + [[maybe_unused]] uint8_t __pad1762[0x2]; // 0x1762 public: // MNetworkEnable - PlayerID_t m_nSoleControllingPlayer; // 0x173c + PlayerID_t m_nSoleControllingPlayer; // 0x1764 // MNetworkEnable - bool m_bFlyingCourier; // 0x1740 + bool m_bFlyingCourier; // 0x1768 private: - [[maybe_unused]] uint8_t __pad1741[0x3]; // 0x1741 + [[maybe_unused]] uint8_t __pad1769[0x3]; // 0x1769 public: // MNetworkEnable - GameTime_t m_flRespawnTime; // 0x1744 + GameTime_t m_flRespawnTime; // 0x176c // MNetworkEnable - CourierState_t m_nCourierState; // 0x1748 + CourierState_t m_nCourierState; // 0x1770 // MNetworkEnable - CHandle< CBaseEntity > m_hCourierStateEntity; // 0x174c - CUtlString m_strCourierModel; // 0x1750 - CUtlString m_strFlyingCourierModel; // 0x1758 - Vector m_vSpawnLocation; // 0x1760 + CHandle< CBaseEntity > m_hCourierStateEntity; // 0x1774 + CUtlString m_strCourierModel; // 0x1778 + CUtlString m_strFlyingCourierModel; // 0x1780 + Vector m_vSpawnLocation; // 0x1788 }; // Alignment: 7 -// Size: 0x1768 +// Size: 0x1790 class CDOTA_Unit_Scout : public CDOTA_BaseNPC_Additive { public: - bool m_bUnitRespawned; // 0x1738 + bool m_bUnitRespawned; // 0x1760 private: - [[maybe_unused]] uint8_t __pad1739[0x3]; // 0x1739 + [[maybe_unused]] uint8_t __pad1761[0x3]; // 0x1761 public: // MNetworkEnable - PlayerID_t m_nSoleControllingPlayer; // 0x173c + PlayerID_t m_nSoleControllingPlayer; // 0x1764 // MNetworkEnable - GameTime_t m_flRespawnTime; // 0x1740 + GameTime_t m_flRespawnTime; // 0x1768 // MNetworkEnable - ScoutState_t m_nScoutState; // 0x1744 + ScoutState_t m_nScoutState; // 0x176c // MNetworkEnable - CHandle< CBaseEntity > m_hScoutStateEntity; // 0x1748 + CHandle< CBaseEntity > m_hScoutStateEntity; // 0x1770 private: - [[maybe_unused]] uint8_t __pad174c[0x4]; // 0x174c + [[maybe_unused]] uint8_t __pad1774[0x4]; // 0x1774 public: - CUtlString m_strScoutModel; // 0x1750 - Vector m_vSpawnLocation; // 0x1758 + CUtlString m_strScoutModel; // 0x1778 + Vector m_vSpawnLocation; // 0x1780 }; // Alignment: 0 -// Size: 0x1840 +// Size: 0x1868 class CDOTA_Unit_Fountain : public CDOTA_BaseNPC_Building { public: @@ -92660,54 +93993,54 @@ public: }; // Alignment: 5 -// Size: 0x1760 +// Size: 0x1788 class CDOTA_Unit_Roshan : public CDOTA_BaseNPC_Additive { public: - int32_t m_iLastHealthPercent; // 0x1738 - ParticleIndex_t m_nFXIndex; // 0x173c - CUtlVector< CHandle< CBaseEntity > > m_hAttackingHeroes; // 0x1740 + int32_t m_iLastHealthPercent; // 0x1760 + ParticleIndex_t m_nFXIndex; // 0x1764 + CUtlVector< CHandle< CBaseEntity > > m_hAttackingHeroes; // 0x1768 // MNetworkEnable - bool m_bGoldenRoshan; // 0x1758 - bool m_bIsNightTimeMode; // 0x1759 + bool m_bGoldenRoshan; // 0x1780 + bool m_bIsNightTimeMode; // 0x1781 }; // Alignment: 3 -// Size: 0x1758 +// Size: 0x1780 class CDOTA_Unit_Miniboss : public CDOTA_BaseNPC_Additive { public: // MNetworkEnable - int32_t m_nTimesSpawned; // 0x1738 - int32_t m_nTempViewer; // 0x173c - CUtlVector< CHandle< CBaseEntity > > m_hAttackingHeroes; // 0x1740 + int32_t m_nTimesSpawned; // 0x1760 + int32_t m_nTempViewer; // 0x1764 + CUtlVector< CHandle< CBaseEntity > > m_hAttackingHeroes; // 0x1768 }; // Alignment: 3 -// Size: 0x1758 +// Size: 0x1780 class CDOTA_Unit_Nian_Attachment : public CDOTA_BaseNPC_Additive { public: - bool m_bAttachmentBroken; // 0x1738 + bool m_bAttachmentBroken; // 0x1760 private: - [[maybe_unused]] uint8_t __pad1739[0x3]; // 0x1739 + [[maybe_unused]] uint8_t __pad1761[0x3]; // 0x1761 public: - ParticleIndex_t m_nfxIndex_tailgrow; // 0x173c - CUtlVector< NianDamageTaken_t > m_vecRecentDamage; // 0x1740 + ParticleIndex_t m_nfxIndex_tailgrow; // 0x1764 + CUtlVector< NianDamageTaken_t > m_vecRecentDamage; // 0x1768 }; // Alignment: 3 -// Size: 0x18d8 +// Size: 0x1900 class CDOTA_Unit_Nian : public CDOTA_BaseNPC_Creature { public: - CUtlVector< NianDamageTaken_t > m_vecRecentDamage; // 0x18b8 - CHandle< CBaseEntity > m_hTail; // 0x18d0 - CHandle< CBaseEntity > m_hHorn; // 0x18d4 + CUtlVector< NianDamageTaken_t > m_vecRecentDamage; // 0x18e0 + CHandle< CBaseEntity > m_hTail; // 0x18f8 + CHandle< CBaseEntity > m_hHorn; // 0x18fc }; // Alignment: 0 -// Size: 0x1768 +// Size: 0x1790 class CDOTA_BaseNPC_Warlock_Golem : public CDOTA_BaseNPC_Creep { public: @@ -92715,7 +94048,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Warlock : public CDOTA_BaseNPC_Hero { public: @@ -92723,7 +94056,7 @@ public: }; // Alignment: 0 -// Size: 0x1768 +// Size: 0x1790 class CODTA_Unit_Warlock_Imp : public CDOTA_BaseNPC_Creep { public: @@ -92731,7 +94064,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Beastmaster : public CDOTA_BaseNPC_Hero { public: @@ -92739,7 +94072,7 @@ public: }; // Alignment: 0 -// Size: 0x1768 +// Size: 0x1790 class CDOTA_Unit_Hero_Beastmaster_Beasts : public CDOTA_BaseNPC_Creep_Talking { public: @@ -92747,7 +94080,7 @@ public: }; // Alignment: 0 -// Size: 0x1768 +// Size: 0x1790 class CDOTA_Unit_Hero_Beastmaster_Hawk : public CDOTA_Unit_Hero_Beastmaster_Beasts { public: @@ -92755,7 +94088,7 @@ public: }; // Alignment: 0 -// Size: 0x1768 +// Size: 0x1790 class CDOTA_Unit_Hero_Beastmaster_Boar : public CDOTA_Unit_Hero_Beastmaster_Beasts { public: @@ -92763,7 +94096,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_QueenOfPain : public CDOTA_BaseNPC_Hero { public: @@ -92771,16 +94104,16 @@ public: }; // Alignment: 2 -// Size: 0x1748 +// Size: 0x1770 class CDOTA_BaseNPC_Venomancer_PlagueWard : public CDOTA_BaseNPC_Additive { public: - QAngle m_angle; // 0x1738 - int32_t m_iPoseParameterAim; // 0x1744 + QAngle m_angle; // 0x1760 + int32_t m_iPoseParameterAim; // 0x176c }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Venomancer : public CDOTA_BaseNPC_Hero { public: @@ -92788,15 +94121,15 @@ public: }; // Alignment: 1 -// Size: 0x1d80 +// Size: 0x1da8 class CDOTA_Unit_Hero_FacelessVoid : public CDOTA_BaseNPC_Hero { public: - Vector m_vecStanceDestinationPoint; // 0x1d70 + Vector m_vecStanceDestinationPoint; // 0x1d98 }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_DeathProphet : public CDOTA_BaseNPC_Hero { public: @@ -92804,7 +94137,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Pugna : public CDOTA_BaseNPC_Hero { public: @@ -92812,36 +94145,36 @@ public: }; // Alignment: 2 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_PhantomAssassin : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1d70 + ParticleIndex_t m_nFXDeath; // 0x1d98 // MNetworkEnable - uint32_t m_nArcanaLevel; // 0x1d74 + uint32_t m_nArcanaLevel; // 0x1d9c }; // Alignment: 1 -// Size: 0x1740 +// Size: 0x1768 class CDOTA_BaseNPC_Phantom_Assassin_GroundDagger : public CDOTA_BaseNPC_Additive { public: - ParticleIndex_t m_nFXIndex; // 0x1738 + ParticleIndex_t m_nFXIndex; // 0x1760 // 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: 0x1740 +// Size: 0x1768 class CDOTA_PhantomAssassin_Gravestone : public CDOTA_BaseNPC_Additive { public: - PlayerID_t m_nVictimPlayerID; // 0x1738 + PlayerID_t m_nVictimPlayerID; // 0x1760 }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_TemplarAssassin : public CDOTA_BaseNPC_Hero { public: @@ -92849,7 +94182,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_Unit_TemplarAssassin_PsionicTrap : public CDOTA_BaseNPC { public: @@ -92857,7 +94190,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Viper : public CDOTA_BaseNPC_Hero { public: @@ -92865,34 +94198,34 @@ public: }; // Alignment: 5 -// Size: 0x1d88 +// Size: 0x1db0 class CDOTA_Unit_TargetDummy : public CDOTA_BaseNPC_Hero { public: // MNetworkEnable - float m_flDamageTaken; // 0x1d70 + float m_flDamageTaken; // 0x1d98 // MNetworkEnable - float m_flLastHit; // 0x1d74 + float m_flLastHit; // 0x1d9c // MNetworkEnable - GameTime_t m_flStartDamageTime; // 0x1d78 + GameTime_t m_flStartDamageTime; // 0x1da0 // MNetworkEnable - GameTime_t m_flLastDamageTime; // 0x1d7c - bool m_bIsMoving; // 0x1d80 + GameTime_t m_flLastTargetDummyDamageTime; // 0x1da4 + bool m_bIsMoving; // 0x1da8 }; // Alignment: 2 -// Size: 0x1840 +// Size: 0x1868 class CDOTA_Unit_LoopingSound : public CDOTA_BaseNPC_Additive { public: // MNetworkEnable - char m_pszNetworkedSoundLoop[256]; // 0x1738 + char m_pszNetworkedSoundLoop[256]; // 0x1760 // MNetworkEnable - int32_t m_nLoopingSoundParity; // 0x1838 + int32_t m_nLoopingSoundParity; // 0x1860 }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Luna : public CDOTA_BaseNPC_Hero { public: @@ -92900,7 +94233,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_DragonKnight : public CDOTA_BaseNPC_Hero { public: @@ -92908,7 +94241,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Dazzle : public CDOTA_BaseNPC_Hero { public: @@ -92916,7 +94249,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Leshrac : public CDOTA_BaseNPC_Hero { public: @@ -92924,7 +94257,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Rattletrap : public CDOTA_BaseNPC_Hero { public: @@ -92932,7 +94265,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_NPC_Rattletrap_Cog : public CDOTA_BaseNPC_Additive { public: @@ -92940,7 +94273,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Furion : public CDOTA_BaseNPC_Hero { public: @@ -92948,7 +94281,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Life_Stealer : public CDOTA_BaseNPC_Hero { public: @@ -92956,15 +94289,15 @@ public: }; // Alignment: 1 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_DarkSeer : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1d70 + ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1d98 }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_Clinkz_Skeleton_Army : public CDOTA_BaseNPC { public: @@ -92972,7 +94305,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Clinkz : public CDOTA_BaseNPC_Hero { public: @@ -92980,7 +94313,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Omniknight : public CDOTA_BaseNPC_Hero { public: @@ -92988,7 +94321,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Enchantress : public CDOTA_BaseNPC_Hero { public: @@ -92996,7 +94329,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Huskar : public CDOTA_BaseNPC_Hero { public: @@ -93004,7 +94337,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_NightStalker : public CDOTA_BaseNPC_Hero { public: @@ -93012,7 +94345,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Broodmother : public CDOTA_BaseNPC_Hero { public: @@ -93020,7 +94353,7 @@ public: }; // Alignment: 0 -// Size: 0x1768 +// Size: 0x1790 class CDOTA_Unit_Broodmother_Spiderling : public CDOTA_BaseNPC_Creep_Talking { public: @@ -93028,16 +94361,16 @@ public: }; // Alignment: 2 -// Size: 0x1748 +// Size: 0x1770 class CDOTA_Unit_Broodmother_Web : public CDOTA_BaseNPC_Additive { public: - ParticleIndex_t m_nFXIndex; // 0x1738 - Vector m_vecOrigin; // 0x173c + ParticleIndex_t m_nFXIndex; // 0x1760 + Vector m_vecOrigin; // 0x1764 }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_NPC_BroodmotherStickyWeb : public CDOTA_BaseNPC_Additive { public: @@ -93045,7 +94378,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_BountyHunter : public CDOTA_BaseNPC_Hero { public: @@ -93053,7 +94386,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Weaver : public CDOTA_BaseNPC_Hero { public: @@ -93061,7 +94394,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Jakiro : public CDOTA_BaseNPC_Hero { public: @@ -93069,7 +94402,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Batrider : public CDOTA_BaseNPC_Hero { public: @@ -93077,7 +94410,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Chen : public CDOTA_BaseNPC_Hero { public: @@ -93085,30 +94418,30 @@ public: }; // Alignment: 5 -// Size: 0x1d80 +// Size: 0x1da8 class CDOTA_Unit_Hero_Spectre : public CDOTA_BaseNPC_Hero { public: - bool m_bArcanaKillstreakCompleted; // 0x1d70 + bool m_bArcanaKillstreakCompleted; // 0x1d98 // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" - uint8_t m_unCurrentArcanaKillStreak; // 0x1d71 + uint8_t m_unCurrentArcanaKillStreak; // 0x1d99 // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" - uint8_t m_unBestArcanaKillStreak; // 0x1d72 + uint8_t m_unBestArcanaKillStreak; // 0x1d9a private: - [[maybe_unused]] uint8_t __pad1d73[0x1]; // 0x1d73 + [[maybe_unused]] uint8_t __pad1d9b[0x1]; // 0x1d9b public: // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" - PlayerID_t m_nVictimPlayerID; // 0x1d74 + PlayerID_t m_nVictimPlayerID; // 0x1d9c // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" - bool m_bArcanaKillstreakRecordBroken; // 0x1d78 + bool m_bArcanaKillstreakRecordBroken; // 0x1da0 }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_DoomBringer : public CDOTA_BaseNPC_Hero { public: @@ -93116,7 +94449,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_SpiritBreaker : public CDOTA_BaseNPC_Hero { public: @@ -93124,7 +94457,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Gyrocopter : public CDOTA_BaseNPC_Hero { public: @@ -93132,7 +94465,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Alchemist : public CDOTA_BaseNPC_Hero { public: @@ -93140,7 +94473,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Invoker : public CDOTA_BaseNPC_Hero { public: @@ -93148,7 +94481,7 @@ public: }; // Alignment: 0 -// Size: 0x1768 +// Size: 0x1790 class CDOTA_BaseNPC_Invoker_Forged_Spirit : public CDOTA_BaseNPC_Creep { public: @@ -93156,7 +94489,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Silencer : public CDOTA_BaseNPC_Hero { public: @@ -93164,15 +94497,15 @@ public: }; // Alignment: 1 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_Obsidian_Destroyer : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1d70 + ParticleIndex_t m_nFXDeath; // 0x1d98 }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Brewmaster : public CDOTA_BaseNPC_Hero { public: @@ -93180,41 +94513,41 @@ public: }; // Alignment: 2 -// Size: 0x1770 +// Size: 0x1798 class CDOTA_Unit_Brewmaster_PrimalEarth : public CDOTA_BaseNPC_Creep { public: - ParticleIndex_t m_nFXEarthAmbient1; // 0x1768 - ParticleIndex_t m_nFXEarthAmbient2; // 0x176c + ParticleIndex_t m_nFXEarthAmbient1; // 0x1790 + ParticleIndex_t m_nFXEarthAmbient2; // 0x1794 }; // Alignment: 2 -// Size: 0x1770 +// Size: 0x1798 class CDOTA_Unit_Brewmaster_PrimalStorm : public CDOTA_BaseNPC_Creep { public: - ParticleIndex_t m_nFXStormAmbient1; // 0x1768 - ParticleIndex_t m_nFXStormAmbient2; // 0x176c + ParticleIndex_t m_nFXStormAmbient1; // 0x1790 + ParticleIndex_t m_nFXStormAmbient2; // 0x1794 }; // Alignment: 1 -// Size: 0x1770 +// Size: 0x1798 class CDOTA_Unit_Brewmaster_PrimalFire : public CDOTA_BaseNPC_Creep { public: - ParticleIndex_t m_nFXAmbient; // 0x1768 + ParticleIndex_t m_nFXAmbient; // 0x1790 }; // Alignment: 1 -// Size: 0x1770 +// Size: 0x1798 class CDOTA_Unit_Brewmaster_PrimalVoid : public CDOTA_BaseNPC_Creep { public: - ParticleIndex_t m_nFXAmbient; // 0x1768 + ParticleIndex_t m_nFXAmbient; // 0x1790 }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Lycan : public CDOTA_BaseNPC_Hero { public: @@ -93222,7 +94555,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Shadow_Demon : public CDOTA_BaseNPC_Hero { public: @@ -93230,18 +94563,18 @@ public: }; // Alignment: 2 -// Size: 0x1740 -class CDOTA_Unit_SpiritBear : public CDOTA_BaseNPC_Additive +// Size: 0x1da0 +class CDOTA_Unit_SpiritBear : public CDOTA_BaseNPC_Hero { public: // MNetworkEnable - bool m_bShouldRespawn; // 0x1738 + bool m_bShouldRespawn; // 0x1d98 // MNetworkEnable - bool m_bStolen; // 0x1739 + bool m_bStolen; // 0x1d99 }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_LoneDruid : public CDOTA_BaseNPC_Hero { public: @@ -93249,7 +94582,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_ChaosKnight : public CDOTA_BaseNPC_Hero { public: @@ -93257,16 +94590,16 @@ public: }; // Alignment: 1 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_Meepo : public CDOTA_BaseNPC_Hero { public: // MNetworkEnable - int32_t m_nWhichMeepo; // 0x1d70 + int32_t m_nWhichMeepo; // 0x1d98 }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Treant : public CDOTA_BaseNPC_Hero { public: @@ -93274,15 +94607,15 @@ public: }; // Alignment: 1 -// Size: 0x1740 +// Size: 0x1768 class CDOTA_NPC_Treant_EyesInTheForest : public CDOTA_BaseNPC_Additive { public: - bool m_bIsBlind; // 0x1738 + bool m_bIsBlind; // 0x1760 }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Ogre_Magi : public CDOTA_BaseNPC_Hero { public: @@ -93290,7 +94623,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_Unit_Undying_Tombstone : public CDOTA_BaseNPC_Additive { public: @@ -93298,16 +94631,16 @@ public: }; // Alignment: 2 -// Size: 0x1788 +// Size: 0x17b0 class CDOTA_Unit_Undying_Zombie : public CDOTA_BaseNPC_Creep { public: - CountdownTimer m_ctRespawn; // 0x1768 - CDOTA_BaseNPC* m_pTombstone; // 0x1780 + CountdownTimer m_ctRespawn; // 0x1790 + CDOTA_BaseNPC* m_pTombstone; // 0x17a8 }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Undying : public CDOTA_BaseNPC_Hero { public: @@ -93315,25 +94648,25 @@ public: }; // Alignment: 4 -// Size: 0x1d98 +// Size: 0x1dc0 class CDOTA_Unit_Hero_Rubick : public CDOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkChangeCallback "OnAbilityColorChanged" - Vector m_stolenAbilityColorHSV1; // 0x1d70 + Vector m_stolenAbilityColorHSV1; // 0x1d98 // MNetworkEnable // MNetworkChangeCallback "OnAbilityColorChanged" - Vector m_stolenAbilityColorHSV2; // 0x1d7c + Vector m_stolenAbilityColorHSV2; // 0x1da4 // MNetworkEnable // MNetworkChangeCallback "OnAbilityColorChanged" - Vector m_stolenAbilityFXColorHSV; // 0x1d88 + Vector m_stolenAbilityFXColorHSV; // 0x1db0 // MNetworkDisable - bool m_bHasInitializedAbilityColors; // 0x1d94 + bool m_bHasInitializedAbilityColors; // 0x1dbc }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Disruptor : public CDOTA_BaseNPC_Hero { public: @@ -93341,7 +94674,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Nyx_Assassin : public CDOTA_BaseNPC_Hero { public: @@ -93349,7 +94682,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Naga_Siren : public CDOTA_BaseNPC_Hero { public: @@ -93357,7 +94690,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_Unit_IngisFatuus : public CDOTA_BaseNPC_Additive { public: @@ -93365,7 +94698,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_KeeperOfTheLight : public CDOTA_BaseNPC_Hero { public: @@ -93373,25 +94706,25 @@ public: }; // Alignment: 8 -// Size: 0x1d88 +// Size: 0x1db0 class CDOTA_Unit_Hero_Wisp : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nAmbientFXIndex; // 0x1d70 - ParticleIndex_t m_nStunnedFXIndex; // 0x1d74 - ParticleIndex_t m_nTalkFXIndex; // 0x1d78 - ParticleIndex_t m_nIllusionFXIndex; // 0x1d7c - bool m_bParticleHexed; // 0x1d80 - bool m_bParticleStunned; // 0x1d81 - bool m_bDetermineAmbientEffect; // 0x1d82 + ParticleIndex_t m_nAmbientFXIndex; // 0x1d98 + ParticleIndex_t m_nStunnedFXIndex; // 0x1d9c + ParticleIndex_t m_nTalkFXIndex; // 0x1da0 + ParticleIndex_t m_nIllusionFXIndex; // 0x1da4 + bool m_bParticleHexed; // 0x1da8 + bool m_bParticleStunned; // 0x1da9 + bool m_bDetermineAmbientEffect; // 0x1daa private: - [[maybe_unused]] uint8_t __pad1d83[0x1]; // 0x1d83 + [[maybe_unused]] uint8_t __pad1dab[0x1]; // 0x1dab public: - float m_flPrevHealth; // 0x1d84 + float m_flPrevHealth; // 0x1dac }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_Wisp_Spirit : public CDOTA_BaseNPC { public: @@ -93399,7 +94732,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Visage : public CDOTA_BaseNPC_Hero { public: @@ -93407,16 +94740,16 @@ public: }; // Alignment: 2 -// Size: 0x1788 +// Size: 0x17b0 class CDOTA_Unit_VisageFamiliar : public CDOTA_BaseNPC_Creep { public: - CountdownTimer ctTimer; // 0x1768 - ParticleIndex_t m_nFXAmbient; // 0x1780 + CountdownTimer ctTimer; // 0x1790 + ParticleIndex_t m_nFXAmbient; // 0x17a8 }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Slark : public CDOTA_BaseNPC_Hero { public: @@ -93424,7 +94757,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Medusa : public CDOTA_BaseNPC_Hero { public: @@ -93432,7 +94765,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_TrollWarlord : public CDOTA_BaseNPC_Hero { public: @@ -93440,7 +94773,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Centaur : public CDOTA_BaseNPC_Hero { public: @@ -93448,7 +94781,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Magnataur : public CDOTA_BaseNPC_Hero { public: @@ -93456,7 +94789,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Shredder : public CDOTA_BaseNPC_Hero { public: @@ -93464,7 +94797,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Bristleback : public CDOTA_BaseNPC_Hero { public: @@ -93472,7 +94805,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Tusk : public CDOTA_BaseNPC_Hero { public: @@ -93480,7 +94813,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_Tusk_Sigil : public CDOTA_BaseNPC_Additive { public: @@ -93488,7 +94821,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Skywrath_Mage : public CDOTA_BaseNPC_Hero { public: @@ -93496,7 +94829,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Abaddon : public CDOTA_BaseNPC_Hero { public: @@ -93504,7 +94837,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_Unit_Elder_Titan_AncestralSpirit : public CDOTA_BaseNPC_Additive { public: @@ -93512,7 +94845,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Elder_Titan : public CDOTA_BaseNPC_Hero { public: @@ -93520,23 +94853,23 @@ public: }; // Alignment: 1 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_Legion_Commander : public CDOTA_BaseNPC_Hero { public: - uint32_t m_unDuelsWon; // 0x1d70 + uint32_t m_unDuelsWon; // 0x1d98 }; // Alignment: 1 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_Techies : public CDOTA_BaseNPC_Hero { public: - bool m_bLastDeathFromSuicide; // 0x1d70 + bool m_bLastDeathFromSuicide; // 0x1d98 }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_NPC_TechiesMines : public CDOTA_BaseNPC_Additive { public: @@ -93544,7 +94877,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_NPC_Techies_Minefield_Sign : public CDOTA_BaseNPC_Additive { public: @@ -93552,7 +94885,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_EmberSpirit : public CDOTA_BaseNPC_Hero { public: @@ -93560,7 +94893,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_Unit_Earth_Spirit_Stone : public CDOTA_BaseNPC { public: @@ -93568,7 +94901,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_EarthSpirit : public CDOTA_BaseNPC_Hero { public: @@ -93576,7 +94909,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_AbyssalUnderlord : public CDOTA_BaseNPC_Hero { public: @@ -93584,29 +94917,29 @@ public: }; // Alignment: 1 -// Size: 0x1848 +// Size: 0x1870 class CDOTA_Unit_Underlord_Portal : public CDOTA_BaseNPC_Building { public: - CHandle< CBaseEntity > m_hOtherPortal; // 0x1840 + CHandle< CBaseEntity > m_hOtherPortal; // 0x1868 }; // Alignment: 3 -// Size: 0x1d88 +// Size: 0x1db0 class CDOTA_Unit_Hero_Terrorblade : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1d70 + ParticleIndex_t m_nFXDeath; // 0x1d98 private: - [[maybe_unused]] uint8_t __pad1d74[0x4]; // 0x1d74 + [[maybe_unused]] uint8_t __pad1d9c[0x4]; // 0x1d9c public: - CUtlString m_szResponseCriteria; // 0x1d78 + CUtlString m_szResponseCriteria; // 0x1da0 // MNetworkEnable - uint32_t m_nArcanaColor; // 0x1d80 + uint32_t m_nArcanaColor; // 0x1da8 }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Phoenix : public CDOTA_BaseNPC_Hero { public: @@ -93614,56 +94947,56 @@ public: }; // Alignment: 1 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_Oracle : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1d70 + ParticleIndex_t m_nFXDeath; // 0x1d98 }; // Alignment: 1 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_Winter_Wyvern : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1d70 + ParticleIndex_t m_nFXDeath; // 0x1d98 }; // Alignment: 3 -// Size: 0x1d80 +// Size: 0x1da8 class CDOTA_Unit_Hero_ArcWarden : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nTalkFXIndex; // 0x1d70 - ParticleIndex_t m_nFXDeath; // 0x1d74 - ParticleIndex_t m_nTempestFX; // 0x1d78 + ParticleIndex_t m_nTalkFXIndex; // 0x1d98 + ParticleIndex_t m_nFXDeath; // 0x1d9c + ParticleIndex_t m_nTempestFX; // 0x1da0 }; // Alignment: 8 -// Size: 0x1d98 +// Size: 0x1dc0 class CDOTA_Unit_Hero_MonkeyKing : public CDOTA_BaseNPC_Hero { public: - bool mb_MonkeyHasArcana; // 0x1d70 + bool mb_MonkeyHasArcana; // 0x1d98 private: - [[maybe_unused]] uint8_t __pad1d71[0x3]; // 0x1d71 + [[maybe_unused]] uint8_t __pad1d99[0x3]; // 0x1d99 public: // MNetworkEnable - uint32_t m_nTreeDisguise; // 0x1d74 + uint32_t m_nTreeDisguise; // 0x1d9c // MNetworkEnable - uint32_t m_nPerchedTree; // 0x1d78 - Vector m_vLastPos; // 0x1d7c - bool m_bIsOnCloud; // 0x1d88 + uint32_t m_nPerchedTree; // 0x1da0 + Vector m_vLastPos; // 0x1da4 + bool m_bIsOnCloud; // 0x1db0 private: - [[maybe_unused]] uint8_t __pad1d89[0x3]; // 0x1d89 + [[maybe_unused]] uint8_t __pad1db1[0x3]; // 0x1db1 public: - float m_fTotalDistOnCloud; // 0x1d8c - float m_fTotalDistoffCloud; // 0x1d90 - float m_fBackOnCloudThresh; // 0x1d94 + float m_fTotalDistOnCloud; // 0x1db4 + float m_fTotalDistoffCloud; // 0x1db8 + float m_fBackOnCloudThresh; // 0x1dbc }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Pangolier : public CDOTA_BaseNPC_Hero { public: @@ -93671,7 +95004,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_DarkWillow : public CDOTA_BaseNPC_Hero { public: @@ -93679,7 +95012,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_DarkWillow_Creature : public CDOTA_BaseNPC { public: @@ -93687,15 +95020,15 @@ public: }; // Alignment: 1 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_Grimstroke : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1d70 + ParticleIndex_t m_nFXDeath; // 0x1d98 }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_Unit_Grimstroke_InkCreature : public CDOTA_BaseNPC { public: @@ -93703,7 +95036,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Mars : public CDOTA_BaseNPC_Hero { public: @@ -93711,7 +95044,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Snapfire : public CDOTA_BaseNPC_Hero { public: @@ -93719,7 +95052,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Void_Spirit : public CDOTA_BaseNPC_Hero { public: @@ -93727,7 +95060,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Hoodwink : public CDOTA_BaseNPC_Hero { public: @@ -93735,17 +95068,17 @@ public: }; // Alignment: 2 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_Dawnbreaker : public CDOTA_BaseNPC_Hero { public: // MNetworkEnable - int32_t m_nAttackState; // 0x1d70 - GameTime_t m_flLastAttackAnimAdvanceTime; // 0x1d74 + int32_t m_nAttackState; // 0x1d98 + GameTime_t m_flLastAttackAnimAdvanceTime; // 0x1d9c }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_Marci : public CDOTA_BaseNPC_Hero { public: @@ -93753,7 +95086,7 @@ public: }; // Alignment: 0 -// Size: 0x1d70 +// Size: 0x1d98 class CDOTA_Unit_Hero_PrimalBeast : public CDOTA_BaseNPC_Hero { public: @@ -93761,17 +95094,17 @@ public: }; // Alignment: 1 -// Size: 0x1d78 +// Size: 0x1da0 class CDOTA_Unit_Hero_Muerta : public CDOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkPriority "32" - CHandle< CBaseEntity > m_hDoubleShotTarget; // 0x1d70 + CHandle< CBaseEntity > m_hDoubleShotTarget; // 0x1d98 }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_Muerta_Revenant : public CDOTA_BaseNPC { public: @@ -93779,39 +95112,39 @@ public: }; // Alignment: 3 -// Size: 0x1748 +// Size: 0x1770 class CDOTA_NPC_Observer_Ward : public CDOTA_BaseNPC_Additive { public: - int32_t m_iDuration; // 0x1738 - bool m_bPlacedInSpawnBox; // 0x173c + int32_t m_iDuration; // 0x1760 + bool m_bPlacedInSpawnBox; // 0x1764 private: - [[maybe_unused]] uint8_t __pad173d[0x3]; // 0x173d + [[maybe_unused]] uint8_t __pad1765[0x3]; // 0x1765 public: - GameTime_t m_flSpawnTime; // 0x1740 + GameTime_t m_flSpawnTime; // 0x1768 }; // Alignment: 3 -// Size: 0x1758 +// Size: 0x1780 class CDOTA_NPC_Observer_Ward_TrueSight : public CDOTA_NPC_Observer_Ward { public: - int32_t m_iTrueSight; // 0x1748 - CEntityHandle m_hCasterEntity; // 0x174c - CEntityHandle m_hAbilityEntity; // 0x1750 + int32_t m_iTrueSight; // 0x1770 + CEntityHandle m_hCasterEntity; // 0x1774 + CEntityHandle m_hAbilityEntity; // 0x1778 }; // Alignment: 2 -// Size: 0x1740 +// Size: 0x1768 class CDOTA_BaseNPC_Thinker : public CDOTA_BaseNPC { public: - bool m_bSendToAllPlayers; // 0x1738 - bool m_bSendToClients; // 0x1739 + bool m_bSendToAllPlayers; // 0x1760 + bool m_bSendToClients; // 0x1761 }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_Seasonal_Snowman : public CDOTA_BaseNPC_Additive { public: @@ -93819,7 +95152,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_Seasonal_Penguin : public CDOTA_BaseNPC_Additive { public: @@ -93827,7 +95160,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_Seasonal_Dragon : public CDOTA_BaseNPC_Additive { public: @@ -93835,7 +95168,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_Seasonal_CNY_Balloon : public CDOTA_BaseNPC_Additive { public: @@ -93843,7 +95176,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_Seasonal_TI9_Balloon : public CDOTA_BaseNPC_Additive { public: @@ -93851,7 +95184,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_Seasonal_TI9_Drums : public CDOTA_BaseNPC_Additive { public: @@ -93859,7 +95192,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_Seasonal_TI9_Monkey : public CDOTA_BaseNPC_Additive { public: @@ -93867,7 +95200,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_Frostivus2018_Snowman : public CDOTA_BaseNPC_Additive { public: @@ -93875,7 +95208,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_Frostivus2018_Clinkz_Skeleton_Army : public CDOTA_BaseNPC { public: @@ -93883,7 +95216,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_Unit_SpectralTusk_Tombstone : public CDOTA_BaseNPC_Additive { public: @@ -93891,7 +95224,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_Unit_AghsFort_SpectralTusk_Tombstone : public CDOTA_BaseNPC_Additive { public: @@ -93899,7 +95232,7 @@ public: }; // Alignment: 0 -// Size: 0x18b8 +// Size: 0x18e0 class CDOTA_Unit_AghsFort_Creature_DragonKnight : public CDOTA_BaseNPC_Creature { public: @@ -93907,23 +95240,23 @@ public: }; // Alignment: 1 -// Size: 0x1740 +// Size: 0x1768 class CDOTA_Unit_Aghsfort_Aziyog_Underlord_Portal : public CDOTA_BaseNPC_Additive { public: - CHandle< CBaseEntity > m_hOtherPortal; // 0x1738 + CHandle< CBaseEntity > m_hOtherPortal; // 0x1760 }; // Alignment: 1 -// Size: 0x18c0 +// Size: 0x18e8 class CDOTA_Unit_AghsFort_Creature_DungeonBat : public CDOTA_BaseNPC_Creature { public: - ParticleIndex_t m_nFXAmbient; // 0x18b8 + ParticleIndex_t m_nFXAmbient; // 0x18e0 }; // Alignment: 0 -// Size: 0x18b8 +// Size: 0x18e0 class CDOTA_Unit_AghsFort_Creature_Batrider : public CDOTA_BaseNPC_Creature { public: @@ -93931,59 +95264,59 @@ public: }; // Alignment: 1 -// Size: 0x1848 +// Size: 0x1870 class CDOTA_BaseNPC_Effigy_AghsFort : public CDOTA_BaseNPC_Building { public: - uint32_t m_unStatusEffectIndex; // 0x1840 + uint32_t m_unStatusEffectIndex; // 0x1868 }; // Alignment: 17 -// Size: 0x18b0 +// Size: 0x18d8 class CDOTA_BaseNPC_AghsFort_Watch_Tower : public CDOTA_BaseNPC_Building { private: - [[maybe_unused]] uint8_t __pad1840[0x10]; // 0x1840 + [[maybe_unused]] uint8_t __pad1868[0x10]; // 0x1868 public: - int32_t m_nOptionNumber; // 0x1850 - float m_flMovePlayersRadius; // 0x1854 - CDOTA_BaseNPC_AghsFort_Watch_Tower::ExitDirection_t m_nExitDirection; // 0x1858 - Vector m_vExitLocation; // 0x185c - int32_t m_nPathSelectedID; // 0x1868 + int32_t m_nOptionNumber; // 0x1878 + float m_flMovePlayersRadius; // 0x187c + CDOTA_BaseNPC_AghsFort_Watch_Tower::ExitDirection_t m_nExitDirection; // 0x1880 + Vector m_vExitLocation; // 0x1884 + int32_t m_nPathSelectedID; // 0x1890 // MNetworkEnable - int32_t m_nEncounterType; // 0x186c + int32_t m_nEncounterType; // 0x1894 // MNetworkEnable - bool m_bIsEliteEncounter; // 0x1870 + bool m_bIsEliteEncounter; // 0x1898 // MNetworkEnable - bool m_bIsAscensionLevelPicker; // 0x1871 + bool m_bIsAscensionLevelPicker; // 0x1899 private: - [[maybe_unused]] uint8_t __pad1872[0x6]; // 0x1872 + [[maybe_unused]] uint8_t __pad189a[0x6]; // 0x189a public: // MNetworkEnable - CUtlSymbolLarge m_strEncounterName; // 0x1878 + CUtlSymbolLarge m_strEncounterName; // 0x18a0 // MNetworkEnable - CUtlSymbolLarge m_strAscensionAbilities; // 0x1880 + CUtlSymbolLarge m_strAscensionAbilities; // 0x18a8 // MNetworkEnable - CHandle< CBaseEntity > m_hEffigy; // 0x1888 - int32_t m_nDepth; // 0x188c - CHandle< CDOTA_BaseNPC_Effigy_AghsFort > m_hPedestal; // 0x1890 - CHandle< CBaseEntity > m_hParticleSystem; // 0x1894 + CHandle< CBaseEntity > m_hEffigy; // 0x18b0 + int32_t m_nDepth; // 0x18b4 + CHandle< CDOTA_BaseNPC_Effigy_AghsFort > m_hPedestal; // 0x18b8 + CHandle< CBaseEntity > m_hParticleSystem; // 0x18bc private: - [[maybe_unused]] uint8_t __pad1898[0x8]; // 0x1898 + [[maybe_unused]] uint8_t __pad18c0[0x8]; // 0x18c0 public: // MNetworkEnable - CHandle< CBaseAnimatingActivity > m_hRoomGate; // 0x18a0 + CHandle< CBaseAnimatingActivity > m_hRoomGate; // 0x18c8 // MNetworkEnable - bool m_bIsBeingChanneled; // 0x18a4 + bool m_bIsBeingChanneled; // 0x18cc private: - [[maybe_unused]] uint8_t __pad18a5[0x3]; // 0x18a5 + [[maybe_unused]] uint8_t __pad18cd[0x3]; // 0x18cd public: // MNetworkEnable - float m_flGoalCaptureProgress; // 0x18a8 + float m_flGoalCaptureProgress; // 0x18d0 }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_Unit_CustomGameAnnouncerAghanim : public CDOTA_BaseNPC { public: @@ -93991,30 +95324,30 @@ public: }; // Alignment: 7 -// Size: 0x18d0 +// Size: 0x18f8 class CDOTA_Creature_Jungle_Spirit : public CDOTA_BaseNPC_Creature { public: - int32_t m_iCurrentXP; // 0x18b8 - float m_fInitialScaleGain; // 0x18bc - float m_fScaleGainMultiplierPerLevel; // 0x18c0 - float m_fLastModelScaleGained; // 0x18c4 - bool m_bGainedSecondPlatemail; // 0x18c8 - bool m_bGainedBonusHealth; // 0x18c9 + int32_t m_iCurrentXP; // 0x18e0 + float m_fInitialScaleGain; // 0x18e4 + float m_fScaleGainMultiplierPerLevel; // 0x18e8 + float m_fLastModelScaleGained; // 0x18ec + bool m_bGainedSecondPlatemail; // 0x18f0 + bool m_bGainedBonusHealth; // 0x18f1 private: - [[maybe_unused]] uint8_t __pad18ca[0x2]; // 0x18ca + [[maybe_unused]] uint8_t __pad18f2[0x2]; // 0x18f2 public: - ParticleIndex_t m_nAmbientFXIndex; // 0x18cc + ParticleIndex_t m_nAmbientFXIndex; // 0x18f4 }; // Alignment: 3 -// Size: 0x1770 +// Size: 0x1798 class CDOTA_BaseNPC_Seasonal_TI10_DiscoBall : public CDOTA_BaseNPC_Additive { public: - int32_t NUM_SOUNDS; // 0x1738 - ParticleIndex_t m_nFXIndex; // 0x173c - CUtlVector< PlayerID_t > m_vecDancers; // 0x1740 + int32_t NUM_SOUNDS; // 0x1760 + ParticleIndex_t m_nFXIndex; // 0x1764 + CUtlVector< PlayerID_t > m_vecDancers; // 0x1768 // 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);}; @@ -94023,7 +95356,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_Seasonal_TI10_SoccerBall : public CDOTA_BaseNPC_Additive { public: @@ -94031,7 +95364,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_Seasonal_TI11_Balloon : public CDOTA_BaseNPC_Additive { public: @@ -94039,7 +95372,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_Seasonal_TI11_Balloon_Dire : public CDOTA_BaseNPC_Seasonal_TI11_Balloon { public: @@ -94047,19 +95380,19 @@ public: }; // Alignment: 5 -// Size: 0x1858 +// Size: 0x1880 class CDOTA_Unit_Diretide_Portal : public CDOTA_BaseNPC_Building { public: - CHandle< CBaseEntity > m_hPartnerPortal; // 0x1840 - int32_t m_nRuneType; // 0x1844 - int32_t m_nOriginalTeamNumber; // 0x1848 - ParticleIndex_t m_nActiveFXIndex; // 0x184c - ParticleIndex_t m_nRuneFXIndex; // 0x1850 + CHandle< CBaseEntity > m_hPartnerPortal; // 0x1868 + int32_t m_nRuneType; // 0x186c + int32_t m_nOriginalTeamNumber; // 0x1870 + ParticleIndex_t m_nActiveFXIndex; // 0x1874 + ParticleIndex_t m_nRuneFXIndex; // 0x1878 }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_Spring2021_DefusalBomb : public CDOTA_BaseNPC_Additive { public: @@ -94067,7 +95400,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_Spring2021_MeteorCrashSite : public CDOTA_BaseNPC_Additive { public: @@ -94075,7 +95408,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1760 class CDOTA_BaseNPC_Spring2021_AbilityBuilding : public CDOTA_BaseNPC_Additive { public: @@ -94083,7 +95416,7 @@ public: }; // Alignment: 0 -// Size: 0x1840 +// Size: 0x1868 class CDOTA_BaseNPC_Winter2022_CandyBucket : public CDOTA_BaseNPC_Building { public: @@ -94091,7 +95424,7 @@ public: }; // Alignment: 0 -// Size: 0x18b8 +// Size: 0x18e0 class CDOTA_BaseNPC_Winter2022_FeedableRoshan : public CDOTA_BaseNPC_Creature { public: @@ -94099,7 +95432,7 @@ public: }; // Alignment: 0 -// Size: 0x1840 +// Size: 0x1868 class CInfoOfrendaStatue : public CDOTA_BaseNPC_Building { public: @@ -94107,7 +95440,7 @@ public: }; // Alignment: 0 -// Size: 0x1740 +// Size: 0x1768 class CDOTA_Unit_Announcer_Killing_Spree : public CDOTA_Unit_Announcer { public: diff --git a/sdk/soundsystem.hpp b/sdk/soundsystem.hpp index 48e7eddd..af743205 100644 --- a/sdk/soundsystem.hpp +++ b/sdk/soundsystem.hpp @@ -4,7 +4,7 @@ // ///////////////////////////////////////////////////////////// // Binary: soundsystem.dll -// Classes count: 36 +// Classes count: 37 // Enums count: 13 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -46,12 +46,13 @@ enum class soundlevel_t : uint32_t }; // Alignment: 4 -// Size: 0x3 +// Size: 0x4 enum class ActionType_t : uint32_t { SOS_ACTION_NONE = 0x0, SOS_ACTION_LIMITER = 0x1, SOS_ACTION_TIME_LIMIT = 0x2, + SOS_ACTION_SET_SOUNDEVENT_PARAM = 0x3, }; // Alignment: 4 @@ -224,10 +225,8 @@ class CSosGroupActionLimitSchema : public CSosGroupActionSchema public: // MPropertyFriendlyName "Max Count" int32_t m_nMaxCount; // 0x18 - // MPropertyAttributeChoiceEnumName // MPropertyFriendlyName "Stop Type" SosActionStopType_t m_nStopType; // 0x1c - // MPropertyAttributeChoiceEnumName // MPropertyFriendlyName "Sort Type" SosActionSortType_t m_nSortType; // 0x20 }; @@ -241,6 +240,26 @@ public: float m_flMaxDuration; // 0x18 }; +// Alignment: 5 +// Size: 0x38 +class CSosGroupActionSetSoundeventParameterSchema : public CSosGroupActionSchema +{ +public: + // MPropertyFriendlyName "Max Count" + int32_t m_nMaxCount; // 0x18 + // MPropertyFriendlyName "Minimum Value" + float m_flMinValue; // 0x1c + // MPropertyFriendlyName "Maximum Value" + float m_flMaxValue; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 +public: + // MPropertyFriendlyName "Parameter Name" + CUtlString m_opvarName; // 0x28 + // MPropertyFriendlyName "Sort Type" + SosActionSortType_t m_nSortType; // 0x30 +}; + // Alignment: 4 // Size: 0x10 class CSosGroupBranchPattern @@ -280,7 +299,6 @@ class CSosSoundEventGroupSchema public: // MPropertyFriendlyName "Group Name" CUtlString m_name; // 0x0 - // MPropertyAttributeChoiceEnumName // MPropertyFriendlyName "Group Type" SosGroupType_t m_nType; // 0x8 // MPropertyFriendlyName "Blocks Events" diff --git a/sdk/vphysics2.hpp b/sdk/vphysics2.hpp index 35cf3f49..78bac651 100644 --- a/sdk/vphysics2.hpp +++ b/sdk/vphysics2.hpp @@ -4,7 +4,7 @@ // ///////////////////////////////////////////////////////////// // Binary: vphysics2.dll -// Classes count: 86 +// Classes count: 87 // Enums count: 2 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -148,8 +148,8 @@ public: CFeJiggleBone m_jiggleBone; // 0x8 }; -// Alignment: 100 -// Size: 0x600 +// Alignment: 98 +// Size: 0x5e8 struct PhysFeModelDesc_t { public: @@ -169,12 +169,11 @@ public: uint16_t m_nSimdQuadCount2; // 0x4e uint16_t m_nQuadCount1; // 0x50 uint16_t m_nQuadCount2; // 0x52 - uint16_t m_nCollisionSphereInclusiveCount; // 0x54 - uint16_t m_nTreeDepth; // 0x56 - uint16_t m_nNodeBaseJiggleboneDependsCount; // 0x58 - uint16_t m_nRopeCount; // 0x5a + uint16_t m_nTreeDepth; // 0x54 + uint16_t m_nNodeBaseJiggleboneDependsCount; // 0x56 + uint16_t m_nRopeCount; // 0x58 private: - [[maybe_unused]] uint8_t __pad005c[0x4]; // 0x5c + [[maybe_unused]] uint8_t __pad005a[0x6]; // 0x5a public: CUtlVector< uint16 > m_Ropes; // 0x60 CUtlVector< FeNodeBase_t > m_NodeBases; // 0x78 @@ -191,71 +190,70 @@ public: CUtlVector< FeCtrlOffset_t > m_CtrlOffsets; // 0x180 CUtlVector< FeCtrlOsOffset_t > m_CtrlOsOffsets; // 0x198 CUtlVector< FeFollowNode_t > m_FollowNodes; // 0x1b0 - CUtlVector< FeCollisionSphere_t > m_CollisionSpheres; // 0x1c8 - CUtlVector< FeCollisionPlane_t > m_CollisionPlanes; // 0x1e0 - CUtlVector< FeNodeIntegrator_t > m_NodeIntegrator; // 0x1f8 - CUtlVector< FeSpringIntegrator_t > m_SpringIntegrator; // 0x210 - CUtlVector< FeSimdSpringIntegrator_t > m_SimdSpringIntegrator; // 0x228 - CUtlVector< FeWorldCollisionParams_t > m_WorldCollisionParams; // 0x240 - CUtlVector< float32 > m_LegacyStretchForce; // 0x258 - CUtlVector< float32 > m_NodeCollisionRadii; // 0x270 - CUtlVector< float32 > m_DynNodeFriction; // 0x288 - CUtlVector< float32 > m_LocalRotation; // 0x2a0 - CUtlVector< float32 > m_LocalForce; // 0x2b8 - CUtlVector< FeTaperedCapsuleStretch_t > m_TaperedCapsuleStretches; // 0x2d0 - CUtlVector< FeTaperedCapsuleRigid_t > m_TaperedCapsuleRigids; // 0x2e8 - CUtlVector< FeSphereRigid_t > m_SphereRigids; // 0x300 - CUtlVector< uint16 > m_WorldCollisionNodes; // 0x318 - CUtlVector< uint16 > m_TreeParents; // 0x330 - CUtlVector< uint16 > m_TreeCollisionMasks; // 0x348 - CUtlVector< FeTreeChildren_t > m_TreeChildren; // 0x360 - CUtlVector< uint16 > m_FreeNodes; // 0x378 - CUtlVector< FeFitMatrix_t > m_FitMatrices; // 0x390 - CUtlVector< FeFitWeight_t > m_FitWeights; // 0x3a8 - CUtlVector< FeNodeReverseOffset_t > m_ReverseOffsets; // 0x3c0 - CUtlVector< FeAnimStrayRadius_t > m_AnimStrayRadii; // 0x3d8 - CUtlVector< FeSimdAnimStrayRadius_t > m_SimdAnimStrayRadii; // 0x3f0 - CUtlVector< FeKelagerBend2_t > m_KelagerBends; // 0x408 - CUtlVector< FeCtrlSoftOffset_t > m_CtrlSoftOffsets; // 0x420 - CUtlVector< CFeIndexedJiggleBone > m_JiggleBones; // 0x438 - CUtlVector< uint16 > m_SourceElems; // 0x450 - CUtlVector< uint32 > m_GoalDampedSpringIntegrators; // 0x468 - CUtlVector< FeTri_t > m_Tris; // 0x480 - uint16_t m_nTriCount1; // 0x498 - uint16_t m_nTriCount2; // 0x49a - uint8_t m_nReservedUint8; // 0x49c - uint8_t m_nExtraPressureIterations; // 0x49d - uint8_t m_nExtraGoalIterations; // 0x49e - uint8_t m_nExtraIterations; // 0x49f - CUtlVector< FeBoxRigid_t > m_BoxRigids; // 0x4a0 - CUtlVector< uint8 > m_DynNodeVertexSet; // 0x4b8 - CUtlVector< uint32 > m_VertexSetNames; // 0x4d0 - CUtlVector< FeRigidColliderIndices_t > m_RigidColliderPriorities; // 0x4e8 - CUtlVector< FeMorphLayerDepr_t > m_MorphLayers; // 0x500 - CUtlVector< uint8 > m_MorphSetData; // 0x518 - CUtlVector< FeVertexMapDesc_t > m_VertexMaps; // 0x530 - CUtlVector< uint8 > m_VertexMapValues; // 0x548 - CUtlVector< FeEffectDesc_t > m_Effects; // 0x560 - CUtlVector< FeCtrlOffset_t > m_LockToParent; // 0x578 - CUtlVector< uint16 > m_LockToGoal; // 0x590 - CUtlVector< FeNodeWindBase_t > m_DynNodeWindBases; // 0x5a8 - float m_flInternalPressure; // 0x5c0 - float m_flDefaultTimeDilation; // 0x5c4 - float m_flWindage; // 0x5c8 - float m_flWindDrag; // 0x5cc - float m_flDefaultSurfaceStretch; // 0x5d0 - float m_flDefaultThreadStretch; // 0x5d4 - float m_flDefaultGravityScale; // 0x5d8 - float m_flDefaultVelAirDrag; // 0x5dc - float m_flDefaultExpAirDrag; // 0x5e0 - float m_flDefaultVelQuadAirDrag; // 0x5e4 - float m_flDefaultExpQuadAirDrag; // 0x5e8 - float m_flRodVelocitySmoothRate; // 0x5ec - float m_flQuadVelocitySmoothRate; // 0x5f0 - float m_flAddWorldCollisionRadius; // 0x5f4 - float m_flDefaultVolumetricSolveAmount; // 0x5f8 - uint16_t m_nRodVelocitySmoothIterations; // 0x5fc - uint16_t m_nQuadVelocitySmoothIterations; // 0x5fe + CUtlVector< FeCollisionPlane_t > m_CollisionPlanes; // 0x1c8 + CUtlVector< FeNodeIntegrator_t > m_NodeIntegrator; // 0x1e0 + CUtlVector< FeSpringIntegrator_t > m_SpringIntegrator; // 0x1f8 + CUtlVector< FeSimdSpringIntegrator_t > m_SimdSpringIntegrator; // 0x210 + CUtlVector< FeWorldCollisionParams_t > m_WorldCollisionParams; // 0x228 + CUtlVector< float32 > m_LegacyStretchForce; // 0x240 + CUtlVector< float32 > m_NodeCollisionRadii; // 0x258 + CUtlVector< float32 > m_DynNodeFriction; // 0x270 + CUtlVector< float32 > m_LocalRotation; // 0x288 + CUtlVector< float32 > m_LocalForce; // 0x2a0 + CUtlVector< FeTaperedCapsuleStretch_t > m_TaperedCapsuleStretches; // 0x2b8 + CUtlVector< FeTaperedCapsuleRigid_t > m_TaperedCapsuleRigids; // 0x2d0 + CUtlVector< FeSphereRigid_t > m_SphereRigids; // 0x2e8 + CUtlVector< uint16 > m_WorldCollisionNodes; // 0x300 + CUtlVector< uint16 > m_TreeParents; // 0x318 + CUtlVector< uint16 > m_TreeCollisionMasks; // 0x330 + CUtlVector< FeTreeChildren_t > m_TreeChildren; // 0x348 + CUtlVector< uint16 > m_FreeNodes; // 0x360 + CUtlVector< FeFitMatrix_t > m_FitMatrices; // 0x378 + CUtlVector< FeFitWeight_t > m_FitWeights; // 0x390 + CUtlVector< FeNodeReverseOffset_t > m_ReverseOffsets; // 0x3a8 + CUtlVector< FeAnimStrayRadius_t > m_AnimStrayRadii; // 0x3c0 + CUtlVector< FeSimdAnimStrayRadius_t > m_SimdAnimStrayRadii; // 0x3d8 + CUtlVector< FeKelagerBend2_t > m_KelagerBends; // 0x3f0 + CUtlVector< FeCtrlSoftOffset_t > m_CtrlSoftOffsets; // 0x408 + CUtlVector< CFeIndexedJiggleBone > m_JiggleBones; // 0x420 + CUtlVector< uint16 > m_SourceElems; // 0x438 + CUtlVector< uint32 > m_GoalDampedSpringIntegrators; // 0x450 + CUtlVector< FeTri_t > m_Tris; // 0x468 + uint16_t m_nTriCount1; // 0x480 + uint16_t m_nTriCount2; // 0x482 + uint8_t m_nReservedUint8; // 0x484 + uint8_t m_nExtraPressureIterations; // 0x485 + uint8_t m_nExtraGoalIterations; // 0x486 + uint8_t m_nExtraIterations; // 0x487 + CUtlVector< FeBoxRigid_t > m_BoxRigids; // 0x488 + CUtlVector< uint8 > m_DynNodeVertexSet; // 0x4a0 + CUtlVector< uint32 > m_VertexSetNames; // 0x4b8 + CUtlVector< FeRigidColliderIndices_t > m_RigidColliderPriorities; // 0x4d0 + CUtlVector< FeMorphLayerDepr_t > m_MorphLayers; // 0x4e8 + CUtlVector< uint8 > m_MorphSetData; // 0x500 + CUtlVector< FeVertexMapDesc_t > m_VertexMaps; // 0x518 + CUtlVector< uint8 > m_VertexMapValues; // 0x530 + CUtlVector< FeEffectDesc_t > m_Effects; // 0x548 + CUtlVector< FeCtrlOffset_t > m_LockToParent; // 0x560 + CUtlVector< uint16 > m_LockToGoal; // 0x578 + CUtlVector< FeNodeWindBase_t > m_DynNodeWindBases; // 0x590 + float m_flInternalPressure; // 0x5a8 + float m_flDefaultTimeDilation; // 0x5ac + float m_flWindage; // 0x5b0 + float m_flWindDrag; // 0x5b4 + float m_flDefaultSurfaceStretch; // 0x5b8 + float m_flDefaultThreadStretch; // 0x5bc + float m_flDefaultGravityScale; // 0x5c0 + float m_flDefaultVelAirDrag; // 0x5c4 + float m_flDefaultExpAirDrag; // 0x5c8 + float m_flDefaultVelQuadAirDrag; // 0x5cc + float m_flDefaultExpQuadAirDrag; // 0x5d0 + float m_flRodVelocitySmoothRate; // 0x5d4 + float m_flQuadVelocitySmoothRate; // 0x5d8 + float m_flAddWorldCollisionRadius; // 0x5dc + float m_flDefaultVolumetricSolveAmount; // 0x5e0 + uint16_t m_nRodVelocitySmoothIterations; // 0x5e4 + uint16_t m_nQuadVelocitySmoothIterations; // 0x5e6 }; // Alignment: 2 @@ -582,18 +580,6 @@ public: float flWeight; // 0x4 }; -// Alignment: 5 -// Size: 0x18 -struct FeCollisionSphere_t -{ -public: - uint16_t nCtrlParent; // 0x0 - uint16_t nChildNode; // 0x2 - float m_flRFactor; // 0x4 - Vector m_vOrigin; // 0x8 - float flStickiness; // 0x14 -}; - // Alignment: 2 // Size: 0x10 struct RnPlane_t @@ -730,16 +716,15 @@ public: uint16_t nBeginDynamic; // 0x30 }; -// Alignment: 5 -// Size: 0xc +// Alignment: 4 +// Size: 0x8 struct FeRigidColliderIndices_t { public: uint16_t m_nTaperedCapsuleRigidIndex; // 0x0 uint16_t m_nSphereRigidIndex; // 0x2 uint16_t m_nBoxRigidIndex; // 0x4 - uint16_t m_nCollisionSphereIndex[2]; // 0x6 - uint16_t m_nCollisionPlaneIndex; // 0xa + uint16_t m_nCollisionPlaneIndex; // 0x6 }; // Alignment: 2 @@ -987,7 +972,7 @@ public: uint32_t m_nTriangleOffset; // 0x1c }; -// Alignment: 8 +// Alignment: 9 // Size: 0xa0 struct RnMesh_t { @@ -1000,6 +985,7 @@ public: CUtlVector< RnWing_t > m_Wings; // 0x60 CUtlVector< uint8 > m_Materials; // 0x78 Vector m_vOrthographicAreas; // 0x90 + bool m_bHasOpenEdges; // 0x9c }; // Alignment: 3 @@ -1102,6 +1088,48 @@ public: RnHull_t* m_pHull; // 0x28 }; +// Alignment: 35 +// Size: 0xd0 +struct RnBodyDesc_t +{ +public: + CUtlString m_sDebugName; // 0x0 + Vector m_vPosition; // 0x8 + QuaternionStorage m_qOrientation; // 0x14 + Vector m_vLinearVelocity; // 0x24 + Vector m_vAngularVelocity; // 0x30 + Vector m_vLocalMassCenter; // 0x3c + Vector m_LocalInertiaInv[3]; // 0x48 + float m_flMassInv; // 0x6c + float m_flGameMass; // 0x70 + float m_flInertiaScaleInv; // 0x74 + float m_flLinearDamping; // 0x78 + float m_flAngularDamping; // 0x7c + float m_flLinearDrag; // 0x80 + float m_flAngularDrag; // 0x84 + float m_flLinearBuoyancyDrag; // 0x88 + float m_flAngularBuoyancyDrag; // 0x8c + Vector m_vLastAwakeForceAccum; // 0x90 + Vector m_vLastAwakeTorqueAccum; // 0x9c + float m_flBuoyancyFactor; // 0xa8 + float m_flGravityScale; // 0xac + float m_flTimeScale; // 0xb0 + int32_t m_nBodyType; // 0xb4 + uint32_t m_nGameIndex; // 0xb8 + uint32_t m_nGameFlags; // 0xbc + int8_t m_nMinVelocityIterations; // 0xc0 + int8_t m_nMinPositionIterations; // 0xc1 + int8_t m_nMassPriority; // 0xc2 + bool m_bEnabled; // 0xc3 + bool m_bSleeping; // 0xc4 + bool m_bIsContinuousEnabled; // 0xc5 + bool m_bDragEnabled; // 0xc6 + bool m_bBuoyancyDragEnabled; // 0xc7 + bool m_bGravityDisabled; // 0xc8 + bool m_bSpeculativeEnabled; // 0xc9 + bool m_bHasShadowController; // 0xca +}; + // Alignment: 2 // Size: 0x18 struct VertexPositionNormal_t @@ -1119,3 +1147,11 @@ public: Vector m_vPosition; // 0x0 }; +// Alignment: 1 +// Size: 0xd8 +struct vphysics_save_cphysicsbody_t : public RnBodyDesc_t +{ +public: + uint64_t m_nOldPointer; // 0xd0 +}; + diff --git a/sdk/worldrenderer.hpp b/sdk/worldrenderer.hpp index a8d2c852..9eb33e64 100644 --- a/sdk/worldrenderer.hpp +++ b/sdk/worldrenderer.hpp @@ -4,13 +4,13 @@ // ///////////////////////////////////////////////////////////// // Binary: worldrenderer.dll -// Classes count: 24 +// Classes count: 26 // Enums count: 1 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// // Alignment: 4 -// Size: 0xf +// Size: 0x10 enum class ObjectTypeFlags_t : uint32_t { OBJECT_TYPE_NONE = 0x0, @@ -26,11 +26,13 @@ enum class ObjectTypeFlags_t : uint32_t OBJECT_TYPE_RENDER_WITH_DYNAMIC = 0x200, OBJECT_TYPE_RENDER_TO_CUBEMAPS = 0x400, OBJECT_TYPE_MODEL_HAS_LODS = 0x800, + OBJECT_TYPE_OVERLAY = 0x2000, OBJECT_TYPE_PRECOMPUTED_VISMEMBERS = 0x4000, OBJECT_TYPE_STATIC_CUBE_MAP = 0x8000, }; struct CRenderBufferBinding; +struct AABB_t; struct BakedLightingInfo_t; struct WorldBuilderParams_t; struct VoxelVisBlockOffset_t; @@ -56,23 +58,27 @@ public: }; // Alignment: 2 -// Size: 0x30 +// Size: 0x40 struct EntityKeyValueData_t { +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: - CUtlBinaryBlock m_keyValuesData; // 0x0 - CUtlVector< EntityIOConnectionData_t > m_connections; // 0x18 + CUtlVector< EntityIOConnectionData_t > m_connections; // 0x8 + CUtlBinaryBlock m_keyValuesData; // 0x20 }; // Alignment: 4 // Size: 0x40 struct PermEntityLumpData_t { +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: - CUtlString m_name; // 0x0 - CUtlString m_hammerUniqueId; // 0x8 - CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_childLumps; // 0x10 - CUtlVector< EntityKeyValueData_t > m_entityKeyValues; // 0x28 + CUtlString m_name; // 0x8 + CUtlString m_hammerUniqueId; // 0x10 + CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_childLumps; // 0x18 + CUtlLeanVector< EntityKeyValueData_t > m_entityKeyValues; // 0x30 }; // Alignment: 15 @@ -181,8 +187,8 @@ public: CUtlVector< uint8 > m_pData; // 0x20 }; -// Alignment: 13 -// Size: 0x30 +// Alignment: 9 +// Size: 0x18 struct AggregateMeshInfo_t { public: @@ -198,10 +204,6 @@ private: public: ObjectTypeFlags_t m_objectFlags; // 0x10 int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x14 - Vector m_vLODOrigin; // 0x18 - float m_fLODStartDrawDistance; // 0x24 - float m_fLODEndDrawDistance; // 0x28 - float m_fMaxObjectScale; // 0x2c }; // Alignment: 4 @@ -236,8 +238,39 @@ public: CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x70 }; -// Alignment: 12 -// Size: 0x128 +// Alignment: 3 +// Size: 0x20 +struct ClutterTile_t +{ +public: + uint32_t m_nFirstInstance; // 0x0 + uint32_t m_nLastInstance; // 0x4 + AABB_t m_BoundsWs; // 0x8 +}; + +// Alignment: 8 +// Size: 0xa0 +struct ClutterSceneObject_t +{ +public: + AABB_t m_Bounds; // 0x0 + ObjectTypeFlags_t m_flags; // 0x18 + int16_t m_nLayer; // 0x1c +private: + [[maybe_unused]] uint8_t __pad001e[0x2]; // 0x1e +public: + CUtlVector< Vector > m_instancePositions; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0038[0x18]; // 0x38 +public: + CUtlVector< float32 > m_instanceScales; // 0x50 + CUtlVector< Color > m_instanceTintSrgb; // 0x68 + CUtlVector< ClutterTile_t > m_tiles; // 0x80 + CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x98 +}; + +// Alignment: 13 +// Size: 0x140 struct WorldNode_t { public: @@ -245,14 +278,15 @@ public: CUtlVector< InfoOverlayData_t > m_infoOverlays; // 0x18 CUtlVector< uint16 > m_visClusterMembership; // 0x30 CUtlVector< AggregateSceneObject_t > m_aggregateSceneObjects; // 0x48 - CUtlVector< ExtraVertexStreamOverride_t > m_extraVertexStreamOverrides; // 0x60 - CUtlVector< MaterialOverride_t > m_materialOverrides; // 0x78 - CUtlVector< WorldNodeOnDiskBufferData_t > m_extraVertexStreams; // 0x90 - CUtlVector< CUtlString > m_layerNames; // 0xa8 - CUtlVector< uint8 > m_sceneObjectLayerIndices; // 0xc0 - CUtlVector< uint8 > m_overlayLayerIndices; // 0xd8 - CUtlString m_grassFileName; // 0xf0 - BakedLightingInfo_t m_nodeLightingInfo; // 0xf8 + CUtlVector< ClutterSceneObject_t > m_clutterSceneObjects; // 0x60 + CUtlVector< ExtraVertexStreamOverride_t > m_extraVertexStreamOverrides; // 0x78 + CUtlVector< MaterialOverride_t > m_materialOverrides; // 0x90 + CUtlVector< WorldNodeOnDiskBufferData_t > m_extraVertexStreams; // 0xa8 + CUtlVector< CUtlString > m_layerNames; // 0xc0 + CUtlVector< uint8 > m_sceneObjectLayerIndices; // 0xd8 + CUtlVector< uint8 > m_overlayLayerIndices; // 0xf0 + CUtlString m_grassFileName; // 0x108 + BakedLightingInfo_t m_nodeLightingInfo; // 0x110 }; // Alignment: 5