diff --git a/sdk/!GlobalTypes.hpp b/sdk/!GlobalTypes.hpp index 811ae3da..4dd9f35c 100644 --- a/sdk/!GlobalTypes.hpp +++ b/sdk/!GlobalTypes.hpp @@ -4,8 +4,8 @@ // ///////////////////////////////////////////////////////////// // Binary: !GlobalTypes -// Classes count: 1395 -// Enums count: 562 +// Classes count: 1403 +// Enums count: 566 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -428,14 +428,6 @@ enum class VPhysXJoint_t__Flags_t : uint32_t JOINT_FLAGS_USE_BLOCK_SOLVER = 0x2, }; -// Alignment: 4 -// Size: 0x2 -enum class AnimVRHandMotionRange_t : uint32_t -{ - MotionRange_WithController = 0x0, - MotionRange_WithoutController = 0x1, -}; - // Alignment: 4 // Size: 0x3 enum class FieldNetworkOption : uint32_t @@ -598,24 +590,6 @@ enum class IKChannelMode : uint32_t OneBone_Translate = 0x3, }; -// Alignment: 4 -// Size: 0x4 -enum class AnimVrFingerSplay_t : uint32_t -{ - AnimVrFingerSplay_Thumb_Index = 0x0, - AnimVrFingerSplay_Index_Middle = 0x1, - AnimVrFingerSplay_Middle_Ring = 0x2, - AnimVrFingerSplay_Ring_Pinky = 0x3, -}; - -// Alignment: 4 -// Size: 0x2 -enum class AnimVrBoneTransformSource_t : uint32_t -{ - AnimVrBoneTransformSource_LiveStream = 0x0, - AnimVrBoneTransformSource_GripLimit = 0x1, -}; - // Alignment: 4 // Size: 0x5 enum class ResetCycleOption : uint32_t @@ -720,14 +694,6 @@ enum class Blend2DMode : uint32_t Blend2DMode_Directional = 0x1, }; -// Alignment: 4 -// Size: 0x2 -enum class AnimVRHand_t : uint32_t -{ - AnimVRHand_Left = 0x0, - AnimVRHand_Right = 0x1, -}; - // Alignment: 4 // Size: 0x6 enum class IKSolverType : uint32_t @@ -990,17 +956,6 @@ enum class IKTargetCoordinateSystem : uint32_t IKTARGETCOORDINATESYSTEM_COUNT = 0x2, }; -// Alignment: 4 -// Size: 0x5 -enum class AnimVRFinger_t : uint32_t -{ - AnimVrFinger_Thumb = 0x0, - AnimVrFinger_Index = 0x1, - AnimVrFinger_Middle = 0x2, - AnimVrFinger_Ring = 0x3, - AnimVrFinger_Pinky = 0x4, -}; - // Alignment: 4 // Size: 0x7 enum class SolveIKChainAnimNodeDebugSetting : uint32_t @@ -1519,6 +1474,14 @@ enum class ParticleOrientationChoiceList_t : uint32_t PARTICLE_ORIENTATION_FULL_3AXIS_ROTATION = 0x5, }; +// Alignment: 4 +// Size: 0x2 +enum class ParticleHitboxDataSelection_t : uint32_t +{ + PARTICLE_HITBOX_AVERAGE_SPEED = 0x0, + PARTICLE_HITBOX_COUNT = 0x1, +}; + // Alignment: 4 // Size: 0x5 enum class ParticleTransformType_t : uint32_t @@ -1623,7 +1586,7 @@ enum class ParticleLightUnitChoiceList_t : uint32_t }; // Alignment: 4 -// Size: 0x12 +// Size: 0x13 enum class ParticleVecType_t : uint32_t { PVEC_TYPE_INVALID = 0xffffffffffffffff, @@ -1643,7 +1606,8 @@ enum class ParticleVecType_t : uint32_t PVEC_TYPE_RANDOM_UNIFORM = 0xd, PVEC_TYPE_RANDOM_UNIFORM_OFFSET = 0xe, PVEC_TYPE_CP_DELTA = 0xf, - PVEC_TYPE_COUNT = 0x10, + PVEC_TYPE_CLOSEST_CAMERA_POSITION = 0x10, + PVEC_TYPE_COUNT = 0x11, }; // Alignment: 4 @@ -1737,12 +1701,13 @@ enum class ParticleTextureLayerBlendType_t : uint32_t }; // Alignment: 4 -// Size: 0x3 +// Size: 0x4 enum class ParticleTraceSet_t : uint32_t { PARTICLE_TRACE_SET_ALL = 0x0, PARTICLE_TRACE_SET_STATIC = 0x1, - PARTICLE_TRACE_SET_DYNAMIC = 0x2, + PARTICLE_TRACE_SET_STATIC_AND_KEYFRAMED = 0x2, + PARTICLE_TRACE_SET_DYNAMIC = 0x3, }; // Alignment: 4 @@ -2298,6 +2263,20 @@ enum class DotaDefaultUIElement_t : uint32_t DOTA_DEFAULT_UI_ELEMENT_COUNT = 0x20, }; +// Alignment: 4 +// Size: 0x8 +enum class EFantasyOperationTarget : uint32_t +{ + k_eFantasyOperationTarget_None = 0x0, + k_eFantasyOperationTarget_GemType = 0x1, + k_eFantasyOperationTarget_Region = 0x2, + k_eFantasyOperationTarget_SpecificGem = 0x3, + k_eFantasyOperationTarget_Title = 0x4, + k_eFantasyOperationTarget_ExtraInput = 0x5, + k_eFantasyOperationTarget_PlayerDraft = 0x6, + k_eFantasyOperationTarget_TitleDraft = 0x7, +}; + // Alignment: 4 // Size: 0x4 enum class SPELL_DISPELLABLE_TYPES : uint32_t @@ -2575,7 +2554,7 @@ enum class TakeDamageFlags_t : uint32_t }; // Alignment: 4 -// Size: 0x12 +// Size: 0x13 enum class WeaponSound_t : uint32_t { WEAPON_SOUND_EMPTY = 0x0, @@ -2587,15 +2566,16 @@ enum class WeaponSound_t : uint32_t 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, + WEAPON_SOUND_MELEE_HIT_NPC = 0x9, + WEAPON_SOUND_SPECIAL1 = 0xa, + WEAPON_SOUND_SPECIAL2 = 0xb, + WEAPON_SOUND_SPECIAL3 = 0xc, + WEAPON_SOUND_NEARLYEMPTY = 0xd, + WEAPON_SOUND_IMPACT = 0xe, + WEAPON_SOUND_REFLECT = 0xf, + WEAPON_SOUND_SECONDARY_IMPACT = 0x10, + WEAPON_SOUND_SECONDARY_REFLECT = 0x11, + WEAPON_SOUND_NUM_TYPES = 0x12, }; // Alignment: 4 @@ -2965,6 +2945,15 @@ enum class PointWorldTextJustifyHorizontal_t : uint32_t POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_RIGHT = 0x2, }; +// Alignment: 4 +// Size: 0x3 +enum class EFantasyStatType : uint32_t +{ + k_eFantasyStatType_Player = 0x0, + k_eFantasyStatType_Team = 0x1, + k_eFantasyStatType_Game = 0x2, +}; + // Alignment: 4 // Size: 0x6 enum class EGCPlatform : uint32_t @@ -2985,15 +2974,6 @@ enum class EEventActionScoreMode : uint32_t k_eEventActionScoreMode_Min = 0x1, }; -// Alignment: 4 -// Size: 0x3 -enum class WeaponState_t : uint32_t -{ - WEAPON_NOT_CARRIED = 0x0, - WEAPON_IS_CARRIED_BY_PLAYER = 0x1, - WEAPON_IS_ACTIVE = 0x2, -}; - // Alignment: 4 // Size: 0x3 enum class PingConfirmationIconType : uint32_t @@ -3302,7 +3282,7 @@ enum class DOTAPostGameColumn_t : uint32_t }; // Alignment: 4 -// Size: 0x9 +// Size: 0xa enum class DOTAPortraitEnvironmentType_t : uint32_t { DOTA_PORTRAIT_ENVIRONMENT_INVALID = 0xffffffffffffffff, @@ -3313,7 +3293,8 @@ enum class DOTAPortraitEnvironmentType_t : uint32_t DOTA_PORTRAIT_ENVIRONMENT_FULL_BODY_RIGHT_SIDE = 0x4, DOTA_PORTRAIT_ENVIRONMENT_FULL_BODY_LOADOUT = 0x5, DOTA_PORTRAIT_ENVIRONMENT_ICON = 0x6, - DOTA_PORTRAIT_ENVIRONMENT_TYPE_COUNT = 0x7, + DOTA_PORTRAIT_ENVIRONMENT_SHOWCASE = 0x7, + DOTA_PORTRAIT_ENVIRONMENT_TYPE_COUNT = 0x8, }; // Alignment: 4 @@ -3872,7 +3853,7 @@ enum class EGCBaseMsg : uint32_t }; // Alignment: 4 -// Size: 0x120 +// Size: 0x121 enum class modifierfunction : uint32_t { MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE = 0x0, @@ -4161,7 +4142,8 @@ enum class modifierfunction : uint32_t MODIFIER_PROPERTY_PROJECTILE_SPEED = 0x11b, MODIFIER_PROPERTY_BECOME_UNIVERSAL = 0x11c, MODIFIER_EVENT_ON_FORCE_PROC_MAGIC_STICK = 0x11d, - MODIFIER_FUNCTION_LAST = 0x11e, + MODIFIER_PROPERTY_DO_NOT_SINK_AFTER_DEATH = 0x11e, + MODIFIER_FUNCTION_LAST = 0x11f, MODIFIER_FUNCTION_INVALID = 0xffff, }; @@ -4326,7 +4308,7 @@ enum class DOTASelectionPriorityRules : uint32_t }; // Alignment: 4 -// Size: 0xd +// Size: 0xe enum class DOTACommType_t : uint32_t { DOTA_COMM_TYPE_NONE = 0x0, @@ -4334,14 +4316,15 @@ enum class DOTACommType_t : uint32_t 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, + DOTA_COMM_TYPE_SHOWCASE = 0x5, + DOTA_COMM_TYPE_VOICE = 0x6, + DOTA_COMM_TYPE_ALLY_ABILITY = 0x7, + DOTA_COMM_TYPE_PAUSE = 0x8, + DOTA_COMM_TYPE_COACHING = 0x9, + DOTA_COMM_TYPE_NOCOOLDOWN = 0xa, + DOTA_COMM_TYPE_RANKEDMATCHMAKE = 0xb, + DOTA_COMM_TYPE_DROPS = 0xc, + DOTA_COMM_TYPE_NEWPLAYER_EXPERT = 0xd, }; // Alignment: 4 @@ -4616,6 +4599,20 @@ enum class EPlayerVoiceListenState : uint32_t kPVLS_AllowPrivateCoach = 0x4a, }; +// Alignment: 4 +// Size: 0x8 +enum class EFantasyMutationOperation : uint32_t +{ + k_eFantasyMutationOperation_RollEverything = 0x0, + k_eFantasyMutationOperation_RollShape = 0x1, + k_eFantasyMutationOperation_RollQuality = 0x2, + k_eFantasyMutationOperation_RollStat = 0x3, + k_eFantasyMutationOperation_IncreaseQuality = 0x4, + k_eFantasyMutationOperation_DecreaseQuality = 0x5, + k_eFantasyMutationOperation_IncreaseOneQuality = 0x6, + k_eFantasyMutationOperation_IncreaseTwoQualitiesDecreaseOne = 0x7, +}; + // Alignment: 4 // Size: 0x4 enum class LobbyDotaTVDelay : uint32_t @@ -4885,9 +4882,10 @@ enum class CLC_Messages : uint32_t }; // Alignment: 4 -// Size: 0xc +// Size: 0x12 enum class EBadgeType : uint32_t { + k_EBadgeType_Invalid = 0x0, k_EBadgeType_TI7_Midweek = 0x1, k_EBadgeType_TI7_Finals = 0x2, k_EBadgeType_TI7_AllEvent = 0x3, @@ -4900,6 +4898,11 @@ enum class EBadgeType : uint32_t k_EBadgeType_TI11_PlayoffsDay3 = 0xa, k_EBadgeType_TI11_PlayoffsDay4 = 0xb, k_EBadgeType_TI11_FinalsWeekend = 0xc, + k_EBadgeType_TI12_PlayoffsDay1 = 0xd, + k_EBadgeType_TI12_PlayoffsDay2 = 0xe, + k_EBadgeType_TI12_PlayoffsDay3 = 0xf, + k_EBadgeType_TI12_FinalsWeekend = 0x10, + k_EBadgeType_TI12_Special = 0x11, }; // Alignment: 4 @@ -5467,7 +5470,7 @@ enum class ECustomGameInstallStatus : uint32_t }; // Alignment: 4 -// Size: 0x359 +// Size: 0x375 enum class EDOTAGCMsg : uint32_t { k_EMsgGCDOTABase = 0x1b58, @@ -6306,8 +6309,8 @@ enum class EDOTAGCMsg : uint32_t k_EMsgClientToGCShowcaseGetUserDataResponse = 0x22b7, k_EMsgClientToGCShowcaseSetUserData = 0x22b8, k_EMsgClientToGCShowcaseSetUserDataResponse = 0x22b9, - k_EMsgClientToGCFantasyCraftingGetUserData = 0x22ba, - k_EMsgClientToGCFantasyCraftingGetUserDataResponse = 0x22bb, + k_EMsgClientToGCFantasyCraftingGetData = 0x22ba, + k_EMsgClientToGCFantasyCraftingGetDataResponse = 0x22bb, k_EMsgClientToGCFantasyCraftingPerformOperation = 0x22bc, k_EMsgClientToGCFantasyCraftingPerformOperationResponse = 0x22bd, k_EMsgGCToClientFantasyCraftingGetDataUpdated = 0x22be, @@ -6327,6 +6330,34 @@ enum class EDOTAGCMsg : uint32_t k_EMsgClientToGCBingoGetStatsDataResponse = 0x22cc, k_EMsgGCToClientBingoUserDataUpdated = 0x22cd, k_EMsgGCToClientRoadToTIQuestDataUpdated = 0x22ce, + k_EMsgClientToGCRoadToTIUseItem = 0x22cf, + k_EMsgClientToGCRoadToTIUseItemResponse = 0x22d0, + k_EMsgClientToGCShowcaseSubmitReport = 0x22d1, + k_EMsgClientToGCShowcaseSubmitReportResponse = 0x22d2, + k_EMsgClientToGCShowcaseAdminGetReportsRollupList = 0x22d3, + k_EMsgClientToGCShowcaseAdminGetReportsRollupListResponse = 0x22d4, + k_EMsgClientToGCShowcaseAdminGetReportsRollup = 0x22d5, + k_EMsgClientToGCShowcaseAdminGetReportsRollupResponse = 0x22d6, + k_EMsgClientToGCShowcaseAdminGetUserDetails = 0x22d7, + k_EMsgClientToGCShowcaseAdminGetUserDetailsResponse = 0x22d8, + k_EMsgClientToGCShowcaseAdminConvict = 0x22d9, + k_EMsgClientToGCShowcaseAdminConvictResponse = 0x22da, + k_EMsgClientToGCShowcaseAdminExonerate = 0x22db, + k_EMsgClientToGCShowcaseAdminExonerateResponse = 0x22dc, + k_EMsgClientToGCShowcaseAdminReset = 0x22dd, + k_EMsgClientToGCShowcaseAdminResetResponse = 0x22de, + k_EMsgClientToGCShowcaseAdminLockAccount = 0x22df, + k_EMsgClientToGCShowcaseAdminLockAccountResponse = 0x22e0, + k_EMsgClientToGCFantasyCraftingSelectPlayer = 0x22e1, + k_EMsgClientToGCFantasyCraftingSelectPlayerResponse = 0x22e2, + k_EMsgClientToGCFantasyCraftingGenerateTablets = 0x22e3, + k_EMsgClientToGCFantasyCraftingGenerateTabletsResponse = 0x22e4, + k_EMsgClientToGcFantasyCraftingUpgradeTablets = 0x22e5, + k_EMsgClientToGcFantasyCraftingUpgradeTabletsResponse = 0x22e6, + k_EMsgClientToGCFantasyCraftingRerollOptions = 0x22e8, + k_EMsgClientToGCFantasyCraftingRerollOptionsResponse = 0x22e9, + k_EMsgClientToGCRoadToTIDevForceQuest = 0x22e7, + k_EMsgLobbyRoadToTIMatchQuestData = 0x22eb, }; // Alignment: 4 @@ -6369,10 +6400,10 @@ enum class PARTICLE_MESSAGE : uint32_t // Size: 0x4 enum class WeaponAttackType_t : uint32_t { - WEAPON_ATTACK_INVALID = 0xffffffffffffffff, - WEAPON_PRIMARY_ATTACK = 0x0, - WEAPON_SECONDARY_ATTACK = 0x1, - WEAPON_ATTACK_COUNT = 0x2, + eInvalid = 0xffffffffffffffff, + ePrimary = 0x0, + eSecondary = 0x1, + eCount = 0x2, }; // Alignment: 4 @@ -6751,6 +6782,14 @@ enum class CavernCrawlChallengeType_t : uint8_t CAVERN_CRAWL_CHALLENGE_LAST_VALID_TYPE_PLUS_ONE = 0xf2, }; +// Alignment: 4 +// Size: 0x2 +enum class EFantasyStatMatchMode : uint32_t +{ + k_FantasyStatMatchMode_Any = 0x0, + k_FantasyStatMatchMode_All = 0x1, +}; + // Alignment: 4 // Size: 0xe enum class DOTAMinimapEvent_t : uint32_t @@ -7503,7 +7542,7 @@ enum class Class_T : uint32_t }; // Alignment: 4 -// Size: 0x30 +// Size: 0x31 enum class EBaseUserMessages : uint32_t { UM_AchievementEvent = 0x65, @@ -7553,6 +7592,7 @@ enum class EBaseUserMessages : uint32_t UM_InventoryResponse = 0xa1, UM_RequestDiagnostic = 0xa2, UM_DiagnosticResponse = 0xa3, + UM_ExtraUserData = 0xa4, UM_MAX_BASE = 0xc8, }; @@ -7686,6 +7726,26 @@ enum class DOTAMusicStatus_t : uint32_t DOTA_MUSIC_STATUS_LAST = 0x5, }; +// Alignment: 2 +// Size: 0xe +enum class EFantasyMutationTarget : uint16_t +{ + k_eFantasyMutationTarget_None = 0x0, + k_eFantasyMutationTarget_Prefix = 0x1, + k_eFantasyMutationTarget_Player = 0x2, + k_eFantasyMutationTarget_Suffix = 0x4, + k_eFantasyMutationTarget_Rubies = 0x8, + k_eFantasyMutationTarget_Sapphires = 0x10, + k_eFantasyMutationTarget_Emeralds = 0x20, + k_eFantasyMutationTarget_Adjacent = 0x40, + k_eFantasyMutationTarget_OperationChoice = 0x80, + k_eFantasyMutationTarget_AllColor = 0x100, + k_eFantasyMutationTarget_OneColor = 0x200, + k_eFantasyMutationTarget_FirstColor = 0x400, + k_eFantasyMutationTarget_LastColor = 0x800, + k_eFantasyMutationTarget_All = 0x1000, +}; + // Alignment: 4 // Size: 0x8 enum class MLBot_MessageId : uint32_t @@ -10218,6 +10278,19 @@ enum class ELeagueTierCategory : uint32_t LEAGUE_TIER_CATEGORY_DPC = 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: 0xa enum class DotaCustomUIType_t : uint32_t @@ -10290,6 +10363,14 @@ enum class CMsgBattleReport_EOutcome : uint32_t k_eLoss = 0x1, }; +// Alignment: 4 +// Size: 0x2 +enum class EShowcaseItemFlag : uint32_t +{ + k_eShowcaseItemFlag_None = 0x0, + k_eShowcaseItemFlag_FlipHorizontally = 0x1, +}; + // Alignment: 4 // Size: 0x2 enum class NeutralCampStackPullAlarmType_t : uint32_t @@ -10327,6 +10408,14 @@ enum class OrderQueueBehavior_t : uint32_t DOTA_ORDER_QUEUE_ALWAYS = 0x2, }; +// Alignment: 4 +// Size: 0x2 +enum class ERoadToTIQuestType : uint32_t +{ + k_RoadToTIQuestType_Match = 0x0, + k_RoadToTIQuestType_Player = 0x1, +}; + // Alignment: 4 // Size: 0x3 enum class EPrivateCoachingSessionMemberFlag : uint32_t @@ -10390,6 +10479,15 @@ enum class PortraitDisplayMode_t : uint32_t PORTRAIT_DISPLAY_MODE_TREASURE_SMALL = 0x3, }; +// Alignment: 4 +// Size: 0x3 +enum class EShowcaseItemFlag_Hero : uint32_t +{ + k_eShowcaseItemFlag_Hero_None = 0x0, + k_eShowcaseItemFlag_Hero_ShowPedestal = 0x1, + k_eShowcaseItemFlag_Hero_UseCurrentLoadout = 0x2, +}; + // Alignment: 4 // Size: 0x4 enum class PlayerOrderIssuer_t : uint32_t @@ -11267,13 +11365,15 @@ enum class ESupportEventRequestResult : uint32_t }; // Alignment: 4 -// Size: 0x4 +// Size: 0x6 enum class EShowcaseItemState : uint32_t { k_eShowcaseItemState_Ok = 0x0, - k_eShowcaseItemState_ValidityUnknown = 0x1, - k_eShowcaseItemState_Failure = 0x2, - k_eShowcaseItemState_Invalid = 0x3, + k_eShowcaseItemState_MinorModifications = 0x1, + k_eShowcaseItemState_ValidityUnknown = 0x2, + k_eShowcaseItemState_PartiallyInvalid = 0x3, + k_eShowcaseItemState_Invalid = 0x4, + k_eShowcaseItemState_Failure = 0x5, }; // Alignment: 4 @@ -11317,6 +11417,18 @@ enum class EItemEditorReservationResult : uint32_t k_EItemEditorReservationResult_TimedOut = 0x4, }; +// Alignment: 4 +// Size: 0x6 +enum class EShowcaseAuditAction : uint32_t +{ + k_eShowcaseAuditAction_Invalid = 0x0, + k_eShowcaseAuditAction_ShowcaseChanged = 0x1, + k_eShowcaseAuditAction_AdminShowcaseReset = 0x2, + k_eShowcaseAuditAction_AdminShowcaseAccountLocked = 0x3, + k_eShowcaseAuditAction_AdminShowcaseExonerated = 0x4, + k_eShowcaseAuditAction_AdminShowcaseConvicted = 0x5, +}; + // Alignment: 4 // Size: 0x2 enum class EPartyBeaconType : uint32_t @@ -11442,19 +11554,6 @@ 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 @@ -11550,7 +11649,6 @@ struct FollowAttachmentSettings_t; struct CRangeFloat; struct LookAtOpFixedSettings_t; struct HitReactFixedSettings_t; -struct SkeletalInputOpFixedSettings_t; struct AimMatrixOpFixedSettings_t; struct CAnimStateMachineUpdater; struct PermModelInfo_t; @@ -11640,14 +11738,17 @@ struct CRR_Response; struct GameTick_t; struct PingWheelMessageID_t; struct CDOTA_Orb; +struct FantasyTabletID_t; struct ResponseFollowup; struct CavernCrawlRewardType_t; struct style_index_t; +struct FantasyCraftDataID_t; struct CNetworkVarChainer; struct AmmoIndex_t; struct ResponseParams; struct CTakeDamageInfo; struct CTakeDamageResult; +struct FantasyGemShape_t; struct GameTime_t; struct CDOTABaseAbility; struct CavernCrawlPathID_t; @@ -11658,9 +11759,13 @@ struct CSoundEnvelope; struct CCopyRecipientFilter; struct CModifierParams; struct DOTALevelingAbilityBonus_t; +struct FantasyGemQuality_t; struct BlessingID_t; +struct FantasyTitle_t; struct PlayerID_t; struct CRangeInt; +struct FantasyLeagueID_t; +struct FantasyPeriod_t; struct INextBotReply; struct BlessingTypeID_t; struct VelocitySampler; @@ -11672,8 +11777,12 @@ struct CBaseFlex; struct CSkeletonInstance; struct CDOTA_Buff; struct CSkillFloat; +struct FantasyOperationID_t; +struct FantasyGemSlot_t; struct CandyShopRewardOptionID_t; struct CandyShopID_t; +struct RoadToTIQuestID_t; +struct MatchID_t; struct itemid_t; struct CDecalInfo; struct CandyShopCandyTypeID_t; @@ -12056,6 +12165,16 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x1 +class InfoForResourceTypeCNmSkeleton +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + // Alignment: 0 // Size: 0x1 class InfoForResourceTypeCTypeScriptResource @@ -12149,6 +12268,16 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x1 +class InfoForResourceTypeCNmClip +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + // Alignment: 0 // Size: 0x1 class InfoForResourceTypeCPhysAggregateData @@ -12570,16 +12699,6 @@ public: // No members available }; -// Alignment: 0 -// Size: 0x8 -class IHandleEntity -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - // No members available -}; - // Alignment: 0 // Size: 0x30 struct EventClientPauseSimulate_t : public EventSimulate_t @@ -12727,16 +12846,6 @@ public: // No members available }; -// Alignment: 0 -// Size: 0x8 -class CEntityComponent -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - // No members available -}; - // Alignment: 4 // Size: 0x28 class CEntityComponentHelper @@ -13127,22 +13236,11 @@ private: [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 public: CAnimNodePath m_nodePath; // 0x18 - CUtlString m_name; // 0x48 - AnimNodeNetworkMode m_networkMode; // 0x50 -}; - -// Alignment: 7 -// Size: 0x38 -class CFingerBone -{ + AnimNodeNetworkMode m_networkMode; // 0x48 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c public: - CUtlString m_boneName; // 0x0 - Vector m_hingeAxis; // 0x8 - Vector m_vCapsulePos1; // 0x14 - Vector m_vCapsulePos2; // 0x20 - float m_flMinAngle; // 0x2c - float m_flMaxAngle; // 0x30 - float m_flRadius; // 0x34 + CUtlString m_name; // 0x50 }; // Alignment: 2 @@ -13369,20 +13467,6 @@ public: Color m_Color; // 0x48 }; -// 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: 1 // Size: 0x4 class AnimParamID @@ -13751,15 +13835,6 @@ public: uint32_t m_id; // 0x0 }; -// Alignment: 2 -// Size: 0x30 -struct WristBone_t -{ -public: - CTransform m_xOffsetTransformMS; // 0x0 - int32_t m_boneIndex; // 0x20 -}; - // Alignment: 46 // Size: 0xf8 struct VPhysXConstraintParams_t @@ -14292,17 +14367,6 @@ public: CUtlString m_szFacs; // 0x0 }; -// Alignment: 4 -// Size: 0x30 -class CWristBone -{ -public: - CUtlString m_name; // 0x0 - Vector m_vForwardLS; // 0x8 - Vector m_vUpLS; // 0x14 - Vector m_vOffset; // 0x20 -}; - // Alignment: 3 // Size: 0x48 class CMotionNodeSequence : public CMotionNode @@ -14313,15 +14377,6 @@ public: float m_flPlaybackSpeed; // 0x44 }; -// Alignment: 2 -// Size: 0x8 -class CFingerSource -{ -public: - AnimVRFinger_t m_nFingerIndex; // 0x0 - float m_flFingerWeight; // 0x4 -}; - // Alignment: 4 // Size: 0x18 class CFlexController @@ -14526,42 +14581,6 @@ public: CUtlVector< CTransform > m_outputTransformList; // 0x10 }; -// 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: 10 -// Size: 0x70 -class CFingerChain -{ -public: - CUtlVector< CFingerSource > m_targets; // 0x0 - CUtlVector< CFingerBone > m_bones; // 0x18 - CUtlString m_name; // 0x30 - CUtlString m_tipParentBoneName; // 0x38 - Vector m_vTipOffset; // 0x40 -private: - [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c -public: - CUtlString m_metacarpalBoneName; // 0x50 - Vector m_vSplayHingeAxis; // 0x58 - float m_flSplayMinAngle; // 0x64 - float m_flSplayMaxAngle; // 0x68 - float m_flFingerScaleRatio; // 0x6c -}; - // Alignment: 3 // Size: 0x3 class CTransitionUpdateData @@ -14898,19 +14917,6 @@ public: CUtlVector< CBodyGroupSetting > m_bodyGroupSettings; // 0x40 }; -// Alignment: 6 -// Size: 0x50 -class CVrSkeletalInputSettings -{ -public: - CUtlVector< CWristBone > m_wristBones; // 0x0 - CUtlVector< CFingerChain > m_fingers; // 0x18 - CUtlString m_name; // 0x30 - CUtlString m_outerKnuckle1; // 0x38 - CUtlString m_outerKnuckle2; // 0x40 - AnimVRHand_t m_eHand; // 0x48 -}; - // Alignment: 2 // Size: 0xb8 class CEnumAnimParameter : public CConcreteAnimParameter @@ -14980,58 +14986,64 @@ public: int32_t m_nType; // 0x14 }; -// Alignment: 15 -// Size: 0x68 +// Alignment: 16 +// Size: 0x78 class CAnimDemoCaptureSettings { public: - // MPropertyFriendlyName "Max Rotation Error" + // MPropertyFriendlyName "Bone Chain Length Error Scaling Range" // MPropertyGroupName "+Spline Settings" - float m_flMaxSplineErrorRotation; // 0x0 + Vector2D m_rangeBoneChainLength; // 0x0 + // MPropertyFriendlyName "Max Rotation Error (Mapped Against Bone Chain Length)" + // MPropertyGroupName "+Spline Settings" + Vector2D m_rangeMaxSplineErrorRotation; // 0x8 // MPropertyFriendlyName "Max Translation Error" // MPropertyGroupName "+Spline Settings" - float m_flMaxSplineErrorTranslation; // 0x4 + float m_flMaxSplineErrorTranslation; // 0x10 // MPropertyFriendlyName "Max Scale Error" // MPropertyGroupName "+Spline Settings" - float m_flMaxSplineErrorScale; // 0x8 + float m_flMaxSplineErrorScale; // 0x14 // MPropertyFriendlyName "Max IK Rotation Error" // MPropertyGroupName "+Spline Settings" - float m_flIkRotation_MaxSplineError; // 0xc + float m_flIkRotation_MaxSplineError; // 0x18 // MPropertyFriendlyName "Max IK Translation Error" // MPropertyGroupName "+Spline Settings" - float m_flIkTranslation_MaxSplineError; // 0x10 + float m_flIkTranslation_MaxSplineError; // 0x1c // MPropertyFriendlyName "Max Rotation Error" // MPropertyGroupName "+Quantization Settings" - float m_flMaxQuantizationErrorRotation; // 0x14 + float m_flMaxQuantizationErrorRotation; // 0x20 // MPropertyFriendlyName "Max Translation Error" // MPropertyGroupName "+Quantization Settings" - float m_flMaxQuantizationErrorTranslation; // 0x18 + float m_flMaxQuantizationErrorTranslation; // 0x24 // MPropertyFriendlyName "Max Scale Error" // MPropertyGroupName "+Quantization Settings" - float m_flMaxQuantizationErrorScale; // 0x1c + float m_flMaxQuantizationErrorScale; // 0x28 // MPropertyFriendlyName "Max IK Rotation Error" // MPropertyGroupName "+Quantization Settings" - float m_flIkRotation_MaxQuantizationError; // 0x20 + float m_flIkRotation_MaxQuantizationError; // 0x2c // MPropertyFriendlyName "Max IK Translation Error" // MPropertyGroupName "+Quantization Settings" - float m_flIkTranslation_MaxQuantizationError; // 0x24 + float m_flIkTranslation_MaxQuantizationError; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34 +public: // MPropertyFriendlyName "Base Sequence" // MPropertyGroupName "+Base Pose" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_baseSequence; // 0x28 + CUtlString m_baseSequence; // 0x38 // MPropertyFriendlyName "Base Sequence Frame" // MPropertyGroupName "+Base Pose" - int32_t m_nBaseSequenceFrame; // 0x30 + int32_t m_nBaseSequenceFrame; // 0x40 // MPropertyFriendlyName "Bone Selection Mode" // MPropertyGroupName "+Bones" // MPropertyAttrChangeCallback - EDemoBoneSelectionMode m_boneSelectionMode; // 0x34 + EDemoBoneSelectionMode m_boneSelectionMode; // 0x44 // MPropertyFriendlyName "Bones" // MPropertyGroupName "+Bones" // MPropertyAttrStateCallback - CUtlVector< BoneDemoCaptureSettings_t > m_bones; // 0x38 + CUtlVector< BoneDemoCaptureSettings_t > m_bones; // 0x48 // MPropertyFriendlyName "IK Chains" - CUtlVector< IKDemoCaptureSettings_t > m_ikChains; // 0x50 + CUtlVector< IKDemoCaptureSettings_t > m_ikChains; // 0x60 }; // Alignment: 1 @@ -15166,14 +15178,16 @@ public: CUtlVector< float32 > m_outputWeightList; // 0x10 }; -// Alignment: 1 -// Size: 0x8 +// Alignment: 2 +// Size: 0x10 struct BoneDemoCaptureSettings_t { public: // MPropertyFriendlyName "Bone" // MPropertyAttributeChoiceName "Bone" CUtlString m_boneName; // 0x0 + // MPropertySuppressField + float m_flChainLength; // 0x8 }; // Alignment: 6 @@ -15247,14 +15261,6 @@ public: float m_flHipDipDelay; // 0x40 }; -// Alignment: 1 -// Size: 0xa8 -class CSkeletalInputUpdateNode : public CLeafUpdateNode -{ -public: - SkeletalInputOpFixedSettings_t m_fixedOpData; // 0x58 -}; - // Alignment: 2 // Size: 0x8 class CFlexOp @@ -15391,24 +15397,6 @@ public: bool m_bInterpolate; // 0x70 }; -// 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: 11 // Size: 0xd0 class CBlendUpdateNode : public CAnimUpdateNodeBase @@ -15641,15 +15629,6 @@ public: bool m_bLoop; // 0xa0 }; -// Alignment: 2 -// Size: 0x8 -struct FingerSource_t -{ -public: - AnimVRFinger_t m_nFingerIndex; // 0x0 - float m_flFingerWeight; // 0x4 -}; - // Alignment: 7 // Size: 0x2c struct JiggleBoneSettings_t @@ -15732,22 +15711,6 @@ public: Vector position; // 0x20 }; -// 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: 0x58 class CModelConfigElement_SetBodygroup : public CModelConfigElement @@ -16707,7 +16670,7 @@ public: }; // Alignment: 1 -// Size: 0x98 +// Size: 0xa8 class CDemoSettingsComponentUpdater : public CAnimComponentUpdater { public: @@ -17753,30 +17716,28 @@ public: float flAlpha; // 0x4 }; -// Alignment: 6 +// Alignment: 5 // Size: 0x30 struct FeTaperedCapsuleRigid_t { public: fltx4 vSphere[2]; // 0x0 - float flStickiness; // 0x20 - uint16_t nNode; // 0x24 - uint16_t nCollisionMask; // 0x26 - uint16_t nVertexMapIndex; // 0x28 - uint16_t nFlags; // 0x2a + uint16_t nNode; // 0x20 + uint16_t nCollisionMask; // 0x22 + uint16_t nVertexMapIndex; // 0x24 + uint16_t nFlags; // 0x26 }; -// Alignment: 6 +// Alignment: 5 // Size: 0x20 struct FeSphereRigid_t { public: fltx4 vSphere; // 0x0 - float flStickiness; // 0x10 - uint16_t nNode; // 0x14 - uint16_t nCollisionMask; // 0x16 - uint16_t nVertexMapIndex; // 0x18 - uint16_t nFlags; // 0x1a + uint16_t nNode; // 0x10 + uint16_t nCollisionMask; // 0x12 + uint16_t nVertexMapIndex; // 0x14 + uint16_t nFlags; // 0x16 }; // Alignment: 5 @@ -17987,7 +17948,7 @@ public: uint32_t m_nFlags; // 0x88 }; -// Alignment: 8 +// Alignment: 6 // Size: 0x40 struct FeBoxRigid_t { @@ -17996,10 +17957,8 @@ public: uint16_t nNode; // 0x20 uint16_t nCollisionMask; // 0x22 Vector vSize; // 0x24 - float flStickiness; // 0x30 - uint16_t nVertexMapIndex; // 0x34 - uint16_t nFlags; // 0x36 - float flReserved[2]; // 0x38 + uint16_t nVertexMapIndex; // 0x30 + uint16_t nFlags; // 0x32 }; // Alignment: 4 @@ -18244,16 +18203,15 @@ public: uint16_t m_nCollisionMask; // 0x98 }; -// Alignment: 5 -// Size: 0x1c +// Alignment: 4 +// Size: 0x18 struct FeCollisionPlane_t { public: uint16_t nCtrlParent; // 0x0 uint16_t nChildNode; // 0x2 RnPlane_t m_Plane; // 0x4 - float flStickiness; // 0x14 - float flStrength; // 0x18 + float flStrength; // 0x14 }; // Alignment: 3 @@ -18366,8 +18324,8 @@ public: Vector m_vNormal; // 0xc }; -// Alignment: 9 -// Size: 0xa0 +// Alignment: 10 +// Size: 0xa8 struct RnMesh_t { public: @@ -18379,7 +18337,8 @@ public: CUtlVector< RnWing_t > m_Wings; // 0x60 CUtlVector< uint8 > m_Materials; // 0x78 Vector m_vOrthographicAreas; // 0x90 - bool m_bHasOpenEdges; // 0x9c + uint32_t m_nFlags; // 0x9c + uint32_t m_nDebugFlags; // 0xa0 }; // Alignment: 3 @@ -18563,8 +18522,8 @@ public: constraint_breakableparams_t constraint; // 0x28 }; -// Alignment: 5 -// Size: 0x14 +// Alignment: 4 +// Size: 0x10 struct FeTaperedCapsuleStretch_t { public: @@ -18573,7 +18532,6 @@ public: // MPropertySuppressField uint16_t nDummy; // 0x6 float flRadius[2]; // 0x8 - float flStickiness; // 0x10 }; // Alignment: 3 @@ -18722,7 +18680,7 @@ public: }; // Alignment: 1 -// Size: 0xb0 +// Size: 0xb8 struct RnMeshDesc_t : public RnShapeDesc_t { public: @@ -19766,18 +19724,14 @@ public: CRenderBufferBinding m_extraBufferBinding; // 0x10 }; -// Alignment: 4 -// Size: 0x40 +// Alignment: 3 +// Size: 0x38 struct AggregateLODSetup_t { public: Vector m_vLODOrigin; // 0x0 float m_fMaxObjectScale; // 0xc - uint8_t m_nLODMask; // 0x10 -private: - [[maybe_unused]] uint8_t __pad0011[0x7]; // 0x11 -public: - CUtlVectorFixedGrowable< float32 > m_fSwitchDistances; // 0x18 + CUtlVectorFixedGrowable< float32 > m_fSwitchDistances; // 0x10 }; // Alignment: 15 @@ -20581,7 +20535,7 @@ public: // No members available }; -// Alignment: 45 +// Alignment: 46 // Size: 0x158 class CParticleFloatInput : public CParticleInput { @@ -20603,51 +20557,49 @@ public: private: [[maybe_unused]] uint8_t __pad0079[0x3]; // 0x79 public: - ParticleFloatRandomMode_t m_nRandomMode; // 0x7c + int32_t m_nRandomSeed; // 0x7c + ParticleFloatRandomMode_t m_nRandomMode; // 0x80 private: - [[maybe_unused]] uint8_t __pad0080[0x4]; // 0x80 + [[maybe_unused]] uint8_t __pad0084[0x4]; // 0x84 public: - float m_flLOD0; // 0x84 - float m_flLOD1; // 0x88 - float m_flLOD2; // 0x8c - float m_flLOD3; // 0x90 - ParticleAttributeIndex_t m_nNoiseInputVectorAttribute; // 0x94 - float m_flNoiseOutputMin; // 0x98 - float m_flNoiseOutputMax; // 0x9c - float m_flNoiseScale; // 0xa0 - Vector m_vecNoiseOffsetRate; // 0xa4 - float m_flNoiseOffset; // 0xb0 - int32_t m_nNoiseOctaves; // 0xb4 - PFNoiseTurbulence_t m_nNoiseTurbulence; // 0xb8 - PFNoiseType_t m_nNoiseType; // 0xbc - PFNoiseModifier_t m_nNoiseModifier; // 0xc0 - float m_flNoiseTurbulenceScale; // 0xc4 - float m_flNoiseTurbulenceMix; // 0xc8 - float m_flNoiseImgPreviewScale; // 0xcc - bool m_bNoiseImgPreviewLive; // 0xd0 + float m_flLOD0; // 0x88 + float m_flLOD1; // 0x8c + float m_flLOD2; // 0x90 + float m_flLOD3; // 0x94 + ParticleAttributeIndex_t m_nNoiseInputVectorAttribute; // 0x98 + float m_flNoiseOutputMin; // 0x9c + float m_flNoiseOutputMax; // 0xa0 + float m_flNoiseScale; // 0xa4 + Vector m_vecNoiseOffsetRate; // 0xa8 + float m_flNoiseOffset; // 0xb4 + int32_t m_nNoiseOctaves; // 0xb8 + PFNoiseTurbulence_t m_nNoiseTurbulence; // 0xbc + PFNoiseType_t m_nNoiseType; // 0xc0 + PFNoiseModifier_t m_nNoiseModifier; // 0xc4 + float m_flNoiseTurbulenceScale; // 0xc8 + float m_flNoiseTurbulenceMix; // 0xcc + float m_flNoiseImgPreviewScale; // 0xd0 + bool m_bNoiseImgPreviewLive; // 0xd4 private: - [[maybe_unused]] uint8_t __pad00d1[0xb]; // 0xd1 + [[maybe_unused]] uint8_t __pad00d5[0xb]; // 0xd5 public: - float m_flNoCameraFallback; // 0xdc - bool m_bUseBoundsCenter; // 0xe0 + float m_flNoCameraFallback; // 0xe0 + bool m_bUseBoundsCenter; // 0xe4 private: - [[maybe_unused]] uint8_t __pad00e1[0x3]; // 0xe1 -public: - 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 __pad0114[0x4]; // 0x114 + [[maybe_unused]] uint8_t __pad00e5[0x3]; // 0xe5 public: + ParticleFloatInputMode_t m_nInputMode; // 0xe8 + float m_flMultFactor; // 0xec + float m_flInput0; // 0xf0 + float m_flInput1; // 0xf4 + float m_flOutput0; // 0xf8 + float m_flOutput1; // 0xfc + float m_flNotchedRangeMin; // 0x100 + float m_flNotchedRangeMax; // 0x104 + float m_flNotchedOutputOutside; // 0x108 + float m_flNotchedOutputInside; // 0x10c + ParticleFloatBiasType_t m_nBiasType; // 0x110 + float m_flBiasParameter; // 0x114 CPiecewiseCurve m_Curve; // 0x118 }; @@ -23037,7 +22989,7 @@ public: bool m_bEaseOut; // 0x205 }; -// Alignment: 5 +// Alignment: 6 // Size: 0x1e0 class C_OP_ColorInterpolate : public CParticleFunctionOperator { @@ -23056,6 +23008,8 @@ public: ParticleAttributeIndex_t m_nFieldOutput; // 0x1d8 // MPropertyFriendlyName "ease in and out" bool m_bEaseInOut; // 0x1dc + // MPropertyFriendlyName "use new code" + bool m_bUseNewCode; // 0x1dd }; // Alignment: 1 @@ -23680,6 +23634,15 @@ public: bool m_bSetOrientation; // 0x329 }; +// Alignment: 1 +// Size: 0x1d0 +class C_OP_ShapeMatchingConstraint : public CParticleFunctionConstraint +{ +public: + // MPropertyFriendlyName "shape restoration time" + float m_flShapeRestorationTime; // 0x1c0 +}; + // Alignment: 2 // Size: 0x230 class C_INIT_NormalAlignToCP : public CParticleFunctionInitializer @@ -25760,7 +25723,7 @@ public: float m_flRemapBias; // 0x2d8 }; -// Alignment: 4 +// Alignment: 5 // Size: 0x4a0 class C_OP_SetFloat : public CParticleFunctionOperator { @@ -25774,6 +25737,8 @@ public: ParticleSetMethod_t m_nSetMethod; // 0x31c // MPropertyFriendlyName "interpolation" CPerParticleFloatInput m_Lerp; // 0x320 + // MPropertyFriendlyName "use new code" + bool m_bUseNewCode; // 0x478 }; // Alignment: 5 @@ -26188,11 +26153,13 @@ public: // MPropertyFriendlyName "brush only" bool m_bBrushOnly; // 0x25d // MPropertyFriendlyName "include water" + // MPropertySuppressExpr "m_nTraceSet == PARTICLE_TRACE_SET_STATIC" bool m_bIncludeWater; // 0x25e private: [[maybe_unused]] uint8_t __pad025f[0x1]; // 0x25f public: // MPropertyFriendlyName "CP Entity to Ignore for Collisions" + // MPropertySuppressExpr "m_nTraceSet == PARTICLE_TRACE_SET_STATIC" int32_t m_nIgnoreCP; // 0x260 // MPropertyFriendlyName "control point movement distance tolerance" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" @@ -26294,6 +26261,7 @@ public: // MPropertyFriendlyName "No Collision Behavior" ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x500 // MPropertyFriendlyName "include water" + // MPropertySuppressExpr "m_nTraceSet == PARTICLE_TRACE_SET_STATIC" bool m_bIncludeWater; // 0x504 // MPropertyFriendlyName "set normal" bool m_bSetNormal; // 0x505 @@ -26311,6 +26279,7 @@ public: // MPropertyFriendlyName "preserve initial Z-offset relative to cp" int32_t m_nPreserveOffsetCP; // 0x510 // MPropertyFriendlyName "CP Entity to Ignore for Collisions" + // MPropertySuppressExpr "m_nTraceSet == PARTICLE_TRACE_SET_STATIC" int32_t m_nIgnoreCP; // 0x514 }; @@ -27695,8 +27664,8 @@ public: float m_flMaxDistance; // 0x1c4 }; -// Alignment: 5 -// Size: 0x480 +// Alignment: 6 +// Size: 0x5e0 class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter { public: @@ -27707,10 +27676,15 @@ public: CParticleCollectionFloatInput m_flStartTime; // 0x318 // MPropertyFriendlyName "emission scale from killed parent particles" float m_flInitFromKilledParentParticles; // 0x470 +private: + [[maybe_unused]] uint8_t __pad0474[0x4]; // 0x474 +public: + // MPropertyFriendlyName "emission scale from parent particle count" + CParticleCollectionFloatInput m_flParentParticleScale; // 0x478 // MPropertyFriendlyName "maximum emission per frame" - int32_t m_nMaxEmittedPerFrame; // 0x474 + int32_t m_nMaxEmittedPerFrame; // 0x5d0 // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x478 + int32_t m_nSnapshotControlPoint; // 0x5d4 }; // Alignment: 7 @@ -29157,7 +29131,7 @@ public: float m_flAlphaRandExponent; // 0x1d4 }; -// Alignment: 10 +// Alignment: 11 // Size: 0xe20 class C_OP_RemapAverageHitboxSpeedtoCP : public CParticleFunctionPreEmission { @@ -29169,9 +29143,8 @@ public: // MPropertyFriendlyName "Output component" // MPropertyAttributeChoiceName "vector_component" int32_t m_nField; // 0x1d8 -private: - [[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc -public: + // MPropertyFriendlyName "hitbox data" + ParticleHitboxDataSelection_t m_nHitboxDataType; // 0x1dc // MPropertyFriendlyName "input minimum" CParticleCollectionFloatInput m_flInputMin; // 0x1e0 // MPropertyFriendlyName "input maximum" @@ -29181,11 +29154,13 @@ public: // MPropertyFriendlyName "output maximum" CParticleCollectionFloatInput m_flOutputMax; // 0x5e8 // MPropertyFriendlyName "intersection height CP" + // MPropertySuppressExpr "m_nHitboxDataType != PARTICLE_HITBOX_AVERAGE_SPEED" int32_t m_nHeightControlPointNumber; // 0x740 private: [[maybe_unused]] uint8_t __pad0744[0x4]; // 0x744 public: // MPropertyFriendlyName "comparison velocity" + // MPropertySuppressExpr "m_nHitboxDataType != PARTICLE_HITBOX_AVERAGE_SPEED" CParticleCollectionVecInput m_vecComparisonVelocity; // 0x748 // MPropertyFriendlyName "hitbox set" char m_HitboxSetName[128]; // 0xda0 @@ -29208,7 +29183,7 @@ public: bool m_bParticles; // 0x32b }; -// Alignment: 49 +// Alignment: 50 // Size: 0x25f0 class C_OP_RenderModels : public CParticleFunctionRenderer { @@ -29280,127 +29255,133 @@ public: // MPropertyFriendlyName "apply scales in local model space" // MPropertySortPriority "700" bool m_bLocalScale; // 0x1540 +private: + [[maybe_unused]] uint8_t __pad1541[0x3]; // 0x1541 +public: + // MPropertyFriendlyName "model size cull bloat" + // MPropertyAttributeChoiceName "particlefield_size_cull_bloat" + int32_t m_nSizeCullBloat; // 0x1544 // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animated" // MPropertySortPriority "500" - bool m_bAnimated; // 0x1541 + bool m_bAnimated; // 0x1548 private: - [[maybe_unused]] uint8_t __pad1542[0x2]; // 0x1542 + [[maybe_unused]] uint8_t __pad1549[0x3]; // 0x1549 public: // MPropertyFriendlyName "animation rate" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - float m_flAnimationRate; // 0x1544 + float m_flAnimationRate; // 0x154c // MPropertyFriendlyName "scale animation rate" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bScaleAnimationRate; // 0x1548 + bool m_bScaleAnimationRate; // 0x1550 // MPropertyFriendlyName "force looping animations" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bForceLoopingAnimation; // 0x1549 + bool m_bForceLoopingAnimation; // 0x1551 // MPropertyFriendlyName "reset animation frame on stop" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bResetAnimOnStop; // 0x154a + bool m_bResetAnimOnStop; // 0x1552 // MPropertyFriendlyName "set animation frame manually" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bManualAnimFrame; // 0x154b + bool m_bManualAnimFrame; // 0x1553 // MPropertyFriendlyName "animation rate scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - ParticleAttributeIndex_t m_nAnimationScaleField; // 0x154c + ParticleAttributeIndex_t m_nAnimationScaleField; // 0x1554 // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animation sequence field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" - ParticleAttributeIndex_t m_nAnimationField; // 0x1550 + ParticleAttributeIndex_t m_nAnimationField; // 0x1558 // MPropertyFriendlyName "manual animation frame field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" // MPropertySuppressExpr "!(m_bAnimated && m_bManualAnimFrame)" - ParticleAttributeIndex_t m_nManualFrameField; // 0x1554 + ParticleAttributeIndex_t m_nManualFrameField; // 0x155c // MPropertyFriendlyName "activity override" // MPropertySuppressExpr "mod != dota" // MPropertySortPriority "500" - char m_ActivityName[256]; // 0x1558 + char m_ActivityName[256]; // 0x1560 // MPropertyFriendlyName "sequence override" // MPropertySuppressExpr "mod == dota" // MPropertySortPriority "500" - char m_SequenceName[256]; // 0x1658 + char m_SequenceName[256]; // 0x1660 // MPropertyFriendlyName "Enable Cloth Simulation" - bool m_bEnableClothSimulation; // 0x1758 + bool m_bEnableClothSimulation; // 0x1760 private: - [[maybe_unused]] uint8_t __pad1759[0x7]; // 0x1759 + [[maybe_unused]] uint8_t __pad1761[0x7]; // 0x1761 public: // MPropertyStartGroup "Material" // MPropertyFriendlyName "material override" // MPropertySortPriority "600" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x1760 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x1768 // MPropertyFriendlyName "override translucent materials" // MPropertySortPriority "600" - bool m_bOverrideTranslucentMaterials; // 0x1768 + bool m_bOverrideTranslucentMaterials; // 0x1770 private: - [[maybe_unused]] uint8_t __pad1769[0x7]; // 0x1769 + [[maybe_unused]] uint8_t __pad1771[0x7]; // 0x1771 public: // MPropertyFriendlyName "skin number" // MPropertySortPriority "600" - CPerParticleFloatInput m_nSkin; // 0x1770 + CPerParticleFloatInput m_nSkin; // 0x1778 // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf // MPropertySortPriority "600" - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x18c8 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x18d0 // MPropertyStartGroup "Model Overrides" // MPropertyFriendlyName "input model" - CParticleModelInput m_modelInput; // 0x18e0 + CParticleModelInput m_modelInput; // 0x18e8 // MPropertyFriendlyName "model LOD" - int32_t m_nLOD; // 0x1940 + int32_t m_nLOD; // 0x1948 // MPropertyFriendlyName "model override economy loadout slot type" - char m_EconSlotName[256]; // 0x1944 + char m_EconSlotName[256]; // 0x194c // MPropertyFriendlyName "model override original model only (ignore shapeshift/hex/etc)" - bool m_bOriginalModel; // 0x1a44 + bool m_bOriginalModel; // 0x1a4c // MPropertyFriendlyName "suppress tinting of the model" - bool m_bSuppressTint; // 0x1a45 + bool m_bSuppressTint; // 0x1a4d // MPropertyFriendlyName "use raw mesh group (ignore bodygroup field and use submodel field as raw meshgroup)" - bool m_bUseRawMeshGroup; // 0x1a46 + bool m_bUseRawMeshGroup; // 0x1a4e // MPropertyFriendlyName "disable shadows" - bool m_bDisableShadows; // 0x1a47 + bool m_bDisableShadows; // 0x1a4f // MPropertyFriendlyName "accept decals" - bool m_bAcceptsDecals; // 0x1a48 + bool m_bAcceptsDecals; // 0x1a50 // MPropertyFriendlyName "forcedrawinterlevedwithsiblings" - bool m_bForceDrawInterlevedWithSiblings; // 0x1a49 + bool m_bForceDrawInterlevedWithSiblings; // 0x1a51 // MPropertyFriendlyName "do not draw in particle pass" - bool m_bDoNotDrawInParticlePass; // 0x1a4a + bool m_bDoNotDrawInParticlePass; // 0x1a52 // MPropertyFriendlyName "render attribute" - char m_szRenderAttribute[260]; // 0x1a4b + char m_szRenderAttribute[260]; // 0x1a53 private: - [[maybe_unused]] uint8_t __pad1b4f[0x1]; // 0x1b4f + [[maybe_unused]] uint8_t __pad1b57[0x1]; // 0x1b57 public: // MPropertyStartGroup "+Renderer Modifiers" // MPropertyFriendlyName "Radius Scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x1b50 + CParticleCollectionFloatInput m_flRadiusScale; // 0x1b58 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x1ca8 + CParticleCollectionFloatInput m_flAlphaScale; // 0x1cb0 // MPropertyFriendlyName "rotation roll scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRollScale; // 0x1e00 + CParticleCollectionFloatInput m_flRollScale; // 0x1e08 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x1f58 + ParticleAttributeIndex_t m_nAlpha2Field; // 0x1f60 private: - [[maybe_unused]] uint8_t __pad1f5c[0x4]; // 0x1f5c + [[maybe_unused]] uint8_t __pad1f64[0x4]; // 0x1f64 public: // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x1f60 + CParticleCollectionVecInput m_vecColorScale; // 0x1f68 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x25b8 + ParticleColorBlendType_t m_nColorBlendType; // 0x25c0 }; // Alignment: 3 @@ -29578,7 +29559,7 @@ public: }; // Alignment: 27 -// Size: 0x2b90 +// Size: 0x2f90 class C_OP_RenderSprites : public CBaseRendererSource2 { public: @@ -29599,108 +29580,109 @@ public: // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" bool m_bUseYawWithNormalAligned; // 0x25d0 private: - [[maybe_unused]] uint8_t __pad25d1[0x3]; // 0x25d1 + [[maybe_unused]] uint8_t __pad25d1[0x7]; // 0x25d1 public: // MPropertyStartGroup "Fading and culling" // MPropertyFriendlyName "minimum visual screen size" // MPropertySortPriority "1000" - float m_flMinSize; // 0x25d4 + CParticleCollectionRendererFloatInput m_flMinSize; // 0x25d8 // MPropertyFriendlyName "maximum visual screen size" // MPropertySortPriority "1000" - float m_flMaxSize; // 0x25d8 + CParticleCollectionRendererFloatInput m_flMaxSize; // 0x2730 // MPropertyFriendlyName "Factor to map size adjustment to alpha" // MPropertySortPriority "1000" - float m_flAlphaAdjustWithSizeAdjust; // 0x25dc + CParticleCollectionRendererFloatInput m_flAlphaAdjustWithSizeAdjust; // 0x2888 // MPropertyFriendlyName "screen size to start fading" // MPropertySortPriority "1000" - CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x25e0 + CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x29e0 // MPropertyFriendlyName "screen size to fade away" // MPropertySortPriority "1000" - CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x2738 + CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x2b38 // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x2890 + float m_flStartFadeDot; // 0x2c90 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x2894 + float m_flEndFadeDot; // 0x2c94 // MPropertyStartGroup "Distance to alpha coding" // MPropertyFriendlyName "distance alpha" // MPropertySortPriority "0" - bool m_bDistanceAlpha; // 0x2898 + bool m_bDistanceAlpha; // 0x2c98 // MPropertyFriendlyName "use soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - bool m_bSoftEdges; // 0x2899 + bool m_bSoftEdges; // 0x2c99 private: - [[maybe_unused]] uint8_t __pad289a[0x2]; // 0x289a + [[maybe_unused]] uint8_t __pad2c9a[0x2]; // 0x2c9a public: // MPropertyFriendlyName "start value for soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessStart; // 0x289c + float m_flEdgeSoftnessStart; // 0x2c9c // MPropertyFriendlyName "end value for soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessEnd; // 0x28a0 + float m_flEdgeSoftnessEnd; // 0x2ca0 // MPropertyStartGroup "Outlining" // MPropertyFriendlyName "enable particle outlining" // MPropertySortPriority "0" - bool m_bOutline; // 0x28a4 + bool m_bOutline; // 0x2ca4 // MPropertyFriendlyName "outline color" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - Color m_OutlineColor; // 0x28a5 + Color m_OutlineColor; // 0x2ca5 private: - [[maybe_unused]] uint8_t __pad28a9[0x3]; // 0x28a9 + [[maybe_unused]] uint8_t __pad2ca9[0x3]; // 0x2ca9 public: // MPropertyFriendlyName "outline alpha" // MPropertyAttributeRange "0 255" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - int32_t m_nOutlineAlpha; // 0x28ac + int32_t m_nOutlineAlpha; // 0x2cac // MPropertyFriendlyName "outline start 0" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart0; // 0x28b0 + float m_flOutlineStart0; // 0x2cb0 // MPropertyFriendlyName "outline start 1" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart1; // 0x28b4 + float m_flOutlineStart1; // 0x2cb4 // MPropertyFriendlyName "outline end 0" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd0; // 0x28b8 + float m_flOutlineEnd0; // 0x2cb8 // MPropertyFriendlyName "outline end 1" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd1; // 0x28bc + float m_flOutlineEnd1; // 0x2cbc // MPropertyStartGroup "Lighting and Shadows" // MPropertyFriendlyName "lighting mode" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx" - ParticleLightingQuality_t m_nLightingMode; // 0x28c0 + ParticleLightingQuality_t m_nLightingMode; // 0x2cc0 private: - [[maybe_unused]] uint8_t __pad28c4[0x4]; // 0x28c4 + [[maybe_unused]] uint8_t __pad2cc4[0x4]; // 0x2cc4 public: // MPropertyFriendlyName "vertex lighting tessellation (0-5)" // MPropertyAttributeRange "0 5" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx || m_nLightingMode != PARTICLE_LIGHTING_PER_VERTEX" - CParticleCollectionRendererFloatInput m_flLightingTessellation; // 0x28c8 + CParticleCollectionRendererFloatInput m_flLightingTessellation; // 0x2cc8 // MPropertyFriendlyName "lighting directionality" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx" - CParticleCollectionRendererFloatInput m_flLightingDirectionality; // 0x2a20 + CParticleCollectionRendererFloatInput m_flLightingDirectionality; // 0x2e20 // MPropertyFriendlyName "Particle Shadows" // MPropertySortPriority "400" - bool m_bParticleShadows; // 0x2b78 + // MPropertySuppressExpr "mod != csgo" + bool m_bParticleShadows; // 0x2f78 private: - [[maybe_unused]] uint8_t __pad2b79[0x3]; // 0x2b79 + [[maybe_unused]] uint8_t __pad2f79[0x3]; // 0x2f79 public: // MPropertyFriendlyName "Shadow Density" // MPropertySortPriority "400" // MPropertySuppressExpr "!m_bParticleShadows" - float m_flShadowDensity; // 0x2b7c + float m_flShadowDensity; // 0x2f7c }; // Alignment: 5 @@ -30760,6 +30742,16 @@ public: int32_t lfomult; // 0x60 }; +// Alignment: 2 +// Size: 0x28 +struct FantasyCraftOperationBucket_t +{ +public: + // MPropertyDescription "How many operations should the user get from this bucket" + uint16_t m_unOperationCount; // 0x0 + CUtlVector< FantasyCraftOperation_t > m_vecOperations; // 0x8 +}; + // Alignment: 0 // Size: 0x98 class CNavVolumeCalculatedVector : public CNavVolume @@ -30847,6 +30839,17 @@ public: static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("PingWheelMessageID_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("!GlobalTypes")->FindDeclaredClass("FantasyOperationID_t")->m_static_fields[0]->m_instance);}; +}; + // Alignment: 2 // Size: 0xb8 class CNavVolumeBreadthFirstSearch : public CNavVolumeCalculatedVector @@ -31020,6 +31023,28 @@ public: DOTAProjectileAttachment_t m_iCustomProjectileAttachment; // 0xc4 }; +// 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: 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: 1 // Size: 0x20 class CInButtonState @@ -31194,6 +31219,22 @@ public: CBaseFlex* m_pOuter; // 0x58 }; +// Alignment: 8 +// Size: 0xb8 +struct FantasyCraftSetupData_t +{ +public: + // MPropertyDescription "Unique identifier for this set of crafting data" + FantasyCraftDataID_t m_unID; // 0x0 + CUtlVector< FantasyCraftingTitleData_t > m_vecPrefixes; // 0x8 + CUtlVector< FantasyCraftingTitleData_t > m_vecSuffixes; // 0x20 + CUtlVector< FantasyCraftingGemData_t > m_vecGems; // 0x38 + CUtlVector< FantasyCraftingShapeData_t > m_vecShapes; // 0x50 + CUtlVector< FantasyCraftingQualityData_t > m_vecQualities; // 0x68 + CUtlVector< FantasyCraftingTabletData_t > m_vecTablets; // 0x80 + CUtlVector< FantasyCraftOperationBucket_t > m_vecOperations; // 0x98 +}; + // Alignment: 2 // Size: 0x20 class INextBotComponent : public INextBotEventResponder @@ -31559,6 +31600,17 @@ public: float m_inertiaFactor; // 0x1c }; +// 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: 3 // Size: 0x10 class sSpiritDef @@ -32027,6 +32079,17 @@ public: CNetworkedQuantizedFloat m_vecZ; // 0x28 }; +// 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: 3 // Size: 0x28 struct ragdollelement_t @@ -32212,6 +32275,43 @@ public: 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: 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: 8 +// Size: 0x50 +struct FantasyCraftingTitleData_t +{ +public: + // MPropertyDescription "Unique integer ID of the title" + FantasyTitle_t m_unTitle; // 0x0 + // MPropertyDescription "Localization name of the title when used as an aggregate" + CUtlString m_sLocName; // 0x8 + // MPropertyDescription "Localization name of the title when used on it's own" + CUtlString m_sLocNameIndividual; // 0x10 + // MPropertyDescription "Localization token for explaining what the title does" + CUtlString m_sLocExplanation; // 0x18 + // MPropertyDescription "Localization token for explaining what the title does in sitations that allow mouseover" + CUtlString m_sLocExplanationMouseOver; // 0x20 + // MPropertyDescription "Controls how we decide to use the stat vector" + EFantasyStatMatchMode m_eMode; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + // MPropertyDescription "Stats to Track" + CUtlVector< FantasyCraftingTrackedStat_t > m_vecStats; // 0x30 + // MPropertyDescription "Bonus this title provides" + int32_t m_nBonus; // 0x48 +}; + // Alignment: 28 // Size: 0xc0 class CBaseAchievement @@ -32272,6 +32372,21 @@ public: int32_t m_pValue[2]; // 0x0 }; +// Alignment: 4 +// Size: 0x18 +struct FantasyCraftingShapeData_t +{ +public: + // MPropertyDescription "Unique identifier for the Shape" + FantasyGemShape_t m_unShapeID; // 0x0 + // MPropertyDescription "Maps the shape to it's code behavior." + EFantasyShapeBehavior m_eShapeBehavior; // 0x4 + // MPropertyDescription "Localization token for the name of the shape" + CUtlString m_sLocName; // 0x8 + // MPropertyDescription "Localization token for explaining what the shape does" + CUtlString m_sLocExplanation; // 0x10 +}; + // Alignment: 1 // Size: 0x4 struct PlayerID_t @@ -32554,6 +32669,17 @@ public: CUtlString m_strAdjective; // 0x0 }; +// 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: 3 // Size: 0x14 struct NianDamageTaken_t @@ -32564,6 +32690,32 @@ public: Vector vPos; // 0x8 }; +// Alignment: 4 +// Size: 0x18 +struct FantasyCraftingTrackedStat_t +{ +public: + // MPropertyDescription "What Stats are we looking for" + CUtlString m_sStatName; // 0x0 + // MPropertyDescription "Is the match about the player, the player's team, or the match?" + EFantasyStatType m_eStatType; // 0x8 + // MPropertyDescription "Threshold Stat Value required" + uint32_t m_unThresholdValue; // 0xc + // MPropertyDescription "Is the treshold a min or max?" + bool m_bThresholdIsMin; // 0x10 +}; + +// Alignment: 2 +// Size: 0x20 +struct FantasyRoleData_t +{ +public: + // MPropertyDescription "What role are these players for" + Fantasy_Roles m_eRole; // 0x0 + // MPropertyDescription "List of Pro Players for the role" + CUtlVector< FantasyPlayerData_t > m_vecPlayers; // 0x8 +}; + // Alignment: 6 // Size: 0xc class CDOTA_BuffParticle @@ -32578,7 +32730,7 @@ public: }; // Alignment: 21 -// Size: 0xb0 +// Size: 0xa8 class CTakeDamageInfo { private: @@ -32614,9 +32766,9 @@ private: public: HSCRIPT m_hScriptInstance; // 0x88 private: - [[maybe_unused]] uint8_t __pad0090[0x18]; // 0x90 + [[maybe_unused]] uint8_t __pad0090[0x14]; // 0x90 public: - bool m_bInTakeDamageFlow; // 0xa8 + bool m_bInTakeDamageFlow; // 0xa4 // Static fields: static CTakeDamageInfo &Get_EmptyInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CTakeDamageInfo")->m_static_fields[0]->m_instance);}; @@ -32688,6 +32840,45 @@ public: uint32_t m_nFlags; // 0x38 }; +// Alignment: 2 +// Size: 0x8 +struct FantasyPeriodData_t +{ +public: + // MPropertyDescription "What Fantasy Period this data is for" + FantasyPeriod_t m_unPeriod; // 0x0 + // MPropertyDescription "What level are fantasy tablets when this is the active crafting period?" + int32_t m_nTabletLevel; // 0x4 +}; + +// Alignment: 8 +// Size: 0x40 +class CDOTABingoStatDefinition +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + // MPropertyDescription "Name of tracked match stat, used to look up match stat ID" + CUtlString m_strMatchStatName; // 0x8 + // MPropertyDescription "Expected value." + float m_fStatAverage; // 0x10 + // MPropertyDescription "Statistical standard deviation." + float m_fStatStdDev; // 0x14 + // MPropertyDescription "Short user-facing string that appears on a bingo square" + CUtlString m_sNameLocString; // 0x18 + // MPropertyDescription "User-facing tooltip with description" + CUtlString m_sTooltipLocString; // 0x20 + // MPropertyDescription "Optional value to use in loc string's dialog variable" + int32_t m_nLocStringValue; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + // MPropertyDescription "Optional information to include in a bingo stat tooltip" + CUtlString m_strHeroAdjective; // 0x30 + // MPropertyDescription "Whether we negate the hero adjective when displaying tooltip" + bool m_bNegativeHeroAdjective; // 0x38 +}; + // Alignment: 6 // Size: 0x20 class CHeadLookParams @@ -32721,6 +32912,21 @@ public: bool m_bCannotBeSwapped; // 0x10 }; +// Alignment: 4 +// Size: 0x18 +struct FantasyCraftingQualityData_t +{ +public: + // MPropertyDescription "Unique Identifier for the Quality" + FantasyGemQuality_t m_unQualityID; // 0x0 + // MPropertyDescription "Localization token for the name of the quality" + CUtlString m_sLocName; // 0x8 + // MPropertyDescription "How much does this quality improve the stat?" + int32_t m_nBonus; // 0x10 + // MPropertyDescription "How likely are we to roll this quality?" + int32_t m_nRollWeight; // 0x14 +}; + // Alignment: 0 // Size: 0xc class CSimpleStopwatch : public CStopwatchBase @@ -32825,6 +33031,17 @@ public: uint32_t unKillEaterEvent; // 0x0 }; +// Alignment: 2 +// Size: 0x8 +struct FantasyCraftingGemMutation_t +{ +public: + // MPropertyDescription "What this operation is targeting" + EFantasyMutationTarget m_eTarget; // 0x0 + // MPropertyDescription "What we are doing in this operation" + EFantasyMutationOperation m_eOperation; // 0x4 +}; + // Alignment: 3 // Size: 0x20 class SimpleConstraintSoundProfile @@ -32896,6 +33113,19 @@ public: CRR_Response m_response; // 0x8 }; +// Alignment: 3 +// Size: 0x28 +struct FantasyCraftingGemData_t +{ +public: + // MPropertyDescription "Unique Identifier for the Gem Type" + Fantasy_Gem_Type m_eType; // 0x0 + // MPropertyDescription "Localization name of the gem" + CUtlString m_sLocName; // 0x8 + // MPropertyDescription "Which stats can this gem roll" + CUtlVector< Fantasy_Scoring > m_eStats; // 0x10 +}; + // Alignment: 1 // Size: 0x10 class CStopwatch : public CStopwatchBase @@ -32998,8 +33228,8 @@ public: CSkeletonInstance* m_pSkeletonInstance; // 0x8 }; -// Alignment: 16 -// Size: 0x5c +// Alignment: 17 +// Size: 0x60 class CGameScriptedMoveData { public: @@ -33014,14 +33244,18 @@ public: MoveType_t m_nPrevMoveType; // 0x48 bool m_bActive; // 0x49 bool m_bTeleportOnEnd; // 0x4a - bool m_bIgnoreRotation; // 0x4b - ScriptedMoveType_t m_nType; // 0x4c - bool m_bSuccess; // 0x50 + bool m_bEndOnDestinationReached; // 0x4b + bool m_bIgnoreRotation; // 0x4c private: - [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 + [[maybe_unused]] uint8_t __pad004d[0x3]; // 0x4d public: - ForcedCrouchState_t m_nForcedCrouchState; // 0x54 - bool m_bIgnoreCollisions; // 0x58 + ScriptedMoveType_t m_nType; // 0x50 + bool m_bSuccess; // 0x54 +private: + [[maybe_unused]] uint8_t __pad0055[0x3]; // 0x55 +public: + ForcedCrouchState_t m_nForcedCrouchState; // 0x58 + bool m_bIgnoreCollisions; // 0x5c }; // Alignment: 2 @@ -33059,6 +33293,18 @@ public: static int32_t &Get_s_nNextChangeToken(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CDOTA_Tree")->m_static_fields[0]->m_instance);}; }; +// Alignment: 3 +// Size: 0x20 +struct FantasyCraftingTabletData_t +{ +public: + // MPropertyDescription "Unique ID for the Tablet" + FantasyTabletID_t m_unID; // 0x0 + // MPropertyDescription "What role is this tablet for" + Fantasy_Roles m_eRole; // 0x4 + CUtlVector< FantasyCraftingGemSlotData_t > m_vecGemSlots; // 0x8 +}; + // Alignment: 2 // Size: 0x20 struct ItemRecipe_t @@ -33161,12 +33407,12 @@ private: [[maybe_unused]] uint8_t __pad00ac[0x4]; // 0xac public: // MVDataPromoteField - CUtlDict< BlessingType_t > m_mapBlessingTypes; // 0xb0 + CUtlDict< BlessingType_t, int32, F( size=1 ) > m_mapBlessingTypes; // 0xb0 private: [[maybe_unused]] uint8_t __pad00d8[0x40]; // 0xd8 public: // MVDataPromoteField - CUtlDict< Blessing_t > m_mapBlessings; // 0x118 + CUtlDict< Blessing_t, int32, F( size=1 ) > m_mapBlessings; // 0x118 private: [[maybe_unused]] uint8_t __pad0140[0x28]; // 0x140 public: @@ -33365,14 +33611,14 @@ public: }; // Alignment: 4 -// Size: 0xc8 +// Size: 0xc0 struct SummaryTakeDamageInfo_t { public: int32_t nSummarisedCount; // 0x0 CTakeDamageInfo info; // 0x8 - CTakeDamageResult result; // 0xb8 - CHandle< CBaseEntity > hTarget; // 0xc0 + CTakeDamageResult result; // 0xb0 + CHandle< CBaseEntity > hTarget; // 0xb8 }; // Alignment: 3 @@ -33402,6 +33648,17 @@ public: CNetworkedQuantizedFloat m_vecZ; // 0x20 }; +// 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: 1 // Size: 0x78 class CMultiplayer_Expresser : public CAI_ExpresserWithFollowup @@ -33578,6 +33835,44 @@ public: static CUtlVector< CScriptUniformRandomStream* > &Get_sm_UniformStreams(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CScriptUniformRandomStream")->m_static_fields[0]->m_instance);}; }; +// Alignment: 4 +// Size: 0x18 +struct FantasyPlayerData_t +{ +public: + // MPropertyDescription "Account ID of the Pro Player" + uint32_t m_unAccountID; // 0x0 + // MPropertyDescription "What team this player is competing with for the fantasy league" + uint32_t m_unTeamID; // 0x4 + // MPropertyDescription "What region does this player play for" + ELeagueRegion m_eRegion; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + // MPropertyDescription "Name of the pro player" + CUtlString m_strPlayerName; // 0x10 +}; + +// Alignment: 5 +// Size: 0x30 +struct FantasyCraftOperation_t +{ +public: + // MPropertyDescription "Unique identifier for this operation" + FantasyOperationID_t m_unOperationID; // 0x0 + // MPropertyDescription "Weight for when rolling which operations to add to the roll board" + int32_t m_nRollWeight; // 0x4 + // MPropertyDescription "What extra input is needed for the operation" + EFantasyOperationTarget m_eTarget; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + // MPropertyDescription "Localization String describing the operation" + CUtlString m_sLocDescription; // 0x10 + // MPropertyDescription "What operations this will perform" + CUtlVector< FantasyCraftingGemMutation_t > m_vecOperations; // 0x18 +}; + // Alignment: 1 // Size: 0x68 class CResponseQueue @@ -33622,6 +33917,17 @@ public: CNetworkVarChainer __m_pChainEntity; // 0x8 }; +// Alignment: 2 +// Size: 0x38 +class CDOTAFantasyDefinition +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + CUtlVector< FantasyCraftSetupData_t > m_vecCraftingSetups; // 0x8 + CUtlVector< FantasyLeagueData_t > m_vecLeagues; // 0x20 +}; + // Alignment: 0 // Size: 0x10 class CHorizontalMotionController @@ -33722,7 +34028,7 @@ public: }; // Alignment: 34 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Buff : public CHorizontalMotionController { private: @@ -33774,9 +34080,22 @@ public: CUtlVector< CDOTA_BuffParticle > m_iParticles; // 0xa0 CUtlVector< CHandle< CBaseEntity > > m_hAuraUnits; // 0xb8 private: - [[maybe_unused]] uint8_t __pad00d0[0x11e0]; // 0xd0 + [[maybe_unused]] uint8_t __pad00d0[0x11f0]; // 0xd0 public: - HSCRIPT m_hScriptScope; // 0x12b0 + HSCRIPT m_hScriptScope; // 0x12c0 +}; + +// Alignment: 3 +// Size: 0xc +struct FantasyCraftingGemSlotData_t +{ +public: + // MPropertyDescription "Gem Slot" + FantasyGemSlot_t m_unGemSlot; // 0x0 + // MPropertyDescription "Gem Type" + Fantasy_Gem_Type m_eGemType; // 0x4 + // MPropertyDescription "Minimum tablet level to unlock this type of gem, -1 or 0 for always unlocked" + int32_t m_nRequiredTabletLevel; // 0x8 }; // Alignment: 3 @@ -33837,6 +34156,26 @@ public: static bool &Get_IS_TYPESAFE_INTEGER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("GCPlayerSlot_t")->m_static_fields[0]->m_instance);}; }; +// Alignment: 6 +// Size: 0x58 +struct FantasyLeagueData_t +{ +public: + // MPropertyDescription "Unique identifier for the league" + FantasyLeagueID_t m_nFantasyLeagueID; // 0x0 + // MPropertyDescription "What event this data is tied to" + EEvent m_eEvent; // 0x4 + // MPropertyDescription "What data to use for crafting" + FantasyCraftDataID_t m_nCraftingID; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000a[0x6]; // 0xa +public: + // MPropertyDescription "Which Leagues is this attached to" + CUtlVector< LeagueID_t > m_nLeagues; // 0x10 + CUtlVector< FantasyRoleData_t > m_vecPlayers; // 0x28 + CUtlVector< FantasyPeriodData_t > m_vecPeriods; // 0x40 +}; + // Alignment: 0 // Size: 0x38 class CAnimEventQueueListener : public CAnimEventListenerBase @@ -33930,17 +34269,6 @@ 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 @@ -34071,17 +34399,6 @@ 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 @@ -34339,15 +34656,34 @@ public: int32_t command_number; // 0x70 }; -// Alignment: 1 -// Size: 0x1 -struct FantasyTitle_t +// Alignment: 10 +// Size: 0x48 +struct RoadToTIQuestDefinition_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);}; + // MPropertyDescription "unique integer ID of this Road To TI quest within the challenge" + RoadToTIQuestID_t m_unID; // 0x0 + // MPropertyDescription "Quest type (match or player)" + ERoadToTIQuestType m_eQuestType; // 0x4 + // MPropertyDescription "Period the quest represents" + uint32_t m_unPeriod; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + // MPropertyDescription "Match ID for match quests" + MatchID_t m_unMatchID; // 0x10 + // MPropertyDescription "Series ID for match quests" + uint32_t m_unSeriesID; // 0x18 + // MPropertyDescription "League ID for match quests" + uint32_t m_unLeagueID; // 0x1c + // MPropertyDescription "Player account ID for player quests" + uint32_t m_unPlayerID; // 0x20 + // MPropertyDescription "Team ID of the player or match winner" + uint32_t m_unTeamID; // 0x24 + // MPropertyDescription "Heroes available for the quest" + CUtlVector< uint8 > m_vecHeroes; // 0x28 + // MPropertyDescription "True if this is a developer quest" + bool m_bDeveloper; // 0x40 }; // Alignment: 0 @@ -34358,17 +34694,6 @@ 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 @@ -34434,17 +34759,6 @@ 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 @@ -34535,17 +34849,6 @@ 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 @@ -34582,6 +34885,30 @@ public: int32_t m_queryHandle; // 0xc8 }; +// Alignment: 7 +// Size: 0x98 +class CDOTARoadToTIChallengeDefinition +{ +public: + // MPropertyDescription "Event ID that the challenge is for" + EEvent m_eEvent; // 0x0 + // MPropertyDescription "Total Quest Periods within the challenge" + uint32_t m_unTotalQuestPeriods; // 0x4 + // MPropertyDescription "Number of hero options expected in each quest." + uint32_t m_unHeroesPerQuest; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + // MPropertyDescription "A list of quest difficulties. This defines the pattern for each period and total quests per period. Eg [1, 1, 2] would mean every period has 3 quests (two easy, then one medium)." + CUtlVector< uint32 > m_vecQuestPattern; // 0x10 + // MPropertyDescription "Item def for Culling Blade item" + item_definition_index_t m_unCullingBladeItemDef; // 0x28 + // MPropertyDescription "Item def for Reroll Token item" + item_definition_index_t m_unRerollItemDef; // 0x2c + // MPropertyDescription "The quests in the challenge" + CUtlVector< RoadToTIQuestDefinition_t > m_vecQuests; // 0x30 +}; + // Alignment: 1 // Size: 0x30 class C_DotaTree @@ -34603,17 +34930,6 @@ 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: 0xe10 class CPortraitData : public CBasePortraitData @@ -34764,17 +35080,6 @@ 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 diff --git a/sdk/animationsystem.hpp b/sdk/animationsystem.hpp index ed3baa3a..167cf8c8 100644 --- a/sdk/animationsystem.hpp +++ b/sdk/animationsystem.hpp @@ -4,8 +4,8 @@ // ///////////////////////////////////////////////////////////// // Binary: animationsystem.dll -// Classes count: 342 -// Enums count: 68 +// Classes count: 330 +// Enums count: 63 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -178,32 +178,6 @@ enum class RagdollPoseControl : uint32_t Relative = 0x1, }; -// Alignment: 4 -// Size: 0x2 -enum class AnimVRHandMotionRange_t : uint32_t -{ - MotionRange_WithController = 0x0, - MotionRange_WithoutController = 0x1, -}; - -// Alignment: 4 -// Size: 0x4 -enum class AnimVrFingerSplay_t : uint32_t -{ - AnimVrFingerSplay_Thumb_Index = 0x0, - AnimVrFingerSplay_Index_Middle = 0x1, - AnimVrFingerSplay_Middle_Ring = 0x2, - AnimVrFingerSplay_Ring_Pinky = 0x3, -}; - -// Alignment: 4 -// Size: 0x2 -enum class AnimVrBoneTransformSource_t : uint32_t -{ - AnimVrBoneTransformSource_LiveStream = 0x0, - AnimVrBoneTransformSource_GripLimit = 0x1, -}; - // Alignment: 4 // Size: 0x5 enum class VPhysXBodyPart_t__VPhysXFlagEnum_t : uint32_t @@ -379,25 +353,6 @@ enum class MorphBundleType_t : uint32_t MORPH_BUNDLE_TYPE_COUNT = 0x3, }; -// Alignment: 4 -// Size: 0x2 -enum class AnimVRHand_t : uint32_t -{ - AnimVRHand_Left = 0x0, - AnimVRHand_Right = 0x1, -}; - -// Alignment: 4 -// Size: 0x5 -enum class AnimVRFinger_t : uint32_t -{ - AnimVrFinger_Thumb = 0x0, - AnimVrFinger_Index = 0x1, - AnimVrFinger_Middle = 0x2, - AnimVrFinger_Ring = 0x3, - AnimVrFinger_Pinky = 0x4, -}; - // Alignment: 4 // Size: 0x4 enum class IKChannelMode : uint32_t @@ -853,7 +808,6 @@ struct TraceSettings_t; struct CMotionDataSet; struct CBlendCurve; struct CPoseHandle; -struct SkeletalInputOpFixedSettings_t; struct MotionIndex; struct IKBoneNameAndIndex_t; struct AimMatrixOpFixedSettings_t; @@ -2793,80 +2747,15 @@ public: }; // Alignment: 2 -// Size: 0x8 -class CFingerSource -{ -public: - AnimVRFinger_t m_nFingerIndex; // 0x0 - float m_flFingerWeight; // 0x4 -}; - -// Alignment: 7 -// Size: 0x38 -class CFingerBone -{ -public: - CUtlString m_boneName; // 0x0 - Vector m_hingeAxis; // 0x8 - Vector m_vCapsulePos1; // 0x14 - Vector m_vCapsulePos2; // 0x20 - float m_flMinAngle; // 0x2c - float m_flMaxAngle; // 0x30 - float m_flRadius; // 0x34 -}; - -// Alignment: 10 -// Size: 0x70 -class CFingerChain -{ -public: - CUtlVector< CFingerSource > m_targets; // 0x0 - CUtlVector< CFingerBone > m_bones; // 0x18 - CUtlString m_name; // 0x30 - CUtlString m_tipParentBoneName; // 0x38 - Vector m_vTipOffset; // 0x40 -private: - [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c -public: - CUtlString m_metacarpalBoneName; // 0x50 - Vector m_vSplayHingeAxis; // 0x58 - float m_flSplayMinAngle; // 0x64 - float m_flSplayMaxAngle; // 0x68 - float m_flFingerScaleRatio; // 0x6c -}; - -// Alignment: 4 -// Size: 0x30 -class CWristBone -{ -public: - CUtlString m_name; // 0x0 - Vector m_vForwardLS; // 0x8 - Vector m_vUpLS; // 0x14 - Vector m_vOffset; // 0x20 -}; - -// Alignment: 6 -// Size: 0x50 -class CVrSkeletalInputSettings -{ -public: - CUtlVector< CWristBone > m_wristBones; // 0x0 - CUtlVector< CFingerChain > m_fingers; // 0x18 - CUtlString m_name; // 0x30 - CUtlString m_outerKnuckle1; // 0x38 - CUtlString m_outerKnuckle2; // 0x40 - AnimVRHand_t m_eHand; // 0x48 -}; - -// Alignment: 1 -// Size: 0x8 +// Size: 0x10 struct BoneDemoCaptureSettings_t { public: // MPropertyFriendlyName "Bone" // MPropertyAttributeChoiceName "Bone" CUtlString m_boneName; // 0x0 + // MPropertySuppressField + float m_flChainLength; // 0x8 }; // Alignment: 5 @@ -2897,58 +2786,64 @@ public: CUtlString m_oneBoneEnd; // 0x20 }; -// Alignment: 15 -// Size: 0x68 +// Alignment: 16 +// Size: 0x78 class CAnimDemoCaptureSettings { public: - // MPropertyFriendlyName "Max Rotation Error" + // MPropertyFriendlyName "Bone Chain Length Error Scaling Range" // MPropertyGroupName "+Spline Settings" - float m_flMaxSplineErrorRotation; // 0x0 + Vector2D m_rangeBoneChainLength; // 0x0 + // MPropertyFriendlyName "Max Rotation Error (Mapped Against Bone Chain Length)" + // MPropertyGroupName "+Spline Settings" + Vector2D m_rangeMaxSplineErrorRotation; // 0x8 // MPropertyFriendlyName "Max Translation Error" // MPropertyGroupName "+Spline Settings" - float m_flMaxSplineErrorTranslation; // 0x4 + float m_flMaxSplineErrorTranslation; // 0x10 // MPropertyFriendlyName "Max Scale Error" // MPropertyGroupName "+Spline Settings" - float m_flMaxSplineErrorScale; // 0x8 + float m_flMaxSplineErrorScale; // 0x14 // MPropertyFriendlyName "Max IK Rotation Error" // MPropertyGroupName "+Spline Settings" - float m_flIkRotation_MaxSplineError; // 0xc + float m_flIkRotation_MaxSplineError; // 0x18 // MPropertyFriendlyName "Max IK Translation Error" // MPropertyGroupName "+Spline Settings" - float m_flIkTranslation_MaxSplineError; // 0x10 + float m_flIkTranslation_MaxSplineError; // 0x1c // MPropertyFriendlyName "Max Rotation Error" // MPropertyGroupName "+Quantization Settings" - float m_flMaxQuantizationErrorRotation; // 0x14 + float m_flMaxQuantizationErrorRotation; // 0x20 // MPropertyFriendlyName "Max Translation Error" // MPropertyGroupName "+Quantization Settings" - float m_flMaxQuantizationErrorTranslation; // 0x18 + float m_flMaxQuantizationErrorTranslation; // 0x24 // MPropertyFriendlyName "Max Scale Error" // MPropertyGroupName "+Quantization Settings" - float m_flMaxQuantizationErrorScale; // 0x1c + float m_flMaxQuantizationErrorScale; // 0x28 // MPropertyFriendlyName "Max IK Rotation Error" // MPropertyGroupName "+Quantization Settings" - float m_flIkRotation_MaxQuantizationError; // 0x20 + float m_flIkRotation_MaxQuantizationError; // 0x2c // MPropertyFriendlyName "Max IK Translation Error" // MPropertyGroupName "+Quantization Settings" - float m_flIkTranslation_MaxQuantizationError; // 0x24 + float m_flIkTranslation_MaxQuantizationError; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34 +public: // MPropertyFriendlyName "Base Sequence" // MPropertyGroupName "+Base Pose" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_baseSequence; // 0x28 + CUtlString m_baseSequence; // 0x38 // MPropertyFriendlyName "Base Sequence Frame" // MPropertyGroupName "+Base Pose" - int32_t m_nBaseSequenceFrame; // 0x30 + int32_t m_nBaseSequenceFrame; // 0x40 // MPropertyFriendlyName "Bone Selection Mode" // MPropertyGroupName "+Bones" // MPropertyAttrChangeCallback - EDemoBoneSelectionMode m_boneSelectionMode; // 0x34 + EDemoBoneSelectionMode m_boneSelectionMode; // 0x44 // MPropertyFriendlyName "Bones" // MPropertyGroupName "+Bones" // MPropertyAttrStateCallback - CUtlVector< BoneDemoCaptureSettings_t > m_bones; // 0x38 + CUtlVector< BoneDemoCaptureSettings_t > m_bones; // 0x48 // MPropertyFriendlyName "IK Chains" - CUtlVector< IKDemoCaptureSettings_t > m_ikChains; // 0x50 + CUtlVector< IKDemoCaptureSettings_t > m_ikChains; // 0x60 }; // Alignment: 5 @@ -3495,7 +3390,7 @@ public: }; // Alignment: 1 -// Size: 0x98 +// Size: 0xa8 class CDemoSettingsComponentUpdater : public CAnimComponentUpdater { public: @@ -3596,24 +3491,6 @@ public: 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 @@ -4120,70 +3997,6 @@ public: 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 @@ -4435,8 +4248,11 @@ private: [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 public: CAnimNodePath m_nodePath; // 0x18 - CUtlString m_name; // 0x48 - AnimNodeNetworkMode m_networkMode; // 0x50 + AnimNodeNetworkMode m_networkMode; // 0x48 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: + CUtlString m_name; // 0x50 }; // Alignment: 6 @@ -4760,14 +4576,6 @@ public: 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 diff --git a/sdk/client.hpp b/sdk/client.hpp index 6f7b4c0b..7bfa67b4 100644 --- a/sdk/client.hpp +++ b/sdk/client.hpp @@ -4,8 +4,8 @@ // ///////////////////////////////////////////////////////////// // Binary: client.dll -// Classes count: 7746 -// Enums count: 65 +// Classes count: 7745 +// Enums count: 68 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -692,13 +692,44 @@ enum class EShowcaseType : uint32_t }; // Alignment: 4 -// Size: 0x4 +// Size: 0x6 enum class EShowcaseItemState : uint32_t { k_eShowcaseItemState_Ok = 0x0, - k_eShowcaseItemState_ValidityUnknown = 0x1, - k_eShowcaseItemState_Failure = 0x2, - k_eShowcaseItemState_Invalid = 0x3, + k_eShowcaseItemState_MinorModifications = 0x1, + k_eShowcaseItemState_ValidityUnknown = 0x2, + k_eShowcaseItemState_PartiallyInvalid = 0x3, + k_eShowcaseItemState_Invalid = 0x4, + k_eShowcaseItemState_Failure = 0x5, +}; + +// Alignment: 4 +// Size: 0x6 +enum class EShowcaseAuditAction : uint32_t +{ + k_eShowcaseAuditAction_Invalid = 0x0, + k_eShowcaseAuditAction_ShowcaseChanged = 0x1, + k_eShowcaseAuditAction_AdminShowcaseReset = 0x2, + k_eShowcaseAuditAction_AdminShowcaseAccountLocked = 0x3, + k_eShowcaseAuditAction_AdminShowcaseExonerated = 0x4, + k_eShowcaseAuditAction_AdminShowcaseConvicted = 0x5, +}; + +// Alignment: 4 +// Size: 0x2 +enum class EShowcaseItemFlag : uint32_t +{ + k_eShowcaseItemFlag_None = 0x0, + k_eShowcaseItemFlag_FlipHorizontally = 0x1, +}; + +// Alignment: 4 +// Size: 0x3 +enum class EShowcaseItemFlag_Hero : uint32_t +{ + k_eShowcaseItemFlag_Hero_None = 0x0, + k_eShowcaseItemFlag_Hero_ShowPedestal = 0x1, + k_eShowcaseItemFlag_Hero_UseCurrentLoadout = 0x2, }; // Alignment: 4 @@ -1070,19 +1101,6 @@ 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 @@ -1214,6 +1232,14 @@ enum class CDOTA_BaseNPC_AghsFort_Watch_Tower__ExitDirection_t : uint32_t EXIT_DIRECTION_RIGHT = 0x2, }; +// Alignment: 4 +// Size: 0x2 +enum class ERoadToTIQuestType : uint32_t +{ + k_RoadToTIQuestType_Match = 0x0, + k_RoadToTIQuestType_Player = 0x1, +}; + // Alignment: 4 // Size: 0x5 enum class EHighlightScoreComparison : uint32_t @@ -1333,6 +1359,7 @@ struct CandyShopCandyTypeID_t; struct CandyShopRewardOptionID_t; struct CandyShopID_t; struct C_DOTASpectatorGraphManager; +struct RoadToTIQuestID_t; struct CEntityIOOutput; struct C_PointCamera; struct C_CommandContext; @@ -1364,6 +1391,16 @@ struct CPlayer_MovementServices; struct CDOTA_ModifierManager; struct CAnnouncerDescriptor; +// Alignment: 0 +// Size: 0x8 +class CEntityComponent +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + // No members available +}; + // Alignment: 11 // Size: 0x78 class CEntityIdentity @@ -1400,8 +1437,10 @@ public: // Alignment: 3 // Size: 0x30 -class CEntityInstance : public IHandleEntity +class CEntityInstance { +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkDisable CUtlSymbolLarge m_iszPrivateVScripts; // 0x8 @@ -1835,15 +1874,14 @@ public: static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CRenderComponent")->m_static_fields[1]->m_instance);}; }; -// Alignment: 2 -// Size: 0x28 +// Alignment: 1 +// Size: 0x20 class CBuoyancyHelper { private: [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 public: float m_flFluidDensity; // 0x18 - float m_flDisplacementFromObjects; // 0x1c }; // Alignment: 2 @@ -2056,7 +2094,7 @@ public: int32_t m_nStepside; // 0x208 }; -// Alignment: 5 +// Alignment: 6 // Size: 0x58 class CPlayer_ObserverServices : public CPlayerPawnComponent { @@ -2076,6 +2114,7 @@ private: [[maybe_unused]] uint8_t __pad004d[0x3]; // 0x4d public: float m_flObserverChaseDistance; // 0x50 + GameTime_t m_flObserverChaseDistanceCalcTime; // 0x54 }; // Alignment: 0 @@ -2394,21 +2433,25 @@ public: static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[1]->m_instance);}; }; -// Alignment: 13 -// Size: 0xc0 +// Alignment: 15 +// Size: 0x160 class CBaseAnimGraphController : public CSkeletonAnimationController { +private: + [[maybe_unused]] uint8_t __pad0010[0x8]; // 0x10 public: // MNetworkEnable // MNetworkChangeCallback "baseAnimBaseLayerChangedCompat" - CNetworkedSequenceOperation m_baseLayer; // 0x10 + CNetworkedSequenceOperation m_baseLayer; // 0x18 // MNetworkDisable - bool m_bSequenceFinished; // 0x38 + bool m_bSequenceFinished; // 0x40 private: - [[maybe_unused]] uint8_t __pad0039[0x3]; // 0x39 + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 public: // MNetworkDisable - float m_flLastEventCycle; // 0x3c + float m_flLastEventCycle; // 0x44 + // MNetworkDisable + float m_flLastEventAnimTime; // 0x48 // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.000000" @@ -2416,32 +2459,34 @@ public: // MNetworkEncodeFlags // MNetworkPriority "32" // MNetworkChangeCallback "playbackRateChangedCompat" - CNetworkedQuantizedFloat m_flPlaybackRate; // 0x40 + CNetworkedQuantizedFloat m_flPlaybackRate; // 0x4c // MNetworkDisable - float m_flPrevAnimTime; // 0x48 + float m_flPrevAnimTime; // 0x54 // MNetworkEnable // MNetworkChangeCallback "clientSideAnimationChangedCompat" - bool m_bClientSideAnimation; // 0x4c + bool m_bClientSideAnimation; // 0x58 // MNetworkDisable - bool m_bNetworkedAnimationInputsChanged; // 0x4d + bool m_bNetworkedAnimationInputsChanged; // 0x59 // MNetworkDisable - uint8_t m_nPrevNewSequenceParity; // 0x4e + uint8_t m_nPrevNewSequenceParity; // 0x5a // MNetworkDisable - uint8_t m_nPrevResetEventsParity; // 0x4f + uint8_t m_nPrevResetEventsParity; // 0x5b // MNetworkEnable // MNetworkPriority "32" // MNetworkChangeCallback "clientSideAnimCycleResetCompat" - int32_t m_nNewSequenceParity; // 0x50 + int32_t m_nNewSequenceParity; // 0x5c // MNetworkEnable // MNetworkPriority "32" - int32_t m_nResetEventsParity; // 0x54 + int32_t m_nResetEventsParity; // 0x60 // MNetworkEnable - AnimLoopMode_t m_nAnimLoopMode; // 0x58 + AnimLoopMode_t m_nAnimLoopMode; // 0x64 private: - [[maybe_unused]] uint8_t __pad005c[0xc]; // 0x5c + [[maybe_unused]] uint8_t __pad0068[0x9c]; // 0x68 public: // MNetworkDisable - HSequence m_hLastAnimEventSequence; // 0x68 + AnimationUpdateListHandle_t m_hAnimationUpdate; // 0x104 + // MNetworkDisable + HSequence m_hLastAnimEventSequence; // 0x108 }; // Alignment: 2 @@ -3373,7 +3418,7 @@ public: }; // Alignment: 21 -// Size: 0x70 +// Size: 0x78 class CEffectData { private: @@ -4074,7 +4119,7 @@ public: }; // Alignment: 20 -// Size: 0xe88 +// Size: 0xf28 class C_DOTAGameManager { private: @@ -4105,19 +4150,16 @@ public: KeyValues* m_pSurveyQuestionData; // 0x870 KeyValues3 m_AddonInfoKeyValues; // 0x878 private: - [[maybe_unused]] uint8_t __pad0888[0x20]; // 0x888 + [[maybe_unused]] uint8_t __pad0888[0x28]; // 0x888 public: - KeyValues* m_pCountryKeyValues; // 0x8a8 + KeyValues* m_pCountryKeyValues; // 0x8b0 private: - [[maybe_unused]] uint8_t __pad08b0[0x4c8]; // 0x8b0 + [[maybe_unused]] uint8_t __pad08b8[0x560]; // 0x8b8 public: - bool m_bLoadedPortraits[7]; // 0xd78 -private: - [[maybe_unused]] uint8_t __pad0d7f[0x1]; // 0xd7f -public: - KeyValues* m_pControlGroupsKeyValues; // 0xd80 + bool m_bLoadedPortraits[8]; // 0xe18 + KeyValues* m_pControlGroupsKeyValues; // 0xe20 // MNetworkEnable - bool m_CurrentHeroAvailable[256]; // 0xd88 + bool m_CurrentHeroAvailable[256]; // 0xe28 }; // Alignment: 1 @@ -5081,6 +5123,7 @@ public: CUtlVector< sSharedCooldownInfo > m_SharedCooldownList; // 0x8 // MNetworkEnable // MNetworkChangeCallback "OnInventoryChanged" + // MNetworkSerializer "EHandleIndexOnly" CHandle< C_BaseEntity > m_hItems[19]; // 0x20 bool m_bItemQueried[19]; // 0x6c private: @@ -5495,6 +5538,14 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x18c0 +class CIngameEvent_TI2023 : public C_IngameEvent_Base +{ +public: + // No members available +}; + // Alignment: 5 // Size: 0x1908 class CIngameEvent_MuertaReleaseSpring2023 : public C_IngameEvent_Base @@ -5517,24 +5568,22 @@ public: CUtlVector< ParticleIndex_t > m_activeGravestones; // 0x18f0 }; -// Alignment: 7 +// Alignment: 6 // Size: 0x290 class CDOTA_ModifierManager { private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x27e]; // 0x0 public: - // MNetworkEnable - CHandle< C_BaseEntity > m_hModifierParent; // 0x8 + uint16_t m_nHasTruesightForTeam; // 0x27e + uint16_t m_nHasTruesightForTeamValid; // 0x280 + uint16_t m_nProvidesFOWPositionForTeam; // 0x282 + uint16_t m_nProvidesFOWPositionForTeamValid; // 0x284 private: - [[maybe_unused]] uint8_t __pad000c[0x270]; // 0xc + [[maybe_unused]] uint8_t __pad0286[0x2]; // 0x286 public: - 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 + int32_t m_iBuffIndex; // 0x288 + int32_t m_iLockRefCount; // 0x28c }; // Alignment: 0 @@ -5558,7 +5607,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Buff_Item : public CDOTA_Buff { public: @@ -5566,7 +5615,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Stacking_Base : public CDOTA_Buff { public: @@ -5574,7 +5623,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Stacking_Multiple_Buff_Base : public CDOTA_Buff { public: @@ -5582,7 +5631,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Glyph_Reset : public CDOTA_Buff { public: @@ -5590,16 +5639,16 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_SetScaleset : public CDOTA_Buff { public: - CUtlString m_Scaleset; // 0x12b8 - bool m_bActive; // 0x12c0 + CUtlString m_Scaleset; // 0x12c8 + bool m_bActive; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_StackedNeutral : public CDOTA_Buff { public: @@ -5607,31 +5656,31 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Filler_LastDitch : public CDOTA_Buff { public: - float melee_number; // 0x12b8 - float ranged_number; // 0x12bc - float siege_number; // 0x12c0 - int32_t lane; // 0x12c4 + float melee_number; // 0x12c8 + float ranged_number; // 0x12cc + float siege_number; // 0x12d0 + int32_t lane; // 0x12d4 }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_FillerThinker : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > hCasterList; // 0x12b8 - bool bStarted; // 0x12d0 + CUtlVector< CHandle< C_BaseEntity > > hCasterList; // 0x12c8 + bool bStarted; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t nCount; // 0x12d4 + int32_t nCount; // 0x12e4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Filler_Buff_Icon : public CDOTA_Buff { public: @@ -5639,38 +5688,38 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Filler_Heal_Aura : public CDOTA_Buff_Item { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Filler_Heal : public CDOTA_Buff { public: - 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 + int32_t hp_heal; // 0x12c8 + int32_t mp_heal; // 0x12cc + int32_t hp_heal_growth; // 0x12d0 + float mp_heal_growth; // 0x12d4 + int32_t hp_heal_pct; // 0x12d8 + int32_t mp_heal_pct; // 0x12dc + int32_t tota_hp_per_second; // 0x12e0 + int32_t tota_mp_per_second; // 0x12e4 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_FountainInvulnerabilityBuff : public CDOTA_Buff { public: - Vector m_vecPosition; // 0x12b8 + Vector m_vecPosition; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Building_DispelsSmoke : public CDOTA_Buff { public: @@ -5678,15 +5727,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Truesight_Aura : public CDOTA_Buff { public: - int32_t m_nAuraRadius; // 0x12b8 + int32_t m_nAuraRadius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tower_Truesight_Aura : public CDOTA_Modifier_Truesight_Aura { public: @@ -5694,7 +5743,7 @@ public: }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Fountain_Truesight_Aura : public CDOTA_Modifier_Truesight_Aura { public: @@ -5702,65 +5751,65 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Tower_Aura : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 - bool m_bOverrideArmor; // 0x12bc + int32_t bonus_armor; // 0x12c8 + bool m_bOverrideArmor; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float hp_regen; // 0x12c0 - bool m_bOverrideRegen; // 0x12c4 + float hp_regen; // 0x12d0 + bool m_bOverrideRegen; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - int32_t m_nRadius; // 0x12c8 + int32_t m_nRadius; // 0x12d8 }; // Alignment: 5 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Tower_Aura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 - float hp_regen; // 0x12bc - bool m_bOverrideArmor; // 0x12c0 - bool m_bOverrideRegen; // 0x12c1 - bool m_bSentFirstRefresh; // 0x12c2 + int32_t bonus_armor; // 0x12c8 + float hp_regen; // 0x12cc + bool m_bOverrideArmor; // 0x12d0 + bool m_bOverrideRegen; // 0x12d1 + bool m_bSentFirstRefresh; // 0x12d2 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tower_Armor_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ScoutVisible : public CDOTA_Buff { public: - int32_t reveal_radius; // 0x12b8 + int32_t reveal_radius; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_ScoutBonuses : public CDOTA_Buff { public: - int32_t reveal_radius; // 0x12b8 - float increase_health; // 0x12bc - int32_t max_health; // 0x12c0 - float increase_armor; // 0x12c4 - float max_armor; // 0x12c8 + int32_t reveal_radius; // 0x12c8 + float increase_health; // 0x12cc + int32_t max_health; // 0x12d0 + float increase_armor; // 0x12d4 + float max_armor; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BackdoorProtection : public CDOTA_Buff { public: @@ -5768,7 +5817,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BackdoorProtectionInBase : public CDOTA_Modifier_BackdoorProtection { public: @@ -5776,7 +5825,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BackdoorProtectionActive : public CDOTA_Buff { public: @@ -5784,7 +5833,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_ProjectileVision : public CDOTA_Buff { public: @@ -5792,7 +5841,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_ProjectileVisionOnMinimap : public CDOTA_Modifier_ProjectileVision { public: @@ -5800,7 +5849,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Pet : public CDOTA_Buff { public: @@ -5808,16 +5857,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_HeroStatue : public CDOTA_Buff { public: - uint32_t m_unStatusEffectIndex; // 0x12b8 - CHandle< C_BaseEntity > m_hPedestal; // 0x12bc + uint32_t m_unStatusEffectIndex; // 0x12c8 + CHandle< C_BaseEntity > m_hPedestal; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_HeroStatuePedestal : public CDOTA_Buff { public: @@ -5825,7 +5874,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BattleCupEffigy : public CDOTA_Buff { public: @@ -5833,7 +5882,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Hidden_NoDamage : public CDOTA_Buff { public: @@ -5841,7 +5890,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tutorial_Disable_Healing : public CDOTA_Buff { public: @@ -5849,33 +5898,33 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tutorial_SpeechBubble : public CDOTA_Buff { public: - bool m_bFacePlayer; // 0x12b8 + bool m_bFacePlayer; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tutorial_ForceAnimation : public CDOTA_Buff { public: - int32_t m_nActivity; // 0x12b8 - bool m_bLoop; // 0x12bc - bool m_bFacePlayer; // 0x12bd + int32_t m_nActivity; // 0x12c8 + bool m_bLoop; // 0x12cc + bool m_bFacePlayer; // 0x12cd }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tutorial_HideNPC : public CDOTA_Buff { public: - bool m_bRemoveOnDeath; // 0x12b8 + bool m_bRemoveOnDeath; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tutorial_LowAttackPriority : public CDOTA_Buff { public: @@ -5883,15 +5932,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tutorial_LastHittable : public CDOTA_Buff { public: - bool m_bIsFriend; // 0x12b8 + bool m_bIsFriend; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Creep_Slow : public CDOTA_Buff { public: @@ -5899,7 +5948,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Creep_Haste : public CDOTA_Buff { public: @@ -5907,7 +5956,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Buyback_Gold_Penalty : public CDOTA_Buff { public: @@ -5915,7 +5964,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Provide_Vision : public CDOTA_Buff { public: @@ -5923,18 +5972,18 @@ public: }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_ScriptedMotionController : public CDOTA_Buff { public: - HSCRIPT m_hHorizontalControlFunction; // 0x12b8 - HSCRIPT m_hVerticalControlFunction; // 0x12c0 - HSCRIPT m_hOnDestroyFunction; // 0x12c8 - CVariantBase< CVariantDefaultAllocator > m_parameterTable; // 0x12d0 + HSCRIPT m_hHorizontalControlFunction; // 0x12c8 + HSCRIPT m_hVerticalControlFunction; // 0x12d0 + HSCRIPT m_hOnDestroyFunction; // 0x12d8 + CVariantBase< CVariantDefaultAllocator > m_parameterTable; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_VR_Modifier_Statue_Mode : public CDOTA_Buff { public: @@ -5942,7 +5991,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Generic_Hidden : public CDOTA_Buff { public: @@ -5950,7 +5999,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Disable_Healing : public CDOTA_Buff { public: @@ -5958,7 +6007,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BaseBlocker_Thinker : public CDOTA_Buff { public: @@ -5966,15 +6015,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BaseBlocker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BaseBlocker_Effect : public CDOTA_Buff { public: @@ -5982,20 +6031,20 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Rune_Shield : public CDOTA_Buff { public: - int32_t damage_absorb; // 0x12b8 - bool m_bStartedTimer; // 0x12bc + int32_t damage_absorb; // 0x12c8 + bool m_bStartedTimer; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - int32_t m_nDamageAbsorbed; // 0x12c0 + int32_t m_nDamageAbsorbed; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bonus_Armor : public CDOTA_Buff { public: @@ -6003,7 +6052,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bonus_Mres : public CDOTA_Buff { public: @@ -6011,7 +6060,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bonus_Damage : public CDOTA_Buff { public: @@ -6019,7 +6068,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_HP_Regen : public CDOTA_Buff { public: @@ -6027,7 +6076,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MP_Regen : public CDOTA_Buff { public: @@ -6035,7 +6084,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MagicImmune : public CDOTA_Buff { public: @@ -6043,7 +6092,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DebuffImmune : public CDOTA_Buff { public: @@ -6051,7 +6100,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_CameraFollow : public CDOTA_Buff { public: @@ -6059,7 +6108,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Hexed : public CDOTA_Buff { public: @@ -6067,7 +6116,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Editor : public CDOTA_Buff { public: @@ -6075,7 +6124,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Prosperous_Soul : public CDOTA_Buff { public: @@ -6083,23 +6132,23 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MoveSpeed_Percentage : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 + int32_t movespeed; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Kill : public CDOTA_Buff { public: - bool m_bHideOnKill; // 0x12b8 + bool m_bHideOnKill; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Phased : public CDOTA_Buff { public: @@ -6107,7 +6156,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Dominated : public CDOTA_Buff { public: @@ -6115,7 +6164,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TrueSight : public CDOTA_Buff { public: @@ -6123,7 +6172,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TrueSightFoW : public CDOTA_Buff { public: @@ -6131,7 +6180,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TrueSightAll : public CDOTA_Buff { public: @@ -6139,7 +6188,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Stunned : public CDOTA_Buff { public: @@ -6147,7 +6196,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bashed : public CDOTA_Modifier_Stunned { public: @@ -6155,7 +6204,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Taunt : public CDOTA_Buff { public: @@ -6163,30 +6212,30 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_PersistentInvisibility : public CDOTA_Buff { public: - float fade_delay; // 0x12b8 - float m_flFadeTime; // 0x12bc - GameTime_t m_flLastActionTime; // 0x12c0 + float fade_delay; // 0x12c8 + float m_flFadeTime; // 0x12cc + GameTime_t m_flLastActionTime; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Invisible : public CDOTA_Buff { public: - bool m_bSubtle; // 0x12b8 + bool m_bSubtle; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - GameTime_t m_flFadeTime; // 0x12bc - float m_flFadeTimeValue; // 0x12c0 + GameTime_t m_flFadeTime; // 0x12cc + float m_flFadeTimeValue; // 0x12d0 }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_InvisibleTrueSightImmune : public CDOTA_Modifier_Invisible { public: @@ -6194,7 +6243,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Followthrough : public CDOTA_Buff { public: @@ -6202,7 +6251,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Silence : public CDOTA_Buff { public: @@ -6210,7 +6259,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Fear : public CDOTA_Buff { public: @@ -6218,7 +6267,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Invulnerable : public CDOTA_Buff { public: @@ -6226,7 +6275,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AttackImmune : public CDOTA_Buff { public: @@ -6234,7 +6283,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Disarmed : public CDOTA_Buff { public: @@ -6242,7 +6291,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Break : public CDOTA_Buff { public: @@ -6250,7 +6299,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Muted : public CDOTA_Buff { public: @@ -6258,7 +6307,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rooted : public CDOTA_Buff { public: @@ -6266,7 +6315,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_RootedUndispellable : public CDOTA_Modifier_Rooted { public: @@ -6274,7 +6323,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_NoHealthBar : public CDOTA_Buff { public: @@ -6282,7 +6331,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_NotOnMinimap : public CDOTA_Buff { public: @@ -6290,7 +6339,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aura : public CDOTA_Buff { public: @@ -6298,7 +6347,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FountainAura : public CDOTA_Buff { public: @@ -6306,7 +6355,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FountainAuraBuff : public CDOTA_Buff { public: @@ -6314,23 +6363,23 @@ public: }; // Alignment: 9 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_Illusion : public CDOTA_Buff { public: - 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 + int32_t outgoing_damage; // 0x12c8 + int32_t outgoing_damage_structure; // 0x12cc + int32_t outgoing_damage_roshan; // 0x12d0 + int32_t incoming_damage; // 0x12d4 + int32_t bounty_base; // 0x12d8 + int32_t bounty_growth; // 0x12dc + CUtlString m_strIllusionType; // 0x12e0 + char m_szIllusionLabel[64]; // 0x12e8 + bool m_bHidden; // 0x1328 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rune_DoubleDamage : public CDOTA_Buff { public: @@ -6338,15 +6387,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rune_ExtraDamage : public CDOTA_Modifier_Rune_DoubleDamage { public: - int32_t m_iAdditionalDamagePct; // 0x12b8 + int32_t m_iAdditionalDamagePct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rune_Illusion : public CDOTA_Buff { public: @@ -6354,7 +6403,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rune_Haste : public CDOTA_Buff { public: @@ -6362,7 +6411,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rune_FlyingHaste : public CDOTA_Modifier_Rune_Haste { public: @@ -6370,7 +6419,7 @@ public: }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Rune_Invisibility : public CDOTA_Modifier_Invisible { public: @@ -6378,7 +6427,7 @@ public: }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Rune_Super_Invisibility : public CDOTA_Modifier_PersistentInvisibility { public: @@ -6386,7 +6435,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rune_Regen : public CDOTA_Buff { public: @@ -6394,7 +6443,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rune_SuperRegen : public CDOTA_Modifier_Rune_Regen { public: @@ -6402,16 +6451,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rune_Arcane : public CDOTA_Buff { public: - int32_t m_iCooldownReductionPct; // 0x12b8 - int32_t m_iCostReductionPct; // 0x12bc + int32_t m_iCooldownReductionPct; // 0x12c8 + int32_t m_iCostReductionPct; // 0x12cc }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rune_SuperArcane : public CDOTA_Modifier_Rune_Arcane { public: @@ -6419,17 +6468,17 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Teleporting : public CDOTA_Buff { public: - float m_fChannelTime; // 0x12b8 - Vector m_vStart; // 0x12bc - Vector m_vEnd; // 0x12c8 + float m_fChannelTime; // 0x12c8 + Vector m_vStart; // 0x12cc + Vector m_vEnd; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Teleporting_Root_Logic : public CDOTA_Buff { public: @@ -6437,49 +6486,49 @@ public: }; // Alignment: 10 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Knockback : public CDOTA_Buff { public: - 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 + float knockback_distance; // 0x12c8 + int32_t knockback_height; // 0x12cc + float knockback_duration; // 0x12d0 + Vector m_vHorizOffset; // 0x12d4 + Vector m_vStartPosition; // 0x12e0 + float m_fCurrentTimeHoriz; // 0x12ec + float m_fCurrentTimeVert; // 0x12f0 + bool m_bShouldStun; // 0x12f4 + bool m_bRespectLeash; // 0x12f5 + bool m_bReversePolarity; // 0x12f6 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Cyclone : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x12b8 + GameTime_t m_flStartTime; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_IceSlide : public CDOTA_Buff { public: - GameTime_t m_fLastUpdateTime; // 0x12b8 - Vector m_vVelocity; // 0x12bc + GameTime_t m_fLastUpdateTime; // 0x12c8 + Vector m_vVelocity; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tutorial_LastHitHelper : public CDOTA_Buff { public: - bool m_bTargetFriendlies; // 0x12b8 + bool m_bTargetFriendlies; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TeamShowcase_Global : public CDOTA_Buff { public: @@ -6487,7 +6536,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TeamShowcase_Showcase : public CDOTA_Buff { public: @@ -6495,12 +6544,12 @@ public: }; // Alignment: 2 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_HallOfFame_Glow : public CDOTA_Buff { public: - CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs; // 0x12b8 - CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs2; // 0x12d0 + CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs; // 0x12c8 + CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs2; // 0x12e0 // 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);}; @@ -6508,7 +6557,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DisableTauntAnimationCancel : public CDOTA_Buff { public: @@ -6516,7 +6565,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_PreventTaunts : public CDOTA_Buff { public: @@ -6524,15 +6573,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Activity_Modifier : public CDOTA_Buff { public: - CUtlSymbolLarge m_activityModifier; // 0x12b8 + CUtlSymbolLarge m_activityModifier; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_SecondaryUnit_Taunt : public CDOTA_Buff { public: @@ -6540,24 +6589,24 @@ public: }; // Alignment: 7 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_MonkeyKing_BouncePerch : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTree; // 0x12b8 - bool m_bGroundToTree; // 0x12bc - bool m_bTreeToGround; // 0x12bd - bool m_bTreeToTree; // 0x12be + CHandle< C_BaseEntity > m_hTree; // 0x12c8 + bool m_bGroundToTree; // 0x12cc + bool m_bTreeToGround; // 0x12cd + bool m_bTreeToTree; // 0x12ce private: - [[maybe_unused]] uint8_t __pad12bf[0x1]; // 0x12bf + [[maybe_unused]] uint8_t __pad12cf[0x1]; // 0x12cf public: - float perched_day_vision; // 0x12c0 - float perched_night_vision; // 0x12c4 - bool m_bAbilityIsStolen; // 0x12c8 + float perched_day_vision; // 0x12d0 + float perched_night_vision; // 0x12d4 + bool m_bAbilityIsStolen; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BookOfStrength : public CDOTA_Buff { public: @@ -6565,7 +6614,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BookOfAgility : public CDOTA_Buff { public: @@ -6573,7 +6622,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BookOfIntelligence : public CDOTA_Buff { public: @@ -6581,7 +6630,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_No_Invisibility : public CDOTA_Buff { public: @@ -6589,15 +6638,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Hide_On_Minimap : public CDOTA_Buff { public: - bool m_bEnemiesOnly; // 0x12b8 + bool m_bEnemiesOnly; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_ChangeTreeModel_Thinker : public CDOTA_Buff { public: @@ -6605,7 +6654,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_LegacyChargeCounter : public CDOTA_Buff { public: @@ -6613,131 +6662,131 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FixedNumberOfHitsToKill : public CDOTA_Buff { public: - int32_t creep_attack_divisor; // 0x12b8 - int32_t attack_count; // 0x12bc + int32_t creep_attack_divisor; // 0x12c8 + int32_t attack_count; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_NPXBuff : public CDOTA_Buff { public: - int32_t m_nCurReduction; // 0x12b8 + int32_t m_nCurReduction; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Muerta_PartingShot_PhysicalBodyDebuff : public CDOTA_Modifier_Stunned { public: - CHandle< C_BaseEntity > m_hSoulEntityClient; // 0x12b8 - int32_t damage_reduction_percent; // 0x12bc + CHandle< C_BaseEntity > m_hSoulEntityClient; // 0x12c8 + int32_t damage_reduction_percent; // 0x12cc }; // Alignment: 63 -// Size: 0x3800 +// Size: 0x3830 class CDOTA_Modifier_DataDriven : public CDOTA_Buff { public: - 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 + AbilityID_t m_nAbilityID; // 0x12c8 + int32_t m_nIndexInAbility; // 0x12cc + bool m_bIsHidden; // 0x12d0 + bool m_bIsDebuff; // 0x12d1 + bool m_bIsPurgable; // 0x12d2 + bool m_bIsStunDebuff; // 0x12d3 + bool m_bAllowIllusionDuplicate; // 0x12d4 + bool m_bRemoveOnDeath; // 0x12d5 private: - [[maybe_unused]] uint8_t __pad12c6[0x2]; // 0x12c6 + [[maybe_unused]] uint8_t __pad12d6[0x2]; // 0x12d6 public: - 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 + char* m_pszAuraModifier; // 0x12d8 + int32_t m_nAuraModifierIndex; // 0x12e0 + int32_t m_nAuraRadius; // 0x12e4 + int32_t m_nAuraSearchTeam; // 0x12e8 + int32_t m_nAuraSearchType; // 0x12ec + int32_t m_nAuraSearchFlags; // 0x12f0 + bool m_bAuraApplyToCaster; // 0x12f4 + bool m_bAuraApplyToParent; // 0x12f5 private: - [[maybe_unused]] uint8_t __pad12e6[0x2]; // 0x12e6 + [[maybe_unused]] uint8_t __pad12f6[0x2]; // 0x12f6 public: - int32_t m_nAttributes; // 0x12e8 + int32_t m_nAttributes; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec + [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc public: - 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 + char* m_pszEffectName; // 0x1300 + int32_t m_nEffectAttachType; // 0x1308 + int32_t m_nPriority; // 0x130c + char* m_pszStatusEffectName; // 0x1310 + int32_t m_nStatusEffectPriority; // 0x1318 + int32_t m_nOverrideAnimation; // 0x131c + int32_t m_nOrbPriority; // 0x1320 + int32_t m_nOrbLabel; // 0x1324 + bool m_bOrbIsCastAttack; // 0x1328 private: - [[maybe_unused]] uint8_t __pad1319[0x3]; // 0x1319 + [[maybe_unused]] uint8_t __pad1329[0x3]; // 0x1329 public: - float m_flThinkInterval; // 0x131c - bool m_bNeedsReParseIfRefreshed; // 0x1320 + float m_flThinkInterval; // 0x132c + bool m_bNeedsReParseIfRefreshed; // 0x1330 private: - [[maybe_unused]] uint8_t __pad1321[0x7]; // 0x1321 + [[maybe_unused]] uint8_t __pad1331[0x7]; // 0x1331 public: - char* m_pszModelName; // 0x1328 - char* m_pszOrbProjectileName; // 0x1330 + char* m_pszModelName; // 0x1338 + char* m_pszOrbProjectileName; // 0x1340 private: - [[maybe_unused]] uint8_t __pad1338[0x23c0]; // 0x1338 + [[maybe_unused]] uint8_t __pad1348[0x23e0]; // 0x1348 public: - 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 + uint64_t m_nModifierStatesEnabled; // 0x3728 + uint64_t m_nModifierStatesDisabled; // 0x3730 + KeyValues* m_pOnCreated; // 0x3738 + KeyValues* m_pOnIntervalThink; // 0x3740 + KeyValues* m_pOnDestroy; // 0x3748 + KeyValues* m_pOnAttackStart; // 0x3750 + KeyValues* m_pOnAttack; // 0x3758 + KeyValues* m_pOnAttackLanded; // 0x3760 + KeyValues* m_pOnAttackFailed; // 0x3768 + KeyValues* m_pOnAttackAllied; // 0x3770 + KeyValues* m_pOnProjectileDodge; // 0x3778 + KeyValues* m_pOnOrder; // 0x3780 + KeyValues* m_pOnUnitMoved; // 0x3788 + KeyValues* m_pOnAbilityStart; // 0x3790 + KeyValues* m_pOnAbilityExecuted; // 0x3798 + KeyValues* m_pOnBreakInvisibility; // 0x37a0 + KeyValues* m_pOnAbilityEndChannel; // 0x37a8 + KeyValues* m_pOnTakeDamage; // 0x37b0 + KeyValues* m_pOnDealDamage; // 0x37b8 + KeyValues* m_pOnStateChanged; // 0x37c0 + KeyValues* m_pOnAttacked; // 0x37c8 + KeyValues* m_pOnDeath; // 0x37d0 + KeyValues* m_pOnKill; // 0x37d8 + KeyValues* m_pOnRespawn; // 0x37e0 + KeyValues* m_pOnSpentMana; // 0x37e8 + KeyValues* m_pOnTeleporting; // 0x37f0 + KeyValues* m_pOnTeleported; // 0x37f8 + KeyValues* m_pOnHealthGained; // 0x3800 + KeyValues* m_pOnManaGained; // 0x3808 + KeyValues* m_pOnHeroKilled; // 0x3810 + KeyValues* m_pOnHealReceived; // 0x3818 + KeyValues* m_pOnAttackFinished; // 0x3820 + KeyValues* m_pOnAttackCancelled; // 0x3828 }; // Alignment: 1 -// Size: 0x13a8 +// Size: 0x13b8 class CDOTA_Modifier_Lua : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0xe8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0xe8]; // 0x12c8 public: - bool m_bHasCustomTransmitterData; // 0x13a0 + bool m_bHasCustomTransmitterData; // 0x13b0 }; // Alignment: 0 -// Size: 0x13a8 +// Size: 0x13b8 class CDOTA_Modifier_Lua_Horizontal_Motion : public CDOTA_Modifier_Lua { public: @@ -6745,7 +6794,7 @@ public: }; // Alignment: 0 -// Size: 0x13a8 +// Size: 0x13b8 class CDOTA_Modifier_Lua_Vertical_Motion : public CDOTA_Modifier_Lua { public: @@ -6753,7 +6802,7 @@ public: }; // Alignment: 0 -// Size: 0x13a8 +// Size: 0x13b8 class CDOTA_Modifier_Lua_Motion_Both : public CDOTA_Modifier_Lua { public: @@ -6761,120 +6810,120 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Disruptor_Thunder_Strike : public CDOTA_Buff { public: - float strike_interval; // 0x12b8 - int32_t radius; // 0x12bc - int32_t strike_damage; // 0x12c0 + float strike_interval; // 0x12c8 + int32_t radius; // 0x12cc + int32_t strike_damage; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Disruptor_Thunder_Strike_On_Attack : public CDOTA_Buff { public: - int32_t strike_chance; // 0x12b8 + int32_t strike_chance; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Disruptor_Thunder_Strike_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x12b8 + int32_t slow_amount; // 0x12c8 }; // Alignment: 1 -// Size: 0x1328 +// Size: 0x1338 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse : public CDOTA_Buff { public: - Vector m_PositionIndex[9]; // 0x12b8 + Vector m_PositionIndex[9]; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Attack_Buff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x12b8 - CHandle< C_BaseEntity > m_hEntity; // 0x12c4 + Vector m_vStartLoc; // 0x12c8 + CHandle< C_BaseEntity > m_hEntity; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Travel_Damage : public CDOTA_Buff { public: - float damage; // 0x12b8 - int32_t max_ticks; // 0x12bc + float damage; // 0x12c8 + int32_t max_ticks; // 0x12cc }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Disruptor_KineticFieldThinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float formation_time; // 0x12bc - bool m_bActive; // 0x12c0 + int32_t radius; // 0x12c8 + float formation_time; // 0x12cc + bool m_bActive; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0xb]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0xb]; // 0x12d1 public: - int32_t m_nFXIndex; // 0x12cc + int32_t m_nFXIndex; // 0x12dc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Disruptor_KineticField : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - Vector m_vOriginLoc; // 0x12bc - bool m_bCanBeAffected; // 0x12c8 - bool m_bTruesight; // 0x12c9 + int32_t radius; // 0x12c8 + Vector m_vOriginLoc; // 0x12cc + bool m_bCanBeAffected; // 0x12d8 + bool m_bTruesight; // 0x12d9 private: - [[maybe_unused]] uint8_t __pad12ca[0x2]; // 0x12ca + [[maybe_unused]] uint8_t __pad12da[0x2]; // 0x12da public: - int32_t intellect_bonus; // 0x12cc + int32_t intellect_bonus; // 0x12dc }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStormThinker : public CDOTA_Buff { public: - 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 + int32_t m_nCurrentPulse; // 0x12c8 + int32_t radius; // 0x12cc + int32_t damage_max; // 0x12d0 + int32_t pulses; // 0x12d4 + float duration; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStorm : public CDOTA_Buff { public: - int32_t miss_rate; // 0x12b8 - int32_t movement_speed_reduction; // 0x12bc - int32_t attack_speed_reduction; // 0x12c0 - bool m_bHasScepter; // 0x12c4 + int32_t miss_rate; // 0x12c8 + int32_t movement_speed_reduction; // 0x12cc + int32_t attack_speed_reduction; // 0x12d0 + bool m_bHasScepter; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStormMute : public CDOTA_Buff { public: @@ -6882,24 +6931,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStorm_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x12b8 - int32_t move_slow_pct; // 0x12bc + int32_t damage_reduction_pct; // 0x12c8 + int32_t move_slow_pct; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Disruptor_ThunderStrike_Int_Increase : public CDOTA_Buff { public: - int32_t int_increase_amount; // 0x12b8 + int32_t int_increase_amount; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_Disruptor_ThunderStrike_Int_Increase_Counter : public CDOTA_Buff { public: @@ -6907,7 +6956,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Magnataur_Horn_Toss : public CDOTA_Buff { public: @@ -6915,7 +6964,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Magnataur_Horn_Toss_Slow : public CDOTA_Buff { public: @@ -6923,86 +6972,86 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Magnataur_Shockwave_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x12b8 + int32_t damage_reduction_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Magnataur_Shockwave : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Magnataur_Shockwave_Pull : public CDOTA_Buff { public: - Vector m_vDirection; // 0x12b8 - float m_flEndTime; // 0x12c4 - float m_flCurTime; // 0x12c8 - float pull_duration; // 0x12cc - float effective_distance; // 0x12d0 + Vector m_vDirection; // 0x12c8 + float m_flEndTime; // 0x12d4 + float m_flCurTime; // 0x12d8 + float pull_duration; // 0x12dc + float effective_distance; // 0x12e0 }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_Magnataur_Empower : public CDOTA_Buff { public: - 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 + int32_t bonus_damage_pct; // 0x12c8 + float cleave_damage_pct; // 0x12cc + int32_t cleave_starting_width; // 0x12d0 + int32_t cleave_ending_width; // 0x12d4 + int32_t cleave_distance; // 0x12d8 + float splash_damage_pct; // 0x12dc + int32_t splash_radius; // 0x12e0 + float self_multiplier; // 0x12e4 + int32_t lifesteal_pct; // 0x12e8 + GameTime_t m_fLastShockwaveProcTime; // 0x12ec }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t m_nProjectileID; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Impact : public CDOTA_Buff { public: - float slow_duration; // 0x12b8 - int32_t skewer_damage; // 0x12bc + float slow_duration; // 0x12c8 + int32_t skewer_damage; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Slow : public CDOTA_Buff { public: - int32_t slow_pct; // 0x12b8 + int32_t slow_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Magnataur_Skewer_Bonus_Strength : public CDOTA_Buff { public: - int32_t strength_gain; // 0x12b8 + int32_t strength_gain; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity : public CDOTA_Buff { public: @@ -7010,7 +7059,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity_Stun : public CDOTA_Modifier_Stunned { public: @@ -7018,16 +7067,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity_Steroid : public CDOTA_Buff { public: - int32_t move_speed_percent; // 0x12b8 - int32_t attack_speed; // 0x12bc + int32_t move_speed_percent; // 0x12c8 + int32_t attack_speed; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_Magnataur_Reverse_Polarity_Polarity_Dummy : public CDOTA_Buff { public: @@ -7035,86 +7084,86 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_StiflingDagger_Caster : public CDOTA_Buff { public: - int32_t base_damage; // 0x12b8 - int32_t attack_factor; // 0x12bc + int32_t base_damage; // 0x12c8 + int32_t attack_factor; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_StiflingDagger : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 + int32_t move_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_On_Attack : public CDOTA_Buff { public: - int32_t strike_chance; // 0x12b8 + int32_t strike_chance; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_AutoDagger : public CDOTA_Buff { public: - float fire_rate; // 0x12b8 - int32_t radius; // 0x12bc + float fire_rate; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_PhantomStrike : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_evasion; // 0x12bc + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_evasion; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_PhantomStrike_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x12b8 + int32_t damage_reduction_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_Blur : public CDOTA_Buff { public: - int32_t bonus_evasion; // 0x12b8 + int32_t bonus_evasion; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12e8 +class CDOTA_Modifier_Aghsfort_PhantomAssassin_BlurActive : public CDOTA_Modifier_Invisible +{ +public: + int32_t radius; // 0x12d8 + float fade_duration; // 0x12dc + bool m_bDestroyNext; // 0x12e0 }; // Alignment: 3 // Size: 0x12d8 -class CDOTA_Modifier_Aghsfort_PhantomAssassin_BlurActive : public CDOTA_Modifier_Invisible -{ -public: - int32_t radius; // 0x12c8 - float fade_duration; // 0x12cc - bool m_bDestroyNext; // 0x12d0 -}; - -// Alignment: 3 -// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PhantomAssassin_CoupdeGrace : public CDOTA_Buff { public: - int32_t crit_bonus; // 0x12b8 - int32_t crit_chance; // 0x12bc - bool crit_active; // 0x12c0 + int32_t crit_bonus; // 0x12c8 + int32_t crit_chance; // 0x12cc + bool crit_active; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PhantomAssassin_MarkedForDeath : public CDOTA_Buff { public: @@ -7122,155 +7171,155 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_PhantomAssassin_CoupDeGrace_BloodyDebuff : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 + int32_t damage_reduction; // 0x12c8 }; // Alignment: 3 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_Splitshot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x12b8 - int32_t split_shot_bonus_range; // 0x12bc - int32_t arrow_count; // 0x12c0 + int32_t damage_modifier; // 0x12c8 + int32_t split_shot_bonus_range; // 0x12cc + int32_t arrow_count; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_DoubleAttack : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 - int32_t m_iAttacksRemaining; // 0x12bc + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + int32_t m_iAttacksRemaining; // 0x12cc }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Frost_Attack : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Flight : public CDOTA_Buff { public: - 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 + float attack_point; // 0x12c8 + int32_t attack_range_bonus; // 0x12cc + int32_t projectile_speed_bonus; // 0x12d0 + int32_t night_vision_bonus; // 0x12d4 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Slow : public CDOTA_Buff { public: - float damage_per_second; // 0x12b8 - int32_t move_slow; // 0x12bc + float damage_per_second; // 0x12c8 + int32_t move_slow; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Splinter_Blast_Slow : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x12b8 + int32_t bonus_movespeed; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x12b8 - Vector vPullLocation; // 0x12bc + float pull_speed; // 0x12c8 + Vector vPullLocation; // 0x12cc }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Cold_Embrace : public CDOTA_Buff { public: - int32_t m_nOriginalAttackCapability; // 0x12b8 + int32_t m_nOriginalAttackCapability; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x8]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x8]; // 0x12cc public: - bool m_bDidBlast; // 0x12c4 + bool m_bDidBlast; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - int32_t heal_additive; // 0x12c8 - float heal_percentage; // 0x12cc + int32_t heal_additive; // 0x12d8 + float heal_percentage; // 0x12dc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Magic_Damage_Block : public CDOTA_Buff { public: - int32_t barrier_amount; // 0x12b8 - int32_t barrier_block; // 0x12bc - int32_t m_nMaxMovementSpeed; // 0x12c0 + int32_t barrier_amount; // 0x12c8 + int32_t barrier_block; // 0x12cc + int32_t m_nMaxMovementSpeed; // 0x12d0 }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse_Kill_Credit : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse_Aura : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 - int32_t m_nAlliesTaunted; // 0x12bc - bool m_bRelicTriggered; // 0x12c0 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + int32_t m_nAlliesTaunted; // 0x12cc + bool m_bRelicTriggered; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t radius; // 0x12c4 - int32_t damage_amplification; // 0x12c8 - int32_t damage_reduction; // 0x12cc + int32_t radius; // 0x12d4 + int32_t damage_amplification; // 0x12d8 + int32_t damage_reduction; // 0x12dc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hZombieTarget; // 0x12b8 - CHandle< C_BaseEntity > m_hDesiredTarget; // 0x12bc - int32_t damage_reduction; // 0x12c0 - int32_t bonus_attack_speed; // 0x12c4 + CHandle< C_BaseEntity > m_hZombieTarget; // 0x12c8 + CHandle< C_BaseEntity > m_hDesiredTarget; // 0x12cc + int32_t damage_reduction; // 0x12d0 + int32_t bonus_attack_speed; // 0x12d4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Snapfire_Scatterblast_Slow : public CDOTA_Buff { public: - bool m_bIsPointBlank; // 0x12b8 + bool m_bIsPointBlank; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t movement_slow_pct; // 0x12bc - int32_t attack_slow_pct; // 0x12c0 + int32_t movement_slow_pct; // 0x12cc + int32_t attack_slow_pct; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Snapfire_Scatterblast_Disarm : public CDOTA_Buff { public: @@ -7278,17 +7327,17 @@ public: }; // Alignment: 3 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_PreHop : public CDOTA_Buff { public: - float jump_duration; // 0x12b8 - bool m_bMovesHorizontal; // 0x12bc - bool m_bSecondaryCookie; // 0x12bd + float jump_duration; // 0x12c8 + bool m_bMovesHorizontal; // 0x12cc + bool m_bSecondaryCookie; // 0x12cd }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_ShortHop : public CDOTA_Buff { public: @@ -7296,7 +7345,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_AllyFlailAnim : public CDOTA_Buff { public: @@ -7304,7 +7353,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_LandingGesture : public CDOTA_Buff { public: @@ -7312,84 +7361,84 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Snapfire_FiresnapCookie_AlliedBuff : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x12b8 - int32_t bonus_attack_damage; // 0x12bc + int32_t bonus_attack_range; // 0x12c8 + int32_t bonus_attack_damage; // 0x12cc }; // Alignment: 11 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Buff : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 - int32_t m_nIsActive; // 0x12d8 - bool m_bHasAttackTalent; // 0x12dc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + int32_t m_nIsActive; // 0x12e8 + bool m_bHasAttackTalent; // 0x12ec private: - [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd + [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed public: - 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 + int32_t attack_range_bonus; // 0x12f0 + int32_t buffed_attacks; // 0x12f4 + float base_attack_time; // 0x12f8 + int32_t attack_speed_bonus; // 0x12fc + float armor_duration; // 0x1300 + int32_t damage; // 0x1304 + int32_t bounce_range; // 0x1308 + int32_t bounces; // 0x130c }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Attack : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 + int32_t damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Debuff : public CDOTA_Buff { public: - float armor_reduction_per_attack; // 0x12b8 + float armor_reduction_per_attack; // 0x12c8 }; // Alignment: 16 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_Snapfire_MortimerKisses : public CDOTA_Buff { public: - 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 + float m_fIntervalPerRocket; // 0x12c8 + float m_flFacingTarget; // 0x12cc + ParticleIndex_t m_nBeamFXIndex; // 0x12d0 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x12d4 + float m_flCurDistance; // 0x12d8 + Vector m_vAimTarget; // 0x12dc + float m_fLastTurnAmount; // 0x12e8 + int32_t m_nProjectilesLaunched; // 0x12ec + bool m_bDestroyOnNextThink; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - int32_t m_nProjectilesToLaunch; // 0x12e4 - bool m_bHasProjectileTalent; // 0x12e8 + int32_t m_nProjectilesToLaunch; // 0x12f4 + bool m_bHasProjectileTalent; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 + [[maybe_unused]] uint8_t __pad12f9[0x3]; // 0x12f9 public: - 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 + int32_t projectile_count; // 0x12fc + int32_t projectile_vision; // 0x1300 + float turn_rate; // 0x1304 + int32_t min_range; // 0x1308 + float delay_after_last_projectile; // 0x130c }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Snapfire_MortimerKisses_VisionSource : public CDOTA_Buff { public: @@ -7397,31 +7446,31 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Snapfire_Magma_Thinker : public CDOTA_Buff { public: - 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 + float burn_interval; // 0x12c8 + int32_t impact_radius; // 0x12cc + int32_t move_slow_pct; // 0x12d0 + float burn_linger_duration; // 0x12d4 + ParticleIndex_t m_nPathEffectIndex; // 0x12d8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Snapfire_Magma_Burn_Slow : public CDOTA_Buff { public: - int32_t m_nMoveSlowPct; // 0x12b8 - float m_fBurnDamagePerTick; // 0x12bc - int32_t move_slow_pct; // 0x12c0 - float burn_interval; // 0x12c4 - int32_t burn_damage; // 0x12c8 + int32_t m_nMoveSlowPct; // 0x12c8 + float m_fBurnDamagePerTick; // 0x12cc + int32_t move_slow_pct; // 0x12d0 + float burn_interval; // 0x12d4 + int32_t burn_damage; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Snapfire_GobbleUp_Creep : public CDOTA_Buff { public: @@ -7429,62 +7478,62 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Snapfire_GobbleUp_BellyHasUnit : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hGobbledUnit; // 0x12b8 - float max_time_in_belly; // 0x12bc + CHandle< C_BaseEntity > m_hGobbledUnit; // 0x12c8 + float max_time_in_belly; // 0x12cc }; // Alignment: 11 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Snapfire_SpitCreep_ArcingUnit : public CDOTA_Buff { public: - 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 + int32_t min_range; // 0x12c8 + float min_lob_travel_time; // 0x12cc + float max_lob_travel_time; // 0x12d0 + int32_t impact_radius; // 0x12d4 + int32_t projectile_vision; // 0x12d8 + float stun_duration; // 0x12dc + int32_t impact_damage; // 0x12e0 + float min_height_above_lowest; // 0x12e4 + float min_height_above_highest; // 0x12e8 + float min_acceleration; // 0x12ec + float max_acceleration; // 0x12f0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Snapfire_MortimerKisses_Autoattack : public CDOTA_Buff { public: - float fire_rate; // 0x12b8 - int32_t radius; // 0x12bc + float fire_rate; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Snapfire_MortimerKisses_Incoming_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 + int32_t damage_reduction; // 0x12c8 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Tusk_IceShard : public CDOTA_Buff { public: - Vector m_vPos; // 0x12b8 - int32_t radius; // 0x12c4 - float damage; // 0x12c8 - float explosion_interval; // 0x12cc + Vector m_vPos; // 0x12c8 + int32_t radius; // 0x12d4 + float damage; // 0x12d8 + float explosion_interval; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Target : public CDOTA_Buff { public: @@ -7492,7 +7541,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Visible : public CDOTA_Buff { public: @@ -7500,7 +7549,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Movement : public CDOTA_Buff { public: @@ -7508,7 +7557,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Movement_Friendly : public CDOTA_Buff { public: @@ -7516,78 +7565,78 @@ public: }; // Alignment: 9 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch : public CDOTA_Buff { public: - int32_t crit_multiplier; // 0x12b8 - float air_time; // 0x12bc - float slow_duration; // 0x12c0 + int32_t crit_multiplier; // 0x12c8 + float air_time; // 0x12cc + float slow_duration; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12c8 - CHandle< C_BaseEntity > m_hTarget; // 0x12d0 - bool m_bWalrusPunch; // 0x12d4 - bool m_bPunchKill; // 0x12d5 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12d8 + CHandle< C_BaseEntity > m_hTarget; // 0x12e0 + bool m_bWalrusPunch; // 0x12e4 + bool m_bPunchKill; // 0x12e5 private: - [[maybe_unused]] uint8_t __pad12d6[0x2]; // 0x12d6 + [[maybe_unused]] uint8_t __pad12e6[0x2]; // 0x12e6 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 - ParticleIndex_t m_nFXIndex; // 0x12f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e8 + ParticleIndex_t m_nFXIndex; // 0x1300 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 + int32_t move_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x12b8 + int32_t hp_threshold; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - float slow_duration; // 0x12bc + int32_t bonus_damage; // 0x12c8 + float slow_duration; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_SpellLifesteal : public CDOTA_Buff { public: - float spell_lifesteal_pct; // 0x12b8 + float spell_lifesteal_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_Tusk_Ice_Shards_Explode_Dummy : public CDOTA_Buff { public: @@ -7595,28 +7644,28 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Ursa_Fury_Swipes : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x12b8 - float bonus_reset_time; // 0x12bc - float bonus_reset_time_roshan; // 0x12c0 - int32_t max_swipe_stack; // 0x12c4 + int32_t damage_per_stack; // 0x12c8 + float bonus_reset_time; // 0x12cc + float bonus_reset_time_roshan; // 0x12d0 + int32_t max_swipe_stack; // 0x12d4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Ursa_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x12b8 - int32_t m_nArmorReductionPerStack; // 0x12bc - int32_t m_nLifestealPerStack; // 0x12c0 + int32_t damage_per_stack; // 0x12c8 + int32_t m_nArmorReductionPerStack; // 0x12cc + int32_t m_nLifestealPerStack; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_Move : public CDOTA_Buff { public: @@ -7624,40 +7673,40 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Ursa_Overpower : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x12b8 - int32_t m_nEarthshockAttacks; // 0x12bc + int32_t attack_speed_bonus_pct; // 0x12c8 + int32_t m_nEarthshockAttacks; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Ursa_Earthshock : public CDOTA_Buff { public: - int32_t m_nMissChance; // 0x12b8 - bool m_bAddOverpower; // 0x12bc + int32_t m_nMissChance; // 0x12c8 + bool m_bAddOverpower; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float m_flOverpowerDuration; // 0x12c0 - int32_t m_nNumOverpowerAttacks; // 0x12c4 - int32_t movement_slow; // 0x12c8 + float m_flOverpowerDuration; // 0x12d0 + int32_t m_nNumOverpowerAttacks; // 0x12d4 + int32_t movement_slow; // 0x12d8 }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_DeepInvis : public CDOTA_Modifier_Invisible { public: - CHandle< C_BaseEntity > m_hVisibleEntity; // 0x12c8 - ParticleIndex_t m_nFXIndex; // 0x12cc + CHandle< C_BaseEntity > m_hVisibleEntity; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_DeepInvis_Visual : public CDOTA_Buff { public: @@ -7665,81 +7714,81 @@ public: }; // Alignment: 1 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Special_Ursa_Earthshock_Knockback : public CDOTA_Modifier_Knockback { public: - float value3; // 0x12e8 + float value3; // 0x12f8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Ursa_Overpower_Evasion : public CDOTA_Buff { public: - int32_t value2; // 0x12b8 + int32_t value2; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Ursa_Overpower_Taunt : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hZombieTarget; // 0x12b8 - bool m_bDidSetAttackTarget; // 0x12bc + CHandle< C_BaseEntity > m_hZombieTarget; // 0x12c8 + bool m_bDidSetAttackTarget; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Ursa_Overpower_Taunt_Armor : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Ursa_Enrage : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 - int32_t status_resistance; // 0x12bc + int32_t damage_reduction; // 0x12c8 + int32_t status_resistance; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Ursa_Enrage_Magic_Immunity : public CDOTA_Modifier_MagicImmune { public: - int32_t m_nModelScale; // 0x12b8 + int32_t m_nModelScale; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Ursa_Enrage_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x12b8 + Vector m_vOriginal; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Ursa_Enrage_Armor : public CDOTA_Buff { public: - int32_t value2; // 0x12b8 + int32_t value2; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Ursa_Enrage_AttackSpeed : public CDOTA_Buff { public: - int32_t value2; // 0x12b8 + int32_t value2; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Mars_Spear_Impale : public CDOTA_Buff { public: @@ -7747,7 +7796,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Mars_Spear_Stun : public CDOTA_Modifier_Stunned { public: @@ -7755,26 +7804,26 @@ public: }; // Alignment: 4 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Thinker : public CDOTA_Buff { public: - float radius; // 0x12b8 - float formation_time; // 0x12bc - float m_flInitialZ; // 0x12c0 - float m_flFinalZ; // 0x12c4 + float radius; // 0x12c8 + float formation_time; // 0x12cc + float m_flInitialZ; // 0x12d0 + float m_flFinalZ; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_AnimationAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Animation : public CDOTA_Buff { public: @@ -7782,42 +7831,42 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_BuffAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Buff : public CDOTA_Buff { public: - int32_t health_regen; // 0x12b8 - int32_t attack_speed; // 0x12bc - int32_t bonus_damage; // 0x12c0 + int32_t health_regen; // 0x12c8 + int32_t attack_speed; // 0x12cc + int32_t bonus_damage; // 0x12d0 }; // Alignment: 7 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t width; // 0x12cc + int32_t spear_damage; // 0x12d0 + int32_t spear_distance_from_wall; // 0x12d4 + float spear_attack_interval; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x1c]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x1c]; // 0x12dc public: - float warrior_fade_min_dist; // 0x12e8 - float warrior_fade_max_dist; // 0x12ec + float warrior_fade_min_dist; // 0x12f8 + float warrior_fade_max_dist; // 0x12fc }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Spear : public CDOTA_Modifier_Knockback { public: @@ -7825,25 +7874,25 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x12b8 + Vector m_vOriginal; // 0x12c8 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Leash : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float width; // 0x12bc - Vector m_vOriginLoc; // 0x12c0 + int32_t radius; // 0x12c8 + float width; // 0x12cc + Vector m_vOriginLoc; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Marker : public CDOTA_Buff { public: @@ -7851,1663 +7900,195 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Mars_Gods_Rebuke : public CDOTA_Buff { public: - int32_t knockback_slow; // 0x12b8 + int32_t knockback_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Mars_GodsRebuke_Crit : public CDOTA_Buff { public: - int32_t crit_mult; // 0x12b8 + int32_t crit_mult; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Mars_Bulwark : public CDOTA_Buff { public: - float physical_damage_reduction; // 0x12b8 - float physical_damage_reduction_side; // 0x12bc - float forward_angle; // 0x12c0 - float side_angle; // 0x12c4 + float physical_damage_reduction; // 0x12c8 + float physical_damage_reduction_side; // 0x12cc + float forward_angle; // 0x12d0 + float side_angle; // 0x12d4 }; // Alignment: 12 -// Size: 0x12f0 +// Size: 0x1300 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 + int32_t redirect_chance; // 0x12c8 + int32_t redirect_range; // 0x12cc + float forward_angle; // 0x12d0 + float side_angle; // 0x12d4 + int32_t redirect_speed_penatly; // 0x12d8 + int32_t m_nPoseParameterWE; // 0x12dc + int32_t m_nPoseParameterNS; // 0x12e0 + float m_flLastPoseX; // 0x12e4 + float m_flLastPoseY; // 0x12e8 + int32_t m_nLastMaxDirection; // 0x12ec + Vector m_vLastOrigin; // 0x12f0 + GameTime_t m_flLastGameTime; // 0x12fc }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x12b8 - int32_t path_radius; // 0x12c4 - float linger_duration; // 0x12c8 - float flDamage; // 0x12cc + Vector m_vPathDir; // 0x12c8 + int32_t path_radius; // 0x12d4 + float linger_duration; // 0x12d8 + float flDamage; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x12b8 + float flDamage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Mars_Gods_Rebuke_Strength_Buff : public CDOTA_Buff { public: - int32_t strength_gain; // 0x12b8 + int32_t strength_gain; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Special_Mars_Bulwark_Spears : public CDOTA_Buff { public: - int32_t stack_limit; // 0x12b8 - float stack_interval; // 0x12bc - ParticleIndex_t m_nFxIndexB; // 0x12c0 - int32_t iCur_stack; // 0x12c4 + int32_t stack_limit; // 0x12c8 + float stack_interval; // 0x12cc + ParticleIndex_t m_nFxIndexB; // 0x12d0 + int32_t iCur_stack; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Mars_Bulwark_Soldier_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 6 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_Weaver_Swarm : public CDOTA_Buff { public: - 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 + int32_t m_iMaxDist; // 0x12c8 + int32_t m_iAttackCount; // 0x12cc + int32_t destroy_attacks; // 0x12d0 + Vector m_vDirection; // 0x12d4 + Vector m_vStartLoc; // 0x12e0 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12ec }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 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 + float armor_reduction; // 0x12c8 + int32_t damage; // 0x12cc + int32_t damage_share_percentage; // 0x12d0 + float m_flCurrentArmorReduction; // 0x12d4 + float flTotalDamage; // 0x12d8 }; // Alignment: 7 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Aghsfort_Weaver_Shukuchi : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x12c8 - int32_t damage; // 0x12cc - int32_t speed; // 0x12d0 + int32_t radius; // 0x12d8 + int32_t damage; // 0x12dc + int32_t speed; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x12d8 - bool bHasStartedBurning; // 0x12f0 + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x12e8 + bool bHasStartedBurning; // 0x1300 private: - [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 + [[maybe_unused]] uint8_t __pad1301[0x3]; // 0x1301 public: - int32_t m_nBurningTrailRadius; // 0x12f4 - Vector m_vLastTrailThinkerLocation; // 0x12f8 + int32_t m_nBurningTrailRadius; // 0x1304 + Vector m_vLastTrailThinkerLocation; // 0x1308 }; // Alignment: 2 -// Size: 0x1330 +// Size: 0x1340 class CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 - int32_t m_iAttacksRemaining; // 0x12bc + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + int32_t m_iAttacksRemaining; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 4 -// Size: 0x1398 +// Size: 0x13a8 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; // 0x12b8 - int32_t max_damage; // 0x12bc - float max_duration; // 0x12c0 - float m_flDamageInterval; // 0x12c4 - float m_flTimeIncrement; // 0x12c8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Aghsfort_Viper_NethertoxinMute : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Flying : public CDOTA_Buff -{ -public: - int32_t m_nRadius; // 0x12b8 - float duration; // 0x12bc -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Aura : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin : public CDOTA_Buff -{ -public: - int32_t bonus_magic_resistance; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Speed_Steal : public CDOTA_Buff -{ -public: - float m_flFactor; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Slow : public CDOTA_Buff -{ -public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t damage; // 0x12bc -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_Aghsfort_Viper_ViperStrike_Slow : public CDOTA_Buff -{ -public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc - int32_t damage; // 0x12c0 - bool m_bTargetedAlly; // 0x12c4 + Vector m_PositionIndex[11]; // 0x12c8 + float m_flLife[11]; // 0x134c + float m_flMana[11]; // 0x1378 + bool m_bHasValidHistory; // 0x13a4 }; // Alignment: 4 // Size: 0x12e0 -class CDOTA_Modifier_Aghsfort_Special_Viper_Periodic_Strike : public CDOTA_Buff +class CDOTA_Modifier_Aghsfort_Special_Weaver_Shukuchi_Trail_Thinker : public CDOTA_Buff { public: - float fire_rate; // 0x12b8 - int32_t radius; // 0x12bc - int32_t m_nTargetTeam; // 0x12c0 -private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 -public: - CUtlVector< CHandle< C_BaseEntity > > m_hAlreadyHit; // 0x12c8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Passive : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 11 -// Size: 0x1320 -class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_Unit : public CDOTA_Buff -{ -public: - Vector m_vFacingDir; // 0x12b8 -private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 -public: - CUtlVector< CHandle< C_BaseEntity > > m_hWatchPathThinkers; // 0x12c8 - ParticleIndex_t m_nBeamFXIndex; // 0x12e0 -private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 -public: - 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 + Vector m_vPathDir; // 0x12c8 + int32_t path_radius; // 0x12d4 + float linger_duration; // 0x12d8 + float flDamage; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_WatchThinker : public CDOTA_Buff -{ -public: - int32_t remnant_watch_radius; // 0x12b8 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_AghsFort_VoidSpiritBoss_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_AghsFort_VoidSpiritBoss_AetherRemnantThinker : public CDOTA_Buff -{ -public: - int32_t radius; // 0x12b8 - Vector m_vFacingDir; // 0x12bc - CHandle< C_BaseEntity > m_hRemnant; // 0x12c8 - bool m_bTriggered; // 0x12cc -private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd -public: - float m_flCurThink; // 0x12d0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnantUnit_Truesight : public CDOTA_Buff -{ -public: - int32_t m_nRadius; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter -{ -public: - // No members available -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Debuff : public CDOTA_Buff -{ -public: - ParticleIndex_t m_nFXStackIndex; // 0x12b8 - int32_t movement_slow_pct; // 0x12bc - int32_t pop_damage; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Caster : public CDOTA_Buff -{ -public: - int32_t bonus_damage; // 0x12b8 -}; - -// Alignment: 19 -// Size: 0x1358 -class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Phase : public CDOTA_Buff -{ -public: - Vector m_vFirstPortalPos; // 0x12b8 -private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 -public: - 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 __pad131c[0x4]; // 0x131c -public: - 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: 0x12c8 -class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Invis : public CDOTA_Modifier_Invisible -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x12c8 -class CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_PhysicalBuff : public CDOTA_Buff -{ -public: - int32_t base_absorb_amount; // 0x12b8 - int32_t m_nAbsorbRemaining; // 0x12bc -}; - -// Alignment: 8 -// Size: 0x12f0 -class CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_Ring : public CDOTA_Buff -{ -public: - 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: 0x12d0 -class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Thinker : public CDOTA_Buff +class CDOTA_Modifier_Aghsfort_Special_Weaver_Shukuchi_Trail_Burn : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float duration; // 0x12bc - float damage_delay; // 0x12c0 - int32_t m_nShrapnelPct; // 0x12c4 - bool m_bExploded; // 0x12c8 -}; - -// Alignment: 0 -// Size: 0x12d0 -class CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Thinker : public CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Thinker -{ -public: - // No members available -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Slow : public CDOTA_Buff -{ -public: - float m_fAccumulatedDamage; // 0x12b8 - int32_t shrapnel_damage; // 0x12bc - int32_t slow_movement_speed; // 0x12c0 - int32_t miss_chance; // 0x12c4 -}; - -// Alignment: 0 -// Size: 0x12c8 -class CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Slow : public CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Slow -{ -public: - // No members available -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed : public CDOTA_Buff -{ -public: - int32_t value; // 0x12b8 - float value2; // 0x12bc - int32_t m_nAttackSpeedBonus; // 0x12c0 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed_Decrementer : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 8 -// Size: 0x1308 -class CDOTA_Modifier_AghsFort_Sniper_Headshot : public CDOTA_Buff -{ -public: - 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 __pad12cc[0x4]; // 0x12cc -public: - CUtlVector< int16 > m_vHeadshotRecords; // 0x12d0 - CUtlVector< int16 > m_vHeadshotAssassinateRecords; // 0x12e8 - int32_t m_nCritPct; // 0x1300 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Aghsfort_Sniper_Shotgun : public CDOTA_Buff -{ -public: - // No members available + float flDamage; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Sniper_Headshot_Slow : public CDOTA_Buff -{ -public: - int32_t slow; // 0x12b8 - int32_t slow_vs_considered_hero; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Sniper_TakeAim : public CDOTA_Buff -{ -public: - int32_t bonus_attack_range; // 0x12b8 - int32_t active_attack_range_multiplier; // 0x12bc -}; - -// Alignment: 5 // Size: 0x12e8 -class CDOTA_Modifier_AghsFort_Sniper_TakeAim_Bonus : public CDOTA_Buff +class CDOTA_Modifier_Aghsfort_Viper_PoisonAttack : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 - int32_t m_nAttackSpeedPerAttack; // 0x12bc - int32_t m_nShrapnelPct; // 0x12c0 - bool m_bNoCollision; // 0x12c4 -private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 -public: - CUtlVector< CHandle< C_BaseEntity > > m_vecArtilleryEnemies; // 0x12c8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Sniper_TakeAim_ArmorReduction : public CDOTA_Buff -{ -public: - int32_t value2; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Sniper_TakeAim_RapidFire : public CDOTA_Buff -{ -public: - int32_t value2; // 0x12b8 - int32_t value3; // 0x12bc -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AghsFort_Sniper_TakeAim_AOE_Marked : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AghsFort_Sniper_TakeAim_HopBackwards : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AghsFort_Sniper_Assassinate : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Aghsfort_Special_Sniper_Assassinate_Killshot : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Sniper_Concussive_Grenade : public CDOTA_Buff -{ -public: - int32_t slow; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Sniper_Headshot_ArmorReduction : public CDOTA_Buff -{ -public: - int32_t armor_reduction; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_EarthSpiritBoss_StoneThinker : public CDOTA_Buff -{ -public: - bool m_bHasBeenMagnetized; // 0x12b8 -private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 -public: - ParticleIndex_t m_nFXIndex; // 0x12bc -}; - -// 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: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AghsFort_EarthSpiritBoss_RollingBoulder_Caster : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash_Debuff : public CDOTA_Buff -{ -public: - int32_t move_slow; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeogmagneticGrip_Debuff : public CDOTA_Modifier_Silence -{ -public: - // No members available -}; - -// Alignment: 10 -// Size: 0x1308 -class CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeomagneticGrip : public CDOTA_Buff -{ -public: - 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 __pad12d1[0x3]; // 0x12d1 -public: - Vector m_vDestination; // 0x12d4 - Vector m_vLocation; // 0x12e0 -private: - [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec -public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12f0 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_EarthSpiritBoss_Petrify : public CDOTA_Buff -{ -public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - bool m_bHasBeenMagnetized; // 0x12bc -}; - -// Alignment: 10 -// Size: 0x12f8 -class CDOTA_Modifier_AghsFort_EarthSpiritBoss_Magnetize : public CDOTA_Buff -{ -public: - 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 __pad12d4[0x4]; // 0x12d4 -public: - CUtlVector< CHandle< C_BaseEntity > > m_hExplodedRocks; // 0x12d8 - float duration; // 0x12f0 - bool m_bShowOverhead; // 0x12f4 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Cooldown_Reduction : public CDOTA_Buff -{ -public: - float cooldown_reduction_per_hit; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Multicast : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura : public CDOTA_Buff -{ -public: - int32_t radius; // 0x12b8 -}; - -// Alignment: 6 -// Size: 0x12d0 -class CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura_Effect : public CDOTA_Buff -{ -public: - 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: 0x12c8 -class CDOTA_Modifier_Aghsfort_Omniknight_Repel : public CDOTA_Buff -{ -public: - int32_t damage_reduction; // 0x12b8 - float hp_regen; // 0x12bc - int32_t bonus_str; // 0x12c0 - int32_t damage_increase_outgoing_pct; // 0x12c4 -}; - -// Alignment: 5 -// Size: 0x12d0 -class CDOTA_Modifier_Aghsfort_Omniknight_GuardianAngel : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_AghsFort_Omniknight_Repel_Damage_Instance_Refraction : public CDOTA_Buff -{ -public: - int32_t damage_threshold; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12e8 -class CDOTA_Modifier_Aghsfort_Omniknight_Repel_Knockback : public CDOTA_Modifier_Knockback -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AghsFort_Special_Omniknight_Guardian_Angel_Single_Target_Dummy : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_WitchDoctor_Cask_Thinker : public CDOTA_Buff -{ -public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 - int32_t remaining_bounces; // 0x12bc -}; - -// Alignment: 0 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Aura : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 5 -// Size: 0x12d0 -class CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Heal : public CDOTA_Buff -{ -public: - 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: 0x12b8 -class CDOTA_Modifier_Aghsfort_WitchDoctor_MaledictDoT : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 6 -// Size: 0x12d8 -class CDOTA_Modifier_Aghsfort_WitchDoctor_Maledict : public CDOTA_Buff -{ -public: - 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: 0x12d0 -class CDOTA_Modifier_Aghsfort_WitchDoctor_DeathWard : public CDOTA_Buff -{ -public: - int32_t bonus_damage; // 0x12b8 - int32_t m_iBounceRadius; // 0x12bc - bool m_bFirstAttack; // 0x12c0 -private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 -public: - int32_t m_iBounces; // 0x12c4 - ParticleIndex_t m_nStaffParticle; // 0x12c8 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Aghsfort_Special_WitchDoctor_ParalyzingCask_Attack_Procs : public CDOTA_Buff -{ -public: - int32_t cask_chance; // 0x12b8 - int32_t cask_cooldown; // 0x12bc - GameTime_t flLastProcTime; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Special_WitchDoctor_DeathWard_Damage_Resist : public CDOTA_Buff -{ -public: - int32_t damage_reduction; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12c8 -class CDOTA_Aghsfort_Modifier_WitchDoctor_ForceKill : public CDOTA_Modifier_Invisible -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AghsFort_Special_Witch_Doctor_Death_Ward_No_Channel : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 3 -// Size: 0x1300 -class CDOTA_Modifier_Aghsfort_Special_Witch_Doctor_Death_Ward_Splitshot : public CDOTA_Buff -{ -public: - int32_t damage_modifier; // 0x12b8 - int32_t split_shot_bonus_range; // 0x12bc - int32_t split_shot_count; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionDamage : public CDOTA_Buff -{ -public: - int32_t bonus_damage; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionAbsorb : public CDOTA_Buff -{ -public: - int32_t damage_threshold; // 0x12b8 - int32_t max_damage_absorb; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld_Animation : public CDOTA_Buff -{ -public: - bool launched_attack; // 0x12b8 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld : public CDOTA_Buff -{ -public: - int32_t bonus_damage; // 0x12b8 - bool launched_attack; // 0x12bc -private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd -public: - CHandle< C_BaseEntity > m_hTarget; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_TemplarAssassin_MeldArmor : public CDOTA_Buff -{ -public: - int32_t bonus_armor; // 0x12b8 -}; - -// Alignment: 5 -// Size: 0x12d0 -class CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades_Slow : public CDOTA_Buff -{ -public: - int32_t value; // 0x12b8 -}; - -// Alignment: 6 -// Size: 0x12d0 -class CDOTA_Modifier_Aghsfort_TemplarAssassin_Psionic_Trap_Thinker : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Aghsfort_TemplarAssassin_Trap_Slow : public CDOTA_Buff -{ -public: - int32_t movement_speed_slow; // 0x12b8 - int32_t trap_damage; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Aghsfort_TemplarAssassin_Refraction_Holdout : public CDOTA_Buff -{ -public: - int32_t bonus_damage; // 0x12b8 - int32_t damage_absorb; // 0x12bc - float m_flDamageAbsorbed; // 0x12c0 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Special_Templar_Assassin_PsiBlades_AutoAttack : public CDOTA_Buff -{ -public: - float fire_rate; // 0x12b8 - int32_t radius; // 0x12bc -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AghsFort_Special_Templar_Assassin_Trap_Illusion : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Aghsfort_Slark_DarkPact : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 6 -// Size: 0x12d0 -class CDOTA_Modifier_Aghsfort_Slark_DarkPact_Pulses : public CDOTA_Buff -{ -public: - 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: 0x12f0 -class CDOTA_Modifier_Aghsfort_Slark_Pounce : public CDOTA_Buff -{ -public: - 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: 0x12d8 -class CDOTA_Modifier_Aghsfort_Slark_Pounce_Leash : public CDOTA_Buff -{ -public: - int32_t leash_radius; // 0x12b8 - Vector vLeashLocation; // 0x12bc - bool m_bEscaped; // 0x12c8 -private: - [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 -public: - float pounce_damage_multiplier; // 0x12cc - int32_t pounce_damage; // 0x12d0 -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Counter : public CDOTA_Buff -{ -public: - int32_t max_stacks; // 0x12b8 - int32_t passive_agility; // 0x12bc - GameTime_t flLastProcTime; // 0x12c0 - float debuff_duration; // 0x12c4 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Active : public CDOTA_Buff -{ -public: - int32_t agi_gain; // 0x12b8 - int32_t iPrimaryAttribute; // 0x12bc - float model_scale; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Slark_Essence_Shift_Debuff : public CDOTA_Buff -{ -public: - int32_t reduction; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Aura : public CDOTA_Buff -{ -public: - int32_t scepter_aoe; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_PassiveRegen : public CDOTA_Buff -{ -public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t bonus_regen_pct; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12d8 -class CDOTA_Modifier_Aghsfort_Slark_ShadowDance : public CDOTA_Modifier_Invisible -{ -public: - CHandle< C_BaseEntity > m_hVisibleEntity; // 0x12c8 - ParticleIndex_t m_nFXIndex; // 0x12cc - GameTime_t flLastPulseTime; // 0x12d0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Visual : public CDOTA_Buff -{ -public: - bool m_bScepter; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Leashed_Bonus : public CDOTA_Buff -{ -public: - int32_t attack_speed_bonus; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c8 -class CDOTA_Modifier_Aghsfort_Special_Slark_Shadow_Dance_Leash : public CDOTA_Buff -{ -public: - Vector m_vPullLocation; // 0x12b8 - float pull_speed; // 0x12c4 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Projectiles : public CDOTA_Buff -{ -public: - // No members available -}; - -// 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: 0x12c0 -class CDOTA_Modifier_AghsFort_Special_QueenOfPain_Blink_AttackSpeed : public CDOTA_Buff -{ -public: - int32_t bonus_attack_speed; // 0x12b8 -}; - -// Alignment: 6 -// Size: 0x12d8 -class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Thinker : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Burn : public CDOTA_Buff -{ -public: - float flDamage; // 0x12b8 - float burn_interval; // 0x12bc -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_ShadowStrike_On_Attack : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Aghsfort_QueenOfPain_Blink_Scream_Thinker : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12e8 -class CDOTA_Modifier_Aghsfort_QueenOfPain_Scream_Knockback : public CDOTA_Modifier_Knockback -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_SonicWave_AttackBuff : public CDOTA_Buff -{ -public: - int32_t spell_amp; // 0x12b8 - int32_t bonus_damage; // 0x12bc -}; - -// Alignment: 4 -// Size: 0x12d0 -class CDOTA_Modifier_Aghsfort_TuskBoss_IceShard : public CDOTA_Buff -{ -public: - Vector m_vPos; // 0x12b8 - int32_t radius; // 0x12c4 - float damage; // 0x12c8 - float explosion_interval; // 0x12cc -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Target : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Visible : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement_Friendly : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 9 -// Size: 0x12f8 -class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch : public CDOTA_Buff -{ -public: - int32_t crit_multiplier; // 0x12b8 - float air_time; // 0x12bc - float slow_duration; // 0x12c0 -private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 -public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12c8 - CHandle< C_BaseEntity > m_hTarget; // 0x12d0 - bool m_bWalrusPunch; // 0x12d4 - bool m_bPunchKill; // 0x12d5 -private: - [[maybe_unused]] uint8_t __pad12d6[0x2]; // 0x12d6 -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 - ParticleIndex_t m_nFXIndex; // 0x12f0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_Slow : public CDOTA_Buff -{ -public: - int32_t move_slow; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_AirTime : public CDOTA_Buff -{ -public: - int32_t hp_threshold; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Aura : public CDOTA_Buff -{ -public: - int32_t radius; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team : public CDOTA_Buff -{ -public: - int32_t bonus_damage; // 0x12b8 - float slow_duration; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Slow : public CDOTA_Buff -{ -public: - int32_t movement_slow; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AghsFort_Special_TuskBoss_Ice_Shards_Explode_Dummy : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 5 -// Size: 0x12d0 -class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_AghsFort_Undying_Tombstone_HP : public CDOTA_Buff -{ -public: - int32_t tombstone_health; // 0x12b8 - int32_t bonus_health; // 0x12bc -}; - -// Alignment: 8 -// Size: 0x12d8 -class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Aura : public CDOTA_Buff -{ -public: - 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: 0x12c8 -class CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker : public CDOTA_Buff -{ -public: - 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: 0x12b8 -class CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker_Friendly : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_AghsFort_Undying_Decay_BuffCounter : public CDOTA_Buff -{ -public: - float m_fStrengthStolen; // 0x12b8 - float model_scale_per_strength; // 0x12bc - float model_scale_max; // 0x12c0 -}; - -// Alignment: 6 -// Size: 0x12d0 -class CDOTA_Modifier_AghsFort_Undying_Decay_Thinker : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_AghsFort_Undying_Decay_Buff : public CDOTA_Buff -{ -public: - float str_stolen; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Undying_Decay_On_Attack : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_AghsFort_Undying_SoulRipWard : public CDOTA_Buff -{ -public: - int32_t ward_radius; // 0x12b8 - int32_t explosion_damage; // 0x12bc - float taunt_interval; // 0x12c0 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Undying_SoulRip_Share_Strength : public CDOTA_Buff -{ -public: - float str_gain; // 0x12b8 - int32_t model_scale; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow : public CDOTA_Buff -{ -public: - int32_t slow; // 0x12b8 - float m_flDecrementTime; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow_Counter : public CDOTA_Buff -{ -public: - int32_t slow; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathlust : public CDOTA_Buff -{ -public: - int32_t bonus_move_speed; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Modifier : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AghsFort_Undying_Exploding_Zombie : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AghsFort_Undying_ConsumeZombies_Counter : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Special_Undying_ConsumeZombies_Buff : public CDOTA_Buff -{ -public: - int32_t bonus_move_speed_per_stack; // 0x12b8 - int32_t bonus_attack_speed_per_stack; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Undying_FleshGolem : public CDOTA_Buff -{ -public: - int32_t str_percentage; // 0x12b8 - int32_t movement_bonus; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Undying_FleshGolem_Slow : public CDOTA_Buff -{ -public: - int32_t damage_amp; // 0x12b8 - int32_t slow; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_AghsFort_Undying_FleshGolem_PlagueAura : public CDOTA_Buff -{ -public: - int32_t slow; // 0x12b8 - int32_t damage; // 0x12bc - float tick_rate; // 0x12c0 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AghsFort_Undying_Tombstone_Death_Trigger : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Aghsfort_Special_Undying_ConsumeZombies_Dummy : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Aghsfort_Lina_DragonSlave_Ignite : public CDOTA_Buff -{ -public: - float burn_interval; // 0x12b8 - float burn_damage; // 0x12bc - int32_t mana_restore; // 0x12c0 -}; - -// Alignment: 11 -// Size: 0x12f8 -class CDOTA_Modifier_Aghsfort_Lina_LightStrikeArray_Thinker : public CDOTA_Buff -{ -public: - 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: 0x12c8 -class CDOTA_Modifier_Aghsfort_Special_Lina_Light_Strike_Array_Vacuum : public CDOTA_Buff -{ -public: - float pull_speed; // 0x12b8 - Vector vPullLocation; // 0x12bc -}; - -// Alignment: 7 -// Size: 0x12e8 -class CDOTA_Modifier_Aghsfort_Lina_FierySoul_Active : public CDOTA_Buff -{ -public: - int32_t attack_range_per_stack; // 0x12b8 - bool m_bShouldReset; // 0x12bc - bool m_bIsActive; // 0x12bd -private: - [[maybe_unused]] uint8_t __pad12be[0x2]; // 0x12be -public: - int32_t fiery_soul_attack_speed_bonus; // 0x12c0 - float fiery_soul_move_speed_bonus; // 0x12c4 - ParticleIndex_t m_nFXIndex; // 0x12c8 + float duration; // 0x12c8 private: [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: @@ -9515,31 +8096,1499 @@ public: }; // Alignment: 6 -// Size: 0x12d0 -class CDOTA_Modifier_Aghsfort_Lina_FierySoul : public CDOTA_Buff +// Size: 0x12e0 +class CDOTA_Modifier_Aghsfort_Viper_PoisonAttack_Slow : public CDOTA_Buff { public: - 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 + float damage; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t magic_resistance; // 0x12d0 + float m_flAccumDamage; // 0x12d4 + float m_flPoisonSnapCounter; // 0x12d8 + int32_t m_nPoisonSnapThreshold; // 0x12dc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Viper_Nethertoxin_Thinker : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Aghsfort_Viper_Nethertoxin : public CDOTA_Buff +{ +public: + int32_t min_damage; // 0x12c8 + int32_t max_damage; // 0x12cc + float max_duration; // 0x12d0 + float m_flDamageInterval; // 0x12d4 + float m_flTimeIncrement; // 0x12d8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Aghsfort_Viper_NethertoxinMute : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Flying : public CDOTA_Buff +{ +public: + int32_t m_nRadius; // 0x12c8 + float duration; // 0x12cc +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Aura : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin : public CDOTA_Buff +{ +public: + int32_t bonus_magic_resistance; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Speed_Steal : public CDOTA_Buff +{ +public: + float m_flFactor; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Slow : public CDOTA_Buff +{ +public: + int32_t bonus_attack_speed; // 0x12c8 + int32_t damage; // 0x12cc }; // Alignment: 4 // Size: 0x12d8 -class CDOTA_Modifier_Aghsfort_Lina_LagunaBlade_Line : public CDOTA_Buff +class CDOTA_Modifier_Aghsfort_Viper_ViperStrike_Slow : public CDOTA_Buff { public: - Vector vStart; // 0x12b8 - Vector vEnd; // 0x12c4 - float damage_delay; // 0x12d0 - CHandle< C_BaseEntity > m_hMainTarget; // 0x12d4 + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t damage; // 0x12d0 + bool m_bTargetedAlly; // 0x12d4 +}; + +// Alignment: 4 +// Size: 0x12f0 +class CDOTA_Modifier_Aghsfort_Special_Viper_Periodic_Strike : public CDOTA_Buff +{ +public: + float fire_rate; // 0x12c8 + int32_t radius; // 0x12cc + int32_t m_nTargetTeam; // 0x12d0 +private: + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 +public: + CUtlVector< CHandle< C_BaseEntity > > m_hAlreadyHit; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Passive : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 11 +// Size: 0x1330 +class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_Unit : public CDOTA_Buff +{ +public: + Vector m_vFacingDir; // 0x12c8 +private: + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 +public: + CUtlVector< CHandle< C_BaseEntity > > m_hWatchPathThinkers; // 0x12d8 + ParticleIndex_t m_nBeamFXIndex; // 0x12f0 +private: + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 +public: + CUtlVector< int32 > m_nViewerIDs; // 0x12f8 + int32_t remnant_watch_distance; // 0x1310 + int32_t remnant_watch_radius; // 0x1314 + float duration; // 0x1318 + int32_t watch_path_vision_radius; // 0x131c + int32_t impact_damage; // 0x1320 + float pull_duration; // 0x1324 + float activation_delay; // 0x1328 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_WatchThinker : public CDOTA_Buff +{ +public: + int32_t remnant_watch_radius; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_Pull : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXIndex; // 0x12c8 + PlayerID_t m_nPlayerID; // 0x12cc + float think_interval; // 0x12d0 +}; + +// Alignment: 5 +// Size: 0x12e8 +class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnantThinker : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 + Vector m_vFacingDir; // 0x12cc + CHandle< C_BaseEntity > m_hRemnant; // 0x12d8 + bool m_bTriggered; // 0x12dc +private: + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd +public: + float m_flCurThink; // 0x12e0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnantUnit_Truesight : public CDOTA_Buff +{ +public: + int32_t m_nRadius; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Debuff : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXStackIndex; // 0x12c8 + int32_t movement_slow_pct; // 0x12cc + int32_t pop_damage; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Caster : public CDOTA_Buff +{ +public: + int32_t bonus_damage; // 0x12c8 +}; + +// Alignment: 19 +// Size: 0x1368 +class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Phase : public CDOTA_Buff +{ +public: + Vector m_vFirstPortalPos; // 0x12c8 +private: + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 +public: + CUtlVector< Vector > m_vecDestinations; // 0x12d8 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x12f0 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1308 + int32_t m_nCurrentDestinationIndex; // 0x1320 + int32_t m_nClosestIndexPosToClick; // 0x1324 + int32_t m_nPortalHeightOffset; // 0x1328 +private: + [[maybe_unused]] uint8_t __pad132c[0x4]; // 0x132c +public: + char* m_szAlliesPortalFX; // 0x1330 + char* m_szEnemiesPortalFX; // 0x1338 + int32_t m_nPortalRadius; // 0x1340 + int32_t m_nPortalPadding; // 0x1344 + int32_t m_nFinalImpactDamageRadius; // 0x1348 + int32_t m_nFinalImpactFXRadius; // 0x134c + int32_t destination_fx_radius; // 0x1350 + int32_t damage_radius; // 0x1354 + int32_t portals_per_ring; // 0x1358 + int32_t angle_per_ring_portal; // 0x135c + int32_t first_ring_distance_offset; // 0x1360 + float debuff_duration; // 0x1364 +}; + +// Alignment: 0 +// Size: 0x12d8 +class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Invis : public CDOTA_Modifier_Invisible +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d8 +class CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_PhysicalBuff : public CDOTA_Buff +{ +public: + int32_t base_absorb_amount; // 0x12c8 + int32_t m_nAbsorbRemaining; // 0x12cc +}; + +// Alignment: 8 +// Size: 0x1300 +class CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_Ring : public CDOTA_Buff +{ +public: + float m_fLastRadius; // 0x12c8 + float m_fCurRadius; // 0x12cc + GameTime_t m_fLastThink; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12d8 + int32_t speed; // 0x12f0 + int32_t radius; // 0x12f4 + int32_t damage; // 0x12f8 +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Thinker : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 + float duration; // 0x12cc + float damage_delay; // 0x12d0 + int32_t m_nShrapnelPct; // 0x12d4 + bool m_bExploded; // 0x12d8 +}; + +// Alignment: 0 +// Size: 0x12e0 +class CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Thinker : public CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Thinker +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Slow : public CDOTA_Buff +{ +public: + float m_fAccumulatedDamage; // 0x12c8 + int32_t shrapnel_damage; // 0x12cc + int32_t slow_movement_speed; // 0x12d0 + int32_t miss_chance; // 0x12d4 +}; + +// Alignment: 0 +// Size: 0x12d8 +class CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Slow : public CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Slow +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed : public CDOTA_Buff +{ +public: + int32_t value; // 0x12c8 + float value2; // 0x12cc + int32_t m_nAttackSpeedBonus; // 0x12d0 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed_Decrementer : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 8 +// Size: 0x1318 +class CDOTA_Modifier_AghsFort_Sniper_Headshot : public CDOTA_Buff +{ +public: + int32_t proc_chance; // 0x12c8 + float slow_duration; // 0x12cc + int32_t damage; // 0x12d0 + int32_t knockback_distance; // 0x12d4 + GameTime_t m_fLastStunProcTime; // 0x12d8 +private: + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc +public: + CUtlVector< int16 > m_vHeadshotRecords; // 0x12e0 + CUtlVector< int16 > m_vHeadshotAssassinateRecords; // 0x12f8 + int32_t m_nCritPct; // 0x1310 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Aghsfort_Sniper_Shotgun : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Sniper_Headshot_Slow : public CDOTA_Buff +{ +public: + int32_t slow; // 0x12c8 + int32_t slow_vs_considered_hero; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Sniper_TakeAim : public CDOTA_Buff +{ +public: + int32_t bonus_attack_range; // 0x12c8 + int32_t active_attack_range_multiplier; // 0x12cc +}; + +// Alignment: 5 +// Size: 0x12f8 +class CDOTA_Modifier_AghsFort_Sniper_TakeAim_Bonus : public CDOTA_Buff +{ +public: + int32_t slow; // 0x12c8 + int32_t m_nAttackSpeedPerAttack; // 0x12cc + int32_t m_nShrapnelPct; // 0x12d0 + bool m_bNoCollision; // 0x12d4 +private: + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 +public: + CUtlVector< CHandle< C_BaseEntity > > m_vecArtilleryEnemies; // 0x12d8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Sniper_TakeAim_ArmorReduction : public CDOTA_Buff +{ +public: + int32_t value2; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Sniper_TakeAim_RapidFire : public CDOTA_Buff +{ +public: + int32_t value2; // 0x12c8 + int32_t value3; // 0x12cc +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_Sniper_TakeAim_AOE_Marked : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_Sniper_TakeAim_HopBackwards : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_Sniper_Assassinate : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Aghsfort_Special_Sniper_Assassinate_Killshot : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Sniper_Concussive_Grenade : public CDOTA_Buff +{ +public: + int32_t slow; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Sniper_Headshot_ArmorReduction : public CDOTA_Buff +{ +public: + int32_t armor_reduction; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_EarthSpiritBoss_StoneThinker : public CDOTA_Buff +{ +public: + bool m_bHasBeenMagnetized; // 0x12c8 +private: + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 +public: + ParticleIndex_t m_nFXIndex; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash : public CDOTA_Buff +{ +public: + bool m_bInterrupted; // 0x12c8 +private: + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 +public: + int32_t m_nProjectileID; // 0x12cc +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_EarthSpiritBoss_RollingBoulder_Caster : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash_Debuff : public CDOTA_Buff +{ +public: + int32_t move_slow; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeogmagneticGrip_Debuff : public CDOTA_Modifier_Silence +{ +public: + // No members available +}; + +// Alignment: 10 +// Size: 0x1318 +class CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeomagneticGrip : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 + int32_t rock_damage; // 0x12cc + float pull_units_per_second; // 0x12d0 + float pull_units_per_second_heroes; // 0x12d4 + float total_pull_distance; // 0x12d8 + float duration; // 0x12dc + bool m_bUsedStone; // 0x12e0 +private: + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 +public: + Vector m_vDestination; // 0x12e4 + Vector m_vLocation; // 0x12f0 +private: + [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc +public: + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1300 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_EarthSpiritBoss_Petrify : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXIndex; // 0x12c8 + bool m_bHasBeenMagnetized; // 0x12cc +}; + +// Alignment: 10 +// Size: 0x1308 +class CDOTA_Modifier_AghsFort_EarthSpiritBoss_Magnetize : public CDOTA_Buff +{ +public: + int32_t rock_search_radius; // 0x12c8 + int32_t damage_per_second; // 0x12cc + float damage_interval; // 0x12d0 + float rock_explosion_delay; // 0x12d4 + float damage_duration; // 0x12d8 + int32_t cast_radius; // 0x12dc + int32_t rock_explosion_radius; // 0x12e0 +private: + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 +public: + CUtlVector< CHandle< C_BaseEntity > > m_hExplodedRocks; // 0x12e8 + float duration; // 0x1300 + bool m_bShowOverhead; // 0x1304 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Cooldown_Reduction : public CDOTA_Buff +{ +public: + float cooldown_reduction_per_hit; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Multicast : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 +}; + +// Alignment: 6 +// Size: 0x12e0 +class CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura_Effect : public CDOTA_Buff +{ +public: + int32_t move_speed_bonus; // 0x12c8 + int32_t attack_speed_bonus; // 0x12cc + float damage_interval; // 0x12d0 + int32_t attack_damage_pct; // 0x12d4 + int32_t death_heal; // 0x12d8 + bool bIsAllied; // 0x12dc +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Aghsfort_Omniknight_Repel : public CDOTA_Buff +{ +public: + int32_t damage_reduction; // 0x12c8 + float hp_regen; // 0x12cc + int32_t bonus_str; // 0x12d0 + int32_t damage_increase_outgoing_pct; // 0x12d4 +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Aghsfort_Omniknight_GuardianAngel : public CDOTA_Buff +{ +public: + int32_t hp_regen; // 0x12c8 + int32_t magic_resistance; // 0x12cc + int32_t purification_trigger_chance; // 0x12d0 + float purification_trigger_cooldown; // 0x12d4 + GameTime_t m_fLastProc; // 0x12d8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Omniknight_Repel_Damage_Instance_Refraction : public CDOTA_Buff +{ +public: + int32_t damage_threshold; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12f8 +class CDOTA_Modifier_Aghsfort_Omniknight_Repel_Knockback : public CDOTA_Modifier_Knockback +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_Special_Omniknight_Guardian_Angel_Single_Target_Dummy : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_WitchDoctor_Cask_Thinker : public CDOTA_Buff +{ +public: + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + int32_t remaining_bounces; // 0x12cc +}; + +// Alignment: 0 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Aura : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Heal : public CDOTA_Buff +{ +public: + int32_t heal; // 0x12c8 + float mana_per_second; // 0x12cc + float heal_interval; // 0x12d0 + int32_t lifesteal_percent; // 0x12d4 + int32_t spell_lifesteal_pct; // 0x12d8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Aghsfort_WitchDoctor_MaledictDoT : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 6 +// Size: 0x12e8 +class CDOTA_Modifier_Aghsfort_WitchDoctor_Maledict : public CDOTA_Buff +{ +public: + int32_t m_iStartHealth; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t bonus_damage_threshold; // 0x12d0 + int32_t max_bonus_damage; // 0x12d4 + int32_t ticks; // 0x12d8 + int32_t iCurrentTick; // 0x12dc +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Aghsfort_WitchDoctor_DeathWard : public CDOTA_Buff +{ +public: + int32_t bonus_damage; // 0x12c8 + int32_t m_iBounceRadius; // 0x12cc + bool m_bFirstAttack; // 0x12d0 +private: + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 +public: + int32_t m_iBounces; // 0x12d4 + ParticleIndex_t m_nStaffParticle; // 0x12d8 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Aghsfort_Special_WitchDoctor_ParalyzingCask_Attack_Procs : public CDOTA_Buff +{ +public: + int32_t cask_chance; // 0x12c8 + int32_t cask_cooldown; // 0x12cc + GameTime_t flLastProcTime; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Special_WitchDoctor_DeathWard_Damage_Resist : public CDOTA_Buff +{ +public: + int32_t damage_reduction; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12d8 +class CDOTA_Aghsfort_Modifier_WitchDoctor_ForceKill : public CDOTA_Modifier_Invisible +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_Special_Witch_Doctor_Death_Ward_No_Channel : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x1310 +class CDOTA_Modifier_Aghsfort_Special_Witch_Doctor_Death_Ward_Splitshot : public CDOTA_Buff +{ +public: + int32_t damage_modifier; // 0x12c8 + int32_t split_shot_bonus_range; // 0x12cc + int32_t split_shot_count; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionDamage : public CDOTA_Buff +{ +public: + int32_t bonus_damage; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionAbsorb : public CDOTA_Buff +{ +public: + int32_t damage_threshold; // 0x12c8 + int32_t max_damage_absorb; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld_Animation : public CDOTA_Buff +{ +public: + bool launched_attack; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld : public CDOTA_Buff +{ +public: + int32_t bonus_damage; // 0x12c8 + bool launched_attack; // 0x12cc +private: + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd +public: + CHandle< C_BaseEntity > m_hTarget; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_TemplarAssassin_MeldArmor : public CDOTA_Buff +{ +public: + int32_t bonus_armor; // 0x12c8 +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades : public CDOTA_Buff +{ +public: + int32_t bonus_attack_range; // 0x12c8 + float attack_spill_range; // 0x12cc + int32_t attack_spill_width; // 0x12d0 + int32_t attack_spill_pct; // 0x12d4 + int32_t attack_spill_penalty; // 0x12d8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades_Slow : public CDOTA_Buff +{ +public: + int32_t value; // 0x12c8 +}; + +// Alignment: 6 +// Size: 0x12e0 +class CDOTA_Modifier_Aghsfort_TemplarAssassin_Psionic_Trap_Thinker : public CDOTA_Buff +{ +public: + int32_t trap_radius; // 0x12c8 + float trap_delay_time; // 0x12cc + float slow_duration; // 0x12d0 + int32_t max_pulses; // 0x12d4 + int32_t iCurrentPulse; // 0x12d8 + CHandle< C_BaseEntity > m_hImage; // 0x12dc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_TemplarAssassin_Trap_Slow : public CDOTA_Buff +{ +public: + int32_t movement_speed_slow; // 0x12c8 + int32_t trap_damage; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Aghsfort_TemplarAssassin_Refraction_Holdout : public CDOTA_Buff +{ +public: + int32_t bonus_damage; // 0x12c8 + int32_t damage_absorb; // 0x12cc + float m_flDamageAbsorbed; // 0x12d0 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Special_Templar_Assassin_PsiBlades_AutoAttack : public CDOTA_Buff +{ +public: + float fire_rate; // 0x12c8 + int32_t radius; // 0x12cc +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_Special_Templar_Assassin_Trap_Illusion : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Aghsfort_Slark_DarkPact : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 6 +// Size: 0x12e0 +class CDOTA_Modifier_Aghsfort_Slark_DarkPact_Pulses : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 + float total_damage; // 0x12cc + int32_t total_pulses; // 0x12d0 + int32_t heal_pct; // 0x12d4 + float pulse_interval; // 0x12d8 + bool bIsBaseAbility; // 0x12dc +}; + +// Alignment: 8 +// Size: 0x1300 +class CDOTA_Modifier_Aghsfort_Slark_Pounce : public CDOTA_Buff +{ +public: + CUtlVector< CHandle< C_BaseEntity > > hitEntities; // 0x12c8 + int32_t pounce_distance; // 0x12e0 + int32_t pounce_distance_default; // 0x12e4 + float pounce_speed; // 0x12e8 + float pounce_acceleration; // 0x12ec + int32_t pounce_radius; // 0x12f0 + int32_t pounce_damage; // 0x12f4 + float leash_duration; // 0x12f8 +}; + +// Alignment: 5 +// Size: 0x12e8 +class CDOTA_Modifier_Aghsfort_Slark_Pounce_Leash : public CDOTA_Buff +{ +public: + int32_t leash_radius; // 0x12c8 + Vector vLeashLocation; // 0x12cc + bool m_bEscaped; // 0x12d8 +private: + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 +public: + float pounce_damage_multiplier; // 0x12dc + int32_t pounce_damage; // 0x12e0 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Counter : public CDOTA_Buff +{ +public: + int32_t max_stacks; // 0x12c8 + int32_t passive_agility; // 0x12cc + GameTime_t flLastProcTime; // 0x12d0 + float debuff_duration; // 0x12d4 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Active : public CDOTA_Buff +{ +public: + int32_t agi_gain; // 0x12c8 + int32_t iPrimaryAttribute; // 0x12cc + float model_scale; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Slark_Essence_Shift_Debuff : public CDOTA_Buff +{ +public: + int32_t reduction; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Aura : public CDOTA_Buff +{ +public: + int32_t scepter_aoe; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_PassiveRegen : public CDOTA_Buff +{ +public: + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_regen_pct; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12e8 +class CDOTA_Modifier_Aghsfort_Slark_ShadowDance : public CDOTA_Modifier_Invisible +{ +public: + CHandle< C_BaseEntity > m_hVisibleEntity; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc + GameTime_t flLastPulseTime; // 0x12e0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Visual : public CDOTA_Buff +{ +public: + bool m_bScepter; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Leashed_Bonus : public CDOTA_Buff +{ +public: + int32_t attack_speed_bonus; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d8 +class CDOTA_Modifier_Aghsfort_Special_Slark_Shadow_Dance_Leash : public CDOTA_Buff +{ +public: + Vector m_vPullLocation; // 0x12c8 + float pull_speed; // 0x12d4 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Projectiles : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 6 +// Size: 0x12f8 +class CDOTA_Modifier_AghsFort_QueenOfPain_ShadowStrike : public CDOTA_Buff +{ +public: + int32_t duration_damage; // 0x12c8 + int32_t duration_heal; // 0x12cc + int32_t movement_slow; // 0x12d0 +private: + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 +public: + CountdownTimer m_SlowInterval; // 0x12d8 + float m_flSlowStep; // 0x12f0 + float m_flSlowStepStep; // 0x12f4 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Special_QueenOfPain_Blink_AttackSpeed : public CDOTA_Buff +{ +public: + int32_t bonus_attack_speed; // 0x12c8 +}; + +// Alignment: 6 +// Size: 0x12e8 +class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Thinker : public CDOTA_Buff +{ +public: + Vector m_vPathDir; // 0x12c8 + int32_t m_nRadius; // 0x12d4 + ParticleIndex_t m_nTrailFX; // 0x12d8 + float linger_duration; // 0x12dc + float flDamage; // 0x12e0 + float damage_pct; // 0x12e4 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Burn : public CDOTA_Buff +{ +public: + float flDamage; // 0x12c8 + float burn_interval; // 0x12cc +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_ShadowStrike_On_Attack : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Aghsfort_QueenOfPain_Blink_Scream_Thinker : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12f8 +class CDOTA_Modifier_Aghsfort_QueenOfPain_Scream_Knockback : public CDOTA_Modifier_Knockback +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_SonicWave_AttackBuff : public CDOTA_Buff +{ +public: + int32_t spell_amp; // 0x12c8 + int32_t bonus_damage; // 0x12cc +}; + +// Alignment: 4 +// Size: 0x12e0 +class CDOTA_Modifier_Aghsfort_TuskBoss_IceShard : public CDOTA_Buff +{ +public: + Vector m_vPos; // 0x12c8 + int32_t radius; // 0x12d4 + float damage; // 0x12d8 + float explosion_interval; // 0x12dc +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Target : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Visible : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement_Friendly : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 9 +// Size: 0x1308 +class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch : public CDOTA_Buff +{ +public: + int32_t crit_multiplier; // 0x12c8 + float air_time; // 0x12cc + float slow_duration; // 0x12d0 +private: + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 +public: + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12d8 + CHandle< C_BaseEntity > m_hTarget; // 0x12e0 + bool m_bWalrusPunch; // 0x12e4 + bool m_bPunchKill; // 0x12e5 +private: + [[maybe_unused]] uint8_t __pad12e6[0x2]; // 0x12e6 +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e8 + ParticleIndex_t m_nFXIndex; // 0x1300 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_Slow : public CDOTA_Buff +{ +public: + int32_t move_slow; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_AirTime : public CDOTA_Buff +{ +public: + int32_t hp_threshold; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Aura : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team : public CDOTA_Buff +{ +public: + int32_t bonus_damage; // 0x12c8 + float slow_duration; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Slow : public CDOTA_Buff +{ +public: + int32_t movement_slow; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_Special_TuskBoss_Ice_Shards_Explode_Dummy : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 + float health_threshold_pct; // 0x12cc + float duration; // 0x12d0 + CHandle< C_DOTABaseAbility > m_hTombstoneSourceAbility; // 0x12d4 + CHandle< C_BaseEntity > m_hChaseUnit; // 0x12d8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Undying_Tombstone_HP : public CDOTA_Buff +{ +public: + int32_t tombstone_health; // 0x12c8 + int32_t bonus_health; // 0x12cc +}; + +// Alignment: 8 +// Size: 0x12e8 +class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Aura : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 + float zombie_interval; // 0x12cc + int32_t spawn_at_parent; // 0x12d0 + int32_t remove_on_death; // 0x12d4 + float knockback_duration; // 0x12d8 + int32_t knockback_distance; // 0x12dc + int32_t knockback_height; // 0x12e0 + int32_t spawn_distance; // 0x12e4 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker : public CDOTA_Buff +{ +public: + CHandle< C_BaseEntity > m_hLoadedUnit; // 0x12c8 + float heal_percent_per_tick; // 0x12cc + int32_t tombstone_grab_radius; // 0x12d0 + ParticleIndex_t m_nBunkerEnterFXIndex; // 0x12d4 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker_Friendly : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_AghsFort_Undying_Decay_BuffCounter : public CDOTA_Buff +{ +public: + float m_fStrengthStolen; // 0x12c8 + float model_scale_per_strength; // 0x12cc + float model_scale_max; // 0x12d0 +}; + +// Alignment: 6 +// Size: 0x12e0 +class CDOTA_Modifier_AghsFort_Undying_Decay_Thinker : public CDOTA_Buff +{ +public: + int32_t m_iCount; // 0x12c8 + float interval; // 0x12cc + int32_t extra_decays; // 0x12d0 + int32_t radius; // 0x12d4 + int32_t decay_strength_percent; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Undying_Decay_Buff : public CDOTA_Buff +{ +public: + float str_stolen; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Undying_Decay_On_Attack : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_AghsFort_Undying_SoulRipWard : public CDOTA_Buff +{ +public: + int32_t ward_radius; // 0x12c8 + int32_t explosion_damage; // 0x12cc + float taunt_interval; // 0x12d0 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Undying_SoulRip_Share_Strength : public CDOTA_Buff +{ +public: + float str_gain; // 0x12c8 + int32_t model_scale; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow : public CDOTA_Buff +{ +public: + int32_t slow; // 0x12c8 + float m_flDecrementTime; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow_Counter : public CDOTA_Buff +{ +public: + int32_t slow; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathlust : public CDOTA_Buff +{ +public: + int32_t bonus_move_speed; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Modifier : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_Undying_Exploding_Zombie : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_Undying_ConsumeZombies_Counter : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Special_Undying_ConsumeZombies_Buff : public CDOTA_Buff +{ +public: + int32_t bonus_move_speed_per_stack; // 0x12c8 + int32_t bonus_attack_speed_per_stack; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Undying_FleshGolem : public CDOTA_Buff +{ +public: + int32_t str_percentage; // 0x12c8 + int32_t movement_bonus; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Undying_FleshGolem_Slow : public CDOTA_Buff +{ +public: + int32_t damage_amp; // 0x12c8 + int32_t slow; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_AghsFort_Undying_FleshGolem_PlagueAura : public CDOTA_Buff +{ +public: + int32_t slow; // 0x12c8 + int32_t damage; // 0x12cc + float tick_rate; // 0x12d0 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_Undying_Tombstone_Death_Trigger : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Aghsfort_Special_Undying_ConsumeZombies_Dummy : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Aghsfort_Lina_DragonSlave_Ignite : public CDOTA_Buff +{ +public: + float burn_interval; // 0x12c8 + float burn_damage; // 0x12cc + int32_t mana_restore; // 0x12d0 +}; + +// Alignment: 11 +// Size: 0x1308 +class CDOTA_Modifier_Aghsfort_Lina_LightStrikeArray_Thinker : public CDOTA_Buff +{ +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + int32_t m_iDamage; // 0x12e0 + float m_flStunDuration; // 0x12e4 + int32_t light_strike_array_damage; // 0x12e8 + float light_strike_array_stun_duration; // 0x12ec + float light_strike_array_delay; // 0x12f0 + int32_t m_nLSARadius; // 0x12f4 + int32_t m_nCount; // 0x12f8 + int32_t max_count; // 0x12fc + int32_t iPower; // 0x1300 + float pulse_interval; // 0x1304 +}; + +// Alignment: 2 +// Size: 0x12d8 +class CDOTA_Modifier_Aghsfort_Special_Lina_Light_Strike_Array_Vacuum : public CDOTA_Buff +{ +public: + float pull_speed; // 0x12c8 + Vector vPullLocation; // 0x12cc +}; + +// Alignment: 7 +// Size: 0x12f8 +class CDOTA_Modifier_Aghsfort_Lina_FierySoul_Active : public CDOTA_Buff +{ +public: + int32_t attack_range_per_stack; // 0x12c8 + bool m_bShouldReset; // 0x12cc + bool m_bIsActive; // 0x12cd +private: + [[maybe_unused]] uint8_t __pad12ce[0x2]; // 0x12ce +public: + int32_t fiery_soul_attack_speed_bonus; // 0x12d0 + float fiery_soul_move_speed_bonus; // 0x12d4 + ParticleIndex_t m_nFXIndex; // 0x12d8 +private: + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 +}; + +// Alignment: 6 +// Size: 0x12e0 +class CDOTA_Modifier_Aghsfort_Lina_FierySoul : public CDOTA_Buff +{ +public: + int32_t fiery_soul_attack_speed_bonus; // 0x12c8 + float fiery_soul_move_speed_bonus; // 0x12cc + int32_t fiery_soul_max_stacks; // 0x12d0 + float fiery_soul_stack_duration; // 0x12d4 + ParticleIndex_t m_nFXIndex; // 0x12d8 + GameTime_t m_flFierySoulDieTime; // 0x12dc +}; + +// Alignment: 4 +// Size: 0x12e8 +class CDOTA_Modifier_Aghsfort_Lina_LagunaBlade_Line : public CDOTA_Buff +{ +public: + Vector vStart; // 0x12c8 + Vector vEnd; // 0x12d4 + float damage_delay; // 0x12e0 + CHandle< C_BaseEntity > m_hMainTarget; // 0x12e4 +}; + +// Alignment: 0 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Lina_LagunaBlade : public CDOTA_Buff { public: @@ -9547,55 +9596,55 @@ public: }; // Alignment: 3 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_Special_Lina_Fiery_Soul_Splitshot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x12b8 - int32_t split_shot_bonus_range; // 0x12bc - int32_t arrow_count; // 0x12c0 + int32_t damage_modifier; // 0x12c8 + int32_t split_shot_bonus_range; // 0x12cc + int32_t arrow_count; // 0x12d0 }; // Alignment: 7 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_Special_Lina_Laguna_Blade_Channel : public CDOTA_Buff { public: - int32_t stack_limit; // 0x12b8 - float stack_interval; // 0x12bc - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesToHit; // 0x12c0 - ParticleIndex_t m_nFxIndexB; // 0x12d8 + int32_t stack_limit; // 0x12c8 + float stack_interval; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesToHit; // 0x12d0 + ParticleIndex_t m_nFxIndexB; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< ParticleIndex_t > m_nFXIndices; // 0x12e0 - int32_t bounces_remaining; // 0x12f8 - int32_t iCur_stack; // 0x12fc + CUtlVector< ParticleIndex_t > m_nFXIndices; // 0x12f0 + int32_t bounces_remaining; // 0x1308 + int32_t iCur_stack; // 0x130c }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Special_Lina_Laguna_Blade_Bounce : public CDOTA_Buff { public: - int32_t bounces_remaining; // 0x12b8 + int32_t bounces_remaining; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12c0 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Lina_Light_Strike_Array_Attacks_Bonus : public CDOTA_Buff { public: - float attack_damage; // 0x12b8 - int32_t damage_penalty; // 0x12bc + float attack_damage; // 0x12c8 + int32_t damage_penalty; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Lina_LightStrikeArray_Stun : public CDOTA_Buff { public: @@ -9603,166 +9652,166 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Lina_DragonSlave_Movement : public CDOTA_Buff { public: - float m_flPushDistance; // 0x12b8 + float m_flPushDistance; // 0x12c8 }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury : public CDOTA_Buff { public: - 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 + int32_t blade_fury_radius; // 0x12c8 + int32_t blade_fury_damage; // 0x12cc + float blade_fury_damage_tick; // 0x12d0 + int32_t movement_bonus; // 0x12d4 + int32_t spark_radius; // 0x12d8 + int32_t spark_damage_percent; // 0x12dc + bool m_bDestroyParentThinkerOnDeath; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury_Force : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury_Force_Pull : public CDOTA_Buff { public: - 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 + int32_t blade_fury_radius; // 0x12c8 + int32_t pull_speed; // 0x12cc + int32_t pull_stop; // 0x12d0 + Vector pull_origin; // 0x12d4 + GameTime_t m_flLastThinkTime; // 0x12e0 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Juggernaut_Healing_Ward : public CDOTA_Buff { public: - int32_t healing_ward_aura_radius; // 0x12b8 - float healing_ward_heal_amount; // 0x12bc - float healing_ward_interval; // 0x12c0 - int32_t m_nTotalHealing; // 0x12c4 + int32_t healing_ward_aura_radius; // 0x12c8 + float healing_ward_heal_amount; // 0x12cc + float healing_ward_interval; // 0x12d0 + int32_t m_nTotalHealing; // 0x12d4 }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Juggernaut_Healing_Ward_Primed : public CDOTA_Buff { public: - 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 + int32_t healing_ward_aura_radius; // 0x12c8 + int32_t trigger_radius; // 0x12cc + int32_t search_radius; // 0x12d0 + int32_t damage_percent; // 0x12d4 + int32_t movement_bonus; // 0x12d8 + int32_t power; // 0x12dc }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Juggernaut_Zen_Ward : public CDOTA_Buff { public: - int32_t healing_ward_aura_radius; // 0x12b8 - float healing_ward_heal_amount; // 0x12bc - float healing_ward_interval; // 0x12c0 - int32_t m_nTotalRegen; // 0x12c4 + int32_t healing_ward_aura_radius; // 0x12c8 + float healing_ward_heal_amount; // 0x12cc + float healing_ward_interval; // 0x12d0 + int32_t m_nTotalRegen; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Juggernaut_Zen_Ward_Armor : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x12b8 + int32_t armor_bonus; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeDance : public CDOTA_Buff { public: - int32_t blade_dance_crit_mult; // 0x12b8 - int32_t blade_dance_crit_chance; // 0x12bc - bool m_bDidBladeDanceCrit; // 0x12c0 + int32_t blade_dance_crit_mult; // 0x12c8 + int32_t blade_dance_crit_chance; // 0x12cc + bool m_bDidBladeDanceCrit; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeDance_Buff : public CDOTA_Buff { public: - int32_t evasion_per_stack; // 0x12b8 - int32_t movespeed_per_stack; // 0x12bc - int32_t evasion_bonus; // 0x12c0 - int32_t movespeed_bonus; // 0x12c4 + int32_t evasion_per_stack; // 0x12c8 + int32_t movespeed_per_stack; // 0x12cc + int32_t evasion_bonus; // 0x12d0 + int32_t movespeed_bonus; // 0x12d4 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Juggernaut_Double_Attack : public CDOTA_Buff { public: - 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 + int32_t range; // 0x12c8 + float bonus_attack_duration; // 0x12cc + int32_t bonus_attack_count; // 0x12d0 + int32_t bonus_attack_speed; // 0x12d4 + float m_fBonusRange; // 0x12d8 }; // Alignment: 16 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_modifier_aghsfort_juggernaut_omnislash : public CDOTA_Buff { public: - 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 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + CHandle< C_BaseEntity > m_hLastTarget; // 0x12cc + int32_t m_nJumps; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + int32_t bonus_attack_speed; // 0x12d8 + int32_t omni_slash_radius; // 0x12dc + float attack_rate_multiplier; // 0x12e0 + int32_t upgraded_radius; // 0x12e4 + int32_t m_iTotalDamage; // 0x12e8 + int32_t m_iHeroDamage; // 0x12ec + bool m_bReflection; // 0x12f0 + bool m_bFirstHit; // 0x12f1 + bool m_bEndNext; // 0x12f2 private: - [[maybe_unused]] uint8_t __pad12e3[0x1]; // 0x12e3 + [[maybe_unused]] uint8_t __pad12f3[0x1]; // 0x12f3 public: - GameTime_t m_fNextAttackTime; // 0x12e4 - Vector m_vCastOrigin; // 0x12e8 + GameTime_t m_fNextAttackTime; // 0x12f4 + Vector m_vCastOrigin; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 public: - CUtlVector< CHandle< C_BaseEntity > > m_hIllusions; // 0x12f8 + CUtlVector< CHandle< C_BaseEntity > > m_hIllusions; // 0x1308 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_modifier_aghsfort_juggernaut_omnislash_Camera : public CDOTA_Buff { public: - bool m_bIsDone; // 0x12b8 + bool m_bIsDone; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - CHandle< C_BaseEntity > m_hFollowEnt; // 0x12bc + CHandle< C_BaseEntity > m_hFollowEnt; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_modifier_aghsfort_juggernaut_omnislash_Invulnerability : public CDOTA_Buff { public: @@ -9770,16 +9819,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x12b8 - float tick_damage; // 0x12bc + int32_t slow_movement_speed_pct; // 0x12c8 + float tick_damage; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite_Invuln : public CDOTA_Buff { public: @@ -9787,7 +9836,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite_Disarm : public CDOTA_Buff { public: @@ -9795,15 +9844,15 @@ public: }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows_Slow : public CDOTA_Buff { public: @@ -9811,29 +9860,29 @@ public: }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows_Chill : public CDOTA_Buff { public: - 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 + float interval; // 0x12c8 + int32_t max_stacks; // 0x12cc + int32_t damage_percent; // 0x12d0 + int32_t movement_damage_percent; // 0x12d4 + int32_t m_nDamage; // 0x12d8 + ParticleIndex_t m_nFXStackIndex; // 0x12dc + Vector m_vLastPosition; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence : public CDOTA_Buff { public: - int32_t blind_percent; // 0x12b8 + int32_t blind_percent; // 0x12c8 }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Knockback : public CDOTA_Modifier_Knockback { public: @@ -9841,85 +9890,85 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Echo_Thinker : public CDOTA_Buff { public: - Vector m_vTarget; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Movement : public CDOTA_Buff -{ -public: - int32_t movespeed_percent; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Frost : public CDOTA_Buff -{ -public: - float m_fDamagePerSecond; // 0x12b8 + Vector m_vTarget; // 0x12c8 }; // Alignment: 1 // Size: 0x12d0 +class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Movement : public CDOTA_Buff +{ +public: + int32_t movespeed_percent; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Frost : public CDOTA_Buff +{ +public: + float m_fDamagePerSecond; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Agility : public CDOTA_Buff { public: - CUtlVector< GameTime_t > m_AgilityTimers; // 0x12b8 + CUtlVector< GameTime_t > m_AgilityTimers; // 0x12c8 }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_Buff : public CDOTA_Buff { public: - 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 + int32_t damage_percent; // 0x12c8 + int32_t knockback_distance; // 0x12cc + float knockback_duration; // 0x12d0 + int32_t move_speed_percent; // 0x12d4 + int32_t max_move_speed_percent; // 0x12d8 + int32_t model_scale; // 0x12dc + int32_t max_model_scale; // 0x12e0 + bool m_bActive; // 0x12e4 }; // Alignment: 15 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot : public CDOTA_Buff { public: - 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 + int32_t arrow_width; // 0x12c8 + float arrow_speed; // 0x12cc + int32_t range; // 0x12d0 + int32_t wave_count; // 0x12d4 + float wave_delay; // 0x12d8 + int32_t arrow_count_per_wave; // 0x12dc + float arrow_delay; // 0x12e0 + float per_arrow_angle; // 0x12e4 + float m_fYawOffset; // 0x12e8 + int32_t m_iWaveIndex; // 0x12ec + int32_t m_iArrowIndex; // 0x12f0 + Vector m_vTarget; // 0x12f4 + QAngle m_vWaveAngle; // 0x1300 + float m_flInterval; // 0x130c + GameTime_t m_flNextThink; // 0x1310 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_SideLine : public CDOTA_Buff { public: - int32_t m_iWaveIndex; // 0x12b8 - float m_fYawOffset; // 0x12bc + int32_t m_iWaveIndex; // 0x12c8 + float m_fYawOffset; // 0x12cc }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort2_DrowRanger_Multishot_Buff_Knockback : public CDOTA_Modifier_Knockback { public: @@ -9927,7 +9976,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_Refire : public CDOTA_Buff { public: @@ -9935,40 +9984,40 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Marksmanship_Aura : public CDOTA_Buff { public: - 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 + int32_t aura_disable_range; // 0x12c8 + int32_t aura_range; // 0x12cc + int32_t bonus_damage; // 0x12d0 + int32_t m_nBonusFactor; // 0x12d4 + GameTime_t m_fLastEnableTime; // 0x12d8 + ParticleIndex_t m_nFxIndex; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Marksmanship_Aura_Bonus : public CDOTA_Buff { public: - int32_t aura_agility_multiplier; // 0x12b8 + int32_t aura_agility_multiplier; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_Active : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t bonus_range; // 0x12bc - int32_t attack_speed_reduction; // 0x12c0 - float duration; // 0x12c4 - int32_t charges; // 0x12c8 + int32_t bonus_damage; // 0x12c8 + int32_t bonus_range; // 0x12cc + int32_t attack_speed_reduction; // 0x12d0 + float duration; // 0x12d4 + int32_t charges; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_AoE : public CDOTA_Buff { public: @@ -9976,42 +10025,42 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_WaveOfSilence_Primed : public CDOTA_Buff { public: - int32_t aura_disable_range; // 0x12b8 + int32_t aura_disable_range; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_LucentBeam_Moonglow : public CDOTA_Buff { public: - int32_t bonus_aspd; // 0x12b8 - int32_t lifesteal; // 0x12bc + int32_t bonus_aspd; // 0x12c8 + int32_t lifesteal; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t bonus_damage; // 0x12bc + int32_t radius; // 0x12c8 + int32_t bonus_damage; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t night_bonus_pct; // 0x12bc + int32_t bonus_damage; // 0x12c8 + int32_t night_bonus_pct; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Active : public CDOTA_Buff { public: @@ -10019,7 +10068,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback_Buff : public CDOTA_Buff { public: @@ -10027,16 +10076,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback : public CDOTA_Buff { public: - int32_t attack_speed_slow; // 0x12b8 - int32_t move_speed_slow_pct; // 0x12bc + int32_t attack_speed_slow; // 0x12c8 + int32_t move_speed_slow_pct; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback_Bounce : public CDOTA_Buff { public: @@ -10044,51 +10093,51 @@ public: }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive : public CDOTA_Buff { public: - int32_t range; // 0x12b8 - int32_t bounces; // 0x12bc - int32_t damage_reduction_percent; // 0x12c0 - int32_t bounce_pct; // 0x12c4 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + int32_t range; // 0x12c8 + int32_t bounces; // 0x12cc + int32_t damage_reduction_percent; // 0x12d0 + int32_t bounce_pct; // 0x12d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x12b8 + ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_MoonMark : public CDOTA_Buff { public: - int32_t spell_resist_pct; // 0x12b8 + int32_t spell_resist_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_LunarRemnant : public CDOTA_Buff { public: - int32_t m_nBonusDamage; // 0x12b8 + int32_t m_nBonusDamage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Moonfright : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x12b8 + Vector m_vOriginal; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_LunarPower : public CDOTA_Buff { public: @@ -10096,15 +10145,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_MoonShield_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura_MoonShield_Trigger : public CDOTA_Buff { public: @@ -10112,95 +10161,95 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura_MoonShield : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Active_Buff : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 + int32_t attack_speed; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_Lunar_Grace : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 - float night_multiplier; // 0x12bc + int32_t attack_speed; // 0x12c8 + float night_multiplier; // 0x12cc }; // Alignment: 15 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_AghsFort_Luna_Eclipse : public CDOTA_Buff { public: - 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 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + int32_t radius; // 0x12cc + int32_t beams; // 0x12d0 + int32_t hit_count; // 0x12d4 + int32_t m_iBeamDamage; // 0x12d8 + float m_flBeamStun; // 0x12dc + Vector vPosition; // 0x12e0 + bool m_bAreaTarget; // 0x12ec + bool m_bMoonWell; // 0x12ed private: - [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de + [[maybe_unused]] uint8_t __pad12ee[0x2]; // 0x12ee public: - 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 + int32_t m_iTickCount; // 0x12f0 + ParticleIndex_t m_nMoonlightFXIndex; // 0x12f4 + CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x12f8 + CUtlVector< CHandle< C_BaseEntity > > m_HitAllies; // 0x1310 + float beam_interval; // 0x1328 + float m_flInterval; // 0x132c }; // Alignment: 9 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Leap : public CDOTA_Buff { public: - 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 + int32_t leap_distance; // 0x12c8 + float leap_speed; // 0x12cc + float leap_acceleration; // 0x12d0 + int32_t leap_radius; // 0x12d4 + int32_t search_range; // 0x12d8 + float damage_multiplier; // 0x12dc + float m_flPowerLevelPct; // 0x12e0 + bool m_bLaunched; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x12d8 + CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x12e8 }; // Alignment: 9 -// Size: 0x14c0 +// Size: 0x14d0 class CDOTA_Modifier_AghsFort_Luna_GlaiveShield : public CDOTA_Buff { public: - bool m_bSpiritsExplode; // 0x12b8 + bool m_bSpiritsExplode; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + int32_t hit_radius; // 0x12cc + int32_t rotate_range; // 0x12d0 + int32_t glaive_movement_rate; // 0x12d4 + float replenish_time; // 0x12d8 + float m_flRotation; // 0x12dc + float m_flGlaiveRadius; // 0x12e0 + GameTime_t m_flNextSpawn; // 0x12e4 + bool m_bPaused; // 0x12e8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Luna_Eclipse_IntoTheNight : public CDOTA_Buff { public: @@ -10208,123 +10257,123 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_Eclipse_IntoTheNight_Aura : public CDOTA_Buff { public: - int32_t m_nMoveSpeed; // 0x12b8 - int32_t m_nEvasion; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_AghsFort_Lich_FrostNova_Slow : public CDOTA_Buff -{ -public: - int32_t slow_movement_speed; // 0x12b8 - int32_t slow_attack_speed; // 0x12bc - bool is_primary_target; // 0x12c0 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Self : public CDOTA_Buff -{ -public: - int32_t mana_drain; // 0x12b8 - float m_flIntervalRate; // 0x12bc -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze : public CDOTA_Buff -{ -public: - int32_t movement_speed; // 0x12b8 - int32_t mana_drain; // 0x12bc - float m_flIntervalRate; // 0x12c0 - ParticleIndex_t m_nFXIndex; // 0x12c4 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Summon : public CDOTA_Buff -{ -public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 - int32_t base_damage_outgoing_percentage; // 0x12bc + int32_t m_nMoveSpeed; // 0x12c8 + int32_t m_nEvasion; // 0x12cc }; // Alignment: 3 // Size: 0x12d8 -class CDOTA_Modifier_AghsFort_Lich_Ice_Spire : public CDOTA_Buff +class CDOTA_Modifier_AghsFort_Lich_FrostNova_Slow : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc - CountdownTimer m_Timer; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Lich_Ice_Spire_Debuff : public CDOTA_Buff -{ -public: - int32_t bonus_movespeed; // 0x12b8 + int32_t slow_movement_speed; // 0x12c8 + int32_t slow_attack_speed; // 0x12cc + bool is_primary_target; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Lich_ChainFrost_Slow : public CDOTA_Buff +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Self : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x12b8 - int32_t slow_attack_speed; // 0x12bc + int32_t mana_drain; // 0x12c8 + float m_flIntervalRate; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_AghsFort_Lich_FrostShield : public CDOTA_Buff +// Size: 0x12d8 +class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float interval; // 0x12bc - int32_t damage_reduction; // 0x12c0 - int32_t bonus_health_regen; // 0x12c4 + int32_t movement_speed; // 0x12c8 + int32_t mana_drain; // 0x12cc + float m_flIntervalRate; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 }; -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Lich_FrostShield_Slow : public CDOTA_Buff +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Summon : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + int32_t base_damage_outgoing_percentage; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12e8 +class CDOTA_Modifier_AghsFort_Lich_Ice_Spire : public CDOTA_Buff +{ +public: + int32_t aura_radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + CountdownTimer m_Timer; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Lich_Ice_Spire_Debuff : public CDOTA_Buff +{ +public: + int32_t bonus_movespeed; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Lich_ChainFrost_Slow : public CDOTA_Buff +{ +public: + int32_t slow_movement_speed; // 0x12c8 + int32_t slow_attack_speed; // 0x12cc +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_AghsFort_Lich_FrostShield : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 + float interval; // 0x12cc + int32_t damage_reduction; // 0x12d0 + int32_t bonus_health_regen; // 0x12d4 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Lich_FrostShield_Slow : public CDOTA_Buff +{ +public: + int32_t movement_slow; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Lich_FrostShield_Magic_Resistance_Debuff : public CDOTA_Buff { public: - int32_t magic_resist_reduction; // 0x12b8 - int32_t max_stacks; // 0x12bc - ParticleIndex_t m_nFXStackIndex; // 0x12c0 + int32_t magic_resist_reduction; // 0x12c8 + int32_t max_stacks; // 0x12cc + ParticleIndex_t m_nFXStackIndex; // 0x12d0 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_AghsFort_Modifier_Lich_Frost_Giant : public CDOTA_Buff { public: - 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 + int32_t movement_speed; // 0x12c8 + int32_t model_scale; // 0x12cc + int32_t damage_radius; // 0x12d0 + int32_t pct_int_damage_per_second; // 0x12d4 + float tick_rate; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_AghsFort_Modifier_Lich_Frost_Shield_Magic_Immune : public CDOTA_Modifier_MagicImmune { public: @@ -10332,81 +10381,81 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Lich_Chain_Frost_Thinker : public CDOTA_Buff { public: - 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 + int32_t m_nDamageToHeroes; // 0x12c8 + int32_t m_nHeroesKilled; // 0x12cc + int32_t m_nJumps; // 0x12d0 + CHandle< C_BaseEntity > m_hTarget; // 0x12d4 + CHandle< C_BaseEntity > m_hAvoidTarget; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Kunkka_Rumboldened_Immunity : public CDOTA_Modifier_MagicImmune { public: - int32_t model_scale; // 0x12b8 + int32_t model_scale; // 0x12c8 }; // Alignment: 12 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Thinker : public CDOTA_Buff { public: - bool m_bIsSquall; // 0x12b8 - bool m_bIsSeaLegs; // 0x12b9 + bool m_bIsSquall; // 0x12c8 + bool m_bIsSeaLegs; // 0x12c9 private: - [[maybe_unused]] uint8_t __pad12ba[0x2]; // 0x12ba + [[maybe_unused]] uint8_t __pad12ca[0x2]; // 0x12ca public: - float m_flRadius; // 0x12bc - bool m_bShowEnemies; // 0x12c0 - bool m_bTorrentStorm; // 0x12c1 + float m_flRadius; // 0x12cc + bool m_bShowEnemies; // 0x12d0 + bool m_bTorrentStorm; // 0x12d1 private: - [[maybe_unused]] uint8_t __pad12c2[0x2]; // 0x12c2 + [[maybe_unused]] uint8_t __pad12d2[0x2]; // 0x12d2 public: - float m_flDelay; // 0x12c4 - float m_flFireTime; // 0x12c8 - bool m_bForcePosition; // 0x12cc + float m_flDelay; // 0x12d4 + float m_flFireTime; // 0x12d8 + bool m_bForcePosition; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - Vector m_vStartPosition; // 0x12d0 - Vector m_vEndPosition; // 0x12dc - int32_t m_nPercentChanceOfGhostShip; // 0x12e8 - CHandle< C_BaseEntity > m_hTarget; // 0x12ec + Vector m_vStartPosition; // 0x12e0 + Vector m_vEndPosition; // 0x12ec + int32_t m_nPercentChanceOfGhostShip; // 0x12f8 + CHandle< C_BaseEntity > m_hTarget; // 0x12fc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Kunkka_Torrent : public CDOTA_Buff { public: - float flIntervalThinkTime; // 0x12b8 - int32_t torrent_damage; // 0x12bc - float m_flDamageScale; // 0x12c0 + float flIntervalThinkTime; // 0x12c8 + int32_t torrent_damage; // 0x12cc + float m_flDamageScale; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Slow : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x12b8 + int32_t movespeed_bonus; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Kunkka_Fire_Cannons_Slow : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x12b8 + int32_t movespeed_bonus; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Kunkka_Tidebringer_Slow : public CDOTA_Buff { public: @@ -10414,54 +10463,54 @@ public: }; // Alignment: 4 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Storm : public CDOTA_Buff { public: - int32_t torrent_min_distance; // 0x12b8 - int32_t torrent_max_distance; // 0x12bc - int32_t m_iExplosionQuadrant; // 0x12c0 - Vector m_vPosition; // 0x12c4 + int32_t torrent_min_distance; // 0x12c8 + int32_t torrent_max_distance; // 0x12cc + int32_t m_iExplosionQuadrant; // 0x12d0 + Vector m_vPosition; // 0x12d4 }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_Kunkka_Tidebringer : public CDOTA_Buff { public: - bool m_bTidebringerAttack; // 0x12b8 + bool m_bTidebringerAttack; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + int32_t cleave_starting_width; // 0x12cc + int32_t cleave_ending_width; // 0x12d0 + int32_t cleave_distance; // 0x12d4 + int32_t damage_bonus; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc + int32_t cleave_damage; // 0x12e0 + bool m_bIgnoreCooldown; // 0x12e4 + bool m_bDreadPirate; // 0x12e5 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Kunkka_NoQuarter : public CDOTA_Buff { public: - int32_t m_nSpeedBonusPercentage; // 0x12b8 + int32_t m_nSpeedBonusPercentage; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot : public CDOTA_Buff { public: - float armour_increase; // 0x12b8 - float speed_increase_pct; // 0x12bc + float armour_increase; // 0x12c8 + float speed_increase_pct; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpotMarker : public CDOTA_Buff { public: @@ -10469,64 +10518,64 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot_SeaLegs_Thinker : public CDOTA_Buff { public: - Vector m_vLastPosition; // 0x12b8 - CHandle< C_BaseEntity > m_hEntity; // 0x12c4 + Vector m_vLastPosition; // 0x12c8 + CHandle< C_BaseEntity > m_hEntity; // 0x12d4 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x12b8 - bool m_bIsReflection; // 0x12c4 + Vector m_vStartLoc; // 0x12c8 + bool m_bIsReflection; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - CHandle< C_BaseEntity > m_hEntity; // 0x12c8 + CHandle< C_BaseEntity > m_hEntity; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Kunkka_Fear : public CDOTA_Buff { public: - CHandle< C_DOTA_BaseNPC > m_pEntityToBeAfraidOf; // 0x12b8 + CHandle< C_DOTA_BaseNPC > m_pEntityToBeAfraidOf; // 0x12c8 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Kunkka_Ghost_Ship_Fire_Cannons : public CDOTA_Buff { public: - float m_flDistance; // 0x12b8 - float m_flSpeed; // 0x12bc - int32_t m_nNumCannons; // 0x12c0 - float m_flProjectileRadius; // 0x12c4 - bool m_bGhostShipIsEntity; // 0x12c8 + float m_flDistance; // 0x12c8 + float m_flSpeed; // 0x12cc + int32_t m_nNumCannons; // 0x12d0 + float m_flProjectileRadius; // 0x12d4 + bool m_bGhostShipIsEntity; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - int32_t m_hGhostShipProjectile; // 0x12cc - CHandle< C_BaseEntity > m_hGhostShip; // 0x12d0 + int32_t m_hGhostShipProjectile; // 0x12dc + CHandle< C_BaseEntity > m_hGhostShip; // 0x12e0 }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Kunkka_Ghost_Ship_Fleet : public CDOTA_Buff { public: - Vector vCasterOrigin; // 0x12b8 - Vector vEnd; // 0x12c4 - int32_t m_nHitCount; // 0x12d0 + Vector vCasterOrigin; // 0x12c8 + Vector vEnd; // 0x12d4 + int32_t m_nHitCount; // 0x12e0 }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_Knockback : public CDOTA_Modifier_Knockback { public: @@ -10534,7 +10583,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_Loaded : public CDOTA_Buff { public: @@ -10542,73 +10591,73 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_DamageAbsorb : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x12b8 - int32_t movespeed_bonus; // 0x12bc - float ghostship_absorb; // 0x12c0 + int32_t m_iAccumulatedDamage; // 0x12c8 + int32_t movespeed_bonus; // 0x12cc + float ghostship_absorb; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_DamageDelay : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x12b8 - float m_flDuration; // 0x12bc + int32_t m_iAccumulatedDamage; // 0x12c8 + float m_flDuration; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Kunkka_SeaSickness : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x12b8 - float m_flDuration; // 0x12bc - float m_flMovespeedBonus; // 0x12c0 + int32_t m_iAccumulatedDamage; // 0x12c8 + float m_flDuration; // 0x12cc + float m_flMovespeedBonus; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Kunkka_Davy_Jones_Locker_Aura : public CDOTA_Buff { public: - float m_flRadius; // 0x12b8 + float m_flRadius; // 0x12c8 }; // Alignment: 19 -// Size: 0x1360 +// Size: 0x1370 class CDOTA_Modifier_Kunkka_Man_the_Helm : public CDOTA_Modifier_MagicImmune { public: - 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 + float tick_interval; // 0x12c8 + float forward_move_speed; // 0x12cc + float turn_rate_boosted; // 0x12d0 + float turn_rate; // 0x12d4 + int32_t hit_radius; // 0x12d8 + int32_t knockback_radius; // 0x12dc + bool m_bHitFirstUpdate; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - 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 + GameTime_t m_flHitEndTime; // 0x12e4 + float hit_recover_time; // 0x12e8 + float m_flTurnBoostProgress; // 0x12ec + float m_flFacingTarget; // 0x12f0 + GameTime_t m_flLastHeroAttackTime; // 0x12f4 + 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 + Vector m_vDirection; // 0x1360 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Kunkka_No_Quarter_Buff : public CDOTA_Buff { public: @@ -10616,73 +10665,73 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Kunkka_No_Quarter_Counter : public CDOTA_Buff { public: - int32_t m_nStackCount; // 0x12b8 + int32_t m_nStackCount; // 0x12c8 }; // Alignment: 12 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Unit : public CDOTA_Buff { public: - bool m_bActivated; // 0x12b8 + bool m_bActivated; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - Vector m_vFacingDir; // 0x12bc - CUtlVector< Vector > m_vecWatchPositions; // 0x12c8 - ParticleIndex_t m_nBeamFXIndex; // 0x12e0 + Vector m_vFacingDir; // 0x12cc + CUtlVector< Vector > m_vecWatchPositions; // 0x12d8 + ParticleIndex_t m_nBeamFXIndex; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - 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 + CUtlVector< int32 > m_nViewerIDs; // 0x12f8 + int32_t remnant_watch_distance; // 0x1310 + int32_t remnant_watch_radius; // 0x1314 + float duration; // 0x1318 + int32_t watch_path_vision_radius; // 0x131c + int32_t impact_damage; // 0x1320 + float pull_duration; // 0x1324 + float activation_delay; // 0x1328 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Pull : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - PlayerID_t m_nPlayerID; // 0x12bc - float think_interval; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c8 + PlayerID_t m_nPlayerID; // 0x12cc + float think_interval; // 0x12d0 }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnantThinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - Vector m_vFacingDir; // 0x12bc - CHandle< C_BaseEntity > m_hRemnant; // 0x12c8 - bool m_bTriggered; // 0x12cc + int32_t radius; // 0x12c8 + Vector m_vFacingDir; // 0x12cc + CHandle< C_BaseEntity > m_hRemnant; // 0x12d8 + bool m_bTriggered; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - float m_flCurThink; // 0x12d0 + float m_flCurThink; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x12b8 + int32_t m_nRadius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -10690,71 +10739,71 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x12b8 - float m_fVoidMarkPct; // 0x12bc - int32_t movement_slow_pct; // 0x12c0 - int32_t pop_damage; // 0x12c4 + ParticleIndex_t m_nFXStackIndex; // 0x12c8 + float m_fVoidMarkPct; // 0x12cc + int32_t movement_slow_pct; // 0x12d0 + int32_t pop_damage; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Caster : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Phase_Ally : public CDOTA_Buff { public: - int32_t damage_radius; // 0x12b8 - float debuff_duration; // 0x12bc - int32_t destination_fx_radius; // 0x12c0 - int32_t damage; // 0x12c4 - Vector m_vExitPos; // 0x12c8 + int32_t damage_radius; // 0x12c8 + float debuff_duration; // 0x12cc + int32_t destination_fx_radius; // 0x12d0 + int32_t damage; // 0x12d4 + Vector m_vExitPos; // 0x12d8 }; // Alignment: 20 -// Size: 0x1360 +// Size: 0x1370 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Phase : public CDOTA_Buff { public: - Vector m_vFirstPortalPos; // 0x12b8 + Vector m_vFirstPortalPos; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - 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 + CUtlVector< Vector > m_vecDestinations; // 0x12d8 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x12f0 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1308 + int32_t m_nCurrentDestinationIndex; // 0x1320 + int32_t m_nClosestIndexPosToClick; // 0x1324 + int32_t m_nPortalHeightOffset; // 0x1328 private: - [[maybe_unused]] uint8_t __pad131c[0x4]; // 0x131c + [[maybe_unused]] uint8_t __pad132c[0x4]; // 0x132c public: - 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 + char* m_szAlliesPortalFX; // 0x1330 + char* m_szEnemiesPortalFX; // 0x1338 + int32_t m_nPortalRadius; // 0x1340 + int32_t m_nPortalPadding; // 0x1344 + int32_t m_nFinalImpactDamageRadius; // 0x1348 + int32_t m_nFinalImpactFXRadius; // 0x134c + int32_t destination_fx_radius; // 0x1350 + int32_t damage_radius; // 0x1354 + int32_t portals_per_ring; // 0x1358 + int32_t angle_per_ring_portal; // 0x135c + int32_t first_ring_distance_offset; // 0x1360 + float debuff_duration; // 0x1364 + int32_t damage; // 0x1368 }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: @@ -10762,32 +10811,32 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: - int32_t base_absorb_amount; // 0x12b8 - int32_t m_nAbsorbRemaining; // 0x12bc + int32_t base_absorb_amount; // 0x12c8 + int32_t m_nAbsorbRemaining; // 0x12cc }; // Alignment: 9 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_Ring : public CDOTA_Buff { public: - 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 + float m_fLastRadius; // 0x12c8 + float m_fCurRadius; // 0x12cc + GameTime_t m_fLastThink; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + CUtlVector< CHandle< C_BaseEntity > > m_EnemiesHit; // 0x12d8 + CUtlVector< CHandle< C_BaseEntity > > m_AlliesHit; // 0x12f0 + int32_t speed; // 0x1308 + int32_t radius; // 0x130c + int32_t damage; // 0x1310 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Push : public CDOTA_Buff { public: @@ -10795,68 +10844,68 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_PhantomAttack_Crit : public CDOTA_Buff { public: - int32_t m_nCritPercent; // 0x12b8 + int32_t m_nCritPercent; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x12b8 + int32_t m_nProjectileID; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling_ImpactSlow : public CDOTA_Buff { public: - int32_t move_slow_pct; // 0x12b8 + int32_t move_slow_pct; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_Dissimilate_Lure_Thinker : public CDOTA_Buff { public: - int32_t m_nDamageRadius; // 0x12b8 - float m_fDissimilateDamage; // 0x12bc - float m_fThinkInterval; // 0x12c0 - float m_fDissimilateDamagePctPerInterval; // 0x12c4 - float m_fLingerDuration; // 0x12c8 + int32_t m_nDamageRadius; // 0x12c8 + float m_fDissimilateDamage; // 0x12cc + float m_fThinkInterval; // 0x12d0 + float m_fDissimilateDamagePctPerInterval; // 0x12d4 + float m_fLingerDuration; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_Dissimilate_Lure_Burn : public CDOTA_Buff { public: - float m_fDamagePerInterval; // 0x12b8 - int32_t m_nBonusIncomingMagicDamage; // 0x12bc + float m_fDamagePerInterval; // 0x12c8 + int32_t m_nBonusIncomingMagicDamage; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_SpellAmped : public CDOTA_Buff { public: - int32_t m_nSpellAmp; // 0x12b8 + int32_t m_nSpellAmp; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_Cadence : public CDOTA_Buff { public: - float m_fSpellAmp; // 0x12b8 + float m_fSpellAmp; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_ResonantPulse_Suppression_MagicImmunity : public CDOTA_Modifier_MagicImmune { public: @@ -10864,17 +10913,17 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Vacuum_Motion : public CDOTA_Buff { public: - float m_fVacuumSpeed; // 0x12b8 - float m_fStunDuration; // 0x12bc - Vector m_vPullLoc; // 0x12c0 + float m_fVacuumSpeed; // 0x12c8 + float m_fStunDuration; // 0x12cc + Vector m_vPullLoc; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AstralStep_Attacks : public CDOTA_Buff { public: @@ -10882,143 +10931,143 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Trail_Thinker : public CDOTA_Buff { public: - float m_fThinkInterval; // 0x12b8 - float m_fPopDamagePctPerInterval; // 0x12bc - float m_fLingerDuration; // 0x12c0 - int32_t radius; // 0x12c4 - int32_t pop_damage; // 0x12c8 + float m_fThinkInterval; // 0x12c8 + float m_fPopDamagePctPerInterval; // 0x12cc + float m_fLingerDuration; // 0x12d0 + int32_t radius; // 0x12d4 + int32_t pop_damage; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Trail_Burn : public CDOTA_Buff { public: - float m_fDamagePerInterval; // 0x12b8 + float m_fDamagePerInterval; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Breach_Burn : public CDOTA_Buff { public: - float m_fDamagePerInterval; // 0x12b8 + float m_fDamagePerInterval; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Rocket_Barrage : public CDOTA_Buff { public: - int32_t rocket_damage; // 0x12b8 - int32_t m_nPower; // 0x12bc + int32_t rocket_damage; // 0x12c8 + int32_t m_nPower; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride : public CDOTA_Buff { public: - int32_t grab_radius; // 0x12b8 - CHandle< C_BaseEntity > m_hLoadedUnit; // 0x12bc + int32_t grab_radius; // 0x12c8 + CHandle< C_BaseEntity > m_hLoadedUnit; // 0x12cc }; // Alignment: 14 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Aghsfort_Gyrocopter_Homing_Missile : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + ParticleIndex_t m_nFXIndex2; // 0x12cc + int32_t acceleration; // 0x12d0 + float pre_flight_time; // 0x12d4 + float stun_duration; // 0x12d8 + int32_t m_nMissileDamage; // 0x12dc + int32_t damage; // 0x12e0 + int32_t m_nTeamNumber; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad12d8[0x8]; // 0x12d8 + [[maybe_unused]] uint8_t __pad12e8[0x8]; // 0x12e8 public: - float speed; // 0x12e0 - float m_flFacingTarget; // 0x12e4 - int32_t movement_turn_rate; // 0x12e8 - int32_t m_nPower; // 0x12ec - CHandle< C_BaseEntity > m_hAttachTarget; // 0x12f0 + float speed; // 0x12f0 + float m_flFacingTarget; // 0x12f4 + int32_t movement_turn_rate; // 0x12f8 + int32_t m_nPower; // 0x12fc + CHandle< C_BaseEntity > m_hAttachTarget; // 0x1300 private: - [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 public: - CountdownTimer m_MoveTime; // 0x12f8 + CountdownTimer m_MoveTime; // 0x1308 }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_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 radius; // 0x12c8 - int32_t max_targets; // 0x12cc - bool m_bFirstStrike; // 0x12d0 - bool m_bShouldFireMissiles; // 0x12d1 + int32_t max_attacks; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t m_iNumAttacks; // 0x12d0 + int32_t projectile_speed; // 0x12d4 + int32_t radius; // 0x12d8 + int32_t max_targets; // 0x12dc + bool m_bFirstStrike; // 0x12e0 + bool m_bShouldFireMissiles; // 0x12e1 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Flak_Cannon_Scepter : public CDOTA_Buff { public: - float fire_rate; // 0x12b8 - int32_t scepter_radius; // 0x12bc + float fire_rate; // 0x12c8 + int32_t scepter_radius; // 0x12cc }; // Alignment: 12 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_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 - 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 + int32_t slow_duration_first; // 0x12c8 + int32_t slow_duration_second; // 0x12cc + int32_t damage_first; // 0x12d0 + int32_t damage_second; // 0x12d4 + float power; // 0x12d8 + int32_t radius; // 0x12dc + float slow_first; // 0x12e0 + float slow_second; // 0x12e4 + bool m_bDelayed; // 0x12e8 + bool m_bHalfDamage; // 0x12e9 + bool m_bFirstStrike; // 0x12ea private: - [[maybe_unused]] uint8_t __pad12db[0x1]; // 0x12db + [[maybe_unused]] uint8_t __pad12eb[0x1]; // 0x12eb public: - CHandle< C_BaseEntity > m_hInflictorAbility; // 0x12dc + CHandle< C_BaseEntity > m_hInflictorAbility; // 0x12ec }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Call_Down_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 + int32_t movespeed; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_RocketBarrage_On_Attack : public CDOTA_Buff { public: - int32_t strike_chance; // 0x12b8 - float duration; // 0x12bc + int32_t strike_chance; // 0x12c8 + float duration; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Gyrocopter_Rocket_Barrage_Thinker : public CDOTA_Buff { public: @@ -11026,17 +11075,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride_LoadedUnit : public CDOTA_Buff { public: - int32_t hit_radius; // 0x12b8 - float timeout_duration; // 0x12bc - int32_t damage; // 0x12c0 + int32_t hit_radius; // 0x12c8 + float timeout_duration; // 0x12cc + int32_t damage; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride_LoadedUnit_Timeout : public CDOTA_Buff { public: @@ -11044,51 +11093,51 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Flak_Cannon_Fire_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x12b8 - int32_t path_radius; // 0x12c4 - float linger_duration; // 0x12c8 - float flDamage; // 0x12cc + Vector m_vPathDir; // 0x12c8 + int32_t path_radius; // 0x12d4 + float linger_duration; // 0x12d8 + float flDamage; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Flak_Cannon_Fire_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x12b8 + float flDamage; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Call_Down_Attack_Buff : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 - int32_t attackspeed; // 0x12bc + int32_t movespeed; // 0x12c8 + int32_t attackspeed; // 0x12cc }; // Alignment: 6 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Special_Gyrocopter_Call_Down_Land_Mines : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float proximity_threshold; // 0x12bc - float damage; // 0x12c0 - float activation_delay; // 0x12c4 - bool bActivated; // 0x12c8 + int32_t radius; // 0x12c8 + float proximity_threshold; // 0x12cc + float damage; // 0x12d0 + float activation_delay; // 0x12d4 + bool bActivated; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x7]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x7]; // 0x12d9 public: - CountdownTimer m_Timer; // 0x12d0 + CountdownTimer m_Timer; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Call_Down_Wingman : public CDOTA_Buff { public: @@ -11096,31 +11145,31 @@ public: }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Thinker : public CDOTA_Buff { public: - 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 + float pulse_interval; // 0x12c8 + int32_t iEffectRadius; // 0x12cc + int32_t base_damage; // 0x12d0 + int32_t base_heal; // 0x12d4 + int32_t scepter_heal; // 0x12d8 + CHandle< C_BaseEntity > m_hFollowTarget; // 0x12dc + CHandle< C_BaseEntity > m_hInflictor; // 0x12e0 + GameTime_t m_flNextPulseTime; // 0x12e4 + ParticleIndex_t m_nThinkerFXIndex; // 0x12e8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Evasion : public CDOTA_Buff { public: - int32_t miss_rate; // 0x12b8 + int32_t miss_rate; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Dawnbreaker_Solar_Guardian_AirTime : public CDOTA_Buff { public: @@ -11128,16 +11177,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Disable : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x12b8 - ParticleIndex_t m_nStatusFXIndex; // 0x12bc + ParticleIndex_t m_nCasterFXIndex; // 0x12c8 + ParticleIndex_t m_nStatusFXIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_After_Land : public CDOTA_Buff { public: @@ -11145,75 +11194,75 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity : public CDOTA_Buff { public: - bool m_bAppliesToCreeps; // 0x12b8 + bool m_bAppliesToCreeps; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t attack_count; // 0x12bc - bool m_bShouldIncrement; // 0x12c0 + int32_t attack_count; // 0x12cc + bool m_bShouldIncrement; // 0x12d0 }; // Alignment: 14 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Attack_Buff : public CDOTA_Buff { public: - bool m_bIsBuffedAttack; // 0x12b8 - bool m_bSunSentinel; // 0x12b9 + bool m_bIsBuffedAttack; // 0x12c8 + bool m_bSunSentinel; // 0x12c9 private: - [[maybe_unused]] uint8_t __pad12ba[0x2]; // 0x12ba + [[maybe_unused]] uint8_t __pad12ca[0x2]; // 0x12ca public: - 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 + int32_t heal_pct; // 0x12cc + int32_t bonus_damage; // 0x12d0 + int32_t heal_radius; // 0x12d4 + int32_t heal_from_creeps; // 0x12d8 + int32_t allied_healing_pct; // 0x12dc + int32_t m_nSmashDamage; // 0x12e0 + int32_t m_nCounterOrbitalChance; // 0x12e4 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesToHeal; // 0x12e8 + float m_flTotalToHeal; // 0x1300 + bool m_bCounterOrbitalProcessed; // 0x1304 + bool m_bIsCounterOrbitalSmash; // 0x1305 + bool m_bBrightFoundryProcessed; // 0x1306 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge_Thinker : public CDOTA_Buff { public: - int32_t flare_radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc - CHandle< C_BaseEntity > m_hInflictor; // 0x12c0 + int32_t flare_radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + CHandle< C_BaseEntity > m_hInflictor; // 0x12d0 }; // Alignment: 11 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Movement : public CDOTA_Buff { public: - 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 + int32_t m_nProjectileID; // 0x12c8 + int32_t projectile_speed; // 0x12cc + int32_t travel_speed_pct; // 0x12d0 + int32_t m_nMaxRange; // 0x12d4 + Vector m_vStartPoint; // 0x12d8 + Vector m_vLastTrailThinkerLocation; // 0x12e4 + Vector m_vEndPointShard; // 0x12f0 + ParticleIndex_t m_nStatusFXIndex; // 0x12fc + int32_t flare_radius; // 0x1300 + bool bHasStartedBurning; // 0x1304 private: - [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 + [[maybe_unused]] uint8_t __pad1305[0x3]; // 0x1305 public: - float flare_debuff_duration; // 0x12f8 + float flare_debuff_duration; // 0x1308 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Caster : public CDOTA_Buff { public: @@ -11221,89 +11270,89 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Thinker : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + float trail_duration; // 0x12cc + int32_t flare_radius; // 0x12d0 + int32_t m_nProjectileHandle; // 0x12d4 + CHandle< C_BaseEntity > m_hHavenThinker; // 0x12d8 }; // Alignment: 22 -// Size: 0x1318 +// Size: 0x1328 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Caster : public CDOTA_Buff { public: - 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 + int32_t swipe_radius; // 0x12c8 + int32_t swipe_damage; // 0x12cc + int32_t smash_radius; // 0x12d0 + int32_t smash_damage; // 0x12d4 + int32_t m_nCurrentSpeed; // 0x12d8 + float flSwipeInterval; // 0x12dc + GameTime_t m_flNextHit; // 0x12e0 + int32_t iCurrentAttack; // 0x12e4 + int32_t total_attacks; // 0x12e8 + float smash_stun_duration; // 0x12ec + float sweep_stun_duration; // 0x12f0 + bool m_bHasCompletedMove; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - 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 + float duration; // 0x12f8 + Vector m_vTargetHorizontalDirection; // 0x12fc + int32_t smash_distance_from_hero; // 0x1308 + float animation_rate; // 0x130c + float turn_rate; // 0x1310 + float m_flFacingTarget; // 0x1314 + bool m_bSuncrusher; // 0x1318 private: - [[maybe_unused]] uint8_t __pad1309[0x3]; // 0x1309 + [[maybe_unused]] uint8_t __pad1319[0x3]; // 0x1319 public: - float m_flDistanceSinceStandAblazeThinker; // 0x130c - float m_flDistancePerStandAblazeThinker; // 0x1310 - CHandle< C_DOTABaseAbility > m_hCelestialHammerForFire; // 0x1314 + float m_flDistanceSinceStandAblazeThinker; // 0x131c + float m_flDistancePerStandAblazeThinker; // 0x1320 + CHandle< C_DOTABaseAbility > m_hCelestialHammerForFire; // 0x1324 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Attack_Bonus : public CDOTA_Buff { public: - int32_t attack_damage; // 0x12b8 + int32_t attack_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Slow : public CDOTA_Buff { public: - int32_t swipe_slow; // 0x12b8 + int32_t swipe_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Smash_Stun : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 + int32_t damage; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 - int32_t burn_damage; // 0x12bc - float burn_interval; // 0x12c0 - CHandle< C_BaseEntity > m_hInflictor; // 0x12c4 + int32_t move_slow; // 0x12c8 + int32_t burn_damage; // 0x12cc + float burn_interval; // 0x12d0 + CHandle< C_BaseEntity > m_hInflictor; // 0x12d4 }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_CelestialFire_Thinker : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge_Thinker { public: @@ -11311,7 +11360,7 @@ public: }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_CelestialFire_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: @@ -11319,7 +11368,7 @@ public: }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_BrightFoundry_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: @@ -11327,18 +11376,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_SolarBattery : public CDOTA_Buff { public: - int32_t move_speed_pct; // 0x12b8 - int32_t attack_speed; // 0x12bc - int32_t m_nBonusMovementSpeedPct; // 0x12c0 - int32_t m_nBonusAttackSpeed; // 0x12c4 + int32_t move_speed_pct; // 0x12c8 + int32_t attack_speed; // 0x12cc + int32_t m_nBonusMovementSpeedPct; // 0x12d0 + int32_t m_nBonusAttackSpeed; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Lightbringer : public CDOTA_Buff { public: @@ -11346,7 +11395,7 @@ public: }; // Alignment: 0 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_Dawnbreaker_SunSentinelLuminosity_Attack_Buff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Attack_Buff { public: @@ -11354,7 +11403,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar : public CDOTA_Buff { public: @@ -11362,20 +11411,20 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar_Active : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 - bool m_bPassive; // 0x12bc + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + bool m_bPassive; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float m_flCooldown; // 0x12c0 + float m_flCooldown; // 0x12d0 }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_SolarFlare_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: @@ -11383,17 +11432,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Dawnbreaker_Starbreaker_CounterOrbital : public CDOTA_Buff { public: - int32_t trigger_chance; // 0x12b8 - float cooldown; // 0x12bc - GameTime_t m_fLastProc; // 0x12c0 + int32_t trigger_chance; // 0x12c8 + float cooldown; // 0x12cc + GameTime_t m_fLastProc; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Dawnbreaker_Starbreaker_CounterOrbital_Marker : public CDOTA_Buff { public: @@ -11401,7 +11450,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble : public CDOTA_Buff { public: @@ -11409,69 +11458,69 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble_Effect : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 - int32_t heal_reduction; // 0x12bc - int32_t cast_reduction; // 0x12c0 + int32_t damage_reduction; // 0x12c8 + int32_t heal_reduction; // 0x12cc + int32_t cast_reduction; // 0x12d0 }; // Alignment: 12 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_Bane_Nightmare : public CDOTA_Buff { public: - 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 + bool m_bSweetDreams; // 0x12c8 + bool m_bConfusion; // 0x12c9 + bool m_bSelfBreakAvailable; // 0x12ca + bool m_bNoStatusEffect; // 0x12cb + int32_t m_nSource; // 0x12cc + float animation_rate; // 0x12d0 + GameTime_t m_flNextNightmareDamageTime; // 0x12d4 + float m_flAccumNightmareDamage; // 0x12d8 + int32_t movespeed_pct; // 0x12dc + int32_t attack_speed; // 0x12e0 + int32_t model_scale; // 0x12e4 + CHandle< C_BaseEntity > m_hConfusionAttackTarget; // 0x12e8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Bane_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: - int32_t m_nMoveSpeed; // 0x12b8 + int32_t m_nMoveSpeed; // 0x12c8 }; // Alignment: 9 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip : public CDOTA_Buff { public: - 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 + int32_t fiend_grip_mana_drain; // 0x12c8 + int32_t fiend_grip_boost_lifesteal_multiplier; // 0x12cc + int32_t fiend_grip_damage; // 0x12d0 + int32_t fiend_grip_spread_radius; // 0x12d4 + float fiend_grip_tick_interval; // 0x12d8 + GameTime_t m_flLastSpreadTime; // 0x12dc + bool m_bThinkerSource; // 0x12e0 + bool m_bRequiresChanneling; // 0x12e1 + bool m_bPrimaryGrip; // 0x12e2 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Cast_Illusion : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x12b8 - float fiend_grip_tick_interval; // 0x12bc + int32_t fiend_grip_mana_drain; // 0x12c8 + float fiend_grip_tick_interval; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Self : public CDOTA_Buff { public: @@ -11479,7 +11528,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Illusion_Can_Only_Channel : public CDOTA_Buff { public: @@ -11487,7 +11536,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Illusion : public CDOTA_Buff { public: @@ -11495,68 +11544,68 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble_DamageStealBuff : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Bane_FiendsGripThinker : public CDOTA_Buff -{ -public: - int32_t latch_range; // 0x12b8 -}; - -// Alignment: 5 -// Size: 0x1310 -class CDOTA_Modifier_AghsFort_Bane_BrainSap_Knockback : public CDOTA_Modifier_Knockback -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_AghsFort_Bane_BrainSap_KnockbackSlow : public CDOTA_Buff -{ -public: - int32_t movement_slow_pct; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Bane_BrainSap_NightmareMirror : public CDOTA_Buff -{ -public: - int32_t radius; // 0x12b8 + int32_t damage_reduction; // 0x12c8 }; // Alignment: 1 // Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Bane_FiendsGripThinker : public CDOTA_Buff +{ +public: + int32_t latch_range; // 0x12c8 +}; + +// Alignment: 5 +// Size: 0x1320 +class CDOTA_Modifier_AghsFort_Bane_BrainSap_Knockback : public CDOTA_Modifier_Knockback +{ +public: + int32_t radius; // 0x12f8 + int32_t heal_pct; // 0x12fc + float slow_duration; // 0x1300 + int32_t m_nBrainSapDamage; // 0x1304 + CUtlVector< CHandle< C_BaseEntity > > m_vecHitTargets; // 0x1308 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Bane_BrainSap_KnockbackSlow : public CDOTA_Buff +{ +public: + int32_t movement_slow_pct; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Bane_BrainSap_NightmareMirror : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Bane_BrainSap_Invis : public CDOTA_Modifier_Invisible { public: - int32_t invis_movement_speed; // 0x12c8 + int32_t invis_movement_speed; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Bane_Invis_Crit : public CDOTA_Buff { public: - int32_t invis_brain_sap_crit_pct; // 0x12b8 - int32_t m_nCritPct; // 0x12bc + int32_t invis_brain_sap_crit_pct; // 0x12c8 + int32_t m_nCritPct; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Phoenix_SunRayVision : public CDOTA_Buff { public: @@ -11564,93 +11613,93 @@ public: }; // Alignment: 21 -// Size: 0x1338 +// Size: 0x1348 class CDOTA_Modifier_AghsFort_Phoenix_SunRay : public CDOTA_Buff { public: - 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 + float hp_cost_pct; // 0x12c8 + int32_t beam_range; // 0x12cc + int32_t base_damage; // 0x12d0 + int32_t base_heal; // 0x12d4 + float tick_interval; // 0x12d8 + float forward_move_speed; // 0x12dc + float turn_rate_initial; // 0x12e0 + float turn_rate; // 0x12e4 + int32_t radius; // 0x12e8 + float m_flCurrentTime; // 0x12ec + float m_flAccumulatedSelfDamage; // 0x12f0 + bool m_bMovingForward; // 0x12f4 + bool m_bTurningFast; // 0x12f5 private: - [[maybe_unused]] uint8_t __pad12e6[0x2]; // 0x12e6 + [[maybe_unused]] uint8_t __pad12f6[0x2]; // 0x12f6 public: - 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 + float m_flFacingTarget; // 0x12f8 + float hp_perc_heal; // 0x12fc + ParticleIndex_t m_nBeamFXIndex; // 0x1300 + CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x1304 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x1324 + bool m_bCreatedVisionThinkers; // 0x1328 private: - [[maybe_unused]] uint8_t __pad1319[0x3]; // 0x1319 + [[maybe_unused]] uint8_t __pad1329[0x3]; // 0x1329 public: - CHandle< C_BaseEntity > m_hBeamEndSound; // 0x131c - CUtlVector< CHandle< C_BaseEntity > > m_vecDispelledAllies; // 0x1320 + CHandle< C_BaseEntity > m_hBeamEndSound; // 0x132c + CUtlVector< CHandle< C_BaseEntity > > m_vecDispelledAllies; // 0x1330 }; // Alignment: 13 -// Size: 0x1328 +// Size: 0x1338 class CDOTA_Modifier_AghsFort_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 - int32_t damage_per_second; // 0x1300 + Vector m_vSource; // 0x12c8 + Vector m_vTarget; // 0x12d4 + Vector m_vDirection; // 0x12e0 + QAngle m_angDirection; // 0x12ec + float m_flCurrentTime; // 0x12f8 + int32_t dash_length; // 0x12fc + int32_t dash_width; // 0x1300 + int32_t hit_radius; // 0x1304 + float burn_duration; // 0x1308 + float dive_duration; // 0x130c + int32_t damage_per_second; // 0x1310 private: - [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 + [[maybe_unused]] uint8_t __pad1314[0x4]; // 0x1314 public: - CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x1308 - bool m_bSavedAlly; // 0x1320 + CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x1318 + bool m_bSavedAlly; // 0x1330 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Phoenix_IcarusDiveBurn : public CDOTA_Buff { public: - float burn_tick_interval; // 0x12b8 - int32_t damage_per_second; // 0x12bc - int32_t slow_movement_speed_pct; // 0x12c0 + float burn_tick_interval; // 0x12c8 + int32_t damage_per_second; // 0x12cc + int32_t slow_movement_speed_pct; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Phoenix_FireSpiritCount : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t spirit_count; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t spirit_count; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Phoenix_FireSpiritBurn : public CDOTA_Buff { public: - float tick_interval; // 0x12b8 - int32_t attackspeed_slow; // 0x12bc - int32_t damage_per_second; // 0x12c0 + float tick_interval; // 0x12c8 + int32_t attackspeed_slow; // 0x12cc + int32_t damage_per_second; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Phoenix_SupernovaHiding : public CDOTA_Buff { public: @@ -11658,62 +11707,62 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Phoenix_Sun : public CDOTA_Buff { public: - 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 + int32_t aura_radius; // 0x12c8 + float stun_duration; // 0x12cc + int32_t attacks_to_kill; // 0x12d0 + int32_t captain_attack_value; // 0x12d4 + int32_t boss_attack_value; // 0x12d8 + CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x12dc + bool m_bHasExpelCoreShard; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t m_nAttackCount; // 0x12d4 + int32_t m_nAttackCount; // 0x12e4 }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Phoenix_SecondSun : public CDOTA_Buff { public: - 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 aura_radius; // 0x12c8 + float stun_duration; // 0x12cc + int32_t attacks_to_kill; // 0x12d0 + int32_t captain_attack_value; // 0x12d4 + int32_t boss_attack_value; // 0x12d8 + int32_t m_nAttackCount; // 0x12dc + int32_t m_nRadius; // 0x12e0 + float m_fSecondSunRadiusPct; // 0x12e4 }; // Alignment: 12 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_Phoenix_Sun_Debuff : public CDOTA_Buff { public: - 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 + int32_t damage_per_sec; // 0x12c8 + float damage_interval; // 0x12cc + int32_t aura_radius; // 0x12d0 + float m_fRadius; // 0x12d4 + float m_fSecondSunRadiusPct; // 0x12d8 + GameTime_t m_fNextDamageTime; // 0x12dc + GameTime_t m_fLastThinkTime; // 0x12e0 + bool m_bHasHorizonAbility; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - int32_t m_nHorizonPushDistance; // 0x12d8 - float m_fHorizonPushInterval; // 0x12dc - GameTime_t m_fNextHorizonPushTime; // 0x12e0 - ParticleIndex_t m_nHorizonFX; // 0x12e4 + int32_t m_nHorizonPushDistance; // 0x12e8 + float m_fHorizonPushInterval; // 0x12ec + GameTime_t m_fNextHorizonPushTime; // 0x12f0 + ParticleIndex_t m_nHorizonFX; // 0x12f4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Caster : public CDOTA_Buff { public: @@ -11721,32 +11770,32 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Ally : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hSaviorEnt; // 0x12b8 - float ally_position_offset; // 0x12bc + CHandle< C_BaseEntity > m_hSaviorEnt; // 0x12c8 + float ally_position_offset; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12e0 +class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Invis : public CDOTA_Modifier_PersistentInvisibility +{ +public: + float duration; // 0x12d8 }; // Alignment: 1 // Size: 0x12d0 -class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Invis : public CDOTA_Modifier_PersistentInvisibility -{ -public: - float duration; // 0x12c8 -}; - -// Alignment: 1 -// Size: 0x12c0 class CDOTA_Modifier_AghsFort_Special_Phoenix_FireSpirits_Artillery_Carry : public CDOTA_Buff { public: - float unit_position_offset; // 0x12b8 + float unit_position_offset; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Passive : public CDOTA_Buff { public: @@ -11754,246 +11803,246 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Attack_TreeFire_Thinker : public CDOTA_Buff { public: - CUtlVector< CUtlPair< CHandle< C_BaseEntity >, GameTime_t > > m_vecTreeFires; // 0x12b8 - bool m_bCleanupWhenEmpty; // 0x12d0 + CUtlVector< CUtlPair< CHandle< C_BaseEntity >, GameTime_t > > m_vecTreeFires; // 0x12c8 + bool m_bCleanupWhenEmpty; // 0x12e0 }; // Alignment: 8 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Attack : public CDOTA_Buff { public: - 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 __pad12d4[0x4]; // 0x12d4 -public: - CUtlVector< C_BaseEntity* > m_vecBurningTrees; // 0x12d8 -}; - -// Alignment: 7 -// Size: 0x12d8 -class CDOTA_Modifier_Aghsfort_Phoenix_FlameRevenant_Attack_Damage : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_AghsFort_Special_Phoenix_SunRay_GammaRay_Slow : public CDOTA_Buff -{ -public: - int32_t move_slow_pct; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Phoenix_SunRay_Luminance : public CDOTA_Buff -{ -public: - float pct_of_heal_as_attack_speed; // 0x12b8 - float m_fAttackSpeedBonus; // 0x12bc -}; - -// Alignment: 11 -// Size: 0x12e8 -class CDOTA_Modifier_AghsFort_ArcWardenBoss_Flux : public CDOTA_Buff -{ -public: - 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 __pad12dd[0x3]; // 0x12dd -public: - ParticleIndex_t m_nFXIndex; // 0x12e0 -}; - -// Alignment: 5 -// Size: 0x12d8 -class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Evasion : public CDOTA_Buff -{ -private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 -public: - 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: 0x12c8 -class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Explosion : public CDOTA_Buff -{ -public: - int32_t radius; // 0x12b8 - int32_t explosion_damage; // 0x12bc - float explosion_stun_duration; // 0x12c0 - float explosion_delay_time; // 0x12c4 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Attack_Speed : public CDOTA_Buff -{ -public: - int32_t radius; // 0x12b8 -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Evasion : public CDOTA_Buff -{ -public: - int32_t evasion_chance; // 0x12b8 - int32_t radius; // 0x12bc - float aura_origin_x; // 0x12c0 - float aura_origin_y; // 0x12c4 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Attack_Speed : public CDOTA_Buff -{ -public: - int32_t attack_speed_bonus; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Purge : public CDOTA_Buff -{ -public: - int32_t move_speed_slow_pct; // 0x12b8 -}; - -// Alignment: 18 -// Size: 0x1310 -class CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Thinker : public CDOTA_Buff -{ -public: - int32_t radius; // 0x12b8 - int32_t wraith_vision_radius; // 0x12bc - int32_t wraith_speed; // 0x12c0 -private: - [[maybe_unused]] uint8_t __pad12c4[0x8]; // 0x12c4 -public: - 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 __pad12ee[0x2]; // 0x12ee -public: - 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: 0x12c0 -class CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble : public CDOTA_Buff -{ -public: - int32_t damage_increase; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble_Phase : public CDOTA_Buff -{ -public: - int32_t num_doubles; // 0x12b8 -}; - -// Alignment: 12 -// Size: 0x1318 -class CDOTA_Modifier_AghsFort_ArcWardenBoss_MeteorShockwave_Thinker : public CDOTA_Buff -{ -public: - float m_fLastRadius; // 0x12b8 - float m_fCurRadius; // 0x12bc - GameTime_t m_fLastThink; // 0x12c0 - bool m_bWindingUp; // 0x12c4 -private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 -public: - CountdownTimer m_ViewerTimer; // 0x12c8 - ParticleIndex_t m_nFXIndex; // 0x12e0 + float radius_pct_as_length; // 0x12c8 + int32_t width; // 0x12cc + float linger_duration; // 0x12d0 + float m_fLength; // 0x12d4 + ParticleIndex_t m_nBeamFXIndex; // 0x12d8 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x12dc + GameTime_t m_flLastHit; // 0x12e0 private: [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - 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 + CUtlVector< C_BaseEntity* > m_vecBurningTrees; // 0x12e8 +}; + +// Alignment: 7 +// Size: 0x12e8 +class CDOTA_Modifier_Aghsfort_Phoenix_FlameRevenant_Attack_Damage : public CDOTA_Buff +{ +public: + float m_fDamagePerSecond; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + ParticleIndex_t m_nActiveFXIndex; // 0x12d0 + ParticleIndex_t m_nActiveStatusFXIndex; // 0x12d4 + float flame_revenant_damage_pct; // 0x12d8 + float think_interval; // 0x12dc + int32_t move_slow_pct; // 0x12e0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Special_Phoenix_SunRay_GammaRay_Slow : public CDOTA_Buff +{ +public: + int32_t move_slow_pct; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Phoenix_SunRay_Luminance : public CDOTA_Buff +{ +public: + float pct_of_heal_as_attack_speed; // 0x12c8 + float m_fAttackSpeedBonus; // 0x12cc +}; + +// Alignment: 11 +// Size: 0x12f8 +class CDOTA_Modifier_AghsFort_ArcWardenBoss_Flux : public CDOTA_Buff +{ +public: + int32_t m_nCasterTeam; // 0x12c8 + int32_t damage_per_tick_min; // 0x12cc + int32_t damage_per_tick_max; // 0x12d0 + int32_t search_radius; // 0x12d4 + int32_t move_speed_slow_pct; // 0x12d8 + float think_interval; // 0x12dc + float m_fCurrentDamage; // 0x12e0 + float m_fDamageIncreasePerTick; // 0x12e4 + int32_t m_nCurrentSlow; // 0x12e8 + bool m_bAlone; // 0x12ec +private: + [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed +public: + ParticleIndex_t m_nFXIndex; // 0x12f0 +}; + +// Alignment: 5 +// Size: 0x12e8 +class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Evasion : public CDOTA_Buff +{ +private: + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 +public: + int32_t radius; // 0x12d0 + float explosion_delay_time; // 0x12d4 + float explosion_stun_duration; // 0x12d8 + int32_t explosion_damage; // 0x12dc + int32_t caster_team; // 0x12e0 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Explosion : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 + int32_t explosion_damage; // 0x12cc + float explosion_stun_duration; // 0x12d0 + float explosion_delay_time; // 0x12d4 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Attack_Speed : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Evasion : public CDOTA_Buff +{ +public: + int32_t evasion_chance; // 0x12c8 + int32_t radius; // 0x12cc + float aura_origin_x; // 0x12d0 + float aura_origin_y; // 0x12d4 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Attack_Speed : public CDOTA_Buff +{ +public: + int32_t attack_speed_bonus; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Purge : public CDOTA_Buff +{ +public: + int32_t move_speed_slow_pct; // 0x12c8 +}; + +// Alignment: 18 +// Size: 0x1320 +class CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Thinker : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 + int32_t wraith_vision_radius; // 0x12cc + int32_t wraith_speed; // 0x12d0 +private: + [[maybe_unused]] uint8_t __pad12d4[0x8]; // 0x12d4 +public: + float activation_delay; // 0x12dc + float scepter_activation_delay; // 0x12e0 + float think_interval; // 0x12e4 + float search_timer_min; // 0x12e8 + float search_timer_max; // 0x12ec + float mini_stun_duration; // 0x12f0 + int32_t move_speed_slow_pct; // 0x12f4 + int32_t m_nSparkDamage; // 0x12f8 + bool m_bActive; // 0x12fc + bool m_bOriginal; // 0x12fd +private: + [[maybe_unused]] uint8_t __pad12fe[0x2]; // 0x12fe +public: + float m_fSearchTimer; // 0x1300 + float m_fRotationSpeed; // 0x1304 + int32_t m_nRotationDirection; // 0x1308 + Vector m_vRotationCenter; // 0x130c + ParticleIndex_t m_nFXIndex; // 0x1318 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble : public CDOTA_Buff +{ +public: + int32_t damage_increase; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble_Phase : public CDOTA_Buff +{ +public: + int32_t num_doubles; // 0x12c8 +}; + +// Alignment: 12 +// Size: 0x1328 +class CDOTA_Modifier_AghsFort_ArcWardenBoss_MeteorShockwave_Thinker : public CDOTA_Buff +{ +public: + float m_fLastRadius; // 0x12c8 + float m_fCurRadius; // 0x12cc + GameTime_t m_fLastThink; // 0x12d0 + bool m_bWindingUp; // 0x12d4 +private: + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 +public: + CountdownTimer m_ViewerTimer; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12f0 +private: + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 +public: + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12f8 + int32_t speed; // 0x1310 + int32_t radius; // 0x1314 + float knockback_distance; // 0x1318 + float knockback_duration; // 0x131c + float windup_time; // 0x1320 }; // Alignment: 15 -// Size: 0x1338 +// Size: 0x1348 class CDOTA_Modifier_Aghsfort_ArcWardenBoss_SparkWraith_Missile : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + ParticleIndex_t m_nFXIndex2; // 0x12cc + int32_t hero_damage; // 0x12d0 + int32_t acceleration; // 0x12d4 + int32_t min_damage; // 0x12d8 + int32_t max_distance; // 0x12dc + float pre_flight_time; // 0x12e0 + float stun_duration; // 0x12e4 + int32_t m_nMissileDamage; // 0x12e8 + int32_t m_nTeamNumber; // 0x12ec private: - [[maybe_unused]] uint8_t __pad12e0[0x8]; // 0x12e0 + [[maybe_unused]] uint8_t __pad12f0[0x8]; // 0x12f0 public: - float speed; // 0x12e8 - CHandle< C_BaseEntity > m_hAttachTarget; // 0x12ec - Vector m_vStartPosition; // 0x12f0 + float speed; // 0x12f8 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12fc + Vector m_vStartPosition; // 0x1300 private: - [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc + [[maybe_unused]] uint8_t __pad130c[0x4]; // 0x130c public: - CountdownTimer m_EnemyVision; // 0x1300 - CountdownTimer m_MoveTime; // 0x1318 + CountdownTimer m_EnemyVision; // 0x1310 + CountdownTimer m_MoveTime; // 0x1328 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_ArcWardenBoss_SparkWraith_Missile_Target : public CDOTA_Buff { public: @@ -12001,17 +12050,17 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Shard : public CDOTA_Buff { public: - Vector m_vStartPos; // 0x12b8 - Vector m_vEndPos; // 0x12c4 - GameTime_t m_flEndTime; // 0x12d0 + Vector m_vStartPos; // 0x12c8 + Vector m_vEndPos; // 0x12d4 + GameTime_t m_flEndTime; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Shard_Pathing : public CDOTA_Buff { public: @@ -12019,7 +12068,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Stun : public CDOTA_Modifier_Stunned { public: @@ -12027,7 +12076,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Thinker : public CDOTA_Buff { public: @@ -12035,7 +12084,7 @@ public: }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_Leap : public CDOTA_Buff { public: @@ -12043,7 +12092,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_Animation : public CDOTA_Buff { public: @@ -12051,131 +12100,131 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_LandDebuff : public CDOTA_Buff { public: - int32_t landing_move_slow_pct; // 0x12b8 + int32_t landing_move_slow_pct; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x12b8 - int32_t totem_damage_percentage; // 0x12bc + int32_t bonus_attack_range; // 0x12c8 + int32_t totem_damage_percentage; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_Thinker : public CDOTA_Buff { public: - int32_t effect_radius; // 0x12b8 - float rock_duration; // 0x12bc + int32_t effect_radius; // 0x12c8 + float rock_duration; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_HP : public CDOTA_Buff { public: - int32_t rock_health; // 0x12b8 - int32_t rock_visualzdelta; // 0x12bc - bool m_bIsCrushing; // 0x12c0 + int32_t rock_health; // 0x12c8 + int32_t rock_visualzdelta; // 0x12cc + bool m_bIsCrushing; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t summon_count; // 0x12c4 + int32_t summon_count; // 0x12d4 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_Crush : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hRock; // 0x12b8 - QAngle m_qRotation; // 0x12bc - float m_flOldPitch; // 0x12c8 + CHandle< C_BaseEntity > m_hRock; // 0x12c8 + QAngle m_qRotation; // 0x12cc + float m_flOldPitch; // 0x12d8 }; // Alignment: 8 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_Primalbeast_Boss_HeavySteps : public CDOTA_Buff { public: - 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 + Vector vLastPos; // 0x12c8 + float flCurrentDistance; // 0x12d4 + int32_t step_distance; // 0x12d8 + int32_t effect_radius; // 0x12dc + int32_t base_damage; // 0x12e0 + CHandle< C_BaseEntity > m_hTarget; // 0x12e4 + CountdownTimer ctLastCommandTimer; // 0x12e8 + bool m_bMoveCommandIssued; // 0x1300 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - float m_flOffset; // 0x12bc - QAngle m_vStartAngles; // 0x12c0 - float animation_rate; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12c8 + float m_flOffset; // 0x12cc + QAngle m_vStartAngles; // 0x12d0 + float animation_rate; // 0x12dc }; // Alignment: 14 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Self : public CDOTA_Buff { public: - 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 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x12c8 + Vector m_vPos; // 0x12cc + int32_t splash_radius; // 0x12d8 + float interval; // 0x12dc + float ministun; // 0x12e0 + int32_t m_nCurrentHitCount; // 0x12e4 + int32_t total_ripple_circles; // 0x12e8 + int32_t ripple_step_distance; // 0x12ec + int32_t ripple_step_distance_offset; // 0x12f0 + float health_damage; // 0x12f4 + float ripple_duration; // 0x12f8 + int32_t ripple_damage; // 0x12fc + CUtlVector< int32 > m_vLastRippleOffsets; // 0x1300 + float self_animation_rate; // 0x1318 }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Ripple_Thinker : public CDOTA_Buff { public: - 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 + int32_t ripple_effect_width; // 0x12c8 + int32_t ripple_damage; // 0x12cc + int32_t health_damage; // 0x12d0 + int32_t ripple_count; // 0x12d4 + int32_t total_ripple_circles; // 0x12d8 + float radius; // 0x12dc + float ripple_slow_duration; // 0x12e0 + float ripple_knockback_duration; // 0x12e4 + CHandle< C_BaseEntity > m_hGrabbedEnemy; // 0x12e8 + ParticleIndex_t m_nPreviewFXIndex; // 0x12ec }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Damage_Tracking : public CDOTA_Buff { public: - int32_t damage_limit; // 0x12b8 - ParticleIndex_t m_nFxIndex; // 0x12bc - float m_fTotalDamage; // 0x12c0 + int32_t damage_limit; // 0x12c8 + ParticleIndex_t m_nFxIndex; // 0x12cc + float m_fTotalDamage; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_End_Knockback : public CDOTA_Buff { public: @@ -12183,7 +12232,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Pummel_LootDrop_Thinker : public CDOTA_Buff { public: @@ -12191,44 +12240,44 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Pummel_DroppedItem : public CDOTA_Buff { public: - ParticleIndex_t m_nPreviewFXIndex; // 0x12b8 + ParticleIndex_t m_nPreviewFXIndex; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Windup : public CDOTA_Buff { public: - 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 + float charge_duration; // 0x12c8 + float max_charge_time; // 0x12cc + float turn_rate; // 0x12d0 + float base_power; // 0x12d4 + int32_t charge_speed; // 0x12d8 + float animation_rate; // 0x12dc }; // Alignment: 9 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Movement : public CDOTA_Buff { public: - 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 + float charge_speed; // 0x12c8 + int32_t knockback_radius; // 0x12cc + int32_t knockback_distance; // 0x12d0 + int32_t knockback_damage; // 0x12d4 + int32_t forward_offset; // 0x12d8 + CHandle< C_BaseEntity > m_hTarget; // 0x12dc + float m_flFacingTarget; // 0x12e0 + ParticleIndex_t m_nFXIndex; // 0x12e4 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12e8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Knockback : public CDOTA_Buff { public: @@ -12236,84 +12285,84 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Inhibition : public CDOTA_Buff { public: - float debuff_duration; // 0x12b8 + float debuff_duration; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Inhibition_Debuff : public CDOTA_Buff { public: - int32_t heal_suppression_pct; // 0x12b8 - int32_t armor_reduction_pct; // 0x12bc + int32_t heal_suppression_pct; // 0x12c8 + int32_t armor_reduction_pct; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Vault : public CDOTA_Buff { public: - float vault_speed; // 0x12b8 - float vault_acceleration; // 0x12bc - int32_t vault_radius; // 0x12c0 + float vault_speed; // 0x12c8 + float vault_acceleration; // 0x12cc + int32_t vault_radius; // 0x12d0 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Primalbeast_Boss_RoarAttack_Start : public CDOTA_Buff { public: - 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 + int32_t rock_drop_intervals; // 0x12c8 + int32_t rock_drop_per_interval; // 0x12cc + int32_t rock_drop_distance; // 0x12d0 + int32_t m_nCurrentInterval; // 0x12d4 + int32_t rock_drop_rotation_angle; // 0x12d8 + CHandle< C_BaseEntity > m_hTarget; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_NoCC : public CDOTA_Buff { public: - bool bCanbeMotionControlled; // 0x12b8 + bool bCanbeMotionControlled; // 0x12c8 }; // Alignment: 22 -// Size: 0x1350 +// Size: 0x1360 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift : public CDOTA_Buff { public: - 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 + int32_t projectile_speed; // 0x12c8 + int32_t projectile_speed_increment; // 0x12cc + int32_t projectile_distance; // 0x12d0 + int32_t projectile_width; // 0x12d4 + int32_t projectiles_per_interval; // 0x12d8 + int32_t projectiles_per_interval_increment; // 0x12dc + int32_t initial_spread_angle; // 0x12e0 + int32_t angle_offset; // 0x12e4 + int32_t iCurrentInterval; // 0x12e8 + int32_t splinter_angle; // 0x12ec + CountdownTimer m_LeftHandSmashTimer; // 0x12f0 + CountdownTimer m_RightHandSmashTimer; // 0x1308 + CountdownTimer m_AttackIntervalTimer; // 0x1320 + float initial_interval; // 0x1338 + float interval_reduction; // 0x133c + float min_interval; // 0x1340 + int32_t arm_distance_forward; // 0x1344 + int32_t arm_distance_side; // 0x1348 + int32_t splash_radius; // 0x134c + int32_t max_split_amount; // 0x1350 + int32_t m_nCurrentCastCount; // 0x1354 + int32_t max_projectiles; // 0x1358 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Stun : public CDOTA_Modifier_Stunned { public: @@ -12321,24 +12370,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x12b8 - int32_t slow_attack_speed_pct; // 0x12bc + int32_t slow_movement_speed_pct; // 0x12c8 + int32_t slow_attack_speed_pct; // 0x12cc }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Push : public CDOTA_Buff { public: - Vector m_vVelocity; // 0x12b8 + Vector m_vVelocity; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_InAbilityPhaseStart : public CDOTA_Buff { public: @@ -12346,7 +12395,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_CastTracker : public CDOTA_Buff { public: @@ -12354,7 +12403,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_TimeOut : public CDOTA_Buff { public: @@ -12362,49 +12411,49 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_Damage : public CDOTA_Buff { public: - float tick_damage; // 0x12b8 - int32_t damage_ticks; // 0x12bc - int32_t m_nTickAmount; // 0x12c0 + float tick_damage; // 0x12c8 + int32_t damage_ticks; // 0x12cc + int32_t m_nTickAmount; // 0x12d0 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinaleOrb : public CDOTA_Buff { public: - 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 + int32_t caustic_finale_radius; // 0x12c8 + int32_t caustic_finale_damage_death; // 0x12cc + int32_t caustic_finale_damage_dot; // 0x12d0 + int32_t caustic_finale_slow; // 0x12d4 + float caustic_finale_dot_tick; // 0x12d8 }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinale : public CDOTA_Buff { public: - float caustic_finale_duration; // 0x12b8 + float caustic_finale_duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike_Reverse_Tracking : public CDOTA_Buff { public: - Vector m_vStartLocation; // 0x12b8 + Vector m_vStartLocation; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Sand_King_Impale : public CDOTA_Buff { public: @@ -12412,1039 +12461,20 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike : public CDOTA_Buff { public: - Vector m_vPopupLocation; // 0x12b8 - bool m_bTeleported; // 0x12c4 + Vector m_vPopupLocation; // 0x12c8 + bool m_bTeleported; // 0x12d4 }; // Alignment: 10 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm : public CDOTA_Buff { public: - 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 __pad12d0[0x8]; // 0x12d0 -public: - CHandle< C_BaseEntity > m_hThinker; // 0x12d8 - CHandle< C_BaseEntity > m_hBurrowstrikeFieldThinker; // 0x12dc - bool m_bIsPrimarySandstorm; // 0x12e0 -private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 -public: - Vector vecSpawnPos; // 0x12e4 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow_Aura_Thinker : public CDOTA_Buff -{ -public: - float sand_storm_radius; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow : public CDOTA_Buff -{ -public: - int32_t blind_slow_pct; // 0x12b8 -}; - -// Alignment: 5 -// Size: 0x1310 -class CDOTA_Modifier_Aghsfort_Sand_King_Epicenter : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Aghsfort_Sand_King_Epicenter_Slow : public CDOTA_Buff -{ -public: - int32_t epicenter_slow; // 0x12b8 - int32_t epicenter_slow_as; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c8 -class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike_Channel : public CDOTA_Buff -{ -public: - Vector m_vTargetPos; // 0x12b8 - ParticleIndex_t m_nCrosshairFX; // 0x12c4 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Sand_King_Burrowstrike_Transport : public CDOTA_Buff -{ -public: - int32_t m_nProjectileID; // 0x12b8 -}; - -// Alignment: 11 -// Size: 0x12e8 -class CDOTA_Modifier_Aghsfort_Sand_King_Sandstorm_Burrowstrike_Field_Thinker : public CDOTA_Buff -{ -public: - 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: 0x12c8 -class CDOTA_Modifier_Aghsfort_Special_Sand_King_Sandstorm_Vacuum : public CDOTA_Buff -{ -public: - float pull_speed; // 0x12b8 - Vector vPullLocation; // 0x12bc -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinale_Active : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Special_Sand_King_Caustic_Finale_StrengthBuff : public CDOTA_Buff -{ -public: - int32_t str_pct; // 0x12b8 -}; - -// Alignment: 3 -// Size: 0x12d0 -class CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_Movement : public CDOTA_Buff -{ -public: - Vector vLastPos; // 0x12b8 - float m_fAccumulatedDistance; // 0x12c4 - int32_t movement_distance; // 0x12c8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_DamageResist : public CDOTA_Buff -{ -public: - int32_t damage_reduction; // 0x12b8 - int32_t status_resistance; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_DamageReduction : public CDOTA_Buff -{ -public: - int32_t damage_pct; // 0x12b8 -}; - -// Alignment: 6 -// Size: 0x12d8 -class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage : public CDOTA_Buff -{ -public: - 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: 0x12e0 -class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows : public CDOTA_Buff -{ -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 - bool m_bBonusAttack; // 0x12d0 -private: - [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 -public: - int32_t damage_bonus; // 0x12d4 - float debuff_duration; // 0x12d8 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Debuff : public CDOTA_Buff -{ -public: - int32_t attack_slow; // 0x12b8 - float m_fIgniteThinkInterval; // 0x12bc - float m_fIgniteDmgPerSec; // 0x12c0 -}; - -// Alignment: 2 -// Size: 0x12c8 -class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Thinker : public CDOTA_Buff -{ -public: - int32_t m_iCount; // 0x12b8 - Vector m_vFacePosition; // 0x12bc -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy : public CDOTA_Buff -{ -public: - float attack_rate; // 0x12b8 - int32_t damage_percent; // 0x12bc - ParticleIndex_t m_nFXIndex; // 0x12c0 - bool m_bHasAttacked; // 0x12c4 -}; - -// Alignment: 3 -// Size: 0x12e8 -class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk : public CDOTA_Modifier_Invisible -{ -public: - CUtlVector< CHandle< C_BaseEntity > > m_vecWraithTouchedEntities; // 0x12c8 - int32_t move_speed_bonus_pct; // 0x12e0 - int32_t bonus_magic_resist; // 0x12e4 -}; - -// Alignment: 0 -// Size: 0x12e8 -class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe : public CDOTA_Modifier_Knockback -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe_Slow : public CDOTA_Buff -{ -public: - int32_t move_slow_pct; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_Thinker : public CDOTA_Buff -{ -public: - float lifetime; // 0x12b8 -}; - -// Alignment: 9 -// Size: 0x12e0 -class CDOTA_Modifier_AghsFort_Clinkz_SkeletonColossus : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Melter : public CDOTA_Buff -{ -public: - float armor_reduction_per_arrow; // 0x12b8 - int32_t m_nMaxStacks; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Enemy : public CDOTA_Buff -{ -public: - float m_fAttackLoss; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Caster : public CDOTA_Buff -{ -public: - int32_t max_stacks; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_Strafe : public CDOTA_Buff -{ -public: - float m_fAttackSpeed; // 0x12b8 -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_Aghsfort_Clinkz_BurningArmy_Entrenchment : public CDOTA_Buff -{ -public: - float m_fSlowPct; // 0x12b8 - float radius; // 0x12bc - float think_interval; // 0x12c0 - float linger_duration; // 0x12c4 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Buff : public CDOTA_Buff -{ -public: - float m_fLifestealPct; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Debuff : public CDOTA_Buff -{ -public: - float m_fSlowPct; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_StunningSkeleton_Debuff : public CDOTA_Modifier_Stunned -{ -public: - // No members available -}; - -// Alignment: 5 -// Size: 0x1308 -class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons : public CDOTA_Buff -{ -private: - [[maybe_unused]] uint8_t __pad12b8[0x38]; // 0x12b8 -public: - 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: 0x12c0 -class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons_Debuff : public CDOTA_Buff -{ -public: - float m_fMovementSlow; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons : public CDOTA_Buff -{ -public: - int32_t m_nInitialHealthBarOffset; // 0x12b8 - int32_t colossus_model_scale; // 0x12bc -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons_Ministun : public CDOTA_Modifier_Stunned -{ -public: - // No members available -}; - -// Alignment: 11 -// Size: 0x12e8 -class CDOTA_Modifier_AghsFort_BossDarkWillow_ShadowRealm_Buff : public CDOTA_Buff -{ -public: - 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: 0x12d0 -class CDOTA_Modifier_AghsFort_BossDarkWillow_CursedCrown : public CDOTA_Buff -{ -public: - float delay; // 0x12b8 - float stun_duration; // 0x12bc - int32_t stun_radius; // 0x12c0 - int32_t damage; // 0x12c4 - GameTime_t m_fStartTime; // 0x12c8 -}; - -// Alignment: 5 -// Size: 0x12d8 -class CDOTA_Modifier_AncientApparition_ColdFeet : public CDOTA_Buff -{ -public: - Vector m_vecStartPosition; // 0x12b8 - int32_t m_nCurrentTick; // 0x12c4 - float damage; // 0x12c8 - int32_t break_distance; // 0x12cc - float stun_duration; // 0x12d0 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AncientApparition_ColdFeet_Freeze : public CDOTA_Modifier_Stunned -{ -public: - // No members available -}; - -// Alignment: 5 -// Size: 0x12e0 -class CDOTA_Modifier_AncientApparition_IceVortexThinker : public CDOTA_Buff -{ -public: - 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: 0x12e0 -class CDOTA_Modifier_AncientApparition_IceVortex : public CDOTA_Buff -{ -public: - 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: 0x12e0 -class CDOTA_Modifier_AncientApparition_ChillingTouch : public CDOTA_Buff -{ -public: - int32_t damage; // 0x12b8 - float duration; // 0x12bc - int32_t attack_range_bonus; // 0x12c0 -private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AncientApparition_ChillingTouch_Slow : public CDOTA_Buff -{ -public: - int32_t slow; // 0x12b8 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_AncientApparition_IceBlast : public CDOTA_Buff -{ -public: - float dot_damage; // 0x12b8 - float kill_pct; // 0x12bc - CHandle< C_BaseEntity > m_hFracturingEntity; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AncientApparition_IceAge : public CDOTA_Buff -{ -public: - float damage; // 0x12b8 -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_AntiMage_ManaBreak : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_AntiMage_ManaBreak_Slow : public CDOTA_Buff -{ -public: - int32_t move_slow; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AntiMage_Blink_Illusion : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Antimage_DampenMagic_Aura_Strong : public CDOTA_Buff -{ -public: - int32_t shard_bonus_aura_range; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Antimage_DampenMagic_Bonus : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Antimage_DampenMagic_Aura : public CDOTA_Buff -{ -public: - int32_t shard_radius; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Antimage_DampenMagic : public CDOTA_Buff -{ -public: - int32_t shard_spell_damage_reduction_pct; // 0x12b8 - int32_t shard_bonus_spell_damage_reduction_pct; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AntiMage_Counterspell_Passive : public CDOTA_Buff -{ -public: - int32_t magic_resistance; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x1498 -class CDOTA_Modifier_AntiMage_Counterspell : public CDOTA_Buff -{ -public: - CModifierParams m_LastParams; // 0x12b8 - int32_t magic_resistance; // 0x1490 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_AntiMage_ManaVoid : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Bane_Enfeeble : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Bane_Enfeeble_Effect : public CDOTA_Buff -{ -public: - int32_t damage_reduction; // 0x12b8 - int32_t heal_reduction; // 0x12bc - int32_t cast_reduction; // 0x12c0 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Bane_Nightmare : public CDOTA_Buff -{ -public: - int32_t m_nSource; // 0x12b8 - float animation_rate; // 0x12bc -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Bane_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Bane_Nightmare_AttackSpeed_Bonus : public CDOTA_Buff -{ -public: - int32_t bonus_attack_speed; // 0x12b8 - CHandle< C_BaseEntity > m_hTarget; // 0x12bc -}; - -// Alignment: 2 -// 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; // 0x12b8 - float fiend_grip_tick_interval; // 0x12bc -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Bane_FiendsGrip_Self : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Bane_FiendsGrip_Illusion_Can_Only_Channel : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Bane_FiendsGrip_Illusion : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Pudge_Swallow : public CDOTA_Buff -{ -public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_Pudge_Swallow_Hide : public CDOTA_Buff -{ -public: - float order_lock_duration; // 0x12b8 - GameTime_t m_fOrderLockDone; // 0x12bc - int32_t m_nFXIndex; // 0x12c0 - float shard_regen_pct; // 0x12c4 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Pudge_Swallow_Effect : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Pudge_Meat_Hook_PathingFix : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Pudge_Meat_Hook : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 5 -// Size: 0x12d8 -class CDOTA_Modifier_Pudge_Rot : public CDOTA_Buff -{ -public: - int32_t rot_damage; // 0x12b8 - int32_t rot_slow; // 0x12bc - int32_t scepter_rot_regen_reduction_pct; // 0x12c0 -private: - [[maybe_unused]] uint8_t __pad12c4[0x8]; // 0x12c4 -public: - GameTime_t m_flLastRotTime; // 0x12cc - bool m_bQualifiesAsPotentionalDeny; // 0x12d0 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Pudge_FleshHeap_Block : public CDOTA_Buff -{ -public: - float damage_block; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Pudge_FleshHeap : public CDOTA_Buff -{ -public: - float magic_resistance; // 0x12b8 - float damage_block; // 0x12bc - float flesh_heap_strength_buff_amount; // 0x12c0 -}; - -// Alignment: 6 -// Size: 0x12d0 -class CDOTA_Modifier_Pudge_Dismember : public CDOTA_Buff -{ -public: - 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: 0x12d8 -class CDOTA_Modifier_Pudge_Dismember_Pull : public CDOTA_Buff -{ -public: - Vector m_vDestination; // 0x12b8 - int32_t pull_units_per_second; // 0x12c4 - float pull_distance_limit; // 0x12c8 -private: - [[maybe_unused]] uint8_t __pad12cc[0x8]; // 0x12cc -public: - float animation_rate; // 0x12d4 -}; - -// Alignment: 8 -// Size: 0x12e0 -class CDOTA_Modifier_Juggernaut_BladeFury : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Jugg_Caster : public CDOTA_Buff -{ -public: - int32_t shard_damage_pct; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c8 -class CDOTA_Modifier_Juggernaut_Healing_Ward_Aura : public CDOTA_Buff -{ -public: - int32_t healing_ward_movespeed_tooltip; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Juggernaut_Healing_Ward_Tracker : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Juggernaut_Healing_Ward_Heal : public CDOTA_Buff -{ -public: - int32_t healing_ward_heal_amount; // 0x12b8 - int32_t m_nStartingHealthThisInterval; // 0x12bc -}; - -// Alignment: 5 -// Size: 0x12c8 -class CDOTA_Modifier_Juggernaut_BladeDance : public CDOTA_Buff -{ -public: - 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: 0x12f0 -class CDOTA_Modifier_Juggernaut_Omnislash : public CDOTA_Buff -{ -public: - 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 __pad12d5[0x3]; // 0x12d5 -public: - 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: 0x12b8 -class CDOTA_Modifier_Juggernaut_Omnislash_Invulnerability : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 7 -// Size: 0x12e0 -class CDOTA_Modifier_Holdout_BladeFury : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Holdout_Omnislash : public CDOTA_Buff -{ -public: - float animation_rate; // 0x12b8 - int32_t bonus_damage; // 0x12bc -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Juggernaut_Holdout_Omnislash_FollowupAttack : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Shadowraze_Debuff : public CDOTA_Buff -{ -public: - int32_t movement_speed_pct; // 0x12b8 - int32_t turn_rate_pct; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Shadowraze_Counter : public CDOTA_Buff -{ -public: - float shadowraze_cooldown; // 0x12b8 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Nevermore_Presence_Aura : public CDOTA_Buff -{ -public: - int32_t presence_radius; // 0x12b8 - float kill_buff_duration; // 0x12bc - GameTime_t m_fLastStackChange; // 0x12c0 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Nevermore_Presence : public CDOTA_Buff -{ -public: - int32_t presence_armor_reduction; // 0x12b8 - int32_t bonus_armor_per_stack; // 0x12bc - bool m_bWasHidden; // 0x12c0 -}; - -// Alignment: 9 -// Size: 0x12f0 -class CDOTA_Modifier_Nevermore_Necromastery : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Nevermore_Requiem_InvisBreak : public CDOTA_Buff -{ -public: - bool bDisableInvis; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Nevermore_Requiem_Thinker : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Nevermore_Requiem_Aura : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x12c8 -class CDOTA_Modifier_Nevermore_Requiem_Fear : public CDOTA_Buff -{ -public: - Vector m_vOriginal; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12c8 -class CDOTA_Modifier_Nevermore_Necromastery_Fear : public CDOTA_Modifier_Nevermore_Requiem_Fear -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Nevermore_Requiem_Slow : public CDOTA_Buff -{ -public: - int32_t requiem_reduction_ms; // 0x12b8 - int32_t requiem_reduction_mres; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12d8 -class CDOTA_Modifier_SandKing_CausticFinale : public CDOTA_Buff -{ -public: - float caustic_finale_duration; // 0x12b8 -private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_SandKing_CausticFinaleOrb : public CDOTA_Buff -{ -public: - 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: 0x12b8 -class CDOTA_Modifier_SandKing_Impale : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x12c8 -class CDOTA_Modifier_Sand_King_BurrowStrike : public CDOTA_Buff -{ -public: - Vector m_vPopupLocation; // 0x12b8 - bool m_bTeleported; // 0x12c4 -}; - -// Alignment: 11 -// Size: 0x1308 -class CDOTA_Modifier_SandKing_SandStorm : public CDOTA_Modifier_PersistentInvisibility -{ -public: - int32_t sand_storm_radius; // 0x12c8 + float sand_storm_radius; // 0x12c8 int32_t sand_storm_damage; // 0x12cc float damage_tick_rate; // 0x12d0 GameTime_t m_flLastDamageTime; // 0x12d4 @@ -13454,85 +12484,1104 @@ private: [[maybe_unused]] uint8_t __pad12e0[0x8]; // 0x12e0 public: 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: 0x12c0 -class CDOTA_Modifier_SandKing_SandStorm_Slow_Aura_Thinker : public CDOTA_Buff -{ -public: - int32_t sand_storm_radius; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_SandKing_SandStorm_Slow : public CDOTA_Buff -{ -public: - int32_t slow; // 0x12b8 - int32_t blind; // 0x12bc -}; - -// Alignment: 6 -// Size: 0x1318 -class CDOTA_Modifier_SandKing_Epicenter : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_SandKing_Epicenter_Slow : public CDOTA_Buff -{ -public: - int32_t epicenter_slow; // 0x12b8 - int32_t epicenter_slow_as; // 0x12bc -}; - -// Alignment: 4 -// 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: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Mirana_Starfall_Scepter_Thinker : public CDOTA_Buff -{ -public: - float interval_scepter; // 0x12b8 - bool bInBufferTime; // 0x12bc + CHandle< C_BaseEntity > m_hBurrowstrikeFieldThinker; // 0x12ec + bool m_bIsPrimarySandstorm; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - int32_t damage; // 0x12c0 + Vector vecSpawnPos; // 0x12f4 }; // Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Mirana_Starfall_Thinker : public CDOTA_Buff +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow_Aura_Thinker : public CDOTA_Buff { public: - int32_t starfall_secondary_radius; // 0x12b8 + float sand_storm_radius; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow : public CDOTA_Buff +{ +public: + int32_t blind_slow_pct; // 0x12c8 +}; + +// Alignment: 5 +// Size: 0x1320 +class CDOTA_Modifier_Aghsfort_Sand_King_Epicenter : public CDOTA_Buff +{ +public: + int32_t epicenter_pulses; // 0x12c8 + int32_t epicenter_radius[16]; // 0x12cc + int32_t epicenter_damage; // 0x130c + int32_t m_iMaxPulses; // 0x1310 + int32_t m_iPulseCount; // 0x1314 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Sand_King_Epicenter_Slow : public CDOTA_Buff +{ +public: + int32_t epicenter_slow; // 0x12c8 + int32_t epicenter_slow_as; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d8 +class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike_Channel : public CDOTA_Buff +{ +public: + Vector m_vTargetPos; // 0x12c8 + ParticleIndex_t m_nCrosshairFX; // 0x12d4 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Sand_King_Burrowstrike_Transport : public CDOTA_Buff +{ +public: + int32_t m_nProjectileID; // 0x12c8 +}; + +// Alignment: 11 +// Size: 0x12f8 +class CDOTA_Modifier_Aghsfort_Sand_King_Sandstorm_Burrowstrike_Field_Thinker : public CDOTA_Buff +{ +public: + float radius; // 0x12c8 + float explosion_interval; // 0x12cc + int32_t explosion_radius; // 0x12d0 + int32_t explosion_min_dist; // 0x12d4 + float m_fLastTick; // 0x12d8 + float m_fTimeAccumulator; // 0x12dc + int32_t m_iExplosionCount; // 0x12e0 + int32_t m_iExplosionTotalCount; // 0x12e4 + int32_t m_iExplosionQuadrant; // 0x12e8 + int32_t m_iExplosionDistance; // 0x12ec + ParticleIndex_t m_nFXIndex; // 0x12f0 +}; + +// Alignment: 2 +// Size: 0x12d8 +class CDOTA_Modifier_Aghsfort_Special_Sand_King_Sandstorm_Vacuum : public CDOTA_Buff +{ +public: + float pull_speed; // 0x12c8 + Vector vPullLocation; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 +class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinale_Active : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Special_Sand_King_Caustic_Finale_StrengthBuff : public CDOTA_Buff +{ +public: + int32_t str_pct; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12e0 +class CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_Movement : public CDOTA_Buff +{ +public: + Vector vLastPos; // 0x12c8 + float m_fAccumulatedDistance; // 0x12d4 + int32_t movement_distance; // 0x12d8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_DamageResist : public CDOTA_Buff +{ +public: + int32_t damage_reduction; // 0x12c8 + int32_t status_resistance; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_DamageReduction : public CDOTA_Buff +{ +public: + int32_t damage_pct; // 0x12c8 +}; + +// Alignment: 6 +// Size: 0x12e8 +class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage : public CDOTA_Buff +{ +public: + Vector m_vOriginalTarget; // 0x12c8 + int32_t wave_count; // 0x12d4 + int32_t projectile_speed; // 0x12d8 + int32_t projectile_width; // 0x12dc + float m_flInterval; // 0x12e0 + int32_t m_nArrowsFired; // 0x12e4 +}; + +// Alignment: 4 +// Size: 0x12f0 +class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows : public CDOTA_Buff +{ +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + bool m_bBonusAttack; // 0x12e0 +private: + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 +public: + int32_t damage_bonus; // 0x12e4 + float debuff_duration; // 0x12e8 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Debuff : public CDOTA_Buff +{ +public: + int32_t attack_slow; // 0x12c8 + float m_fIgniteThinkInterval; // 0x12cc + float m_fIgniteDmgPerSec; // 0x12d0 +}; + +// Alignment: 2 +// Size: 0x12d8 +class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Thinker : public CDOTA_Buff +{ +public: + int32_t m_iCount; // 0x12c8 + Vector m_vFacePosition; // 0x12cc +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy : public CDOTA_Buff +{ +public: + float attack_rate; // 0x12c8 + int32_t damage_percent; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d0 + bool m_bHasAttacked; // 0x12d4 +}; + +// Alignment: 3 +// Size: 0x12f8 +class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk : public CDOTA_Modifier_Invisible +{ +public: + CUtlVector< CHandle< C_BaseEntity > > m_vecWraithTouchedEntities; // 0x12d8 + int32_t move_speed_bonus_pct; // 0x12f0 + int32_t bonus_magic_resist; // 0x12f4 +}; + +// Alignment: 0 +// Size: 0x12f8 +class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe : public CDOTA_Modifier_Knockback +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe_Slow : public CDOTA_Buff +{ +public: + int32_t move_slow_pct; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_Thinker : public CDOTA_Buff +{ +public: + float lifetime; // 0x12c8 +}; + +// Alignment: 9 +// Size: 0x12f0 +class CDOTA_Modifier_AghsFort_Clinkz_SkeletonColossus : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXIndex; // 0x12c8 + float cleave_damage_pct; // 0x12cc + int32_t cleave_starting_width; // 0x12d0 + int32_t cleave_ending_width; // 0x12d4 + int32_t cleave_distance; // 0x12d8 + int32_t block_damage_ranged_active; // 0x12dc + int32_t block_damage_melee_active; // 0x12e0 + int32_t hp_gain_per_caster_level; // 0x12e4 + float hp_regen_per_caster_level; // 0x12e8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Melter : public CDOTA_Buff +{ +public: + float armor_reduction_per_arrow; // 0x12c8 + int32_t m_nMaxStacks; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Enemy : public CDOTA_Buff +{ +public: + float m_fAttackLoss; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Caster : public CDOTA_Buff +{ +public: + int32_t max_stacks; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_Strafe : public CDOTA_Buff +{ +public: + float m_fAttackSpeed; // 0x12c8 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Aghsfort_Clinkz_BurningArmy_Entrenchment : public CDOTA_Buff +{ +public: + float m_fSlowPct; // 0x12c8 + float radius; // 0x12cc + float think_interval; // 0x12d0 + float linger_duration; // 0x12d4 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Buff : public CDOTA_Buff +{ +public: + float m_fLifestealPct; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Debuff : public CDOTA_Buff +{ +public: + float m_fSlowPct; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_StunningSkeleton_Debuff : public CDOTA_Modifier_Stunned +{ +public: + // No members available +}; + +// Alignment: 5 +// Size: 0x1318 +class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons : public CDOTA_Buff +{ +private: + [[maybe_unused]] uint8_t __pad12c8[0x38]; // 0x12c8 +public: + int32_t model_scale; // 0x1300 + float radius; // 0x1304 + int32_t splitshot_count; // 0x1308 + float debuff_duration; // 0x130c + float pct_for_moveslow; // 0x1310 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons_Debuff : public CDOTA_Buff +{ +public: + float m_fMovementSlow; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons : public CDOTA_Buff +{ +public: + int32_t m_nInitialHealthBarOffset; // 0x12c8 + int32_t colossus_model_scale; // 0x12cc +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons_Ministun : public CDOTA_Modifier_Stunned +{ +public: + // No members available +}; + +// Alignment: 11 +// Size: 0x12f8 +class CDOTA_Modifier_AghsFort_BossDarkWillow_ShadowRealm_Buff : public CDOTA_Buff +{ +public: + float m_fAddInterval; // 0x12c8 + GameTime_t m_fNextAddTime; // 0x12cc + GameTime_t m_flStartTime; // 0x12d0 + float m_flDamageScale; // 0x12d4 + float duration; // 0x12d8 + float attack_logic_duration; // 0x12dc + int32_t speed_boost; // 0x12e0 + int32_t num_adds; // 0x12e4 + int32_t projectile_range; // 0x12e8 + int32_t projectile_speed; // 0x12ec + int32_t projectile_width; // 0x12f0 +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_AghsFort_BossDarkWillow_CursedCrown : public CDOTA_Buff +{ +public: + float delay; // 0x12c8 + float stun_duration; // 0x12cc + int32_t stun_radius; // 0x12d0 + int32_t damage; // 0x12d4 + GameTime_t m_fStartTime; // 0x12d8 +}; + +// Alignment: 5 +// Size: 0x12e8 +class CDOTA_Modifier_AncientApparition_ColdFeet : public CDOTA_Buff +{ +public: + Vector m_vecStartPosition; // 0x12c8 + int32_t m_nCurrentTick; // 0x12d4 + float damage; // 0x12d8 + int32_t break_distance; // 0x12dc + float stun_duration; // 0x12e0 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AncientApparition_ColdFeet_Freeze : public CDOTA_Modifier_Stunned +{ +public: + // No members available +}; + +// Alignment: 5 +// Size: 0x12f0 +class CDOTA_Modifier_AncientApparition_IceVortexThinker : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 + int32_t movement_speed_pct; // 0x12cc + int32_t spell_resist_pct; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + CUtlVector< CHandle< C_BaseEntity > > m_hChilledEntities; // 0x12d8 +}; + +// Alignment: 8 +// Size: 0x12f0 +class CDOTA_Modifier_AncientApparition_IceVortex : public CDOTA_Buff +{ +public: + int32_t movement_speed_pct; // 0x12c8 + int32_t spell_resist_pct; // 0x12cc + int32_t drag_speed; // 0x12d0 + float aura_origin_x; // 0x12d4 + float aura_origin_y; // 0x12d8 + int32_t shard_dps; // 0x12dc + int32_t shard_attack_speed_reduction; // 0x12e0 + Vector m_vCenter; // 0x12e4 +}; + +// Alignment: 4 +// Size: 0x12f0 +class CDOTA_Modifier_AncientApparition_ChillingTouch : public CDOTA_Buff +{ +public: + int32_t damage; // 0x12c8 + float duration; // 0x12cc + int32_t attack_range_bonus; // 0x12d0 +private: + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AncientApparition_ChillingTouch_Slow : public CDOTA_Buff +{ +public: + int32_t slow; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_AncientApparition_IceBlast : public CDOTA_Buff +{ +public: + float dot_damage; // 0x12c8 + float kill_pct; // 0x12cc + CHandle< C_BaseEntity > m_hFracturingEntity; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AncientApparition_IceAge : public CDOTA_Buff +{ +public: + float damage; // 0x12c8 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_AntiMage_ManaBreak : public CDOTA_Buff +{ +public: + int32_t percent_damage_per_burn; // 0x12c8 + int32_t mana_per_hit; // 0x12cc + float mana_per_hit_pct; // 0x12d0 + float slow_duration; // 0x12d4 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AntiMage_ManaBreak_Slow : public CDOTA_Buff +{ +public: + int32_t move_slow; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AntiMage_Blink_Illusion : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Antimage_DampenMagic_Aura_Strong : public CDOTA_Buff +{ +public: + int32_t shard_bonus_aura_range; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Antimage_DampenMagic_Bonus : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Antimage_DampenMagic_Aura : public CDOTA_Buff +{ +public: + int32_t shard_radius; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Antimage_DampenMagic : public CDOTA_Buff +{ +public: + int32_t shard_spell_damage_reduction_pct; // 0x12c8 + int32_t shard_bonus_spell_damage_reduction_pct; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AntiMage_Counterspell_Passive : public CDOTA_Buff +{ +public: + int32_t magic_resistance; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x14a8 +class CDOTA_Modifier_AntiMage_Counterspell : public CDOTA_Buff +{ +public: + CModifierParams m_LastParams; // 0x12c8 + int32_t magic_resistance; // 0x14a0 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_AntiMage_ManaVoid : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Bane_Enfeeble : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Bane_Enfeeble_Effect : public CDOTA_Buff +{ +public: + int32_t damage_reduction; // 0x12c8 + int32_t heal_reduction; // 0x12cc + int32_t cast_reduction; // 0x12d0 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Bane_Nightmare : public CDOTA_Buff +{ +public: + int32_t m_nSource; // 0x12c8 + float animation_rate; // 0x12cc +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Bane_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Bane_Nightmare_AttackSpeed_Bonus : public CDOTA_Buff +{ +public: + int32_t bonus_attack_speed; // 0x12c8 + CHandle< C_BaseEntity > m_hTarget; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Bane_FiendsGrip : public CDOTA_Buff +{ +public: + int32_t fiend_grip_mana_drain; // 0x12c8 + float fiend_grip_tick_interval; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Bane_FiendsGrip_Cast_Illusion : public CDOTA_Buff +{ +public: + int32_t fiend_grip_mana_drain; // 0x12c8 + float fiend_grip_tick_interval; // 0x12cc +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Bane_FiendsGrip_Self : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Bane_FiendsGrip_Illusion_Can_Only_Channel : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Bane_FiendsGrip_Illusion : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Pudge_Swallow : public CDOTA_Buff +{ +public: + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Pudge_Swallow_Hide : public CDOTA_Buff +{ +public: + float order_lock_duration; // 0x12c8 + GameTime_t m_fOrderLockDone; // 0x12cc + int32_t m_nFXIndex; // 0x12d0 + float shard_regen_pct; // 0x12d4 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Pudge_Swallow_Effect : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Pudge_Meat_Hook_PathingFix : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Pudge_Meat_Hook : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 5 +// Size: 0x12e8 +class CDOTA_Modifier_Pudge_Rot : public CDOTA_Buff +{ +public: + int32_t rot_damage; // 0x12c8 + int32_t rot_slow; // 0x12cc + int32_t scepter_rot_regen_reduction_pct; // 0x12d0 +private: + [[maybe_unused]] uint8_t __pad12d4[0x8]; // 0x12d4 +public: + GameTime_t m_flLastRotTime; // 0x12dc + bool m_bQualifiesAsPotentionalDeny; // 0x12e0 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Pudge_FleshHeap_Block : public CDOTA_Buff +{ +public: + float damage_block; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Pudge_FleshHeap : public CDOTA_Buff +{ +public: + float magic_resistance; // 0x12c8 + float damage_block; // 0x12cc + float flesh_heap_strength_buff_amount; // 0x12d0 +}; + +// Alignment: 6 +// Size: 0x12e0 +class CDOTA_Modifier_Pudge_Dismember : public CDOTA_Buff +{ +public: + int32_t dismember_damage; // 0x12c8 + float strength_damage; // 0x12cc + int32_t m_nTicks; // 0x12d0 + int32_t m_nMaxTicks; // 0x12d4 + float m_flTickRate; // 0x12d8 + float animation_rate; // 0x12dc +}; + +// Alignment: 4 +// Size: 0x12e8 +class CDOTA_Modifier_Pudge_Dismember_Pull : public CDOTA_Buff +{ +public: + Vector m_vDestination; // 0x12c8 + int32_t pull_units_per_second; // 0x12d4 + float pull_distance_limit; // 0x12d8 +private: + [[maybe_unused]] uint8_t __pad12dc[0x8]; // 0x12dc +public: + float animation_rate; // 0x12e4 +}; + +// Alignment: 8 +// Size: 0x12f0 +class CDOTA_Modifier_Juggernaut_BladeFury : public CDOTA_Buff +{ +public: + int32_t blade_fury_radius; // 0x12c8 + int32_t blade_fury_damage; // 0x12cc + float blade_fury_damage_tick; // 0x12d0 + float m_flTotalAppliedDamage; // 0x12d4 + int32_t shard_bonus_move_speed; // 0x12d8 + float shard_attack_rate; // 0x12dc + GameTime_t m_flNextAttack; // 0x12e0 + bool m_bIgnoreAttackRestriction; // 0x12e4 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Jugg_Caster : public CDOTA_Buff +{ +public: + int32_t shard_damage_pct; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d8 +class CDOTA_Modifier_Juggernaut_Healing_Ward_Aura : public CDOTA_Buff +{ +public: + int32_t healing_ward_movespeed_tooltip; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Juggernaut_Healing_Ward_Tracker : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Juggernaut_Healing_Ward_Heal : public CDOTA_Buff +{ +public: + int32_t healing_ward_heal_amount; // 0x12c8 + int32_t m_nStartingHealthThisInterval; // 0x12cc +}; + +// Alignment: 5 +// Size: 0x12d8 +class CDOTA_Modifier_Juggernaut_BladeDance : public CDOTA_Buff +{ +public: + int32_t blade_dance_crit_mult; // 0x12c8 + int32_t blade_dance_crit_chance; // 0x12cc + int32_t blade_dance_lifesteal; // 0x12d0 + bool m_bHasCrit; // 0x12d4 + bool m_bWasBladeDanceTriggeredCrit; // 0x12d5 +}; + +// Alignment: 15 +// Size: 0x1300 +class CDOTA_Modifier_Juggernaut_Omnislash : public CDOTA_Buff +{ +public: + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + CHandle< C_BaseEntity > m_hLastTarget; // 0x12cc + int32_t m_nJumps; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + int32_t bonus_attack_speed; // 0x12d8 + int32_t omni_slash_radius; // 0x12dc + float attack_rate_multiplier; // 0x12e0 + bool m_bFirstHit; // 0x12e4 +private: + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 +public: + int32_t m_iTotalDamage; // 0x12e8 + int32_t m_iHeroDamage; // 0x12ec + int32_t m_iKilledHeroes; // 0x12f0 + GameTime_t m_fNextAttackTime; // 0x12f4 + bool m_bScepterCast; // 0x12f8 + bool m_bReflection; // 0x12f9 + bool m_bEndNext; // 0x12fa +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Juggernaut_Omnislash_Invulnerability : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 7 +// Size: 0x12f0 +class CDOTA_Modifier_Holdout_BladeFury : public CDOTA_Buff +{ +public: + int32_t blade_fury_damage; // 0x12c8 + int32_t blade_dance_crit_chance; // 0x12cc + int32_t blade_dance_crit_mult; // 0x12d0 + float blade_fury_damage_tick; // 0x12d4 + int32_t blade_fury_radius; // 0x12d8 + int32_t bonus_evasion; // 0x12dc + bool m_bTryToCrit; // 0x12e0 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Holdout_Omnislash : public CDOTA_Buff +{ +public: + float animation_rate; // 0x12c8 + int32_t bonus_damage; // 0x12cc +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Juggernaut_Holdout_Omnislash_FollowupAttack : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Shadowraze_Debuff : public CDOTA_Buff +{ +public: + int32_t movement_speed_pct; // 0x12c8 + int32_t turn_rate_pct; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Shadowraze_Counter : public CDOTA_Buff +{ +public: + float shadowraze_cooldown; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Nevermore_Presence_Aura : public CDOTA_Buff +{ +public: + int32_t presence_radius; // 0x12c8 + float kill_buff_duration; // 0x12cc + GameTime_t m_fLastStackChange; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Nevermore_Presence : public CDOTA_Buff +{ +public: + int32_t presence_armor_reduction; // 0x12c8 + int32_t bonus_armor_per_stack; // 0x12cc + bool m_bWasHidden; // 0x12d0 +}; + +// Alignment: 9 +// Size: 0x1300 +class CDOTA_Modifier_Nevermore_Necromastery : public CDOTA_Buff +{ +public: + int32_t necromastery_damage_per_soul; // 0x12c8 + int32_t necromastery_max_souls; // 0x12cc + int32_t necromastery_max_souls_scepter; // 0x12d0 + int32_t shard_crit_pct; // 0x12d4 + int32_t shard_souls_per_kill; // 0x12d8 + float shard_fear_duration; // 0x12dc + ParticleIndex_t m_iParticleSoulsIndex; // 0x12e0 + ParticleIndex_t m_FXIndex; // 0x12e4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Nevermore_Requiem_InvisBreak : public CDOTA_Buff +{ +public: + bool bDisableInvis; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Nevermore_Requiem_Thinker : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Nevermore_Requiem_Aura : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x12d8 +class CDOTA_Modifier_Nevermore_Requiem_Fear : public CDOTA_Buff +{ +public: + Vector m_vOriginal; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12d8 +class CDOTA_Modifier_Nevermore_Necromastery_Fear : public CDOTA_Modifier_Nevermore_Requiem_Fear +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Nevermore_Requiem_Slow : public CDOTA_Buff +{ +public: + int32_t requiem_reduction_ms; // 0x12c8 + int32_t requiem_reduction_mres; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12e8 +class CDOTA_Modifier_SandKing_CausticFinale : public CDOTA_Buff +{ +public: + float caustic_finale_duration; // 0x12c8 +private: + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_SandKing_CausticFinaleOrb : public CDOTA_Buff +{ +public: + int32_t caustic_finale_radius; // 0x12c8 + int32_t caustic_finale_damage_base; // 0x12cc + int32_t caustic_finale_damage_pct; // 0x12d0 + int32_t caustic_finale_slow; // 0x12d4 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_SandKing_Impale : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d8 +class CDOTA_Modifier_Sand_King_BurrowStrike : public CDOTA_Buff +{ +public: + Vector m_vPopupLocation; // 0x12c8 + bool m_bTeleported; // 0x12d4 +}; + +// Alignment: 11 +// Size: 0x1318 +class CDOTA_Modifier_SandKing_SandStorm : public CDOTA_Modifier_PersistentInvisibility +{ +public: + int32_t sand_storm_radius; // 0x12d8 + int32_t sand_storm_damage; // 0x12dc + float damage_tick_rate; // 0x12e0 + GameTime_t m_flLastDamageTime; // 0x12e4 + ParticleIndex_t m_nSandStormParticleIndex1; // 0x12e8 + ParticleIndex_t m_nSandStormParticleIndex2; // 0x12ec +private: + [[maybe_unused]] uint8_t __pad12f0[0x8]; // 0x12f0 +public: + CHandle< C_BaseEntity > m_hThinker; // 0x12f8 + int32_t sand_storm_move_speed; // 0x12fc + Vector vecSpawnPos; // 0x1300 + int32_t m_iExplosionQuadrant; // 0x130c + int32_t m_iExplosionDistance; // 0x1310 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_SandKing_SandStorm_Slow_Aura_Thinker : public CDOTA_Buff +{ +public: + int32_t sand_storm_radius; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_SandKing_SandStorm_Slow : public CDOTA_Buff +{ +public: + int32_t slow; // 0x12c8 + int32_t blind; // 0x12cc +}; + +// Alignment: 6 +// Size: 0x1328 +class CDOTA_Modifier_SandKing_Epicenter : public CDOTA_Buff +{ +public: + int32_t epicenter_radius_base; // 0x12c8 + int32_t epicenter_radius_increment; // 0x12cc + int32_t epicenter_pulses; // 0x12d0 + int32_t epicenter_radius[16]; // 0x12d4 + int32_t m_iMaxPulses; // 0x1314 + int32_t m_iPulseCount; // 0x1318 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_SandKing_Epicenter_Slow : public CDOTA_Buff +{ +public: + int32_t epicenter_slow; // 0x12c8 + int32_t epicenter_slow_as; // 0x12cc +}; + +// Alignment: 4 +// Size: 0x12e0 +class CDOTA_Modifier_Sand_King_Shard : public CDOTA_Buff +{ +public: + float shard_move_distance; // 0x12c8 + float shard_interval; // 0x12cc + Vector vLastPos; // 0x12d0 + float m_fAccumulatedDistance; // 0x12dc +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Mirana_Starfall_Scepter_Thinker : public CDOTA_Buff +{ +public: + float interval_scepter; // 0x12c8 + bool bInBufferTime; // 0x12cc +private: + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd +public: + int32_t damage; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Mirana_Starfall_Thinker : public CDOTA_Buff +{ +public: + int32_t starfall_secondary_radius; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12c8 class CDOTA_Modifier_Mirana_Leap_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -13540,53 +13589,53 @@ public: }; // Alignment: 11 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Mirana_Leap : public CDOTA_Buff { public: - 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 + int32_t leap_distance; // 0x12c8 + float shard_radius; // 0x12cc + float shard_radius_end; // 0x12d0 + float shard_damage; // 0x12d4 + float shard_slow_pct; // 0x12d8 + float shard_slow_duration; // 0x12dc + float leap_speed; // 0x12e0 + float leap_acceleration; // 0x12e4 + int32_t leap_radius; // 0x12e8 + float leap_bonus_duration; // 0x12ec + bool m_bLaunched; // 0x12f0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mirana_Leap_Slow : public CDOTA_Buff { public: - int32_t shard_slow_pct; // 0x12b8 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Mirana_Leap_Buff : public CDOTA_Buff -{ -public: - int32_t leap_speedbonus; // 0x12b8 - int32_t leap_speedbonus_as; // 0x12bc - bool m_bCritUsed; // 0x12c0 + int32_t shard_slow_pct; // 0x12c8 }; // Alignment: 3 // Size: 0x12d8 +class CDOTA_Modifier_Mirana_Leap_Buff : public CDOTA_Buff +{ +public: + int32_t leap_speedbonus; // 0x12c8 + int32_t leap_speedbonus_as; // 0x12cc + bool m_bCritUsed; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12e8 class CDOTA_Modifier_Mirana_MoonlightShadow : public CDOTA_Modifier_PersistentInvisibility { public: - float duration; // 0x12c8 - int32_t bonus_movement_speed; // 0x12cc - int32_t evasion; // 0x12d0 + float duration; // 0x12d8 + int32_t bonus_movement_speed; // 0x12dc + int32_t evasion; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mirana_MoonlightShadow_KillTracker : public CDOTA_Buff { public: @@ -13594,142 +13643,142 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sven_Stormbolt_Hide : public CDOTA_Buff { public: - int32_t m_nHandle; // 0x12b8 + int32_t m_nHandle; // 0x12c8 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Sven_GreatCleave : public CDOTA_Buff { public: - 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 + int32_t cleave_starting_width; // 0x12c8 + int32_t cleave_ending_width; // 0x12cc + int32_t cleave_distance; // 0x12d0 + int32_t great_cleave_damage; // 0x12d4 + int32_t strength_bonus; // 0x12d8 + int16_t m_nLastCleaveRecord; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12ce[0x2]; // 0x12ce + [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de public: - int32_t m_nLastCleaveKills; // 0x12d0 + int32_t m_nLastCleaveKills; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sven_Warcry_Aura : public CDOTA_Buff { public: - int32_t shard_radius; // 0x12b8 + int32_t shard_radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sven_Warcry_Passive : public CDOTA_Buff { public: - int32_t shard_passive_armor; // 0x12b8 + int32_t shard_passive_armor; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sven_Warcry : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 - int32_t bonus_armor; // 0x12bc + int32_t movespeed; // 0x12c8 + int32_t bonus_armor; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sven_GodsStrength : public CDOTA_Buff { public: - int32_t gods_strength_damage; // 0x12b8 - int32_t bonus_slow_resistance; // 0x12bc + int32_t gods_strength_damage; // 0x12c8 + int32_t bonus_slow_resistance; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_SkeletonKing_VampiricAura : public CDOTA_Buff { public: - 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 + int32_t vampiric_aura; // 0x12c8 + int32_t creep_lifesteal_reduction_pct; // 0x12cc + float skeleton_duration; // 0x12d0 + int32_t max_skeleton_charges; // 0x12d4 + int32_t m_iKillCounter; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SkeletonKing_VampiricAura_Summon_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x12b8 + int32_t m_iCount; // 0x12c8 }; // Alignment: 11 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_SkeletonKing_VampiricAura_Summon : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 - int32_t talent_skeleton_damage; // 0x12bc - bool m_bRespawnReady; // 0x12c0 - bool m_bRespawnConsumed; // 0x12c1 - bool m_bKillParentOnDestroy; // 0x12c2 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + int32_t talent_skeleton_damage; // 0x12cc + bool m_bRespawnReady; // 0x12d0 + bool m_bRespawnConsumed; // 0x12d1 + bool m_bKillParentOnDestroy; // 0x12d2 private: - [[maybe_unused]] uint8_t __pad12c3[0x1]; // 0x12c3 + [[maybe_unused]] uint8_t __pad12d3[0x1]; // 0x12d3 public: - 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 + GameTime_t m_flRespawnTime; // 0x12d4 + int32_t vampiric_aura; // 0x12d8 + int32_t gold_bounty; // 0x12dc + int32_t xp_bounty; // 0x12e0 + int32_t skeleton_building_damage_reduction; // 0x12e4 + int32_t skeleton_bonus_hero_damage; // 0x12e8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SkeletonKing_HellfireBlast : public CDOTA_Buff { public: - int32_t blast_dot_damage; // 0x12b8 - int32_t blast_slow; // 0x12bc + int32_t blast_dot_damage; // 0x12c8 + int32_t blast_slow; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SkeletonKing_HellfireBlast_Skeleton_Buff : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_move_speed; // 0x12bc + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_move_speed; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SkeletonKing_MortalStrike : public CDOTA_Buff { public: - int32_t crit_mult; // 0x12b8 + int32_t crit_mult; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SkeletonKing_Reincarnation : public CDOTA_Buff { public: - float reincarnate_time; // 0x12b8 - int32_t scepter_aura_radius; // 0x12bc + float reincarnate_time; // 0x12c8 + int32_t scepter_aura_radius; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_SkeletonKing_Reincarnation_SpawnSkeletons : public CDOTA_Buff { public: @@ -13737,32 +13786,32 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SkeletonKing_Reincarnation_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 - int32_t attackslow; // 0x12bc + int32_t movespeed; // 0x12c8 + int32_t attackslow; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter : public CDOTA_Buff { public: - float scepter_duration; // 0x12b8 + float scepter_duration; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter_RespawnTime : public CDOTA_Buff { public: - float scepter_respawn_pct; // 0x12b8 + float scepter_respawn_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Skeleton_King_Scepter_Tracker : public CDOTA_Buff { public: @@ -13770,7 +13819,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Skeleton_King_Arcana : public CDOTA_Buff { public: @@ -13778,48 +13827,48 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_StormSpirit_Electric_Rave : public CDOTA_Buff { public: - int32_t overload_aoe; // 0x12b8 - int32_t overload_damage; // 0x12bc - int32_t shard_attack_speed_bonus; // 0x12c0 + int32_t overload_aoe; // 0x12c8 + int32_t overload_damage; // 0x12cc + int32_t shard_attack_speed_bonus; // 0x12d0 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_StormSpirit_StaticRemnantThinker : public CDOTA_Buff { public: - 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 + int32_t static_remnant_radius; // 0x12c8 + int32_t static_remnant_damage_radius; // 0x12cc + int32_t static_remnant_damage; // 0x12d0 + float static_remnant_delay; // 0x12d4 + int32_t m_iSearchRadius; // 0x12d8 + int32_t m_iDamageRadius; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_StormSpirit_ElectricVortex_SelfSlow : public CDOTA_Buff { public: - int32_t electric_vortex_self_slow; // 0x12b8 + int32_t electric_vortex_self_slow; // 0x12c8 }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_StormSpirit_ElectricVortex_Pull : public CDOTA_Buff { public: - Vector m_vDestination; // 0x12b8 - int32_t electric_vortex_pull_distance; // 0x12c4 - float electric_vortex_pull_tether_range; // 0x12c8 + Vector m_vDestination; // 0x12c8 + int32_t electric_vortex_pull_distance; // 0x12d4 + float electric_vortex_pull_tether_range; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_StormSpirit_ElectricVortex_NoStack : public CDOTA_Buff { public: @@ -13827,7 +13876,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_StormSpirit_Overload_Passive : public CDOTA_Buff { public: @@ -13835,24 +13884,24 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_StormSpirit_Overload : public CDOTA_Buff { public: - int32_t overload_aoe; // 0x12b8 + int32_t overload_aoe; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_StormSpirit_OverloadSlow : public CDOTA_Buff { public: - int32_t overload_move_slow; // 0x12b8 - int32_t overload_attack_slow; // 0x12bc + int32_t overload_move_slow; // 0x12c8 + int32_t overload_attack_slow; // 0x12cc }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_StormSpirit_BallLightning : public CDOTA_Buff { public: @@ -13860,19 +13909,19 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Holdout_StaticRemnantThinker : public CDOTA_Buff { public: - 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 + int32_t static_remnant_radius; // 0x12c8 + int32_t static_remnant_damage_radius; // 0x12cc + int32_t static_remnant_damage; // 0x12d0 + float static_remnant_delay; // 0x12d4 + float overload_duration; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_StormSpirit_StaticRemnant_Talent : public CDOTA_Buff { public: @@ -13880,24 +13929,24 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DrowRanger_WaveOfSilence_Buff : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x12b8 + int32_t bonus_movespeed; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DrowRanger_WaveOfSilence : public CDOTA_Buff { public: - int32_t miss_chance; // 0x12b8 - int32_t gust_reveals_invis; // 0x12bc + int32_t miss_chance; // 0x12c8 + int32_t gust_reveals_invis; // 0x12cc }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_DrowRanger_WaveOfSilence_Knockback : public CDOTA_Modifier_Knockback { public: @@ -13905,7 +13954,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DrowRanger_Trueshot : public CDOTA_Buff { public: @@ -13913,7 +13962,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DrowRanger_Trueshot_Global : public CDOTA_Buff { public: @@ -13921,92 +13970,92 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DrowRanger_TrueshotAura : public CDOTA_Buff { public: - float trueshot_ranged_attack_speed; // 0x12b8 + float trueshot_ranged_attack_speed; // 0x12c8 }; // Alignment: 11 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_DrowRanger_Marksmanship : public CDOTA_Buff { public: - 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 + int32_t chance; // 0x12c8 + ParticleIndex_t m_nFxIndex; // 0x12cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + CUtlVector< int16 > m_GlacialInFlightAttackRecords; // 0x12e8 + int32_t bonus_factor; // 0x1300 + int32_t disable_range; // 0x1304 + int32_t agility_range; // 0x1308 + int32_t bonus_damage; // 0x130c + int32_t split_count; // 0x1310 + int32_t split_range; // 0x1314 + bool m_bGlacialAttack; // 0x1318 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DrowRanger_Marksmanship_Aura_Bonus : public CDOTA_Buff { public: - int32_t agility_multiplier; // 0x12b8 - float agility_multiplier_ally; // 0x12bc + int32_t agility_multiplier; // 0x12c8 + float agility_multiplier_ally; // 0x12cc }; // Alignment: 3 -// Size: 0x1330 +// Size: 0x1340 class CDOTA_Modifier_DrowRanger_Marksmanship_Reduction : public CDOTA_Buff { public: - int32_t split_damage_reduction; // 0x12b8 + int32_t split_damage_reduction; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVectorFixedGrowable< int32 > m_vecRecords; // 0x12c0 - CUtlVectorFixedGrowable< GameTime_t > m_vecRecordTimes; // 0x12f8 + CUtlVectorFixedGrowable< int32 > m_vecRecords; // 0x12d0 + CUtlVectorFixedGrowable< GameTime_t > m_vecRecordTimes; // 0x1308 }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_DrowRanger_FrostArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 - int32_t shard_bonus_damage_per_stack; // 0x12d0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + int32_t shard_bonus_damage_per_stack; // 0x12e0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_DrowRanger_FrostArrows_Slow : public CDOTA_Buff { public: - int32_t frost_arrows_movement_speed; // 0x12b8 - int32_t shard_max_stacks; // 0x12bc - float shard_stack_duration; // 0x12c0 + int32_t frost_arrows_movement_speed; // 0x12c8 + int32_t shard_max_stacks; // 0x12cc + float shard_stack_duration; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DrowRanger_FrostArrows_Shard_Slow : public CDOTA_Buff { public: - int32_t shard_burst_move_slow_pct; // 0x12b8 + int32_t shard_burst_move_slow_pct; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_DrowRanger_FrostArrows_Hypothermia : public CDOTA_Buff { public: - int32_t shard_regen_reduction_pct_per_stack; // 0x12b8 - int32_t shard_burst_radius; // 0x12bc - ParticleIndex_t m_nFXStackIndex; // 0x12c0 + int32_t shard_regen_reduction_pct_per_stack; // 0x12c8 + int32_t shard_burst_radius; // 0x12cc + ParticleIndex_t m_nFXStackIndex; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DrowRanger_FrostArrows_Hypothermia_Active : public CDOTA_Buff { public: @@ -14014,45 +14063,45 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop : public CDOTA_Buff { public: - int32_t multishot_arrow_bonus; // 0x12b8 - int32_t end_height; // 0x12bc - int32_t attack_range_bonus; // 0x12c0 + int32_t multishot_arrow_bonus; // 0x12c8 + int32_t end_height; // 0x12cc + int32_t attack_range_bonus; // 0x12d0 }; // Alignment: 13 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Drow_Ranger_Multishot : public CDOTA_Buff { public: - 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 + int32_t m_iArrowCount; // 0x12c8 + Vector m_vOriginalTarget; // 0x12cc + int32_t arrow_width; // 0x12d8 + float arrow_speed; // 0x12dc + float arrow_range_multiplier; // 0x12e0 + int32_t wave_count; // 0x12e4 + int32_t arrow_count_per_wave; // 0x12e8 + int32_t arrow_angle; // 0x12ec + int32_t m_iLoopCount; // 0x12f0 + float m_flInterval; // 0x12f4 + float m_flCycleDelay; // 0x12f8 + float m_flTimeWaste; // 0x12fc + GameTime_t m_flExpectedTime; // 0x1300 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Drow_Ranger_Multishot_Damage : public CDOTA_Buff { public: - int32_t arrow_damage_pct; // 0x12b8 + int32_t arrow_damage_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DrowRanger_ArcanaKill_Delay : public CDOTA_Buff { public: @@ -14060,7 +14109,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DrowRanger_Arcana : public CDOTA_Buff { public: @@ -14068,32 +14117,32 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop_Aura : public CDOTA_Buff { public: - int32_t shard_width; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t shard_width; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop_Removal : public CDOTA_Buff { public: - float z_speed_override; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Drow_Ranger_Glacier_Shard : public CDOTA_Buff -{ -public: - uint32_t m_unOccluderID; // 0x12b8 + float z_speed_override; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 +class CDOTA_Modifier_Drow_Ranger_Glacier_Shard : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 class CDOTA_Modifier_Earthshaker_Shard : public CDOTA_Buff_Item { public: @@ -14101,30 +14150,30 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Earthshaker_Arcana : public CDOTA_Buff { public: - int32_t m_nComboCount; // 0x12b8 - float m_flComboWindow; // 0x12bc - float m_flComboDisplayInterval; // 0x12c0 - float m_flDamageDone; // 0x12c4 + int32_t m_nComboCount; // 0x12c8 + float m_flComboWindow; // 0x12cc + float m_flComboDisplayInterval; // 0x12d0 + float m_flDamageDone; // 0x12d4 }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Earthshaker_Fissure_Shard : public CDOTA_Buff { public: - 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 + int32_t shard_aftershock_stun_duration_pct; // 0x12c8 + float shard_free_pathing_linger_duration; // 0x12cc + Vector m_vStartPos; // 0x12d0 + Vector m_vEndPos; // 0x12dc + GameTime_t m_flEndTime; // 0x12e8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Earthshaker_Fissure_Shard_Pathing : public CDOTA_Buff { public: @@ -14132,7 +14181,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Earthshaker_Fissure_Stun : public CDOTA_Modifier_Stunned { public: @@ -14140,7 +14189,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Earthshaker_Fissure_Thinker : public CDOTA_Buff { public: @@ -14148,7 +14197,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Fissure_Rooted : public CDOTA_Modifier_Rooted { public: @@ -14156,7 +14205,7 @@ public: }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Earthshaker_EnchantTotem_Leap : public CDOTA_Buff { public: @@ -14164,7 +14213,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Earthshaker_EnchantTotem_Animation : public CDOTA_Buff { public: @@ -14172,28 +14221,28 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Earthshaker_EnchantTotem : public CDOTA_Buff { public: - 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 + int32_t bonus_attack_range; // 0x12c8 + int32_t totem_damage_percentage; // 0x12cc + int32_t scepter_cleave_pct; // 0x12d0 + float scepter_cleave_starting_width; // 0x12d4 + float scepter_cleave_ending_width; // 0x12d8 + float scepter_cleave_distance; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Earthshaker_Aftershock : public CDOTA_Buff { public: - int32_t aftershock_range; // 0x12b8 + int32_t aftershock_range; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Earthshaker_EchoSlam_Delay : public CDOTA_Buff { public: @@ -14201,7 +14250,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Earthshaker_Echoslam_Debuff : public CDOTA_Buff { public: @@ -14209,7 +14258,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Earthshaker_Echoslam_Heating_Up : public CDOTA_Buff { public: @@ -14217,16 +14266,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Earthshaker_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x12b8 - bool m_bFlail; // 0x12b9 + bool m_bFrozen; // 0x12c8 + bool m_bFlail; // 0x12c9 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror_Fear : public CDOTA_Modifier_Fear { public: @@ -14234,66 +14283,66 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x12b8 - int32_t attack_reduction; // 0x12bc - int32_t damage_reduction_pct; // 0x12c0 + int32_t armor_reduction; // 0x12c8 + int32_t attack_reduction; // 0x12cc + int32_t damage_reduction_pct; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror_Buff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t bonus_armor; // 0x12bc + int32_t bonus_damage; // 0x12c8 + int32_t bonus_armor; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VengefulSpirit_Command_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VengefulSpirit_Command_Aura_Illusion : public CDOTA_Modifier_Invulnerable { public: - CHandle< C_BaseEntity > hTarget; // 0x12b8 + CHandle< C_BaseEntity > hTarget; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VengefulSpirit_Command_Aura_Effect : public CDOTA_Buff { public: - int32_t bonus_base_damage; // 0x12b8 + int32_t bonus_base_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VengefulSpirit_Command_Negative_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VengefulSpirit_Command_Negative_Aura_Effect : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x12b8 + int32_t bonus_damage_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -14301,16 +14350,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_DamageReduction : public CDOTA_Buff { public: - float damage_reduction; // 0x12b8 - ParticleIndex_t nFXIndex; // 0x12bc + float damage_reduction; // 0x12c8 + ParticleIndex_t nFXIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_PathingFix : public CDOTA_Buff { public: @@ -14318,15 +14367,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VengefulSpirit_Hybrid_Special : public CDOTA_Buff { public: - int32_t scepter_illusion_ms_bonus_pct; // 0x12b8 + int32_t scepter_illusion_ms_bonus_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_VengefulSpirit_XP_Earn : public CDOTA_Buff { public: @@ -14334,16 +14383,16 @@ public: }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Thinker : public CDOTA_Buff { public: - Vector m_vPathStart; // 0x12b8 - Vector m_vPathEnd; // 0x12c4 + Vector m_vPathStart; // 0x12c8 + Vector m_vPathEnd; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Bonus : public CDOTA_Buff { public: @@ -14351,7 +14400,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Slow : public CDOTA_Buff { public: @@ -14359,27 +14408,27 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_CrystalMaiden_CrystalNova : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 - int32_t attackspeed_slow; // 0x12bc + int32_t movespeed_slow; // 0x12c8 + int32_t attackspeed_slow; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_CrystalMaiden_Frostbite : public CDOTA_Buff { public: - int32_t max_ticks; // 0x12b8 - int32_t damage_per_second; // 0x12bc - int32_t creep_damage_per_second; // 0x12c0 - float tick_interval; // 0x12c4 + int32_t max_ticks; // 0x12c8 + int32_t damage_per_second; // 0x12cc + int32_t creep_damage_per_second; // 0x12d0 + float tick_interval; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_CrystalMaiden_BrillianceAura : public CDOTA_Buff { public: @@ -14387,57 +14436,57 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_CrystalMaiden_BrillianceAuraEffect : public CDOTA_Buff { public: - float base_mana_regen; // 0x12b8 - float self_factor; // 0x12bc - float proximity_bonus_factor; // 0x12c0 - int32_t proximity_bonus_radius; // 0x12c4 + float base_mana_regen; // 0x12c8 + float self_factor; // 0x12cc + float proximity_bonus_factor; // 0x12d0 + int32_t proximity_bonus_radius; // 0x12d4 }; // Alignment: 20 -// Size: 0x1328 +// Size: 0x1338 class CDOTA_Modifier_CrystalMaiden_FreezingField : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t damage; // 0x12cc + int32_t bonus_armor; // 0x12d0 + float explosion_interval; // 0x12d4 + float shard_bonus_explosion; // 0x12d8 + int32_t explosion_radius; // 0x12dc + float slow_duration; // 0x12e0 + int32_t explosion_min_dist; // 0x12e4 + int32_t explosion_max_dist; // 0x12e8 + float frostbite_delay; // 0x12ec + GameTime_t m_fLastTick; // 0x12f0 + float m_fTimeAccumulator; // 0x12f4 + int32_t m_iExplosionCount; // 0x12f8 + int32_t m_iExplosionTotalCount; // 0x12fc + int32_t m_iExplosionQuadrant; // 0x1300 + int32_t m_iExplosionDistance; // 0x1304 + int32_t shard_self_movement_speed_slow_pct; // 0x1308 + ParticleIndex_t m_nFXIndex; // 0x130c private: - [[maybe_unused]] uint8_t __pad1300[0x8]; // 0x1300 + [[maybe_unused]] uint8_t __pad1310[0x8]; // 0x1310 public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1308 - int32_t can_move; // 0x1320 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1318 + int32_t can_move; // 0x1330 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_CrystalMaiden_FreezingField_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 - int32_t attack_slow; // 0x12bc + int32_t movespeed_slow; // 0x12c8 + int32_t attack_slow; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_CrystalMaiden_FreezingField_Tracker : public CDOTA_Buff { public: @@ -14445,35 +14494,35 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_CrystalMaiden_IceRink_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float rink_formation_time; // 0x12bc - bool m_bActive; // 0x12c0 + int32_t radius; // 0x12c8 + float rink_formation_time; // 0x12cc + bool m_bActive; // 0x12d0 }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_CrystalMaiden_IceRink_Movement : public CDOTA_Buff { public: - bool m_bHitFirstUpdate; // 0x12b8 + bool m_bHitFirstUpdate; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + float flMovementSpeed; // 0x12cc + float m_flTurnBoostProgress; // 0x12d0 + float m_flFacingTarget; // 0x12d4 + ParticleIndex_t m_nFXIndex; // 0x12d8 + GameTime_t m_flHitEndTime; // 0x12dc + float hit_recover_time; // 0x12e0 + Vector m_vDirection; // 0x12e4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_CDOTA_Modifier_CrystalMaiden_IceRink_Movement_Ricochet : public CDOTA_Buff { public: @@ -14481,7 +14530,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Crystal_Maiden_Crystal_Clone : public CDOTA_Buff { public: @@ -14489,86 +14538,86 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t frostbite_radius; // 0x12c8 + float anim_delay; // 0x12cc + bool m_bActivated; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t clone_health; // 0x12c4 - float m_flDamageTaken; // 0x12c8 + int32_t clone_health; // 0x12d4 + float m_flDamageTaken; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t damage_per_second; // 0x12c8 + int32_t slow; // 0x12cc + int32_t scepter_armor_change; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Axe_BatleHunger_Self : public CDOTA_Buff { public: - int32_t scepter_armor_change; // 0x12b8 + int32_t scepter_armor_change; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Axe_BatleHunger_Self_Movespeed : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x12b8 + int32_t speed_bonus; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Axe_BerserkersCall : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hZombieTarget; // 0x12b8 - bool m_bDidSetAttackTarget; // 0x12bc + CHandle< C_BaseEntity > m_hZombieTarget; // 0x12c8 + bool m_bDidSetAttackTarget; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - int32_t bonus_attack_speed; // 0x12c0 + int32_t bonus_attack_speed; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Axe_BerserkersCallArmor : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Axe_CounterHelix : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t trigger_attacks; // 0x12bc + int32_t radius; // 0x12c8 + int32_t trigger_attacks; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Axe_CounterHelix_DamageReduction : public CDOTA_Buff { public: - int32_t shard_damage_reduction; // 0x12b8 + int32_t shard_damage_reduction; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Axe_Culling_Blade_NoMinHealth : public CDOTA_Buff { public: @@ -14576,7 +14625,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Axe_Culling_Blade_Charge : public CDOTA_Buff { public: @@ -14584,24 +14633,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Axe_CullingBlade_Boost : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x12b8 - int32_t atk_speed_bonus; // 0x12bc + int32_t speed_bonus; // 0x12c8 + int32_t atk_speed_bonus; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Axe_CullingBlade_Permanent : public CDOTA_Buff { public: - float armor_per_stack; // 0x12b8 + float armor_per_stack; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Axe_CullingBlade_JungleWeaponGesture : public CDOTA_Buff { public: @@ -14609,71 +14658,71 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_HoldoutCullingBlade : public CDOTA_Buff { public: - int32_t leap_distance; // 0x12b8 - int32_t leap_radius; // 0x12bc - float leap_speed; // 0x12c0 - float leap_acceleration; // 0x12c4 + int32_t leap_distance; // 0x12c8 + int32_t leap_radius; // 0x12cc + float leap_speed; // 0x12d0 + float leap_acceleration; // 0x12d4 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Bloodseeker_Bloodrage : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 - int32_t spell_amp; // 0x12bc - float shard_max_health_dmg_pct; // 0x12c0 - float damage_pct; // 0x12c4 - float flTickRate; // 0x12c8 + int32_t attack_speed; // 0x12c8 + int32_t spell_amp; // 0x12cc + float shard_max_health_dmg_pct; // 0x12d0 + float damage_pct; // 0x12d4 + float flTickRate; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Bloodseeker_Bloodbath_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Bloodseeker_Thirst : public CDOTA_Buff { public: - 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 + int32_t hero_kill_heal; // 0x12c8 + int32_t creep_kill_heal; // 0x12cc + int32_t half_bonus_aoe; // 0x12d0 + int32_t visibility_threshold_pct; // 0x12d4 + int32_t invis_threshold_pct; // 0x12d8 + int32_t min_bonus_pct; // 0x12dc + int32_t max_bonus_pct; // 0x12e0 + int32_t bonus_movement_speed; // 0x12e4 + float linger_duration; // 0x12e8 + ParticleIndex_t m_nFXIndex; // 0x12ec }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Bloodseeker_Thirst_Vision : public CDOTA_Buff { public: - int32_t invis_threshold_pct; // 0x12b8 + int32_t invis_threshold_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Bloodseeker_Thirst_Speed : public CDOTA_Buff { public: - CUtlSymbolLarge m_iszModifierString; // 0x12b8 + CUtlSymbolLarge m_iszModifierString; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bloodseeker_Rupture_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -14681,31 +14730,31 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Bloodseeker_Rupture : public CDOTA_Buff { public: - int32_t movement_damage_pct; // 0x12b8 - float hp_pct; // 0x12bc - Vector vLastPos; // 0x12c0 - bool bResetPosition; // 0x12cc + int32_t movement_damage_pct; // 0x12c8 + float hp_pct; // 0x12cc + Vector vLastPos; // 0x12d0 + bool bResetPosition; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - float m_fAccumulatedDamage; // 0x12d0 + float m_fAccumulatedDamage; // 0x12e0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Bloodseeker_BloodMist_Barrier : public CDOTA_Buff { public: - GameTime_t flLastGameTime; // 0x12b8 - float m_flCurrentShield; // 0x12bc + GameTime_t flLastGameTime; // 0x12c8 + float m_flCurrentShield; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bloodseeker_BloodMist_Passive : public CDOTA_Buff { public: @@ -14713,199 +14762,199 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Bloodseeker_BloodMist : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Bloodseeker_BloodMist_Slow : public CDOTA_Buff -{ -public: - int32_t movement_slow; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_PhantomLancer_SpiritLance : public CDOTA_Buff -{ -public: - int32_t movement_speed_pct; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c8 -class CDOTA_Modifier_PhantomLancer_Dopplewalk_Phase : public CDOTA_Buff -{ -public: - Vector vTargetPosition; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_PhantomLancer_Doppelwalk_Illusion : public CDOTA_Buff -{ -public: - float flDamageTaken; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_PhantomLancer_Juxtapose_Cache : public CDOTA_Buff -{ -public: - PlayerID_t m_nControllingPlayer; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 1 // Size: 0x12d0 +class CDOTA_Modifier_Bloodseeker_BloodMist_Slow : public CDOTA_Buff +{ +public: + int32_t movement_slow; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_PhantomLancer_SpiritLance : public CDOTA_Buff +{ +public: + int32_t movement_speed_pct; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d8 +class CDOTA_Modifier_PhantomLancer_Dopplewalk_Phase : public CDOTA_Buff +{ +public: + Vector vTargetPosition; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_PhantomLancer_Doppelwalk_Illusion : public CDOTA_Buff +{ +public: + float flDamageTaken; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_PhantomLancer_Juxtapose_Cache : public CDOTA_Buff +{ +public: + PlayerID_t m_nControllingPlayer; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12e0 class CDOTA_Modifier_PhantomLancer_Juxtapose_Invisibility : public CDOTA_Modifier_Invisible { public: - float invis_movespeed; // 0x12c8 + float invis_movespeed; // 0x12d8 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_PhantomLancer_Juxtapose_Thinker : public CDOTA_Buff { public: - 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 + int32_t max_illusions; // 0x12c8 + int32_t scepter_bonus_illusions; // 0x12cc + float illusion_duration; // 0x12d0 + int32_t illusion_damage_out_pct; // 0x12d4 + int32_t illusion_damage_in_pct; // 0x12d8 + float scepter_bonus_duration; // 0x12dc + int32_t m_iIllusionsSoFar; // 0x12e0 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_PhantomLancer_Juxtapose : public CDOTA_Buff { public: - 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 + int32_t proc_chance_pct; // 0x12c8 + int32_t illusion_proc_chance_pct; // 0x12cc + int32_t max_illusions; // 0x12d0 + float illusion_duration; // 0x12d4 + int32_t illusion_damage_out_pct; // 0x12d8 + int32_t illusion_damage_in_pct; // 0x12dc + int32_t shard_bonus_illusions; // 0x12e0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_PhantomLancer_PhantomEdge : public CDOTA_Buff { public: - int32_t min_distance; // 0x12b8 - int32_t max_distance; // 0x12bc - CHandle< C_BaseEntity > m_hTarget; // 0x12c0 + int32_t min_distance; // 0x12c8 + int32_t max_distance; // 0x12cc + CHandle< C_BaseEntity > m_hTarget; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_PhantomLancer_PhantomEdge_Boost : public CDOTA_Buff { public: - int32_t bonus_speed; // 0x12b8 - float agility_duration; // 0x12bc - bool m_bGiveAgility; // 0x12c0 + int32_t bonus_speed; // 0x12c8 + float agility_duration; // 0x12cc + bool m_bGiveAgility; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - CHandle< C_BaseEntity > m_hTarget; // 0x12c4 + CHandle< C_BaseEntity > m_hTarget; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PhantomLancer_PhantomEdge_Agility : public CDOTA_Buff { public: - int32_t bonus_agility; // 0x12b8 + int32_t bonus_agility; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PhantomLancer_JuxtaposeIllusion : public CDOTA_Buff { public: - bool m_bstrongIllusion; // 0x12b8 + bool m_bstrongIllusion; // 0x12c8 }; // Alignment: 15 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_Razor_PlasmaField_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x12b8 - float m_fCurRadius; // 0x12bc - GameTime_t m_fLastThink; // 0x12c0 - bool m_bContracting; // 0x12c4 + float m_fLastRadius; // 0x12c8 + float m_fCurRadius; // 0x12cc + GameTime_t m_fLastThink; // 0x12d0 + bool m_bContracting; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - CountdownTimer m_ViewerTimer; // 0x12c8 - ParticleIndex_t m_nFXIndex; // 0x12e0 + CountdownTimer m_ViewerTimer; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - 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 + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12f8 + int32_t speed; // 0x1310 + int32_t radius; // 0x1314 + float damage_min; // 0x1318 + float damage_max; // 0x131c + int32_t slow_min; // 0x1320 + int32_t slow_max; // 0x1324 + float slow_duration; // 0x1328 + bool m_bHasCreatedFx; // 0x132c }; // Alignment: 13 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Razor_StaticLink : public CDOTA_Buff { public: - 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 + float flSmoothness; // 0x12c8 + float drain_duration; // 0x12cc + int32_t drain_rate; // 0x12d0 + int32_t drain_range; // 0x12d4 + int32_t drain_range_buffer; // 0x12d8 + CHandle< C_BaseEntity > m_hTarget; // 0x12dc + int32_t m_iTotalDrainAmount; // 0x12e0 + int32_t pull_speed; // 0x12e4 + int32_t min_pull_range; // 0x12e8 + ParticleIndex_t m_iLinkIndex; // 0x12ec + CDOTA_Buff* m_pBuffPositive; // 0x12f0 + CDOTA_Buff* m_pNegative; // 0x12f8 + GameTime_t m_flLastThinkTime; // 0x1300 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Razor_StaticLink_Buff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t drain_rate; // 0x12bc - float drain_length; // 0x12c0 - int32_t attack_speed_factor; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t drain_rate; // 0x12cc + float drain_length; // 0x12d0 + int32_t attack_speed_factor; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Razor_StaticLink_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t attack_speed_factor; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t attack_speed_factor; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Razor_Link_Vision : public CDOTA_Buff { public: @@ -14913,68 +14962,68 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Razor_UnstableCurrent_Aura : public CDOTA_Buff { public: - 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 + int32_t self_movement_speed_pct; // 0x12c8 + int32_t strike_pct_chance; // 0x12cc + float strike_damage; // 0x12d0 + int32_t strike_move_slow_pct; // 0x12d4 + int32_t strike_search_radius; // 0x12d8 + int32_t strike_target_count; // 0x12dc + float strike_slow_duration; // 0x12e0 + float strike_internal_cd; // 0x12e4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Razor_UnstableCurrent_Delayed_Damage : public CDOTA_Buff { public: - int32_t strike_damage; // 0x12b8 - float strike_slow_duration; // 0x12bc + float strike_damage; // 0x12c8 + float strike_slow_duration; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Razor_UnstableCurrent_Slow : public CDOTA_Buff { public: - int32_t strike_move_slow_pct; // 0x12b8 + int32_t strike_move_slow_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Razor_PlasmaField_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x12b8 + int32_t slow_amount; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Razor_EyeOfTheStorm_Passive : public CDOTA_Buff { public: - int32_t passive_area_damage; // 0x12b8 - float passive_area_interval; // 0x12bc - int32_t radius; // 0x12c0 - bool m_bHitNext; // 0x12c4 + int32_t passive_area_damage; // 0x12c8 + float passive_area_interval; // 0x12cc + int32_t radius; // 0x12d0 + bool m_bHitNext; // 0x12d4 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Razor_EyeOfTheStorm : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t armor_reduction; // 0x12bc - int32_t damage; // 0x12c0 + int32_t radius; // 0x12c8 + int32_t armor_reduction; // 0x12cc + int32_t damage; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Razor_EyeOfTheStorm_Armor : public CDOTA_Buff { public: @@ -14982,66 +15031,66 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Razor_Arcana : public CDOTA_Buff { public: - bool m_bIsMeleeAttack; // 0x12b8 - bool m_bTauntQueued; // 0x12b9 + bool m_bIsMeleeAttack; // 0x12c8 + bool m_bTauntQueued; // 0x12c9 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Razor_Arcana_EmpoweredState : public CDOTA_Buff { public: - ParticleIndex_t m_nEmpoweredBodyFX; // 0x12b8 - ParticleIndex_t m_nEmpoweredWeaponFX; // 0x12bc + ParticleIndex_t m_nEmpoweredBodyFX; // 0x12c8 + ParticleIndex_t m_nEmpoweredWeaponFX; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Razor_Arcana_Kill_Effect : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x12b8 + ParticleIndex_t m_nCasterFXIndex; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lina_DragonSlave_Burn : public CDOTA_Buff { public: - int32_t dragon_slave_burn; // 0x12b8 + int32_t dragon_slave_burn; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Lina_LightStrikeArray_Thinker : public CDOTA_Buff { public: - 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 + int32_t m_iDamage; // 0x12c8 + float m_flStunDuration; // 0x12cc + int32_t light_strike_array_aoe; // 0x12d0 + int32_t light_strike_array_damage; // 0x12d4 + float light_strike_array_stun_duration; // 0x12d8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Lina_FierySoul : public CDOTA_Buff { public: - 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 + int32_t fiery_soul_attack_speed_bonus; // 0x12c8 + float fiery_soul_move_speed_bonus; // 0x12cc + int32_t fiery_soul_max_stacks; // 0x12d0 + float fiery_soul_stack_duration; // 0x12d4 + ParticleIndex_t m_nFXIndex; // 0x12d8 + GameTime_t m_flFierySoulDieTime; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lina_SuperCharged : public CDOTA_Buff { public: @@ -15049,42 +15098,42 @@ public: }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Lina_LagunaBlade_Line : public CDOTA_Buff { public: - Vector vStart; // 0x12b8 - Vector vEnd; // 0x12c4 + Vector vStart; // 0x12c8 + Vector vEnd; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lina_LagunaBlade : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 + int32_t damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lina_LagunaBlade_Superheated : public CDOTA_Buff { public: - int32_t increased_damage; // 0x12b8 + int32_t increased_damage; // 0x12c8 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Lina_Fiery_Cloak : public CDOTA_Buff { public: - int32_t magic_resistance; // 0x12b8 - int32_t spell_amp; // 0x12bc - float visualzdelta; // 0x12c0 + int32_t magic_resistance; // 0x12c8 + int32_t spell_amp; // 0x12cc + float visualzdelta; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Morphling_Waveform_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -15092,7 +15141,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Morphling_Waveform : public CDOTA_Buff { public: @@ -15100,15 +15149,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_Adaptive_Strike_Armor : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x12b8 + int32_t armor_reduction; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Morphling_Adaptive_Strike : public CDOTA_Modifier_Stunned { public: @@ -15116,118 +15165,118 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_Morph : public CDOTA_Buff { public: - float tick_rate; // 0x12b8 - int32_t bonus_attributes; // 0x12bc + float tick_rate; // 0x12c8 + int32_t bonus_attributes; // 0x12cc }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Morphling_Morph_Agi : public CDOTA_Buff { public: - int32_t mana_cost; // 0x12b8 - int32_t points_per_tick; // 0x12bc - float morph_cooldown; // 0x12c0 + int32_t mana_cost; // 0x12c8 + int32_t points_per_tick; // 0x12cc + float morph_cooldown; // 0x12d0 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Morphling_Morph_Str : public CDOTA_Buff { public: - int32_t mana_cost; // 0x12b8 - int32_t points_per_tick; // 0x12bc - float morph_cooldown; // 0x12c0 + int32_t mana_cost; // 0x12c8 + int32_t points_per_tick; // 0x12cc + float morph_cooldown; // 0x12d0 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Strength_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x12b8 - int32_t scepter_status_resist; // 0x12bc - int32_t nStrengthSteal; // 0x12c0 - int32_t nAgiSteal; // 0x12c4 - int32_t nIntSteal; // 0x12c8 + int32_t scepter_stat_steal; // 0x12c8 + int32_t scepter_status_resist; // 0x12cc + int32_t nStrengthSteal; // 0x12d0 + int32_t nAgiSteal; // 0x12d4 + int32_t nIntSteal; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Strength_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x12b8 - int32_t scepter_status_resist; // 0x12bc + int32_t scepter_stat_steal; // 0x12c8 + int32_t scepter_status_resist; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Agility_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x12b8 - int32_t scepter_attack_speed; // 0x12bc - int32_t nStrengthSteal; // 0x12c0 - int32_t nAgilitySteal; // 0x12c4 - int32_t nIntSteal; // 0x12c8 + int32_t scepter_stat_steal; // 0x12c8 + int32_t scepter_attack_speed; // 0x12cc + int32_t nStrengthSteal; // 0x12d0 + int32_t nAgilitySteal; // 0x12d4 + int32_t nIntSteal; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Agility_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x12b8 - int32_t scepter_attack_speed; // 0x12bc + int32_t scepter_stat_steal; // 0x12c8 + int32_t scepter_attack_speed; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Intelligence_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x12b8 - int32_t scepter_spell_amplify; // 0x12bc - int32_t nStrengthSteal; // 0x12c0 - int32_t nIntSteal; // 0x12c4 - int32_t nAgilitySteal; // 0x12c8 + int32_t scepter_stat_steal; // 0x12c8 + int32_t scepter_spell_amplify; // 0x12cc + int32_t nStrengthSteal; // 0x12d0 + int32_t nIntSteal; // 0x12d4 + int32_t nAgilitySteal; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Intelligence_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x12b8 - int32_t scepter_spell_amplify; // 0x12bc + int32_t scepter_stat_steal; // 0x12c8 + int32_t scepter_spell_amplify; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Morphling_ScepterStatsDrain_All_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x12b8 - int32_t nStrengthSteal; // 0x12bc - int32_t nAgiSteal; // 0x12c0 - int32_t nIntSteal; // 0x12c4 + int32_t scepter_stat_steal; // 0x12c8 + int32_t nStrengthSteal; // 0x12cc + int32_t nAgiSteal; // 0x12d0 + int32_t nIntSteal; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_All_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x12b8 + int32_t scepter_stat_steal; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Morphling_Replicate_Manager : public CDOTA_Buff { public: @@ -15235,35 +15284,35 @@ public: }; // Alignment: 15 -// Size: 0x1348 +// Size: 0x1358 class CDOTA_Modifier_Morphling_Replicate : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTinyTreeWearable; // 0x12b8 - float m_flBaseAttackRange; // 0x12bc - float m_flBaseMovementSpeed; // 0x12c0 + CHandle< C_BaseEntity > m_hTinyTreeWearable; // 0x12c8 + float m_flBaseAttackRange; // 0x12cc + float m_flBaseMovementSpeed; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - 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 + CUtlSymbolLarge m_iszModelName; // 0x12d8 + CUtlSymbolLarge m_iszProjectileName; // 0x12e0 + CUtlSymbolLarge m_iszOriginalModel; // 0x12e8 + int32_t m_nCopiedHeroID; // 0x12f0 + float m_fOriginalModelScale; // 0x12f4 + CUtlVector< C_EconItemView* > m_vecOriginalItems; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad1300[0x30]; // 0x1300 + [[maybe_unused]] uint8_t __pad1310[0x30]; // 0x1310 public: - 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 + float m_flOriginalStr; // 0x1340 + float m_flOriginalAgi; // 0x1344 + float m_flOriginalInt; // 0x1348 + int32_t m_iOriginalAttackCapability; // 0x134c + float m_flOriginalHealthPercentage; // 0x1350 + float m_flOriginalManaPercentage; // 0x1354 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Morphling_Replicate_MorphedIllusionsEffect : public CDOTA_Buff { public: @@ -15271,7 +15320,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Morphling_Replicate_Illusion : public CDOTA_Buff { public: @@ -15279,7 +15328,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Morphling_Scepter : public CDOTA_Buff { public: @@ -15287,7 +15336,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Zuus_Static_Field : public CDOTA_Buff { public: @@ -15295,40 +15344,40 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Zuus_Static_Field_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 - int32_t aspd_slow; // 0x12bc - int32_t cast_slow; // 0x12c0 + int32_t move_slow; // 0x12c8 + int32_t aspd_slow; // 0x12cc + int32_t cast_slow; // 0x12d0 }; // Alignment: 10 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Zuus_ArcLightning : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t jump_count; // 0x12cc + int32_t arc_damage; // 0x12d0 + float jump_delay; // 0x12d4 + int32_t damage_health_pct; // 0x12d8 + int32_t total_damage_pct; // 0x12dc + int32_t m_iCurJumpCount; // 0x12e0 + bool trigger_spell_absorb; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - Vector m_vCurTargetLoc; // 0x12d8 + Vector m_vCurTargetLoc; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12e8 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12f8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Zuus_ArcLightningSlow : public CDOTA_Buff { public: @@ -15336,7 +15385,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Zuus_LightningBoltThinker : public CDOTA_Buff { public: @@ -15344,19 +15393,19 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Zuus_ThundergodsWrathThinker : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - float damage_pct; // 0x12bc - float sight_duration; // 0x12c0 - int32_t second_strike_damage_percent; // 0x12c4 - float second_strike_delay; // 0x12c8 + int32_t damage; // 0x12c8 + float damage_pct; // 0x12cc + float sight_duration; // 0x12d0 + int32_t second_strike_damage_percent; // 0x12d4 + float second_strike_delay; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Zuus_ThundergodsWrathVisionThinker : public CDOTA_Buff { public: @@ -15364,17 +15413,17 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Zuus_Cloud : public CDOTA_Buff { public: - CountdownTimer m_CloudBoltTimer; // 0x12b8 - float cloud_bolt_interval; // 0x12d0 - int32_t cloud_radius; // 0x12d4 + CountdownTimer m_CloudBoltTimer; // 0x12c8 + float cloud_bolt_interval; // 0x12e0 + int32_t cloud_radius; // 0x12e4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Zuus_Heavenly_Jump : public CDOTA_Buff { public: @@ -15382,113 +15431,113 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Zuus_Heavenly_Jump_Boost : public CDOTA_Buff { public: - int32_t postjump_movespeed; // 0x12b8 + int32_t postjump_movespeed; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Zuus_ThunderTrail_Debuff : public CDOTA_Buff { public: - int32_t debuff_spell_amp; // 0x12b8 + int32_t debuff_spell_amp; // 0x12c8 }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Zuus_Lightning_Hands : public CDOTA_Buff { public: - 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 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12e0 + int32_t arc_lightning_damage_pct; // 0x12e4 + int32_t arc_lightning_damage_illusion_pct; // 0x12e8 + int32_t attack_range_bonus; // 0x12ec }; // Alignment: 6 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Kunkka_Torrent_Thinker : public CDOTA_Buff { public: - bool m_bShowEnemies; // 0x12b8 - bool m_bTorrentStorm; // 0x12b9 - bool m_bTorrentStarted; // 0x12ba + bool m_bShowEnemies; // 0x12c8 + bool m_bTorrentStorm; // 0x12c9 + bool m_bTorrentStarted; // 0x12ca private: - [[maybe_unused]] uint8_t __pad12bb[0x1]; // 0x12bb + [[maybe_unused]] uint8_t __pad12cb[0x1]; // 0x12cb public: - GameTime_t m_fTorrentStartTime; // 0x12bc - float flDamagePerTick; // 0x12c0 - float damage_tick_interval; // 0x12c4 + GameTime_t m_fTorrentStartTime; // 0x12cc + float flDamagePerTick; // 0x12d0 + float damage_tick_interval; // 0x12d4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Kunkka_Torrent : public CDOTA_Buff { public: - int32_t torrent_damage; // 0x12b8 - float damage_tick_interval; // 0x12bc - float flDamagePerTick; // 0x12c0 + int32_t torrent_damage; // 0x12c8 + float damage_tick_interval; // 0x12cc + float flDamagePerTick; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Kunkka_Torrent_Slow : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x12b8 + int32_t movespeed_bonus; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Kunkka_Tidebringer_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 + int32_t movespeed_slow; // 0x12c8 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Kunkka_Torrent_Storm : public CDOTA_Buff { public: - int32_t torrent_min_distance; // 0x12b8 - int32_t torrent_max_distance; // 0x12bc - int32_t m_iExplosionQuadrant; // 0x12c0 + int32_t torrent_min_distance; // 0x12c8 + int32_t torrent_max_distance; // 0x12cc + int32_t m_iExplosionQuadrant; // 0x12d0 }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Kunkka_Tidebringer : public CDOTA_Buff { public: - bool m_bTidebringerAttack; // 0x12b8 + bool m_bTidebringerAttack; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + int32_t cleave_starting_width; // 0x12cc + int32_t cleave_ending_width; // 0x12d0 + int32_t cleave_distance; // 0x12d4 + int32_t damage_bonus; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc + int32_t cleave_damage; // 0x12e0 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Kunkka_XMarksTheSpot : public CDOTA_Buff { public: - int32_t ally_ms; // 0x12b8 - int32_t ally_armor; // 0x12bc + int32_t ally_ms; // 0x12c8 + int32_t ally_armor; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Kunkka_XMarksTheSpotMarker : public CDOTA_Buff { public: @@ -15496,30 +15545,30 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Kunkka_XMarksTheSpot_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x12b8 - bool m_bIsReflection; // 0x12c4 + Vector m_vStartLoc; // 0x12c8 + bool m_bIsReflection; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - CHandle< C_BaseEntity > m_hEntity; // 0x12c8 + CHandle< C_BaseEntity > m_hEntity; // 0x12d8 }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Kunkka_Ghost_Ship_Fleet : public CDOTA_Buff { public: - Vector vCasterOrigin; // 0x12b8 - Vector vEnd; // 0x12c4 - int32_t hitcount; // 0x12d0 + Vector vCasterOrigin; // 0x12c8 + Vector vEnd; // 0x12d4 + int32_t hitcount; // 0x12e0 }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Kunkka_GhostShip_Knockback : public CDOTA_Modifier_Knockback { public: @@ -15527,7 +15576,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Kunkka_GhostShip_Loaded : public CDOTA_Buff { public: @@ -15535,36 +15584,36 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Kunkka_GhostShip_DamageAbsorb : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x12b8 - int32_t movespeed_bonus; // 0x12bc - float ghostship_absorb; // 0x12c0 + int32_t m_iAccumulatedDamage; // 0x12c8 + int32_t movespeed_bonus; // 0x12cc + float ghostship_absorb; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Kunkka_GhostShip_DamageDelay : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x12b8 - float m_flDuration; // 0x12bc + int32_t m_iAccumulatedDamage; // 0x12c8 + float m_flDuration; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Tiny_CraggyExterior : public CDOTA_Buff { public: - int32_t stun_chance; // 0x12b8 - float stun_duration; // 0x12bc - int32_t damage; // 0x12c0 + int32_t stun_chance; // 0x12c8 + float stun_duration; // 0x12cc + int32_t damage; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tiny_Avalanche_Stun : public CDOTA_Modifier_Stunned { public: @@ -15572,22 +15621,22 @@ public: }; // Alignment: 8 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Tiny_Avalanche : public CDOTA_Buff { public: - 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 + CUtlVector< C_DOTA_BaseNPC* > m_pHeroesHit; // 0x12c8 + int32_t radius; // 0x12e0 + float total_duration; // 0x12e4 + float stun_duration; // 0x12e8 + int32_t tick_count; // 0x12ec + float toss_multiplier; // 0x12f0 + int32_t m_damage; // 0x12f4 + int32_t m_nTicks; // 0x12f8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tiny_Toss_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -15595,84 +15644,84 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tiny_Toss : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t toss_damage; // 0x12bc + int32_t radius; // 0x12c8 + int32_t toss_damage; // 0x12cc }; // Alignment: 12 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Tiny_Tree_Grab : public CDOTA_Buff { public: - 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 + int32_t attack_count; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t bonus_damage_buildings; // 0x12d0 + float stun_duration; // 0x12d4 + int32_t attack_range; // 0x12d8 + int32_t m_nOriginalAttackCapability; // 0x12dc + float bat_increase; // 0x12e0 + int32_t speed_reduction; // 0x12e4 + int32_t m_nBonusAttackRange; // 0x12e8 + CHandle< C_BaseEntity > m_hStolenTree; // 0x12ec + ParticleIndex_t m_nFXIndex; // 0x12f0 + ParticleIndex_t m_nFXAttackIndex; // 0x12f4 }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Tiny_Tree_Channel : public CDOTA_Buff { public: - int32_t tree_grab_radius; // 0x12b8 - int32_t splash_radius; // 0x12bc - int32_t speed; // 0x12c0 - float interval; // 0x12c4 - Vector m_vPos; // 0x12c8 + int32_t tree_grab_radius; // 0x12c8 + int32_t splash_radius; // 0x12cc + int32_t speed; // 0x12d0 + float interval; // 0x12d4 + Vector m_vPos; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tiny_Tree_Channel_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tiny_TossTree_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tiny_TossTree_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Tiny_Grow : public CDOTA_Buff { public: - 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 + int32_t bonus_armor; // 0x12c8 + int32_t attack_speed_reduction; // 0x12cc + int32_t bonus_damage; // 0x12d0 + float tree_bonus_damage_pct; // 0x12d4 + float slow_resistance; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Puck_PhaseShift : public CDOTA_Buff { public: @@ -15680,50 +15729,50 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Puck_PhaseShift_AttackBonus : public CDOTA_Buff { public: - int32_t shard_bonus_damage; // 0x12b8 + int32_t shard_bonus_damage; // 0x12c8 }; // Alignment: 8 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Puck_DreamCoil_Thinker : public CDOTA_Buff { public: - 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 + CUtlVector< CHandle< C_BaseEntity > > m_hLinkedEntities; // 0x12c8 + int32_t coil_radius; // 0x12e0 + int32_t coil_break_radius; // 0x12e4 + int32_t coil_initial_damage; // 0x12e8 + float coil_stun_duration; // 0x12ec + float coil_duration; // 0x12f0 + int32_t coil_break_damage; // 0x12f4 + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x12f8 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Puck_Coiled : public CDOTA_Buff { public: - Vector m_vCastLocation; // 0x12b8 - int32_t coil_rapid_fire_z_offset; // 0x12c4 - float coil_rapid_fire_rate; // 0x12c8 + Vector m_vCastLocation; // 0x12c8 + int32_t coil_rapid_fire_z_offset; // 0x12d4 + float coil_rapid_fire_rate; // 0x12d8 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 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 + Vector m_vCastLocation; // 0x12c8 + int32_t coil_rapid_fire_z_offset; // 0x12d4 + float coil_rapid_fire_rate; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Windrunner_ShackleShot : public CDOTA_Modifier_Stunned { public: @@ -15731,7 +15780,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Windrunner_Windrun_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -15739,7 +15788,7 @@ public: }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Windrunner_Windrun_Invis : public CDOTA_Modifier_Invisible { public: @@ -15747,15 +15796,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Windrunner_Windrun_Invis_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Windrunner_Windrun_Passive : public CDOTA_Buff { public: @@ -15763,32 +15812,32 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Windrunner_Windrun : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t scepter_radius; // 0x12bc - int32_t movespeed_bonus_pct; // 0x12c0 - bool m_bDispellable; // 0x12c4 + int32_t radius; // 0x12c8 + int32_t scepter_radius; // 0x12cc + int32_t movespeed_bonus_pct; // 0x12d0 + bool m_bDispellable; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - int32_t physical_damage_pct; // 0x12c8 + int32_t physical_damage_pct; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Windrunner_Windrun_Slow : public CDOTA_Buff { public: - float enemy_movespeed_bonus_pct; // 0x12b8 - float scepter_movespeed_bonus_pct; // 0x12bc - int32_t scepter_blind; // 0x12c0 + float enemy_movespeed_bonus_pct; // 0x12c8 + float scepter_movespeed_bonus_pct; // 0x12cc + int32_t scepter_blind; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Windrunner_Arcana : public CDOTA_Buff { public: @@ -15796,53 +15845,53 @@ public: }; // Alignment: 14 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Windrunner_FocusFire : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 - int32_t focusfire_damage_reduction; // 0x12bc - bool bActive; // 0x12c0 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + int32_t focusfire_damage_reduction; // 0x12cc + bool bActive; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t bonus_attack_speed; // 0x12c4 - int32_t focusfire_fire_on_the_move; // 0x12c8 - bool m_bPause; // 0x12cc + int32_t bonus_attack_speed; // 0x12d4 + int32_t focusfire_fire_on_the_move; // 0x12d8 + bool m_bPause; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - 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 + int32_t m_nNumArrowsLanded; // 0x12e0 + int32_t m_nDamageDealt; // 0x12e4 + int32_t m_nDamageDealtMax; // 0x12e8 + int32_t m_nTargetInitialHP; // 0x12ec + bool m_bHeroKilled; // 0x12f0 + bool m_bRecentFocusFireAttack; // 0x12f1 private: - [[maybe_unused]] uint8_t __pad12e2[0xa]; // 0x12e2 + [[maybe_unused]] uint8_t __pad12f2[0xa]; // 0x12f2 public: - ParticleIndex_t m_nFXFocusFire; // 0x12ec - GameTime_t m_flLastFocusFireAttackTime; // 0x12f0 + ParticleIndex_t m_nFXFocusFire; // 0x12fc + GameTime_t m_flLastFocusFireAttackTime; // 0x1300 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Windrunner_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x12b8 + bool m_bFrozen; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Windrunner_GaleForce_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Windrunner_GaleForce : public CDOTA_Buff { public: @@ -15850,18 +15899,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Lich_FrostNova_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x12b8 - int32_t slow_attack_speed; // 0x12bc - int32_t slow_attack_speed_primary; // 0x12c0 - bool m_bIsPrimary; // 0x12c4 + int32_t slow_movement_speed; // 0x12c8 + int32_t slow_attack_speed; // 0x12cc + int32_t slow_attack_speed_primary; // 0x12d0 + bool m_bIsPrimary; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lich_Sinister_Gaze_Self : public CDOTA_Buff { public: @@ -15869,63 +15918,63 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Lich_Sinister_Gaze : public CDOTA_Buff { public: - 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 + int32_t movement_speed; // 0x12c8 + int32_t mana_drain; // 0x12cc + float m_flIntervalRate; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + float creep_damage; // 0x12d8 + bool m_bBlasted; // 0x12dc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Lich_DarkSorcery_Buff : public CDOTA_Buff { public: - int32_t mana_drain; // 0x12b8 - int32_t attack_count; // 0x12bc - int32_t attack_speed; // 0x12c0 + int32_t mana_drain; // 0x12c8 + int32_t attack_count; // 0x12cc + int32_t attack_speed; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lich_FrostAura_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lich_FrostAura : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lich_FrostAura_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 + int32_t movespeed_slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lich_ChainFrost_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x12b8 - int32_t slow_attack_speed; // 0x12bc + int32_t slow_movement_speed; // 0x12c8 + int32_t slow_attack_speed; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lich_FrostArmor_Autocast : public CDOTA_Buff { public: @@ -15933,132 +15982,132 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Lich_FrostArmor : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x12b8 - int32_t health_regen; // 0x12bc - float slow_duration; // 0x12c0 + int32_t armor_bonus; // 0x12c8 + int32_t health_regen; // 0x12cc + float slow_duration; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lich_FrostArmor_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x12b8 - int32_t slow_attack_speed; // 0x12bc + int32_t slow_movement_speed; // 0x12c8 + int32_t slow_attack_speed; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Lich_FrostShield : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float interval; // 0x12bc - int32_t damage_reduction; // 0x12c0 - int32_t health_regen; // 0x12c4 + int32_t radius; // 0x12c8 + float interval; // 0x12cc + int32_t damage_reduction; // 0x12d0 + int32_t health_regen; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lich_FrostShield_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Lich_Chain_Frost_Thinker : public CDOTA_Buff { public: - int32_t m_nDamageToHeroes; // 0x12b8 - int32_t m_nHeroesKilled; // 0x12bc - int32_t m_nJumps; // 0x12c0 - bool m_bFirstJump; // 0x12c4 + int32_t m_nDamageToHeroes; // 0x12c8 + int32_t m_nHeroesKilled; // 0x12cc + int32_t m_nJumps; // 0x12d0 + bool m_bFirstJump; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - CHandle< C_BaseEntity > m_hTarget; // 0x12c8 - CHandle< C_BaseEntity > m_hAvoidTarget; // 0x12cc + CHandle< C_BaseEntity > m_hTarget; // 0x12d8 + CHandle< C_BaseEntity > m_hAvoidTarget; // 0x12dc }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Lich_Ice_Spire : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc - CountdownTimer m_Timer; // 0x12c0 + int32_t aura_radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + CountdownTimer m_Timer; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lich_Ice_Spire_Debuff : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x12b8 + int32_t bonus_movespeed; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lich_ChainFrost_OnDeath : public CDOTA_Buff { public: - int32_t should_fire_chain_frost_on_death; // 0x12b8 + int32_t should_fire_chain_frost_on_death; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tidehunter_Gush : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 - float negative_armor; // 0x12bc + int32_t movement_speed; // 0x12c8 + float negative_armor; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Tidehunter_KrakenShell : public CDOTA_Buff { public: - 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 + int32_t m_iDamageTaken; // 0x12c8 + int32_t damage_reduction; // 0x12cc + int32_t damage_cleanse; // 0x12d0 + int32_t bonus_reduction_per_stack; // 0x12d4 + float damage_reset_interval; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tidehunter_SmashAttack : public CDOTA_Buff { public: - int32_t attack_damage; // 0x12b8 + int32_t attack_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tidehunter_AnchorSmash_Caster : public CDOTA_Buff { public: - int32_t attack_damage; // 0x12b8 + int32_t attack_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tidehunter_AnchorSmash : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 + int32_t damage_reduction; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tidehunter_Ravage : public CDOTA_Buff { public: @@ -16066,27 +16115,27 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tidehunter_Anchor_Unit : public CDOTA_Buff { public: - int32_t chain_length; // 0x12b8 - int32_t attacks_to_destroy; // 0x12bc + int32_t chain_length; // 0x12c8 + int32_t attacks_to_destroy; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t max_movement_speed; // 0x12c8 + int32_t chain_length; // 0x12cc + CHandle< C_BaseEntity > m_hAnchor; // 0x12d0 + bool m_bDragging; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_ShadowShaman_EtherShock : public CDOTA_Buff { public: @@ -16094,53 +16143,53 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ShadowShaman_Voodoo : public CDOTA_Modifier_Hexed { public: - int32_t movespeed; // 0x12b8 - int32_t damage_amp; // 0x12bc + int32_t movespeed; // 0x12c8 + int32_t damage_amp; // 0x12cc }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_ShadowShaman_Shackles : public CDOTA_Buff { public: - float tick_interval; // 0x12b8 - float total_damage; // 0x12bc - float channel_time; // 0x12c0 + float tick_interval; // 0x12c8 + float total_damage; // 0x12cc + float channel_time; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ShadowShaman_SerpentWard : public CDOTA_Buff { public: - int32_t scepter_range; // 0x12b8 + int32_t scepter_range; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Riki_SmokeScreenThinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Riki_SmokeScreen : public CDOTA_Buff { public: - int32_t miss_rate; // 0x12b8 - int32_t dodge_chance; // 0x12bc - int32_t block_targeting; // 0x12c0 - int32_t armor_reduction; // 0x12c4 + int32_t miss_rate; // 0x12c8 + int32_t dodge_chance; // 0x12cc + int32_t block_targeting; // 0x12d0 + int32_t armor_reduction; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Riki_BlinkStrike_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -16148,7 +16197,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Riki_BlinkStrike : public CDOTA_Buff { public: @@ -16156,7 +16205,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Riki_BlinkStrike_Slow : public CDOTA_Buff { public: @@ -16164,210 +16213,210 @@ public: }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Riki_Permanent_Invisibility : public CDOTA_Modifier_PersistentInvisibility { public: - int32_t movement_speed; // 0x12c8 - float fade_delay; // 0x12cc + int32_t movement_speed; // 0x12d8 + float fade_delay; // 0x12dc }; // Alignment: 7 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Riki_Backstab : public CDOTA_Modifier_PersistentInvisibility { public: - 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 + float fade_delay; // 0x12d8 + int32_t backstab_angle; // 0x12dc + int32_t cleave; // 0x12e0 + float damage_multiplier; // 0x12e4 + float bonus_xp_kill; // 0x12e8 + float bonus_xp_assist; // 0x12ec + bool m_bBackstab; // 0x12f0 }; // Alignment: 7 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Riki_TricksOfTheTrade_Phase : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFxIndex; // 0x12c8 + CHandle< C_BaseEntity > m_hTarget; // 0x12cc + CountdownTimer m_Timer; // 0x12d0 + CHandle< C_BaseEntity > m_hPreviousTarget; // 0x12e8 + int32_t m_nSucceessiveHits; // 0x12ec + int32_t damage_pct; // 0x12f0 + int32_t agility_pct; // 0x12f4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Riki_Poison_Dart : public CDOTA_Buff { public: - int32_t wake_damage_limit; // 0x12b8 - float m_flDamageTaken; // 0x12bc + int32_t wake_damage_limit; // 0x12c8 + float m_flDamageTaken; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Riki_Poison_Dart_Debuff : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Enigma_Malefice : public CDOTA_Buff { public: - float tick_rate; // 0x12b8 - float stun_duration; // 0x12bc - int32_t damage; // 0x12c0 - float duration; // 0x12c4 - int32_t m_nEidolonSpawnNum; // 0x12c8 + float tick_rate; // 0x12c8 + float stun_duration; // 0x12cc + int32_t damage; // 0x12d0 + float duration; // 0x12d4 + int32_t m_nEidolonSpawnNum; // 0x12d8 }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Enigma_DemonicConversion : public CDOTA_Modifier_Kill { public: - 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 + int32_t m_iAttackCount; // 0x12d0 + int32_t split_attack_count; // 0x12d4 + float life_extension; // 0x12d8 + int32_t eidolon_attack_range; // 0x12dc + int32_t eidolon_bonus_damage; // 0x12e0 + int32_t eidolon_bonus_attack_speed; // 0x12e4 + bool m_bAllowSplit; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - int32_t m_nSpawnNum; // 0x12dc + int32_t m_nSpawnNum; // 0x12ec }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Enigma_DemonicConversion_ModelScale : public CDOTA_Buff { public: - float self_modelscale; // 0x12b8 + float self_modelscale; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Enigma_MidnightPulseThinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t n_FXIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t n_FXIndex; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Enigma_MidnightPulse_Damage : public CDOTA_Buff { public: - float damage_percent; // 0x12b8 - float tick_rate; // 0x12bc + float damage_percent; // 0x12c8 + float tick_rate; // 0x12cc }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Enigma_BlackHoleThinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t n_FXIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t n_FXIndex; // 0x12cc }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 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 + int32_t pull_speed; // 0x12c8 + int32_t radius; // 0x12cc + int32_t damage; // 0x12d0 + float tick_rate; // 0x12d4 + float pull_rotate_speed; // 0x12d8 + float animation_rate; // 0x12dc + float scepter_pct_damage; // 0x12e0 + GameTime_t m_flDamageTick; // 0x12e4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Enigma_Black_Hole_Thinker_Scepter : public CDOTA_Buff { public: - int32_t scepter_radius; // 0x12b8 - ParticleIndex_t n_FXIndex; // 0x12bc + int32_t scepter_radius; // 0x12c8 + ParticleIndex_t n_FXIndex; // 0x12cc }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 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 + int32_t scepter_drag_speed; // 0x12c8 + float scepter_pull_rotate_speed; // 0x12cc + float aura_origin_x; // 0x12d0 + float aura_origin_y; // 0x12d4 + ParticleIndex_t m_nFXIndex; // 0x12d8 + Vector m_vCenter; // 0x12dc + GameTime_t m_flLastThinkTime; // 0x12e8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t damage_absorb; // 0x12c8 + int32_t status_resistance; // 0x12cc + int32_t cooldown_reduction; // 0x12d0 + bool m_bStartedTimer; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - int32_t m_nDamageAbsorbed; // 0x12c8 + int32_t m_nDamageAbsorbed; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tinker_LaserBlind : public CDOTA_Buff { public: - int32_t miss_rate; // 0x12b8 - float max_health_removed; // 0x12bc + int32_t miss_rate; // 0x12c8 + float max_health_removed; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tinker_Warp_Grenade : public CDOTA_Buff { public: - int32_t range_reduction; // 0x12b8 + int32_t range_reduction; // 0x12c8 }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Tinker_MarchOfTheMachinesThinker : public CDOTA_Buff { public: - 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 + int32_t collision_radius; // 0x12c8 + int32_t radius; // 0x12cc + int32_t distance; // 0x12d0 + int32_t distance_scepter; // 0x12d4 + int32_t speed; // 0x12d8 + int32_t machines_per_sec; // 0x12dc + Vector m_vDir; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tinker_Rearm : public CDOTA_Buff { public: @@ -16375,15 +16424,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_WitchDoctor_Cask_Thinker : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_WitchDoctor_Voodoo_Restoration_Aura : public CDOTA_Buff { public: @@ -16391,18 +16440,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_WitchDoctor_Voodoo_Restoration_Heal : public CDOTA_Buff { public: - int32_t heal; // 0x12b8 - float mana_per_second; // 0x12bc - float heal_interval; // 0x12c0 - int32_t enemy_damage_pct; // 0x12c4 + int32_t heal; // 0x12c8 + float mana_per_second; // 0x12cc + float heal_interval; // 0x12d0 + int32_t enemy_damage_pct; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_WitchDoctor_MaledictDoT : public CDOTA_Buff { public: @@ -16410,47 +16459,47 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_WitchDoctor_Maledict : public CDOTA_Buff { public: - int32_t m_iStartHealth; // 0x12b8 - int32_t bonus_damage; // 0x12bc - int32_t bonus_damage_threshold; // 0x12c0 - int32_t ticks; // 0x12c4 - int32_t iCurrentTick; // 0x12c8 + int32_t m_iStartHealth; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t bonus_damage_threshold; // 0x12d0 + int32_t ticks; // 0x12d4 + int32_t iCurrentTick; // 0x12d8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_WitchDoctor_DeathWard : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t m_iBounceRadius; // 0x12bc - int32_t bonus_accuracy; // 0x12c0 - bool m_bFirstAttack; // 0x12c4 + int32_t bonus_damage; // 0x12c8 + int32_t m_iBounceRadius; // 0x12cc + int32_t bonus_accuracy; // 0x12d0 + bool m_bFirstAttack; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_WitchDoctor_Voodoo_Switcheroo : public CDOTA_Buff { public: - Vector m_vSavedPos; // 0x12b8 - CHandle< C_BaseEntity > m_hSavedAbility; // 0x12c4 + Vector m_vSavedPos; // 0x12c8 + CHandle< C_BaseEntity > m_hSavedAbility; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_WitchDoctor_DeathWard_Voodoo_Switcheroo_AttackSpeedReduction : public CDOTA_Buff { public: - int32_t attack_speed_reduction; // 0x12b8 + int32_t attack_speed_reduction; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Sniper_Shrapnel_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -16458,63 +16507,63 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sniper_Shrapnel_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - bool m_bExploded; // 0x12bc + int32_t radius; // 0x12c8 + bool m_bExploded; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sniper_Shrapnel_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x12b8 - int32_t shrapnel_damage; // 0x12bc + int32_t slow_movement_speed; // 0x12c8 + int32_t shrapnel_damage; // 0x12cc }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Sniper_Headshot : public CDOTA_Buff { public: - 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 + int32_t proc_chance; // 0x12c8 + float slow_duration; // 0x12cc + float knockback_distance; // 0x12d0 + int32_t bonus_damage_creeps; // 0x12d4 + int32_t bonus_attack_range; // 0x12d8 + int32_t damage; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sniper_Headshot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sniper_TakeAim : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x12b8 + int32_t bonus_attack_range; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Sniper_TakeAim_Bonus : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 - int32_t active_attack_range_bonus; // 0x12bc + int32_t slow; // 0x12c8 + int32_t active_attack_range_bonus; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Sniper_Assassinate_Trigger : public CDOTA_Buff { public: @@ -16522,17 +16571,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t scepter_crit_damage; // 0x12c8 + int32_t scatter_damage_pct; // 0x12cc + bool is_secondary; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Sniper_Assassinate : public CDOTA_Buff { public: @@ -16540,95 +16589,96 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sniper_Concussive_Grenade : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Necrolyte_Sadist_Active : public CDOTA_Buff -{ -public: - int32_t heal_bonus; // 0x12b8 - int32_t bonus_damage; // 0x12bc - int32_t slow_aoe; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Necrolyte_Sadist_Aura_Effect : public CDOTA_Buff -{ -public: - int32_t movement_speed; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Necrophos_Death_Seeker_Ethereal : public CDOTA_Buff -{ -public: - int32_t magic_resistance_reduction; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 3 // Size: 0x12d8 -class CDOTA_Modifier_Necrolyte_Heartstopper_Aura : public CDOTA_Buff +class CDOTA_Modifier_Necrolyte_Sadist_Active : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 - bool m_bStackCountChanged; // 0x12bc -private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd -public: - CUtlVector< GameTime_t > m_fStackExpireTimes; // 0x12c0 + int32_t heal_bonus; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t slow_aoe; // 0x12d0 }; -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Counter : public CDOTA_Buff +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Necrolyte_Sadist_Aura_Effect : public CDOTA_Buff { public: - float mana_regen; // 0x12b8 - float health_regen; // 0x12bc + int32_t movement_speed; // 0x12c8 }; -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Effect : public CDOTA_Buff +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Necrophos_Death_Seeker_Ethereal : 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 + int32_t magic_resistance_reduction; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c0 -class CDOTA_Modifier_Necrolyte_ReapersScythe : public CDOTA_Modifier_Stunned +// Size: 0x12e8 +class CDOTA_Modifier_Necrolyte_Heartstopper_Aura : public CDOTA_Buff { public: - float stun_duration; // 0x12b8 - bool m_bIllusion; // 0x12bc - bool m_bArcWardenClone; // 0x12bd + int32_t aura_radius; // 0x12c8 + bool m_bStackCountChanged; // 0x12cc +private: + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd +public: + CUtlVector< GameTime_t > m_fStackExpireTimes; // 0x12d0 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Counter : public CDOTA_Buff +{ +public: + float mana_regen; // 0x12c8 + float health_regen; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 +class CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Effect : public CDOTA_Buff +{ +public: + float aura_damage; // 0x12c8 + int32_t heal_reduction_pct; // 0x12cc + float heal_regen_to_damage; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 +}; + +// Alignment: 4 +// Size: 0x12d0 +class CDOTA_Modifier_Necrolyte_ReapersScythe : public CDOTA_Modifier_Stunned +{ +public: + float stun_duration; // 0x12c8 + bool m_bIllusion; // 0x12cc + bool m_bArcWardenClone; // 0x12cd + bool m_bSpiritBear; // 0x12ce +}; + +// Alignment: 4 +// Size: 0x12d8 class CDOTA_Modifier_Necrolyte_ReapersScythe_RespawnTime : public CDOTA_Buff { public: - float hp_per_kill; // 0x12b8 - float mana_per_kill; // 0x12bc - float hp_regen; // 0x12c0 - float mp_regen; // 0x12c4 + float hp_per_kill; // 0x12c8 + float mana_per_kill; // 0x12cc + float hp_regen; // 0x12d0 + float mp_regen; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Death_Seeker_OutOfWorld : public CDOTA_Buff { public: @@ -16636,16 +16686,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Slardar_Puddle_Thinker : public CDOTA_Buff { public: - int32_t puddle_radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t puddle_radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Slardar_Puddle : public CDOTA_Buff { public: @@ -16653,7 +16703,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Slardar_Sprint_Passive : public CDOTA_Buff { public: @@ -16661,93 +16711,93 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Slardar_Sprint_River : public CDOTA_Buff { public: - int32_t river_speed; // 0x12b8 - int32_t puddle_regen; // 0x12bc - int32_t puddle_armor; // 0x12c0 - int32_t puddle_status_resistance; // 0x12c4 + int32_t river_speed; // 0x12c8 + int32_t puddle_regen; // 0x12cc + int32_t puddle_armor; // 0x12d0 + int32_t puddle_status_resistance; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Slardar_Sprint : public CDOTA_Buff { public: - int32_t bonus_speed; // 0x12b8 + int32_t bonus_speed; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Slardar_Slithereen_Crush : public CDOTA_Buff { public: - int32_t crush_extra_slow; // 0x12b8 + int32_t crush_extra_slow; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Slardar_Bash_Active : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - float duration; // 0x12bc - int32_t attack_count; // 0x12c0 - int32_t river_damage; // 0x12c4 + int32_t bonus_damage; // 0x12c8 + float duration; // 0x12cc + int32_t attack_count; // 0x12d0 + int32_t river_damage; // 0x12d4 }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Slardar_Amplify_Damage : public CDOTA_Buff { public: - 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 + int32_t armor_reduction; // 0x12c8 + float scepter_delay; // 0x12cc + int32_t undispellable; // 0x12d0 + int32_t puddle_radius; // 0x12d4 + float puddle_duration; // 0x12d8 + Vector m_vecLastPuddle; // 0x12dc + CHandle< C_BaseEntity > m_hPuddle; // 0x12e8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ursa_Overpower : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x12b8 - int32_t slow_resist; // 0x12bc + int32_t attack_speed_bonus_pct; // 0x12c8 + int32_t slow_resist; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ursa_Fury_Swipes : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x12b8 + int32_t damage_per_stack; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ursa_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x12b8 + int32_t damage_per_stack; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ursa_Enrage : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 - int32_t status_resistance; // 0x12bc + int32_t damage_reduction; // 0x12c8 + int32_t status_resistance; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Ursa_Earthshock_Move : public CDOTA_Buff { public: @@ -16755,15 +16805,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ursa_Earthshock : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lion_Impale : public CDOTA_Buff { public: @@ -16771,15 +16821,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lion_Voodoo : public CDOTA_Modifier_Hexed { public: - int32_t movespeed; // 0x12b8 + int32_t movespeed; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lion_ManaDrain_Immunity : public CDOTA_Modifier_DebuffImmune { public: @@ -16787,20 +16837,20 @@ public: }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Lion_ManaDrain : public CDOTA_Buff { public: - 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 + int32_t mana_per_second; // 0x12c8 + int32_t break_distance; // 0x12cc + float tick_interval; // 0x12d0 + int32_t movespeed; // 0x12d4 + int32_t damage_pct; // 0x12d8 + int32_t ally_pct; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lion_ManaDrain_Buff : public CDOTA_Buff { public: @@ -16808,7 +16858,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lion_ManaDrain_Debuff : public CDOTA_Buff { public: @@ -16816,7 +16866,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lion_FingerOfDeath_Kill_Counter : public CDOTA_Buff { public: @@ -16824,15 +16874,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lion_FingerOfDeath : public CDOTA_Buff { public: - bool m_bIgnoreBonus; // 0x12b8 + bool m_bIgnoreBonus; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lion_FingerOfDeath_Delay : public CDOTA_Buff { public: @@ -16840,12 +16890,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lion_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x12b8 - bool m_bFlail; // 0x12b9 + bool m_bFrozen; // 0x12c8 + bool m_bFlail; // 0x12c9 }; // Alignment: 4 @@ -16862,7 +16912,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Courier_Morph_Effect : public CDOTA_Buff { public: @@ -16870,7 +16920,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Courier_Flying : public CDOTA_Buff { public: @@ -16878,45 +16928,45 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Courier_TakeStashItems : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hStashOwner; // 0x12b8 - Vector m_vLocation; // 0x12bc - bool m_bTransferAfterTake; // 0x12c8 + CHandle< C_BaseEntity > m_hStashOwner; // 0x12c8 + Vector m_vLocation; // 0x12cc + bool m_bTransferAfterTake; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - int32_t stash_pickup_distance; // 0x12cc + int32_t stash_pickup_distance; // 0x12dc }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Courier_ReturnStashItems : public CDOTA_Buff { public: - Vector m_vLocation; // 0x12b8 + Vector m_vLocation; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Courier_TransferItems : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Courier_Burst : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 + int32_t movement_speed; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Courier_Shield : public CDOTA_Buff { public: @@ -16924,7 +16974,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Courier_Passive_Bonus : public CDOTA_Buff { public: @@ -16932,19 +16982,19 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_FountainPassive : public CDOTA_Buff { public: - int32_t bonus_chance; // 0x12b8 + int32_t bonus_chance; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Fountain_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: @@ -16952,7 +17002,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Roshan_SpellBlock : public CDOTA_Buff { public: @@ -16960,35 +17010,35 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Roshan_Moving : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 - CHandle< C_BaseEntity > m_hTarget; // 0x12bc - bool m_bFlipped; // 0x12c0 + int32_t movement_speed; // 0x12c8 + CHandle< C_BaseEntity > m_hTarget; // 0x12cc + bool m_bFlipped; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Roshan_Bash : public CDOTA_Buff { public: - int32_t bash_chance; // 0x12b8 - int32_t bonus_damage; // 0x12bc - float stun_duration; // 0x12c0 + int32_t bash_chance; // 0x12c8 + int32_t bonus_damage; // 0x12cc + float stun_duration; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Roshan_Slam : public CDOTA_Buff { public: - int32_t slow_amount; // 0x12b8 + int32_t slow_amount; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Roshan_InherentBuffs : public CDOTA_Buff { public: @@ -16996,15 +17046,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Roshan_DevotionAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Roshan_Devotion : public CDOTA_Buff { public: @@ -17012,113 +17062,113 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Miniboss_Reflect : public CDOTA_Buff { public: - int32_t passive_reflection_pct; // 0x12b8 - int32_t passive_reflection_bonus_per_death; // 0x12bc + int32_t passive_reflection_pct; // 0x12c8 + int32_t passive_reflection_bonus_per_death; // 0x12cc }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Miniboss_UnyieldingShield : public CDOTA_Buff { public: - 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 + int32_t damage_absorb; // 0x12c8 + float regen_per_second; // 0x12cc + float regen_bonus_per_death; // 0x12d0 + int32_t m_nDamageAbsorbed; // 0x12d4 + GameTime_t m_timeLastTick; // 0x12d8 + ParticleIndex_t nFXIndex; // 0x12dc }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Animation_RightClawSwipe : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - int32_t damage_radius; // 0x12bc - float m_flScalar; // 0x12c0 + int32_t damage; // 0x12c8 + int32_t damage_radius; // 0x12cc + float m_flScalar; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x12c8 + CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x12d8 }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Animation_LeftClawSwipe : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - int32_t damage_radius; // 0x12bc - float m_flScalar; // 0x12c0 + int32_t damage; // 0x12c8 + int32_t damage_radius; // 0x12cc + float m_flScalar; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x12c8 + CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Attached_Unit : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hAttachTarget; // 0x12b8 - bool m_bPhysicalImmune; // 0x12bc - bool m_bMagicImmune; // 0x12bd + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12c8 + bool m_bPhysicalImmune; // 0x12cc + bool m_bMagicImmune; // 0x12cd }; // Alignment: 18 -// Size: 0x1318 +// Size: 0x1328 class CDOTA_Modifier_Nian_Dive : public CDOTA_Buff { public: - 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 + int32_t pounce_distance; // 0x12c8 + float pounce_speed; // 0x12cc + float pounce_acceleration; // 0x12d0 + int32_t pounce_radius; // 0x12d4 + int32_t pounce_damage; // 0x12d8 + int32_t stun_radius; // 0x12dc + float stun_duration; // 0x12e0 + float leash_duration; // 0x12e4 + float initial_delay; // 0x12e8 + float landing_delay; // 0x12ec + float vertical_adjust; // 0x12f0 + float vertical_adjust_max_distance; // 0x12f4 + float vertical_adjust_min_distance; // 0x12f8 + int32_t claw_damage; // 0x12fc + int32_t claw_damage_radius; // 0x1300 + float claw_damage_delay; // 0x1304 + float claw_damage_duration; // 0x1308 private: - [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc + [[maybe_unused]] uint8_t __pad130c[0x4]; // 0x130c public: - CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x1300 + CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x1310 }; // Alignment: 11 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Nian_Frenzy : public CDOTA_Buff { public: - 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 + int32_t damage; // 0x12c8 + int32_t damage_radius; // 0x12cc + int32_t stun_radius; // 0x12d0 + float dive_distance; // 0x12d4 + float initial_rise_time; // 0x12d8 + float right_swipe_time; // 0x12dc + float left_swipe_time; // 0x12e0 + float knockdown_duration; // 0x12e4 + float stun_duration; // 0x12e8 + int32_t m_nTickCounter; // 0x12ec + CUtlVector< CHandle< C_BaseEntity > > m_hEnemies; // 0x12f0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Roar : public CDOTA_Buff { public: @@ -17126,7 +17176,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Invulnerable : public CDOTA_Buff { public: @@ -17134,7 +17184,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Intrinsic : public CDOTA_Buff { public: @@ -17142,7 +17192,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Attachment : public CDOTA_Buff { public: @@ -17150,7 +17200,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Attachment_Regrow : public CDOTA_Buff { public: @@ -17158,40 +17208,40 @@ public: }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Animation_TailSpin : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - int32_t damage_radius; // 0x12bc - float m_flPlaybackRate; // 0x12c0 + int32_t damage; // 0x12c8 + int32_t damage_radius; // 0x12cc + float m_flPlaybackRate; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x12c8 + CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Nian_Apocalypse : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x12b8 + int32_t area_of_effect; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Nian_Knockdown : public CDOTA_Buff { public: - float m_flStandUpDuration; // 0x12b8 - float m_flKnockDownDuration; // 0x12bc - bool m_bDebuff; // 0x12c0 - bool m_bStandingUp; // 0x12c1 + float m_flStandUpDuration; // 0x12c8 + float m_flKnockDownDuration; // 0x12cc + bool m_bDebuff; // 0x12d0 + bool m_bStandingUp; // 0x12d1 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Big_Flinch : public CDOTA_Buff { public: @@ -17199,50 +17249,50 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Firecracker_Debuff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Nian_GreaterBash : public CDOTA_Buff { public: - int32_t chance_pct; // 0x12b8 - float damage; // 0x12bc - float movespeed_duration; // 0x12c0 + int32_t chance_pct; // 0x12c8 + float damage; // 0x12cc + float movespeed_duration; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Nian_GreaterBash_Speed : public CDOTA_Buff { public: - int32_t bonus_movespeed_pct; // 0x12b8 + int32_t bonus_movespeed_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_NianCharge : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_NianChargePinned : public CDOTA_Buff { public: - float pinned_damage_amount; // 0x12b8 - float pinned_damage_interval; // 0x12bc + float pinned_damage_amount; // 0x12c8 + float pinned_damage_interval; // 0x12cc }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Nian_Tail_Swipe_Wall : public CDOTA_Buff { public: @@ -17250,7 +17300,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Tail_Swipe_AirTime : public CDOTA_Buff { public: @@ -17258,21 +17308,21 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Nian_Hurricane_Whirlpool : public CDOTA_Buff { public: - float pull_switch_interval; // 0x12b8 - int32_t pull_speed; // 0x12bc - bool m_bForward; // 0x12c0 + float pull_switch_interval; // 0x12c8 + int32_t pull_speed; // 0x12cc + bool m_bForward; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - ParticleIndex_t m_nfxIndex; // 0x12c4 + ParticleIndex_t m_nfxIndex; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Torrent_Thinker : public CDOTA_Buff { public: @@ -17280,181 +17330,181 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Nian_WhirlpoolThinker : public CDOTA_Buff { public: - int32_t pull_radius; // 0x12b8 - ParticleIndex_t n_FXIndex; // 0x12bc + int32_t pull_radius; // 0x12c8 + ParticleIndex_t n_FXIndex; // 0x12cc }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Nian_Whirlpool_Pull : public CDOTA_Buff { public: - 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 + int32_t pull_radius; // 0x12c8 + int32_t pull_speed; // 0x12cc + int32_t radius; // 0x12d0 + int32_t whirlpool_damage; // 0x12d4 + float tick_rate; // 0x12d8 + GameTime_t m_flDamageTick; // 0x12dc }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Nian_EruptionPendingThinker : public CDOTA_Buff { public: - int32_t tick_count; // 0x12b8 - int32_t beam_radius; // 0x12bc - int32_t m_nTickCount; // 0x12c0 - int32_t n_FXIndex; // 0x12c4 + int32_t tick_count; // 0x12c8 + int32_t beam_radius; // 0x12cc + int32_t m_nTickCount; // 0x12d0 + int32_t n_FXIndex; // 0x12d4 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Nian_EruptionThinker : public CDOTA_Buff { public: - int32_t explosion_radius; // 0x12b8 - float damage_interval; // 0x12bc - int32_t damage; // 0x12c0 - int32_t n_FXIndex; // 0x12c4 + int32_t explosion_radius; // 0x12c8 + float damage_interval; // 0x12cc + int32_t damage; // 0x12d0 + int32_t n_FXIndex; // 0x12d4 }; // Alignment: 4 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Nian_Waterball : public CDOTA_Buff { public: - int32_t trail_damage_per_second; // 0x12b8 - int32_t trail_damage_radius; // 0x12bc - CUtlVector< int32 > m_vFXIndices; // 0x12c0 - CUtlVector< Vector > m_vLocations; // 0x12d8 + int32_t trail_damage_per_second; // 0x12c8 + int32_t trail_damage_radius; // 0x12cc + CUtlVector< int32 > m_vFXIndices; // 0x12d0 + CUtlVector< Vector > m_vLocations; // 0x12e8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Nian_Damage_Reflection : public CDOTA_Buff { public: - GameTime_t m_flReflectionStartTime; // 0x12b8 - float m_flReflectionAmount; // 0x12bc + GameTime_t m_flReflectionStartTime; // 0x12c8 + float m_flReflectionAmount; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Nian_Flag_Trap_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Nian_Flag_Trapped : public CDOTA_Buff { public: - int32_t bonus_spell_damage_pct; // 0x12b8 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Firework_Mine : public CDOTA_Buff -{ -public: - int32_t damage_radius; // 0x12b8 - int32_t trigger_radius; // 0x12bc - int32_t damage; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_JumpBootsIntrinsic : public CDOTA_Buff -{ -public: - int32_t bonus_movement_speed; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_JumpBoots : public CDOTA_Buff -{ -public: - int32_t push_length; // 0x12b8 -}; - -// Alignment: 5 -// Size: 0x12d0 -class CDOTA_Modifier_Nian_Leap : public CDOTA_Buff -{ -public: - int32_t pounce_distance; // 0x12b8 - float pounce_speed; // 0x12bc - float pounce_acceleration; // 0x12c0 - float initial_delay; // 0x12c4 - float landing_delay; // 0x12c8 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Vermillion_Robe_Flames : public CDOTA_Buff -{ -public: - int32_t radius; // 0x12b8 - float damage_per_health_missing; // 0x12bc - float delay; // 0x12c0 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Vermillion_Robe : public CDOTA_Buff_Item -{ -public: - int32_t mana_regen_pct; // 0x12b8 - int32_t move_speed_bonus; // 0x12bc - int32_t bonus_stats; // 0x12c0 + int32_t bonus_spell_damage_pct; // 0x12c8 }; // Alignment: 3 // Size: 0x12d8 -class CDOTA_Modifier_Warlock_FatalBonds : public CDOTA_Buff +class CDOTA_Modifier_Firework_Mine : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > m_FatalBondsEntities; // 0x12b8 - int32_t damage_share_percentage; // 0x12d0 - float imp_duration; // 0x12d4 + int32_t damage_radius; // 0x12c8 + int32_t trigger_radius; // 0x12cc + int32_t damage; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_JumpBootsIntrinsic : public CDOTA_Buff +{ +public: + int32_t bonus_movement_speed; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_JumpBoots : public CDOTA_Buff +{ +public: + int32_t push_length; // 0x12c8 +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Nian_Leap : public CDOTA_Buff +{ +public: + int32_t pounce_distance; // 0x12c8 + float pounce_speed; // 0x12cc + float pounce_acceleration; // 0x12d0 + float initial_delay; // 0x12d4 + float landing_delay; // 0x12d8 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Vermillion_Robe_Flames : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 + float damage_per_health_missing; // 0x12cc + float delay; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Vermillion_Robe : public CDOTA_Buff_Item +{ +public: + int32_t mana_regen_pct; // 0x12c8 + int32_t move_speed_bonus; // 0x12cc + int32_t bonus_stats; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12e8 +class CDOTA_Modifier_Warlock_FatalBonds : public CDOTA_Buff +{ +public: + CUtlVector< CHandle< C_BaseEntity > > m_FatalBondsEntities; // 0x12c8 + int32_t damage_share_percentage; // 0x12e0 + float imp_duration; // 0x12e4 +}; + +// Alignment: 3 +// Size: 0x12e0 class CDOTA_Modifier_Warlock_Shadow_Word : public CDOTA_Buff { public: - float tick_interval; // 0x12b8 - int32_t damage; // 0x12bc - int32_t shard_movement_speed_pct; // 0x12c0 + float tick_interval; // 0x12c8 + int32_t damage; // 0x12cc + int32_t shard_movement_speed_pct; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Warlock_Upheaval : public CDOTA_Buff { public: - int32_t m_iSlow; // 0x12b8 + int32_t m_iSlow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Warlock_Upheaval_Ally : public CDOTA_Buff { public: - int32_t m_iAttackSpeed; // 0x12b8 + int32_t m_iAttackSpeed; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Death_Trigger : public CDOTA_Buff { public: @@ -17462,112 +17512,112 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Thinker : public CDOTA_Buff { public: - float stun_duration; // 0x12b8 - bool bHasScepter; // 0x12bc + float stun_duration; // 0x12c8 + bool bHasScepter; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - int32_t aoe; // 0x12c0 - int32_t m_iCount; // 0x12c4 + int32_t aoe; // 0x12d0 + int32_t m_iCount; // 0x12d4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Golem : public CDOTA_Buff { public: - int32_t bonus_magic_resistance; // 0x12b8 - int32_t bonus_armor; // 0x12bc - int32_t bonus_slow_resistance; // 0x12c0 + int32_t bonus_magic_resistance; // 0x12c8 + int32_t bonus_armor; // 0x12cc + int32_t bonus_slow_resistance; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Warlock_Golem_Flaming_Fists : public CDOTA_Buff { public: - float damage; // 0x12b8 - int32_t radius; // 0x12bc + float damage; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Warlock_Golem_Permanent_Immolation : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Warlock_Golem_Permanent_Immolation_Debuff : public CDOTA_Buff { public: - int32_t aura_damage; // 0x12b8 + int32_t aura_damage; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Warlock_Imp_AutoAttack : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hBestTarget; // 0x12b8 - float bonus_hp; // 0x12bc - float bonus_dmg; // 0x12c0 - float bonus_movespeed; // 0x12c4 + CHandle< C_BaseEntity > m_hBestTarget; // 0x12c8 + float bonus_hp; // 0x12cc + float bonus_dmg; // 0x12d0 + float bonus_movespeed; // 0x12d4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Warlock_Imp_ExplodeThinker : public CDOTA_Buff { public: - float explosion_radius; // 0x12b8 - float explosion_dmg; // 0x12bc - float explosion_nonhero_reduce; // 0x12c0 + float explosion_radius; // 0x12c8 + float explosion_dmg; // 0x12cc + float explosion_nonhero_reduce; // 0x12d0 }; // Alignment: 17 -// Size: 0x1360 +// Size: 0x1370 class CDOTA_Modifier_Beastmaster_WildAxes : public CDOTA_Buff { public: - 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 + Vector m_vLeftControl; // 0x12c8 + Vector m_vRightControl; // 0x12d4 + Vector m_vTargetLoc; // 0x12e0 + Vector m_vSourceLoc; // 0x12ec + float m_flDuration; // 0x12f8 + GameTime_t m_flDieTime; // 0x12fc + bool m_bReturning; // 0x1300 + bool m_bCatchingAxes; // 0x1301 private: - [[maybe_unused]] uint8_t __pad12f2[0x6]; // 0x12f2 + [[maybe_unused]] uint8_t __pad1302[0x6]; // 0x1302 public: - 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 + CUtlVector< CHandle< C_BaseEntity > > m_hAxes; // 0x1308 + ParticleIndex_t m_nAxeFXIndex[2]; // 0x1320 + CUtlVector< CHandle< C_BaseEntity > > m_hHitList[2]; // 0x1328 + int32_t radius; // 0x1358 + int32_t spread; // 0x135c + int32_t axe_damage; // 0x1360 + float duration; // 0x1364 + float min_throw_duration; // 0x1368 + float max_throw_duration; // 0x136c }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Beastmaster_Axe_Stack_Counter : public CDOTA_Buff { public: - float damage_amp; // 0x12b8 + float damage_amp; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Beastmaster_Axe_Invulnerable : public CDOTA_Buff { public: @@ -17575,40 +17625,40 @@ public: }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Beastmaster_CallOfTheWild_Hawk : public CDOTA_Buff { public: - 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 + CHandle< C_BaseEntity > m_hOwner; // 0x12c8 + int32_t attack_radius; // 0x12cc + GameTime_t m_flLastAttack; // 0x12d0 + float roaming_seconds_per_rotation; // 0x12d4 + int32_t roaming_radius; // 0x12d8 + float attack_interval; // 0x12dc + int32_t min_move_speed; // 0x12e0 + int32_t max_move_speed; // 0x12e4 + int32_t m_iPreviousHawkCount; // 0x12e8 + float m_flRotation; // 0x12ec }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_CallOfTheWild_Boar_BonusDamage : public CDOTA_Buff { public: - float boar_bonus_damage; // 0x12b8 + float boar_bonus_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_CallOfTheWild_Boar_PoisonBase : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_CallOfTheWild_Boar_Poison : public CDOTA_Modifier_CallOfTheWild_Boar_PoisonBase { public: @@ -17616,24 +17666,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_CallOfTheWild_Boar_PoisonEffect : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 - int32_t movement_speed; // 0x12bc + int32_t attack_speed; // 0x12c8 + int32_t movement_speed; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Beastmaster_InnerBeast_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Beastmaster_InnerBeast : public CDOTA_Buff { public: @@ -17641,32 +17691,32 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Beastmaster_PrimalRoar_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x12b8 - int32_t slow_attack_speed_pct; // 0x12bc + int32_t slow_movement_speed_pct; // 0x12c8 + int32_t slow_attack_speed_pct; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Beastmaster_PrimalRoar_Speed : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 + int32_t movement_speed; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Beastmaster_PrimalRoar_Push : public CDOTA_Buff { public: - Vector m_vVelocity; // 0x12b8 + Vector m_vVelocity; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Beastmaster_Mark_Of_The_Beast : public CDOTA_Buff { public: @@ -17674,7 +17724,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_CallOfTheWild_Hawk_Reveal : public CDOTA_Buff { public: @@ -17682,55 +17732,55 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Beastmaster_Hawk_Dive : public CDOTA_Buff { public: - int32_t dive_damage; // 0x12b8 - float dive_root_duration; // 0x12bc + int32_t dive_damage; // 0x12c8 + float dive_root_duration; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// 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 + int32_t perch_flight_height; // 0x12c8 + int32_t perch_tree_height; // 0x12cc + int32_t flight_speed; // 0x12d0 + float m_flZDelta; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Beastmaster_Hawk_Perch_Perching : public CDOTA_Buff { public: - int32_t perching_tree_height; // 0x12b8 - CHandle< C_BaseEntity > m_hTree; // 0x12bc + int32_t perching_tree_height; // 0x12c8 + CHandle< C_BaseEntity > m_hTree; // 0x12cc }; // Alignment: 12 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Beastmaster_DrumsOfSlom : public CDOTA_Buff { public: - 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 + int32_t aura_radius; // 0x12c8 + int32_t radius; // 0x12cc + int32_t max_stacks; // 0x12d0 + float base_damage; // 0x12d4 + int32_t heal_pct; // 0x12d8 + int32_t creep_heal_pct; // 0x12dc + int32_t iCurrentAttacksAtMinInterval; // 0x12e0 + float stack_decay_time; // 0x12e4 + float max_drum_hit_interval; // 0x12e8 + float min_drum_hit_interval; // 0x12ec + GameTime_t m_flLastStackChangeTime; // 0x12f0 + GameTime_t m_flLastDrumHitTime; // 0x12f4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Beastmaster_DrumsOfSlom_Aura : public CDOTA_Buff { public: @@ -17738,7 +17788,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_5_Aura : public CDOTA_Buff { public: @@ -17746,15 +17796,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_5 : public CDOTA_Buff { public: - int32_t bonus_ms; // 0x12b8 + int32_t bonus_ms; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_6_Aura : public CDOTA_Buff { public: @@ -17762,57 +17812,66 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_6 : public CDOTA_Buff { public: - int32_t bonus_hp; // 0x12b8 + int32_t bonus_hp; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_QueenOfPain_ScreamOfPain_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x12b8 + Vector m_vOriginal; // 0x12c8 }; // Alignment: 7 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_QueenOfPain_ShadowStrike : public CDOTA_Buff { public: - int32_t duration_damage; // 0x12b8 - int32_t duration_heal; // 0x12bc - int32_t movement_slow; // 0x12c0 + int32_t duration_damage; // 0x12c8 + int32_t duration_heal; // 0x12cc + int32_t movement_slow; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CountdownTimer m_SlowInterval; // 0x12c8 - float m_flSlowStep; // 0x12e0 - float m_flSlowStepStep; // 0x12e4 - float attack_buff_duration; // 0x12e8 + CountdownTimer m_SlowInterval; // 0x12d8 + float m_flSlowStep; // 0x12f0 + float m_flSlowStepStep; // 0x12f4 + float attack_buff_duration; // 0x12f8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_QueenOfPain_Arcana : public CDOTA_Buff { public: - 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 + bool m_bIsMeleeAttack; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12f8 +class CDOTA_Modifier_QueenOfPain_SonicWave_Knockback : public CDOTA_Modifier_Knockback +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_QueenOfPain_SonicWave_Damage : public CDOTA_Buff +{ +public: + float m_flDamagePerTick; // 0x12c8 + int32_t m_nCurrentTick; // 0x12cc + int32_t m_nTotalTicks; // 0x12d0 +}; + +// Alignment: 0 +// Size: 0x12c8 class CDOTA_Modifier_QueenOfPain_SonicWave_Effect : public CDOTA_Buff { public: @@ -17820,7 +17879,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_QueenOfPain_SonicWave_Delay : public CDOTA_Buff { public: @@ -17828,7 +17887,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_QueenOfPain_Arcana_Kill_Effect : public CDOTA_Buff { public: @@ -17836,39 +17895,39 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Venomancer_VenomousGale : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 - int32_t tick_damage; // 0x12bc - float tick_interval; // 0x12c0 - float duration; // 0x12c4 + int32_t movement_slow; // 0x12c8 + int32_t tick_damage; // 0x12cc + float tick_interval; // 0x12d0 + float duration; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Venomancer_PoisonSting_Applier : public CDOTA_Buff { public: - float duration; // 0x12b8 - int32_t damage; // 0x12bc + float duration; // 0x12c8 + int32_t damage; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Venomancer_PoisonStingBase : public CDOTA_Buff { public: - 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 + int32_t m_iDamage; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t m_nTicksRemaining; // 0x12d0 + float m_flAttackDamage; // 0x12d4 + int32_t hp_regen_reduction; // 0x12d8 }; // Alignment: 0 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Venomancer_PoisonSting : public CDOTA_Modifier_Venomancer_PoisonStingBase { public: @@ -17876,36 +17935,36 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Venomancer_PoisonStingWard : public CDOTA_Buff { public: - 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 + int32_t m_iDamage; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t hp_regen_reduction; // 0x12d0 + int32_t m_nTicksRemaining; // 0x12d4 + float m_flAttackDamage; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Plague_Wards_Bonus : public CDOTA_Buff { public: - int32_t ward_hp; // 0x12b8 - int32_t ward_damage; // 0x12bc + int32_t ward_hp; // 0x12c8 + int32_t ward_damage; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Plague_Wards_Bonus_Range : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_PoisonNova_Intrinsic : public CDOTA_Buff { public: @@ -17913,95 +17972,95 @@ public: }; // Alignment: 7 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_PoisonNova_Thinker : public CDOTA_Buff { public: - 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 + float m_fCurRadius; // 0x12c8 + GameTime_t m_fLastThink; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x12d0 + int32_t speed; // 0x12e8 + int32_t radius; // 0x12ec + int32_t start_radius; // 0x12f0 + float duration; // 0x12f4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Venomancer_PoisonNova : public CDOTA_Buff { public: - float damage; // 0x12b8 - float magic_resist; // 0x12bc + float damage; // 0x12c8 + float magic_resist; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Venomancer_NoxiousPlaguePrimary : public CDOTA_Buff { public: - float health_damage; // 0x12b8 - float debuff_radius; // 0x12bc + float health_damage; // 0x12c8 + float debuff_radius; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Venomancer_NoxiousPlague_Slow : public CDOTA_Buff { public: - float attack_slow; // 0x12b8 - float movement_slow_max; // 0x12bc - float debuff_radius; // 0x12c0 + float attack_slow; // 0x12c8 + float movement_slow_max; // 0x12cc + float debuff_radius; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Venomancer_NoxiousPlagueSecondary : public CDOTA_Buff { public: - float health_damage; // 0x12b8 - float attack_slow; // 0x12bc - float movement_slow_max; // 0x12c0 + float health_damage; // 0x12c8 + float attack_slow; // 0x12cc + float movement_slow_max; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Venomancer_Latent_Poison : public CDOTA_Buff { public: - int32_t duration_damage; // 0x12b8 - int32_t movement_slow; // 0x12bc - int32_t explosion_damage; // 0x12c0 - float explosion_stun_duration; // 0x12c4 + int32_t duration_damage; // 0x12c8 + int32_t movement_slow; // 0x12cc + int32_t explosion_damage; // 0x12d0 + float explosion_stun_duration; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FacelessVoid_Backtrack : public CDOTA_Buff { public: - int32_t dodge_chance_pct; // 0x12b8 + int32_t dodge_chance_pct; // 0x12c8 }; // Alignment: 10 -// Size: 0x1318 +// Size: 0x1328 class CDOTA_Modifier_FacelessVoid_TimeLock : public CDOTA_Buff { public: - 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 + float duration; // 0x12c8 + float duration_creep; // 0x12cc + float delay; // 0x12d0 + int32_t chance_pct; // 0x12d4 + int32_t bonus_damage; // 0x12d8 + GameTime_t last_attack_time; // 0x12dc + CUtlVector< int16 > m_ProcAttackRecords; // 0x12e0 + GameTime_t apply_activity_modifier_until; // 0x12f8 + GameTime_t disable_activity_modifier_until; // 0x12fc + CUtlOrderedMap< CHandle< C_DOTA_BaseNPC >, int32, F( size=1 ) > m_mapTargets; // 0x1300 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FacelessVoid_TimeLock_Freeze : public CDOTA_Modifier_Stunned { public: @@ -18009,7 +18068,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FacelessVoid_Timelock_TimeWalk_Proc_Marker : public CDOTA_Buff { public: @@ -18017,7 +18076,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FacelessVoid_Timelock_Basic_Proc_Marker : public CDOTA_Buff { public: @@ -18025,7 +18084,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FacelessVoid_TimeDilation_Slowmo : public CDOTA_Buff { public: @@ -18033,30 +18092,30 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FacelessVoid_TimeDilation_Distortion : public CDOTA_Buff { public: - float slow_distance_min; // 0x12b8 - float slow_distance_max; // 0x12bc + float slow_distance_min; // 0x12c8 + float slow_distance_max; // 0x12cc }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_FacelessVoid_TimeDilation_Slow : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t m_nAffectedAbilities; // 0x12cc + GameTime_t m_flLastDamageTime; // 0x12d0 + int32_t slow; // 0x12d4 + int32_t cooldown_percentage; // 0x12d8 + int32_t damage_per_stack; // 0x12dc + int32_t base_damage; // 0x12e0 }; // Alignment: 0 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_FacelessVoid_TimeWalk_Tracker : public CDOTA_Buff { public: @@ -18064,35 +18123,35 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_FacelessVoid_TimeWalk_ShardBuff : public CDOTA_Buff { public: - Vector m_vStartLocation; // 0x12b8 + Vector m_vStartLocation; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_FacelessVoid_TimeLock_ForceProc : public CDOTA_Buff { public: - float duration; // 0x12b8 - float duration_creep; // 0x12bc - int32_t bonus_damage; // 0x12c0 - float delay; // 0x12c4 - CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x12c8 + float duration; // 0x12c8 + float duration_creep; // 0x12cc + int32_t bonus_damage; // 0x12d0 + float delay; // 0x12d4 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FacelessVoid_TimeWalk_Slow : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x12b8 + int32_t movement_speed_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FacelessVoid_TimeWalk : public CDOTA_Buff { public: @@ -18100,15 +18159,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FacelessVoid_Chronosphere : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FacelessVoid_ArcanaDamageRouter : public CDOTA_Buff { public: @@ -18116,7 +18175,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FacelessVoid_Chronosphere_Freeze : public CDOTA_Buff { public: @@ -18124,23 +18183,23 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FacelessVoid_Chronosphere_SelfBuff : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FacelessVoid_Chronosphere_Speed : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FacelessVoid_Arcana : public CDOTA_Buff { public: @@ -18148,23 +18207,23 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FacelessVoid_Arcana_Kill_Effect : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x12b8 + ParticleIndex_t m_nCasterFXIndex; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DeathProphet_CryptSwarm_Slow : public CDOTA_Buff { public: - int32_t slow_percent; // 0x12b8 + int32_t slow_percent; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DeathProphet_Silence : public CDOTA_Buff { public: @@ -18172,7 +18231,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DeathProphet_Silence_Debuff : public CDOTA_Buff { public: @@ -18180,15 +18239,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DeathProphet_Witchcraft : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_movement_speed; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -18196,47 +18255,47 @@ public: }; // Alignment: 14 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_DeathProphet_SpiritSiphon : public CDOTA_Buff { public: - 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 + float flSmoothness; // 0x12c8 + float damage; // 0x12cc + float damage_pct; // 0x12d0 + int32_t drain_range; // 0x12d4 + float haunt_duration; // 0x12d8 + int32_t siphon_buffer; // 0x12dc + int32_t movement_steal; // 0x12e0 + CHandle< C_BaseEntity > m_hTarget; // 0x12e4 + ParticleIndex_t m_iLinkIndex; // 0x12e8 + int32_t m_nSelfBuffSerialNumber; // 0x12ec + int32_t m_nTargetDebuffSerialNumber; // 0x12f0 + bool m_bAppliedFear; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - float shard_fear_duration; // 0x12e8 - float shard_consecutive_siphon_duration; // 0x12ec + float shard_fear_duration; // 0x12f8 + float shard_consecutive_siphon_duration; // 0x12fc }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x12b8 + Vector m_vOriginal; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Slow : public CDOTA_Buff { public: - int32_t movement_steal; // 0x12b8 + int32_t movement_steal; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Buff : public CDOTA_Buff { public: @@ -18244,7 +18303,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Debuff : public CDOTA_Buff { public: @@ -18252,65 +18311,65 @@ public: }; // Alignment: 18 -// Size: 0x1318 +// Size: 0x1328 class CDOTA_Modifier_DeathProphet_Exorcism : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t spirit_speed; // 0x12cc + int32_t max_distance; // 0x12d0 + int32_t give_up_distance; // 0x12d4 + int32_t min_damage; // 0x12d8 + int32_t max_damage; // 0x12dc + int32_t heal_percent; // 0x12e0 + int32_t spirit_duration; // 0x12e4 + float ghost_spawn_rate; // 0x12e8 + int32_t movement_bonus; // 0x12ec + int32_t m_iSpirits; // 0x12f0 + GameTime_t m_fStartTime; // 0x12f4 + GameTime_t m_fLastThinkTime; // 0x12f8 + GameTime_t m_fSpawnTime; // 0x12fc + bool m_bFirstSpawn; // 0x1300 + bool m_bCommentedOnExpired; // 0x1301 + bool m_bForceExpired; // 0x1302 private: - [[maybe_unused]] uint8_t __pad12f3[0x5]; // 0x12f3 + [[maybe_unused]] uint8_t __pad1303[0x5]; // 0x1303 public: - CUtlVector< sSpiritInfo* > m_vecSpirits; // 0x12f8 + CUtlVector< sSpiritInfo* > m_vecSpirits; // 0x1308 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DeathProphet_Slow : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x12b8 + int32_t speed_bonus; // 0x12c8 }; // Alignment: 12 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_DeathProphet_Scepter : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t spirit_speed; // 0x12cc + int32_t max_distance; // 0x12d0 + int32_t give_up_distance; // 0x12d4 + int32_t min_damage; // 0x12d8 + int32_t max_damage; // 0x12dc + int32_t heal_percent; // 0x12e0 + int32_t spirit_duration; // 0x12e4 + GameTime_t m_fStartTime; // 0x12e8 + GameTime_t m_fLastThinkTime; // 0x12ec + bool m_bExpired; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x7]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x7]; // 0x12f1 public: - sSpiritInfo* m_SpiritInfo; // 0x12e8 + sSpiritInfo* m_SpiritInfo; // 0x12f8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Death_Prophet_Slow : public CDOTA_Buff { public: @@ -18318,7 +18377,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Death_Prophet_Attack_Scepter : public CDOTA_Buff { public: @@ -18326,7 +18385,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Pugna_NetherBlast_Thinker : public CDOTA_Buff { public: @@ -18334,75 +18393,75 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Pugna_Decrepify : public CDOTA_Buff { public: - 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 + int32_t bonus_spell_damage_pct; // 0x12c8 + int32_t bonus_heal_amp_pct_allies; // 0x12cc + int32_t bonus_movement_speed; // 0x12d0 + int32_t bonus_movement_speed_allies; // 0x12d4 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t radius; // 0x12c8 + float mana_multiplier; // 0x12cc + float mana_drained_per_attack; // 0x12d0 + int32_t attacks_to_destroy; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pugna_NetherWard_Aura : public CDOTA_Buff { public: - float mana_regen; // 0x12b8 - float spell_damage_reduction; // 0x12bc + float mana_regen; // 0x12c8 + float spell_damage_reduction; // 0x12cc }; // Alignment: 16 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Pugna_LifeDrain : public CDOTA_Buff { public: - int32_t health_drain; // 0x12b8 - int32_t ally_healing; // 0x12bc - float tick_rate; // 0x12c0 - bool m_bDoRangeCheck; // 0x12c4 + int32_t health_drain; // 0x12c8 + int32_t ally_healing; // 0x12cc + float tick_rate; // 0x12d0 + bool m_bDoRangeCheck; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - ParticleIndex_t m_nFXIndex; // 0x12c8 - GameTime_t m_flElapsedTime; // 0x12cc - bool m_bPrimary; // 0x12d0 - bool m_bShard; // 0x12d1 - bool m_bFromWard; // 0x12d2 + ParticleIndex_t m_nFXIndex; // 0x12d8 + GameTime_t m_flElapsedTime; // 0x12dc + bool m_bPrimary; // 0x12e0 + bool m_bShard; // 0x12e1 + bool m_bFromWard; // 0x12e2 private: - [[maybe_unused]] uint8_t __pad12d3[0x1]; // 0x12d3 + [[maybe_unused]] uint8_t __pad12e3[0x1]; // 0x12e3 public: - 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 + CHandle< C_BaseEntity > m_hWard; // 0x12e4 + float spell_amp_drain_duration; // 0x12e8 + int32_t max_spell_amp_drain_pct; // 0x12ec + int32_t spell_amp_drain_rate; // 0x12f0 + int32_t spell_amp_drain_rate_ward; // 0x12f4 + int32_t spell_amp_drain_max; // 0x12f8 + int32_t health_to_mana_rate; // 0x12fc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pugna_LifeDrain_SpellAmp : public CDOTA_Buff { public: - bool m_bIsFriendly; // 0x12b8 + bool m_bIsFriendly; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Phantom_Assassin_GroundDagger : public CDOTA_Buff { public: @@ -18410,40 +18469,40 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PhantomAssassin_StiflingDagger_Caster : public CDOTA_Buff { public: - int32_t base_damage; // 0x12b8 - int32_t attack_factor; // 0x12bc + int32_t base_damage; // 0x12c8 + int32_t attack_factor; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PhantomAssassin_StiflingDagger : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 + int32_t move_slow; // 0x12c8 }; // Alignment: 9 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_PhantomAssassin_Fan_Of_Knives_Thinker : public CDOTA_Buff { public: - 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 + float m_fCurRadius; // 0x12c8 + GameTime_t m_fLastThink; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x12d0 + CountdownTimer m_ViewerTimer; // 0x12e8 + int32_t projectile_speed; // 0x1300 + int32_t radius; // 0x1304 + float duration; // 0x1308 + float pct_health_damage_initial; // 0x130c + float max_damage_initial; // 0x1310 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_PhantomAssassin_Fan_Of_Knives : public CDOTA_Buff { public: @@ -18451,51 +18510,51 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_PhantomAssassin_PhantomStrike : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t lifesteal_pct; // 0x12bc - int32_t creep_lifesteal_penalty; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c8 + int32_t lifesteal_pct; // 0x12cc + int32_t creep_lifesteal_penalty; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PhantomAssassin_Blur : public CDOTA_Buff { public: - int32_t bonus_evasion; // 0x12b8 + int32_t bonus_evasion; // 0x12c8 }; // Alignment: 4 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_PhantomAssassin_BlurActive : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x12c8 - float fade_duration; // 0x12cc - float scepter_fade_duration; // 0x12d0 - bool m_bDestroyNext; // 0x12d4 + int32_t radius; // 0x12d8 + float fade_duration; // 0x12dc + float scepter_fade_duration; // 0x12e0 + bool m_bDestroyNext; // 0x12e4 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_PhantomAssassin_CoupdeGrace : public CDOTA_Buff { public: - int32_t crit_bonus; // 0x12b8 - int32_t crit_chance; // 0x12bc - int32_t dagger_crit_chance; // 0x12c0 - bool crit_active; // 0x12c4 + int32_t crit_bonus; // 0x12c8 + int32_t crit_chance; // 0x12cc + int32_t dagger_crit_chance; // 0x12d0 + bool crit_active; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - float duration; // 0x12c8 + float duration; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_PhantomAssassin_MarkOfDeath : public CDOTA_Buff { public: @@ -18503,28 +18562,28 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t m_nEpitaph; // 0x12c8 + PlayerID_t m_nVictimPlayerID; // 0x12cc + int32_t m_nVictimHeroID; // 0x12d0 + int32_t m_nCritDmg; // 0x12d4 + int32_t m_nContractComplete; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PhantomAssassin_Gravestone : public CDOTA_Buff { public: - int32_t m_nFXIndex; // 0x12b8 - bool m_bContractGravestoneComplete; // 0x12bc + int32_t m_nFXIndex; // 0x12c8 + bool m_bContractGravestoneComplete; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_PhantomAssassin_ScreenSplatter : public CDOTA_Buff { public: @@ -18532,74 +18591,74 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_TemplarAssassin_RefractionDamage : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 - int32_t bonus_damage; // 0x12d0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + int32_t bonus_damage; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_TemplarAssassin_RefractionAbsorb : public CDOTA_Buff { public: - int32_t damage_threshold; // 0x12b8 + int32_t damage_threshold; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_TemplarAssassin_Meld_Animation : public CDOTA_Buff { public: - bool launched_attack; // 0x12b8 + bool launched_attack; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_TemplarAssassin_Meld : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - bool launched_attack; // 0x12bc + int32_t bonus_damage; // 0x12c8 + bool launched_attack; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - CHandle< C_BaseEntity > m_hTarget; // 0x12c0 - int32_t m_nAttackRecord; // 0x12c4 + CHandle< C_BaseEntity > m_hTarget; // 0x12d0 + int32_t m_nAttackRecord; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_TemplarAssassin_MeldArmor : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_TemplarAssassin_PsiBlades : public CDOTA_Buff { public: - 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 + int32_t bonus_attack_range; // 0x12c8 + float attack_spill_range; // 0x12cc + int32_t attack_spill_width; // 0x12d0 + int32_t attack_spill_pct; // 0x12d4 + int32_t attack_spill_penalty; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_TemplarAssassin_PsiBlades_Slow : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TemplarAssassin_PsionicTrap_Counter : public CDOTA_Buff { public: @@ -18607,84 +18666,84 @@ public: }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_TemplarAssassin_Trap : public CDOTA_Modifier_Invisible { public: - int32_t bonus_vision; // 0x12c8 + int32_t bonus_vision; // 0x12d8 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_TemplarAssassin_Trap_Slow : public CDOTA_Buff { public: - 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 + int32_t movement_speed_min; // 0x12c8 + int32_t movement_speed_max; // 0x12cc + float trap_max_charge_duration; // 0x12d0 + float min_silence_duration; // 0x12d4 + float max_silence_duration; // 0x12d8 + float stage; // 0x12dc + float flDamagePerTick; // 0x12e0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_TemplarAssassin_Refraction_Holdout : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t damage_absorb; // 0x12bc - float m_flDamageAbsorbed; // 0x12c0 + int32_t bonus_damage; // 0x12c8 + int32_t damage_absorb; // 0x12cc + float m_flDamageAbsorbed; // 0x12d0 }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Viper_PoisonAttack : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Viper_PoisonAttack_Slow : public CDOTA_Buff { public: - 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 + float damage; // 0x12c8 + int32_t shard_armor_reduction; // 0x12cc + int32_t shard_building_dmg_pct; // 0x12d0 + int32_t movement_speed; // 0x12d4 + int32_t magic_resistance; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Viper_Nethertoxin_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Viper_Nethertoxin : public CDOTA_Buff { public: - int32_t min_damage; // 0x12b8 - int32_t max_damage; // 0x12bc - float max_duration; // 0x12c0 - float m_flDamageInterval; // 0x12c4 - float m_flTimeIncrement; // 0x12c8 + int32_t min_damage; // 0x12c8 + int32_t max_damage; // 0x12cc + float max_duration; // 0x12d0 + float m_flDamageInterval; // 0x12d4 + float m_flTimeIncrement; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Viper_NethertoxinMute : public CDOTA_Buff { public: @@ -18692,69 +18751,69 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Viper_CorrosiveSkin : public CDOTA_Buff { public: - int32_t bonus_magic_resistance; // 0x12b8 + int32_t bonus_magic_resistance; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Viper_BecomeUniversal : public CDOTA_Buff { public: - int32_t bonus_magic_resistance; // 0x12b8 - int32_t is_universal; // 0x12bc + int32_t bonus_magic_resistance; // 0x12c8 + int32_t is_universal; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Viper_CorrosiveSkin_Slow : public CDOTA_Buff { public: - 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 + int32_t bonus_attack_speed; // 0x12c8 + int32_t damage; // 0x12cc + int32_t effect_multiplier_distance; // 0x12d0 + int32_t effect_multiplier; // 0x12d4 + bool m_bEffectMultiplied; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Viper_ViperStrike_Slow : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc - int32_t damage; // 0x12c0 + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t damage; // 0x12d0 }; // Alignment: 8 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Viper_Nose_Dive : public CDOTA_Buff { public: - 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 + Vector m_vTargetPos; // 0x12c8 + Vector m_vStart; // 0x12d4 + float m_flZDelta; // 0x12e0 + int32_t radius; // 0x12e4 + int32_t corrosive_radius; // 0x12e8 + float effect_duration; // 0x12ec + int32_t dive_speed; // 0x12f0 + float start_height; // 0x12f4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Viper_Nose_Dive_Effect : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 + int32_t movespeed_slow; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Luna_LucentBeam_Damage_Buff_Counter : public CDOTA_Buff { public: @@ -18762,199 +18821,199 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Luna_LucentBeam_Damage_Buff : public CDOTA_Buff { public: - int32_t damage_buff_per_beam; // 0x12b8 + int32_t damage_buff_per_beam; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Luna_MoonGlaive : public CDOTA_Buff { public: - int32_t range; // 0x12b8 - int32_t bounces; // 0x12bc - int32_t damage_reduction_percent; // 0x12c0 - ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x12c4 -}; - -// Alignment: 6 -// 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 + int32_t range; // 0x12c8 + int32_t bounces; // 0x12cc + int32_t damage_reduction_percent; // 0x12d0 + ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x12d4 }; // Alignment: 6 // Size: 0x12e0 +class CDOTA_Modifier_Luna_MoonGlaive_Shield : public CDOTA_Buff +{ +public: + int32_t rotating_glaives; // 0x12c8 + float rotating_glaives_hit_radius; // 0x12cc + float rotating_glaives_speed; // 0x12d0 + float rotating_glaives_collision_damage; // 0x12d4 + float rotating_glaives_movement_radius; // 0x12d8 + float rotating_glaives_damage_reduction; // 0x12dc +}; + +// Alignment: 6 +// Size: 0x12f0 class CDOTA_Modifier_Luna_LunarBlessing_Smoke : public CDOTA_Modifier_Invisible { public: - 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 + int32_t bonus_speed_day; // 0x12d8 + int32_t bonus_speed_night; // 0x12dc + int32_t break_distance_day; // 0x12e0 + int32_t break_distance_night; // 0x12e4 + int32_t visibility_radius; // 0x12e8 + int32_t bonus_movement_speed; // 0x12ec }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Luna_LunarBlessing : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t bonus_night_vision; // 0x12bc + int32_t radius; // 0x12c8 + int32_t bonus_night_vision; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Luna_LunarBlessingAura : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t bonus_damage_self; // 0x12bc + int32_t bonus_damage; // 0x12c8 + int32_t bonus_damage_self; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Luna_LunarBlessing_Active : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 + int32_t attack_speed; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Luna_Lunar_Grace : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 - float night_multiplier; // 0x12bc + int32_t attack_speed; // 0x12c8 + float night_multiplier; // 0x12cc }; // Alignment: 13 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Luna_Eclipse : public CDOTA_Buff { public: - 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 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + int32_t radius; // 0x12cc + int32_t beams; // 0x12d0 + int32_t hit_count; // 0x12d4 + int32_t m_iBeamDamage; // 0x12d8 + float beam_interval; // 0x12dc + float stun_duration; // 0x12e0 + Vector vPosition; // 0x12e4 + bool bAreaTarget; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - int32_t m_iTickCount; // 0x12e4 - ParticleIndex_t m_nMoonlightFXIndex; // 0x12e8 + int32_t m_iTickCount; // 0x12f4 + ParticleIndex_t m_nMoonlightFXIndex; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec + [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc public: - CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x12f0 - float m_flBeamStun; // 0x1308 + CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x1300 + float m_flBeamStun; // 0x1318 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DragonKnight_BreatheFire_Reduction : public CDOTA_Buff { public: - int32_t reduction; // 0x12b8 + int32_t reduction; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DragonKnight_DragonBlood_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DragonKnight_DragonBlood : public CDOTA_Buff { public: - int32_t bonus_health_regen; // 0x12b8 - int32_t bonus_armor; // 0x12bc + int32_t bonus_health_regen; // 0x12c8 + int32_t bonus_armor; // 0x12cc }; // Alignment: 10 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_DragonKnight_DragonForm : public CDOTA_Buff { public: - 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 + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_attack_damage; // 0x12cc + int32_t bonus_attack_range; // 0x12d0 + int32_t attack_projectile_speed_bonus; // 0x12d4 + int32_t magic_resistance; // 0x12d8 + int32_t model_scale; // 0x12dc + int32_t iLevel; // 0x12e0 + int32_t m_iOriginalAttackCapabilities; // 0x12e4 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12e8 + int32_t bonus_slow_resistance; // 0x12f0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DragonKnight_CorrosiveBreath : public CDOTA_Buff { public: - float corrosive_breath_duration; // 0x12b8 + float corrosive_breath_duration; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DragonKnight_CorrosiveBreathDoT : public CDOTA_Buff { public: - int32_t corrosive_breath_damage; // 0x12b8 + int32_t corrosive_breath_damage; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_DragonKnight_SplashAttack : public CDOTA_Buff { public: - int32_t splash_radius; // 0x12b8 - int32_t splash_damage_percent; // 0x12bc - float corrosive_breath_duration; // 0x12c0 + int32_t splash_radius; // 0x12c8 + int32_t splash_damage_percent; // 0x12cc + float corrosive_breath_duration; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DragonKnight_FrostBreath : public CDOTA_Buff { public: - float frost_duration; // 0x12b8 - float frost_aoe; // 0x12bc + float frost_duration; // 0x12c8 + float frost_aoe; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DragonKnight_FrostBreath_Slow : public CDOTA_Buff { public: - int32_t frost_bonus_movement_speed; // 0x12b8 - int32_t frost_bonus_attack_speed; // 0x12bc + int32_t frost_bonus_movement_speed; // 0x12c8 + int32_t frost_bonus_attack_speed; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DragonKnight_BlackDragon_Tooltip : public CDOTA_Buff { public: @@ -18962,214 +19021,214 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DragonKnight_Fireball_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float linger_duration; // 0x12bc + int32_t radius; // 0x12c8 + float linger_duration; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DragonKnight_Fireball_Burn : public CDOTA_Buff { public: - float burn_interval; // 0x12b8 - int32_t damage; // 0x12bc + float burn_interval; // 0x12c8 + int32_t damage; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Dazzle_Good_Juju : public CDOTA_Buff { public: - float cooldown_reduction; // 0x12b8 - float item_cooldown_reduction; // 0x12bc - float duration; // 0x12c0 - int32_t radius; // 0x12c4 + float cooldown_reduction; // 0x12c8 + float item_cooldown_reduction; // 0x12cc + float duration; // 0x12d0 + int32_t radius; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dazzle_Bad_Juju_Manacost : public CDOTA_Buff { public: - float mana_cost_increase_duration; // 0x12b8 + float mana_cost_increase_duration; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dazzle_Bad_Juju_Armor_Counter : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - float armor_reduction; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c8 + float armor_reduction; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dazzle_Bad_Juju_Armor : public CDOTA_Buff { public: - float armor_reduction; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + float armor_reduction; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Dazzle_Rain_Of_Vermin : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float interval; // 0x12bc - float hex_chance; // 0x12c0 - float hex_duration; // 0x12c4 - int32_t damage; // 0x12c8 + int32_t radius; // 0x12c8 + float interval; // 0x12cc + float hex_chance; // 0x12d0 + float hex_duration; // 0x12d4 + int32_t damage; // 0x12d8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Dazzle_Poison_Touch : public CDOTA_Buff { public: - 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 + int32_t slow; // 0x12c8 + float bonus_slow; // 0x12cc + int32_t bonus_damage; // 0x12d0 + float flAccummulatedBonusSlow; // 0x12d4 + int32_t iAccummulatedBonusDamage; // 0x12d8 + int32_t attack_range_bonus; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dazzle_Poison_Touch_Self : public CDOTA_Buff { public: - int32_t attack_range_bonus; // 0x12b8 + int32_t attack_range_bonus; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dazzle_Shallow_Grave : public CDOTA_Buff { public: - int32_t heal_amplify; // 0x12b8 + int32_t heal_amplify; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dazzle_Weave_Armor : public CDOTA_Buff { public: - float armor_per_second; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + float armor_per_second; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Leshrac_Split_Earth_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t m_iCount; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Leshrac_Diabolic_Edict : public CDOTA_Buff { public: - int32_t num_explosions; // 0x12b8 - int32_t radius; // 0x12bc - float m_fExplosions; // 0x12c0 - float tower_bonus; // 0x12c4 - bool m_bTalentActive; // 0x12c8 + int32_t num_explosions; // 0x12c8 + int32_t radius; // 0x12cc + float m_fExplosions; // 0x12d0 + float tower_bonus; // 0x12d4 + bool m_bTalentActive; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Leshrac_Lightning_Storm_Scepter_Thinker : public CDOTA_Buff { public: - float pulse_nova_lightning_interval; // 0x12b8 - int32_t radius; // 0x12bc + float pulse_nova_lightning_interval; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Leshrac_Lightning_Storm : public CDOTA_Buff { public: - 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 + int32_t damage; // 0x12c8 + int32_t radius; // 0x12cc + int32_t jump_count; // 0x12d0 + float slow_duration; // 0x12d4 + float jump_delay; // 0x12d8 + CHandle< C_BaseEntity > hInitialTarget; // 0x12dc + float m_flDamage; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Leshrac_Lightning_Storm_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x12b8 + int32_t slow_movement_speed; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Leshrac_Decrepify_Aura : public CDOTA_Buff { public: - int32_t magic_amp; // 0x12b8 - int32_t slow; // 0x12bc + int32_t magic_amp; // 0x12c8 + int32_t slow; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Leshrac_Decrepify : public CDOTA_Buff { public: - int32_t magic_amp; // 0x12b8 - int32_t slow; // 0x12bc + int32_t magic_amp; // 0x12c8 + int32_t slow; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Leshrac_Greater_Lightning_Storm : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float interval; // 0x12bc + int32_t radius; // 0x12c8 + float interval; // 0x12cc }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Leshrac_Pulse_Nova : public CDOTA_Buff { public: - bool m_bFirst; // 0x12b8 + bool m_bFirst; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0xb]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0xb]; // 0x12c9 public: - int32_t damage_resistance; // 0x12c4 - int32_t bonus_movespeed; // 0x12c8 + int32_t damage_resistance; // 0x12d4 + int32_t bonus_movespeed; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Rattletrap_Overclocking : public CDOTA_Buff { public: - ParticleIndex_t m_nOverclockFX; // 0x12b8 - int32_t bonus_movement_speed; // 0x12bc - int32_t bonus_attack_speed; // 0x12c0 + ParticleIndex_t m_nOverclockFX; // 0x12c8 + int32_t bonus_movement_speed; // 0x12cc + int32_t bonus_attack_speed; // 0x12d0 }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rattletrap_BatteryAssault : public CDOTA_Buff { public: @@ -19177,25 +19236,25 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rattletrap_Cog_Barrier : public CDOTA_Buff { public: - int32_t magic_barrier; // 0x12b8 - int32_t m_nAbsorbRemaining; // 0x12bc + int32_t magic_barrier; // 0x12c8 + int32_t m_nAbsorbRemaining; // 0x12cc }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Rattletrap_Cog_Thinker : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x12b8 - int32_t extra_pull_buffer; // 0x12bc + int32_t cogs_radius; // 0x12c8 + int32_t extra_pull_buffer; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rattletrap_Cog_Marker : public CDOTA_Buff { public: @@ -19203,33 +19262,33 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Leash : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x12b8 - int32_t extra_pull_buffer; // 0x12bc + int32_t cogs_radius; // 0x12c8 + int32_t extra_pull_buffer; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rattletrap_Cog_Leash : public CDOTA_Buff { public: - int32_t leash; // 0x12b8 + int32_t leash; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Talent : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x12b8 - int32_t extra_pull_buffer; // 0x12bc + int32_t cogs_radius; // 0x12c8 + int32_t extra_pull_buffer; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rattletrap_Cog_Immune : public CDOTA_Modifier_DebuffImmune { public: @@ -19237,16 +19296,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Self_Bonuses : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x12b8 - int32_t extra_pull_buffer; // 0x12bc + int32_t cogs_radius; // 0x12c8 + int32_t extra_pull_buffer; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rattletrap_Cog_Self_Bonuses : public CDOTA_Buff { public: @@ -19254,127 +19313,127 @@ public: }; // Alignment: 9 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Rattletrap_Cog : public CDOTA_Buff { public: - bool m_bEnabled; // 0x12b8 + bool m_bEnabled; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + int32_t trigger_distance; // 0x12cc + int32_t push_length; // 0x12d0 + float push_duration; // 0x12d4 + int32_t cogs_radius; // 0x12d8 + int32_t attacks_to_destroy; // 0x12dc + int32_t m_iCogIndex; // 0x12e0 + ParticleIndex_t m_nFXIndex; // 0x12e4 + Vector vCenter; // 0x12e8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Rattletrap_CogPush : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x12b8 - int32_t push_length; // 0x12bc - float push_duration; // 0x12c0 + GameTime_t m_flStartTime; // 0x12c8 + int32_t push_length; // 0x12cc + float push_duration; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rattletrap_RocketFlare_Slow : public CDOTA_Buff { public: - float slow_pct; // 0x12b8 + float slow_pct; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Clockwerk_RocketFlare_Thinker : public CDOTA_Buff { public: - 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 radius; // 0x12c8 float duration; // 0x12cc }; -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Furion_Sprout_Damage_Aura : public CDOTA_Buff +// Alignment: 2 +// Size: 0x12d8 +class CDOTA_Modifier_Rattletrap_RocketFlare : public CDOTA_Buff +{ +private: + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 +public: + int32_t projectile_vision_radius; // 0x12d0 + float projectile_vision_duration; // 0x12d4 +}; + +// Alignment: 6 +// Size: 0x12e8 +class CDOTA_Modifier_Rattletrap_RocketFlare_Overclock : public CDOTA_Buff { public: - // No members available + float rocket_flare_interval; // 0x12c8 + int32_t rocket_flare_offset_pct; // 0x12cc + int32_t rocket_flare_rockets; // 0x12d0 + int32_t m_nRocketsFired; // 0x12d4 + int32_t radius; // 0x12d8 + Vector m_vOriginalTarget; // 0x12dc +}; + +// Alignment: 11 +// Size: 0x1348 +class CDOTA_Modifier_Rattletrap_JetPack : public CDOTA_Buff +{ +public: + int32_t m_nMovementSpeed; // 0x12c8 + int32_t bonus_speed; // 0x12cc + float turn_rate; // 0x12d0 + GameTime_t m_flStartTime; // 0x12d4 + float tick_interval; // 0x12d8 + float m_flFacingTarget; // 0x12dc + ParticleIndex_t m_nFXIndex; // 0x12e0 +private: + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 +public: + CUtlVector< float32 > m_flTurnHistory; // 0x12e8 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1300 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1318 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1330 +}; + +// Alignment: 4 +// Size: 0x12e0 +class CDOTA_Modifier_Rattletrap_Hookshot : public CDOTA_Buff +{ +private: + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 +public: + int32_t speed; // 0x12d0 + float stun_radius; // 0x12d4 + float damage; // 0x12d8 + float duration; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 +class CDOTA_Modifier_Furion_Sprout_Damage_Aura : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXIndex; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 class CDOTA_Modifier_Furion_Sprout_Damage : public CDOTA_Buff { public: - int32_t sprout_damage; // 0x12b8 + int32_t sprout_damage; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_Sprout_Blind_Aura : public CDOTA_Buff { public: @@ -19382,15 +19441,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Furion_Sprout_Blind : public CDOTA_Buff { public: - int32_t blind_pct; // 0x12b8 + int32_t blind_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_Sprout_Tether_Aura : public CDOTA_Buff { public: @@ -19398,7 +19457,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_Sprout_Tether : public CDOTA_Buff { public: @@ -19406,7 +19465,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_Sprout_Marker : public CDOTA_Buff { public: @@ -19414,7 +19473,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_Sprout_Entangle : public CDOTA_Buff { public: @@ -19422,37 +19481,37 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Furion_Arboreal_Might_Attack_Damage : public CDOTA_Buff { public: - float damage_per_stack; // 0x12b8 - int32_t iMaxStacks; // 0x12bc - ParticleIndex_t m_nFXIndex; // 0x12c0 + float damage_per_stack; // 0x12c8 + int32_t iMaxStacks; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Furion_Arboreal_Might_Armor : public CDOTA_Buff { public: - float armor_per_stack; // 0x12b8 + float armor_per_stack; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Furion_WrathOfNature_Thinker : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - int32_t max_targets; // 0x12bc - int32_t damage_percent_add; // 0x12c0 - float jump_delay; // 0x12c4 - int32_t m_iFixedDamage; // 0x12c8 + int32_t damage; // 0x12c8 + int32_t max_targets; // 0x12cc + int32_t damage_percent_add; // 0x12d0 + float jump_delay; // 0x12d4 + int32_t m_iFixedDamage; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_WrathOfNature_Buff : public CDOTA_Buff { public: @@ -19460,7 +19519,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_WrathOfNature_BuffCounter : public CDOTA_Buff { public: @@ -19468,7 +19527,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_WrathOfNature_Spawn : public CDOTA_Buff { public: @@ -19476,121 +19535,121 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Furion_CurseOfTheForest : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t damage_per_tree; // 0x12bc - int32_t slow_per_tree; // 0x12c0 - int32_t m_nSlow; // 0x12c4 + int32_t radius; // 0x12c8 + int32_t damage_per_tree; // 0x12cc + int32_t slow_per_tree; // 0x12d0 + int32_t m_nSlow; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Treant_Bonus : public CDOTA_Buff { public: - int32_t treant_hp_bonus; // 0x12b8 - int32_t treant_damage_bonus; // 0x12bc + int32_t treant_hp_bonus; // 0x12c8 + int32_t treant_damage_bonus; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Treant_Large_Bonus : public CDOTA_Buff { public: - int32_t treant_large_hp_bonus; // 0x12b8 - int32_t treant_large_damage_bonus; // 0x12bc + int32_t treant_large_hp_bonus; // 0x12c8 + int32_t treant_large_damage_bonus; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Life_Stealer_Feast : public CDOTA_Buff { public: - float hp_leech_percent; // 0x12b8 - float hp_damage_percent; // 0x12bc + float hp_leech_percent; // 0x12c8 + float hp_damage_percent; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Life_Stealer_Ghoul_Frenzy : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x12b8 + int32_t attack_speed_bonus; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Life_Stealer_Ghoul_Frenzy_Slow : public CDOTA_Buff { public: - int32_t miss_pct; // 0x12b8 - int32_t movement_slow; // 0x12bc + int32_t miss_pct; // 0x12c8 + int32_t movement_slow; // 0x12cc }; // Alignment: 6 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Life_Stealer_Open_Wounds : public CDOTA_Buff { public: - 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 + int32_t slow_steps[8]; // 0x12c8 + int32_t heal_percent; // 0x12e8 + int32_t m_nDamageTracker; // 0x12ec + int32_t damage_threshold; // 0x12f0 + int32_t spread_radius; // 0x12f4 + int32_t max_health_as_damage_pct; // 0x12f8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Life_Stealer_Infest : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 - int32_t m_nFXIndex; // 0x12bc - float self_regen; // 0x12c0 - int32_t m_nStartingHealth; // 0x12c4 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + int32_t m_nFXIndex; // 0x12cc + float self_regen; // 0x12d0 + int32_t m_nStartingHealth; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Life_Stealer_Infest_Effect : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t bonus_health; // 0x12bc + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_health; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Life_Stealer_Infest_Enemy_Hero : public CDOTA_Buff { public: - float attack_rate_enemy; // 0x12b8 + float attack_rate_enemy; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Life_Stealer_Infest_Creep : public CDOTA_Buff { public: - bool m_bChangedTeams; // 0x12b8 + bool m_bChangedTeams; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Life_Stealer_Assimilate : public CDOTA_Buff { public: - float order_lock_duration; // 0x12b8 - GameTime_t m_fOrderLockDone; // 0x12bc - int32_t m_nFXIndex; // 0x12c0 + float order_lock_duration; // 0x12c8 + GameTime_t m_fOrderLockDone; // 0x12cc + int32_t m_nFXIndex; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Life_Stealer_Assimilate_Effect : public CDOTA_Buff { public: @@ -19598,54 +19657,54 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Life_Stealer_Rage : public CDOTA_Buff { public: - int32_t movement_speed_bonus; // 0x12b8 - int32_t bonus_armor; // 0x12bc + int32_t movement_speed_bonus; // 0x12c8 + int32_t bonus_armor; // 0x12cc }; // Alignment: 4 -// Size: 0x1430 +// Size: 0x1440 class CDOTA_Modifier_DarkSeer_Normal_Punch : public CDOTA_Buff { public: - Vector m_PositionIndex[30]; // 0x12b8 - ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1420 - float m_flDistanceTraveled; // 0x1424 - bool m_bIsValidTarget; // 0x1428 + Vector m_PositionIndex[30]; // 0x12c8 + ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1430 + float m_flDistanceTraveled; // 0x1434 + bool m_bIsValidTarget; // 0x1438 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_DarkSeer_Normal_Punch_Illusion_Thinker : public CDOTA_Buff { public: - Vector m_vecIllusionSpawnPosition; // 0x12b8 - int32_t speed; // 0x12c4 - CHandle< C_BaseEntity > m_hTarget; // 0x12c8 - ParticleIndex_t m_nFXIndex; // 0x12cc + Vector m_vecIllusionSpawnPosition; // 0x12c8 + int32_t speed; // 0x12d4 + CHandle< C_BaseEntity > m_hTarget; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DarkSeer_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x12b8 + float pull_speed; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_IonShell : public CDOTA_Buff { public: - int32_t bonus_health; // 0x12b8 + int32_t bonus_health; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_IonShell_Slow : public CDOTA_Buff { public: @@ -19653,108 +19712,108 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_DarkSeer_Surge : public CDOTA_Buff { public: - int32_t speed_boost; // 0x12b8 - int32_t trail_radius; // 0x12bc - float trail_duration; // 0x12c0 - Vector m_vLastTrailThinkerLocation; // 0x12c4 - bool m_bTrailStarted; // 0x12d0 + int32_t speed_boost; // 0x12c8 + int32_t trail_radius; // 0x12cc + float trail_duration; // 0x12d0 + Vector m_vLastTrailThinkerLocation; // 0x12d4 + bool m_bTrailStarted; // 0x12e0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DarkSeer_Surge_Trail_Thinker : public CDOTA_Buff { public: - int32_t trail_radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t trail_radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_DarkSeer_Surge_Trail : public CDOTA_Buff { public: - int32_t trail_move_slow; // 0x12b8 - int32_t trail_damage; // 0x12bc - float trail_damage_interval; // 0x12c0 + int32_t trail_move_slow; // 0x12c8 + int32_t trail_damage; // 0x12cc + float trail_damage_interval; // 0x12d0 }; // Alignment: 7 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_DarkSeer_WallOfReplica : public CDOTA_Buff { public: - Vector m_vWallDirection; // 0x12b8 - Vector m_vWallRight; // 0x12c4 + Vector m_vWallDirection; // 0x12c8 + Vector m_vWallRight; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12d0[0x18]; // 0x12d0 + [[maybe_unused]] uint8_t __pad12e0[0x18]; // 0x12e0 public: - 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 + CUtlMap< int32, GameTime_t > m_PreventReplicateTime; // 0x12f8 + int32_t width; // 0x1318 + float slow_duration; // 0x131c + int32_t replica_damage_incoming; // 0x1320 + int32_t replica_damage_outgoing; // 0x1324 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DarkSeer_WallOfReplica_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DarkSeer_WallOfReplica_Illusion : public CDOTA_Buff { public: - int32_t replica_scale; // 0x12b8 + int32_t replica_scale; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DarkSeer_Normal_Punch_Illusion : public CDOTA_Buff { public: - int32_t replica_scale; // 0x12b8 + int32_t replica_scale; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DarkSeer_IonShell_IllusionInvulnerability : public CDOTA_Modifier_Invulnerable { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 3 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Clinkz_SearingArrows : public CDOTA_Buff { public: - int32_t damage_bonus; // 0x12b8 + int32_t damage_bonus; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 - bool m_bBonusAttack; // 0x12d8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + bool m_bBonusAttack; // 0x12e8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Clinkz_DeathPact : public CDOTA_Buff { public: - int32_t health_gain; // 0x12b8 + int32_t health_gain; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Clinkz_DeathPact_Permanent_Buff : public CDOTA_Buff { public: @@ -19762,48 +19821,48 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Clinkz_Burning_Army_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x12b8 - int32_t count; // 0x12bc - int32_t range; // 0x12c0 - Vector m_vFacePosition; // 0x12c4 + int32_t m_iCount; // 0x12c8 + int32_t count; // 0x12cc + int32_t range; // 0x12d0 + Vector m_vFacePosition; // 0x12d4 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Clinkz_Burning_Army : public CDOTA_Buff { public: - 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 + float attack_rate; // 0x12c8 + int32_t damage_percent; // 0x12cc + int32_t skeleton_health; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + int32_t skeleton_building_damage_reduction; // 0x12d8 }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Clinkz_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t move_speed_bonus_pct; // 0x12c8 + int32_t move_speed_bonus_pct; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Clinkz_Strafe : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x12b8 - int32_t attack_range_bonus; // 0x12bc - int32_t archer_attack_speed_pct; // 0x12c0 + int32_t attack_speed_bonus; // 0x12c8 + int32_t attack_range_bonus; // 0x12cc + int32_t archer_attack_speed_pct; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Clinkz_BurningBarrage_DamageReduction : public CDOTA_Buff { public: @@ -19811,177 +19870,177 @@ public: }; // Alignment: 13 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Clinkz_BurningBarrage : public CDOTA_Buff { public: - 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 + int32_t m_iArrowCount; // 0x12c8 + Vector m_vOriginalTarget; // 0x12cc + int32_t arrow_width; // 0x12d8 + float arrow_speed; // 0x12dc + float arrow_range_multiplier; // 0x12e0 + int32_t wave_count; // 0x12e4 + int32_t arrow_count_per_wave; // 0x12e8 + int32_t arrow_angle; // 0x12ec + int32_t m_iLoopCount; // 0x12f0 + float m_flInterval; // 0x12f4 + float m_flCycleDelay; // 0x12f8 + float m_flTimeWaste; // 0x12fc + GameTime_t m_flExpectedTime; // 0x1300 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Clinkz_Tar_Bomb_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float slow_duration; // 0x12bc - ParticleIndex_t m_nFXIndex; // 0x12c0 + int32_t radius; // 0x12c8 + float slow_duration; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Clinkz_Tar_Bomb_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x12b8 + int32_t slow_movement_speed; // 0x12c8 }; // Alignment: 3 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Clinkz_Tar_Bomb_SearingArrows : public CDOTA_Buff { public: - int32_t damage_bonus; // 0x12b8 + int32_t damage_bonus; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 - bool m_bBonusAttack; // 0x12d8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + bool m_bBonusAttack; // 0x12e8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Omniknight_HammerOfPurity : public CDOTA_Buff { public: - GameTime_t m_flNextAttackTime; // 0x12b8 - float attack_cooldown; // 0x12bc + GameTime_t m_flNextAttackTime; // 0x12c8 + float attack_cooldown; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Omniknight_Hammer_Of_Purity_Bomb : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Omniknight_Angelic_Flight : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 - int32_t hp_regen; // 0x12bc + int32_t movement_speed; // 0x12c8 + int32_t hp_regen; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Omniknight_Pacify : public CDOTA_Buff { public: - int32_t spell_resistance_reduction; // 0x12b8 + int32_t spell_resistance_reduction; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Omniknight_Repel : public CDOTA_Buff { public: - int32_t status_resistance; // 0x12b8 - float hp_regen; // 0x12bc - int32_t bonus_str; // 0x12c0 + int32_t status_resistance; // 0x12c8 + float hp_regen; // 0x12cc + int32_t bonus_str; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Omniknight_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x12b8 + int32_t speed_bonus; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Omniknight_Marty : public CDOTA_Buff { public: - int32_t base_strength; // 0x12b8 - int32_t base_hpregen; // 0x12bc - int32_t strength_bonus; // 0x12c0 - int32_t nDebuffAmount; // 0x12c4 + int32_t base_strength; // 0x12c8 + int32_t base_hpregen; // 0x12cc + int32_t strength_bonus; // 0x12d0 + int32_t nDebuffAmount; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Omniknight_GuardianAngel : public CDOTA_Buff { public: - int32_t scepter_status_resist; // 0x12b8 + int32_t scepter_status_resist; // 0x12c8 }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Enchantress_Little_Friends_Kill_Credit : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Enchantress_Little_Friends_Aura : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 - int32_t m_nAlliesTaunted; // 0x12bc - bool m_bRelicTriggered; // 0x12c0 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + int32_t m_nAlliesTaunted; // 0x12cc + bool m_bRelicTriggered; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - 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 + int32_t radius; // 0x12d4 + int32_t damage_amplification; // 0x12d8 + int32_t damage_reduction; // 0x12dc + float root_base_duration; // 0x12e0 + float root_per_target; // 0x12e4 + float max_root; // 0x12e8 + GameTime_t m_flLastSeen; // 0x12ec }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Enchantress_Little_Friends : public CDOTA_Buff { public: - 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 + CHandle< C_BaseEntity > m_hZombieTarget; // 0x12c8 + CHandle< C_BaseEntity > m_hDesiredTarget; // 0x12cc + int32_t damage_reduction; // 0x12d0 + int32_t bonus_attack_speed; // 0x12d4 + int32_t bonus_move_speed; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Enchantress_Bunny_Hop : public CDOTA_Buff { public: @@ -19989,7 +20048,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Enchantress_Untouchable : public CDOTA_Buff { public: @@ -19997,16 +20056,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Enchantress_Untouchable_Slow : public CDOTA_Buff { public: - int32_t slow_attack_speed; // 0x12b8 - ParticleIndex_t m_nStatusFXIndex; // 0x12bc + int32_t slow_attack_speed; // 0x12c8 + ParticleIndex_t m_nStatusFXIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Enchantress_Enchant : public CDOTA_Buff { public: @@ -20014,145 +20073,145 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Enchantress_Enchant_Controlled : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t enchant_health; // 0x12bc - int32_t enchant_armor; // 0x12c0 - int32_t enchant_damage; // 0x12c4 + int32_t bonus_movement_speed; // 0x12c8 + int32_t enchant_health; // 0x12cc + int32_t enchant_armor; // 0x12d0 + int32_t enchant_damage; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Enchantress_Enchant_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x12b8 + int32_t slow_movement_speed; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Enchantress_NaturesAttendants_Shard : public CDOTA_Buff { public: - float heal_interval; // 0x12b8 - float heal; // 0x12bc - int32_t radius; // 0x12c0 - int32_t shard_permanent_wisp_count; // 0x12c4 - bool m_bActive; // 0x12c8 + float heal_interval; // 0x12c8 + float heal; // 0x12cc + int32_t radius; // 0x12d0 + int32_t shard_permanent_wisp_count; // 0x12d4 + bool m_bActive; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - ParticleIndex_t m_nWispFXIndex; // 0x12cc + ParticleIndex_t m_nWispFXIndex; // 0x12dc }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Enchantress_NaturesAttendants : public CDOTA_Buff { public: - 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 + float heal_interval; // 0x12c8 + float heal; // 0x12cc + int32_t radius; // 0x12d0 + int32_t wisp_count; // 0x12d4 + int32_t movespeed; // 0x12d8 + ParticleIndex_t m_nWispFXIndex; // 0x12dc }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Enchantress_Impetus : public CDOTA_Buff { public: - float distance_damage_pct; // 0x12b8 - int32_t distance_cap; // 0x12bc - float creep_multiplier; // 0x12c0 + float distance_damage_pct; // 0x12c8 + int32_t distance_cap; // 0x12cc + float creep_multiplier; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Huskar_Inner_Fire_Knockback : public CDOTA_Buff { public: - float knockback_distance; // 0x12b8 - float knockback_duration; // 0x12bc - float effective_distance; // 0x12c0 + float knockback_distance; // 0x12c8 + float knockback_duration; // 0x12cc + float effective_distance; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Huskar_Inner_Fire_Disarm : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x12b8 + int32_t movement_slow_pct; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Huskar_Inner_Vitality : public CDOTA_Buff { public: - int32_t heal; // 0x12b8 - float attrib_bonus; // 0x12bc - float hurt_attrib_bonus; // 0x12c0 - float hurt_percent; // 0x12c4 + int32_t heal; // 0x12c8 + float attrib_bonus; // 0x12cc + float hurt_attrib_bonus; // 0x12d0 + float hurt_percent; // 0x12d4 }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Huskar_Burning_Spear_Self : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 - float duration; // 0x12d0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + float duration; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Huskar_Burning_Spear_Counter : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Huskar_Burning_Spear_Debuff : public CDOTA_Buff { public: - int32_t burn_damage; // 0x12b8 + int32_t burn_damage; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Huskar_Berserkers_Blood : public CDOTA_Buff { public: - 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 + int32_t maximum_health_regen; // 0x12c8 + int32_t maximum_attack_speed; // 0x12cc + int32_t maximum_magic_resist; // 0x12d0 + int32_t hp_threshold_max; // 0x12d4 + ParticleIndex_t m_nFxHuskIndex; // 0x12d8 + ParticleIndex_t m_nFxIndexA; // 0x12dc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Huskar_Life_Break_Taunt : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hZombieTarget; // 0x12b8 - bool m_bDidSetAttackTarget; // 0x12bc + CHandle< C_BaseEntity > m_hZombieTarget; // 0x12c8 + bool m_bDidSetAttackTarget; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Huskar_Life_Break_Charge : public CDOTA_Modifier_DebuffImmune { public: @@ -20160,32 +20219,32 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Huskar_Life_Break : public CDOTA_Modifier_MoveSpeed_Percentage { public: - int32_t attack_speed; // 0x12c0 + int32_t attack_speed; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_NightStalker_Void : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 - int32_t attackspeed_slow; // 0x12bc + int32_t movespeed_slow; // 0x12c8 + int32_t attackspeed_slow; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_NightStalker_Void_ZoneThinker : public CDOTA_Buff { public: - int32_t radius_scepter; // 0x12b8 + int32_t radius_scepter; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_NightStalker_Void_Zone : public CDOTA_Buff { public: @@ -20193,109 +20252,109 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_NightStalker_CripplingFear_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_NightStalker_CripplingFear : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - int32_t dps; // 0x12c0 - float tick_rate; // 0x12c4 + int32_t dps; // 0x12d0 + float tick_rate; // 0x12d4 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_NightStalker_HunterInTheNight : public CDOTA_Buff { public: - 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 + int32_t bonus_movement_speed_pct_night; // 0x12c8 + int32_t bonus_attack_speed_night; // 0x12cc + int32_t bonus_status_resist_night; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_NightStalker_Darkness : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t status_resistance; // 0x12bc - int32_t hp_regen; // 0x12c0 - ParticleIndex_t m_nFXIndex; // 0x12c4 + int32_t bonus_damage; // 0x12c8 + int32_t status_resistance; // 0x12cc + int32_t hp_regen; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_SpawnSpiderlings : public CDOTA_Buff { public: - float spiderling_duration; // 0x12b8 - int32_t count; // 0x12bc + float spiderling_duration; // 0x12c8 + int32_t count; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_SpawnSpiderlingsShard : public CDOTA_Buff { public: - float shard_spiderling_duration; // 0x12b8 + float shard_spiderling_duration; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_Spider_HP : public CDOTA_Buff { public: - int32_t hp_bonus; // 0x12b8 - int32_t damage_bonus; // 0x12bc + int32_t hp_bonus; // 0x12c8 + int32_t damage_bonus; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_SpawnSpiderite : public CDOTA_Buff { public: - float buff_duration; // 0x12b8 + float buff_duration; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_SpawnSpideriteDebuff : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hParentSpider; // 0x12b8 + CHandle< C_BaseEntity > m_hParentSpider; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_PoisonSting : public CDOTA_Buff { public: - float duration; // 0x12b8 - float duration_hero; // 0x12bc + float duration; // 0x12c8 + float duration_hero; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_PoisonStingDebuff : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x12b8 - int32_t movement_speed; // 0x12bc + int32_t damage_per_second; // 0x12c8 + int32_t movement_speed; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Broodmother_SpinWeb_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -20303,16 +20362,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_SpinWeb_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t m_nFXIndex; // 0x12bc + int32_t radius; // 0x12c8 + int32_t m_nFXIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Broodmother_SpinWebInvisibleApplier : public CDOTA_Buff { public: @@ -20320,27 +20379,27 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_SpinWeb_Slowed : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x12b8 + int32_t bonus_movespeed; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Broodmother_SpinWeb : public CDOTA_Buff { public: - int32_t heath_regen; // 0x12b8 - int32_t bonus_movespeed; // 0x12bc - int32_t bonus_movespeed_scepter; // 0x12c0 - float bonus_turn_rate; // 0x12c4 - float flLastDamageTime; // 0x12c8 + int32_t heath_regen; // 0x12c8 + int32_t bonus_movespeed; // 0x12cc + int32_t bonus_movespeed_scepter; // 0x12d0 + float bonus_turn_rate; // 0x12d4 + float flLastDamageTime; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Broodmother_SpinWeb_NoTreeWalking : public CDOTA_Buff { public: @@ -20348,86 +20407,86 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_IncapacitatingBite : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_IncapacitatingBiteOrb : public CDOTA_Buff { public: - int32_t miss_chance; // 0x12b8 - int32_t bonus_movespeed; // 0x12bc + int32_t miss_chance; // 0x12c8 + int32_t bonus_movespeed; // 0x12cc }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Broodmother_InsatiableHunger : public CDOTA_Buff { public: - 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 + int32_t bonus_damage; // 0x12c8 + int32_t lifesteal_pct; // 0x12cc + float slow_duration; // 0x12d0 + float bat_bonus; // 0x12d4 + float shard_damage_tick_interval; // 0x12d8 + int32_t damage_tick_count; // 0x12dc + int32_t shard_damage_per_tick; // 0x12e0 + int32_t creep_lifesteal_reduction_pct; // 0x12e4 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Broodmother_Silken_Bola : public CDOTA_Buff { public: - int32_t attack_damage; // 0x12b8 - int32_t movement_speed; // 0x12bc - int32_t miss_chance; // 0x12c0 - int32_t shard_miss_chance; // 0x12c4 + int32_t attack_damage; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t miss_chance; // 0x12d0 + int32_t shard_miss_chance; // 0x12d4 }; // Alignment: 14 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_Broodmother_StickySnare : public CDOTA_Buff { public: - 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 + Vector m_vOrigin; // 0x12c8 + Vector m_vWallDirection; // 0x12d4 + Vector m_vWallRight; // 0x12e0 + int32_t width; // 0x12ec + float root_duration; // 0x12f0 + float formation_delay; // 0x12f4 + bool m_bTouching; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 + [[maybe_unused]] uint8_t __pad12f9[0x3]; // 0x12f9 public: - CHandle< C_BaseEntity > m_hRight; // 0x12ec - bool m_bParticle; // 0x12f0 + CHandle< C_BaseEntity > m_hRight; // 0x12fc + bool m_bParticle; // 0x1300 private: - [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 + [[maybe_unused]] uint8_t __pad1301[0x3]; // 0x1301 public: - 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 + GameTime_t m_flStartingTime; // 0x1304 + int32_t m_nFoWID; // 0x1308 + int32_t m_nTeamID; // 0x130c + CUtlVector< CHandle< C_BaseEntity > > m_vecAffectedHeroes; // 0x1310 + ParticleIndex_t m_nWarmupFXIndex; // 0x1328 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_StickySnare_Root : public CDOTA_Buff { public: - float damage_per_second; // 0x12b8 - bool m_bFirstSecond; // 0x12bc + float damage_per_second; // 0x12c8 + bool m_bFirstSecond; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Broodmother_Tough : public CDOTA_Buff { public: @@ -20435,39 +20494,39 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_BountyHunter_Track : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 - int32_t m_nParentGold; // 0x12bc - int32_t target_crit_multiplier; // 0x12c0 + int32_t aura_radius; // 0x12c8 + int32_t m_nParentGold; // 0x12cc + int32_t target_crit_multiplier; // 0x12d0 }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_BountyHunter_Jinada : public CDOTA_Buff { public: - 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 + int32_t bonus_damage; // 0x12c8 + int32_t gold_steal; // 0x12cc + ParticleIndex_t m_nFXIndexA; // 0x12d0 + ParticleIndex_t m_nFXIndexB; // 0x12d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 3 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_BountyHunter_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t damage_reduction_pct; // 0x12c8 - float shard_stun_duration; // 0x12cc - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + int32_t damage_reduction_pct; // 0x12d8 + float shard_stun_duration; // 0x12dc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BountyHunter_WindWalk_Fade : public CDOTA_Buff { public: @@ -20475,75 +20534,75 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BountyHunter_WindWalk_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 - int32_t attack_slow; // 0x12bc + int32_t slow; // 0x12c8 + int32_t attack_slow; // 0x12cc }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_BountyHunter_Track_Bear_Trap : public CDOTA_Modifier_Invisible { public: - bool m_bActivated; // 0x12c8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_BountyHunter_TrackEffect : public CDOTA_Buff -{ -public: - int32_t bonus_move_speed_pct; // 0x12b8 + bool m_bActivated; // 0x12d8 }; // Alignment: 1 // Size: 0x12d0 +class CDOTA_Modifier_BountyHunter_TrackEffect : public CDOTA_Buff +{ +public: + int32_t bonus_move_speed_pct; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12e0 class CDOTA_Modifier_BountyHunter_Lookout : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x12c8 + int32_t radius; // 0x12d8 }; // Alignment: 6 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Weaver_Swarm : public CDOTA_Buff { public: - 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 + int32_t m_iMaxDist; // 0x12c8 + int32_t m_iAttackCount; // 0x12cc + int32_t destroy_attacks; // 0x12d0 + Vector m_vDirection; // 0x12d4 + Vector m_vStartLoc; // 0x12e0 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12ec }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Weaver_Swarm_Debuff : public CDOTA_Buff { public: - float armor_reduction; // 0x12b8 - int32_t damage; // 0x12bc - float m_flCurrentArmorReduction; // 0x12c0 + float armor_reduction; // 0x12c8 + int32_t damage; // 0x12cc + float m_flCurrentArmorReduction; // 0x12d0 }; // Alignment: 5 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Weaver_Shukuchi : public CDOTA_Modifier_Invisible { public: - 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 + int32_t radius; // 0x12d8 + int32_t damage; // 0x12dc + int32_t speed; // 0x12e0 + float geminate_attack_mark_duration; // 0x12e4 + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x12e8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Weaver_Shukuchi_GeminateAttackMark : public CDOTA_Buff { public: @@ -20551,76 +20610,76 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Weaver_Shukuchi_GeminateAttackManager : public CDOTA_Buff { public: - int32_t m_iAttacksRemaining; // 0x12b8 + int32_t m_iAttacksRemaining; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Weaver_GeminateAttack : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 - int32_t m_iAttacksRemaining; // 0x12bc + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + int32_t m_iAttacksRemaining; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Weaver_GeminateAttack_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 4 -// Size: 0x1398 +// Size: 0x13a8 class CDOTA_Modifier_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 + Vector m_PositionIndex[11]; // 0x12c8 + float m_flLife[11]; // 0x134c + float m_flMana[11]; // 0x1378 + bool m_bHasValidHistory; // 0x13a4 }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Jakiro_DualBreath_Thinker : public CDOTA_Buff { public: - int32_t start_radius; // 0x12b8 - int32_t end_radius; // 0x12bc - GameTime_t m_fStartTime; // 0x12c0 - float m_fTotalTime; // 0x12c4 - Vector m_vCastPosition; // 0x12c8 + int32_t start_radius; // 0x12c8 + int32_t end_radius; // 0x12cc + GameTime_t m_fStartTime; // 0x12d0 + float m_fTotalTime; // 0x12d4 + Vector m_vCastPosition; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Jakiro_DualBreath_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x12b8 - int32_t slow_attack_speed_pct; // 0x12bc + int32_t slow_movement_speed_pct; // 0x12c8 + int32_t slow_attack_speed_pct; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Jakiro_DualBreath_Burn : public CDOTA_Buff { public: - bool m_bFirst; // 0x12b8 + bool m_bFirst; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t burn_damage; // 0x12bc + int32_t burn_damage; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Jakiro_IcePath_Stun : public CDOTA_Modifier_Stunned { public: @@ -20628,136 +20687,136 @@ public: }; // Alignment: 9 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Jakiro_IcePath_Thinker : public CDOTA_Buff { public: - float path_delay; // 0x12b8 - int32_t path_radius; // 0x12bc - int32_t m_nDamage; // 0x12c0 - float m_flRadius; // 0x12c4 - float stun_duration; // 0x12c8 + float path_delay; // 0x12c8 + int32_t path_radius; // 0x12cc + int32_t m_nDamage; // 0x12d0 + float m_flRadius; // 0x12d4 + float stun_duration; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlVector< CHandle< C_BaseEntity > > m_hUnitsHit; // 0x12d0 - Vector m_vPathStart; // 0x12e8 - Vector m_vPathEnd; // 0x12f4 - GameTime_t m_fStartTime; // 0x1300 + CUtlVector< CHandle< C_BaseEntity > > m_hUnitsHit; // 0x12e0 + Vector m_vPathStart; // 0x12f8 + Vector m_vPathEnd; // 0x1304 + GameTime_t m_fStartTime; // 0x1310 }; // Alignment: 5 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Jakiro_LiquidIce : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 - int32_t radius; // 0x12d8 - ParticleIndex_t m_nFXIndex; // 0x12dc - bool m_bForceProc; // 0x12e0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + int32_t radius; // 0x12e8 + ParticleIndex_t m_nFXIndex; // 0x12ec + bool m_bForceProc; // 0x12f0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Jakiro_LiquidIce_Debuff : public CDOTA_Buff { public: - int32_t base_damage; // 0x12b8 - float pct_health_damage; // 0x12bc - int32_t movement_slow; // 0x12c0 + int32_t base_damage; // 0x12c8 + float pct_health_damage; // 0x12cc + int32_t movement_slow; // 0x12d0 }; // Alignment: 5 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Jakiro_LiquidFire : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 - int32_t radius; // 0x12d8 - ParticleIndex_t m_nFXIndex; // 0x12dc - bool m_bForceProc; // 0x12e0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + int32_t radius; // 0x12e8 + ParticleIndex_t m_nFXIndex; // 0x12ec + bool m_bForceProc; // 0x12f0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Jakiro_LiquidFire_Burn : public CDOTA_Buff { public: - int32_t slow_attack_speed_pct; // 0x12b8 - float damage; // 0x12bc + int32_t slow_attack_speed_pct; // 0x12c8 + float damage; // 0x12cc }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Jakiro_Macropyre_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x12b8 - float burn_interval; // 0x12c4 - int32_t path_radius; // 0x12c8 - int32_t cast_range; // 0x12cc - float linger_duration; // 0x12d0 + Vector m_vPathDir; // 0x12c8 + float burn_interval; // 0x12d4 + int32_t path_radius; // 0x12d8 + int32_t cast_range; // 0x12dc + float linger_duration; // 0x12e0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Jakiro_Macropyre_Burn : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - float burn_interval; // 0x12bc + int32_t damage; // 0x12c8 + float burn_interval; // 0x12cc }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 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 + Vector m_vPathDir; // 0x12c8 + int32_t ice_edge_path_radius; // 0x12d4 + int32_t cast_range; // 0x12d8 + float ice_edge_linger_duration; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Jakiro_Macropyre_Ice_Edge_Slow : public CDOTA_Buff { public: - int32_t ice_edge_movement_slow; // 0x12b8 + int32_t ice_edge_movement_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Batrider_StickyNapalm_Application : public CDOTA_Buff { public: - bool m_bShouldApply; // 0x12b8 + bool m_bShouldApply; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Batrider_StickyNapalm : public CDOTA_Modifier_Stacking_Base { public: - 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 + float movement_speed_pct; // 0x12c8 + int32_t turn_rate_pct; // 0x12cc + int32_t damage; // 0x12d0 + int32_t application_damage; // 0x12d4 + ParticleIndex_t m_nFXIndex; // 0x12d8 + ParticleIndex_t m_nFXStackIndex; // 0x12dc }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Ability_Batrider_Flamebreak_Knockback : public CDOTA_Modifier_Knockback { public: @@ -20765,52 +20824,52 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Batrider_Flamebreak_Damage : public CDOTA_Buff { public: - int32_t damage_impact; // 0x12b8 - int32_t damage_per_second; // 0x12bc - int32_t slow; // 0x12c0 + int32_t damage_impact; // 0x12c8 + int32_t damage_per_second; // 0x12cc + int32_t slow; // 0x12d0 }; // Alignment: 13 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Batrider_Firefly : public CDOTA_Buff { public: - bool m_bActive; // 0x12b8 + bool m_bActive; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + int32_t radius; // 0x12cc + int32_t m_ifirefly_Active; // 0x12d0 + int32_t tree_radius; // 0x12d4 + int32_t damage_per_second; // 0x12d8 + int32_t movement_speed; // 0x12dc + int32_t bonus_slow_resistance; // 0x12e0 + float tick_interval; // 0x12e4 + ParticleIndex_t m_nFXIndex; // 0x12e8 + ParticleIndex_t m_nFXIndexB; // 0x12ec + GameTime_t m_fNextDamageTick; // 0x12f0 + Vector m_vLastFirePoolLoc; // 0x12f4 + int32_t bonus_vision; // 0x1300 }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Batrider_FlamingLasso : public CDOTA_Buff { public: - float tick_rate; // 0x12b8 - int32_t drag_distance; // 0x12bc - int32_t break_distance; // 0x12c0 - ParticleIndex_t m_nFXIndex; // 0x12c4 - Vector vPreviousLocation; // 0x12c8 + float tick_rate; // 0x12c8 + int32_t drag_distance; // 0x12cc + int32_t break_distance; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + Vector vPreviousLocation; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Batrider_FlamingLasso_Self : public CDOTA_Buff { public: @@ -20818,101 +20877,101 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Batrider_FlamingLasso_Damage : public CDOTA_Buff { public: - int32_t max_ticks; // 0x12b8 - float damage; // 0x12bc - float duration; // 0x12c0 - float tick_rate; // 0x12c4 + int32_t max_ticks; // 0x12c8 + float damage; // 0x12cc + float duration; // 0x12d0 + float tick_rate; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Chen_Penitence : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t bonus_damage_taken; // 0x12bc + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_damage_taken; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Chen_Penitence_Attack_Speed_Buff : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + int32_t self_attack_range_bonus; // 0x12cc + bool m_bActive; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Chen_Divine_Favor_Teleport : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - float teleport_delay; // 0x12c0 + float teleport_delay; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Chen_DivineFavor_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Chen_DivineFavor : public CDOTA_Buff { public: - int32_t armor; // 0x12b8 - float heal_rate; // 0x12bc - int32_t creep_bonus; // 0x12c0 + int32_t armor; // 0x12c8 + float heal_rate; // 0x12cc + int32_t creep_bonus; // 0x12d0 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Chen_HolyPersuasion : public CDOTA_Buff { public: - 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 + int32_t health_min; // 0x12c8 + int32_t new_max; // 0x12cc + int32_t health_bonus; // 0x12d0 + int32_t damage_bonus; // 0x12d4 + int32_t movement_speed_bonus; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Chen_TestOfFaith_Teleport : public CDOTA_Buff { public: - bool bToChen; // 0x12b8 + bool bToChen; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Chen_HandOfGod_Hot : public CDOTA_Buff { public: - int32_t heal_per_second; // 0x12b8 + int32_t heal_per_second; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Spectre_Arcana : public CDOTA_Buff { public: @@ -20920,51 +20979,51 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spectre_Desolate : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t radius; // 0x12bc + int32_t bonus_damage; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 7 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Spectre_SpectralDaggerPath : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x18]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x18]; // 0x12c8 public: - 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 + CUtlVector< CHandle< C_BaseEntity > > m_hUnitsInPath; // 0x12e0 + int32_t path_radius; // 0x12f8 + int32_t vision_radius; // 0x12fc + int32_t dagger_radius; // 0x1300 + float buff_persistence; // 0x1304 + float dagger_grace_period; // 0x1308 + float dagger_path_duration; // 0x130c }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Spectre_SpectralDagger : public CDOTA_Buff { public: - int32_t path_radius; // 0x12b8 - float hero_path_duration; // 0x12bc - Vector m_vLastPosition; // 0x12c0 + int32_t path_radius; // 0x12c8 + float hero_path_duration; // 0x12cc + Vector m_vLastPosition; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spectre_SpectralDaggerInPath : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x12b8 - CHandle< C_BaseEntity > m_hTrackingTarget; // 0x12bc + int32_t bonus_movespeed; // 0x12c8 + CHandle< C_BaseEntity > m_hTrackingTarget; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Spectre_SpectralDaggerPathPhased : public CDOTA_Buff { public: @@ -20972,7 +21031,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Spectre_SpectralDaggerPath_ActivityModifierOnly : public CDOTA_Buff { public: @@ -20980,29 +21039,29 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spectre_Desolate_Blind : public CDOTA_Buff { public: - int32_t blind_pct; // 0x12b8 + int32_t blind_pct; // 0x12c8 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Spectre_Dispersion : public CDOTA_Buff { public: - 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 + int32_t damage_reflection_pct; // 0x12c8 + int32_t min_radius; // 0x12cc + int32_t max_radius; // 0x12d0 + int32_t activation_bonus_pct; // 0x12d4 + GameTime_t m_flLastDispersionPulseEffectTime; // 0x12d8 + float m_fDamageCounter; // 0x12dc + float m_fLastTime; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Spectre_Dispersion_Memory : public CDOTA_Buff { public: @@ -21010,7 +21069,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Spectre_Dispersion_Boost : public CDOTA_Buff { public: @@ -21018,16 +21077,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spectre_Haunt : public CDOTA_Buff { public: - GameTime_t m_fStartAttackTime; // 0x12b8 - CHandle< C_BaseEntity > hTarget; // 0x12bc + GameTime_t m_fStartAttackTime; // 0x12c8 + CHandle< C_BaseEntity > hTarget; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Spectre_Spectral_Dagger_Illusions : public CDOTA_Buff { public: @@ -21035,15 +21094,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spectre_Arcana_Kill_Effect : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x12b8 + ParticleIndex_t m_nCasterFXIndex; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DoomBringer_Devour_Hero_Debuff : public CDOTA_Buff { public: @@ -21051,16 +21110,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DoomBringer_Devour : public CDOTA_Buff { public: - int32_t armor; // 0x12b8 - int32_t magic_resist; // 0x12bc + int32_t armor; // 0x12c8 + int32_t magic_resist; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DoomBringer_Devour_Hero_Ability : public CDOTA_Buff { public: @@ -21068,17 +21127,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t cast_range_bonus; // 0x12c8 + int32_t spell_amp_bonus; // 0x12cc + int32_t cooldown_bonus; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DoomBringer_ScorchedEarth_Thinker : public CDOTA_Buff { public: @@ -21086,81 +21145,81 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DoomBringer_ScorchedEarthEffect : public CDOTA_Buff { public: - int32_t bonus_movement_speed_pct; // 0x12b8 + int32_t bonus_movement_speed_pct; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_DoomBringer_ScorchedEarthEffectAura : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x12b8 - int32_t bonus_movement_speed_pct; // 0x12bc - int32_t radius; // 0x12c0 - int32_t heal_pct; // 0x12c4 + int32_t damage_per_second; // 0x12c8 + int32_t bonus_movement_speed_pct; // 0x12cc + int32_t radius; // 0x12d0 + int32_t heal_pct; // 0x12d4 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_DoomBringer_InfernalBlade : public CDOTA_Buff { public: - bool m_bInfernalBladeAttack; // 0x12b8 + bool m_bInfernalBladeAttack; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - ParticleIndex_t m_nFXIndex; // 0x12bc - float burn_duration; // 0x12c0 - float ministun_duration; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12cc + float burn_duration; // 0x12d0 + float ministun_duration; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DoomBringer_InfernalBlade_Burn : public CDOTA_Buff { public: - int32_t burn_damage; // 0x12b8 - float burn_damage_pct; // 0x12bc + int32_t burn_damage; // 0x12c8 + float burn_damage_pct; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DoomBringer_Doom_Aura_Self : public CDOTA_Buff { public: - int32_t scepter_aura_radius; // 0x12b8 - int32_t damage; // 0x12bc + int32_t scepter_aura_radius; // 0x12c8 + int32_t damage; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DoomBringer_Doom_Aura_Enemy : public CDOTA_Buff { public: - int32_t scepter_aura_radius; // 0x12b8 - int32_t damage; // 0x12bc + int32_t scepter_aura_radius; // 0x12c8 + int32_t damage; // 0x12cc }; // Alignment: 7 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_DoomBringer_Doom : public CDOTA_Buff { public: - 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 + int32_t damage; // 0x12c8 + float duration; // 0x12cc + int32_t deniable_pct; // 0x12d0 + float flElapsedTime; // 0x12d4 + int32_t damage_amp; // 0x12d8 + bool m_bDoesBreak; // 0x12dc + bool m_bDoesMute; // 0x12dd }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DoomBringer_Doom_Break : public CDOTA_Buff { public: @@ -21168,17 +21227,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_SpiritBreaker_GreaterBash : public CDOTA_Buff { public: - int32_t chance_pct; // 0x12b8 - float damage; // 0x12bc - float movespeed_duration; // 0x12c0 + int32_t chance_pct; // 0x12c8 + float damage; // 0x12cc + float movespeed_duration; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_SpiritBreaker_GreaterBash_Break : public CDOTA_Buff { public: @@ -21186,110 +21245,110 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SpiritBreaker_GreaterBash_Speed : public CDOTA_Buff { public: - int32_t bonus_movespeed_pct; // 0x12b8 + int32_t bonus_movespeed_pct; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SpiritBreaker_ChargeOfDarkness : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 - CHandle< C_BaseEntity > m_hTarget; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessTarget : public CDOTA_Buff -{ -public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 - CEntityIndex m_iChargeTargetEntityIndex; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessVision : public CDOTA_Buff -{ -public: - int32_t m_nFXIndex; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_SpiritBreaker_SpecialAttack : public CDOTA_Buff -{ -public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_SpiritBreaker_Bulldoze : public CDOTA_Buff -{ -public: - int32_t movement_speed; // 0x12b8 - int32_t status_resistance; // 0x12bc - float damage_barrier; // 0x12c0 - float m_flCurrentBarrier; // 0x12c4 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_SpiritBreaker_EmpoweringHasteAura : public CDOTA_Buff -{ -public: - int32_t aura_radius; // 0x12b8 -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_SpiritBreaker_EmpoweringHaste : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_SpiritBreaker_NetherStrike_Vision : public CDOTA_Buff -{ -public: - int32_t invis_threshold_pct; // 0x12b8 -}; - -// Alignment: 4 -// Size: 0x12d0 -class CDOTA_Modifier_SpiritBreaker_NetherStrike : public CDOTA_Buff -{ -public: - int32_t damage; // 0x12b8 - bool m_bStrikeLanded; // 0x12bc -private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd -public: - Vector m_vCastLocation; // 0x12c0 + int32_t movement_speed; // 0x12c8 CHandle< C_BaseEntity > m_hTarget; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 +class CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessTarget : public CDOTA_Buff +{ +public: + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + CEntityIndex m_iChargeTargetEntityIndex; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessVision : public CDOTA_Buff +{ +public: + int32_t m_nFXIndex; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_SpiritBreaker_SpecialAttack : public CDOTA_Buff +{ +public: + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_SpiritBreaker_Bulldoze : public CDOTA_Buff +{ +public: + int32_t movement_speed; // 0x12c8 + int32_t status_resistance; // 0x12cc + float damage_barrier; // 0x12d0 + float m_flCurrentBarrier; // 0x12d4 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_SpiritBreaker_EmpoweringHasteAura : public CDOTA_Buff +{ +public: + int32_t aura_radius; // 0x12c8 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_SpiritBreaker_EmpoweringHaste : public CDOTA_Buff +{ +public: + int32_t bonus_movespeed_pct_self; // 0x12c8 + int32_t bonus_movespeed_pct_allies; // 0x12cc + int32_t bonus_movespeed_pct_extra; // 0x12d0 + int32_t duration; // 0x12d4 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_SpiritBreaker_NetherStrike_Vision : public CDOTA_Buff +{ +public: + int32_t invis_threshold_pct; // 0x12c8 +}; + +// Alignment: 4 +// Size: 0x12e0 +class CDOTA_Modifier_SpiritBreaker_NetherStrike : public CDOTA_Buff +{ +public: + int32_t damage; // 0x12c8 + bool m_bStrikeLanded; // 0x12cc +private: + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd +public: + Vector m_vCastLocation; // 0x12d0 + CHandle< C_BaseEntity > m_hTarget; // 0x12dc +}; + +// Alignment: 2 +// Size: 0x12d0 class CDOTA_Modifier_SpiritBreaker_PlanarPocketAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t magic_resistance; // 0x12bc + int32_t radius; // 0x12c8 + int32_t magic_resistance; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_SpiritBreaker_PlanarPocket : public CDOTA_Buff { public: @@ -21297,17 +21356,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Gyrocopter_Rocket_Barrage : public CDOTA_Buff { public: - int32_t rocket_damage; // 0x12b8 - int32_t bonus_movement_speed; // 0x12bc - int32_t slow_resistance; // 0x12c0 + int32_t rocket_damage; // 0x12c8 + int32_t bonus_movement_speed; // 0x12cc + int32_t slow_resistance; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Gyrocopter_HomingMissile_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -21315,145 +21374,145 @@ public: }; // Alignment: 17 -// Size: 0x1338 +// Size: 0x1348 class CDOTA_Modifier_Gyrocopter_Homing_Missile : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + ParticleIndex_t m_nFXIndex2; // 0x12cc + int32_t hero_damage; // 0x12d0 + int32_t acceleration; // 0x12d4 + int32_t min_damage; // 0x12d8 + int32_t max_distance; // 0x12dc + int32_t shard_radius; // 0x12e0 + float shard_delay; // 0x12e4 + float pre_flight_time; // 0x12e8 + float stun_duration; // 0x12ec + int32_t m_nMissileDamage; // 0x12f0 + int32_t m_nTeamNumber; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad12e8[0x8]; // 0x12e8 + [[maybe_unused]] uint8_t __pad12f8[0x8]; // 0x12f8 public: - float speed; // 0x12f0 - CHandle< C_BaseEntity > m_hAttachTarget; // 0x12f4 - Vector m_vStartPosition; // 0x12f8 + float speed; // 0x1300 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x1304 + Vector m_vStartPosition; // 0x1308 private: - [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 + [[maybe_unused]] uint8_t __pad1314[0x4]; // 0x1314 public: - CountdownTimer m_EnemyVision; // 0x1308 - CountdownTimer m_MoveTime; // 0x1320 + CountdownTimer m_EnemyVision; // 0x1318 + CountdownTimer m_MoveTime; // 0x1330 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Gyrocopter_Homing_Rocket_Barrage : public CDOTA_Buff { public: - int32_t rocket_damage; // 0x12b8 - int32_t shard_radius; // 0x12bc - CHandle< C_BaseEntity > m_hTarget; // 0x12c0 + int32_t rocket_damage; // 0x12c8 + int32_t shard_radius; // 0x12cc + CHandle< C_BaseEntity > m_hTarget; // 0x12d0 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t max_attacks; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t m_iNumAttacks; // 0x12d0 + int32_t projectile_speed; // 0x12d4 + int32_t bonus_night_vision; // 0x12d8 + int32_t radius; // 0x12dc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Gyrocopter_Flak_Cannon_Scepter : public CDOTA_Buff { public: - float fire_rate; // 0x12b8 - int32_t scepter_radius; // 0x12bc + float fire_rate; // 0x12c8 + int32_t scepter_radius; // 0x12cc }; // Alignment: 11 -// Size: 0x12e0 +// Size: 0x12f0 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 + int32_t slow_duration_first; // 0x12c8 + int32_t slow_duration_second; // 0x12cc + int32_t damage_first; // 0x12d0 + int32_t damage_second; // 0x12d4 + int32_t damage_second_scepter; // 0x12d8 + int32_t radius; // 0x12dc + float slow_first; // 0x12e0 + float slow_second; // 0x12e4 + bool m_bFirstStrike; // 0x12e8 + bool m_bDelayed; // 0x12e9 + bool m_bHalfDamage; // 0x12ea }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Gyrocopter_Call_Down_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 + int32_t movespeed; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t damage; // 0x12c8 + int32_t armor_allies; // 0x12cc + int32_t radius; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Alchemist_AcidSpray : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x12b8 + int32_t armor_reduction; // 0x12c8 }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 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 + float brew_time; // 0x12c8 + float brew_explosion; // 0x12cc + GameTime_t m_fStartTime; // 0x12d0 + GameTime_t m_fLastAlertTime; // 0x12d4 + ParticleIndex_t m_nConcoctionFXIndex; // 0x12d8 + bool m_bHasStunned; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - int32_t damage_resistance; // 0x12d0 - int32_t move_speed; // 0x12d4 + int32_t damage_resistance; // 0x12e0 + int32_t move_speed; // 0x12e4 }; // Alignment: 6 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Alchemist_GoblinsGreed : public CDOTA_Buff { public: - 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 + CUtlVector< GameTime_t > m_DeathList; // 0x12c8 + float damage; // 0x12e0 + float duration; // 0x12e4 + int32_t bonus_gold; // 0x12e8 + int32_t bonus_bonus_gold; // 0x12ec + int32_t bonus_gold_cap; // 0x12f0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Alchemist_ChemicalRageTransform : public CDOTA_Buff { public: @@ -21461,39 +21520,39 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Alchemist_ChemicalRage : public CDOTA_Buff { public: - 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 + float base_attack_time; // 0x12c8 + int32_t bonus_health; // 0x12cc + int32_t bonus_health_regen; // 0x12d0 + float bonus_mana_regen; // 0x12d4 + int32_t bonus_movespeed; // 0x12d8 + ParticleIndex_t m_nFXAlchemistCRIndex; // 0x12dc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Alchemist_Scepter_Bonus_Damage : public CDOTA_Buff { public: - int32_t scepter_bonus_damage; // 0x12b8 - int32_t scepter_spell_amp; // 0x12bc + int32_t scepter_bonus_damage; // 0x12c8 + int32_t scepter_spell_amp; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Alchemist_Berserk_Potion : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 - int32_t hp_regen; // 0x12bc - int32_t move_speed; // 0x12c0 + int32_t attack_speed; // 0x12c8 + int32_t hp_regen; // 0x12cc + int32_t move_speed; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Alchemist_Self_Corrosive_Weaponry : public CDOTA_Buff { public: @@ -21501,17 +21560,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Alchemist_Corrosive_Weaponry_Debuff : public CDOTA_Buff { public: - int32_t slow_per_stack; // 0x12b8 - float status_resist_per_stack; // 0x12bc - float chemical_rage_bonus; // 0x12c0 + int32_t slow_per_stack; // 0x12c8 + float status_resist_per_stack; // 0x12cc + float chemical_rage_bonus; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Invoker_Instance : public CDOTA_Buff { public: @@ -21519,23 +21578,23 @@ public: }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Invoker_ColdSnap : public CDOTA_Buff { public: - 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 + float freeze_damage; // 0x12c8 + float freeze_duration; // 0x12cc + float freeze_cooldown; // 0x12d0 + float damage_trigger; // 0x12d4 + float spell_lifesteal; // 0x12d8 + float spell_amp; // 0x12dc + float freeze_heal; // 0x12e0 + int32_t nQuasApplications; // 0x12e4 + int32_t nExortApplications; // 0x12e8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Invoker_ColdSnap_Freeze : public CDOTA_Modifier_Stunned { public: @@ -21543,29 +21602,29 @@ public: }; // Alignment: 7 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Invoker_GhostWalk_Self : public CDOTA_Modifier_Invisible { public: - 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 + int32_t self_slow; // 0x12d8 + int32_t area_of_effect; // 0x12dc + float aura_fade_time; // 0x12e0 + float health_regen; // 0x12e4 + float mana_regen; // 0x12e8 + float disable_time; // 0x12ec + GameTime_t m_timeLastDamage; // 0x12f0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_GhostWalk_Enemy : public CDOTA_Buff { public: - int32_t enemy_slow; // 0x12b8 + int32_t enemy_slow; // 0x12c8 }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_Tornado : public CDOTA_Modifier_Cyclone { public: @@ -21573,50 +21632,50 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Invoker_EMP : public CDOTA_Buff { public: - 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 + int32_t area_of_effect; // 0x12c8 + int32_t mana_burned; // 0x12cc + float damage_per_mana; // 0x12d0 + float spell_lifesteal; // 0x12d4 + float spell_amp; // 0x12d8 + CHandle< C_BaseEntity > m_hPullThinker; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_EMP_Pull_Thinker : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x12b8 + int32_t area_of_effect; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Invoker_EMP_Pull : public CDOTA_Buff { public: - 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 + int32_t shard_drag_speed; // 0x12c8 + float aura_origin_x; // 0x12cc + float aura_origin_y; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + Vector m_vCenter; // 0x12d8 + GameTime_t m_flLastThinkTime; // 0x12e4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_Alacrity : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_damage; // 0x12bc + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_damage; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Invoker_ChaosMeteor_Land : public CDOTA_Buff { public: @@ -21624,110 +21683,110 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_ChaosMeteor_Burn : public CDOTA_Buff { public: - float spell_amp; // 0x12b8 - float spell_lifesteal; // 0x12bc + float spell_amp; // 0x12c8 + float spell_lifesteal; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Invoker_SunStrike_Cataclysm_Thinker : public CDOTA_Buff { public: - float damage; // 0x12b8 - float spell_lifesteal; // 0x12bc - float spell_amp; // 0x12c0 + float damage; // 0x12c8 + float spell_lifesteal; // 0x12cc + float spell_amp; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_SunStrike : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x12b8 + int32_t area_of_effect; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_SunStrike_Cataclysm : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x12b8 + int32_t area_of_effect; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t level; // 0x12c8 + int32_t armor; // 0x12cc + int32_t mana; // 0x12d0 + float attack_range; // 0x12d4 + float armor_per_attack; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ForgedSpirit_MeltingStrike : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MeltingStrike_Debuff : public CDOTA_Buff { public: - float armor_removed; // 0x12b8 + float armor_removed; // 0x12c8 }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 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 + float damage_per_second; // 0x12c8 + int32_t num_wall_elements; // 0x12cc + int32_t wall_element_spacing; // 0x12d0 + int32_t wall_element_radius; // 0x12d4 + float spell_amp; // 0x12d8 + float spell_lifesteal; // 0x12dc + Vector m_vWallDir; // 0x12e0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Invoker_IceWall_SlowAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t slow; // 0x12bc - float slow_duration; // 0x12c0 + int32_t radius; // 0x12c8 + int32_t slow; // 0x12cc + float slow_duration; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_IceWall_SlowDebuff : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_DeafeningBlast_Knockback : public CDOTA_Buff { public: - float disarm_duration; // 0x12b8 + float disarm_duration; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Invoker_DeafeningBlast_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -21735,43 +21794,43 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_QuasInstance : public CDOTA_Modifier_Invoker_Instance { public: - float spell_lifesteal; // 0x12b8 - int32_t health_regen_per_instance; // 0x12bc + float spell_lifesteal; // 0x12c8 + int32_t health_regen_per_instance; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_WexInstance : public CDOTA_Modifier_Invoker_Instance { public: - float move_speed_per_instance; // 0x12b8 - float cooldown_reduction; // 0x12bc + float move_speed_per_instance; // 0x12c8 + float cooldown_reduction; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_ExortInstance : public CDOTA_Modifier_Invoker_Instance { public: - int32_t bonus_damage_per_instance; // 0x12b8 - float spell_amp; // 0x12bc + int32_t bonus_damage_per_instance; // 0x12c8 + float spell_amp; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_Wex_Cooldown_Reduction : public CDOTA_Buff { public: - int32_t cooldown_reduction; // 0x12b8 - int32_t m_nTotalCDR; // 0x12bc + int32_t cooldown_reduction; // 0x12c8 + int32_t m_nTotalCDR; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Invoker_AttackVisuals : public CDOTA_Buff { public: @@ -21779,43 +21838,43 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoke_Bonuses : public CDOTA_Buff { public: - float spell_amp; // 0x12b8 - float spell_lifesteal; // 0x12bc + float spell_amp; // 0x12c8 + float spell_lifesteal; // 0x12cc }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Silencer_CurseOfTheSilent : public CDOTA_Buff { public: - 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 + int32_t damage; // 0x12c8 + ParticleIndex_t nFxIndex; // 0x12cc + int32_t penalty_duration; // 0x12d0 + float penalty_multiplier; // 0x12d4 + int32_t movespeed; // 0x12d8 + int32_t undispellable; // 0x12dc }; // Alignment: 4 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Silencer_GlaivesOfWisdom : public CDOTA_Buff { public: - float intellect_damage_pct; // 0x12b8 + float intellect_damage_pct; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 - CUtlVector< int16 > m_InFlightSilenceAttackRecords; // 0x12d8 - CDOTA_Buff* m_pAttackCounterBuff; // 0x12f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + CUtlVector< int16 > m_InFlightSilenceAttackRecords; // 0x12e8 + CDOTA_Buff* m_pAttackCounterBuff; // 0x1300 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_AttackCounter : public CDOTA_Buff { public: @@ -21823,15 +21882,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_Debuff : public CDOTA_Buff { public: - int32_t int_steal; // 0x12b8 + int32_t int_steal; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_DebuffCounter : public CDOTA_Buff { public: @@ -21839,15 +21898,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_Buff : public CDOTA_Buff { public: - int32_t int_steal; // 0x12b8 + int32_t int_steal; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_BuffCounter : public CDOTA_Buff { public: @@ -21855,23 +21914,23 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Silencer_LastWord : public CDOTA_Buff { public: - int32_t duration; // 0x12b8 - bool spellcast; // 0x12bc + int32_t duration; // 0x12c8 + bool spellcast; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - int32_t damage; // 0x12c0 - float debuff_duration; // 0x12c4 - float int_multiplier; // 0x12c8 - int32_t scepter_bonus_damage; // 0x12cc + int32_t damage; // 0x12d0 + float debuff_duration; // 0x12d4 + float int_multiplier; // 0x12d8 + int32_t scepter_bonus_damage; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Silencer_LastWord_Disarm : public CDOTA_Modifier_Silence { public: @@ -21879,7 +21938,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Silencer_GlobalSilence : public CDOTA_Buff { public: @@ -21887,56 +21946,56 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Obsidian_Destroyer_ArcaneOrb : public CDOTA_Buff { public: - float mana_pool_damage_pct; // 0x12b8 + float mana_pool_damage_pct; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Obsidian_Destroyer_AstralImprisonment_Prison : public CDOTA_Buff { public: - int32_t allied_movement_speed_pct; // 0x12b8 - bool m_bAllowMovement; // 0x12bc + int32_t allied_movement_speed_pct; // 0x12c8 + bool m_bAllowMovement; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Obsidian_Destroyer_EssenceAura : public CDOTA_Buff { public: - int32_t bonus_mana; // 0x12b8 - int32_t radius; // 0x12bc + int32_t bonus_mana; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Obsidian_Destroyer_EssenceAura_Effect : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t restore_chance; // 0x12bc - float restore_amount; // 0x12c0 + int32_t radius; // 0x12c8 + int32_t restore_chance; // 0x12cc + float restore_amount; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Obsidian_Destroyer_Mana_Allergy : public CDOTA_Buff { public: - int32_t percentage_damage; // 0x12b8 - int32_t percentage_heal; // 0x12bc + int32_t percentage_damage; // 0x12c8 + int32_t percentage_heal; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Obsidian_Destroyer_Sanity_Eclipse_Counter : public CDOTA_Buff { public: @@ -21944,7 +22003,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Obsidian_Destroyer_Sanity_Eclipse_Thinker : public CDOTA_Buff { public: @@ -21952,58 +22011,58 @@ public: }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium : public CDOTA_Buff { public: - 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 + int32_t proc_chance; // 0x12c8 + int32_t mana_restore; // 0x12cc + float mana_capacity_steal; // 0x12d0 + float mana_capacity_duration; // 0x12d4 + float shard_mana_duration; // 0x12d8 + float scepter_barrier_threshold; // 0x12dc + float scepter_barrier_duration; // 0x12e0 + float scepter_barrier_cooldown; // 0x12e4 + float scepter_max_mana_barrier_pct; // 0x12e8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Barrier : public CDOTA_Buff { public: - float barrier_amt; // 0x12b8 - int32_t m_nDamageAbsorbed; // 0x12bc + float barrier_amt; // 0x12c8 + int32_t m_nDamageAbsorbed; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_BonusMana : public CDOTA_Buff { public: - int32_t shard_bonus_mana; // 0x12b8 + int32_t shard_bonus_mana; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Debuff : public CDOTA_Buff { public: - int32_t mana_steal; // 0x12b8 - float m_flCurrentMana; // 0x12bc + int32_t mana_steal; // 0x12c8 + float m_flCurrentMana; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Buff : public CDOTA_Buff { public: - int32_t mana_steal; // 0x12b8 - float m_flCurrentMana; // 0x12bc + int32_t mana_steal; // 0x12c8 + float m_flCurrentMana; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Debuff_Counter : public CDOTA_Buff { public: @@ -22011,7 +22070,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Buff_Counter : public CDOTA_Buff { public: @@ -22019,97 +22078,97 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_ThunderClap : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 - int32_t attack_speed_slow; // 0x12bc + int32_t movement_slow; // 0x12c8 + int32_t attack_speed_slow; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_DrunkenHaze : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 - int32_t miss_chance; // 0x12bc + int32_t movement_slow; // 0x12c8 + int32_t miss_chance; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_BrewUp : public CDOTA_Buff { public: - bool m_bBuffExtended; // 0x12b8 + bool m_bBuffExtended; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Brewmaster_CinderBrew : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 - bool m_bIgniteActive; // 0x12bc + int32_t movement_slow; // 0x12c8 + bool m_bIgniteActive; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float m_flDamagePerTick; // 0x12c0 + float m_flDamagePerTick; // 0x12d0 }; // Alignment: 14 -// Size: 0x12f0 +// Size: 0x1300 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 + int32_t dodge_chance; // 0x12c8 + int32_t crit_chance; // 0x12cc + int32_t crit_multiplier; // 0x12d0 + int32_t attack_speed; // 0x12d4 + int32_t active_multiplier; // 0x12d8 + int32_t stun_chance; // 0x12dc + float bash_cooldown; // 0x12e0 + float stun_duration; // 0x12e4 + float slow_duration; // 0x12e8 + int32_t bonus_move_speed; // 0x12ec + int32_t bonus_status_resist; // 0x12f0 + int32_t armor; // 0x12f4 + int32_t magic_resist; // 0x12f8 + float m_flLastBash; // 0x12fc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_Void_Brawler_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 - int32_t active_multiplier; // 0x12bc + int32_t movespeed; // 0x12c8 + int32_t active_multiplier; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_DrunkenBrawler_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 + int32_t movespeed; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Brewmaster_DrunkenBrawler : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + ParticleIndex_t m_nFXIndexB; // 0x12cc + int32_t min_movement; // 0x12d0 + int32_t max_movement; // 0x12d4 + int32_t m_iMovementBonus; // 0x12d8 + GameTime_t m_flNextUpdateTime; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Brewmaster_PrimalSplit_Scepter : public CDOTA_Buff { public: @@ -22117,53 +22176,53 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_PrimalSplitDelay : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_Fire_Phase : public CDOTA_Buff { public: - int32_t status_resistance; // 0x12b8 + int32_t status_resistance; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_PrimalSplitDuration : public CDOTA_Buff { public: - int32_t bonus_brewling_hp; // 0x12b8 - int32_t bonus_damage; // 0x12bc + int32_t bonus_brewling_hp; // 0x12c8 + int32_t bonus_damage; // 0x12cc }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Brewmaster_PrimalSplit : public CDOTA_Buff { public: - 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 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x12cc + CHandle< C_BaseEntity > m_hTertiaryTarget; // 0x12d0 + CHandle< C_BaseEntity > m_hFourthTarget; // 0x12d4 + CHandle< C_BaseEntity > m_hReturnBrewling; // 0x12d8 + int32_t m_nFXIndex; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_Void_AstralPulse : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Brewmaster_Void_Void_Strike : public CDOTA_Buff { public: @@ -22171,7 +22230,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Brewmaster_SpellImmunity : public CDOTA_Modifier_DebuffImmune { public: @@ -22179,15 +22238,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_Pulverize : public CDOTA_Buff { public: - int32_t bonus_building_damage; // 0x12b8 + int32_t bonus_building_damage; // 0x12c8 }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_Cyclone : public CDOTA_Modifier_Cyclone { public: @@ -22195,32 +22254,32 @@ public: }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Brewmaster_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t bonus_movement_speeed; // 0x12c8 - int32_t bonus_damage; // 0x12cc + int32_t bonus_movement_speeed; // 0x12d8 + int32_t bonus_damage; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_PermanentImmolation_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_PermanentImmolation : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 + int32_t damage; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Brewmaster_Fear : public CDOTA_Modifier_Fear { public: @@ -22228,62 +22287,62 @@ public: }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Brewmaster_Primal_Companion : public CDOTA_Buff { public: - 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 + float cooldown_on_death; // 0x12c8 + float cooldown_on_take_damage; // 0x12cc + int32_t disable_distance; // 0x12d0 + int32_t movement_slow_when_out_of_range; // 0x12d4 + bool m_bCanAttack; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - 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: 0x12c8 -class CDOTA_Modifier_Brewmaster_Void_Astral_Pull_Movement : public CDOTA_Buff -{ -public: - int32_t pull_distance; // 0x12b8 - int32_t damage; // 0x12bc - float pull_duration; // 0x12c0 + ParticleIndex_t m_nFxIndex; // 0x12dc + int32_t cooldown_penalty_pct; // 0x12e0 + int32_t bonus_brewling_hp; // 0x12e4 + int32_t bonus_damage; // 0x12e8 }; // Alignment: 3 // Size: 0x12d8 +class CDOTA_Modifier_Brewmaster_Void_Astral_Pull_Movement : public CDOTA_Buff +{ +public: + int32_t pull_distance; // 0x12c8 + int32_t damage; // 0x12cc + float pull_duration; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12e8 class CDOTA_Modifier_Lycan_Wolf_Bite_Lifesteal : public CDOTA_Buff { public: - int32_t lifesteal_percent; // 0x12b8 - int32_t lifesteal_range; // 0x12bc - CUtlVector< CHandle< C_BaseEntity > > m_vecTargets; // 0x12c0 + int32_t lifesteal_percent; // 0x12c8 + int32_t lifesteal_range; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > m_vecTargets; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lycan_Wolf_Bite_Attack_Range : public CDOTA_Buff { public: - int32_t attack_range; // 0x12b8 + int32_t attack_range; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lycan_Shard : public CDOTA_Buff { public: - float m_flNextSpawn; // 0x12b8 + float m_flNextSpawn; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lycan_Wolf_Uncontrollable : public CDOTA_Buff { public: @@ -22291,52 +22350,52 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lycan_SummonWolves_BonusDamage : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lycan_SummonWolves_Bash : public CDOTA_Buff { public: - int32_t bash_chance; // 0x12b8 - float bash_duration; // 0x12bc + int32_t bash_chance; // 0x12c8 + float bash_duration; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lycan_SummonWolves_Health : public CDOTA_Buff { public: - int32_t bonus_health; // 0x12b8 + int32_t bonus_health; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12e8 +class CDOTA_Modifier_Lycan_SummonWolves_CriticalStrike : public CDOTA_Buff +{ +public: + CountdownTimer m_CooldownTimer; // 0x12c8 + int32_t maim_chance; // 0x12e0 + float maim_duration; // 0x12e4 }; // Alignment: 3 // Size: 0x12d8 -class CDOTA_Modifier_Lycan_SummonWolves_CriticalStrike : public CDOTA_Buff -{ -public: - CountdownTimer m_CooldownTimer; // 0x12b8 - int32_t maim_chance; // 0x12d0 - float maim_duration; // 0x12d4 -}; - -// Alignment: 3 -// Size: 0x12c8 class CDOTA_Modifier_Lycan_SummonWolves_Maim : public CDOTA_Buff { public: - int32_t maim_movement_speed; // 0x12b8 - int32_t maim_attack_speed; // 0x12bc - int32_t maim_damage; // 0x12c0 + int32_t maim_movement_speed; // 0x12c8 + int32_t maim_attack_speed; // 0x12cc + int32_t maim_damage; // 0x12d0 }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Lycan_SummonWolves_PermanentInvisibility : public CDOTA_Modifier_PersistentInvisibility { public: @@ -22344,34 +22403,34 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Lycan_Howl : public CDOTA_Buff { public: - int32_t attack_damage_reduction; // 0x12b8 - int32_t total_attack_damage_reduction; // 0x12bc - int32_t armor; // 0x12c0 + int32_t attack_damage_reduction; // 0x12c8 + int32_t total_attack_damage_reduction; // 0x12cc + int32_t armor; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lycan_FeralImpulse_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lycan_FeralImpulse : public CDOTA_Buff { public: - int32_t bonus_hp_regen; // 0x12b8 - int32_t bonus_damage; // 0x12bc + int32_t bonus_hp_regen; // 0x12c8 + int32_t bonus_damage; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lycan_Shapeshift_Transform : public CDOTA_Buff { public: @@ -22379,7 +22438,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lycan_Shapeshift_Thinker : public CDOTA_Buff { public: @@ -22387,28 +22446,28 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Lycan_Shapeshift : public CDOTA_Buff { public: - int32_t bonus_night_vision; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc - int32_t m_iOriginalAttackCapability; // 0x12c0 + int32_t bonus_night_vision; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + int32_t m_iOriginalAttackCapability; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Lycan_Shapeshift_Speed : public CDOTA_Buff { public: - int32_t speed; // 0x12b8 - int32_t crit_chance; // 0x12bc - int32_t crit_multiplier; // 0x12c0 - int32_t health_bonus; // 0x12c4 + int32_t speed; // 0x12c8 + int32_t crit_chance; // 0x12cc + int32_t crit_multiplier; // 0x12d0 + int32_t health_bonus; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lycan_Fear : public CDOTA_Modifier_Fear { public: @@ -22416,7 +22475,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Shadow_Demon_Disruption_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -22424,53 +22483,53 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Shadow_Demon_Disruption : public CDOTA_Buff { public: - float m_flHealth; // 0x12b8 - float m_flDisseminate_Duration; // 0x12bc - CHandle< C_BaseEntity > m_hDisseminateAbility; // 0x12c0 + float m_flHealth; // 0x12c8 + float m_flDisseminate_Duration; // 0x12cc + CHandle< C_BaseEntity > m_hDisseminateAbility; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher : public CDOTA_Buff { public: - int32_t actual_health_lost; // 0x12b8 + int32_t actual_health_lost; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher_SpellAmp : public CDOTA_Buff { public: - int32_t num_heroes; // 0x12b8 - int32_t bonus_spell_amp; // 0x12bc + int32_t num_heroes; // 0x12c8 + int32_t bonus_spell_amp; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher_Illusion : public CDOTA_Buff { public: - CHandle< C_BaseEntity > hTarget; // 0x12b8 + CHandle< C_BaseEntity > hTarget; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Shadow_Demon_Shadow_Poison : public CDOTA_Buff { public: - float stack_damage; // 0x12b8 - float bonus_stack_damage; // 0x12bc - int32_t max_multiply_stacks; // 0x12c0 - ParticleIndex_t m_nFXStackIndex; // 0x12c4 + float stack_damage; // 0x12c8 + float bonus_stack_damage; // 0x12cc + int32_t max_multiply_stacks; // 0x12d0 + ParticleIndex_t m_nFXStackIndex; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Shadow_Demon_DemonicPurge_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -22478,7 +22537,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Shadow_Demon_Purge_Slow : public CDOTA_Buff { public: @@ -22486,45 +22545,45 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Shadow_Demon_Disseminate : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x12b8 - int32_t radius; // 0x12bc - GameTime_t m_flLastDispersionPulseEffectTime; // 0x12c0 + int32_t damage_reflection_pct; // 0x12c8 + int32_t radius; // 0x12cc + GameTime_t m_flLastDispersionPulseEffectTime; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_LoneDruid_SpiritBear_AttackCheck : public CDOTA_Buff { public: - bool m_bCanBeResummoned; // 0x12b8 - bool m_bCanAttack; // 0x12b9 + bool m_bCanBeResummoned; // 0x12c8 + bool m_bCanAttack; // 0x12c9 private: - [[maybe_unused]] uint8_t __pad12ba[0x2]; // 0x12ba + [[maybe_unused]] uint8_t __pad12ca[0x2]; // 0x12ca public: - ParticleIndex_t m_nFxIndex; // 0x12bc - ParticleIndex_t m_nStatusFxIndex; // 0x12c0 + ParticleIndex_t m_nFxIndex; // 0x12cc + ParticleIndex_t m_nStatusFxIndex; // 0x12d0 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Spirit_Bear_Attack_Damage : public CDOTA_Buff { public: - 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 + float bear_bat; // 0x12c8 + int32_t bear_magic_resistance; // 0x12cc + int32_t bonus_bear_hp; // 0x12d0 + int32_t bear_movespeed; // 0x12d4 + int32_t bonus_bear_armor; // 0x12d8 + int32_t hp_gain_per_druid_level; // 0x12dc + int32_t damage_gain_per_druid_level; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_LoneDruid_SpiritBear_Defender_Aura : public CDOTA_Buff { public: @@ -22532,83 +22591,83 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_LoneDruid_SpiritBear_Defender : public CDOTA_Buff { public: - int32_t damage_share; // 0x12b8 + int32_t damage_share; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_LoneDruid_Entangling_Claws : public CDOTA_Buff { public: - int32_t attack_amp; // 0x12b8 + int32_t attack_amp; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_LoneDruid_SpiritBear_Entangle : public CDOTA_Buff { public: - int32_t entangle_chance; // 0x12b8 - int32_t hero_entangle_chance; // 0x12bc - float hero_duration; // 0x12c0 + int32_t entangle_chance; // 0x12c8 + int32_t hero_entangle_chance; // 0x12cc + float hero_duration; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_LoneDruid_SpiritBear_Entangle_Effect : public CDOTA_Buff { public: - int32_t m_iEntangleDamage; // 0x12b8 - float interval_rate; // 0x12bc - int32_t damage; // 0x12c0 + int32_t m_iEntangleDamage; // 0x12c8 + float interval_rate; // 0x12cc + int32_t damage; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_LoneDruid_SpiritBear_Demolish : public CDOTA_Buff { public: - int32_t bonus_building_damage; // 0x12b8 - int32_t true_form_bonus_building_damage; // 0x12bc - int32_t spell_resistance; // 0x12c0 + int32_t bonus_building_damage; // 0x12c8 + int32_t true_form_bonus_building_damage; // 0x12cc + int32_t spell_resistance; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_LoneDruid_Rabid : public CDOTA_Buff { public: - int32_t shard_movement_speed_pct; // 0x12b8 - int32_t shard_attack_speed; // 0x12bc + int32_t shard_movement_speed_pct; // 0x12c8 + int32_t shard_attack_speed; // 0x12cc }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_LoneDruid_SpiritLink : public CDOTA_Buff { public: - 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 + int32_t bonus_attack_speed; // 0x12c8 + int32_t lifesteal_percent; // 0x12cc + int32_t armor; // 0x12d0 + int32_t armor_sharing; // 0x12d4 + int32_t active_bonus; // 0x12d8 + CHandle< C_BaseEntity > m_hTarget; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_LoneDruid_SpiritLink_Active : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_LoneDruid_TrueForm_Transform : public CDOTA_Buff { public: @@ -22616,25 +22675,25 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_LoneDruid_TrueForm : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 - int32_t bonus_hp; // 0x12bc - float base_attack_time; // 0x12c0 + int32_t bonus_armor; // 0x12c8 + int32_t bonus_hp; // 0x12cc + float base_attack_time; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_LoneDruid_SpiritLink_BearFear : public CDOTA_Modifier_Fear { public: - int32_t bonus_speed; // 0x12b8 + int32_t bonus_speed; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_LoneDruid_DruidForm_Transform : public CDOTA_Buff { public: @@ -22642,24 +22701,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_LoneDruid_TrueForm_BattleCry : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t bonus_armor; // 0x12bc + int32_t bonus_damage; // 0x12c8 + int32_t bonus_armor; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_LoneDruid_SavageRoar : public CDOTA_Modifier_Fear { public: - int32_t bonus_speed; // 0x12b8 + int32_t bonus_speed; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_LoneDruid_SpiritBear_TowerKillTracker : public CDOTA_Buff { public: @@ -22667,76 +22726,76 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 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 + float tick_rate; // 0x12c8 + int32_t drag_distance; // 0x12cc + int32_t break_distance; // 0x12d0 + Vector vPreviousLocation; // 0x12d4 }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_LoneDruid_SpiritBear_Fetch_Self : public CDOTA_Buff { public: - int32_t self_slow; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc - CHandle< C_BaseEntity > m_hTarget; // 0x12c0 - bool m_bFetchingRune; // 0x12c4 + int32_t self_slow; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + CHandle< C_BaseEntity > m_hTarget; // 0x12d0 + bool m_bFetchingRune; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - Vector m_vPreviousLoc; // 0x12c8 - int32_t drag_distance; // 0x12d4 - int32_t break_distance; // 0x12d8 + Vector m_vPreviousLoc; // 0x12d8 + int32_t drag_distance; // 0x12e4 + int32_t break_distance; // 0x12e8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t max_ticks; // 0x12c8 + float damage; // 0x12cc + float duration; // 0x12d0 + float tick_rate; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ChaosKnight_Reality_Rift_Debuff : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x12b8 + int32_t armor_reduction; // 0x12c8 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 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 + float creep_multiplier; // 0x12c8 + float creep_lifesteal_reduction_pct; // 0x12cc + int32_t crit_min; // 0x12d0 + int32_t crit_max; // 0x12d4 + int32_t lifesteal; // 0x12d8 + float chance; // 0x12dc + int32_t m_nNextCrit; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ChaosKnight_Chaos_Strike_Debuff : public CDOTA_Buff { public: - int32_t maim_slow; // 0x12b8 + int32_t maim_slow; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_ChaosKnight_Phantasm : public CDOTA_Buff { public: @@ -22744,7 +22803,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_ChaosKnight_Phantasm_Illusion : public CDOTA_Buff { public: @@ -22752,7 +22811,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_ChaosKnight_Phantasm_Illusion_Shard : public CDOTA_Modifier_ChaosKnight_Phantasm_Illusion { public: @@ -22760,7 +22819,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Meepo_Earthbind : public CDOTA_Buff { public: @@ -22768,7 +22827,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Meepo_Earthbind_ChainDuration : public CDOTA_Buff { public: @@ -22776,7 +22835,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Meepo_Self_Geostrike : public CDOTA_Buff { public: @@ -22784,67 +22843,67 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Meepo_Geostrike_Debuff : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 - int32_t damage; // 0x12bc + int32_t slow; // 0x12c8 + int32_t damage; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Meepo_Flung : public CDOTA_Buff { public: - int32_t m_nHandle; // 0x12b8 + int32_t m_nHandle; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Meepo_Fling_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Meepo_Divided_We_Stand : public CDOTA_Buff { public: - float respawn; // 0x12b8 - float magic_resist; // 0x12bc + float respawn; // 0x12c8 + float magic_resist; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Meepo_Poof_Damage_Sharing : public CDOTA_Buff { public: - int32_t damage_share_percentage; // 0x12b8 - int32_t damage_share_radius; // 0x12bc + int32_t damage_share_percentage; // 0x12c8 + int32_t damage_share_radius; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Meepo_Poof_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Meepo_Ransack : public CDOTA_Buff { public: - int32_t health_steal_heroes; // 0x12b8 - int32_t health_steal_creeps; // 0x12bc + int32_t health_steal_heroes; // 0x12c8 + int32_t health_steal_creeps; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Unique_Meepo_5 : public CDOTA_Buff { public: @@ -22852,7 +22911,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Meepo_Poof_Casting : public CDOTA_Buff { public: @@ -22860,34 +22919,35 @@ public: }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Meepo_MegaMeepo : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + float m_flOffset; // 0x12cc + QAngle m_vStartAngles; // 0x12d0 + Vector m_vStartLocation; // 0x12dc + float animation_rate; // 0x12e8 + bool m_bInterrupted; // 0x12ec + bool m_bHasBeenDestroyed; // 0x12ed + bool m_bIsHighestMeepo; // 0x12ee }; -// Alignment: 5 -// Size: 0x12d0 +// Alignment: 6 +// Size: 0x12e0 class CDOTA_Modifier_Meepo_MegaMeepo_Self : public CDOTA_Buff { public: - 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 + int32_t base_strength; // 0x12c8 + int32_t base_int; // 0x12cc + int32_t base_agi; // 0x12d0 + int32_t stats_pct; // 0x12d4 + CHandle< C_BaseEntity > m_hMegameepoFrame; // 0x12d8 + bool m_bWasOutOfGame; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Meepo_MegaMeepo_Frame_Invulnerable : public CDOTA_Buff { public: @@ -22895,16 +22955,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Meepo_Petrify : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t hp_restore; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t hp_restore; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Treant_EyesInTheForest_Thinker : public CDOTA_Buff { public: @@ -22912,46 +22972,46 @@ public: }; // Alignment: 8 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Treant_NaturesGrasp_Creation_Thinker : public CDOTA_Buff { public: - 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 + float creation_interval; // 0x12c8 + float vines_duration; // 0x12cc + int32_t vine_spawn_interval; // 0x12d0 + Vector m_vInitialLoc; // 0x12d4 + Vector m_vFinalLoc; // 0x12e0 + int32_t m_iVineCount; // 0x12ec + int32_t m_iVinesIndex; // 0x12f0 + bool m_bFoundTree; // 0x12f4 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Treant_NaturesGrasp_Latch_Thinker : public CDOTA_Buff { public: - int32_t latch_range; // 0x12b8 - int32_t latch_vision; // 0x12bc - float initial_latch_delay; // 0x12c0 + int32_t latch_range; // 0x12c8 + int32_t latch_vision; // 0x12cc + float initial_latch_delay; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x8]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x8]; // 0x12d4 public: - bool m_bBonus; // 0x12cc + bool m_bBonus; // 0x12dc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Treant_NaturesGrasp_Damage : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 - int32_t damage_per_second; // 0x12bc - float tick_interval; // 0x12c0 + int32_t movement_slow; // 0x12c8 + int32_t damage_per_second; // 0x12cc + float tick_interval; // 0x12d0 }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Treant_NaturesGrasp_Damage_Bonus : public CDOTA_Modifier_Treant_NaturesGrasp_Damage { public: @@ -22959,34 +23019,34 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Treant_Lifebomb_Explode : public CDOTA_Buff { public: - GameTime_t flStartTime; // 0x12b8 + GameTime_t flStartTime; // 0x12c8 }; // Alignment: 3 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Treant_NaturesGuise : public CDOTA_Buff { public: - CountdownTimer m_RevealTimer; // 0x12b8 - CountdownTimer m_InvisAttackTimer; // 0x12d0 - CountdownTimer m_CooldownTimer; // 0x12e8 + CountdownTimer m_RevealTimer; // 0x12c8 + CountdownTimer m_InvisAttackTimer; // 0x12e0 + CountdownTimer m_CooldownTimer; // 0x12f8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Treant_NaturesGuise_Tree_Walking : public CDOTA_Buff { public: - int32_t movement_bonus; // 0x12b8 - int32_t regen_amp; // 0x12bc + int32_t movement_bonus; // 0x12c8 + int32_t regen_amp; // 0x12cc }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Treant_NaturesGuise_Invis : public CDOTA_Modifier_Invisible { public: @@ -22994,7 +23054,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Treant_NaturesGuise_NearTreeDisplay : public CDOTA_Buff { public: @@ -23002,54 +23062,54 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Treant_NaturesGuise_Root : public CDOTA_Buff { public: - float m_flEntangleDamage; // 0x12b8 + float m_flEntangleDamage; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Treant_LeechSeed : public CDOTA_Buff { public: - float damage_interval; // 0x12b8 - int32_t leech_damage; // 0x12bc - int32_t movement_slow; // 0x12c0 - int32_t radius; // 0x12c4 - int32_t projectile_speed; // 0x12c8 + float damage_interval; // 0x12c8 + int32_t leech_damage; // 0x12cc + int32_t movement_slow; // 0x12d0 + int32_t radius; // 0x12d4 + int32_t projectile_speed; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Treant_LeechSeed_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Treant_LivingArmor : public CDOTA_Buff { public: - int32_t heal_per_second; // 0x12b8 - int32_t bonus_armor; // 0x12bc + int32_t heal_per_second; // 0x12c8 + int32_t bonus_armor; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Treant_Overgrowth : public CDOTA_Buff { public: - float damage; // 0x12b8 - int32_t mute; // 0x12bc - bool bPurgable; // 0x12c0 + float damage; // 0x12c8 + int32_t mute; // 0x12cc + bool bPurgable; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Ogre_Magi_Arcana : public CDOTA_Buff { public: @@ -23057,7 +23117,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Ogre_Magi_Fireblast_Attack_Proc : public CDOTA_Buff { public: @@ -23065,37 +23125,37 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Ogre_Magi_Fireblast_Multicast : public CDOTA_Buff { public: - CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x12b8 - float multicast_delay; // 0x12bc - int32_t m_nMultiCastCount; // 0x12c0 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x12c8 + float multicast_delay; // 0x12cc + int32_t m_nMultiCastCount; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ogre_Magi_Ignite : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x12b8 - int32_t burn_damage; // 0x12bc + int32_t slow_movement_speed_pct; // 0x12c8 + int32_t burn_damage; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Ogre_Magi_Ignite_Multicast : public CDOTA_Buff { public: - CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x12b8 - float multicast_delay; // 0x12bc - int32_t m_nMultiCastCount; // 0x12c0 - int32_t ignite_multicast_aoe; // 0x12c4 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x12c8 + float multicast_delay; // 0x12cc + int32_t m_nMultiCastCount; // 0x12d0 + int32_t ignite_multicast_aoe; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Ogre_Magi_Bloodlust_Autocast : public CDOTA_Buff { public: @@ -23103,18 +23163,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Ogre_Magi_Bloodlust : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_movement_speed; // 0x12bc - int32_t self_bonus; // 0x12c0 - float modelscale; // 0x12c4 + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_movement_speed; // 0x12cc + int32_t self_bonus; // 0x12d0 + float modelscale; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Ogre_Magi_Item_Multicast : public CDOTA_Buff { public: @@ -23122,58 +23182,58 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Ogre_Magi_Smash_Buff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t attacks; // 0x12bc - int32_t damage; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t attacks; // 0x12cc + int32_t damage; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ogre_Magi_DumbLuck : public CDOTA_Buff { public: - float mana_per_str; // 0x12b8 - float mana_regen_per_str; // 0x12bc + float mana_per_str; // 0x12c8 + float mana_regen_per_str; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float health_threshold_pct; // 0x12bc - float duration; // 0x12c0 - CHandle< C_DOTABaseAbility > m_hTombstoneSourceAbility; // 0x12c4 - CHandle< C_BaseEntity > m_hChaseUnit; // 0x12c8 + int32_t radius; // 0x12c8 + float health_threshold_pct; // 0x12cc + float duration; // 0x12d0 + CHandle< C_DOTABaseAbility > m_hTombstoneSourceAbility; // 0x12d4 + CHandle< C_BaseEntity > m_hChaseUnit; // 0x12d8 }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Undying_Decay_Shard : public CDOTA_Buff { public: - float shard_buff_duration; // 0x12b8 + float shard_buff_duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< GameTime_t > m_vecStackExpirationTimes; // 0x12c0 + CUtlVector< GameTime_t > m_vecStackExpirationTimes; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Undying_Decay_Debuff : public CDOTA_Buff { public: - int32_t str_steal; // 0x12b8 + int32_t str_steal; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Undying_Decay_DebuffCounter : public CDOTA_Buff { public: @@ -23181,7 +23241,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Undying_Decay_BuffCounter : public CDOTA_Buff { public: @@ -23189,42 +23249,42 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Undying_Decay_Buff : public CDOTA_Buff { public: - int32_t str_steal; // 0x12b8 - int32_t str_scale_up; // 0x12bc + int32_t str_steal; // 0x12c8 + int32_t str_scale_up; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 - float m_flDecrementTime; // 0x12bc + int32_t slow; // 0x12c8 + float m_flDecrementTime; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike_Slow_Counter : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathlust : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc + int32_t bonus_move_speed; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Undying_Tombstone_Zombie_Modifier : public CDOTA_Buff { public: @@ -23232,35 +23292,35 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Undying_Tombstone_Bunker : public CDOTA_Buff { public: - float bunker_heal_pct; // 0x12b8 - float tombstone_grab_radius; // 0x12bc - float tombstone_stun_penalty; // 0x12c0 + float bunker_heal_pct; // 0x12c8 + float tombstone_grab_radius; // 0x12cc + float tombstone_stun_penalty; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float zombie_interval; // 0x12bc + int32_t radius; // 0x12c8 + float zombie_interval; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Undying_Tombstone_HP : public CDOTA_Buff { public: - int32_t tombstone_health; // 0x12b8 - int32_t zombie_damage_interval; // 0x12bc + int32_t tombstone_health; // 0x12c8 + int32_t zombie_damage_interval; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Undying_Tombstone_Bunker_Cooldown : public CDOTA_Buff { public: @@ -23268,7 +23328,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Undying_Tombstone_Bunker_Friendly : public CDOTA_Buff { public: @@ -23276,35 +23336,35 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Undying_FleshGolem : public CDOTA_Buff { public: - int32_t str_percentage; // 0x12b8 - int32_t movement_bonus; // 0x12bc + int32_t str_percentage; // 0x12c8 + int32_t movement_bonus; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Undying_FleshGolem_Slow : public CDOTA_Buff { public: - int32_t damage_amp; // 0x12b8 - int32_t slow; // 0x12bc + int32_t damage_amp; // 0x12c8 + int32_t slow; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Undying_FleshGolem_PlagueAura : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 - int32_t damage; // 0x12bc - float tick_rate; // 0x12c0 + int32_t slow; // 0x12c8 + int32_t damage; // 0x12cc + float tick_rate; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Undying_Tombstone_Death_Trigger : public CDOTA_Buff { public: @@ -23312,41 +23372,41 @@ public: }; // Alignment: 10 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Rubick_Telekinesis : public CDOTA_Buff { public: - 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 + GameTime_t m_fStartTime; // 0x12c8 + GameTime_t m_fEndTime; // 0x12cc + float m_fTargetHeight; // 0x12d0 + float m_fCurHeight; // 0x12d4 + Vector m_vStartLoc; // 0x12d8 + Vector m_vCurLoc; // 0x12e4 + int32_t max_land_distance; // 0x12f0 + float fall_duration; // 0x12f4 + bool m_bOverrideDuration; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 + [[maybe_unused]] uint8_t __pad12f9[0x3]; // 0x12f9 public: - float m_flOverrideDuration; // 0x12ec + float m_flOverrideDuration; // 0x12fc }; // Alignment: 7 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Rubick_FadeBolt : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t damage; // 0x12cc + int32_t jump_damage_reduction_pct; // 0x12d0 + float jump_delay; // 0x12d4 + int32_t m_iCurJumpCount; // 0x12d8 + Vector m_vCurTargetLoc; // 0x12dc + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12e8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rubick_Telekinesis_Stun : public CDOTA_Modifier_Stunned { public: @@ -23354,15 +23414,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rubick_FadeBoltDebuff : public CDOTA_Buff { public: - int32_t attack_damage_reduction; // 0x12b8 + int32_t attack_damage_reduction; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rubick_FadeBolt_BuffCounter : public CDOTA_Buff { public: @@ -23370,149 +23430,149 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rubick_FadeBoltBuff : public CDOTA_Buff { public: - int32_t attack_damage_bonus; // 0x12b8 - int32_t attack_damage_reduction; // 0x12bc + int32_t attack_damage_bonus; // 0x12c8 + int32_t attack_damage_reduction; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rubick_NullField : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rubick_NullField_Effect : public CDOTA_Buff { public: - int32_t magic_damage_reduction_pct; // 0x12b8 - bool m_bWasHidden; // 0x12bc + int32_t magic_damage_reduction_pct; // 0x12c8 + bool m_bWasHidden; // 0x12cc }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Rubick_SpellSteal : public CDOTA_Buff { public: - CUtlString m_strActivityModifier; // 0x12b8 - int32_t stolen_debuff_amp; // 0x12c0 + CUtlString m_strActivityModifier; // 0x12c8 + int32_t stolen_debuff_amp; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rubick_Arcane_Supremacy : public CDOTA_Buff { public: - int32_t cast_range; // 0x12b8 - int32_t spell_amp; // 0x12bc + int32_t cast_range; // 0x12c8 + int32_t spell_amp; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 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 + float strike_interval; // 0x12c8 + int32_t radius; // 0x12cc + int32_t strike_damage; // 0x12d0 + int32_t strike_damage_bonus; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Disruptor_Thunder_Strike_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x12b8 + int32_t slow_amount; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 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 + int32_t shard_movement_speed_bonus; // 0x12c8 + int32_t shard_attack_speed_bonus; // 0x12cc }; // Alignment: 1 -// Size: 0x1390 +// Size: 0x13a0 class CDOTA_Modifier_Disruptor_Glimpse : public CDOTA_Buff { public: - Vector m_PositionIndex[18]; // 0x12b8 + Vector m_PositionIndex[18]; // 0x12c8 }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Disruptor_Glimpse_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x12b8 - CHandle< C_BaseEntity > m_hEntity; // 0x12c4 - float m_flDistance; // 0x12c8 + Vector m_vStartLoc; // 0x12c8 + CHandle< C_BaseEntity > m_hEntity; // 0x12d4 + float m_flDistance; // 0x12d8 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Disruptor_KineticFieldThinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float formation_time; // 0x12bc - bool m_bActive; // 0x12c0 + int32_t radius; // 0x12c8 + float formation_time; // 0x12cc + bool m_bActive; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0xb]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0xb]; // 0x12d1 public: - int32_t m_nFXIndex; // 0x12cc + int32_t m_nFXIndex; // 0x12dc }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Disruptor_KineticField : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - Vector m_vOriginLoc; // 0x12bc - bool m_bTruesight; // 0x12c8 + int32_t radius; // 0x12c8 + Vector m_vOriginLoc; // 0x12cc + bool m_bTruesight; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - float damage_per_second; // 0x12cc + float damage_per_second; // 0x12dc }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Disruptor_StaticStormThinker : public CDOTA_Buff { public: - 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 + int32_t m_nCurrentPulse; // 0x12c8 + int32_t radius; // 0x12cc + int32_t damage_max; // 0x12d0 + int32_t pulses; // 0x12d4 + float duration; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Disruptor_StaticStorm : public CDOTA_Buff { public: - int32_t miss_rate; // 0x12b8 - int32_t movement_speed_reduction; // 0x12bc - int32_t attack_speed_reduction; // 0x12c0 - bool m_bHasScepter; // 0x12c4 + int32_t miss_rate; // 0x12c8 + int32_t movement_speed_reduction; // 0x12cc + int32_t attack_speed_reduction; // 0x12d0 + bool m_bHasScepter; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Disruptor_StaticStormMute : public CDOTA_Buff { public: @@ -23520,58 +23580,63 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Nyx_Assassin_Impale : public CDOTA_Buff { public: - int32_t impale_damage; // 0x12b8 + int32_t impale_damage; // 0x12c8 }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Nyx_Assassin_Burrow : public CDOTA_Modifier_Invisible { public: - float health_regen_rate; // 0x12c8 - float mana_regen_rate; // 0x12cc - int32_t damage_reduction; // 0x12d0 - Vector m_vecInitialPos; // 0x12d4 + float health_regen_rate; // 0x12d8 + float mana_regen_rate; // 0x12dc + int32_t damage_reduction; // 0x12e0 + Vector m_vecInitialPos; // 0x12e4 }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Nyx_Assassin_SpikedCarapace : public CDOTA_Buff { public: - float stun_duration; // 0x12b8 + float stun_duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< CHandle< C_BaseEntity > > m_hProcessedEnemies; // 0x12c0 + CUtlVector< CHandle< C_BaseEntity > > m_hProcessedEnemies; // 0x12d0 }; -// Alignment: 5 -// Size: 0x12e0 +// Alignment: 7 +// Size: 0x12f8 class CDOTA_Modifier_Nyx_Assassin_Vendetta : public CDOTA_Modifier_Invisible { public: - 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 + int32_t bonus_damage; // 0x12d8 + int32_t movement_speed; // 0x12dc + int32_t shard_movement_speed_bonus; // 0x12e0 + int32_t mana_removal_pct; // 0x12e4 + bool m_bFreePathing; // 0x12e8 +private: + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 +public: + int32_t attack_animation_bonus; // 0x12ec + int32_t attack_range_bonus; // 0x12f0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Nyx_Assassin_Vendetta_Armor_Reduction : public CDOTA_Buff { public: - int32_t shard_magic_resist_reduction; // 0x12b8 + int32_t shard_magic_resist_reduction; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nyx_Assassin_Vendetta_Break : public CDOTA_Buff { public: @@ -23579,7 +23644,7 @@ public: }; // Alignment: 0 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Nyx_Assassin_Jolt_Damage_Tracker : public CDOTA_Buff { public: @@ -23587,15 +23652,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Nyx_Assassin_Jolt_Debuff : public CDOTA_Buff { public: - int32_t resist_debuff; // 0x12b8 + int32_t resist_debuff; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_NagaSiren_MirrorImage : public CDOTA_Buff { public: @@ -23603,7 +23668,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_NagaSiren_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -23611,7 +23676,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_NagaSiren_RipTide_Passive : public CDOTA_Buff { public: @@ -23619,7 +23684,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_NagaSiren_RipTideCounter : public CDOTA_Buff { public: @@ -23627,15 +23692,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_NagaSiren_RipTide : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x12b8 + int32_t armor_reduction; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_NagaSiren_RipTide_Slow : public CDOTA_Buff { public: @@ -23643,34 +23708,34 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_NagaSiren_Crit_Passive : public CDOTA_Buff { public: - int32_t chance; // 0x12b8 - int32_t crit; // 0x12bc + int32_t chance; // 0x12c8 + int32_t crit; // 0x12cc }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t m_nAffectedEnemies; // 0x12bc - CUtlVector< CHandle< C_BaseEntity > > m_vhAffectedHeroes; // 0x12c0 + int32_t radius; // 0x12c8 + int32_t m_nAffectedEnemies; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > m_vhAffectedHeroes; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_NagaSiren_SongOfTheSiren : public CDOTA_Buff { public: - float animation_rate; // 0x12b8 + float animation_rate; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_IgnoreMe : public CDOTA_Buff { public: @@ -23678,177 +23743,177 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_Healing_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t m_nAffectedAllies; // 0x12bc - CUtlVector< CHandle< C_BaseEntity > > m_vhAffectedHeroes; // 0x12c0 + int32_t radius; // 0x12c8 + int32_t m_nAffectedAllies; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > m_vhAffectedHeroes; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class NagaSiren_SongOfTheSiren_Healing : public CDOTA_Buff { public: - int32_t heal_pct; // 0x12b8 + int32_t heal_pct; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Naga_Siren_Reel_In : public CDOTA_Buff { public: - float pull_strength; // 0x12b8 - int32_t min_pull_distance; // 0x12bc - GameTime_t m_flLastThinkTime; // 0x12c0 + float pull_strength; // 0x12c8 + int32_t min_pull_distance; // 0x12cc + GameTime_t m_flLastThinkTime; // 0x12d0 }; // Alignment: 10 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_KeeperOfTheLight_Illuminate : public CDOTA_Buff { public: - 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: 20 -// Size: 0x1330 -class CDOTA_Modifier_KeeperOfTheLight_SpiritForm_Illuminate : public CDOTA_Buff -{ -public: - 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 range; // 0x12c8 + int32_t total_damage; // 0x12cc + int32_t radius; // 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 + GameTime_t m_flLastChantTime; // 0x12e4 + Vector m_vNextVisionLocation; // 0x12e8 + Vector m_vCastDirection; // 0x12f4 +}; + +// Alignment: 20 +// Size: 0x1340 +class CDOTA_Modifier_KeeperOfTheLight_SpiritForm_Illuminate : public CDOTA_Buff +{ +public: + int32_t range; // 0x12c8 + int32_t vision_radius; // 0x12cc + int32_t radius; // 0x12d0 + int32_t total_damage; // 0x12d4 + float max_channel_time; // 0x12d8 + float speed; // 0x12dc + float vision_duration; // 0x12e0 + int32_t channel_vision_radius; // 0x12e4 + float channel_vision_interval; // 0x12e8 + float channel_vision_duration; // 0x12ec + int32_t channel_vision_step; // 0x12f0 + Vector m_vCastLoc; // 0x12f4 + Vector m_vTargetLoc; // 0x1300 + GameTime_t m_fStartTime; // 0x130c + QAngle m_qCastAngle; // 0x1310 + int32_t m_iProjectile; // 0x131c + ParticleIndex_t m_nFXIndex; // 0x1320 + ParticleIndex_t m_nFXIndexB; // 0x1324 + Vector m_vNextVisionLocation; // 0x1328 + Vector m_vCastDirection; // 0x1334 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_KeeperOfTheLight_ManaLeak : public CDOTA_Buff { public: - float mana_leak_pct; // 0x12b8 - Vector vLastPos; // 0x12bc - bool bResetPosition; // 0x12c8 + float mana_leak_pct; // 0x12c8 + Vector vLastPos; // 0x12cc + bool bResetPosition; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - float m_fAccumulatedManaLeak; // 0x12cc + float m_fAccumulatedManaLeak; // 0x12dc }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_KeeperOfTheLight_Radiant_Bind : public CDOTA_Buff { public: - float slow; // 0x12b8 - int32_t magic_resistance; // 0x12bc - Vector vLastPos; // 0x12c0 - bool bResetPosition; // 0x12cc + float slow; // 0x12c8 + int32_t magic_resistance; // 0x12cc + Vector vLastPos; // 0x12d0 + bool bResetPosition; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - float m_fAccumulatedDistance; // 0x12d0 - ParticleIndex_t m_nFXIndex; // 0x12d4 - ParticleIndex_t m_nStatusFXIndex; // 0x12d8 + float m_fAccumulatedDistance; // 0x12e0 + ParticleIndex_t m_nFXIndex; // 0x12e4 + ParticleIndex_t m_nStatusFXIndex; // 0x12e8 }; // Alignment: 12 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_KeeperOfTheLight_Will_O_Wisp_Aura : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + float off_duration; // 0x12cc + float off_duration_initial; // 0x12d0 + float on_duration; // 0x12d4 + int32_t hit_count; // 0x12d8 + int32_t m_iAttackCount; // 0x12dc + GameTime_t m_flNextTimeOn; // 0x12e0 + bool m_bActive; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - ParticleIndex_t m_nFXIndex; // 0x12d8 - ParticleIndex_t m_nFXIndexB; // 0x12dc - GameTime_t m_flNextTime; // 0x12e0 - float m_flCorrectionTime; // 0x12e4 + ParticleIndex_t m_nFXIndex; // 0x12e8 + ParticleIndex_t m_nFXIndexB; // 0x12ec + GameTime_t m_flNextTime; // 0x12f0 + float m_flCorrectionTime; // 0x12f4 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_KeeperOfTheLight_Will_O_Wisp : public CDOTA_Buff { public: - int32_t fixed_movement_speed; // 0x12b8 - Vector m_vSource; // 0x12bc + int32_t fixed_movement_speed; // 0x12c8 + Vector m_vSource; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_KeeperOfTheLight_SpiritForm : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndexA; // 0x12b8 - int32_t movement_speed; // 0x12bc - int32_t cast_range; // 0x12c0 - bool m_bDidSwapSpiritForm; // 0x12c4 + ParticleIndex_t m_nFXIndexA; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t cast_range; // 0x12d0 + bool m_bDidSwapSpiritForm; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_KeeperOfTheLight_Recall : public CDOTA_Buff { public: - bool m_bWasAttacked; // 0x12b8 + bool m_bWasAttacked; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_KeeperOfTheLight_BlindingLight_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_KeeperOfTheLight_BlindingLight : public CDOTA_Buff { public: - int32_t miss_rate; // 0x12b8 + int32_t miss_rate; // 0x12c8 }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_BlindingLight_Knockback : public CDOTA_Modifier_Knockback { public: @@ -23856,51 +23921,51 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Wisp_Tentacles : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - CHandle< C_BaseEntity > hCurrentEntity; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c8 + CHandle< C_BaseEntity > hCurrentEntity; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Wisp_Tether_Spell_Lifesteal : public CDOTA_Buff { public: - float shard_bonus_spell_lifesteal; // 0x12b8 + float shard_bonus_spell_lifesteal; // 0x12c8 }; // Alignment: 14 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Wisp_Tether : public CDOTA_Buff { public: - bool m_bInManaGained; // 0x12b8 + bool m_bInManaGained; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + CHandle< C_BaseEntity > m_hTarget; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > hStunnedEntities; // 0x12d0 + float stun_duration; // 0x12e8 + int32_t movespeed; // 0x12ec + int32_t self_bonus; // 0x12f0 + bool m_bIsInRange; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - 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 + int32_t radius; // 0x12f8 + int32_t latch_distance; // 0x12fc + float m_flHealthHealed; // 0x1300 + float m_flManaHealed; // 0x1304 + float tether_heal_amp; // 0x1308 + GameTime_t m_flHealMessageTime; // 0x130c + GameTime_t m_flManaMessageTime; // 0x1310 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Wisp_Tether_Stun_Tracker : public CDOTA_Buff { public: @@ -23908,24 +23973,24 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Wisp_Tether_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Wisp_Tether_Haste : public CDOTA_Buff { public: - float movespeed; // 0x12b8 - float shard_bonus_spell_lifesteal; // 0x12bc + float movespeed; // 0x12c8 + float shard_bonus_spell_lifesteal; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Wisp_Tether_Scepter : public CDOTA_Buff { public: @@ -23933,7 +23998,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Wisp_Spirit_Invulnerable : public CDOTA_Buff { public: @@ -23941,148 +24006,148 @@ public: }; // Alignment: 14 -// Size: 0x1388 +// Size: 0x1398 class CDOTA_Modifier_Wisp_Spirits : public CDOTA_Buff { public: - 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 + int32_t creep_damage; // 0x12c8 + int32_t hero_damage; // 0x12cc + int32_t hit_radius; // 0x12d0 + int32_t hero_hit_radius; // 0x12d4 + int32_t explode_radius; // 0x12d8 + int32_t min_range; // 0x12dc + int32_t max_range; // 0x12e0 + int32_t default_radius; // 0x12e4 + int32_t spirit_amount; // 0x12e8 + float m_flRotation; // 0x12ec + float m_flSpiritRadius; // 0x12f0 + int32_t spirit_movement_rate; // 0x12f4 + GameTime_t m_flNextSpawn; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec + [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc public: - CUtlString m_strSpiritsOutSwapAbility; // 0x12f0 + CUtlString m_strSpiritsOutSwapAbility; // 0x1300 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Wisp_Spirits_Slow : public CDOTA_Buff { public: - int32_t scepter_slow_pct; // 0x12b8 + int32_t scepter_slow_pct; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Wisp_Overcharge : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_spell_amp; // 0x12bc - int32_t shard_bonus_slow_resistance; // 0x12c0 - float hp_regen; // 0x12c4 + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_spell_amp; // 0x12cc + int32_t shard_bonus_slow_resistance; // 0x12d0 + float hp_regen; // 0x12d4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Wisp_Relocate_Thinker : public CDOTA_Buff { public: - float cast_delay; // 0x12b8 - ParticleIndex_t m_nFXIndexEndTeam; // 0x12bc - ParticleIndex_t m_nFXIndexChannel; // 0x12c0 + float cast_delay; // 0x12c8 + ParticleIndex_t m_nFXIndexEndTeam; // 0x12cc + ParticleIndex_t m_nFXIndexChannel; // 0x12d0 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Wisp_Relocate_Return : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 - Vector m_vecReturnPosition; // 0x12bc - float return_time; // 0x12c8 - ParticleIndex_t m_nFXTimeRemaining; // 0x12cc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Visage_GraveChill_Debuff : public CDOTA_Buff -{ -public: - int32_t movespeed_bonus; // 0x12b8 - int32_t attackspeed_bonus; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Visage_GraveChill_Buff : public CDOTA_Buff -{ -public: - int32_t movespeed_bonus; // 0x12b8 - int32_t attackspeed_bonus; // 0x12bc -}; - -// Alignment: 10 -// Size: 0x1300 -class CDOTA_Modifier_Visage_SoulAssumption : public CDOTA_Buff -{ -public: - 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 __pad12dc[0x1c]; // 0x12dc -public: - float m_fTotalDamage; // 0x12f8 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + Vector m_vecReturnPosition; // 0x12cc + float return_time; // 0x12d8 + ParticleIndex_t m_nFXTimeRemaining; // 0x12dc }; // Alignment: 2 // Size: 0x12d0 +class CDOTA_Modifier_Visage_GraveChill_Debuff : public CDOTA_Buff +{ +public: + int32_t movespeed_bonus; // 0x12c8 + int32_t attackspeed_bonus; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Visage_GraveChill_Buff : public CDOTA_Buff +{ +public: + int32_t movespeed_bonus; // 0x12c8 + int32_t attackspeed_bonus; // 0x12cc +}; + +// Alignment: 10 +// Size: 0x1310 +class CDOTA_Modifier_Visage_SoulAssumption : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 + int32_t stack_limit; // 0x12cc + int32_t damage_limit; // 0x12d0 + float stack_duration; // 0x12d4 + float damage_min; // 0x12d8 + float damage_max; // 0x12dc + ParticleIndex_t m_nFxIndexA; // 0x12e0 + ParticleIndex_t m_nFxIndexB; // 0x12e4 + int32_t iCur_stack; // 0x12e8 +private: + [[maybe_unused]] uint8_t __pad12ec[0x1c]; // 0x12ec +public: + float m_fTotalDamage; // 0x1308 +}; + +// Alignment: 2 +// Size: 0x12e0 class CDOTA_Modifier_Visage_GravekeepersCloak_Stack : public CDOTA_Buff { public: - bool m_bIsRecovering; // 0x12b8 + bool m_bIsRecovering; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t m_nFXIndex[4]; // 0x12bc + int32_t m_nFXIndex[4]; // 0x12cc }; // Alignment: 9 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Visage_GravekeepersCloak : public CDOTA_Buff { public: - 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 + int32_t damage_reduction; // 0x12c8 + int32_t max_layers; // 0x12cc + float minimum_damage; // 0x12d0 + int32_t recovery_time; // 0x12d4 + int32_t radius; // 0x12d8 + int32_t max_damage_reduction; // 0x12dc + ParticleIndex_t m_nFXIndex[4]; // 0x12e0 + ParticleIndex_t m_nFXIndexB; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CUtlVector< CDOTA_Modifier_Visage_GravekeepersCloak_Stack* > vStacks; // 0x12e8 + CUtlVector< CDOTA_Modifier_Visage_GravekeepersCloak_Stack* > vStacks; // 0x12f8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Visage_GravekeepersCloak_Secondary : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 + int32_t damage_reduction; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Visage_SummonFamiliars_Talents : public CDOTA_Buff { public: @@ -24090,7 +24155,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Visage_Amor_Reduction : public CDOTA_Buff { public: @@ -24098,21 +24163,21 @@ public: }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Visage_SummonFamiliars_DamageCharge : public CDOTA_Buff { public: - int32_t familiar_speed; // 0x12b8 - int32_t m_nFXIndex; // 0x12bc - int32_t m_nFXIndexB; // 0x12c0 + int32_t familiar_speed; // 0x12c8 + int32_t m_nFXIndex; // 0x12cc + int32_t m_nFXIndexB; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CountdownTimer m_ctTimer; // 0x12c8 + CountdownTimer m_ctTimer; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Visage_Stone_Form_Self_Cast_Cooldown_Manager : public CDOTA_Buff { public: @@ -24120,71 +24185,71 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Thinker : public CDOTA_Buff { public: - 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 + int32_t stun_radius; // 0x12c8 + int32_t stun_damage; // 0x12cc + float stun_delay; // 0x12d0 + float stun_duration; // 0x12d4 + float stone_duration; // 0x12d8 + int32_t m_iIntervalCount; // 0x12dc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Buff : public CDOTA_Buff { public: - float hp_regen; // 0x12b8 - int32_t stun_radius; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Visage_Scepter : public CDOTA_Buff -{ -public: - GameTime_t m_flReadyTime; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Timer : public CDOTA_Buff -{ -public: - float stone_duration; // 0x12b8 - GameTime_t m_fStartTime; // 0x12bc + float hp_regen; // 0x12c8 + int32_t stun_radius; // 0x12cc }; // Alignment: 1 // Size: 0x12d0 -class CDOTA_Modifier_Visage_Silent_As_The_Grave : public CDOTA_Modifier_Invisible +class CDOTA_Modifier_Visage_Scepter : public CDOTA_Buff { public: - bool m_bHasMadeAttack; // 0x12c8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Visage_Silent_As_The_Grave_Bonus : public CDOTA_Buff -{ -public: - int32_t bonus_damage; // 0x12b8 + GameTime_t m_flReadyTime; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 +class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Timer : public CDOTA_Buff +{ +public: + float stone_duration; // 0x12c8 + GameTime_t m_fStartTime; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12e0 +class CDOTA_Modifier_Visage_Silent_As_The_Grave : public CDOTA_Modifier_Invisible +{ +public: + bool m_bHasMadeAttack; // 0x12d8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Visage_Silent_As_The_Grave_Bonus : public CDOTA_Buff +{ +public: + int32_t bonus_damage; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 class CDOTA_Modifier_Slark_EssenceShift : public CDOTA_Modifier_Stacking_Base { public: - int32_t agi_gain; // 0x12b8 - float duration; // 0x12bc + int32_t agi_gain; // 0x12c8 + float duration; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Slark_DarkPact : public CDOTA_Buff { public: @@ -24192,19 +24257,19 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Slark_DarkPact_Pulses : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t total_damage; // 0x12bc - int32_t total_pulses; // 0x12c0 - int32_t self_damage_pct; // 0x12c4 - float pulse_interval; // 0x12c8 + int32_t radius; // 0x12c8 + int32_t total_damage; // 0x12cc + int32_t total_pulses; // 0x12d0 + int32_t self_damage_pct; // 0x12d4 + float pulse_interval; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Slark_Pounce_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -24212,32 +24277,32 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Slark_Pounce : public CDOTA_Buff { public: - 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 + int32_t pounce_distance; // 0x12c8 + int32_t pounce_distance_scepter; // 0x12cc + float pounce_speed; // 0x12d0 + float pounce_acceleration; // 0x12d4 + int32_t pounce_radius; // 0x12d8 + int32_t pounce_damage; // 0x12dc + float leash_duration; // 0x12e0 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Slark_Pounce_Leash : public CDOTA_Buff { public: - int32_t leash_radius; // 0x12b8 - Vector vLeashLocation; // 0x12bc - bool m_bEscaped; // 0x12c8 - bool m_bFishBait; // 0x12c9 + int32_t leash_radius; // 0x12c8 + Vector vLeashLocation; // 0x12cc + bool m_bEscaped; // 0x12d8 + bool m_bFishBait; // 0x12d9 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Slark_EssenceShift_DebuffCounter : public CDOTA_Modifier_Stacking_Base { public: @@ -24245,15 +24310,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Slark_EssenceShift_Debuff : public CDOTA_Modifier_Stacking_Multiple_Buff_Base { public: - int32_t stat_loss; // 0x12b8 + int32_t stat_loss; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Slark_EssenceShift_Buff : public CDOTA_Modifier_Stacking_Multiple_Buff_Base { public: @@ -24261,7 +24326,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Slark_EssenceShift_Permanent_Buff : public CDOTA_Buff { public: @@ -24269,7 +24334,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Slark_EssenceShift_Permanent_Debuff : public CDOTA_Buff { public: @@ -24277,181 +24342,181 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Slark_ShadowDance_Aura : public CDOTA_Buff { public: - int32_t scepter_aoe; // 0x12b8 + int32_t scepter_aoe; // 0x12c8 }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Slark_ShadowDance_Passive : public CDOTA_Buff { public: - float activation_delay; // 0x12b8 - float neutral_disable; // 0x12bc - bool m_bPendingRefresh; // 0x12c0 + float activation_delay; // 0x12c8 + float neutral_disable; // 0x12cc + bool m_bPendingRefresh; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - GameTime_t m_fPendingStateChangeTime; // 0x12c4 - CountdownTimer m_NeutralHitTimer; // 0x12c8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Slark_ShadowDance_PassiveRegen : public CDOTA_Buff -{ -public: - int32_t bonus_movement_speed; // 0x12b8 - float bonus_regen; // 0x12bc + GameTime_t m_fPendingStateChangeTime; // 0x12d4 + CountdownTimer m_NeutralHitTimer; // 0x12d8 }; // Alignment: 2 // Size: 0x12d0 +class CDOTA_Modifier_Slark_ShadowDance_PassiveRegen : public CDOTA_Buff +{ +public: + int32_t bonus_movement_speed; // 0x12c8 + float bonus_regen; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12e0 class CDOTA_Modifier_Slark_ShadowDance : public CDOTA_Modifier_Invisible { public: - CHandle< C_BaseEntity > m_hVisibleEntity; // 0x12c8 - ParticleIndex_t m_nFXIndex; // 0x12cc + CHandle< C_BaseEntity > m_hVisibleEntity; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Slark_ShadowDance_Visual : public CDOTA_Buff { public: - bool m_bScepter; // 0x12b8 + bool m_bScepter; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Slark_Depth_Shroud_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - CHandle< C_BaseEntity > m_hVisibleEntity; // 0x12bc + int32_t radius; // 0x12c8 + CHandle< C_BaseEntity > m_hVisibleEntity; // 0x12cc }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Slark_Depth_Shroud : public CDOTA_Modifier_Invisible { public: - ParticleIndex_t m_nFXIndex; // 0x12c8 - int32_t bonus_movement_speed; // 0x12cc - float bonus_regen; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d8 + int32_t bonus_movement_speed; // 0x12dc + float bonus_regen; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Slark_Fish_Bait_Pre : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 + int32_t movement_speed; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Slark_Fish_Bait_Post : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 + int32_t attack_speed; // 0x12c8 }; // Alignment: 5 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Medusa_SplitShot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x12b8 - int32_t range; // 0x12bc - int32_t arrow_count; // 0x12c0 - int32_t projectile_speed; // 0x12c4 - ParticleIndex_t m_nSplitShotBowFXIndex; // 0x12c8 + int32_t damage_modifier; // 0x12c8 + int32_t range; // 0x12cc + int32_t arrow_count; // 0x12d0 + int32_t projectile_speed; // 0x12d4 + ParticleIndex_t m_nSplitShotBowFXIndex; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Medusa_Mystic_Snake_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 - int32_t turn_slow; // 0x12bc + int32_t movement_slow; // 0x12c8 + int32_t turn_slow; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Medusa_ManaShield : public CDOTA_Buff { public: - int32_t bonus_mana; // 0x12b8 - float absorption_pct; // 0x12bc - float damage_per_mana; // 0x12c0 - float illusion_damage_per_mana; // 0x12c4 + int32_t bonus_mana; // 0x12c8 + float absorption_pct; // 0x12cc + float damage_per_mana; // 0x12d0 + float illusion_damage_per_mana; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Medusa_StoneGaze_Tracker : public CDOTA_Buff { public: - int32_t m_nNumStoned; // 0x12b8 - bool m_bAnyInvisible; // 0x12bc + int32_t m_nNumStoned; // 0x12c8 + bool m_bAnyInvisible; // 0x12cc }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Medusa_StoneGaze : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float vision_cone; // 0x12bc - float duration; // 0x12c0 - int32_t speed_boost; // 0x12c4 - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12c8 + int32_t radius; // 0x12c8 + float vision_cone; // 0x12cc + float duration; // 0x12d0 + int32_t speed_boost; // 0x12d4 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Medusa_StoneGaze_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 8 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Medusa_StoneGaze_Facing : public CDOTA_Buff { public: - float face_duration; // 0x12b8 - float stone_duration; // 0x12bc - float duration; // 0x12c0 - float vision_cone; // 0x12c4 - float m_flAccumulatedTime; // 0x12c8 + float face_duration; // 0x12c8 + float stone_duration; // 0x12cc + float duration; // 0x12d0 + float vision_cone; // 0x12d4 + float m_flAccumulatedTime; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CountdownTimer ctFacing; // 0x12d0 - bool m_bAlreadyStoned; // 0x12e8 + CountdownTimer ctFacing; // 0x12e0 + bool m_bAlreadyStoned; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 + [[maybe_unused]] uint8_t __pad12f9[0x3]; // 0x12f9 public: - ParticleIndex_t m_nFXIndex; // 0x12ec + ParticleIndex_t m_nFXIndex; // 0x12fc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Medusa_StoneGaze_Stone : public CDOTA_Buff { public: - int32_t bonus_physical_damage; // 0x12b8 + int32_t bonus_physical_damage; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Medusa_Cold_Blooded : public CDOTA_Buff { public: @@ -24459,31 +24524,31 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Troll_Warlord_Rampage : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 - int32_t status_resistance; // 0x12bc + int32_t attack_speed; // 0x12c8 + int32_t status_resistance; // 0x12cc }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_TrollWarlord_BerserkersRage : public CDOTA_Buff { public: - 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 + int32_t bonus_move_speed; // 0x12c8 + int32_t bonus_range; // 0x12cc + int32_t bonus_hp; // 0x12d0 + int32_t bonus_armor; // 0x12d4 + int32_t ensnare_chance; // 0x12d8 + float ensnare_duration; // 0x12dc + float base_attack_time; // 0x12e0 + int32_t m_iOriginalAttackCapabilities; // 0x12e4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TrollWarlord_BerserkersRage_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -24491,52 +24556,52 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_TrollWarlord_BerserkersRage_Maim : public CDOTA_Buff { public: - int32_t maim_slow; // 0x12b8 + int32_t maim_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_TrollWarlord_WhirlingAxes_Slow : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 + int32_t movement_speed; // 0x12c8 }; // Alignment: 16 -// Size: 0x1328 +// Size: 0x1338 class CDOTA_Modifier_TrollWarlord_Whirling_Axes_Melee : public CDOTA_Buff { public: - 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 + int32_t damage; // 0x12c8 + int32_t hit_radius; // 0x12cc + int32_t axe_movement_speed; // 0x12d0 + float whirl_duration; // 0x12d4 + float max_range; // 0x12d8 + float blind_duration; // 0x12dc + float m_flRotation; // 0x12e0 + float m_flAxeRadius; // 0x12e4 + GameTime_t m_flDieTime; // 0x12e8 + float m_bPiercesMagicImmunity; // 0x12ec + int32_t m_nSwapIndex; // 0x12f0 + bool m_bReturning; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - ParticleIndex_t m_nAxeFXIndex[2]; // 0x12e8 - int32_t m_nHeroesHitForRelic; // 0x12f0 + ParticleIndex_t m_nAxeFXIndex[2]; // 0x12f8 + int32_t m_nHeroesHitForRelic; // 0x1300 private: - [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 public: - CUtlVector< CHandle< C_BaseEntity > > hitEntities; // 0x12f8 - CUtlVector< CHandle< C_BaseEntity > > m_hAxes; // 0x1310 + CUtlVector< CHandle< C_BaseEntity > > hitEntities; // 0x1308 + CUtlVector< CHandle< C_BaseEntity > > m_hAxes; // 0x1320 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TrollWarlord_Axe_Invulnerable : public CDOTA_Buff { public: @@ -24544,38 +24609,38 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_TrollWarlord_WhirlingAxes_Blind : public CDOTA_Buff { public: - int32_t blind_pct; // 0x12b8 + int32_t blind_pct; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_TrollWarlord_Fervor : public CDOTA_Buff { public: - 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 + int32_t attack_speed; // 0x12c8 + int32_t max_stacks; // 0x12cc + int32_t extra_attack_chance_per_stack; // 0x12d0 + int32_t base_chance; // 0x12d4 + CHandle< C_BaseEntity > m_hUnit; // 0x12d8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_TrollWarlord_BattleTrance : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 - int32_t attack_speed; // 0x12bc - int32_t lifesteal; // 0x12c0 - CHandle< C_BaseEntity > m_hTarget; // 0x12c4 + int32_t movement_speed; // 0x12c8 + int32_t attack_speed; // 0x12cc + int32_t lifesteal; // 0x12d0 + CHandle< C_BaseEntity > m_hTarget; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TrollWarlord_BattleTrance_Aura : public CDOTA_Buff { public: @@ -24583,7 +24648,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TrollWarlord_BattleTrance_Vision : public CDOTA_Buff { public: @@ -24591,48 +24656,48 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Centaur_HoofStomp_Windup : public CDOTA_Buff { public: - bool bInterrupted; // 0x12b8 + bool bInterrupted; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Centaur_DoubleEdge_Slow : public CDOTA_Buff { public: - int32_t shard_movement_slow; // 0x12b8 + int32_t shard_movement_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Centaur_DoubleEdge_Buff : public CDOTA_Buff { public: - int32_t shard_str_pct; // 0x12b8 + int32_t shard_str_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Centaur_Return_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Centaur_Return : public CDOTA_Buff { public: - int32_t return_damage; // 0x12b8 - int32_t return_damage_str; // 0x12bc + int32_t return_damage; // 0x12c8 + int32_t return_damage_str; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Centaur_Return_Counter : public CDOTA_Buff { public: @@ -24640,54 +24705,54 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Centaur_Return_Bonus_Damage : public CDOTA_Buff { public: - float damage_gain_pct; // 0x12b8 + float damage_gain_pct; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Centaur_Stampede_Slow : public CDOTA_Buff { public: - int32_t cast_time_increase; // 0x12b8 - int32_t slow_movement_speed; // 0x12bc + int32_t cast_time_increase; // 0x12c8 + int32_t slow_movement_speed; // 0x12cc }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Centaur_Stampede : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t damage_reduction; // 0x12bc - int32_t has_flying_movement; // 0x12c0 + int32_t radius; // 0x12c8 + int32_t damage_reduction; // 0x12cc + int32_t has_flying_movement; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x12c8 + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x12d8 }; // Alignment: 6 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Centaur_Cart : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hUnit; // 0x12b8 - bool m_bWasMoving; // 0x12bc - bool m_bSpawnDone; // 0x12bd + CHandle< C_BaseEntity > m_hUnit; // 0x12c8 + bool m_bWasMoving; // 0x12cc + bool m_bSpawnDone; // 0x12cd private: - [[maybe_unused]] uint8_t __pad12be[0x2]; // 0x12be + [[maybe_unused]] uint8_t __pad12ce[0x2]; // 0x12ce public: - Vector m_vecOldForward; // 0x12c0 - int32_t break_distance; // 0x12cc - Vector m_vecPreviousLocation; // 0x12d0 + Vector m_vecOldForward; // 0x12d0 + int32_t break_distance; // 0x12dc + Vector m_vecPreviousLocation; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Centaur_Hitched_Into_Cart : public CDOTA_Buff { public: @@ -24695,7 +24760,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Centaur_Mount_Toss : public CDOTA_Buff { public: @@ -24703,15 +24768,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Centaur_Mounted : public CDOTA_Buff { public: - int32_t melee_attack_range; // 0x12b8 + int32_t melee_attack_range; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Magnataur_Horn_Toss : public CDOTA_Buff { public: @@ -24719,98 +24784,98 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Magnataur_Horn_Toss_Slow : public CDOTA_Buff { public: - int32_t horn_toss_slow_pct; // 0x12b8 + int32_t horn_toss_slow_pct; // 0x12c8 }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Magnataur_Shockwave_Erupt : public CDOTA_Buff { public: - int32_t scepter_width; // 0x12b8 - float scepter_duration; // 0x12bc - bool play_particle; // 0x12c0 + int32_t scepter_width; // 0x12c8 + float scepter_duration; // 0x12cc + bool play_particle; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - Vector m_vStart; // 0x12c4 - Vector m_vEnd; // 0x12d0 + Vector m_vStart; // 0x12d4 + Vector m_vEnd; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Magnataur_Shockwave : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Magnataur_Shockwave_Eruption_Slow : public CDOTA_Buff { public: - int32_t scepter_slow_pct; // 0x12b8 - int32_t scepter_armor_pct; // 0x12bc + int32_t scepter_slow_pct; // 0x12c8 + int32_t scepter_armor_pct; // 0x12cc }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Magnataur_Shockwave_Pull : public CDOTA_Buff { public: - Vector m_vDirection; // 0x12b8 - float m_flEndTime; // 0x12c4 - float m_flCurTime; // 0x12c8 - float pull_duration; // 0x12cc - float effective_distance; // 0x12d0 + Vector m_vDirection; // 0x12c8 + float m_flEndTime; // 0x12d4 + float m_flCurTime; // 0x12d8 + float pull_duration; // 0x12dc + float effective_distance; // 0x12e0 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Magnataur_Empower : public CDOTA_Buff { public: - 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 + int32_t bonus_damage_pct; // 0x12c8 + float cleave_damage_pct; // 0x12cc + int32_t cleave_starting_width; // 0x12d0 + int32_t cleave_ending_width; // 0x12d4 + int32_t cleave_distance; // 0x12d8 + float self_multiplier; // 0x12dc + int32_t secondary_cleave_distance; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Magnataur_Skewer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x12b8 + int32_t m_nProjectileID; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Magnataur_Skewer_Impact : public CDOTA_Buff { public: - float slow_duration; // 0x12b8 - int32_t skewer_damage; // 0x12bc + float slow_duration; // 0x12c8 + int32_t skewer_damage; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Magnataur_Skewer_Slow : public CDOTA_Buff { public: - int32_t slow_pct; // 0x12b8 + int32_t slow_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Magnataur_ReversePolarity : public CDOTA_Buff { public: @@ -24818,108 +24883,108 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Magnataur_ReversePolarity_Stats : public CDOTA_Buff { public: - int32_t stats_per_stack; // 0x12b8 + int32_t stats_per_stack; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Magnus_Strength_Of_Joelrak : public CDOTA_Buff { public: - int32_t strength_per_stack; // 0x12b8 - int32_t max_stacks; // 0x12bc - float stack_duration; // 0x12c0 + int32_t strength_per_stack; // 0x12c8 + int32_t max_stacks; // 0x12cc + float stack_duration; // 0x12d0 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Shredder_WhirlingDeath_Debuff : public CDOTA_Buff { public: - 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 + int32_t stat_loss_pct; // 0x12c8 + int32_t stat_loss_univ; // 0x12cc + int32_t iPrimaryAttribute; // 0x12d0 + float flStatLossStr; // 0x12d4 + float flStatLossAgi; // 0x12d8 + float flStatLossInt; // 0x12dc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Shredder_TimberChain : public CDOTA_Buff { public: - int32_t speed; // 0x12b8 - int32_t radius; // 0x12bc - int32_t damage; // 0x12c0 + int32_t speed; // 0x12c8 + int32_t radius; // 0x12cc + int32_t damage; // 0x12d0 }; // Alignment: 12 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Shredder_ReactiveArmor_Bomb : public CDOTA_Buff { public: - 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 + float initial_shield; // 0x12c8 + float max_shield; // 0x12cc + float shield_per_sec; // 0x12d0 + float shield_per_sec_per_enemy; // 0x12d4 + float duration; // 0x12d8 + float base_explosion; // 0x12dc + int32_t radius; // 0x12e0 + int32_t explosion_radius; // 0x12e4 + int32_t m_nDamageAbsorbed; // 0x12e8 + GameTime_t m_timeLastTick; // 0x12ec + GameTime_t m_StartTime; // 0x12f0 + int32_t m_nLastParticleTime; // 0x12f4 }; // Alignment: 4 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Shredder_Reactive_Armor : public CDOTA_Buff { public: - int32_t stack_limit; // 0x12b8 - float stack_duration; // 0x12bc - GameTime_t m_flStackDieTime; // 0x12c0 - ParticleIndex_t m_pFXIndex[4]; // 0x12c4 + int32_t stack_limit; // 0x12c8 + float stack_duration; // 0x12cc + GameTime_t m_flStackDieTime; // 0x12d0 + ParticleIndex_t m_pFXIndex[4]; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Shredder_Reactive_Armor_Stack : public CDOTA_Buff { public: - float bonus_armor; // 0x12b8 - float bonus_hp_regen; // 0x12bc + float bonus_armor; // 0x12c8 + float bonus_hp_regen; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Shredder_Chakram_Thinker : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x12b8 - float mana_per_second; // 0x12bc - float radius; // 0x12c0 - float break_distance; // 0x12c4 - float damage_interval; // 0x12c8 + int32_t damage_per_second; // 0x12c8 + float mana_per_second; // 0x12cc + float radius; // 0x12d0 + float break_distance; // 0x12d4 + float damage_interval; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Shredder_Chakram_Debuff : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 - int32_t slow_health_percentage; // 0x12bc + int32_t slow; // 0x12c8 + int32_t slow_health_percentage; // 0x12cc }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Shredder_Chakram_Debuff_2 : public CDOTA_Modifier_Shredder_Chakram_Debuff { public: @@ -24927,7 +24992,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Shredder_Chakram_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -24935,55 +25000,55 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Shredder_Flamethrower_TreeFire_Thinker : public CDOTA_Buff { public: - CUtlVector< CUtlPair< CHandle< C_BaseEntity >, GameTime_t > > m_vecTreeFires; // 0x12b8 - bool m_bCleanupWhenEmpty; // 0x12d0 + CUtlVector< CUtlPair< CHandle< C_BaseEntity >, GameTime_t > > m_vecTreeFires; // 0x12c8 + bool m_bCleanupWhenEmpty; // 0x12e0 }; // Alignment: 7 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Shredder_Flamethrower : public CDOTA_Buff { public: - 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 + int32_t length; // 0x12c8 + int32_t width; // 0x12cc + int32_t damage_per_second; // 0x12d0 + ParticleIndex_t m_nBeamFXIndex; // 0x12d4 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x12d8 + GameTime_t m_flLastHit; // 0x12dc + CUtlVector< C_BaseEntity* > m_vecBurningTrees; // 0x12e0 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Shredder_Flamethrower_Damage : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + ParticleIndex_t m_nActiveFXIndex; // 0x12cc + ParticleIndex_t m_nActiveStatusFXIndex; // 0x12d0 + float damage_per_second; // 0x12d4 + int32_t building_dmg_pct; // 0x12d8 + int32_t move_slow_pct; // 0x12dc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Bristleback_Warpath : public CDOTA_Buff { public: - 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 + int32_t damage_per_stack; // 0x12c8 + int32_t move_speed_per_stack; // 0x12cc + int32_t max_stacks; // 0x12d0 + float stack_duration; // 0x12d4 + float m_flDuration; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bristleback_Warpath_Stack : public CDOTA_Buff { public: @@ -24991,20 +25056,20 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Bristleback_ViscousNasalGoo : public CDOTA_Buff { public: - 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 + float base_armor; // 0x12c8 + float armor_per_stack; // 0x12cc + int32_t base_move_slow; // 0x12d0 + int32_t move_slow_per_stack; // 0x12d4 + int32_t stack_limit; // 0x12d8 + ParticleIndex_t m_nFXStackIndex; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bristleback_QuillSpray_AutoCast : public CDOTA_Buff { public: @@ -25012,28 +25077,28 @@ public: }; // Alignment: 6 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Bristleback_QuillSpray_Thinker : public CDOTA_Buff { public: - 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 + float m_fCurRadius; // 0x12c8 + GameTime_t m_fLastThink; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x12d0 + CountdownTimer m_ViewerTimer; // 0x12e8 + int32_t projectile_speed; // 0x1300 + float radius; // 0x1304 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Bristleback_QuillSpray : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bristleback_QuillSprayStack : public CDOTA_Buff { public: @@ -25041,59 +25106,59 @@ public: }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Bristleback_Bristleback : public CDOTA_Buff { public: - 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 + int32_t side_damage_reduction; // 0x12c8 + int32_t back_damage_reduction; // 0x12cc + int32_t side_angle; // 0x12d0 + int32_t back_angle; // 0x12d4 + float quill_release_threshold; // 0x12d8 + float quill_release_interval; // 0x12dc + bool m_bRearHit; // 0x12e0 + bool m_bSideHit; // 0x12e1 private: - [[maybe_unused]] uint8_t __pad12d2[0x2]; // 0x12d2 + [[maybe_unused]] uint8_t __pad12e2[0x2]; // 0x12e2 public: - float m_flDamageAccumulated; // 0x12d4 - int32_t m_nAccumulatedHits; // 0x12d8 + float m_flDamageAccumulated; // 0x12e4 + int32_t m_nAccumulatedHits; // 0x12e8 }; // Alignment: 22 -// Size: 0x1320 +// Size: 0x1330 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 + int32_t activation_num_quill_sprays; // 0x12c8 + float activation_spray_interval; // 0x12cc + int32_t activation_angle; // 0x12d0 + int32_t cast_range_bonus; // 0x12d4 + int32_t activation_movement_speed_pct; // 0x12d8 + int32_t activation_turn_rate_pct; // 0x12dc + int32_t activation_disable_turning; // 0x12e0 + int32_t activation_ignore_cast_angle; // 0x12e4 + int32_t activation_turn_rate; // 0x12e8 + float activation_delay; // 0x12ec + GameTime_t m_fStartTime; // 0x12f0 + bool bDelayFinished; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 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 + float m_flFacingTarget; // 0x12f8 + Vector m_vFacing; // 0x12fc + int32_t m_nNumSprays; // 0x1308 + int32_t m_nPoseParameterWE; // 0x130c + int32_t m_nPoseParameterNS; // 0x1310 + float m_flLastPoseX; // 0x1314 + float m_flLastPoseY; // 0x1318 + int32_t m_nLastMaxDirection; // 0x131c + Vector m_vLastOrigin; // 0x1320 + GameTime_t m_flLastGameTime; // 0x132c }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tusk_IceShard_Slow_Aura : public CDOTA_Buff { public: @@ -25101,7 +25166,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tusk_IceShard : public CDOTA_Buff { public: @@ -25109,7 +25174,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tusk_Snowball_Target : public CDOTA_Buff { public: @@ -25117,7 +25182,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tusk_Snowball_Visible : public CDOTA_Buff { public: @@ -25125,7 +25190,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tusk_Snowball_Movement : public CDOTA_Buff { public: @@ -25133,7 +25198,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tusk_Snowball_Movement_Friendly : public CDOTA_Buff { public: @@ -25141,183 +25206,183 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tusk_FrozenSigil_Aura : public CDOTA_Buff { public: - int32_t sigil_radius; // 0x12b8 - ParticleIndex_t m_iIndex; // 0x12bc + int32_t sigil_radius; // 0x12c8 + ParticleIndex_t m_iIndex; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Tusk_FrozenSigil : public CDOTA_Buff { public: - int32_t aghs_shard_move_slow; // 0x12b8 - int32_t aghs_shard_damage; // 0x12bc - int32_t attack_slow; // 0x12c0 - int32_t turn_rate_slow; // 0x12c4 + int32_t aghs_shard_move_slow; // 0x12c8 + int32_t aghs_shard_damage; // 0x12cc + int32_t attack_slow; // 0x12d0 + int32_t turn_rate_slow; // 0x12d4 }; // Alignment: 8 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Tusk_WalrusPunch : public CDOTA_Buff { public: - int32_t crit_multiplier; // 0x12b8 - float air_time; // 0x12bc - float slow_duration; // 0x12c0 + int32_t crit_multiplier; // 0x12c8 + float air_time; // 0x12cc + float slow_duration; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12c8 - CHandle< C_BaseEntity > m_hTarget; // 0x12d0 - bool m_bWalrusPunch; // 0x12d4 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12d8 + CHandle< C_BaseEntity > m_hTarget; // 0x12e0 + bool m_bWalrusPunch; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 - ParticleIndex_t m_nFXIndex; // 0x12f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e8 + ParticleIndex_t m_nFXIndex; // 0x1300 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tusk_WalrusPunch_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 + int32_t move_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tusk_WalrusPunch_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x12b8 + int32_t hp_threshold; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tusk_WalrusKick_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 + int32_t move_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tusk_WalrusKick_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x12b8 + int32_t hp_threshold; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tusk_Tag_Team_Attack_Slow_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tusk_Tag_Team_Attack_Slow : public CDOTA_Buff { public: - int32_t attack_speed_slow; // 0x12b8 + int32_t attack_speed_slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tusk_Tag_Team_Aura : public CDOTA_Buff { public: - ParticleIndex_t m_iIndex; // 0x12b8 - int32_t radius; // 0x12bc + ParticleIndex_t m_iIndex; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tusk_Tag_Team : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - float slow_duration; // 0x12bc + int32_t bonus_damage; // 0x12c8 + float slow_duration; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tusk_Tag_Team_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Skywrath_Mage_Shard : public CDOTA_Buff { public: - float stack_duration; // 0x12b8 + float stack_duration; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Skywrath_Mage_Shard_Bonus : public CDOTA_Buff { public: - int32_t bonus_intelligence; // 0x12b8 - float bonus_armor; // 0x12bc + int32_t bonus_intelligence; // 0x12c8 + float bonus_armor; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Skywrath_Mage_Shard_Bonus_Counter : public CDOTA_Buff { public: - int32_t bonus_intelligence; // 0x12b8 - float bonus_armor; // 0x12bc + int32_t bonus_intelligence; // 0x12c8 + float bonus_armor; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Skywrath_Mage_Arcane_Bolt_Lifesteal : public CDOTA_Buff { public: - float lifesteal_amt; // 0x12b8 + float lifesteal_amt; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Skywrath_Mage_Concussive_Shot : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x12b8 + int32_t movement_speed_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Skywrath_Mage_Ancient_Seal : public CDOTA_Buff { public: - int32_t resist_debuff; // 0x12b8 + int32_t resist_debuff; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Skywrath_Mage_Mystic_Flare : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t damage; // 0x12bc - float duration; // 0x12c0 - float damage_interval; // 0x12c4 + int32_t radius; // 0x12c8 + int32_t damage; // 0x12cc + float duration; // 0x12d0 + float damage_interval; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Skywrath_Mystic_Flare_Aura_Effect : public CDOTA_Buff { public: @@ -25325,141 +25390,141 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Abaddon_DeathCoil_Effect : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x12b8 - int32_t magic_resistance; // 0x12bc - bool m_bFriendly; // 0x12c0 + int32_t armor_bonus; // 0x12c8 + int32_t magic_resistance; // 0x12cc + bool m_bFriendly; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Abaddon_AphoticShield : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float damage_absorb; // 0x12bc - int32_t m_nDamageAbsorbed; // 0x12c0 + int32_t radius; // 0x12c8 + float damage_absorb; // 0x12cc + int32_t m_nDamageAbsorbed; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Abaddon_Frostmourne : public CDOTA_Buff { public: - float slow_duration; // 0x12b8 - float curse_duration; // 0x12bc - int32_t hit_count; // 0x12c0 + float slow_duration; // 0x12c8 + float curse_duration; // 0x12cc + int32_t hit_count; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Abaddon_Frostmourne_Debuff : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 - ParticleIndex_t m_nFXStackIndex; // 0x12bc + int32_t movement_speed; // 0x12c8 + ParticleIndex_t m_nFXStackIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Abaddon_Frostmourne_Debuff_Bonus : public CDOTA_Buff { public: - int32_t curse_slow; // 0x12b8 + int32_t curse_slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Abaddon_Frostmourne_Buff : public CDOTA_Buff { public: - int32_t curse_attack_speed; // 0x12b8 - CHandle< C_BaseEntity > m_hTarget; // 0x12bc + int32_t curse_attack_speed; // 0x12c8 + CHandle< C_BaseEntity > m_hTarget; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Abaddon_BorrowedTime : public CDOTA_Buff { public: - int32_t redirect_range_scepter; // 0x12b8 + int32_t redirect_range_scepter; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Abaddon_BorrowedTime_Passive : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x12b8 + int32_t hp_threshold; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Abaddon_Borrowed_Time_Damage_Redirect : public CDOTA_Buff { public: - float m_fDamageTaken; // 0x12b8 - int32_t ally_threshold_scepter; // 0x12bc + float m_fDamageTaken; // 0x12c8 + int32_t ally_threshold_scepter; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Abaddon_BorrowedTime_ImmolationAura : public CDOTA_Buff { public: - int32_t immolate_aoe; // 0x12b8 + int32_t immolate_aoe; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Abaddon_BorrowedTime_ImmolationDamage : public CDOTA_Buff { public: - float immolate_damage; // 0x12b8 + float immolate_damage; // 0x12c8 }; // Alignment: 7 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Elder_Titan_AncestralSpirit : public CDOTA_Buff { public: - int32_t pass_damage; // 0x12b8 - int32_t radius; // 0x12bc - int32_t m_nCreepsHit; // 0x12c0 - int32_t m_nHeroesHit; // 0x12c4 - float m_flSpeed; // 0x12c8 + int32_t pass_damage; // 0x12c8 + int32_t radius; // 0x12cc + int32_t m_nCreepsHit; // 0x12d0 + int32_t m_nHeroesHit; // 0x12d4 + float m_flSpeed; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitUnits; // 0x12d0 - int32_t m_nBonusMoveSpeed; // 0x12e8 + CUtlVector< CHandle< C_BaseEntity > > m_hHitUnits; // 0x12e0 + int32_t m_nBonusMoveSpeed; // 0x12f8 }; // Alignment: 13 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_Buff : public CDOTA_Buff { public: - 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 + float move_pct_creeps; // 0x12c8 + int32_t move_pct_heroes; // 0x12cc + int32_t damage_creeps; // 0x12d0 + int32_t damage_heroes; // 0x12d4 + float armor_creeps; // 0x12d8 + float armor_heroes; // 0x12dc + float move_pct_cap; // 0x12e0 + int32_t m_nCreepsHit; // 0x12e4 + int32_t m_nHeroesHit; // 0x12e8 + float m_fSpeedPercentage; // 0x12ec + int32_t m_nDamage; // 0x12f0 + int32_t m_nArmor; // 0x12f4 + bool m_bSpellImmunity; // 0x12f8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Unique_Elder_Titan_4 : public CDOTA_Modifier_MagicImmune { public: @@ -25467,7 +25532,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_Hidden : public CDOTA_Buff { public: @@ -25475,7 +25540,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_CastTime : public CDOTA_Buff { public: @@ -25483,101 +25548,101 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Elder_Titan_EchoStomp_Magic_Immune : public CDOTA_Modifier_DebuffImmune { public: - int32_t model_scale; // 0x12b8 + int32_t model_scale; // 0x12c8 }; // Alignment: 5 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Elder_Titan_EchoStomp : public CDOTA_Buff { public: - int32_t wake_damage_limit; // 0x12b8 - float animation_rate; // 0x12bc - float initial_stun_duration; // 0x12c0 + int32_t wake_damage_limit; // 0x12c8 + float animation_rate; // 0x12cc + float initial_stun_duration; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CountdownTimer ctStunTimer; // 0x12c8 - float m_flDamageTaken; // 0x12e0 + CountdownTimer ctStunTimer; // 0x12d8 + float m_flDamageTaken; // 0x12f0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Aura_Armor : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Aura_MagicResistance : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Armor : public CDOTA_Buff { public: - int32_t armor_reduction_pct; // 0x12b8 - float m_flArmorReduction; // 0x12bc + int32_t armor_reduction_pct; // 0x12c8 + float m_flArmorReduction; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_MagicResistance : public CDOTA_Buff { public: - int32_t magic_resistance_pct; // 0x12b8 + int32_t magic_resistance_pct; // 0x12c8 }; // Alignment: 11 -// Size: 0x1318 +// Size: 0x1328 class CDOTA_Modifier_Elder_Titan_EarthSplitter_Caster : public CDOTA_Buff { public: - 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 + CUtlVector< CHandle< C_BaseEntity > > m_hHitUnits; // 0x12c8 + int32_t vision_width; // 0x12e0 + float vision_interval; // 0x12e4 + float vision_duration; // 0x12e8 + int32_t vision_step; // 0x12ec + int32_t total_steps; // 0x12f0 + int32_t m_nCompletedSteps; // 0x12f4 + Vector m_vStart; // 0x12f8 + Vector m_vEnd; // 0x1304 + Vector m_vNextVisionLocation; // 0x1310 + Vector m_vCastDirection; // 0x131c }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Elder_Titan_EarthSplitter_Thinker : public CDOTA_Buff { public: - int32_t crack_width; // 0x12b8 - int32_t damage_pct; // 0x12bc - float slow_duration; // 0x12c0 - float slow_duration_scepter; // 0x12c4 - CDOTA_Buff* m_pParentModifier; // 0x12c8 + int32_t crack_width; // 0x12c8 + int32_t damage_pct; // 0x12cc + float slow_duration; // 0x12d0 + float slow_duration_scepter; // 0x12d4 + CDOTA_Buff* m_pParentModifier; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Elder_Titan_EarthSplitter : public CDOTA_Buff { public: - int32_t slow_pct; // 0x12b8 + int32_t slow_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Elder_Titan_EarthSplitterScepter : public CDOTA_Modifier_Elder_Titan_EarthSplitter { public: @@ -25585,7 +25650,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Legion_Commander_OverwhelmingOdds_Armor : public CDOTA_Buff { public: @@ -25593,54 +25658,54 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Legion_Commander_OverwhelmingOdds : public CDOTA_Buff { public: - 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 + int32_t bonus_attack_speed_creeps; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + float armor_per_creep; // 0x12d0 + float armor_per_hero; // 0x12d4 + int32_t m_nTotalBonus; // 0x12d8 + float m_flBonusArmor; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Legion_Commander_PressTheAttack_Immunity : public CDOTA_Modifier_DebuffImmune { public: - int32_t model_scale; // 0x12b8 + int32_t model_scale; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Legion_Commander_PressTheAttack : public CDOTA_Buff { public: - int32_t move_speed; // 0x12b8 - int32_t hp_regen; // 0x12bc + int32_t move_speed; // 0x12c8 + int32_t hp_regen; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Legion_Commander_MomentOfCourage : public CDOTA_Buff { public: - int32_t trigger_chance; // 0x12b8 - float buff_duration; // 0x12bc + int32_t trigger_chance; // 0x12c8 + float buff_duration; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Legion_Commander_MomentOfCourage_Lifesteal : public CDOTA_Buff { public: - int32_t hp_leech_percent; // 0x12b8 + int32_t hp_leech_percent; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Legion_Commander_Duel_DamageBoost : public CDOTA_Buff { public: @@ -25648,35 +25713,35 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Holdout_GladiatorsUnite_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Holdout_GladiatorsUnite : public CDOTA_Buff { public: - 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 + int32_t bonus_armor_per_hero; // 0x12c8 + int32_t bonus_damage_per_hero; // 0x12cc + int32_t lifesteal_per_hero; // 0x12d0 + int32_t scepter_damage_reduction_pct; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Techies_Suicide_RespawnTime : public CDOTA_Buff { public: - int32_t m_nSuicideKillCount; // 0x12b8 + int32_t m_nSuicideKillCount; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_LandMines_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -25684,21 +25749,21 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Techies_ReactiveTazer : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 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 + int32_t bonus_ms; // 0x12d0 + int32_t stun_radius; // 0x12d4 + float stun_duration; // 0x12d8 + int32_t damage_percent; // 0x12dc + int32_t m_nDamageRemaining; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_ReactiveTazer_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -25706,94 +25771,94 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Techies_StickyBombThrow : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 +}; + +// Alignment: 7 +// Size: 0x1300 +class CDOTA_Modifier_Techies_StickyBomb_Chase : public CDOTA_Buff +{ +public: + int32_t acceleration; // 0x12c8 + int32_t m_nTeamNumber; // 0x12cc + float speed; // 0x12d0 + float pre_chase_time; // 0x12d4 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12d8 + Vector m_vStartPosition; // 0x12dc + CountdownTimer m_MoveTime; // 0x12e8 +}; + +// Alignment: 2 +// Size: 0x12d8 +class CDOTA_Modifier_Techies_StickyBomb_Countdown : public CDOTA_Buff +{ +public: + Vector m_vLastLoc; // 0x12c8 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12d4 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Techies_StickyBomb_Slow : public CDOTA_Buff +{ +public: + int32_t slow; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Techies_StickyBomb_Slow_Secondary : public CDOTA_Buff +{ +public: + int32_t secondary_slow; // 0x12c8 +}; + +// Alignment: 8 +// Size: 0x1310 +class CDOTA_Modifier_Techies_LandMine : public CDOTA_Modifier_Invisible +{ +public: + int32_t radius; // 0x12d8 + float proximity_threshold; // 0x12dc + float damage; // 0x12e0 + float activation_delay; // 0x12e4 + float outer_damage; // 0x12e8 + int32_t min_distance; // 0x12ec + bool bActivated; // 0x12f0 +private: + [[maybe_unused]] uint8_t __pad12f1[0x7]; // 0x12f1 +public: + CountdownTimer m_Timer; // 0x12f8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Techies_LandMine_Burn : public CDOTA_Buff +{ +public: + int32_t mres_reduction; // 0x12c8 }; // Alignment: 7 // Size: 0x12f0 -class CDOTA_Modifier_Techies_StickyBomb_Chase : public CDOTA_Buff -{ -public: - 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: 0x12c8 -class CDOTA_Modifier_Techies_StickyBomb_Countdown : public CDOTA_Buff -{ -public: - Vector m_vLastLoc; // 0x12b8 - CHandle< C_BaseEntity > m_hAttachTarget; // 0x12c4 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Techies_StickyBomb_Slow : public CDOTA_Buff -{ -public: - int32_t slow; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Techies_StickyBomb_Slow_Secondary : public CDOTA_Buff -{ -public: - int32_t secondary_slow; // 0x12b8 -}; - -// Alignment: 8 -// Size: 0x1300 -class CDOTA_Modifier_Techies_LandMine : public CDOTA_Modifier_Invisible -{ -public: - 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 __pad12e1[0x7]; // 0x12e1 -public: - CountdownTimer m_Timer; // 0x12e8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Techies_LandMine_Burn : public CDOTA_Buff -{ -public: - int32_t mres_reduction; // 0x12b8 -}; - -// Alignment: 7 -// Size: 0x12e0 class CDOTA_Modifier_Techies_StasisTrap : public CDOTA_Modifier_Invisible { public: - 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 + int32_t activation_radius; // 0x12d8 + int32_t stun_radius; // 0x12dc + float stun_duration; // 0x12e0 + float explode_delay; // 0x12e4 + float activation_time; // 0x12e8 + bool m_bActivated; // 0x12ec + bool m_bTriggered; // 0x12ed }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_StasisTrap_Stunned : public CDOTA_Modifier_Rooted { public: @@ -25801,7 +25866,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_Suicide_Leap_Animation : public CDOTA_Modifier_Disarmed { public: @@ -25809,7 +25874,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_Suicide_Leap : public CDOTA_Buff { public: @@ -25817,7 +25882,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_DeployRemoteMine : public CDOTA_Buff { public: @@ -25825,33 +25890,33 @@ public: }; // Alignment: 8 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Techies_RemoteMine : public CDOTA_Modifier_Invisible { public: - 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 + int32_t radius; // 0x12d8 + int32_t damage; // 0x12dc + int32_t radius_scepter; // 0x12e0 + int32_t damage_scepter; // 0x12e4 + int32_t vision_radius; // 0x12e8 + float vision_duration; // 0x12ec + int32_t model_scale; // 0x12f0 + bool bExploding; // 0x12f4 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Techies_Minefield_Sign_Thinker : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 - float trigger_radius; // 0x12bc - float minefield_duration; // 0x12c0 - bool m_bTriggered; // 0x12c4 + int32_t aura_radius; // 0x12c8 + float trigger_radius; // 0x12cc + float minefield_duration; // 0x12d0 + bool m_bTriggered; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_Minefield_Sign_Aura : public CDOTA_Buff { public: @@ -25859,27 +25924,27 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Techies_Minefield_Sign_Scepter : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 - float minefield_duration; // 0x12bc + int32_t aura_radius; // 0x12c8 + float minefield_duration; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Techies_Minefield_Sign_Scepter_Aura : public CDOTA_Buff { public: - float aura_radius; // 0x12b8 - float scepter_move_damage; // 0x12bc - float scepter_move_amt; // 0x12c0 - float minefield_duration; // 0x12c4 + float aura_radius; // 0x12c8 + float scepter_move_damage; // 0x12cc + float scepter_move_amt; // 0x12d0 + float minefield_duration; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_Arcana_DamageListener : public CDOTA_Buff { public: @@ -25887,18 +25952,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_EmberSpirit_SearingChains : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x12b8 - float tick_interval; // 0x12bc - float tick_damage; // 0x12c0 - float duration; // 0x12c4 + int32_t damage_per_second; // 0x12c8 + float tick_interval; // 0x12cc + float tick_damage; // 0x12d0 + float duration; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_EmberSpirit_SlightOfFist_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -25906,7 +25971,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Marker : public CDOTA_Buff { public: @@ -25914,7 +25979,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_InProgress : public CDOTA_Buff { public: @@ -25922,18 +25987,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Caster : public CDOTA_Buff { public: - int32_t bonus_hero_damage; // 0x12b8 - int32_t creep_damage_penalty; // 0x12bc - int32_t radius; // 0x12c0 - float attack_interval; // 0x12c4 + int32_t bonus_hero_damage; // 0x12c8 + int32_t creep_damage_penalty; // 0x12cc + int32_t radius; // 0x12d0 + float attack_interval; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Caster_Invulnerability : public CDOTA_Buff { public: @@ -25941,30 +26006,30 @@ public: }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_EmberSpirit_FlameGuard : public CDOTA_Buff { public: - 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 + int32_t absorb_amount; // 0x12c8 + int32_t damage_per_second; // 0x12cc + int32_t radius; // 0x12d0 + float tick_interval; // 0x12d4 + int32_t shield_pct_absorb; // 0x12d8 + int32_t m_nAbsorbRemaining; // 0x12dc + float m_flShowParticleInterval; // 0x12e0 + bool m_bDestroy; // 0x12e4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EmberSpirit_FlameGuard_Debuff : public CDOTA_Buff { public: - int32_t blind_pct; // 0x12b8 + int32_t blind_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_EmberSpirit_FireRemnant_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -25972,42 +26037,42 @@ public: }; // Alignment: 3 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_EmberSpirit_FireRemnant_RemnantTracker : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > m_vActiveRemnants; // 0x12b8 - CUtlVector< CHandle< C_BaseEntity > > m_vTrackingDelayedRemnants; // 0x12d0 - int32_t shard_charge_radius; // 0x12e8 + CUtlVector< CHandle< C_BaseEntity > > m_vActiveRemnants; // 0x12c8 + CUtlVector< CHandle< C_BaseEntity > > m_vTrackingDelayedRemnants; // 0x12e0 + int32_t shard_charge_radius; // 0x12f8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EmberSpirit_FireRemnantThinker : public CDOTA_Buff { public: - int32_t m_nProjectileHandle; // 0x12b8 - bool m_bIsShardRemnant; // 0x12bc + int32_t m_nProjectileHandle; // 0x12c8 + bool m_bIsShardRemnant; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EmberSpirit_FireRemnant_Shard : public CDOTA_Buff { public: - int32_t shard_radius; // 0x12b8 + int32_t shard_radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EmberSpirit_FireRemnant_Shard_Debuff : public CDOTA_Buff { public: - int32_t shard_damage_per_second; // 0x12b8 + int32_t shard_damage_per_second; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_EmberSpirit_FireRemnant_Timer : public CDOTA_Buff { public: @@ -26015,7 +26080,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_EmberSpirit_FireRemnant : public CDOTA_Buff { public: @@ -26023,7 +26088,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Earth_Spirit_StoneCaller_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -26031,50 +26096,50 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_EarthSpirit_RollingBoulder_Caster : public CDOTA_Buff { public: - Vector m_vDir; // 0x12b8 - bool m_bBoulderCreated; // 0x12c4 + Vector m_vDir; // 0x12c8 + bool m_bBoulderCreated; // 0x12d4 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_EarthSpirit_StoneThinker : public CDOTA_Buff { public: - CNewParticleEffect* m_pVisionRangeFX; // 0x12b8 - int32_t vision_radius; // 0x12c0 - bool m_bHasBeenMagnetized; // 0x12c4 + CNewParticleEffect* m_pVisionRangeFX; // 0x12c8 + int32_t vision_radius; // 0x12d0 + bool m_bHasBeenMagnetized; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - ParticleIndex_t m_nFXIndex; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EarthSpirit_BoulderSmash : public CDOTA_Buff { public: - bool m_bInterrupted; // 0x12b8 + bool m_bInterrupted; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t m_nProjectileID; // 0x12bc + int32_t m_nProjectileID; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EarthSpirit_Boulder_Smash_Debuff : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 + int32_t move_slow; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_EarthSpirit_Geogmagnetic_Grip_Debuff : public CDOTA_Modifier_Silence { public: @@ -26082,71 +26147,71 @@ public: }; // Alignment: 10 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_EarthSpirit_GeomagneticGrip : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t rock_damage; // 0x12cc + float pull_units_per_second; // 0x12d0 + float pull_units_per_second_heroes; // 0x12d4 + float total_pull_distance; // 0x12d8 + float duration; // 0x12dc + bool m_bUsedStone; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - Vector m_vDestination; // 0x12d4 - Vector m_vLocation; // 0x12e0 + Vector m_vDestination; // 0x12e4 + Vector m_vLocation; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec + [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12f0 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1300 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EarthSpirit_Petrify : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - bool m_bHasBeenMagnetized; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c8 + bool m_bHasBeenMagnetized; // 0x12cc }; // Alignment: 10 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_EarthSpirit_Magnetize : public CDOTA_Buff { public: - 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 + int32_t rock_search_radius; // 0x12c8 + int32_t damage_per_second; // 0x12cc + float damage_interval; // 0x12d0 + float rock_explosion_delay; // 0x12d4 + float damage_duration; // 0x12d8 + int32_t cast_radius; // 0x12dc + int32_t rock_explosion_radius; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hExplodedRocks; // 0x12d8 - float duration; // 0x12f0 - bool m_bShowOverhead; // 0x12f4 + CUtlVector< CHandle< C_BaseEntity > > m_hExplodedRocks; // 0x12e8 + float duration; // 0x1300 + bool m_bShowOverhead; // 0x1304 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_EarthSpirit_Polarization : public CDOTA_Buff { public: - 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 + int32_t damage_per_second; // 0x12c8 + float damage_interval; // 0x12cc + float damage_duration; // 0x12d0 + int32_t rock_search_radius; // 0x12d4 + CHandle< C_BaseEntity > m_hMagnetizeAbility; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_EarthSpirit_Polarization_Damage_Timer : public CDOTA_Buff { public: @@ -26154,44 +26219,44 @@ public: }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AbyssalUnderlord_Firestorm_Thinker : public CDOTA_Buff { public: - 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 + int32_t wave_damage; // 0x12c8 + int32_t wave_count; // 0x12cc + int32_t radius; // 0x12d0 + float wave_interval; // 0x12d4 + float burn_duration; // 0x12d8 + float burn_interval; // 0x12dc + float first_wave_delay; // 0x12e0 + float building_damage; // 0x12e4 + CHandle< C_BaseEntity > m_hTarget; // 0x12e8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AbyssalUnderlord_Firestorm_Burn : public CDOTA_Buff { public: - float burn_damage; // 0x12b8 - float burn_interval; // 0x12bc - float building_damage; // 0x12c0 + float burn_damage; // 0x12c8 + float burn_interval; // 0x12cc + float building_damage; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Thinker : public CDOTA_Buff { public: - int32_t pit_damage; // 0x12b8 - int32_t radius; // 0x12bc - float pit_interval; // 0x12c0 - float ensnare_duration; // 0x12c4 + int32_t pit_damage; // 0x12c8 + int32_t radius; // 0x12cc + float pit_interval; // 0x12d0 + float ensnare_duration; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -26199,15 +26264,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Slow : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x12b8 + int32_t speed_bonus; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Buff_Placer : public CDOTA_Buff { public: @@ -26215,38 +26280,38 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Effect : public CDOTA_Buff { public: - 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 + int32_t damage_reduction_pct; // 0x12c8 + float bonus_damage_duration; // 0x12cc + int32_t bonus_damage_from_creep; // 0x12d0 + int32_t bonus_damage_from_hero; // 0x12d4 + bool m_bWasHidden; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_HeroDmgBuff : public CDOTA_Buff { public: - int32_t bonus_damage_from_hero; // 0x12b8 - float bonus_shared_by_allies_pct; // 0x12bc - float m_flModifier; // 0x12c0 + int32_t bonus_damage_from_hero; // 0x12c8 + float bonus_shared_by_allies_pct; // 0x12cc + float m_flModifier; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Permanent_HeroDmgBuff : public CDOTA_Buff { public: @@ -26254,17 +26319,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_CreepDmgBuff : public CDOTA_Buff { public: - int32_t bonus_damage_from_creep; // 0x12b8 - float bonus_shared_by_allies_pct; // 0x12bc - float m_flModifier; // 0x12c0 + int32_t bonus_damage_from_creep; // 0x12c8 + float bonus_shared_by_allies_pct; // 0x12cc + float m_flModifier; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_DmgBuffCounter : public CDOTA_Buff { public: @@ -26272,96 +26337,96 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Scepter : public CDOTA_Buff { public: - int32_t bonus_damage_from_creep; // 0x12b8 + int32_t bonus_damage_from_creep; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AbyssalUnderlord_DarkRift : public CDOTA_Buff { public: - ParticleIndex_t m_nfxTargetTp; // 0x12b8 - int32_t radius; // 0x12bc - int32_t duration; // 0x12c0 - ParticleIndex_t m_nfxAmbientFx; // 0x12c4 - bool bPointTarget; // 0x12c8 + ParticleIndex_t m_nfxTargetTp; // 0x12c8 + int32_t radius; // 0x12cc + int32_t duration; // 0x12d0 + ParticleIndex_t m_nfxAmbientFx; // 0x12d4 + bool bPointTarget; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - Vector vDestination; // 0x12cc + Vector vDestination; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AbyssalUnderlord_DarkRift_Bonus_Health : public CDOTA_Buff { public: - int32_t scepter_health_bonus; // 0x12b8 + int32_t scepter_health_bonus; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Underlord_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x12b8 + Vector m_vOriginal; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Underlord_Portal_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nPortalAmbientFX; // 0x12b8 - float m_fPortalRadius; // 0x12bc + ParticleIndex_t m_nPortalAmbientFX; // 0x12c8 + float m_fPortalRadius; // 0x12cc }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Underlord_Portal_Warp_Channel : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nfxTargetTp; // 0x12c8 + ParticleIndex_t m_nfxTargetTp2; // 0x12cc + ParticleIndex_t m_nfxAmbientFx; // 0x12d0 + ParticleIndex_t m_nfxPortal1; // 0x12d4 + ParticleIndex_t m_nfxPortal2; // 0x12d8 + float animation_rate; // 0x12dc + int32_t stop_distance; // 0x12e0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Underlord_Portal_Buff : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 - int32_t bonus_ms; // 0x12bc + int32_t damage_reduction; // 0x12c8 + int32_t bonus_ms; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Terrorblade_Reflection_Invulnerability : public CDOTA_Modifier_Invulnerable { public: - CHandle< C_BaseEntity > hTarget; // 0x12b8 + CHandle< C_BaseEntity > hTarget; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Terrorblade_Reflection_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 - int32_t attack_slow; // 0x12bc + int32_t move_slow; // 0x12c8 + int32_t attack_slow; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Terrorblade_ConjureImage : public CDOTA_Buff { public: @@ -26369,7 +26434,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Terrorblade_Transforming : public CDOTA_Buff { public: @@ -26377,7 +26442,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Terrorblade_Demon_Zeal_Aura : public CDOTA_Buff { public: @@ -26385,26 +26450,26 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t berserk_bonus_attack_speed; // 0x12c8 + int32_t berserk_bonus_movement_speed; // 0x12cc + int32_t berserk_bonus_armor; // 0x12d0 + int32_t melee_bonus; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Terrorblade_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x12b8 + Vector m_vOriginal; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform_Aura : public CDOTA_Buff { public: @@ -26412,7 +26477,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform_Aura_Applier : public CDOTA_Buff { public: @@ -26420,7 +26485,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform : public CDOTA_Buff { public: @@ -26428,46 +26493,46 @@ public: }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Terrorblade_Metamorphosis : public CDOTA_Buff { public: - 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 + float base_attack_time; // 0x12c8 + int32_t bonus_range; // 0x12cc + int32_t m_iOriginalAttackCapabilities; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + int32_t speed_loss; // 0x12d8 + int32_t attack_projectile_speed_bonus; // 0x12dc + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12e0 + CUtlSymbolLarge m_iszOriginalRangedAttackEffect; // 0x12e8 }; // Alignment: 8 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Terrorblade_Metamorphosis_Fear_Thinker : public CDOTA_Buff { public: - 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 + float m_fLastRadius; // 0x12c8 + float m_fCurRadius; // 0x12cc + GameTime_t m_fLastThink; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12d8 + int32_t scepter_speed; // 0x12f0 + int32_t scepter_radius; // 0x12f4 + bool m_bFirstThink; // 0x12f8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Terrorblade_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x12b8 - bool m_bFlail; // 0x12b9 + bool m_bFrozen; // 0x12c8 + bool m_bFlail; // 0x12c9 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Phoenix_SunRayVision : public CDOTA_Buff { public: @@ -26475,43 +26540,43 @@ public: }; // Alignment: 23 -// Size: 0x1330 +// Size: 0x1340 class CDOTA_Modifier_Phoenix_SunRay : public CDOTA_Buff { public: - 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 + int32_t hp_cost_perc_per_second; // 0x12c8 + int32_t beam_range; // 0x12cc + int32_t base_damage; // 0x12d0 + int32_t base_heal; // 0x12d4 + float tick_interval; // 0x12d8 + float forward_move_speed; // 0x12dc + float turn_rate_initial; // 0x12e0 + float turn_rate; // 0x12e4 + int32_t radius; // 0x12e8 + float m_flCurrentTime; // 0x12ec + float m_flAccumulatedSelfDamage; // 0x12f0 + bool m_bMovingForward; // 0x12f4 + bool m_bTurningFast; // 0x12f5 private: - [[maybe_unused]] uint8_t __pad12e6[0x2]; // 0x12e6 + [[maybe_unused]] uint8_t __pad12f6[0x2]; // 0x12f6 public: - 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 + float m_flFacingTarget; // 0x12f8 + float hp_perc_damage; // 0x12fc + float hp_perc_heal; // 0x1300 + float blind_duration; // 0x1304 + int32_t blind_per_second; // 0x1308 + ParticleIndex_t m_nBeamFXIndex; // 0x130c + CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x1310 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x1330 + bool m_bCreatedVisionThinkers; // 0x1334 private: - [[maybe_unused]] uint8_t __pad1325[0x3]; // 0x1325 + [[maybe_unused]] uint8_t __pad1335[0x3]; // 0x1335 public: - CHandle< C_BaseEntity > m_hBeamEndSound; // 0x1328 + CHandle< C_BaseEntity > m_hBeamEndSound; // 0x1338 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Phoenix_Sun_Ray_Blind : public CDOTA_Buff { public: @@ -26519,65 +26584,65 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Phoenix_Sun_Ray_Slow : public CDOTA_Buff { public: - int32_t shard_move_slow_pct; // 0x12b8 + int32_t shard_move_slow_pct; // 0x12c8 }; // Alignment: 12 -// Size: 0x1320 +// Size: 0x1330 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 + Vector m_vSource; // 0x12c8 + Vector m_vTarget; // 0x12d4 + Vector m_vDirection; // 0x12e0 + QAngle m_angDirection; // 0x12ec + float m_flCurrentTime; // 0x12f8 + int32_t dash_length; // 0x12fc + int32_t dash_width; // 0x1300 + int32_t hit_radius; // 0x1304 + float burn_duration; // 0x1308 + float dive_duration; // 0x130c + float impact_damage; // 0x1310 private: - [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 + [[maybe_unused]] uint8_t __pad1314[0x4]; // 0x1314 public: - CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x1308 + CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x1318 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + float burn_tick_interval; // 0x12c8 + int32_t damage_per_second; // 0x12cc + int32_t slow_movement_speed_pct; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Phoenix_FireSpiritCount : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Phoenix_FireSpiritBurn : public CDOTA_Buff { public: - float tick_interval; // 0x12b8 - int32_t attackspeed_slow; // 0x12bc - int32_t damage_per_second; // 0x12c0 + float tick_interval; // 0x12c8 + int32_t attackspeed_slow; // 0x12cc + int32_t damage_per_second; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Phoenix_SupernovaHiding : public CDOTA_Buff { public: @@ -26585,30 +26650,30 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Phoenix_Sun : public CDOTA_Buff { public: - 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 + int32_t aura_radius; // 0x12c8 + float stun_duration; // 0x12cc + int32_t max_hero_attacks; // 0x12d0 + int32_t max_hero_attacks_scepter; // 0x12d4 + int32_t max_hero_attacks_required; // 0x12d8 + CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x12dc + int32_t m_iAttackCount; // 0x12e0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Phoenix_Sun_Debuff : public CDOTA_Buff { public: - int32_t damage_per_sec; // 0x12b8 - float tick_interval; // 0x12bc + int32_t damage_per_sec; // 0x12c8 + float tick_interval; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Oracle_FortunesEndChannelTarget : public CDOTA_Buff { public: @@ -26616,7 +26681,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Oracle_FortunesEndPurge : public CDOTA_Modifier_Rooted { public: @@ -26624,7 +26689,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Oracle_FatesEdict : public CDOTA_Buff { public: @@ -26632,16 +26697,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Oracle_PurifyingFlames : public CDOTA_Buff { public: - float heal_per_second; // 0x12b8 - float tick_rate; // 0x12bc + float heal_per_second; // 0x12c8 + float tick_rate; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Oracle_FalsePromiseTimer : public CDOTA_Buff { public: @@ -26649,320 +26714,320 @@ public: }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Oracle_FalsePromise_Invis : public CDOTA_Modifier_PersistentInvisibility { public: - float shard_spell_amp_bonus; // 0x12c8 - float shard_bat_bonus; // 0x12cc + float shard_spell_amp_bonus; // 0x12d8 + float shard_bat_bonus; // 0x12dc }; // Alignment: 8 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Oracle_FalsePromise : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x30]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x30]; // 0x12c8 public: - bool m_bWaitingForInvulnerability; // 0x12e8 - bool m_bDisableHealing; // 0x12e9 + bool m_bWaitingForInvulnerability; // 0x12f8 + bool m_bDisableHealing; // 0x12f9 private: - [[maybe_unused]] uint8_t __pad12ea[0x2]; // 0x12ea + [[maybe_unused]] uint8_t __pad12fa[0x2]; // 0x12fa public: - 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 + float m_flHealthOnCreated; // 0x12fc + ParticleIndex_t m_nFXIndex; // 0x1300 + ParticleIndex_t m_nFXIndexB; // 0x1304 + float m_flRunningDmg; // 0x1308 + float m_flRunningHealth; // 0x130c + int32_t bonus_armor; // 0x1310 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Oracle_RainOfDestiny_Aura : public CDOTA_Buff { public: - float damage; // 0x12b8 - int32_t radius; // 0x12bc - ParticleIndex_t m_nFXIndex; // 0x12c0 + float damage; // 0x12c8 + int32_t radius; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Oracle_RainOfDestiny : public CDOTA_Buff { public: - int32_t heal_amp; // 0x12b8 + int32_t heal_amp; // 0x12c8 }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Frost_Attack : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Flight : public CDOTA_Buff { public: - 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 + float attack_point; // 0x12c8 + int32_t attack_range_bonus; // 0x12cc + int32_t projectile_speed_bonus; // 0x12d0 + int32_t night_vision_bonus; // 0x12d4 + int32_t movement_scepter; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12d0 - int32_t max_attacks; // 0x12d8 - int32_t m_iNumAttacks; // 0x12dc + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12e0 + int32_t max_attacks; // 0x12e8 + int32_t m_iNumAttacks; // 0x12ec }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Slow : public CDOTA_Buff { public: - float percent_damage; // 0x12b8 - int32_t move_slow; // 0x12bc + float percent_damage; // 0x12c8 + int32_t move_slow; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Winter_Wyvern_Splinter_Blast_Slow : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x12b8 + int32_t bonus_movespeed; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Winter_Wyvern_Cold_Embrace : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - int32_t heal_additive; // 0x12c0 - float heal_percentage; // 0x12c4 + int32_t heal_additive; // 0x12d0 + float heal_percentage; // 0x12d4 }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse_Kill_Credit : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse_Aura : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 - int32_t m_nAlliesTaunted; // 0x12bc - bool m_bRelicTriggered; // 0x12c0 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + int32_t m_nAlliesTaunted; // 0x12cc + bool m_bRelicTriggered; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t radius; // 0x12c4 - int32_t damage_amplification; // 0x12c8 - int32_t damage_reduction; // 0x12cc - GameTime_t m_flLastSeen; // 0x12d0 + int32_t radius; // 0x12d4 + int32_t damage_amplification; // 0x12d8 + int32_t damage_reduction; // 0x12dc + GameTime_t m_flLastSeen; // 0x12e0 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse : public CDOTA_Buff { public: - 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 + CHandle< C_BaseEntity > m_hZombieTarget; // 0x12c8 + CHandle< C_BaseEntity > m_hDesiredTarget; // 0x12cc + int32_t damage_reduction; // 0x12d0 + int32_t damage_amplification; // 0x12d4 + int32_t bonus_attack_speed; // 0x12d8 }; // Alignment: 13 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_ArcWarden_Flux : public CDOTA_Buff { public: - 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 + int32_t m_nCasterTeam; // 0x12c8 + int32_t damage_per_second; // 0x12cc + int32_t tempest_damage_per_second; // 0x12d0 + int32_t search_radius; // 0x12d4 + int32_t move_speed_slow_pct; // 0x12d8 + int32_t tempest_move_speed_slow_pct; // 0x12dc + int32_t status_resist; // 0x12e0 + float think_interval; // 0x12e4 + int32_t m_nCurrentMovementSlow; // 0x12e8 + int32_t m_nCurrentStatusResistance; // 0x12ec + bool m_bAlone; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - ParticleIndex_t m_nFXIndex; // 0x12e4 - bool m_bIsTempestVersion; // 0x12e8 + ParticleIndex_t m_nFXIndex; // 0x12f4 + bool m_bIsTempestVersion; // 0x12f8 }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - int32_t radius; // 0x12c0 - Vector m_vPos; // 0x12c4 + int32_t radius; // 0x12d0 + Vector m_vPos; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_Attack_Speed : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_ArcWarden_MagneticField_Evasion : public CDOTA_Buff { public: - 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 + int32_t evasion_chance; // 0x12c8 + int32_t radius; // 0x12cc + int32_t shard_magic_resist; // 0x12d0 + int32_t shard_slow_pct; // 0x12d4 + float aura_origin_x; // 0x12d8 + float aura_origin_y; // 0x12dc +}; + +// Alignment: 2 +// Size: 0x12e0 +class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_AttackRange : public CDOTA_Buff +{ +private: + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 +public: + int32_t radius; // 0x12d0 + Vector m_vPos; // 0x12d4 +}; + +// Alignment: 9 +// Size: 0x1300 +class CDOTA_Modifier_ArcWarden_MagneticField_AttackRange : public CDOTA_Buff +{ +public: + int32_t attack_range_bonus; // 0x12c8 + int32_t attack_magic_damage; // 0x12cc + int32_t attack_damage_bonus; // 0x12d0 + int32_t radius; // 0x12d4 + int32_t shard_magic_resist; // 0x12d8 + int32_t shard_slow_pct; // 0x12dc + float aura_origin_x; // 0x12e0 + float aura_origin_y; // 0x12e4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_ArcWarden_MagneticField_Attack_Speed : public CDOTA_Buff +{ +public: + int32_t attack_speed_bonus; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_ArcWarden_SparkWraith_Purge : public CDOTA_Buff +{ +public: + int32_t move_speed_slow_pct; // 0x12c8 +}; + +// Alignment: 11 +// Size: 0x12f8 +class CDOTA_Modifier_ArcWarden_SparkWraith_Thinker : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 + int32_t scepter_radius; // 0x12cc + int32_t wraith_vision_radius; // 0x12d0 + int32_t wraith_speed; // 0x12d4 +private: + [[maybe_unused]] uint8_t __pad12d8[0x8]; // 0x12d8 +public: + float activation_delay; // 0x12e0 + float scepter_activation_delay; // 0x12e4 + float think_interval; // 0x12e8 + float m_flSparkDamage; // 0x12ec + int32_t m_nViewerID; // 0x12f0 + bool m_bActive; // 0x12f4 + bool m_bOriginal; // 0x12f5 }; // Alignment: 2 // Size: 0x12d0 -class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_AttackRange : public CDOTA_Buff -{ -private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 -public: - int32_t radius; // 0x12c0 - Vector m_vPos; // 0x12c4 -}; - -// Alignment: 9 -// Size: 0x12f0 -class CDOTA_Modifier_ArcWarden_MagneticField_AttackRange : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_ArcWarden_MagneticField_Attack_Speed : public CDOTA_Buff -{ -public: - int32_t attack_speed_bonus; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_ArcWarden_SparkWraith_Purge : public CDOTA_Buff -{ -public: - int32_t move_speed_slow_pct; // 0x12b8 -}; - -// Alignment: 11 -// Size: 0x12e8 -class CDOTA_Modifier_ArcWarden_SparkWraith_Thinker : public CDOTA_Buff -{ -public: - 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 __pad12c8[0x8]; // 0x12c8 -public: - 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: 0x12c0 class CDOTA_Modifier_ArcWarden_TempestDouble : public CDOTA_Buff { public: - int32_t penalty_distance; // 0x12b8 - int32_t attack_damage_penalty; // 0x12bc + int32_t penalty_distance; // 0x12c8 + int32_t attack_damage_penalty; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ArcWarden_TempestDouble_DistancePenalty : public CDOTA_Buff { public: - int32_t attack_damage_penalty; // 0x12b8 + int32_t attack_damage_penalty; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Arc_Warden_Scepter : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hRune; // 0x12b8 + CHandle< C_BaseEntity > m_hRune; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Banana : public CDOTA_Buff { public: - int32_t slide_distance; // 0x12b8 - int32_t radius; // 0x12bc - float slide_duration; // 0x12c0 + int32_t slide_distance; // 0x12c8 + int32_t radius; // 0x12cc + float slide_duration; // 0x12d0 }; // Alignment: 11 -// Size: 0x1308 +// Size: 0x1318 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 + Vector m_vCenter; // 0x12c8 + int32_t knockback_distance; // 0x12d4 + int32_t knockback_height; // 0x12d8 + float knockback_duration; // 0x12dc + Vector m_vHorizOffset; // 0x12e0 + Vector m_vStartPosition; // 0x12ec + Vector m_vDir; // 0x12f8 + float m_fCurrentTimeHoriz; // 0x1304 + float m_fCurrentTimeVert; // 0x1308 + bool m_bShouldStun; // 0x130c private: - [[maybe_unused]] uint8_t __pad12fd[0x3]; // 0x12fd + [[maybe_unused]] uint8_t __pad130d[0x3]; // 0x130d public: - float flTimeSinceChange; // 0x1300 + float flTimeSinceChange; // 0x1310 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MonkeyKing_Strike_Stun : public CDOTA_Modifier_Stunned { public: @@ -26970,44 +27035,44 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_Strike_Crit : public CDOTA_Buff { public: - int32_t strike_crit_mult; // 0x12b8 + int32_t strike_crit_mult; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_Bounce : public CDOTA_Buff { public: - float jump_damage_cooldown; // 0x12b8 + float jump_damage_cooldown; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_MonkeyKing_BounceLeap : public CDOTA_Buff { public: - float give_up_distance; // 0x12b8 - float ground_jump_distance; // 0x12bc - float m_flZDelta; // 0x12c0 - float perched_day_vision; // 0x12c4 - float perched_night_vision; // 0x12c8 + float give_up_distance; // 0x12c8 + float ground_jump_distance; // 0x12cc + float m_flZDelta; // 0x12d0 + float perched_day_vision; // 0x12d4 + float perched_night_vision; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_TreeDance_Activity : public CDOTA_Buff { public: - float m_fAbilityRangePct; // 0x12b8 - float m_bIsSpring; // 0x12bc + float m_fAbilityRangePct; // 0x12c8 + float m_bIsSpring; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MonkeyKing_RightClickJump_Activity : public CDOTA_Buff { public: @@ -27015,24 +27080,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_SpringSlow : public CDOTA_Buff { public: - int32_t impact_movement_slow; // 0x12b8 - int32_t m_nSlowPct; // 0x12bc + int32_t impact_movement_slow; // 0x12c8 + int32_t m_nSlowPct; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_Spring_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MonkeyKing_TreeJump_Hidden : public CDOTA_Buff { public: @@ -27040,7 +27105,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MonkeyKing_UnperchedStunned : public CDOTA_Modifier_Stunned { public: @@ -27048,95 +27113,95 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_MonkeyKing_ArcToGround : public CDOTA_Buff { public: - float leap_speed; // 0x12b8 - float give_up_distance; // 0x12bc - float attackspeed_duration; // 0x12c0 - float m_flOriginalZDelta; // 0x12c4 - float m_flZDelta; // 0x12c8 + float leap_speed; // 0x12c8 + float give_up_distance; // 0x12cc + float attackspeed_duration; // 0x12d0 + float m_flOriginalZDelta; // 0x12d4 + float m_flZDelta; // 0x12d8 }; // Alignment: 15 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_MonkeyKing_Transform : public CDOTA_Buff { public: - 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 + CUtlString m_strDisguise; // 0x12c8 + int32_t movespeed; // 0x12d0 + int32_t m_nDisguisedSpeed; // 0x12d4 + int32_t reveal_radius; // 0x12d8 + ParticleIndex_t m_nDisguiseEffectIndex; // 0x12dc + CHandle< C_BaseEntity > m_hCourierToClone; // 0x12e0 + CHandle< C_BaseEntity > m_hCreepToClone; // 0x12e4 + CUtlVector< CHandle< C_BaseEntity > > m_aryBountyRuneSpawners; // 0x12e8 + bool m_bIsFlyingCourier; // 0x1300 + bool m_bIsRune; // 0x1301 + bool m_bIsBanana; // 0x1302 + bool m_bIsFakeAlly; // 0x1303 + uint32_t m_nMischiefUnitType; // 0x1304 + int32_t m_nMischiefHealthbarOffset; // 0x1308 + float invul_duration; // 0x130c }; // Alignment: 10 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_MonkeyKing_FurArmyThinker : public CDOTA_Buff { public: - 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 + float m_fDuration; // 0x12c8 + GameTime_t m_fTimeThinkerCreated; // 0x12cc + CUtlVector< Vector > m_vTargetPositions; // 0x12d0 + Vector m_vInitialPos; // 0x12e8 + int32_t first_radius; // 0x12f4 + int32_t num_first_soldiers; // 0x12f8 + int32_t second_radius; // 0x12fc + int32_t num_second_soldiers; // 0x1300 + ParticleIndex_t m_nRingFXIndex; // 0x1304 + int32_t final_radius; // 0x1308 }; // Alignment: 7 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_MonkeyKing_FurArmy_Soldier : public CDOTA_Buff { public: - Vector m_vTargetPos; // 0x12b8 - Vector m_vDirection; // 0x12c4 - int32_t move_speed; // 0x12d0 - CHandle< C_BaseEntity > m_hThinker; // 0x12d4 - bool m_bIsInPosition; // 0x12d8 + Vector m_vTargetPos; // 0x12c8 + Vector m_vDirection; // 0x12d4 + int32_t move_speed; // 0x12e0 + CHandle< C_BaseEntity > m_hThinker; // 0x12e4 + bool m_bIsInPosition; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - ParticleIndex_t m_nFXIndex; // 0x12dc - bool m_bAutoSpawn; // 0x12e0 + ParticleIndex_t m_nFXIndex; // 0x12ec + bool m_bAutoSpawn; // 0x12f0 }; // Alignment: 10 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierInPosition : public CDOTA_Buff { public: - 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 + Vector m_vTargetPos; // 0x12c8 + CHandle< C_BaseEntity > m_hAttackTarget; // 0x12d4 + float attack_speed; // 0x12d8 + int32_t second_radius; // 0x12dc + int32_t outer_attack_buffer; // 0x12e0 + CHandle< C_BaseEntity > m_hThinker; // 0x12e4 + bool m_bDisarmed; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - GameTime_t m_flNextAttackTime; // 0x12dc - ParticleIndex_t m_nFXIndex; // 0x12e0 - bool m_bAutoSpawn; // 0x12e4 + GameTime_t m_flNextAttackTime; // 0x12ec + ParticleIndex_t m_nFXIndex; // 0x12f0 + bool m_bAutoSpawn; // 0x12f4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierInactive : public CDOTA_Buff { public: @@ -27144,7 +27209,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierHidden : public CDOTA_Buff { public: @@ -27152,7 +27217,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_ObliterateSoldier : public CDOTA_Buff { public: @@ -27160,46 +27225,46 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_FurArmy_BonusDamage : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_MonkeyKing_QuadrupleTap : public CDOTA_Buff { public: - int32_t counter_duration; // 0x12b8 - int32_t required_hits; // 0x12bc - int32_t max_duration; // 0x12c0 + int32_t counter_duration; // 0x12c8 + int32_t required_hits; // 0x12cc + int32_t max_duration; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_QuadrupleTap_Counter : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x12b8 + ParticleIndex_t m_nFXStackIndex; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_MonkeyKing_QuadrupleTap_Bonuses : public CDOTA_Buff { public: - 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 + int32_t charges; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t lifesteal; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + int32_t m_nIgnoreStrikeIndex; // 0x12d8 + bool m_bIsAttackAnim; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MonkeyKing_CloudRun : public CDOTA_Buff { public: @@ -27207,7 +27272,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MonkeyKing_CloudRunStart : public CDOTA_Buff { public: @@ -27215,70 +27280,70 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_MonkeyKing_BoundlessStrike_ShardMovement : public CDOTA_Buff { public: - 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 + int32_t acceleration_z; // 0x12c8 + int32_t min_height_above_lowest; // 0x12cc + int32_t min_height_above_highest; // 0x12d0 + int32_t max_horizontal_acceleration; // 0x12d4 + int32_t spring_channel_pct; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pangolier_HeartPiercer : public CDOTA_Buff { public: - float debuff_delay; // 0x12b8 - int32_t chance_pct; // 0x12bc + float debuff_delay; // 0x12c8 + int32_t chance_pct; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pangolier_HeartPiercer_Delay : public CDOTA_Buff { public: - float duration; // 0x12b8 - float debuff_delay; // 0x12bc + float duration; // 0x12c8 + float debuff_delay; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pangolier_HeartPiercer_Debuff : public CDOTA_Buff { public: - int32_t slow_pct; // 0x12b8 + int32_t slow_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pangolier_LuckyShot : public CDOTA_Buff { public: - int32_t chance_pct; // 0x12b8 + int32_t chance_pct; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pangolier_LuckyShot_Disarm : public CDOTA_Buff { public: - int32_t armor; // 0x12b8 - int32_t attack_slow; // 0x12bc + int32_t armor; // 0x12c8 + int32_t attack_slow; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pangolier_LuckyShot_Silence : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Pangolier_ShieldCrash_Jump : public CDOTA_Buff { public: @@ -27286,27 +27351,27 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pangolier_ShieldCrash_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Pangolier_ShieldCrash_Buff : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t m_nAbsorbRemaining; // 0x12cc + int32_t hero_shield; // 0x12d0 + int32_t base_shield; // 0x12d4 + int32_t accummulated_value; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Pangolier_Swashbuckle_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -27314,27 +27379,27 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pangolier_Swashbuckle_Attack : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 + int32_t damage; // 0x12c8 }; // Alignment: 5 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Pangolier_Swashbuckle : public CDOTA_Buff { public: - int32_t m_nStrikesLeft; // 0x12b8 - float attack_interval; // 0x12bc - Vector m_vSpawnPos; // 0x12c0 - Vector m_vStrikeDir; // 0x12cc - Vector m_vDashDir; // 0x12d8 + int32_t m_nStrikesLeft; // 0x12c8 + float attack_interval; // 0x12cc + Vector m_vSpawnPos; // 0x12d0 + Vector m_vStrikeDir; // 0x12dc + Vector m_vDashDir; // 0x12e8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Pangolier_Swashbuckle_Stunned : public CDOTA_Buff { public: @@ -27342,40 +27407,40 @@ public: }; // Alignment: 20 -// Size: 0x1358 +// Size: 0x1368 class CDOTA_Modifier_Pangolier_Gyroshell : public CDOTA_Modifier_DebuffImmune { public: - 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 + int32_t mp_cost_per_second; // 0x12c8 + float tick_interval; // 0x12cc + float forward_move_speed; // 0x12d0 + float turn_rate_boosted; // 0x12d4 + float turn_rate; // 0x12d8 + int32_t hit_radius; // 0x12dc + int32_t knockback_radius; // 0x12e0 + bool m_bHitFirstUpdate; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - 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 + GameTime_t m_flHitEndTime; // 0x12e8 + float hit_recover_time; // 0x12ec + GameTime_t m_flJumpEndTime; // 0x12f0 + float jump_recover_time; // 0x12f4 + float m_flTurnBoostProgress; // 0x12f8 + float m_flFacingTarget; // 0x12fc + bool m_bIsJumping; // 0x1300 private: - [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 + [[maybe_unused]] uint8_t __pad1301[0x3]; // 0x1301 public: - 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 + ParticleIndex_t m_nFXIndex; // 0x1304 + CUtlVector< float32 > m_flTurnHistory; // 0x1308 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1320 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1338 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1350 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Pangolier_Gyroshell_Ricochet : public CDOTA_Buff { public: @@ -27383,7 +27448,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Pangolier_GyroshellTimeout : public CDOTA_Buff { public: @@ -27391,7 +27456,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Pangolier_GyroshellBounce : public CDOTA_Buff { public: @@ -27399,7 +27464,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Pangolier_Gyroshell_Stun : public CDOTA_Modifier_Stunned { public: @@ -27407,69 +27472,69 @@ public: }; // Alignment: 22 -// Size: 0x1360 +// Size: 0x1370 class CDOTA_Modifier_Pangolier_Rollup : public CDOTA_Modifier_DebuffImmune { public: - 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 + int32_t mp_cost_per_second; // 0x12c8 + float tick_interval; // 0x12cc + float forward_move_speed; // 0x12d0 + float turn_rate_boosted; // 0x12d4 + float turn_rate; // 0x12d8 + int32_t hit_radius; // 0x12dc + int32_t knockback_radius; // 0x12e0 + bool m_bHitFirstUpdate; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - 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 + GameTime_t m_flHitEndTime; // 0x12e8 + float hit_recover_time; // 0x12ec + GameTime_t m_flJumpEndTime; // 0x12f0 + float jump_recover_time; // 0x12f4 + float m_flTurnBoostProgress; // 0x12f8 + float m_flFacingTarget; // 0x12fc + GameTime_t m_flLastHeroAttackTime; // 0x1300 + bool m_bIsJumping; // 0x1304 private: - [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 + [[maybe_unused]] uint8_t __pad1305[0x3]; // 0x1305 public: - 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 + ParticleIndex_t m_nFXIndex; // 0x1308 + float m_flGyroshellDurationRemaining; // 0x130c + CUtlVector< float32 > m_flTurnHistory; // 0x1310 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1328 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1340 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1358 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_DarkWillow_BrambleMaze_Creation_Thinker : public CDOTA_Buff { public: - float latch_creation_interval; // 0x12b8 - float initial_creation_delay; // 0x12bc - int32_t placement_count; // 0x12c0 - float placement_duration; // 0x12c4 - int32_t m_iBramblesIndex; // 0x12c8 + float latch_creation_interval; // 0x12c8 + float initial_creation_delay; // 0x12cc + int32_t placement_count; // 0x12d0 + float placement_duration; // 0x12d4 + int32_t m_iBramblesIndex; // 0x12d8 }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_DarkWillow_BrambleMaze_Thinker : public CDOTA_Buff { public: - int32_t latch_range; // 0x12b8 - int32_t latch_vision; // 0x12bc - float latch_creation_delay; // 0x12c0 - float latch_duration; // 0x12c4 + int32_t latch_range; // 0x12c8 + int32_t latch_vision; // 0x12cc + float latch_creation_delay; // 0x12d0 + float latch_duration; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 + [[maybe_unused]] uint8_t __pad12d8[0x8]; // 0x12d8 public: - bool m_bActive; // 0x12d0 + bool m_bActive; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DarkWillow_BrambleMaze : public CDOTA_Buff { public: @@ -27477,7 +27542,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DarkWillow_ShadowRealm_FadeTime : public CDOTA_Buff { public: @@ -27485,102 +27550,102 @@ public: }; // Alignment: 9 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_DarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - float max_damage_duration; // 0x12bc - int32_t attack_range_bonus; // 0x12c0 + int32_t damage; // 0x12c8 + float max_damage_duration; // 0x12cc + int32_t attack_range_bonus; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 - bool bAttackRange; // 0x12e0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 + bool bAttackRange; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - GameTime_t m_flStartTime; // 0x12e4 - GameTime_t m_flFadeTime; // 0x12e8 - float m_flDamageScale; // 0x12ec - float duration; // 0x12f0 + GameTime_t m_flStartTime; // 0x12f4 + GameTime_t m_flFadeTime; // 0x12f8 + float m_flDamageScale; // 0x12fc + float duration; // 0x1300 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_DarkWillow_ShadowRealm_Buff_Attack_Logic : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - int32_t m_iRecord; // 0x12bc - float m_flDamageScale; // 0x12c0 + int32_t damage; // 0x12c8 + int32_t m_iRecord; // 0x12cc + float m_flDamageScale; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_DarkWillow_CursedCrown : public CDOTA_Buff { public: - float delay; // 0x12b8 - float stun_duration; // 0x12bc - int32_t stun_radius; // 0x12c0 - GameTime_t m_fStartTime; // 0x12c4 + float delay; // 0x12c8 + float stun_duration; // 0x12cc + int32_t stun_radius; // 0x12d0 + GameTime_t m_fStartTime; // 0x12d4 }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_DarkWillow_Bedlam : public CDOTA_Buff { public: - 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 + float m_flRotation; // 0x12c8 + CHandle< C_BaseEntity > m_hWisp; // 0x12cc + GameTime_t m_flLastAttack; // 0x12d0 + int32_t roaming_radius; // 0x12d4 + int32_t attack_radius; // 0x12d8 + float roaming_seconds_per_rotation; // 0x12dc + float attack_interval; // 0x12e0 + int32_t target_count; // 0x12e4 + bool m_bTravelling; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - int32_t travel_speed; // 0x12dc + int32_t travel_speed; // 0x12ec }; // Alignment: 14 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_DarkWillow_Terrorize_Thinker : public CDOTA_Buff { public: - 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 + CHandle< C_BaseEntity > m_hWisp; // 0x12c8 + int32_t destination_travel_speed; // 0x12cc + int32_t return_travel_speed; // 0x12d0 + int32_t destination_radius; // 0x12d4 + float destination_status_duration; // 0x12d8 + float initial_delay; // 0x12dc + float starting_height; // 0x12e0 + Vector m_vAttackLocation; // 0x12e4 + bool m_bAttacking; // 0x12f0 + bool m_bReturning; // 0x12f1 private: - [[maybe_unused]] uint8_t __pad12e2[0x2]; // 0x12e2 + [[maybe_unused]] uint8_t __pad12f2[0x2]; // 0x12f2 public: - float m_fCurHeight; // 0x12e4 - float m_fEstimatedTravelTime; // 0x12e8 - float think_interval; // 0x12ec - bool m_bInFlight; // 0x12f0 + float m_fCurHeight; // 0x12f4 + float m_fEstimatedTravelTime; // 0x12f8 + float think_interval; // 0x12fc + bool m_bInFlight; // 0x1300 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DarkWillow_Debuff_Fear : public CDOTA_Modifier_Fear { public: - bool m_bDidGiveOrder; // 0x12b8 + bool m_bDidGiveOrder; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DarkWillow_Creature_Invulnerable : public CDOTA_Buff { public: @@ -27588,159 +27653,159 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Grimstroke_InkCreature_Spawning : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hAttachTarget; // 0x12b8 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12c8 }; // Alignment: 10 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Grimstroke_InkCreature : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - ParticleIndex_t m_nAmbientFXIndex; // 0x12bc - int32_t m_nAttackCount; // 0x12c0 - bool m_bIsLatched; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + ParticleIndex_t m_nAmbientFXIndex; // 0x12cc + int32_t m_nAttackCount; // 0x12d0 + bool m_bIsLatched; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - CHandle< C_BaseEntity > m_hAttachTarget; // 0x12c8 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CountdownTimer m_EnemyVision; // 0x12d0 - float latch_duration; // 0x12e8 - float speed; // 0x12ec - int32_t destroy_attacks; // 0x12f0 - int32_t hero_attack_multiplier; // 0x12f4 + CountdownTimer m_EnemyVision; // 0x12e0 + float latch_duration; // 0x12f8 + float speed; // 0x12fc + int32_t destroy_attacks; // 0x1300 + int32_t hero_attack_multiplier; // 0x1304 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Grimstroke_InkCreature_Debuff : public CDOTA_Buff { public: - float m_flCurrentArmorReduction; // 0x12b8 - CHandle< C_BaseEntity > m_hLatchedCreature; // 0x12bc - float tick_interval; // 0x12c0 - int32_t damage_per_second; // 0x12c4 + float m_flCurrentArmorReduction; // 0x12c8 + CHandle< C_BaseEntity > m_hLatchedCreature; // 0x12cc + float tick_interval; // 0x12d0 + int32_t damage_per_second; // 0x12d4 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Grimstroke_InkCreature_Latched : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hAttachTarget; // 0x12b8 - float m_fZOffset; // 0x12bc - bool m_bRemovedByEnemy; // 0x12c0 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12c8 + float m_fZOffset; // 0x12cc + bool m_bRemovedByEnemy; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - float latch_duration; // 0x12c4 - int32_t pop_damage; // 0x12c8 - int32_t latched_unit_offset; // 0x12cc - int32_t latched_unit_offset_short; // 0x12d0 + float latch_duration; // 0x12d4 + int32_t pop_damage; // 0x12d8 + int32_t latched_unit_offset; // 0x12dc + int32_t latched_unit_offset_short; // 0x12e0 }; // Alignment: 15 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Grimstroke_SpiritWalk_Buff : public CDOTA_Buff { public: - 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 + GameTime_t m_fStartTime; // 0x12c8 + int32_t m_nHeroTickDamageApplied; // 0x12cc + GameTime_t m_fLastEffectsTime; // 0x12d0 + int32_t radius; // 0x12d4 + float buff_duration; // 0x12d8 + float debuff_duration; // 0x12dc + int32_t max_damage; // 0x12e0 + float max_stun; // 0x12e4 + int32_t movespeed_bonus_pct; // 0x12e8 + int32_t damage_per_tick; // 0x12ec + float tick_rate; // 0x12f0 + float max_threshold_duration; // 0x12f4 + int32_t shard_bonus_damage_pct; // 0x12f8 + int32_t shard_heal_pct; // 0x12fc + bool m_bIsReflection; // 0x1300 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Grimstroke_DarkArtistry_Slow : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x12b8 + int32_t movement_slow_pct; // 0x12c8 }; // Alignment: 17 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Grimstroke_SoulChain : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hPartner; // 0x12b8 - bool m_bIsPrimary; // 0x12bc - bool m_bEscaped; // 0x12bd - bool m_bTethered; // 0x12be + CHandle< C_BaseEntity > m_hPartner; // 0x12c8 + bool m_bIsPrimary; // 0x12cc + bool m_bEscaped; // 0x12cd + bool m_bTethered; // 0x12ce private: - [[maybe_unused]] uint8_t __pad12bf[0x1]; // 0x12bf + [[maybe_unused]] uint8_t __pad12cf[0x1]; // 0x12cf public: - ParticleIndex_t m_nFXIndex; // 0x12c0 - ParticleIndex_t m_nFXIndexA; // 0x12c4 - ParticleIndex_t m_nFXIndexB; // 0x12c8 - bool m_bStartedLeashSound; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d0 + ParticleIndex_t m_nFXIndexA; // 0x12d4 + ParticleIndex_t m_nFXIndexB; // 0x12d8 + bool m_bStartedLeashSound; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd 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 + float m_fLeashDistance; // 0x12e0 + GameTime_t m_fOriginalStartTime; // 0x12e4 + ParticleIndex_t m_nOverheadFXIndex; // 0x12e8 + int32_t chain_latch_radius; // 0x12ec + int32_t chain_break_distance; // 0x12f0 + float leash_limit_multiplier; // 0x12f4 + float chain_duration; // 0x12f8 + float creep_duration_pct; // 0x12fc + int32_t bonus_reflected_spell_damage; // 0x1300 }; // Alignment: 7 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Grimstroke_SoulChain_ChannelCheck : public CDOTA_Buff { public: - 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 + CHandle< C_BaseEntity > m_hAbility; // 0x12c8 + CHandle< C_BaseEntity > m_hTarget; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > m_hAbilities; // 0x12d0 + Vector m_vLocation; // 0x12e8 + GameTime_t m_fChannelEnd; // 0x12f4 + bool m_bInterrupt; // 0x12f8 + bool m_bExpired; // 0x12f9 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Grimstroke_Scepter_Buff : public CDOTA_Modifier_DebuffImmune { public: - int32_t images_movespeed_bonus; // 0x12b8 + int32_t images_movespeed_bonus; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Grimstroke_Shard_Buff : public CDOTA_Buff { public: - int32_t total_damage; // 0x12b8 - int32_t attack_speed; // 0x12bc - int32_t move_speed; // 0x12c0 - float m_flInterval; // 0x12c4 + int32_t total_damage; // 0x12c8 + int32_t attack_speed; // 0x12cc + int32_t move_speed; // 0x12d0 + float m_flInterval; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mars_Spear_Impale : public CDOTA_Buff { public: @@ -27748,28 +27813,28 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Special_Mars_Spear_Burning_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x12b8 - int32_t shard_trail_radius; // 0x12c4 - float shard_debuff_linger_duration; // 0x12c8 - float shard_interval; // 0x12cc + Vector m_vPathDir; // 0x12c8 + int32_t shard_trail_radius; // 0x12d4 + float shard_debuff_linger_duration; // 0x12d8 + float shard_interval; // 0x12dc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Special_Mars_Spear_Burning_Trail_Burn : public CDOTA_Buff { public: - int32_t shard_dps; // 0x12b8 - int32_t shard_move_slow_pct; // 0x12bc - float shard_interval; // 0x12c0 + int32_t shard_dps; // 0x12c8 + int32_t shard_move_slow_pct; // 0x12cc + float shard_interval; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mars_Spear_Stun : public CDOTA_Modifier_Stunned { public: @@ -27777,26 +27842,26 @@ public: }; // Alignment: 4 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Mars_ArenaOfBlood_Thinker : public CDOTA_Buff { public: - float radius; // 0x12b8 - float formation_time; // 0x12bc - float m_flInitialZ; // 0x12c0 - float m_flFinalZ; // 0x12c4 + float radius; // 0x12c8 + float formation_time; // 0x12cc + float m_flInitialZ; // 0x12d0 + float m_flFinalZ; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mars_ArenaOfBlood_AnimationAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mars_ArenaOfBlood_Animation : public CDOTA_Buff { public: @@ -27804,40 +27869,40 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mars_ArenaOfBlood_BuffAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mars_ArenaOfBlood_Buff : public CDOTA_Buff { public: - int32_t health_regen; // 0x12b8 + int32_t health_regen; // 0x12c8 }; // Alignment: 7 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Mars_ArenaOfBlood : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t width; // 0x12cc + int32_t spear_damage; // 0x12d0 + int32_t spear_distance_from_wall; // 0x12d4 + float spear_attack_interval; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x1c]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x1c]; // 0x12dc public: - float warrior_fade_min_dist; // 0x12e8 - float warrior_fade_max_dist; // 0x12ec + float warrior_fade_min_dist; // 0x12f8 + float warrior_fade_max_dist; // 0x12fc }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Mars_ArenaOfBlood_Spear : public CDOTA_Modifier_Knockback { public: @@ -27845,17 +27910,17 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Mars_ArenaOfBlood_Leash : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float width; // 0x12bc - Vector m_vOriginLoc; // 0x12c0 + int32_t radius; // 0x12c8 + float width; // 0x12cc + Vector m_vOriginLoc; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mars_ArenaOfBlood_Marker : public CDOTA_Buff { public: @@ -27863,71 +27928,71 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Mars_Bulwark : public CDOTA_Buff { public: - float physical_damage_reduction; // 0x12b8 - float physical_damage_reduction_side; // 0x12bc - float forward_angle; // 0x12c0 - float side_angle; // 0x12c4 + float physical_damage_reduction; // 0x12c8 + float physical_damage_reduction_side; // 0x12cc + float forward_angle; // 0x12d0 + float side_angle; // 0x12d4 }; // Alignment: 13 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_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 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 + int32_t redirect_chance; // 0x12c8 + int32_t redirect_range; // 0x12cc + float forward_angle; // 0x12d0 + float side_angle; // 0x12d4 + int32_t redirect_speed_penatly; // 0x12d8 + int32_t redirect_close_range; // 0x12dc + int32_t m_nPoseParameterWE; // 0x12e0 + int32_t m_nPoseParameterNS; // 0x12e4 + float m_flLastPoseX; // 0x12e8 + float m_flLastPoseY; // 0x12ec + int32_t m_nLastMaxDirection; // 0x12f0 + Vector m_vLastOrigin; // 0x12f4 + GameTime_t m_flLastGameTime; // 0x1300 }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Mars_Bulwark_Soldier_Bonus : public CDOTA_Buff { public: - 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 + int32_t m_nPoseParameterWE; // 0x12c8 + int32_t m_nPoseParameterNS; // 0x12cc + float m_flLastPoseX; // 0x12d0 + float m_flLastPoseY; // 0x12d4 + int32_t m_nLastMaxDirection; // 0x12d8 + Vector m_vLastOrigin; // 0x12dc + GameTime_t m_flLastGameTime; // 0x12e8 }; // Alignment: 9 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Mars_Bulwark_Soldier_Thinker : public CDOTA_Buff { public: - 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 + GameTime_t m_NextAttack; // 0x12c8 + int32_t soldier_offset; // 0x12cc + int32_t soldier_count; // 0x12d0 + int32_t forward_angle; // 0x12d4 + int32_t knockback_distance; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlVector< CHandle< C_BaseEntity > > m_hAllSoldiers; // 0x12d0 - GameTime_t m_flLastStationaryTime; // 0x12e8 - Vector m_vLastStationaryPosition; // 0x12ec - float stationary_attack_delay; // 0x12f8 + CUtlVector< CHandle< C_BaseEntity > > m_hAllSoldiers; // 0x12e0 + GameTime_t m_flLastStationaryTime; // 0x12f8 + Vector m_vLastStationaryPosition; // 0x12fc + float stationary_attack_delay; // 0x1308 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mars_Scepter_Damage_Tracker : public CDOTA_Buff { public: @@ -27935,73 +28000,73 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mars_Scepter_Damage_Slow : public CDOTA_Buff { public: - int32_t scepter_movement_slow_pct; // 0x12b8 + int32_t scepter_movement_slow_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mars_Scepter_Damage : public CDOTA_Buff { public: - int32_t scepter_bonus_damage; // 0x12b8 + int32_t scepter_bonus_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mars_Gods_Rebuke : public CDOTA_Buff { public: - int32_t knockback_slow; // 0x12b8 + int32_t knockback_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mars_GodsRebuke_Crit : public CDOTA_Buff { public: - int32_t crit_mult; // 0x12b8 + int32_t crit_mult; // 0x12c8 }; // Alignment: 21 -// Size: 0x1318 +// Size: 0x1328 class CDOTA_Modifier_Snapfire_MortimerKisses : public CDOTA_Buff { public: - 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 + float m_fIntervalPerRocket; // 0x12c8 + float m_flFacingTarget; // 0x12cc + ParticleIndex_t m_nBeamFXIndex; // 0x12d0 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x12d4 + float m_flCurDistance; // 0x12d8 + Vector m_vAimTarget; // 0x12dc + float m_fLastTurnAmount; // 0x12e8 + int32_t m_nProjectilesLaunched; // 0x12ec + bool m_bDestroyOnNextThink; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - int32_t m_nProjectilesToLaunch; // 0x12e4 - bool m_bHasProjectileTalent; // 0x12e8 + int32_t m_nProjectilesToLaunch; // 0x12f4 + bool m_bHasProjectileTalent; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 + [[maybe_unused]] uint8_t __pad12f9[0x3]; // 0x12f9 public: - 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 + int32_t projectile_count; // 0x12fc + int32_t projectile_speed; // 0x1300 + int32_t projectile_width; // 0x1304 + int32_t projectile_vision; // 0x1308 + float turn_rate; // 0x130c + int32_t min_range; // 0x1310 + int32_t impact_radius; // 0x1314 + float min_lob_travel_time; // 0x1318 + float max_lob_travel_time; // 0x131c + float delay_after_last_projectile; // 0x1320 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Snapfire_MortimerKisses_VisionSource : public CDOTA_Buff { public: @@ -28009,44 +28074,44 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Snapfire_Magma_Thinker : public CDOTA_Buff { public: - 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 + float burn_interval; // 0x12c8 + int32_t impact_radius; // 0x12cc + int32_t move_slow_pct; // 0x12d0 + float burn_linger_duration; // 0x12d4 + ParticleIndex_t m_nPathEffectIndex; // 0x12d8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Snapfire_Magma_Burn_Slow : public CDOTA_Buff { public: - int32_t m_nMoveSlowPct; // 0x12b8 - float m_fBurnDamagePerTick; // 0x12bc - int32_t move_slow_pct; // 0x12c0 - float burn_interval; // 0x12c4 - int32_t burn_damage; // 0x12c8 + int32_t m_nMoveSlowPct; // 0x12c8 + float m_fBurnDamagePerTick; // 0x12cc + int32_t move_slow_pct; // 0x12d0 + float burn_interval; // 0x12d4 + int32_t burn_damage; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Snapfire_Scatterblast_Slow : public CDOTA_Buff { public: - bool m_bIsPointBlank; // 0x12b8 + bool m_bIsPointBlank; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t movement_slow_pct; // 0x12bc - int32_t attack_slow_pct; // 0x12c0 + int32_t movement_slow_pct; // 0x12cc + int32_t attack_slow_pct; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Snapfire_Scatterblast_Disarm : public CDOTA_Buff { public: @@ -28054,15 +28119,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Snapfire_FiresnapCookie_PreHop : public CDOTA_Buff { public: - float jump_duration; // 0x12b8 + float jump_duration; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Snapfire_FiresnapCookie_ShortHop : public CDOTA_Buff { public: @@ -28070,7 +28135,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Snapfire_FiresnapCookie_AllyFlailAnim : public CDOTA_Buff { public: @@ -28078,7 +28143,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Snapfire_FiresnapCookie_LandingGesture : public CDOTA_Buff { public: @@ -28086,52 +28151,52 @@ public: }; // Alignment: 9 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Snapfire_LilShredder_Buff : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 - int32_t m_nIsActive; // 0x12d8 - bool m_bHasAttackTalent; // 0x12dc - bool m_bBonusAttack; // 0x12dd + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + int32_t m_nIsActive; // 0x12e8 + bool m_bHasAttackTalent; // 0x12ec + bool m_bBonusAttack; // 0x12ed private: - [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de + [[maybe_unused]] uint8_t __pad12ee[0x2]; // 0x12ee public: - 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 attack_range_bonus; // 0x12f0 + int32_t buffed_attacks; // 0x12f4 + float base_attack_time; // 0x12f8 + int32_t attack_speed_bonus; // 0x12fc + float armor_duration; // 0x1300 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Snapfire_LilShredder_Attack_Reduction : public CDOTA_Buff { public: - int32_t damage_pct; // 0x12b8 + int32_t damage_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Snapfire_LilShredder_Attack : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 + int32_t damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Snapfire_LilShredder_Debuff : public CDOTA_Buff { public: - float armor_reduction_per_attack; // 0x12b8 + float armor_reduction_per_attack; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Snapfire_GobbleUp_Creep : public CDOTA_Buff { public: @@ -28139,112 +28204,112 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Snapfire_GobbleUp_BellyHasUnit : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hGobbledUnit; // 0x12b8 - PlayerID_t m_nOriginalControllingUnit; // 0x12bc - bool m_bUnitWasLaunched; // 0x12c0 + CHandle< C_BaseEntity > m_hGobbledUnit; // 0x12c8 + PlayerID_t m_nOriginalControllingUnit; // 0x12cc + bool m_bUnitWasLaunched; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - float max_time_in_belly; // 0x12c4 + float max_time_in_belly; // 0x12d4 }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Snapfire_SpitCreep_ArcingUnit : public CDOTA_Buff { public: - 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 + int32_t min_range; // 0x12c8 + float min_lob_travel_time; // 0x12cc + float max_lob_travel_time; // 0x12d0 + int32_t impact_radius; // 0x12d4 + int32_t projectile_vision; // 0x12d8 + float stun_duration; // 0x12dc + float min_height_above_lowest; // 0x12e0 + float min_height_above_highest; // 0x12e4 + float min_acceleration; // 0x12e8 + float max_acceleration; // 0x12ec }; // Alignment: 13 -// Size: 0x1338 +// Size: 0x1348 class CDOTA_Modifier_VoidSpirit_AetherRemnant_Unit : public CDOTA_Buff { public: - Vector m_vFacingDir; // 0x12b8 + Vector m_vFacingDir; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hWatchPathThinkers; // 0x12c8 - ParticleIndex_t m_nBeamFXIndex; // 0x12e0 + CUtlVector< CHandle< C_BaseEntity > > m_hWatchPathThinkers; // 0x12d8 + ParticleIndex_t m_nBeamFXIndex; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - 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 + CUtlVector< int32 > m_nViewerIDs; // 0x12f8 + int32_t remnant_watch_distance; // 0x1310 + int32_t remnant_watch_radius; // 0x1314 + float duration; // 0x1318 + int32_t watch_path_vision_radius; // 0x131c + int32_t impact_damage; // 0x1320 + float pull_duration; // 0x1324 + float activation_delay; // 0x1328 + bool m_bPiercesCreeps; // 0x132c private: - [[maybe_unused]] uint8_t __pad131d[0x3]; // 0x131d + [[maybe_unused]] uint8_t __pad132d[0x3]; // 0x132d public: - CUtlVector< CHandle< C_BaseEntity > > m_hAlreadyHit; // 0x1320 + CUtlVector< CHandle< C_BaseEntity > > m_hAlreadyHit; // 0x1330 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t remnant_watch_radius; // 0x12c8 + GameTime_t m_flLastDamageTick; // 0x12cc + float damage_tick_rate; // 0x12d0 + float flDamage; // 0x12d4 + bool m_bPiercesCreeps; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_VoidSpirit_AetherRemnant_Pull : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - PlayerID_t m_nPlayerID; // 0x12bc - float think_interval; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c8 + PlayerID_t m_nPlayerID; // 0x12cc + float think_interval; // 0x12d0 }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_VoidSpirit_AetherRemnantThinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - Vector m_vFacingDir; // 0x12bc - CHandle< C_BaseEntity > m_hRemnant; // 0x12c8 - bool m_bTriggered; // 0x12cc + int32_t radius; // 0x12c8 + Vector m_vFacingDir; // 0x12cc + CHandle< C_BaseEntity > m_hRemnant; // 0x12d8 + bool m_bTriggered; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - float m_flCurThink; // 0x12d0 + float m_flCurThink; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VoidSpirit_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x12b8 + int32_t m_nRadius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_VoidSpirit_AetherRemnantCreepDamage : public CDOTA_Buff { public: @@ -28252,7 +28317,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_VoidSpirit_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -28260,67 +28325,67 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_VoidSpirit_AstralStep_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x12b8 - int32_t movement_slow_pct; // 0x12bc - int32_t pop_damage; // 0x12c0 + ParticleIndex_t m_nFXStackIndex; // 0x12c8 + int32_t movement_slow_pct; // 0x12cc + int32_t pop_damage; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VoidSpirit_AstralStep_Caster : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_VoidSpirit_AstralStep_Intrinsic : public CDOTA_Buff { public: - int32_t ability_chance_pct; // 0x12b8 - int32_t attack_chance_pct; // 0x12bc - float pop_damage_delay; // 0x12c0 + int32_t ability_chance_pct; // 0x12c8 + int32_t attack_chance_pct; // 0x12cc + float pop_damage_delay; // 0x12d0 }; // Alignment: 19 -// Size: 0x1358 +// Size: 0x1368 class CDOTA_Modifier_VoidSpirit_Dissimilate_Phase : public CDOTA_Buff { public: - Vector m_vFirstPortalPos; // 0x12b8 + Vector m_vFirstPortalPos; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - 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 + CUtlVector< Vector > m_vecDestinations; // 0x12d8 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x12f0 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1308 + int32_t m_nCurrentDestinationIndex; // 0x1320 + int32_t m_nClosestIndexPosToClick; // 0x1324 + int32_t m_nPortalHeightOffset; // 0x1328 private: - [[maybe_unused]] uint8_t __pad131c[0x4]; // 0x131c + [[maybe_unused]] uint8_t __pad132c[0x4]; // 0x132c public: - 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 + char* m_szAlliesPortalFX; // 0x1330 + char* m_szEnemiesPortalFX; // 0x1338 + int32_t m_nPortalRadius; // 0x1340 + int32_t m_nPortalPadding; // 0x1344 + int32_t m_nFinalImpactDamageRadius; // 0x1348 + int32_t m_nFinalImpactFXRadius; // 0x134c + int32_t destination_fx_radius; // 0x1350 + int32_t damage_radius; // 0x1354 + int32_t portals_per_ring; // 0x1358 + int32_t angle_per_ring_portal; // 0x135c + int32_t first_ring_distance_offset; // 0x1360 + float debuff_duration; // 0x1364 }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_VoidSpirit_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: @@ -28328,32 +28393,32 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_VoidSpirit_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: - int32_t base_absorb_amount; // 0x12b8 - int32_t m_nAbsorbRemaining; // 0x12bc - int32_t m_nMaxAbsorb; // 0x12c0 + int32_t base_absorb_amount; // 0x12c8 + int32_t m_nAbsorbRemaining; // 0x12cc + int32_t m_nMaxAbsorb; // 0x12d0 }; // Alignment: 8 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_VoidSpirit_ResonantPulse_Ring : public CDOTA_Buff { public: - 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 + float m_fLastRadius; // 0x12c8 + float m_fCurRadius; // 0x12cc + GameTime_t m_fLastThink; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12d8 + int32_t speed; // 0x12f0 + int32_t radius; // 0x12f4 + int32_t damage; // 0x12f8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_AcornShot_DelayThinker : public CDOTA_Buff { public: @@ -28361,7 +28426,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_AcornShot_TreeThinker : public CDOTA_Buff { public: @@ -28369,81 +28434,81 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Hoodwink_AcornShot_BonusDamage : public CDOTA_Buff { public: - int32_t acorn_shot_damage; // 0x12b8 - int32_t base_damage_pct; // 0x12bc + int32_t acorn_shot_damage; // 0x12c8 + int32_t base_damage_pct; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Hoodwink_AcornShot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Hoodwink_Bushwhack_Trap : public CDOTA_Buff { public: - int32_t visual_height; // 0x12b8 - float animation_rate; // 0x12bc - ParticleIndex_t m_iIndex; // 0x12c0 - bool m_bPullComplete; // 0x12c4 + int32_t visual_height; // 0x12c8 + float animation_rate; // 0x12cc + ParticleIndex_t m_iIndex; // 0x12d0 + bool m_bPullComplete; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - uint32_t m_TreeId; // 0x12c8 - float m_flDamagePerTick; // 0x12cc - int32_t m_nDamageTicks; // 0x12d0 + uint32_t m_TreeId; // 0x12d8 + float m_flDamagePerTick; // 0x12dc + int32_t m_nDamageTicks; // 0x12e0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Hoodwink_Scurry_Passive : public CDOTA_Buff { public: - int32_t evasion; // 0x12b8 - int32_t radius; // 0x12bc - int32_t bonus_active_evasion; // 0x12c0 - ParticleIndex_t m_nFXIndex; // 0x12c4 + int32_t evasion; // 0x12c8 + int32_t radius; // 0x12cc + int32_t bonus_active_evasion; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Hoodwink_Scurry_Active : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x12b8 - int32_t attack_range; // 0x12bc - int32_t cast_range; // 0x12c0 + int32_t movement_speed_pct; // 0x12c8 + int32_t attack_range; // 0x12cc + int32_t cast_range; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Hoodwink_Sharpshooter_Windup : public CDOTA_Buff { public: - int32_t arrow_vision; // 0x12b8 - float max_charge_time; // 0x12bc - float turn_rate; // 0x12c0 - float base_power; // 0x12c4 + int32_t arrow_vision; // 0x12c8 + float max_charge_time; // 0x12cc + float turn_rate; // 0x12d0 + float base_power; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Hoodwink_Sharpshooter_VisionThinker : public CDOTA_Buff { public: - int32_t arrow_width; // 0x12b8 + int32_t arrow_width; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_Sharpshooter_Recoil : public CDOTA_Buff { public: @@ -28451,7 +28516,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_Sharpshooter_Recoil_EndAnim : public CDOTA_Buff { public: @@ -28459,33 +28524,33 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Hoodwink_Sharpshooter_Debuff : public CDOTA_Buff { public: - int32_t slow_move_pct; // 0x12b8 + int32_t slow_move_pct; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Hoodwink_Camouflage : public CDOTA_Buff { public: - float fade_time; // 0x12b8 - GameTime_t m_flFadeTime; // 0x12bc - bool m_bInvisLastThink; // 0x12c0 + float fade_time; // 0x12c8 + GameTime_t m_flFadeTime; // 0x12cc + bool m_bInvisLastThink; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Hoodwink_AcornShot_ArmorCorruption : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_Caltrops : public CDOTA_Buff { public: @@ -28493,78 +28558,78 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Hoodwink_Caltrops_Debuff : public CDOTA_Buff { public: - int32_t movespeed_pct; // 0x12b8 - int32_t tick_damage; // 0x12bc + int32_t movespeed_pct; // 0x12c8 + int32_t tick_damage; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Hoodwink_Decoy_Illusion : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 }; // Alignment: 2 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Hoodwink_Decoy_Invisibility : public CDOTA_Modifier_Invisible { public: - int32_t movement_speed; // 0x12c8 + int32_t movement_speed; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x12d0 + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x12e0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Hoodwink_HeavyQuiver : public CDOTA_Buff { public: - 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 bonus_projectile_speed_pct; // 0x12c8 + int32_t bonus_attack_range; // 0x12cc + int32_t deadly_blow_multiplier; // 0x12d0 + float maim_duration; // 0x12d4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Hoodwink_Hunters_Mark : public CDOTA_Buff { public: - int32_t slow_pct; // 0x12b8 - int32_t spell_amp; // 0x12bc - int32_t status_resistance; // 0x12c0 + int32_t slow_pct; // 0x12c8 + int32_t spell_amp; // 0x12cc + int32_t status_resistance; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Hoodwink_HuntersQuiver : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x12b8 - int32_t max_stacks; // 0x12bc - float debuff_duration; // 0x12c0 + int32_t bonus_attack_range; // 0x12c8 + int32_t max_stacks; // 0x12cc + float debuff_duration; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Hoodwink_HuntersQuiver_Mark : public CDOTA_Buff { public: - int32_t stack_crit_chance_pct; // 0x12b8 - int32_t critical_damage_pct; // 0x12bc - int32_t stack_slow_pct; // 0x12c0 - ParticleIndex_t m_nFXStackIndex; // 0x12c4 + int32_t stack_crit_chance_pct; // 0x12c8 + int32_t critical_damage_pct; // 0x12cc + int32_t stack_slow_pct; // 0x12d0 + ParticleIndex_t m_nFXStackIndex; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_Boomerang_Invulnerable : public CDOTA_Buff { public: @@ -28572,7 +28637,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_ArcingBoomerang : public CDOTA_Buff { public: @@ -28580,27 +28645,27 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Thinker : public CDOTA_Buff { public: - float pulse_interval; // 0x12b8 - int32_t iEffectRadius; // 0x12bc - int32_t base_damage; // 0x12c0 - int32_t base_heal; // 0x12c4 - ParticleIndex_t m_nThinkerFXIndex; // 0x12c8 + float pulse_interval; // 0x12c8 + int32_t iEffectRadius; // 0x12cc + int32_t base_damage; // 0x12d0 + int32_t base_heal; // 0x12d4 + ParticleIndex_t m_nThinkerFXIndex; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Evasion : public CDOTA_Buff { public: - int32_t miss_rate; // 0x12b8 + int32_t miss_rate; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_AirTime : public CDOTA_Buff { public: @@ -28608,7 +28673,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_LandingStun : public CDOTA_Modifier_Stunned { public: @@ -28616,16 +28681,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Disable : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x12b8 - ParticleIndex_t m_nStatusFXIndex; // 0x12bc + ParticleIndex_t m_nCasterFXIndex; // 0x12c8 + ParticleIndex_t m_nStatusFXIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_After_Land : public CDOTA_Buff { public: @@ -28633,76 +28698,76 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Dawnbreaker_Luminosity : public CDOTA_Buff { public: - bool m_bAppliesToCreeps; // 0x12b8 + bool m_bAppliesToCreeps; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t attack_count; // 0x12bc - bool m_bShouldIncrement; // 0x12c0 + int32_t attack_count; // 0x12cc + bool m_bShouldIncrement; // 0x12d0 }; // Alignment: 8 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Dawnbreaker_Luminosity_Attack_Buff : public CDOTA_Buff { public: - bool m_bIsBuffedAttack; // 0x12b8 + bool m_bIsBuffedAttack; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + int32_t heal_pct; // 0x12cc + int32_t bonus_damage; // 0x12d0 + int32_t heal_radius; // 0x12d4 + int32_t heal_from_creeps; // 0x12d8 + int32_t allied_healing_pct; // 0x12dc + CUtlVector< CHandle< C_BaseEntity > > hTargets; // 0x12e0 + float m_flTotalToHeal; // 0x12f8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dawnbreaker_Converge_Thinker : public CDOTA_Buff { public: - int32_t flare_radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t flare_radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 11 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Movement : public CDOTA_Buff { public: - 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 + int32_t m_nProjectileID; // 0x12c8 + int32_t projectile_speed; // 0x12cc + int32_t travel_speed_pct; // 0x12d0 + int32_t m_nMaxRange; // 0x12d4 + Vector m_vStartPoint; // 0x12d8 + Vector m_vLastTrailThinkerLocation; // 0x12e4 + Vector m_vEndPointShard; // 0x12f0 + ParticleIndex_t m_nStatusFXIndex; // 0x12fc + int32_t flare_radius; // 0x1300 + bool bHasStartedBurning; // 0x1304 private: - [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 + [[maybe_unused]] uint8_t __pad1305[0x3]; // 0x1305 public: - float flare_debuff_duration; // 0x12f8 + float flare_debuff_duration; // 0x1308 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Caster : public CDOTA_Buff { public: @@ -28710,7 +28775,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Magic_Immunity_Tooltip : public CDOTA_Buff { public: @@ -28718,134 +28783,134 @@ public: }; // Alignment: 20 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Caster : public CDOTA_Buff { public: - 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 + int32_t movement_speed; // 0x12c8 + int32_t shard_movement_penalty; // 0x12cc + int32_t swipe_radius; // 0x12d0 + int32_t swipe_damage; // 0x12d4 + int32_t smash_radius; // 0x12d8 + int32_t smash_damage; // 0x12dc + int32_t m_nCurrentSpeed; // 0x12e0 + float flSwipeInterval; // 0x12e4 + GameTime_t m_flNextHit; // 0x12e8 + int32_t iCurrentAttack; // 0x12ec + int32_t total_attacks; // 0x12f0 + float smash_stun_duration; // 0x12f4 + float sweep_stun_duration; // 0x12f8 + bool m_bHasCompletedMove; // 0x12fc private: - [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed + [[maybe_unused]] uint8_t __pad12fd[0x3]; // 0x12fd public: - 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 + float duration; // 0x1300 + Vector m_vTargetHorizontalDirection; // 0x1304 + int32_t smash_distance_from_hero; // 0x1310 + float animation_rate; // 0x1314 + float turn_rate; // 0x1318 + float m_flFacingTarget; // 0x131c }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Attack_Bonus : public CDOTA_Buff { public: - int32_t attack_damage; // 0x12b8 - int32_t creep_damage_penalty; // 0x12bc + int32_t attack_damage; // 0x12c8 + int32_t creep_damage_penalty; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Slow : public CDOTA_Buff { public: - int32_t swipe_slow; // 0x12b8 + int32_t swipe_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Smash_Stun : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 + int32_t damage; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Dawnbreaker_Converge : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 - int32_t burn_damage; // 0x12bc - float burn_interval; // 0x12c0 + int32_t move_slow; // 0x12c8 + int32_t burn_damage; // 0x12cc + float burn_interval; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Marci_Grapple_VictimMotion : public CDOTA_Buff { public: - int32_t impact_damage; // 0x12b8 - float debuff_duration; // 0x12bc - int32_t landing_radius; // 0x12c0 + int32_t impact_damage; // 0x12c8 + float debuff_duration; // 0x12cc + int32_t landing_radius; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Marci_Dispose_Debuff : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x12b8 + int32_t movement_slow_pct; // 0x12c8 }; // Alignment: 12 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Marci_Lunge_TrackingMotion : public CDOTA_Buff { public: - 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 + int32_t m_nProjectileID; // 0x12c8 + int32_t m_nMaxJumpDistance; // 0x12cc + int32_t landing_radius; // 0x12d0 + int32_t max_jump_distance; // 0x12d4 + int32_t min_jump_distance; // 0x12d8 + int32_t target_abort_distance; // 0x12dc + int32_t impact_position_offset; // 0x12e0 + float m_flCastDistance; // 0x12e4 + ParticleIndex_t m_nAoEFXIndex; // 0x12e8 + Vector m_vDestination; // 0x12ec + CHandle< C_BaseEntity > m_hBounceEntity; // 0x12f8 + CHandle< C_BaseEntity > m_hBounceEntityClient; // 0x12fc }; // Alignment: 15 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Marci_Lunge_Arc : public CDOTA_Buff { public: - bool m_bTriggeredLandingAnim; // 0x12b8 + bool m_bTriggeredLandingAnim; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + int32_t m_nMaxJumpDistance; // 0x12cc + int32_t min_jump_distance; // 0x12d0 + int32_t max_jump_distance; // 0x12d4 + float min_lob_travel_time; // 0x12d8 + float max_lob_travel_time; // 0x12dc + int32_t landing_radius; // 0x12e0 + float debuff_duration; // 0x12e4 + float min_height_above_lowest; // 0x12e8 + float min_height_above_highest; // 0x12ec + float min_acceleration; // 0x12f0 + float max_acceleration; // 0x12f4 + float impact_damage; // 0x12f8 + int32_t impact_position_offset; // 0x12fc + float ally_buff_duration; // 0x1300 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Marci_Lunge_LandingAnim : public CDOTA_Buff { public: @@ -28853,113 +28918,113 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Marci_CompanionRun_AllyMovespeed : public CDOTA_Buff { public: - float ally_movespeed_pct; // 0x12b8 + float ally_movespeed_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Marci_Lunge_Debuff : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x12b8 + int32_t movement_slow_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Marci_Lunge_Buff : public CDOTA_Buff { public: - int32_t scepter_armor; // 0x12b8 + int32_t scepter_armor; // 0x12c8 }; // Alignment: 11 -// Size: 0x12e8 +// Size: 0x12f8 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< C_BaseEntity > m_hPartner; // 0x12d8 - bool m_bActive; // 0x12dc + float lifesteal_pct; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t bonus_attack_range; // 0x12d0 + int32_t max_partner_distance; // 0x12d4 + int32_t max_partner_penalty; // 0x12d8 + int32_t creep_lifesteal_reduction_pct; // 0x12dc + float m_fLifestealPct; // 0x12e0 + float m_fDamageAbsorbed; // 0x12e4 + CHandle< C_BaseEntity > m_hPartner; // 0x12e8 + bool m_bActive; // 0x12ec private: - [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd + [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed public: - ParticleIndex_t m_nFxIndex; // 0x12e0 + ParticleIndex_t m_nFxIndex; // 0x12f0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Marci_Unleash_Pull : public CDOTA_Buff { public: - int32_t shard_push_length; // 0x12b8 + int32_t shard_push_length; // 0x12c8 }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 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 + float time_between_flurries; // 0x12c8 + int32_t charges_per_flurry; // 0x12cc + int32_t flurry_charge_increment; // 0x12d0 + int32_t bonus_movespeed; // 0x12d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 9 -// Size: 0x12d8 +// Size: 0x12e8 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 + int32_t flurry_bonus_attack_speed; // 0x12c8 + float time_between_flurries; // 0x12cc + float debuff_duration; // 0x12d0 + float max_time_window_per_hit; // 0x12d4 + bool m_bBonusSpeed; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - ParticleIndex_t m_nFXStackIndex; // 0x12cc - bool m_bIsDoingFlurryAttack; // 0x12d0 - bool m_bIsDoingFlurryPulseAttack; // 0x12d1 + ParticleIndex_t m_nFXStackIndex; // 0x12dc + bool m_bIsDoingFlurryAttack; // 0x12e0 + bool m_bIsDoingFlurryPulseAttack; // 0x12e1 private: - [[maybe_unused]] uint8_t __pad12d2[0x2]; // 0x12d2 + [[maybe_unused]] uint8_t __pad12e2[0x2]; // 0x12e2 public: - GameTime_t m_fLastAttackTime; // 0x12d4 + GameTime_t m_fLastAttackTime; // 0x12e4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Marci_Unleash_FlurryCooldown : public CDOTA_Buff { public: - int32_t charges_per_flurry; // 0x12b8 - float time_between_flurries; // 0x12bc - float recovery_fixed_attack_rate; // 0x12c0 + int32_t charges_per_flurry; // 0x12c8 + float time_between_flurries; // 0x12cc + float recovery_fixed_attack_rate; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Marci_Unleash_FlurryPulse_Debuff : public CDOTA_Buff { public: - float pulse_move_slow_pct; // 0x12b8 - float pulse_attack_slow_pct; // 0x12bc + float pulse_move_slow_pct; // 0x12c8 + float pulse_attack_slow_pct; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Marci_Guardian_MagicImmunity : public CDOTA_Modifier_DebuffImmune { public: @@ -28967,7 +29032,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Marci_Unleash_Pulse_Silence : public CDOTA_Buff { public: @@ -28975,82 +29040,82 @@ public: }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Primalbeast_Trample : public CDOTA_Buff { public: - 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 + int32_t effect_radius; // 0x12c8 + Vector vLastPos; // 0x12cc + float flCurrentDistance; // 0x12d8 + int32_t step_distance; // 0x12dc + int32_t bonus_magic_resistance; // 0x12e0 + bool m_bIsUnslowable; // 0x12e4 }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_PrimalBeast_Pulverize : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + float m_flOffset; // 0x12cc + QAngle m_vStartAngles; // 0x12d0 + Vector m_vStartLocation; // 0x12dc + float animation_rate; // 0x12e8 + bool m_bInterrupted; // 0x12ec + bool m_bHasBeenDestroyed; // 0x12ed }; // Alignment: 9 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_PrimalBeast_Pulverize_Self : public CDOTA_Buff { public: - 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 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x12c8 + Vector m_vPulverizeCenter; // 0x12cc + Vector m_vCasterStartPos; // 0x12d8 + int32_t splash_radius; // 0x12e4 + float interval; // 0x12e8 + float ministun; // 0x12ec + int32_t damage; // 0x12f0 + int32_t bonus_damage_per_hit; // 0x12f4 + int32_t m_nHitCount; // 0x12f8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_PrimalBeast_Onslaught_Windup : public CDOTA_Buff { public: - int32_t max_distance; // 0x12b8 - float max_charge_time; // 0x12bc - float turn_rate; // 0x12c0 - float base_power; // 0x12c4 - int32_t charge_speed; // 0x12c8 + int32_t max_distance; // 0x12c8 + float max_charge_time; // 0x12cc + float turn_rate; // 0x12d0 + float base_power; // 0x12d4 + int32_t charge_speed; // 0x12d8 }; // Alignment: 10 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_PrimalBeast_Onslaught_Movement : public CDOTA_Buff { public: - 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 + float tick_interval; // 0x12c8 + float charge_speed; // 0x12cc + float movement_turn_rate; // 0x12d0 + int32_t knockback_radius; // 0x12d4 + float knockback_distance; // 0x12d8 + int32_t knockback_damage; // 0x12dc + int32_t m_nEnemyHeroesHit; // 0x12e0 + float m_flFacingTarget; // 0x12e4 + ParticleIndex_t m_nFXIndex; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12e0 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12f0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_PrimalBeast_Onslaught_Knockback : public CDOTA_Buff { public: @@ -29058,100 +29123,100 @@ public: }; // Alignment: 12 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_PrimalBeast_Uproar : public CDOTA_Modifier_Stacking_Base { public: - 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 + int32_t stack_limit; // 0x12c8 + int32_t damage_limit; // 0x12cc + float stack_duration; // 0x12d0 + float damage_min; // 0x12d4 + float damage_max; // 0x12d8 + int32_t bonus_damage_per_stack; // 0x12dc + ParticleIndex_t m_nFxIndexA; // 0x12e0 + int32_t iCur_stack; // 0x12e4 + int32_t bonus_damage; // 0x12e8 + float slow_duration; // 0x12ec private: - [[maybe_unused]] uint8_t __pad12e0[0x18]; // 0x12e0 + [[maybe_unused]] uint8_t __pad12f0[0x18]; // 0x12f0 public: - float m_fTotalDamage; // 0x12f8 - GameTime_t m_flLastStackTime; // 0x12fc + float m_fTotalDamage; // 0x1308 + GameTime_t m_flLastStackTime; // 0x130c }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PrimalBeast_Uproar_Slow : public CDOTA_Buff { public: - int32_t move_slow_per_stack; // 0x12b8 + int32_t move_slow_per_stack; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_PrimalBeast_Uproar_Roared_Self : public CDOTA_Buff { public: - int32_t roared_bonus_attack_speed; // 0x12b8 - int32_t roared_bonus_armor; // 0x12bc - int32_t m_nBuffStackCount; // 0x12c0 + int32_t roared_bonus_attack_speed; // 0x12c8 + int32_t roared_bonus_armor; // 0x12cc + int32_t m_nBuffStackCount; // 0x12d0 }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Primal_Beast_Uproar_Projectile_Thinker : public CDOTA_Buff { public: - 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 + int32_t projectiles_per_stack; // 0x12c8 + int32_t projectile_speed; // 0x12cc + int32_t projectile_distance; // 0x12d0 + int32_t projectile_width; // 0x12d4 + int32_t splinter_angle; // 0x12d8 + float split_delay; // 0x12dc + int32_t projectile_waves; // 0x12e0 + int32_t m_nCurrentWaveCount; // 0x12e4 + int32_t tectonic_shift_projectiles; // 0x12e8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Muerta_Gunslinger : public CDOTA_Buff { public: - float double_shot_chance; // 0x12b8 - float target_search_bonus_range; // 0x12bc + float double_shot_chance; // 0x12c8 + float target_search_bonus_range; // 0x12cc }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Muerta_PierceTheVeil : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Muerta_DeadShot_Slow : public CDOTA_Buff { public: - int32_t impact_slow_percent; // 0x12b8 + int32_t impact_slow_percent; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Muerta_DeadShot_Fear : public CDOTA_Buff { public: - Vector m_vFearDir; // 0x12b8 + Vector m_vFearDir; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Muerta_PierceTheVeilTransform : public CDOTA_Buff { public: @@ -29159,21 +29224,21 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Muerta_PierceTheVeil_Buff : public CDOTA_Buff { public: - 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 + int32_t modelscale; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t spell_lifesteal; // 0x12d0 + int32_t attack_projectile_speed_bonus; // 0x12d4 + int32_t attack_range_bonus; // 0x12d8 + int32_t m_iOriginalAttackCapabilities; // 0x12dc + ParticleIndex_t m_nScreenFXIndex; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Muerta_PierceTheVeil_MagicImmunityDamageCancel : public CDOTA_Buff { public: @@ -29181,7 +29246,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Muerta_PierceTheVeil_SpellAmpBoost : public CDOTA_Buff { public: @@ -29189,7 +29254,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Muerta_TheCalling_Invulnerable : public CDOTA_Buff { public: @@ -29197,36 +29262,36 @@ public: }; // Alignment: 13 -// Size: 0x1318 +// Size: 0x1328 class CDOTA_Modifier_Muerta_Revenant_Thinker : public CDOTA_Buff { public: - 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 + int32_t damage; // 0x12c8 + int32_t hit_radius; // 0x12cc + int32_t dead_zone_distance; // 0x12d0 + float speed_initial; // 0x12d4 + float speed_max; // 0x12d8 + float acceleration; // 0x12dc + int32_t num_revenants; // 0x12e0 + int32_t rotation_direction; // 0x12e4 + int32_t radius; // 0x12e8 + float rotation_initial; // 0x12ec + int32_t show_warning; // 0x12f0 + ParticleIndex_t m_nWarningFX; // 0x12f4 + CUtlVector< sRevenantDef > m_SpiritDefs; // 0x12f8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Muerta_TheCallingAuraSlow : public CDOTA_Buff { public: - int32_t aura_movespeed_slow; // 0x12b8 - int32_t aura_attackspeed_slow; // 0x12bc + int32_t aura_movespeed_slow; // 0x12c8 + int32_t aura_attackspeed_slow; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Muerta_TheCalling_Silence : public CDOTA_Buff { public: @@ -29234,7 +29299,7 @@ public: }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Muerta_PartingShot_Knockback : public CDOTA_Modifier_Knockback { public: @@ -29242,7 +29307,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Muerta_PartingShot_SoulClone : public CDOTA_Buff { public: @@ -29250,145 +29315,145 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Muerta_PartingShot_SoulDebuff : public CDOTA_Buff { public: - int32_t ethereal_damage_bonus; // 0x12b8 - int32_t movement_slow; // 0x12bc - CHandle< C_BaseEntity > m_hPhysicalBody; // 0x12c0 - ParticleIndex_t m_nTetherFXIndex; // 0x12c4 + int32_t ethereal_damage_bonus; // 0x12c8 + int32_t movement_slow; // 0x12cc + CHandle< C_BaseEntity > m_hPhysicalBody; // 0x12d0 + ParticleIndex_t m_nTetherFXIndex; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Muerta_PartingShot_ProjectileReturn : public CDOTA_Buff { public: - int32_t m_nProjectileHandle; // 0x12b8 - CHandle< C_BaseEntity > m_hPhysicalBody; // 0x12bc + int32_t m_nProjectileHandle; // 0x12c8 + CHandle< C_BaseEntity > m_hPhysicalBody; // 0x12cc }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Bracer : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_strength; // 0x12c8 + int32_t bonus_agility; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + int32_t clock_time; // 0x12d4 + float bonus_health_regen; // 0x12d8 + int32_t bonus_damage; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Gauntlets : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 + int32_t bonus_strength; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Circlet : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_all_stats; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Slippers : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x12b8 + int32_t bonus_agility; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_WraithBand : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_strength; // 0x12c8 + int32_t bonus_agility; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + int32_t bonus_attack_speed; // 0x12d4 + int32_t clock_time; // 0x12d8 + float bonus_armor; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Mantle : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x12b8 + int32_t bonus_intellect; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_NullTalisman : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_strength; // 0x12c8 + int32_t bonus_agility; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + float bonus_mana_regen; // 0x12d4 + int32_t bonus_max_mana_percentage; // 0x12d8 + int32_t clock_time; // 0x12dc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_TangoHeal : public CDOTA_Buff { public: - float health_regen; // 0x12b8 - bool superheal; // 0x12bc + float health_regen; // 0x12c8 + bool superheal; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float m_fHealingDone; // 0x12c0 + float m_fHealingDone; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ClarityPotion : public CDOTA_Buff { public: - float mana_regen; // 0x12b8 + float mana_regen; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_FlaskHealing : public CDOTA_Buff { public: - int32_t health_regen; // 0x12b8 - int32_t break_on_hero_damage; // 0x12bc - float m_fHealingDone; // 0x12c0 + int32_t health_regen; // 0x12c8 + int32_t break_on_hero_damage; // 0x12cc + float m_fHealingDone; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_BootsOfSpeed : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_movement_speed; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_BootsOfTravel : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_movement_speed; // 0x12c8 }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_BootsOfTravel_2 : public CDOTA_Modifier_Item_BootsOfTravel { public: @@ -29396,7 +29461,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BootsOfTravel_Incoming : public CDOTA_Buff { public: @@ -29404,196 +29469,196 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_PowerTreads : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_movement_speed_ranged; // 0x12c8 + int32_t bonus_movement_speed_melee; // 0x12cc + int32_t bonus_attack_speed; // 0x12d0 + int32_t bonus_stat; // 0x12d4 + int32_t bonus_damage; // 0x12d8 }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_PhaseBoots : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_damage_melee; // 0x12cc + int32_t bonus_damage_range; // 0x12d0 + int32_t damage_block_melee; // 0x12d4 + int32_t damage_block_ranged; // 0x12d8 + int32_t block_chance; // 0x12dc + int32_t bonus_attack_speed; // 0x12e0 + int32_t bonus_armor; // 0x12e4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_PhaseBoots_Active : public CDOTA_Buff { public: - int32_t phase_movement_speed; // 0x12b8 - int32_t phase_movement_speed_range; // 0x12bc + int32_t phase_movement_speed; // 0x12c8 + int32_t phase_movement_speed_range; // 0x12cc }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_TranquilBoots : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_movement_speed; // 0x12c8 + int32_t broken_movement_speed; // 0x12cc + int32_t bonus_armor; // 0x12d0 + int32_t bonus_health_regen; // 0x12d4 + int32_t break_threshold; // 0x12d8 + int32_t break_time; // 0x12dc + int32_t break_count; // 0x12e0 + float m_flResetTime; // 0x12e4 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_TranquilBoots2 : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_movement_speed; // 0x12c8 + int32_t broken_movement_speed; // 0x12cc + int32_t bonus_armor; // 0x12d0 + int32_t bonus_health_regen; // 0x12d4 + int32_t break_threshold; // 0x12d8 + int32_t break_time; // 0x12dc + int32_t break_count; // 0x12e0 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Hermes_Sandals : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_damage_melee; // 0x12cc + int32_t bonus_damage_range; // 0x12d0 + int32_t bonus_armor; // 0x12d4 + int32_t bonus_agility; // 0x12d8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Hermes_Sandals_Active : public CDOTA_Buff { public: - int32_t phase_movement_speed; // 0x12b8 - int32_t phase_movement_speed_range; // 0x12bc - ParticleIndex_t m_nFXIndex; // 0x12c0 - bool m_bWasRooted; // 0x12c4 + int32_t phase_movement_speed; // 0x12c8 + int32_t phase_movement_speed_range; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d0 + bool m_bWasRooted; // 0x12d4 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Samurai_Tabi : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc - int32_t bonus_all_stats; // 0x12c0 - int32_t bonus_damage; // 0x12c4 + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t bonus_all_stats; // 0x12d0 + int32_t bonus_damage; // 0x12d4 }; // Alignment: 11 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Item_Samurai_Tabi_Str : public CDOTA_Buff_Item { public: - 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 + int32_t stat_per_tick; // 0x12c8 + int32_t bonus_all_stats; // 0x12cc + float base_interval; // 0x12d0 + int32_t max_tick_count; // 0x12d4 + float str_root_duration; // 0x12d8 + float str_root_cooldown; // 0x12dc + int32_t str_root_chance; // 0x12e0 + float str_bonus_damage; // 0x12e4 + int32_t iCurrentTickCount; // 0x12e8 + GameTime_t m_flLastRootTime; // 0x12ec + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12f0 }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Samurai_Tabi_Agi : public CDOTA_Buff_Item { public: - 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 + int32_t stat_per_tick; // 0x12c8 + float base_interval; // 0x12cc + int32_t max_tick_count; // 0x12d0 + int32_t bonus_all_stats; // 0x12d4 + int32_t agi_counter_chance; // 0x12d8 + float agi_counter_cooldown; // 0x12dc + GameTime_t m_flLastCounterTime; // 0x12e0 + int32_t iCurrentTickCount; // 0x12e4 }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Item_Samurai_Tabi_Int : public CDOTA_Buff_Item { public: - 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 + int32_t stat_per_tick; // 0x12c8 + float base_interval; // 0x12cc + int32_t max_tick_count; // 0x12d0 + float int_damage_interval; // 0x12d4 + float int_damage_range; // 0x12d8 + float int_damage; // 0x12dc + int32_t iCurrentTickCount; // 0x12e0 + int32_t int_max_targets; // 0x12e4 + GameTime_t m_flNextHit; // 0x12e8 + int32_t bonus_all_stats; // 0x12ec }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifer_Item_GlovesOfHaste : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_BeltOfStrength : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 + int32_t bonus_strength; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_RobeOfMagi : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x12b8 + int32_t bonus_intellect; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_BootsOfElven : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x12b8 + int32_t bonus_agility; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_BladesOfAttack : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_EmptyBottle : public CDOTA_Buff_Item { public: @@ -29601,269 +29666,269 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_BottleRegeneration : public CDOTA_Buff { public: - 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 + int32_t health_restore; // 0x12c8 + int32_t mana_restore; // 0x12cc + int32_t health_restore_pct; // 0x12d0 + int32_t mana_restore_pct; // 0x12d4 + int32_t break_on_hero_damage; // 0x12d8 + float m_fHealingDone; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_DemonEdge : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_EagleHorn : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x12b8 + int32_t bonus_agility; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Reaver : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 + int32_t bonus_strength; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_SacredRelic : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Hyperstone : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_RingOfHealth : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x12b8 + float bonus_health_regen; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_VoidStone : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x12b8 + float bonus_mana_regen; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_MysticStaff : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x12b8 + int32_t bonus_intellect; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_EnergyBooster : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x12b8 + int32_t bonus_mana; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_PointBooster : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x12b8 - int32_t bonus_health; // 0x12bc + int32_t bonus_mana; // 0x12c8 + int32_t bonus_health; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_VitalityBooster : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 + int32_t bonus_health; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Broadsword : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Quarterstaff : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 - int32_t bonus_speed; // 0x12bc + int32_t bonus_damage; // 0x12c8 + int32_t bonus_speed; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Claymore : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_RingOfProtection : public CDOTA_Buff_Item { public: - float bonus_armor; // 0x12b8 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_StoutShield : public CDOTA_Buff_Item -{ -public: - int32_t damage_block_melee; // 0x12b8 - int32_t damage_block_ranged; // 0x12bc - int32_t block_chance; // 0x12c0 + float bonus_armor; // 0x12c8 }; // Alignment: 3 // Size: 0x12d8 +class CDOTA_Modifier_Item_StoutShield : public CDOTA_Buff_Item +{ +public: + int32_t damage_block_melee; // 0x12c8 + int32_t damage_block_ranged; // 0x12cc + int32_t block_chance; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12e8 class CDOTA_Modifier_Item_Javelin : public CDOTA_Buff_Item { public: - int32_t bonus_chance; // 0x12b8 - int32_t bonus_chance_damage; // 0x12bc - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + int32_t bonus_chance; // 0x12c8 + int32_t bonus_chance_damage; // 0x12cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_MithrilHammer : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_ChainMail : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_HelmOfIronWill : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x12b8 - float bonus_regen; // 0x12bc + int32_t bonus_armor; // 0x12c8 + float bonus_regen; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_PlateMail : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_QuellingBlade : public CDOTA_Buff_Item { public: - int32_t damage_bonus; // 0x12b8 - int32_t damage_bonus_ranged; // 0x12bc + int32_t damage_bonus; // 0x12c8 + int32_t damage_bonus_ranged; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_IronwoodBranch : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_all_stats; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_OgreAxe : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 + int32_t bonus_strength; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_BladeOfAlacrity : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x12b8 + int32_t bonus_agility; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_StaffOfWizardry : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x12b8 + int32_t bonus_intellect; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_UltimateOrb : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_all_stats; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_MaskOfDeath : public CDOTA_Buff_Item { public: - int32_t lifesteal_percent; // 0x12b8 - int32_t creep_lifesteal_reduction_pct; // 0x12bc + int32_t lifesteal_percent; // 0x12c8 + int32_t creep_lifesteal_reduction_pct; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_RingOfRegeneration : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x12b8 + float bonus_health_regen; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_BlinkDagger : public CDOTA_Buff_Item { public: - float blink_damage_cooldown; // 0x12b8 + float blink_damage_cooldown; // 0x12c8 }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_SuperBlinkDagger : public CDOTA_Modifier_Item_BlinkDagger { public: @@ -29871,144 +29936,144 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_SobiMask : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x12b8 + float bonus_mana_regen; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_GemOfTrueSight : public CDOTA_Buff_Item { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Gem_Active_TrueSight : public CDOTA_Buff { public: - int32_t active_radius; // 0x12b8 - float duration; // 0x12bc + int32_t active_radius; // 0x12c8 + float duration; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_PlaneswalkersCloak : public CDOTA_Buff_Item { public: - int32_t bonus_magical_armor; // 0x12b8 + int32_t bonus_magical_armor; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_MagicStick : public CDOTA_Buff_Item { public: - int32_t charge_radius; // 0x12b8 - int32_t max_charges; // 0x12bc + int32_t charge_radius; // 0x12c8 + int32_t max_charges; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_MagicWand : public CDOTA_Buff_Item { public: - int32_t charge_radius; // 0x12b8 - int32_t max_charges; // 0x12bc - int32_t bonus_all_stats; // 0x12c0 + int32_t charge_radius; // 0x12c8 + int32_t max_charges; // 0x12cc + int32_t bonus_all_stats; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_TalismanOfEvasion : public CDOTA_Buff_Item { public: - int32_t bonus_evasion; // 0x12b8 + int32_t bonus_evasion; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_GhostScepter : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_all_stats; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_GhostScepter_Active : public CDOTA_Buff { public: - int32_t extra_spell_damage_percent; // 0x12b8 + int32_t extra_spell_damage_percent; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_HandOfMidas : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x12b8 - float charge_gain_timer; // 0x12bc - int32_t max_charges; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c8 + float charge_gain_timer; // 0x12cc + int32_t max_charges; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_OblivionStaff : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc - int32_t bonus_damage; // 0x12c0 - float bonus_mana_regen; // 0x12c4 + int32_t bonus_intellect; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t bonus_damage; // 0x12d0 + float bonus_mana_regen; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Perseverance : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x12b8 - float bonus_mana_regen; // 0x12bc + float bonus_health_regen; // 0x12c8 + float bonus_mana_regen; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_PoorMansShield : public CDOTA_Buff_Item { public: - int32_t damage_block_melee; // 0x12b8 - int32_t damage_block_ranged; // 0x12bc - int32_t block_chance; // 0x12c0 - int32_t bonus_agility; // 0x12c4 + int32_t damage_block_melee; // 0x12c8 + int32_t damage_block_ranged; // 0x12cc + int32_t block_chance; // 0x12d0 + int32_t bonus_agility; // 0x12d4 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_DustofAppearance_Thinker : public CDOTA_Buff { public: - float radius; // 0x12b8 - float duration; // 0x12bc - float linger_duration; // 0x12c0 - int32_t movespeed; // 0x12c4 - float damage; // 0x12c8 + float radius; // 0x12c8 + float duration; // 0x12cc + float linger_duration; // 0x12d0 + int32_t movespeed; // 0x12d4 + float damage; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_DustofAppearance : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 + int32_t movespeed; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Buff_Wards : public CDOTA_Buff { public: @@ -30016,7 +30081,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_ObserverWard : public CDOTA_Buff_Item { public: @@ -30024,7 +30089,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_SentryWard : public CDOTA_Buff_Item { public: @@ -30032,161 +30097,161 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_WardTrueSight : public CDOTA_Buff { public: - int32_t true_sight_range; // 0x12b8 + int32_t true_sight_range; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_DivineRapier : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 +}; + +// Alignment: 5 +// Size: 0x12f0 +class CDOTA_Modifier_Item_MonkeyKingBar : public CDOTA_Buff_Item +{ +public: + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_chance; // 0x12cc + int32_t bonus_chance_damage; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Radiance : public CDOTA_Buff_Item +{ +public: + int32_t bonus_damage; // 0x12c8 + int32_t evasion; // 0x12cc + int32_t upgrade_day_vision; // 0x12d0 + int32_t aura_radius; // 0x12d4 +}; + +// Alignment: 4 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Radiance_Debuff : public CDOTA_Buff +{ +private: + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 +public: + int32_t aura_damage; // 0x12d0 + int32_t aura_damage_upgrade_bonus; // 0x12d4 + int32_t aura_damage_illusions; // 0x12d8 + int32_t blind_pct; // 0x12dc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Butterfly_Extra : public CDOTA_Buff +{ +public: + int32_t bonus_move_speed; // 0x12c8 }; // Alignment: 5 // Size: 0x12e0 -class CDOTA_Modifier_Item_MonkeyKingBar : public CDOTA_Buff_Item -{ -public: - 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: 0x12c8 -class CDOTA_Modifier_Item_Radiance : public CDOTA_Buff_Item -{ -public: - int32_t bonus_damage; // 0x12b8 - int32_t evasion; // 0x12bc - int32_t upgrade_day_vision; // 0x12c0 - int32_t aura_radius; // 0x12c4 -}; - -// Alignment: 4 -// Size: 0x12d0 -class CDOTA_Modifier_Item_Radiance_Debuff : public CDOTA_Buff -{ -private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 -public: - 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: 0x12c0 -class CDOTA_Modifier_Item_Butterfly_Extra : public CDOTA_Buff -{ -public: - int32_t bonus_move_speed; // 0x12b8 -}; - -// Alignment: 5 -// 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 + int32_t bonus_damage; // 0x12c8 + int32_t bonus_agility; // 0x12cc + int32_t bonus_evasion; // 0x12d0 + int32_t bonus_attack_speed; // 0x12d4 + int32_t bonus_slow_resistance; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t bonus_damage; // 0x12c8 + int32_t crit_chance; // 0x12cc + int32_t crit_multiplier; // 0x12d0 }; // Alignment: 8 -// Size: 0x12f0 +// Size: 0x1300 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 + int32_t bonus_strength; // 0x12c8 + int32_t bash_chance_melee; // 0x12cc + int32_t bash_chance_ranged; // 0x12d0 + float bash_duration; // 0x12d4 + float bash_cooldown; // 0x12d8 + int32_t bonus_chance_damage; // 0x12dc + int32_t bonus_damage; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e8 }; // Alignment: 13 -// Size: 0x1308 +// Size: 0x1318 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 + int32_t bonus_strength; // 0x12c8 + int32_t bash_chance_melee; // 0x12cc + int32_t bash_chance_ranged; // 0x12d0 + float bash_duration; // 0x12d4 + float bash_cooldown; // 0x12d8 + int32_t bonus_chance_damage; // 0x12dc + int32_t bonus_damage; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 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 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e8 + int32_t bonus_health; // 0x1300 + float bonus_health_regen; // 0x1304 + int32_t block_damage_ranged; // 0x1308 + int32_t block_damage_melee; // 0x130c + int32_t block_chance; // 0x1310 }; // Alignment: 12 -// Size: 0x12e8 +// Size: 0x12f8 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 + int32_t bonus_damage; // 0x12c8 + float bonus_health_regen; // 0x12cc + float bonus_mana_regen; // 0x12d0 + int32_t cleave_damage_percent; // 0x12d4 + int32_t cleave_damage_percent_creep; // 0x12d8 + int32_t cleave_starting_width; // 0x12dc + int32_t cleave_ending_width; // 0x12e0 + int32_t cleave_distance; // 0x12e4 + int32_t upgraded_cleave_bonus; // 0x12e8 + int32_t upgraded_damage_bonus; // 0x12ec + int32_t quelling_bonus; // 0x12f0 + int32_t quelling_bonus_ranged; // 0x12f4 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_MantaStyle : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_strength; // 0x12cc + int32_t bonus_agility; // 0x12d0 + int32_t bonus_intellect; // 0x12d4 + int32_t bonus_movement_speed; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Manta_Phase : public CDOTA_Buff { public: @@ -30194,7 +30259,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Manta : public CDOTA_Buff { public: @@ -30202,116 +30267,116 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_LesserCritical : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 - int32_t crit_chance; // 0x12bc - int32_t crit_multiplier; // 0x12c0 + int32_t bonus_damage; // 0x12c8 + int32_t crit_chance; // 0x12cc + int32_t crit_multiplier; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Armlet : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc - int32_t bonus_armor; // 0x12c0 - int32_t bonus_health_regen; // 0x12c4 + int32_t bonus_damage; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t bonus_armor; // 0x12d0 + int32_t bonus_health_regen; // 0x12d4 }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Armlet_UnholyStrength : public CDOTA_Buff { public: - 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 + int32_t unholy_bonus_damage; // 0x12c8 + int32_t unholy_bonus_attack_speed; // 0x12cc + int32_t unholy_bonus_strength; // 0x12d0 + int32_t unholy_bonus_armor; // 0x12d4 + int32_t unholy_health_drain_per_second; // 0x12d8 + int32_t str_tick_count; // 0x12dc + int32_t unholy_bonus_slow_resistance; // 0x12e0 + float tick_interval; // 0x12e4 + float m_flDamageRemainder; // 0x12e8 }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_InvisibilityEdge : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_damage; // 0x12bc - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_damage; // 0x12cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_InvisibilityEdge_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t windwalk_bonus_damage; // 0x12c8 - int32_t windwalk_movement_speed; // 0x12cc + int32_t windwalk_bonus_damage; // 0x12d8 + int32_t windwalk_movement_speed; // 0x12dc }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_SheepStick : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_strength; // 0x12c8 + int32_t bonus_agility; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + float bonus_mana_regen; // 0x12d4 + int32_t bonus_mana; // 0x12d8 + int32_t cast_range_bonus; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SheepStick_Debuff : public CDOTA_Modifier_Hexed { public: - float sheep_movement_speed; // 0x12b8 + float sheep_movement_speed; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_OrchidMalevolence : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_intellect; // 0x12c8 + float bonus_mana_regen; // 0x12cc + float bonus_health_regen; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + int32_t bonus_attack_speed; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_OrchidMalevolence_Debuff : public CDOTA_Buff { public: - float silence_damage_percent; // 0x12b8 - float m_flDamageTaken; // 0x12bc + float silence_damage_percent; // 0x12c8 + float m_flDamageTaken; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_RodOfAtos : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 - int32_t bonus_agility; // 0x12bc - int32_t bonus_intellect; // 0x12c0 - int32_t bonus_hp; // 0x12c4 + int32_t bonus_strength; // 0x12c8 + int32_t bonus_agility; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + int32_t bonus_hp; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_RodOfAtos_Debuff : public CDOTA_Modifier_Rooted { public: @@ -30319,25 +30384,25 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Cyclone : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x12b8 - float bonus_mana_regen; // 0x12bc - int32_t bonus_movement_speed; // 0x12c0 + int32_t bonus_intellect; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_movement_speed; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Eul_Cyclone : public CDOTA_Modifier_Cyclone { public: - CHandle< C_BaseEntity > m_hBlocker; // 0x12c0 + CHandle< C_BaseEntity > m_hBlocker; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Eul_Cyclone_Thinker : public CDOTA_Buff { public: @@ -30345,24 +30410,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_ForceStaff : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - int32_t bonus_intellect; // 0x12bc + int32_t bonus_health; // 0x12c8 + int32_t bonus_intellect; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ForceStaff : public CDOTA_Buff { public: - float push_length; // 0x12b8 + float push_length; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Dagon : public CDOTA_Buff { public: @@ -30370,50 +30435,50 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Dagon : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_int; // 0x12c8 + int32_t bonus_str; // 0x12cc + int32_t bonus_agi; // 0x12d0 + float passive_spell_lifesteal; // 0x12d4 + float dagon_spell_lifesteal; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_RefresherOrb : public CDOTA_Buff_Item { public: - int32_t bonus_health_regen; // 0x12b8 - float bonus_mana_regen; // 0x12bc - int32_t bonus_damage; // 0x12c0 + int32_t bonus_health_regen; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_damage; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t bonus_health_regen; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_damage; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_UltimateScepter : public CDOTA_Buff_Item { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t bonus_all_stats; // 0x12bc - int32_t bonus_health; // 0x12c0 - int32_t bonus_mana; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t bonus_all_stats; // 0x12cc + int32_t bonus_health; // 0x12d0 + int32_t bonus_mana; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_UltimateScepter_Consumed : public CDOTA_Buff_Item { public: @@ -30421,18 +30486,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_UltimateScepter_Consumed_Alchemist : public CDOTA_Modifier_Item_UltimateScepter_Consumed { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t bonus_all_stats; // 0x12bc - int32_t bonus_health; // 0x12c0 - int32_t bonus_mana; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t bonus_all_stats; // 0x12cc + int32_t bonus_health; // 0x12d0 + int32_t bonus_mana; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Assault_Cuirass_Positive_Aura : public CDOTA_Buff_Item { public: @@ -30440,16 +30505,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Assault_Cuirass_Positive : public CDOTA_Buff { public: - int32_t aura_attack_speed; // 0x12b8 - int32_t aura_positive_armor; // 0x12bc + int32_t aura_attack_speed; // 0x12c8 + int32_t aura_positive_armor; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Assault_Cuirass_Negative_Armor_Aura : public CDOTA_Buff_Item { public: @@ -30457,61 +30522,61 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Assault_Cuirass_Negative_Armor : public CDOTA_Buff { public: - int32_t aura_negative_armor; // 0x12b8 + int32_t aura_negative_armor; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Assault_Cuirass : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_armor; // 0x12bc + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_armor; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Heart : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 - int32_t bonus_health; // 0x12bc - float health_regen_pct; // 0x12c0 + int32_t bonus_strength; // 0x12c8 + int32_t bonus_health; // 0x12cc + float health_regen_pct; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Black_King_Bar_Immune : public CDOTA_Modifier_DebuffImmune { public: - int32_t model_scale; // 0x12b8 - int32_t magic_resist; // 0x12bc + int32_t model_scale; // 0x12c8 + int32_t magic_resist; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Black_King_Bar : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 - int32_t bonus_damage; // 0x12bc - float duration; // 0x12c0 + int32_t bonus_strength; // 0x12c8 + int32_t bonus_damage; // 0x12cc + float duration; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Aegis : public CDOTA_Buff_Item { public: - float reincarnate_time; // 0x12b8 + float reincarnate_time; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aegis_Regen : public CDOTA_Buff { public: @@ -30519,50 +30584,50 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Shivas_Guard : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x12b8 - int32_t bonus_armor; // 0x12bc - int32_t aura_radius; // 0x12c0 + int32_t bonus_intellect; // 0x12c8 + int32_t bonus_armor; // 0x12cc + int32_t aura_radius; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Shivas_Guard_Aura : public CDOTA_Buff { public: - int32_t aura_attack_speed; // 0x12b8 - int32_t hp_regen_degen_aura; // 0x12bc + int32_t aura_attack_speed; // 0x12c8 + int32_t hp_regen_degen_aura; // 0x12cc }; // Alignment: 9 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Item_Shivas_Guard_Thinker : public CDOTA_Buff { public: - 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 + float m_fCurRadius; // 0x12c8 + GameTime_t m_fLastThink; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x12d0 + CountdownTimer m_ViewerTimer; // 0x12e8 + int32_t blast_speed; // 0x1300 + int32_t blast_radius; // 0x1304 + int32_t blast_damage; // 0x1308 + int32_t illusion_multiplier_pct; // 0x130c + float blast_debuff_duration; // 0x1310 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Shivas_Guard_Blast : public CDOTA_Buff { public: - int32_t blast_movement_speed; // 0x12b8 + int32_t blast_movement_speed; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Bloodstone_Active : public CDOTA_Buff { public: @@ -30570,18 +30635,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Bloodstone : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - int32_t bonus_mana; // 0x12bc - float spell_lifesteal; // 0x12c0 - float lifesteal_multiplier; // 0x12c4 + int32_t bonus_health; // 0x12c8 + int32_t bonus_mana; // 0x12cc + float spell_lifesteal; // 0x12d0 + float lifesteal_multiplier; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Bloodstone_Drained : public CDOTA_Buff { public: @@ -30589,131 +30654,131 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Sange : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 - int32_t hp_regen_amp; // 0x12bc - int32_t status_resistance; // 0x12c0 + int32_t bonus_strength; // 0x12c8 + int32_t hp_regen_amp; // 0x12cc + int32_t status_resistance; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Yasha : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc - int32_t movement_speed_percent_bonus; // 0x12c0 + int32_t bonus_agility; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t movement_speed_percent_bonus; // 0x12d0 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_SangeAndYasha : public CDOTA_Buff_Item { public: - 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_agility; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t movement_speed_percent_bonus; // 0x12d0 + int32_t bonus_strength; // 0x12d4 + int32_t hp_regen_amp; // 0x12d8 + int32_t status_resistance; // 0x12dc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_MaskOfMadness : public CDOTA_Buff_Item { public: - int32_t lifesteal_percent; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc - int32_t bonus_damage; // 0x12c0 - int32_t creep_lifesteal_reduction_pct; // 0x12c4 + int32_t lifesteal_percent; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t bonus_damage; // 0x12d0 + int32_t creep_lifesteal_reduction_pct; // 0x12d4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_MaskOfMadness_Berserk : public CDOTA_Buff { public: - int32_t berserk_bonus_attack_speed; // 0x12b8 - int32_t berserk_bonus_movement_speed; // 0x12bc - int32_t berserk_armor_reduction; // 0x12c0 + int32_t berserk_bonus_attack_speed; // 0x12c8 + int32_t berserk_bonus_movement_speed; // 0x12cc + int32_t berserk_armor_reduction; // 0x12d0 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Sphere : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_all_stats; // 0x12c8 + float bonus_health_regen; // 0x12cc + float bonus_mana_regen; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + float block_cooldown; // 0x12d8 + float upgrade_absorb_duration; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Sphere_Target : public CDOTA_Buff_Item { public: - float upgrade_absorb_duration; // 0x12b8 + float upgrade_absorb_duration; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Sphere_Upgrade_Absorb : public CDOTA_Buff { public: - int32_t damage_absorb; // 0x12b8 - bool m_bStartedTimer; // 0x12bc + int32_t damage_absorb; // 0x12c8 + bool m_bStartedTimer; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - int32_t m_flDamageAbsorbed; // 0x12c0 + int32_t m_flDamageAbsorbed; // 0x12d0 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Vanguard : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_health; // 0x12c8 + float bonus_health_regen; // 0x12cc + int32_t block_damage_ranged; // 0x12d0 + int32_t block_damage_melee; // 0x12d4 + int32_t block_chance; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Crimson_Guard_Extra : public CDOTA_Buff { public: - int32_t block_chance_active; // 0x12b8 - int32_t block_damage_active; // 0x12bc - int32_t strength_pct; // 0x12c0 + int32_t block_chance_active; // 0x12c8 + int32_t block_damage_active; // 0x12cc + int32_t strength_pct; // 0x12d0 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Crimson_Guard : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_health; // 0x12c8 + float bonus_health_regen; // 0x12cc + float bonus_armor; // 0x12d0 + int32_t block_damage_ranged; // 0x12d4 + int32_t block_damage_melee; // 0x12d8 + int32_t block_chance; // 0x12dc + int32_t bonus_aoe_radius; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Crimson_Guard_NoStack : public CDOTA_Buff { public: @@ -30721,7 +30786,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Blade_Mail_Reflect : public CDOTA_Buff { public: @@ -30729,65 +30794,65 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Blade_Mail : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_damage; // 0x12c8 + int32_t bonus_armor; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + int32_t passive_reflection_constant; // 0x12d4 + int32_t passive_reflection_pct; // 0x12d8 + int32_t active_reflection_pct; // 0x12dc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Soul_Booster : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - int32_t bonus_mana; // 0x12bc - int32_t bonus_magical_armor; // 0x12c0 + int32_t bonus_health; // 0x12c8 + int32_t bonus_mana; // 0x12cc + int32_t bonus_magical_armor; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Hood_Of_Defiance_Barrier : public CDOTA_Buff { public: - int32_t barrier_block; // 0x12b8 - int32_t barrier_amount; // 0x12bc + int32_t barrier_block; // 0x12c8 + int32_t barrier_amount; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Hood_Of_Defiance : public CDOTA_Buff_Item { public: - int32_t bonus_spell_resist; // 0x12b8 - float bonus_health_regen; // 0x12bc + int32_t bonus_spell_resist; // 0x12c8 + float bonus_health_regen; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Mekansm : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x12b8 - int32_t bonus_armor; // 0x12bc + int32_t aura_radius; // 0x12c8 + int32_t bonus_armor; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Mekansm_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x12b8 + float aura_health_regen; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Mekansm_Noheal : public CDOTA_Buff { public: @@ -30795,95 +30860,95 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Vladmir : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Vladmir_Aura : public CDOTA_Buff { public: - 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 + int32_t lifesteal_aura; // 0x12c8 + int32_t damage_aura; // 0x12cc + float armor_aura; // 0x12d0 + float mana_regen_aura; // 0x12d4 + int32_t creep_lifesteal_reduction_pct; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Buckler : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x12b8 + bool m_bAppliesToCreeps; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t bonus_aoe_radius; // 0x12bc - float armor; // 0x12c0 + int32_t bonus_aoe_radius; // 0x12cc + float armor; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Buckler_Effect : public CDOTA_Buff { public: - float bonus_aoe_armor; // 0x12b8 + float bonus_aoe_armor; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Ring_Of_Basilius : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x12b8 - float mana_regen; // 0x12bc + int32_t aura_radius; // 0x12c8 + float mana_regen; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Ring_Of_Basilius_Effect : public CDOTA_Buff { public: - float aura_mana_regen; // 0x12b8 + float aura_mana_regen; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Pipe : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x12b8 - float health_regen; // 0x12bc - int32_t magic_resistance; // 0x12c0 - int32_t aura_radius; // 0x12c4 + int32_t bonus_all_stats; // 0x12c8 + float health_regen; // 0x12cc + int32_t magic_resistance; // 0x12d0 + int32_t aura_radius; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Pipe_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x12b8 - int32_t magic_resistance_aura; // 0x12bc + float aura_health_regen; // 0x12c8 + int32_t magic_resistance_aura; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Pipe_Barrier : public CDOTA_Buff { public: - int32_t barrier_amount; // 0x12b8 - int32_t barrier_block; // 0x12bc - int32_t barrier_block_creep; // 0x12c0 + int32_t barrier_amount; // 0x12c8 + int32_t barrier_block; // 0x12cc + int32_t barrier_block_creep; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Pipe_Debuff : public CDOTA_Buff { public: @@ -30891,81 +30956,81 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Urn_Of_Shadows : public CDOTA_Buff_Item { public: - float mana_regen; // 0x12b8 - int32_t bonus_all_stats; // 0x12bc - float bonus_armor; // 0x12c0 + float mana_regen; // 0x12c8 + int32_t bonus_all_stats; // 0x12cc + float bonus_armor; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Urn_Heal : public CDOTA_Buff { public: - int32_t soul_heal_amount; // 0x12b8 - float m_fHealingDone; // 0x12bc + int32_t soul_heal_amount; // 0x12c8 + float m_fHealingDone; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Urn_Damage : public CDOTA_Buff { public: - int32_t soul_damage_amount; // 0x12b8 + int32_t soul_damage_amount; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Headdress : public CDOTA_Buff_Item { public: - float health_regen; // 0x12b8 - int32_t aura_radius; // 0x12bc + float health_regen; // 0x12c8 + int32_t aura_radius; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Headdress_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x12b8 + float aura_health_regen; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Satanic : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_damage; // 0x12c8 + int32_t bonus_strength; // 0x12cc + int32_t lifesteal_percent; // 0x12d0 + int32_t unholy_lifesteal_percent; // 0x12d4 + int32_t creep_lifesteal_reduction_pct; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Satanic_Unholy : public CDOTA_Buff { public: - int32_t unholy_lifesteal_percent; // 0x12b8 + int32_t unholy_lifesteal_percent; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_HelmOfTheDominator : public CDOTA_Buff_Item { public: - int32_t bonus_stats; // 0x12b8 - int32_t bonus_armor; // 0x12bc - float bonus_regen; // 0x12c0 + int32_t bonus_stats; // 0x12c8 + int32_t bonus_armor; // 0x12cc + float bonus_regen; // 0x12d0 }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_HelmOfTheDominator_2 : public CDOTA_Modifier_Item_HelmOfTheDominator { public: @@ -30973,67 +31038,67 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_HelmOfTheDominator_BonusHealth : public CDOTA_Buff { public: - 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 + int32_t health_min; // 0x12c8 + int32_t new_max; // 0x12cc + int32_t health_bonus; // 0x12d0 + int32_t model_scale; // 0x12d4 + int32_t creep_bonus_damage; // 0x12d8 + int32_t creep_bonus_hp_regen; // 0x12dc + int32_t creep_bonus_mp_regen; // 0x12e0 + int32_t creep_bonus_armor; // 0x12e4 }; // Alignment: 6 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Item_Desolator : public CDOTA_Buff_Item { public: - 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 __pad12cc[0x4]; // 0x12cc -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Desolator_Corruption : public CDOTA_Buff -{ -public: - int32_t corruption_armor; // 0x12b8 -}; - -// Alignment: 11 -// Size: 0x1310 -class CDOTA_Modifier_Item_Revenants_Brooch : public CDOTA_Buff_Item -{ -public: - 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 + int32_t bonus_damage; // 0x12c8 + int32_t bonus_damage_per_kill; // 0x12cc + int32_t bonus_damage_per_assist; // 0x12d0 + int32_t max_damage; // 0x12d4 + float corruption_duration; // 0x12d8 private: [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 - CUtlVector< int16 > m_InFlightWitchBladeAttackRecords; // 0x12f8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Desolator_Corruption : public CDOTA_Buff +{ +public: + int32_t corruption_armor; // 0x12c8 +}; + +// Alignment: 11 +// Size: 0x1320 +class CDOTA_Modifier_Item_Revenants_Brooch : public CDOTA_Buff_Item +{ +public: + int32_t bonus_armor; // 0x12c8 + int32_t projectile_speed; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + int32_t bonus_attack_speed; // 0x12d4 + int32_t mana_cost; // 0x12d8 + int32_t slow_duration; // 0x12dc + int32_t spell_amp_duration; // 0x12e0 + int32_t damage_penalty; // 0x12e4 + int32_t passive_cooldown; // 0x12e8 +private: + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12f0 + CUtlVector< int16 > m_InFlightWitchBladeAttackRecords; // 0x1308 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Revenants_Brooch_InternalCD : public CDOTA_Buff { public: @@ -31041,3042 +31106,252 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Revenants_Brooch_Counter : public CDOTA_Buff { public: - float active_attack_speed; // 0x12b8 - float active_spell_amp; // 0x12bc + float active_attack_speed; // 0x12c8 + float active_spell_amp; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Misery_Debuff : public CDOTA_Buff { public: - int32_t active_mres_reduction; // 0x12b8 + int32_t active_mres_reduction; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_EagleEye : public CDOTA_Buff_Item { public: - int32_t radius; // 0x12b8 - int32_t bonus_agi; // 0x12bc + int32_t radius; // 0x12c8 + int32_t bonus_agi; // 0x12cc }; // Alignment: 11 -// Size: 0x12f8 +// Size: 0x1308 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 + int32_t bonus_strength; // 0x12c8 + int32_t bonus_agility; // 0x12cc + int32_t bash_chance_melee; // 0x12d0 + int32_t bash_chance_ranged; // 0x12d4 + float bash_duration; // 0x12d8 + float bash_cooldown; // 0x12dc + int32_t bonus_chance_damage; // 0x12e0 + int32_t bonus_damage; // 0x12e4 + int32_t weaken_per_hit; // 0x12e8 + float weaken_duration; // 0x12ec + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12f0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tenderizer_Weaken : public CDOTA_Modifier_Stacking_Base { public: - int32_t weaken_per_hit; // 0x12b8 + int32_t weaken_per_hit; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t radius; // 0x12c8 + int32_t bonus_movement_speed; // 0x12cc + int32_t bonus_health_regen; // 0x12d0 + int32_t bonus_str; // 0x12d4 + int32_t bonus_int; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Boots_Of_Bearing_Aura : public CDOTA_Buff { public: - int32_t aura_movement_speed; // 0x12b8 + int32_t aura_movement_speed; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t bonus_attack_speed_pct; // 0x12c8 + int32_t bonus_movement_speed_pct; // 0x12cc + float bonus_ms_duration; // 0x12d0 }; // Alignment: 6 -// Size: 0x12e8 +// Size: 0x12f8 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 + int32_t bonus_agility; // 0x12c8 + int32_t attacks; // 0x12cc + int32_t bonus_damage; // 0x12d0 + float buff_duration; // 0x12d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 + int32_t m_nCounter; // 0x12f0 }; // Alignment: 9 -// Size: 0x12f8 +// Size: 0x1308 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: 0x12b8 -class CDOTA_Modifier_Smoke_Of_Deceit_Secondary_Application_Cooldown : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 6 -// Size: 0x12d0 -class CDOTA_Modifier_Item_Veil_Of_Discord_Thinker : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Item_Veil_Of_Discord : public CDOTA_Buff_Item -{ -public: - int32_t aura_radius; // 0x12b8 - int32_t bonus_all_stats; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Veil_Of_Discord_Mana : public CDOTA_Buff -{ -public: - float aura_mana_regen; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Veil_Of_Discord_Debuff : public CDOTA_Buff -{ -public: - int32_t spell_amp; // 0x12b8 -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_Item_HeavensHalberd : public CDOTA_Buff_Item -{ -public: - int32_t bonus_strength; // 0x12b8 - int32_t hp_regen_amp; // 0x12bc - int32_t bonus_evasion; // 0x12c0 - int32_t status_resistance; // 0x12c4 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_HeavensHalberd_Debuff : public CDOTA_Buff -{ -public: - bool m_bPierceDebuffImmunity; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_RingOfAquila_Aura : public CDOTA_Buff_Item -{ -public: - bool m_bAppliesToCreeps; // 0x12b8 -private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 -public: - int32_t aura_radius; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_RingOfAquila_Aura_Bonus : public CDOTA_Buff -{ -public: - int32_t aura_bonus_armor; // 0x12b8 - float aura_mana_regen; // 0x12bc -}; - -// Alignment: 5 -// Size: 0x12d0 -class CDOTA_Modifier_Item_RingOfAquila : public CDOTA_Buff_Item -{ -public: - 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: 0x12c8 -class CDOTA_Modifier_ShadowAmulet_Fade : public CDOTA_Buff -{ -public: - float fade_time; // 0x12b8 - GameTime_t m_flFadeTime; // 0x12bc - bool m_bFaded; // 0x12c0 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Moonshard : public CDOTA_Buff_Item -{ -public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_night_vision; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Moonshard_Consumed : public CDOTA_Buff -{ -public: - int32_t consumed_bonus; // 0x12b8 - int32_t consumed_bonus_night_vision; // 0x12bc -}; - -// Alignment: 8 -// Size: 0x12f0 -class CDOTA_Modifier_Item_Silver_Edge : public CDOTA_Buff_Item -{ -public: - 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 + int32_t damage; // 0x12c8 + float max_damage_duration; // 0x12cc + int32_t attack_range_bonus; // 0x12d0 private: [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 + bool bAttackRange; // 0x12f0 +private: + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 +public: + float m_flStartTime; // 0x12f4 + float m_flFadeTime; // 0x12f8 + float m_flDamageScale; // 0x12fc + float duration; // 0x1300 }; -// Alignment: 2 -// Size: 0x12d0 -class CDOTA_Modifier_Silver_Edge_WindWalk : public CDOTA_Modifier_Invisible +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_WraithPact : public CDOTA_Buff_Item { public: - int32_t windwalk_bonus_damage; // 0x12c8 - int32_t windwalk_movement_speed; // 0x12cc + int32_t aura_radius; // 0x12c8 + int32_t bonus_mana; // 0x12cc + int32_t bonus_health; // 0x12d0 }; -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Silver_Edge_Debuff : public CDOTA_Buff +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_WraithPact_Thinker : public CDOTA_Buff { public: - // No members available + int32_t pact_aura_radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + float aura_dps; // 0x12d0 }; -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Item_GlimmerCape_Building_Limit : public CDOTA_Buff +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_WraithPact_DeathAura : public CDOTA_Buff { public: - // No members available + int32_t armor_penalty_aura; // 0x12c8 + int32_t damage_penalty_aura; // 0x12cc + float aura_dps; // 0x12d0 }; -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_GlimmerCape : public CDOTA_Buff_Item +// Alignment: 5 +// Size: 0x12f0 +class CDOTA_Modifier_Item_Skadi : public CDOTA_Buff_Item { public: - int32_t bonus_magical_armor; // 0x12b8 + int32_t bonus_all_stats; // 0x12c8 + int32_t bonus_health; // 0x12cc + int32_t bonus_mana; // 0x12d0 + float cold_duration; // 0x12d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Skadi_Slow : public CDOTA_Buff +{ +public: + int32_t cold_slow_melee; // 0x12c8 + int32_t cold_attack_slow_melee; // 0x12cc + int32_t cold_slow_ranged; // 0x12d0 + int32_t cold_attack_slow_ranged; // 0x12d4 + int32_t heal_reduction; // 0x12d8 }; // Alignment: 8 -// Size: 0x12d8 -class CDOTA_Modifier_GlimmerCape_Fade : public CDOTA_Buff +// Size: 0x1308 +class CDOTA_Modifier_MjollnirChain : public CDOTA_Buff { public: - 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 + int32_t chain_radius; // 0x12c8 + int32_t chain_strikes; // 0x12cc + int32_t chain_damage; // 0x12d0 + float chain_delay; // 0x12d4 + int32_t chain_damage_per_charge; // 0x12d8 + int32_t m_iCurJumpCount; // 0x12dc + Vector m_vCurTargetLoc; // 0x12e0 +private: + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec +public: + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12f0 }; -// Alignment: 5 -// Size: 0x12d0 -class CDOTA_Modifier_Item_Solar_Crest : public CDOTA_Buff_Item +// Alignment: 11 +// Size: 0x1320 +class CDOTA_Modifier_Item_Mjollnir : public CDOTA_Buff_Item { public: - 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: 0x12c8 -class CDOTA_Modifier_Item_Solar_Crest_Armor_Addition : public CDOTA_Buff -{ + int32_t bonus_damage; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t chain_chance; // 0x12d0 + int32_t chain_strikes; // 0x12d4 + int32_t chain_damage; // 0x12d8 + int32_t chain_radius; // 0x12dc + int32_t chain_damage_per_charge; // 0x12e0 + int32_t max_charges; // 0x12e4 + float chain_cooldown; // 0x12e8 +private: + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - int32_t target_armor; // 0x12b8 - int32_t target_attack_speed; // 0x12bc - int32_t target_movement_speed; // 0x12c0 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Solar_Crest_Armor_Reduction : public CDOTA_Buff -{ -public: - int32_t target_armor; // 0x12b8 - int32_t target_attack_speed; // 0x12bc - int32_t target_movement_speed; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Ward_Dispenser : public CDOTA_Buff_Item -{ -public: - int32_t bonus_health; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Ward_Delay : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Ward_Maker : public CDOTA_Buff_Item -{ -public: - int32_t bonus_health; // 0x12b8 -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Guardian_Greaves : public CDOTA_Buff_Item -{ -public: - int32_t bonus_movement; // 0x12b8 - int32_t bonus_mana; // 0x12bc - int32_t bonus_armor; // 0x12c0 - int32_t aura_radius; // 0x12c4 -}; - -// Alignment: 5 -// Size: 0x12d0 -class CDOTA_Modifier_Item_Guardian_Greaves_Aura : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Item_Enchanted_Mango : public CDOTA_Buff_Item -{ -public: - float hp_regen; // 0x12b8 -}; - -// Alignment: 5 -// Size: 0x12d0 -class CDOTA_Modifier_Item_Lotus_Orb : public CDOTA_Buff_Item -{ -public: - 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: 0x1490 -class CDOTA_Modifier_Item_Lotus_Orb_Active : public CDOTA_Buff -{ -public: - CModifierParams m_LastParams; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Lotus_Orb_Delay : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 6 -// Size: 0x12d8 -class CDOTA_Modifier_Item_Lotus_Orb_ChannelCheck : public CDOTA_Buff -{ -public: - 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: 0x12d0 -class CDOTA_Modifier_Item_Octarine_Core : public CDOTA_Buff_Item -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Item_Faerie_Fire : public CDOTA_Buff_Item -{ -public: - int32_t bonus_damage; // 0x12b8 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_DragonLance : public CDOTA_Buff_Item -{ -public: - int32_t bonus_agility; // 0x12b8 - int32_t bonus_strength; // 0x12bc - int32_t base_attack_range; // 0x12c0 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Aether_Lens : public CDOTA_Buff_Item -{ -public: - int32_t bonus_mana; // 0x12b8 - float bonus_mana_regen; // 0x12bc - int32_t cast_range_bonus; // 0x12c0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12f0 + CountdownTimer m_ChainTimer; // 0x1308 }; // Alignment: 8 -// Size: 0x12d8 -class CDOTA_Modifier_Halo : public CDOTA_Buff_Item +// Size: 0x12f0 +class CDOTA_Modifier_Item_Mjollnir_Static : public CDOTA_Buff { -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: 0x12c0 -class CDOTA_Modifier_Item_Iron_Talon : public CDOTA_Buff_Item -{ -public: - int32_t bonus_attack_speed; // 0x12b8 - float bonus_armor; // 0x12bc -}; - -// Alignment: 9 -// Size: 0x12e0 -class CDOTA_Modifier_Item_Bloodthorn : public CDOTA_Buff_Item -{ -public: - 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: 0x12e0 -class CDOTA_Modifier_Bloodthorn_Debuff : public CDOTA_Buff -{ -public: - float target_crit_multiplier; // 0x12b8 - float silence_damage_percent; // 0x12bc - float m_flDamageTaken; // 0x12c0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 -public: - CUtlVector< int16 > m_vRecords; // 0x12c8 -}; - -// Alignment: 7 -// Size: 0x12d8 -class CDOTA_Modifier_Item_EchoSabre : public CDOTA_Buff_Item -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_EchoSabre_Debuff : public CDOTA_Buff -{ -public: - int32_t movement_slow; // 0x12b8 - int32_t attack_speed_slow; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12d8 -class CDOTA_Modifier_Item_Blight_Stone : public CDOTA_Buff_Item -{ -public: - float corruption_duration; // 0x12b8 -private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Blight_Stone_Corruption : public CDOTA_Buff -{ -public: - int32_t corruption_armor; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_WindLace : public CDOTA_Buff_Item -{ -public: - int32_t movement_speed; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Tome_Of_Knowledge : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Tome_Of_Knowledge_Consumed : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 5 -// Size: 0x12d0 -class CDOTA_Modifier_Item_Hurricane_Pike : public CDOTA_Buff_Item -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Hurricane_Pike_Active : public CDOTA_Buff -{ -public: - float push_length; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Hurricane_Pike_Active_Alternate : public CDOTA_Buff -{ -public: - float enemy_length; // 0x12b8 -}; - -// Alignment: 5 -// Size: 0x12d0 -class CDOTA_Modifier_Hurricane_Pike_Range : public CDOTA_Buff -{ -public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 - int32_t max_attacks; // 0x12bc - int32_t m_iNumAttacks; // 0x12c0 - bool bActive; // 0x12c4 -private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 -public: - int32_t bonus_attack_speed; // 0x12c8 -}; - -// Alignment: 5 -// Size: 0x12d0 -class CDOTA_Modifier_Item_Infused_Raindrop : public CDOTA_Buff_Item -{ -public: - 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: 0x12c8 -class CDOTA_Modifier_Item_MeteorHammer : public CDOTA_Buff_Item -{ -public: - int32_t bonus_all_stats; // 0x12b8 - float bonus_health_regen; // 0x12bc - float bonus_mana_regen; // 0x12c0 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_MeteorHammer_Land : public CDOTA_Buff -{ -public: - int32_t impact_radius; // 0x12b8 - float land_time; // 0x12bc - float burn_duration; // 0x12c0 -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_Item_MeteorHammer_Burn : public CDOTA_Buff -{ -public: - int32_t burn_dps_buildings; // 0x12b8 - int32_t burn_dps_units; // 0x12bc - float burn_interval; // 0x12c0 - int32_t burn_slow; // 0x12c4 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Nullifier : public CDOTA_Buff_Item -{ -public: - int32_t bonus_armor; // 0x12b8 - int32_t bonus_regen; // 0x12bc - int32_t bonus_damage; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Nullifier_Mute : public CDOTA_Buff -{ -public: - float slow_interval_duration; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Nullifier_Slow : public CDOTA_Buff -{ -public: - int32_t slow_pct; // 0x12b8 -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Spirit_Vessel : public CDOTA_Buff_Item -{ -public: - int32_t bonus_health; // 0x12b8 - float bonus_mana_regen; // 0x12bc - float bonus_armor; // 0x12c0 - int32_t bonus_all_stats; // 0x12c4 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Spirit_Vessel_Heal : public CDOTA_Buff -{ -public: - int32_t soul_heal_amount; // 0x12b8 - float m_fHealingDone; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Spirit_Vessel_Damage : public CDOTA_Buff -{ -public: - int32_t hp_regen_reduction_enemy; // 0x12b8 - int32_t soul_damage_amount; // 0x12bc - float enemy_hp_drain; // 0x12c0 -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_Item_AeonDisk : public CDOTA_Buff_Item -{ -public: - int32_t bonus_health; // 0x12b8 - int32_t bonus_mana; // 0x12bc - int32_t health_threshold_pct; // 0x12c0 - float buff_duration; // 0x12c4 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_AeonDisk_Buff : public CDOTA_Buff -{ -public: - int32_t status_resistance; // 0x12b8 -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Kaya : public CDOTA_Buff_Item -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Item_Crown : public CDOTA_Buff_Item -{ -public: - int32_t bonus_all_stats; // 0x12b8 -}; - -// Alignment: 7 -// Size: 0x12d8 -class CDOTA_Modifier_Item_Holy_Locket : public CDOTA_Buff_Item -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Item_Holy_Locket_Aura : public CDOTA_Buff -{ -public: - float aura_health_regen; // 0x12b8 -}; - -// Alignment: 7 -// Size: 0x12d8 -class CDOTA_Modifier_Item_Kaya_And_Sange : public CDOTA_Buff_Item -{ -public: - 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: 0x12d8 -class CDOTA_Modifier_Item_Yasha_And_Kaya : public CDOTA_Buff_Item -{ -public: - 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: 0x12c8 -class CDOTA_Modifier_Yasha_And_Kaya_Maim : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Item_RingOfTarrasque : public CDOTA_Buff_Item -{ -public: - float bonus_health_regen; // 0x12b8 - int32_t bonus_health; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Diadem : public CDOTA_Buff_Item -{ -public: - int32_t bonus_all_stats; // 0x12b8 -}; - -// Alignment: 8 -// Size: 0x12d8 -class CDOTA_Modifier_Item_Blood_Grenade_Flight_Thinker : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Item_Blood_Grenade : public CDOTA_Buff_Item -{ -public: - int32_t bonus_health; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Blood_Grenade_Debuff : public CDOTA_Buff -{ -public: - int32_t movespeed_slow; // 0x12b8 - float damage_over_time; // 0x12bc -}; - -// Alignment: 7 -// Size: 0x12e8 -class CDOTA_Modifier_Item_Phylactery : public CDOTA_Buff_Item -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Item_Phylactery_Slow : public CDOTA_Buff -{ -public: - int32_t slow; // 0x12b8 -}; - -// Alignment: 9 -// Size: 0x12e0 -class CDOTA_Modifier_Item_Disperser : public CDOTA_Buff_Item -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Item_Disperser_Evasion_Buff : public CDOTA_Buff -{ -public: - int32_t purge_bonus_miss_rate; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Disperser_Attack_Debuff : public CDOTA_Buff -{ -public: - int32_t attack_speed_slow; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Disperser_Movespeed_Buff : public CDOTA_Buff -{ -public: - int32_t movement_speed_buff_rate; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Cornucopia : public CDOTA_Buff_Item -{ -public: - float bonus_health_regen; // 0x12b8 - float bonus_mana_regen; // 0x12bc - int32_t bonus_damage; // 0x12c0 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Pavise : public CDOTA_Buff_Item -{ -public: - int32_t bonus_armor; // 0x12b8 - float bonus_mana_regen; // 0x12bc - int32_t bonus_health; // 0x12c0 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Pavise_Shield : public CDOTA_Buff -{ -public: - int32_t absorb_amount; // 0x12b8 - int32_t m_nAbsorbRemaining; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Keen_Optic : public CDOTA_Buff_Item -{ -public: - float bonus_mana_regen; // 0x12b8 - int32_t cast_range_bonus; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12d8 -class CDOTA_Modifier_Item_Grove_Bow : public CDOTA_Buff_Item -{ -public: - int32_t attack_range_bonus; // 0x12b8 - int32_t attack_speed_bonus; // 0x12bc - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Grove_Bow_Debuff : public CDOTA_Buff -{ -public: - int32_t magic_resistance_reduction; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Quickening_Charm : public CDOTA_Buff_Item -{ -public: - int32_t bonus_cooldown; // 0x12b8 - int32_t bonus_health_regen; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Philosophers_Stone : public CDOTA_Buff_Item -{ -public: - int32_t bonus_mana; // 0x12b8 - int32_t bonus_gpm; // 0x12bc - int32_t bonus_damage; // 0x12c0 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Force_Boots : public CDOTA_Buff_Item -{ -public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t hp_regen; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Force_Boots : public CDOTA_Buff -{ -public: - int32_t push_length; // 0x12b8 - float push_duration; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12d8 -class CDOTA_Modifier_Item_Desolator_2 : public CDOTA_Buff_Item -{ -public: - int32_t bonus_damage; // 0x12b8 - float corruption_duration; // 0x12bc - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Desolator_2_Corruption : public CDOTA_Buff -{ -public: - int32_t corruption_armor; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Phoenix_Ash : public CDOTA_Buff_Item -{ -public: - int32_t health_pct; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Seer_Stone_Truesight : public CDOTA_Buff -{ -public: - int32_t radius; // 0x12b8 - float duration; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Seer_Stone : public CDOTA_Buff_Item -{ -public: - int32_t cast_range_bonus; // 0x12b8 - int32_t vision_bonus; // 0x12bc - int32_t mana_regen; // 0x12c0 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_ElixerHealing : public CDOTA_Buff -{ -public: - int32_t health; // 0x12b8 - int32_t mana; // 0x12bc - float duration; // 0x12c0 -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Vampire_Fangs : public CDOTA_Buff_Item -{ -public: - 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: 0x12c8 -class CDOTA_Modifier_Item_Craggy_Coat : public CDOTA_Buff_Item -{ -public: - int32_t armor_bonus; // 0x12b8 - int32_t attack_speed; // 0x12bc - int32_t bonus_health; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Greater_Faerie_Fire : public CDOTA_Buff_Item -{ -public: - int32_t bonus_damage; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Timeless_Relic : public CDOTA_Buff_Item -{ -public: - int32_t spell_amp; // 0x12b8 - int32_t debuff_amp; // 0x12bc -}; - -// Alignment: 4 -// Size: 0x14a0 -class CDOTA_Modifier_Item_Mirror_Shield : public CDOTA_Buff_Item -{ -public: - CModifierParams m_LastParams; // 0x12b8 - int32_t all_stats; // 0x1490 - int32_t reflect_chance; // 0x1494 - bool m_bProcSuccessful; // 0x1498 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Mirror_Shield_Delay : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Ironwood_tree : public CDOTA_Buff_Item -{ -public: - int32_t bonus_all_stats; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Royal_Jelly : public CDOTA_Buff -{ -public: - float health_regen; // 0x12b8 - float mana_regen; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Pupils_gift : public CDOTA_Buff_Item -{ -public: - int32_t secondary_stats; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Tome_of_Aghanim : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Repair_Kit : public CDOTA_Buff_Item -{ -public: - int32_t hp_regen; // 0x12b8 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Repair_Kit : public CDOTA_Buff -{ -public: - float health_regen; // 0x12b8 - int32_t armor_bonus; // 0x12bc - int32_t multishot_count; // 0x12c0 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Mind_Breaker : public CDOTA_Buff_Item -{ -public: - int32_t magic_damage; // 0x12b8 - int32_t attack_speed; // 0x12bc - float duration; // 0x12c0 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Third_Eye : public CDOTA_Buff -{ -public: - int32_t truesight_radius; // 0x12b8 - int32_t bonus_vision; // 0x12bc - int32_t bonus_all_stats; // 0x12c0 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Spell_Prism : public CDOTA_Buff_Item -{ -public: - int32_t bonus_all_stats; // 0x12b8 - int32_t bonus_cooldown; // 0x12bc - float mana_regen; // 0x12c0 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Spell_Prism_Active : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Fusion_runeHealing : public CDOTA_Buff -{ -public: - int32_t health_regen; // 0x12b8 - float m_fHealingDone; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Princes_Knife : public CDOTA_Buff_Item -{ -public: - float duration; // 0x12b8 - int32_t projectile_bonus; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Princes_Knife_Hex : public CDOTA_Modifier_Hexed -{ -public: - int32_t movespeed; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Spider_Legs : public CDOTA_Buff_Item -{ -public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t turn_rate; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Spider_Legs_Active : public CDOTA_Buff -{ -public: - int32_t bonus_movement_speed_active; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Helm_Of_The_Undying : public CDOTA_Buff_Item -{ -public: - int32_t bonus_armor; // 0x12b8 - float duration; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12e0 -class CDOTA_Modifier_Item_Mango_Tree : public CDOTA_Buff_Item -{ -public: - CHandle< C_BaseEntity > m_hTree; // 0x12b8 -private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc -public: - CountdownTimer m_Timer; // 0x12c0 - float seconds; // 0x12d8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 +public: + int32_t static_chance; // 0x12d0 + int32_t static_strikes; // 0x12d4 + int32_t static_damage; // 0x12d8 + int32_t static_primary_radius; // 0x12dc + int32_t static_seconary_radius; // 0x12e0 + int32_t static_radius; // 0x12e4 + float static_cooldown; // 0x12e8 + int32_t chain_damage_per_charge; // 0x12ec }; // Alignment: 7 // Size: 0x1300 -class CDOTA_Modifier_Passive_Mango_Tree : public CDOTA_Buff +class CDOTA_Modifier_MaelstromChain : public CDOTA_Buff { public: - 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 __pad12dc[0x4]; // 0x12dc -public: - CountdownTimer m_RespawnTimer; // 0x12e0 - int32_t m_nMangosAvailable; // 0x12f8 - int32_t m_nChannelCount; // 0x12fc -}; - -// Alignment: 2 -// Size: 0x12c0 -class Modifier_Pluck_Famango_Channel : public CDOTA_Buff -{ -public: - float famango_rate; // 0x12b8 - CHandle< C_BaseEntity > m_hMangoTree; // 0x12bc -}; - -// Alignment: 6 -// Size: 0x12d0 -class CDOTA_Modifier_Item_Vambrace : public CDOTA_Buff_Item -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Item_Witless_shako : public CDOTA_Buff_Item -{ -public: - int32_t max_health; // 0x12b8 - int32_t max_mana; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Imp_Claw : public CDOTA_Buff_Item -{ -public: - int32_t crit_multiplier; // 0x12b8 - int32_t bonus_damage; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Flicker : public CDOTA_Buff_Item -{ -public: - int32_t bonus_movement_speed; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Item_Flicker_Damaged : public CDOTA_Buff_Item -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Spy_Gadget_Aura : public CDOTA_Buff_Item -{ -public: - int32_t scan_cooldown_reduction; // 0x12b8 - int32_t aura_range; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Spy_Gadget : public CDOTA_Buff -{ -public: - int32_t attack_range; // 0x12b8 - int32_t cast_range; // 0x12bc -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Ocean_Heart : public CDOTA_Buff_Item -{ -public: - float water_hp_regen; // 0x12b8 - float water_mp_regen; // 0x12bc - int32_t all_stats; // 0x12c0 - bool m_bInRiver; // 0x12c4 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Broom_Handle : public CDOTA_Buff_Item -{ -public: - int32_t melee_attack_range; // 0x12b8 - int32_t bonus_armor; // 0x12bc - int32_t bonus_damage; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Trusty_Shovel : public CDOTA_Buff_Item -{ -public: - int32_t bonus_health; // 0x12b8 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Nether_Shawl : public CDOTA_Buff_Item -{ -public: - int32_t bonus_magic_resistance; // 0x12b8 - int32_t bonus_spell_amp; // 0x12bc - int32_t bonus_armor; // 0x12c0 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Dragon_Scale : public CDOTA_Buff_Item -{ -public: - int32_t bonus_armor; // 0x12b8 - int32_t bonus_hp_regen; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Dragon_Scale_Burn : public CDOTA_Buff -{ -public: - int32_t damage_per_sec; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Essence_Ring : public CDOTA_Buff_Item -{ -public: - int32_t bonus_int; // 0x12b8 - float mp_regen; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Essence_Ring_Active : public CDOTA_Buff -{ -public: - int32_t health_gain; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Clumsy_Net_Ensnare : public CDOTA_Modifier_Rooted -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Clumsy_Net : public CDOTA_Buff_Item -{ -public: - int32_t all_stats; // 0x12b8 - int32_t mana_regen; // 0x12bc -}; - -// Alignment: 4 -// Size: 0x12e0 -class CDOTA_Modifier_Item_Enchanted_Quiver : public CDOTA_Buff_Item -{ -public: - int32_t bonus_attack_range; // 0x12b8 - int32_t bonus_damage; // 0x12bc - int32_t active_bonus_attack_range; // 0x12c0 -private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Ninja_Gear : public CDOTA_Buff_Item -{ -public: - int32_t bonus_agility; // 0x12b8 - int32_t passive_movement_bonus; // 0x12bc -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Illusionsts_Cape_Marker : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Illusionsts_Cape : public CDOTA_Buff_Item -{ -public: - int32_t bonus_agi; // 0x12b8 - int32_t bonus_str; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Illusionists_Cape_Aura : public CDOTA_Buff -{ -public: - int32_t attack_damage_aura; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Havoc_Hammer : public CDOTA_Buff_Item -{ -public: - int32_t bonus_damage; // 0x12b8 - int32_t bonus_strength; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Havoc_Hammer_Slow : public CDOTA_Buff -{ -public: - int32_t slow; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Panic_Button : public CDOTA_Buff_Item -{ -public: - int32_t bonus_health; // 0x12b8 - float health_threshold; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Apex : public CDOTA_Buff_Item -{ -public: - int32_t primary_stat; // 0x12b8 - int32_t primary_stat_universal; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Ballista : public CDOTA_Buff_Item -{ -public: - int32_t attack_range_bonus; // 0x12b8 - float knockback_distance; // 0x12bc - float knockback_duration; // 0x12c0 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Woodland_Striders : public CDOTA_Buff_Item -{ -public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t bonus_hp_regen; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Woodland_Striders_Active : public CDOTA_Buff -{ -public: - float tree_duration; // 0x12b8 -}; - -// Alignment: 10 -// Size: 0x12e0 -class CDOTA_Modifier_Item_Trident : public CDOTA_Buff_Item -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Item_Demonicon : public CDOTA_Buff_Item -{ -public: - int32_t bonus_strength; // 0x12b8 - int32_t bonus_intellect; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Demonicon_Bonus : public CDOTA_Buff -{ -public: - int32_t hp_bonus; // 0x12b8 - int32_t damage_bonus; // 0x12bc -}; - -// Alignment: 5 -// Size: 0x12d0 -class CDOTA_Modifier_Item_Fallen_Sky : public CDOTA_Buff_Item -{ -public: - 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: 0x12c8 -class CDOTA_Modifier_Item_Fallen_Sky_Land : public CDOTA_Buff -{ -public: - int32_t impact_radius; // 0x12b8 - float land_time; // 0x12bc - float burn_duration; // 0x12c0 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Fallen_Sky_Burn : public CDOTA_Buff -{ -public: - int32_t burn_dps_buildings; // 0x12b8 - int32_t burn_dps_units; // 0x12bc - float burn_interval; // 0x12c0 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Pirate_Hat : public CDOTA_Buff_Item -{ -public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_ms; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Ex_Machina : public CDOTA_Buff_Item -{ -public: - int32_t bonus_armor; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Faded_Broach : public CDOTA_Buff_Item -{ -public: - int32_t bonus_mana; // 0x12b8 - int32_t bonus_movement_speed; // 0x12bc -}; - -// Alignment: 5 -// Size: 0x12d0 -class CDOTA_Modifier_Item_Paladin_Sword : public CDOTA_Buff_Item -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Minotaur_Horn_Immune : public CDOTA_Modifier_MagicImmune -{ -public: - int32_t model_scale; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Minotaur_Horn : public CDOTA_Buff_Item -{ -public: - int32_t bonus_strength; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12d8 -class CDOTA_Modifier_Item_Orb_Of_Destruction : public CDOTA_Buff_Item -{ -public: - float duration; // 0x12b8 -private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_Orb_Of_Destruction_Debuff : public CDOTA_Buff -{ -public: - int32_t armor_reduction; // 0x12b8 - int32_t slow_melee; // 0x12bc - int32_t slow_range; // 0x12c0 - bool bCasterRanged; // 0x12c4 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_The_Leveller : public CDOTA_Buff_Item -{ -public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_armor; // 0x12bc - int32_t demolish; // 0x12c0 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Arcane_Ring : public CDOTA_Buff_Item -{ -public: - int32_t bonus_armor; // 0x12b8 - int32_t bonus_intelligence; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Titan_Sliver : public CDOTA_Buff_Item -{ -public: - int32_t base_attack_damage; // 0x12b8 - int32_t magic_resistance; // 0x12bc - int32_t status_resistance; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Voodoo_Mask : public CDOTA_Buff_Item -{ -public: - float spell_lifesteal; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifer_Item_Blitz_Knuckles : public CDOTA_Buff_Item -{ -public: - int32_t bonus_attack_speed; // 0x12b8 -}; - -// Alignment: 6 -// Size: 0x12e8 -class CDOTA_Modifier_Item_Witch_Blade : public CDOTA_Buff_Item -{ -public: - 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 __pad12cc[0x4]; // 0x12cc -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Witch_Blade_Slow : public CDOTA_Buff -{ -public: - int32_t slow; // 0x12b8 - float int_damage_multiplier; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_MaskOfDispair : public CDOTA_Buff_Item -{ -public: - int32_t bonus_strength; // 0x12b8 - float bonus_armor; // 0x12bc - int32_t spell_lifesteal; // 0x12c0 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_MaskOfDispair_Berserk : public CDOTA_Buff -{ -public: - int32_t berserk_spell_amp; // 0x12b8 - int32_t berserk_manacost_reduction; // 0x12bc - int32_t berserk_magic_resistance; // 0x12c0 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Chipped_Vest : public CDOTA_Buff_Item -{ -public: - float hp_regen; // 0x12b8 - int32_t damage_return_hero; // 0x12bc - int32_t damage_return_creep; // 0x12c0 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Cloak_Of_Flames : public CDOTA_Buff_Item -{ -public: - int32_t armor; // 0x12b8 - int32_t magic_resistance; // 0x12bc - int32_t radius; // 0x12c0 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Cloak_Of_Flames_Debuff : public CDOTA_Buff -{ -public: - int32_t damage; // 0x12b8 - int32_t damage_illusions; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Elven_Tunic : public CDOTA_Buff_Item -{ -public: - int32_t attack_speed; // 0x12b8 - int32_t evasion; // 0x12bc - int32_t movment; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Gloves_Of_Travel : public CDOTA_Buff_Item -{ -public: - int32_t attack_speed; // 0x12b8 -}; - -// Alignment: 3 -// Size: 0x12d8 -class CDOTA_Modifier_Item_Orb_Of_Corrosion : public CDOTA_Buff_Item -{ -public: - int32_t health_bonus; // 0x12b8 - float duration; // 0x12bc - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 -}; - -// Alignment: 5 -// Size: 0x12d0 -class CDOTA_Modifier_Orb_Of_Corrosion_Debuff : public CDOTA_Buff -{ -public: - int32_t armor; // 0x12b8 - int32_t slow_melee; // 0x12bc - int32_t slow_range; // 0x12c0 - bool bCasterRanged; // 0x12c4 -private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 -public: - int32_t damage; // 0x12c8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Sorcerers_Staff : public CDOTA_Buff_Item -{ -public: - int32_t mana_regen_amp; // 0x12b8 - int32_t spell_amp_creeps; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Trickster_Cloak : public CDOTA_Buff_Item -{ -public: - int32_t evasion; // 0x12b8 - int32_t magic_resistance; // 0x12bc - float debuff_limit; // 0x12c0 -}; - -// Alignment: 0 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Trickster_Cloak_Invis : public CDOTA_Modifier_Invisible -{ -public: - // No members available -}; - -// Alignment: 4 -// Size: 0x12e0 -class CDOTA_Modifier_Item_Venom_Gland : public CDOTA_Buff_Item -{ -public: - int32_t primary_attribute; // 0x12b8 - int32_t debuff_amp; // 0x12bc - float duration; // 0x12c0 -private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Venom_Gland_Debuff : public CDOTA_Buff -{ -public: - int32_t damage; // 0x12b8 - int32_t degen; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Wizard_Glass : public CDOTA_Buff_Item -{ -public: - int32_t debuff_amp; // 0x12b8 - int32_t cooldown_reduction; // 0x12bc -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Item_Gladiator_Helm : public CDOTA_Buff_Item -{ -public: - // No members available -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Gladiator_Helm_Buff : public CDOTA_Buff -{ -public: - int32_t damage; // 0x12b8 - int32_t armor; // 0x12bc - int32_t movement_speed; // 0x12c0 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Possessed_Mask : public CDOTA_Buff_Item -{ -public: - int32_t primary_attribute; // 0x12b8 - int32_t lifesteal; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12d8 -class CDOTA_Modifier_Item_AssassinsDagger : public CDOTA_Buff_Item -{ -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 - int32_t debuff_duration; // 0x12d0 - int32_t bonus_attack_speed; // 0x12d4 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Assassins_Dagger_Debuff : public CDOTA_Buff -{ -public: - int32_t armor_debuff; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_AsceticCap : public CDOTA_Buff_Item -{ -public: - int32_t bonus_health; // 0x12b8 - float hp_regen; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_AsceticCapBuff : public CDOTA_Buff -{ -public: - int32_t status_resistance; // 0x12b8 - int32_t slow_resistance; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_SamplePicker : public CDOTA_Buff_Item -{ -public: - int32_t base_gold; // 0x12b8 - int32_t gold_per_level; // 0x12bc - int32_t strength_penalty; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_IcarusWings : public CDOTA_Buff_Item -{ -public: - float move_speed; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_IcarusWingsBuff : public CDOTA_Buff_Item -{ -public: - int32_t status_resistance; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_IcarusWingsDebuff : public CDOTA_Buff_Item -{ -public: - int32_t slow; // 0x12b8 -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Dynamite_Jacket : public CDOTA_Buff_Item -{ -public: - int32_t bonus_armor; // 0x12b8 - int32_t radius; // 0x12bc - int32_t damage; // 0x12c0 - float blind_duration; // 0x12c4 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Jacket_Blind : public CDOTA_Buff -{ -public: - float blind_pct; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Tree_Processor : public CDOTA_Buff_Item -{ -public: - int32_t bonus_int; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Tree_Processor_Speed : public CDOTA_Buff_Item -{ -public: - int32_t health_per_tree; // 0x12b8 - int32_t hp_bonus; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Heavy_Blade : public CDOTA_Buff_Item -{ -public: - float damage; // 0x12b8 - int32_t attack_speed; // 0x12bc -}; - -// Alignment: 5 -// Size: 0x12d0 -class CDOTA_Modifier_Item_Mechanical_Arm : public CDOTA_Buff_Item -{ -public: - bool m_bAppliesToCreeps; // 0x12b8 -private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 -public: - float bat; // 0x12bc - float stun_duration; // 0x12c0 - int32_t stun_chance; // 0x12c4 - int32_t m_nAttack; // 0x12c8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Mechanical_Arm_Counter : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Fortitude_Ring : public CDOTA_Buff_Item -{ -public: - int32_t bonus_health; // 0x12b8 - float hp_regen; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Fortitude_Ring_Active : public CDOTA_Buff -{ -public: - int32_t damage_reduction; // 0x12b8 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_PogoStick : public CDOTA_Buff_Item -{ -public: - int32_t bonus_health; // 0x12b8 - int32_t bonus_mana; // 0x12bc - int32_t bonus_intellect; // 0x12c0 -}; - -// Alignment: 6 -// Size: 0x12d0 -class CDOTA_Modifier_Pogo_Stick_Active : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Item_Paintball : public CDOTA_Buff_Item -{ -public: - int32_t movespeed; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Paintball_Debuff : public CDOTA_Buff -{ -public: - int32_t dps; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_UnstableWand : public CDOTA_Buff_Item -{ -public: - int32_t all_stats; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Item_UnstableWand_Critter : public CDOTA_Modifier_Hexed -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_LightRobes : public CDOTA_Buff_Item -{ -public: - int32_t health_penalty; // 0x12b8 - int32_t attack_speed; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Force_Field_Bonus_Aura : public CDOTA_Buff -{ -public: - int32_t bonus_aoe_radius; // 0x12b8 -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Item_Force_Field_Bonus : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Force_Field : public CDOTA_Buff_Item -{ -public: - bool m_bAppliesToCreeps; // 0x12b8 -private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 -public: - int32_t bonus_aoe_radius; // 0x12bc - int32_t self_armor; // 0x12c0 - int32_t self_mres; // 0x12c4 -}; - -// Alignment: 6 -// Size: 0x12d0 -class CDOTA_Modifier_Item_Force_Field_Effect : public CDOTA_Buff -{ -public: - 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: 0x12c8 -class CDOTA_Modifier_Item_Misericorde : public CDOTA_Buff_Item -{ -public: - int32_t bonus_damage; // 0x12b8 - int32_t missing_hp; // 0x12bc - int32_t damage; // 0x12c0 - int32_t aspd; // 0x12c4 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Ancient_Perseverance : public CDOTA_Buff_Item -{ -public: - int32_t damage; // 0x12b8 - int32_t hp_regen; // 0x12bc - int32_t mana_regen_amp; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Oakheart : public CDOTA_Buff_Item -{ -public: - int32_t strength; // 0x12b8 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Oakheart_Healing : public CDOTA_Buff -{ -public: - int32_t heal; // 0x12b8 - float duration; // 0x12bc - float regen; // 0x12c0 + int32_t chain_radius; // 0x12c8 + int32_t chain_strikes; // 0x12cc + int32_t chain_damage; // 0x12d0 + float chain_delay; // 0x12d4 + int32_t m_iCurJumpCount; // 0x12d8 + Vector m_vCurTargetLoc; // 0x12dc + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12e8 }; // Alignment: 8 -// Size: 0x12d8 -class CDOTA_Modifier_Item_Stormcrafter : public CDOTA_Buff_Item -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Stormcrafter_Slow : public CDOTA_Buff -{ -public: - int32_t slow; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Overflowing_Elixir_Regen : public CDOTA_Buff -{ -public: - int32_t health; // 0x12b8 - int32_t mana; // 0x12bc -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Mysterious_Hat : public CDOTA_Buff_Item -{ -public: - int32_t bonus_health; // 0x12b8 - int32_t spell_amp; // 0x12bc - int32_t manacost_reduction; // 0x12c0 -}; - -// Alignment: 6 -// Size: 0x12d0 -class CDOTA_Modifier_Item_Orb_of_Pestilence : 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; // 0x12c4 - int32_t armor; // 0x12c8 - float hp_regen; // 0x12cc -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Orb_of_Pestilence_Slow : public CDOTA_Buff -{ -public: - float duration; // 0x12b8 - int32_t slow; // 0x12bc - float damage; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Fluffy_Hat : public CDOTA_Buff_Item -{ -public: - int32_t bonus_health; // 0x12b8 -}; - -// Alignment: 6 -// Size: 0x12d0 -class CDOTA_Modifier_Item_Falcon_Blade : public CDOTA_Buff_Item -{ -public: - 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: 0x12d0 -class CDOTA_Modifier_Item_Mage_Slayer : public CDOTA_Buff_Item -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Item_Mage_Slayer_Debuff : public CDOTA_Buff -{ -public: - int32_t spell_amp_debuff; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Overwhelming_Blink : public CDOTA_Buff_Item -{ -public: - int32_t bonus_strength; // 0x12b8 - float blink_damage_cooldown; // 0x12bc -}; - -// Alignment: 0 -// Size: 0x12c0 -class CDOTA_Modifier_Item_SuperOverwhelming_Blink : public CDOTA_Modifier_Item_Overwhelming_Blink -{ -public: - // No members available -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Overwhelming_Blink_Debuff : public CDOTA_Buff -{ -public: - float caster_strength; // 0x12b8 - int32_t movement_slow; // 0x12bc - int32_t attack_slow; // 0x12c0 - float damage_pct_over_time; // 0x12c4 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Swift_Blink : public CDOTA_Buff_Item -{ -public: - float blink_damage_cooldown; // 0x12b8 - int32_t bonus_agility; // 0x12bc -}; - -// Alignment: 0 -// Size: 0x12c0 -class CDOTA_Modifier_Item_SuperSwift_Blink : public CDOTA_Modifier_Item_Swift_Blink -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Swift_Blink_Buff : public CDOTA_Buff -{ -public: - int32_t bonus_movement; // 0x12b8 - int32_t bonus_agi_active; // 0x12bc -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Arcane_Blink : public CDOTA_Buff_Item -{ -public: - float blink_damage_cooldown; // 0x12b8 - int32_t bonus_intellect; // 0x12bc -}; - -// Alignment: 0 -// Size: 0x12c0 -class CDOTA_Modifier_Item_SuperArcane_Blink : public CDOTA_Modifier_Item_Arcane_Blink -{ -public: - // No members available -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Arcane_Blink_Buff : public CDOTA_Buff -{ -public: - 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: 0x12d0 -class CDOTA_Modifier_Item_Wind_Waker : public CDOTA_Buff_Item -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_Wind_Waker : public CDOTA_Buff -{ -public: - CHandle< C_BaseEntity > m_hBlocker; // 0x12b8 - GameTime_t m_flStartTime; // 0x12bc -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Eul_Wind_Waker_Thinker : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x12b8 -class CDOTA_Modifier_Aghanims_Shard : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Item_Eternal_Shroud_Barrier : public CDOTA_Buff -{ -public: - int32_t barrier_block; // 0x12b8 - int32_t barrier_amount; // 0x12bc -}; - -// Alignment: 5 -// Size: 0x12d0 -class CDOTA_Modifier_Item_Eternal_Shroud : public CDOTA_Buff_Item -{ -public: - 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: 0x12d0 -class CDOTA_Modifier_Item_Star_Mace : public CDOTA_Buff_Item -{ -public: - 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: 0x12c8 -class CDOTA_Modifier_Item_Penta_Edged_Sword : public CDOTA_Buff_Item -{ -public: - int32_t damage; // 0x12b8 - int32_t maim_chance; // 0x12bc - float maim_duration; // 0x12c0 - int32_t melee_attack_range; // 0x12c4 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Penta_Edged_Sword_Maim : public CDOTA_Buff -{ -public: - int32_t maim_slow_movement; // 0x12b8 - int32_t maim_slow_attack; // 0x12bc -}; - -// Alignment: 7 -// Size: 0x12f0 -class CDOTA_Modifier_GungirChain : 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: 12 // Size: 0x1310 -class CDOTA_Modifier_Item_Gungir : public CDOTA_Buff_Item +class CDOTA_Modifier_Item_Maelstrom : public CDOTA_Buff_Item { public: - 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 bonus_damage; // 0x12c8 int32_t chain_chance; // 0x12cc int32_t chain_strikes; // 0x12d0 int32_t chain_damage; // 0x12d4 @@ -34086,8 +31361,2798 @@ public: CountdownTimer m_ChainTimer; // 0x12f8 }; +// Alignment: 6 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Diffusal_Blade : public CDOTA_Buff_Item +{ +public: + int32_t bonus_agility; // 0x12c8 + int32_t bonus_intellect; // 0x12cc + float damage_per_burn; // 0x12d0 + int32_t feedback_mana_burn; // 0x12d4 + int32_t feedback_mana_burn_illusion_melee; // 0x12d8 + int32_t feedback_mana_burn_illusion_ranged; // 0x12dc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Diffusal_Blade_Slow : public CDOTA_Buff +{ +public: + int32_t purge_rate; // 0x12c8 +}; + +// Alignment: 6 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Ethereal_Blade : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x12c8 + int32_t bonus_agility; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + int32_t spell_amp; // 0x12d4 + int32_t spell_lifesteal_amp; // 0x12d8 + int32_t mana_regen_multiplier; // 0x12dc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Ethereal_Blade_Ethereal : public CDOTA_Buff +{ +public: + int32_t ethereal_damage_bonus; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Ethereal_Blade_Slow : public CDOTA_Buff +{ +public: + int32_t blast_movement_slow; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Soul_Ring : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x12c8 + float bonus_armor; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Soul_Ring_Buff : public CDOTA_Buff +{ +public: + int32_t m_iTempExtraMaxMana; // 0x12c8 + int32_t m_iManaToRemove; // 0x12cc + float duration; // 0x12d0 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Necronomicon : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x12c8 + float bonus_mana_regen; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Necronomicon_2 : public CDOTA_Buff_Item +{ +public: + float bonus_mana_regen; // 0x12c8 + int32_t bonus_strength; // 0x12cc + int32_t aura_radius; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Necronomicon_3 : public CDOTA_Buff_Item +{ +public: + float bonus_mana_regen; // 0x12c8 + int32_t bonus_strength; // 0x12cc + int32_t aura_radius; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Necronomicon_Mana_Aura : public CDOTA_Buff +{ +public: + float aura_mana_regen; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Necronomicon_Mana_Aura_2 : public CDOTA_Buff +{ +public: + float aura_mana_regen; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Necronomicon_Mana_Aura_3 : public CDOTA_Buff +{ +public: + float aura_mana_regen; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Necronomicon_Warrior_ManaBurn : public CDOTA_Buff +{ +public: + int32_t burn_amount; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Necronomicon_Warrior_LastWill : public CDOTA_Buff +{ +public: + int32_t explosion; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Necronomicon_Warrior_Sight : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Necronomicon_Archer_Purge : public CDOTA_Buff +{ +public: + int32_t purge_rate; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Necronomicon_Archer_AoE : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Necronomicon_Archer_Aura : public CDOTA_Buff +{ +public: + int32_t ms_bonus; // 0x12c8 +}; + +// Alignment: 7 +// Size: 0x12e8 +class CDOTA_Modifier_Royale_With_Cheese : public CDOTA_Buff +{ +public: + float shield; // 0x12c8 + float regen; // 0x12cc + float idle; // 0x12d0 + int32_t m_nDamageAbsorbed; // 0x12d4 + GameTime_t m_timeLastTick; // 0x12d8 + GameTime_t m_timeLastDamage; // 0x12dc + ParticleIndex_t nFXIndex; // 0x12e0 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Arcane_Boots : public CDOTA_Buff_Item +{ +public: + int32_t bonus_movement; // 0x12c8 + int32_t bonus_mana; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_ArcaneBoots_ManaRegen : public CDOTA_Buff +{ +public: + float value; // 0x12c8 +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Orb_of_Venom : public CDOTA_Buff_Item +{ +public: + int32_t poison_movement_speed_melee; // 0x12c8 + int32_t poison_movement_speed_range; // 0x12cc + float poison_duration; // 0x12d0 + float poison_damage_melee; // 0x12d4 + float poison_damage_range; // 0x12d8 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Orb_of_Venom_Slow : public CDOTA_Buff +{ +public: + float duration; // 0x12c8 + float slow; // 0x12cc + float damage; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Ancient_Janggo : public CDOTA_Buff_Item +{ +public: + int32_t radius; // 0x12c8 + int32_t bonus_str; // 0x12cc + int32_t bonus_int; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Ancient_Janggo_Aura : public CDOTA_Buff +{ +public: + int32_t aura_movement_speed; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Ancient_Janggo_Active : public CDOTA_Buff +{ +public: + int32_t bonus_attack_speed_pct; // 0x12c8 + int32_t bonus_movement_speed_pct; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Medallion_Of_Courage : public CDOTA_Buff_Item +{ +public: + int32_t bonus_armor; // 0x12c8 + float bonus_mana_regen_pct; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Addition : public CDOTA_Buff +{ +public: + int32_t bonus_armor; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Reduction : public CDOTA_Buff +{ +public: + int32_t armor_reduction; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12e8 +class CDOTA_Modifier_Smoke_Of_Deceit : public CDOTA_Modifier_Invisible +{ +public: + int32_t bonus_movement_speed; // 0x12d8 + int32_t visibility_radius; // 0x12dc + int32_t secondary_application_radius; // 0x12e0 +}; + // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 +class CDOTA_Modifier_Smoke_Of_Deceit_Secondary_Application_Cooldown : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 6 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Veil_Of_Discord_Thinker : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t debuff_radius; // 0x12cc + float resist_debuff_duration; // 0x12d0 + int32_t m_nHeroesHit; // 0x12d4 + bool m_bHitInvisibleHero; // 0x12d8 + bool m_bFirstPulse; // 0x12d9 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Veil_Of_Discord : public CDOTA_Buff_Item +{ +public: + int32_t aura_radius; // 0x12c8 + int32_t bonus_all_stats; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Veil_Of_Discord_Mana : public CDOTA_Buff +{ +public: + float aura_mana_regen; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Veil_Of_Discord_Debuff : public CDOTA_Buff +{ +public: + int32_t spell_amp; // 0x12c8 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Item_HeavensHalberd : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x12c8 + int32_t hp_regen_amp; // 0x12cc + int32_t bonus_evasion; // 0x12d0 + int32_t status_resistance; // 0x12d4 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_HeavensHalberd_Debuff : public CDOTA_Buff +{ +public: + bool m_bPierceDebuffImmunity; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_RingOfAquila_Aura : public CDOTA_Buff_Item +{ +public: + bool m_bAppliesToCreeps; // 0x12c8 +private: + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 +public: + int32_t aura_radius; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_RingOfAquila_Aura_Bonus : public CDOTA_Buff +{ +public: + int32_t aura_bonus_armor; // 0x12c8 + float aura_mana_regen; // 0x12cc +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Item_RingOfAquila : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x12c8 + int32_t bonus_agility; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + int32_t bonus_armor; // 0x12d8 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_ShadowAmulet_Fade : public CDOTA_Buff +{ +public: + float fade_time; // 0x12c8 + GameTime_t m_flFadeTime; // 0x12cc + bool m_bFaded; // 0x12d0 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Moonshard : public CDOTA_Buff_Item +{ +public: + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_night_vision; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Moonshard_Consumed : public CDOTA_Buff +{ +public: + int32_t consumed_bonus; // 0x12c8 + int32_t consumed_bonus_night_vision; // 0x12cc +}; + +// Alignment: 8 +// Size: 0x1300 +class CDOTA_Modifier_Item_Silver_Edge : public CDOTA_Buff_Item +{ +public: + int32_t bonus_intellect; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_attack_speed; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + int32_t crit_chance; // 0x12d8 + int32_t crit_multiplier; // 0x12dc + float backstab_duration; // 0x12e0 +private: + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e8 +}; + +// Alignment: 2 +// Size: 0x12e0 +class CDOTA_Modifier_Silver_Edge_WindWalk : public CDOTA_Modifier_Invisible +{ +public: + int32_t windwalk_bonus_damage; // 0x12d8 + int32_t windwalk_movement_speed; // 0x12dc +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Silver_Edge_Debuff : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Item_GlimmerCape_Building_Limit : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_GlimmerCape : public CDOTA_Buff_Item +{ +public: + int32_t bonus_magical_armor; // 0x12c8 +}; + +// Alignment: 8 +// Size: 0x12e8 +class CDOTA_Modifier_GlimmerCape_Fade : public CDOTA_Buff +{ +public: + int32_t active_movement_speed; // 0x12c8 + int32_t barrier_block; // 0x12cc + int32_t barrier_amount; // 0x12d0 + float initial_fade_delay; // 0x12d4 + float secondary_fade_delay; // 0x12d8 + float m_flFadeTime; // 0x12dc + float m_flCurentFadeDelay; // 0x12e0 + GameTime_t m_flLastActionTime; // 0x12e4 +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Solar_Crest : public CDOTA_Buff_Item +{ +public: + float bonus_mana_regen_pct; // 0x12c8 + int32_t bonus_armor; // 0x12cc + int32_t bonus_all_stats; // 0x12d0 + int32_t self_movement_speed; // 0x12d4 + ParticleIndex_t nFXIndex; // 0x12d8 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Solar_Crest_Armor_Addition : public CDOTA_Buff +{ +public: + int32_t target_armor; // 0x12c8 + int32_t target_attack_speed; // 0x12cc + int32_t target_movement_speed; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Solar_Crest_Armor_Reduction : public CDOTA_Buff +{ +public: + int32_t target_armor; // 0x12c8 + int32_t target_attack_speed; // 0x12cc + int32_t target_movement_speed; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Ward_Dispenser : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Ward_Delay : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Ward_Maker : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x12c8 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Guardian_Greaves : public CDOTA_Buff_Item +{ +public: + int32_t bonus_movement; // 0x12c8 + int32_t bonus_mana; // 0x12cc + int32_t bonus_armor; // 0x12d0 + int32_t aura_radius; // 0x12d4 +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Guardian_Greaves_Aura : public CDOTA_Buff +{ +public: + float aura_health_regen; // 0x12c8 + float aura_armor; // 0x12cc + float aura_health_regen_bonus; // 0x12d0 + float aura_armor_bonus; // 0x12d4 + int32_t aura_bonus_threshold; // 0x12d8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Enchanted_Mango : public CDOTA_Buff_Item +{ +public: + float hp_regen; // 0x12c8 +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Lotus_Orb : public CDOTA_Buff_Item +{ +public: + float bonus_health_regen; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_armor; // 0x12d0 + int32_t bonus_mana; // 0x12d4 + float block_cooldown; // 0x12d8 +}; + +// Alignment: 1 +// Size: 0x14a0 +class CDOTA_Modifier_Item_Lotus_Orb_Active : public CDOTA_Buff +{ +public: + CModifierParams m_LastParams; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Lotus_Orb_Delay : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 6 +// Size: 0x12e8 +class CDOTA_Modifier_Item_Lotus_Orb_ChannelCheck : public CDOTA_Buff +{ +public: + CHandle< C_BaseEntity > m_hAbility; // 0x12c8 + CHandle< C_BaseEntity > m_hTarget; // 0x12cc + Vector m_vLocation; // 0x12d0 + GameTime_t m_fChannelEnd; // 0x12dc + bool m_bInterrupt; // 0x12e0 + bool m_bExpired; // 0x12e1 +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Octarine_Core : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x12c8 + int32_t bonus_mana; // 0x12cc + float bonus_cooldown; // 0x12d0 + float bonus_health_regen; // 0x12d4 + float bonus_mana_regen; // 0x12d8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Faerie_Fire : public CDOTA_Buff_Item +{ +public: + int32_t bonus_damage; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_DragonLance : public CDOTA_Buff_Item +{ +public: + int32_t bonus_agility; // 0x12c8 + int32_t bonus_strength; // 0x12cc + int32_t base_attack_range; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Aether_Lens : public CDOTA_Buff_Item +{ +public: + int32_t bonus_mana; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t cast_range_bonus; // 0x12d0 +}; + +// Alignment: 8 +// Size: 0x12e8 +class CDOTA_Modifier_Halo : public CDOTA_Buff_Item +{ +public: + int32_t bonus_all_stats; // 0x12c8 + int32_t bonus_health; // 0x12cc + int32_t bonus_mana; // 0x12d0 + float bonus_mana_regen; // 0x12d4 + float slow_duration; // 0x12d8 + int32_t cast_range_bonus; // 0x12dc + int32_t aoe_bonus; // 0x12e0 + int32_t bonus_spell_damage; // 0x12e4 +}; + +// Alignment: 8 +// Size: 0x12e8 +class CDOTA_Modifier_Aetherial_Halo : public CDOTA_Buff_Item +{ +public: + int32_t bonus_all_stats; // 0x12c8 + int32_t bonus_health; // 0x12cc + int32_t bonus_mana; // 0x12d0 + float bonus_mana_regen; // 0x12d4 + float slow_duration; // 0x12d8 + int32_t cast_range_bonus; // 0x12dc + int32_t aoe_bonus; // 0x12e0 + int32_t bonus_spell_damage; // 0x12e4 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Iron_Talon : public CDOTA_Buff_Item +{ +public: + int32_t bonus_attack_speed; // 0x12c8 + float bonus_armor; // 0x12cc +}; + +// Alignment: 9 +// Size: 0x12f0 +class CDOTA_Modifier_Item_Bloodthorn : public CDOTA_Buff_Item +{ +public: + int32_t bonus_intellect; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_damage; // 0x12d0 + int32_t bonus_attack_speed; // 0x12d4 + int32_t spell_amp; // 0x12d8 + int32_t mana_regen_multiplier; // 0x12dc + int32_t bonus_magic_resist; // 0x12e0 + float duration; // 0x12e4 + float bonus_health_regen; // 0x12e8 +}; + +// Alignment: 4 +// Size: 0x12f0 +class CDOTA_Modifier_Bloodthorn_Debuff : public CDOTA_Buff +{ +public: + float target_crit_multiplier; // 0x12c8 + float silence_damage_percent; // 0x12cc + float m_flDamageTaken; // 0x12d0 +private: + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 +public: + CUtlVector< int16 > m_vRecords; // 0x12d8 +}; + +// Alignment: 7 +// Size: 0x12e8 +class CDOTA_Modifier_Item_EchoSabre : public CDOTA_Buff_Item +{ +public: + int32_t bonus_intellect; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t bonus_damage; // 0x12d0 + float bonus_mana_regen; // 0x12d4 + int32_t bonus_strength; // 0x12d8 + float slow_duration; // 0x12dc + bool bonus_speed; // 0x12e0 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_EchoSabre_Debuff : public CDOTA_Buff +{ +public: + int32_t movement_slow; // 0x12c8 + int32_t attack_speed_slow; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12e8 +class CDOTA_Modifier_Item_Blight_Stone : public CDOTA_Buff_Item +{ +public: + float corruption_duration; // 0x12c8 +private: + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Blight_Stone_Corruption : public CDOTA_Buff +{ +public: + int32_t corruption_armor; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_WindLace : public CDOTA_Buff_Item +{ +public: + int32_t movement_speed; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Tome_Of_Knowledge : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Tome_Of_Knowledge_Consumed : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Hurricane_Pike : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x12c8 + int32_t bonus_intellect; // 0x12cc + int32_t bonus_agility; // 0x12d0 + int32_t bonus_strength; // 0x12d4 + int32_t base_attack_range; // 0x12d8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Hurricane_Pike_Active : public CDOTA_Buff +{ +public: + float push_length; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Hurricane_Pike_Active_Alternate : public CDOTA_Buff +{ +public: + float enemy_length; // 0x12c8 +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Hurricane_Pike_Range : public CDOTA_Buff +{ +public: + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + int32_t max_attacks; // 0x12cc + int32_t m_iNumAttacks; // 0x12d0 + bool bActive; // 0x12d4 +private: + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 +public: + int32_t bonus_attack_speed; // 0x12d8 +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Infused_Raindrop : public CDOTA_Buff_Item +{ +public: + float mana_regen; // 0x12c8 + float bonus_armor; // 0x12cc + int32_t bonus_magical_armor; // 0x12d0 + int32_t magic_damage_block; // 0x12d4 + int32_t min_damage; // 0x12d8 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_MeteorHammer : public CDOTA_Buff_Item +{ +public: + int32_t bonus_all_stats; // 0x12c8 + float bonus_health_regen; // 0x12cc + float bonus_mana_regen; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_MeteorHammer_Land : public CDOTA_Buff +{ +public: + int32_t impact_radius; // 0x12c8 + float land_time; // 0x12cc + float burn_duration; // 0x12d0 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Item_MeteorHammer_Burn : public CDOTA_Buff +{ +public: + int32_t burn_dps_buildings; // 0x12c8 + int32_t burn_dps_units; // 0x12cc + float burn_interval; // 0x12d0 + int32_t burn_slow; // 0x12d4 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Nullifier : public CDOTA_Buff_Item +{ +public: + int32_t bonus_armor; // 0x12c8 + int32_t bonus_regen; // 0x12cc + int32_t bonus_damage; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Nullifier_Mute : public CDOTA_Buff +{ +public: + float slow_interval_duration; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Nullifier_Slow : public CDOTA_Buff +{ +public: + int32_t slow_pct; // 0x12c8 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Spirit_Vessel : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x12c8 + float bonus_mana_regen; // 0x12cc + float bonus_armor; // 0x12d0 + int32_t bonus_all_stats; // 0x12d4 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Spirit_Vessel_Heal : public CDOTA_Buff +{ +public: + int32_t soul_heal_amount; // 0x12c8 + float m_fHealingDone; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Spirit_Vessel_Damage : public CDOTA_Buff +{ +public: + int32_t hp_regen_reduction_enemy; // 0x12c8 + int32_t soul_damage_amount; // 0x12cc + float enemy_hp_drain; // 0x12d0 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Item_AeonDisk : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x12c8 + int32_t bonus_mana; // 0x12cc + int32_t health_threshold_pct; // 0x12d0 + float buff_duration; // 0x12d4 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_AeonDisk_Buff : public CDOTA_Buff +{ +public: + int32_t status_resistance; // 0x12c8 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Kaya : public CDOTA_Buff_Item +{ +public: + int32_t bonus_intellect; // 0x12c8 + int32_t spell_amp; // 0x12cc + int32_t mana_regen_multiplier; // 0x12d0 + int32_t spell_lifesteal_amp; // 0x12d4 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Crown : public CDOTA_Buff_Item +{ +public: + int32_t bonus_all_stats; // 0x12c8 +}; + +// Alignment: 7 +// Size: 0x12e8 +class CDOTA_Modifier_Item_Holy_Locket : public CDOTA_Buff_Item +{ +public: + int32_t aura_radius; // 0x12c8 + int32_t bonus_health; // 0x12cc + int32_t bonus_mana; // 0x12d0 + int32_t heal_increase; // 0x12d4 + int32_t charge_radius; // 0x12d8 + int32_t max_charges; // 0x12dc + int32_t bonus_all_stats; // 0x12e0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Holy_Locket_Aura : public CDOTA_Buff +{ +public: + float aura_health_regen; // 0x12c8 +}; + +// Alignment: 7 +// Size: 0x12e8 +class CDOTA_Modifier_Item_Kaya_And_Sange : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x12c8 + int32_t hp_regen_amp; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + int32_t spell_amp; // 0x12d4 + int32_t mana_regen_multiplier; // 0x12d8 + int32_t status_resistance; // 0x12dc + int32_t spell_lifesteal_amp; // 0x12e0 +}; + +// Alignment: 7 +// Size: 0x12e8 +class CDOTA_Modifier_Item_Yasha_And_Kaya : public CDOTA_Buff_Item +{ +public: + int32_t bonus_agility; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t movement_speed_percent_bonus; // 0x12d0 + int32_t bonus_intellect; // 0x12d4 + int32_t spell_amp; // 0x12d8 + int32_t mana_regen_multiplier; // 0x12dc + int32_t spell_lifesteal_amp; // 0x12e0 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Yasha_And_Kaya_Maim : public CDOTA_Buff +{ +public: + int32_t maim_slow_movement; // 0x12c8 + int32_t maim_slow_attack; // 0x12cc + int32_t maim_slow_movement_range; // 0x12d0 + int32_t maim_slow_attack_range; // 0x12d4 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_RingOfTarrasque : public CDOTA_Buff_Item +{ +public: + float bonus_health_regen; // 0x12c8 + int32_t bonus_health; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Diadem : public CDOTA_Buff_Item +{ +public: + int32_t bonus_all_stats; // 0x12c8 +}; + +// Alignment: 8 +// Size: 0x12e8 +class CDOTA_Modifier_Item_Blood_Grenade_Flight_Thinker : public CDOTA_Buff +{ +public: + int32_t speed; // 0x12c8 + int32_t radius; // 0x12cc + int32_t damage_over_time; // 0x12d0 + int32_t impact_damage; // 0x12d4 + float debuff_duration; // 0x12d8 + int32_t movespeed_slow; // 0x12dc + float tick_rate; // 0x12e0 + ParticleIndex_t m_nFXIndex; // 0x12e4 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Blood_Grenade : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Blood_Grenade_Debuff : public CDOTA_Buff +{ +public: + int32_t movespeed_slow; // 0x12c8 + float damage_over_time; // 0x12cc +}; + +// Alignment: 7 +// Size: 0x12f8 +class CDOTA_Modifier_Item_Phylactery : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x12c8 + int32_t bonus_mana; // 0x12cc + float bonus_mana_regen; // 0x12d0 + int32_t bonus_spell_damage; // 0x12d4 + float slow_duration; // 0x12d8 + int32_t bonus_all_stats; // 0x12dc + CUtlVector< C_DOTABaseAbility* > vecActivatedAbilities; // 0x12e0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Phylactery_Slow : public CDOTA_Buff +{ +public: + int32_t slow; // 0x12c8 +}; + +// Alignment: 9 +// Size: 0x12f0 +class CDOTA_Modifier_Item_Disperser : public CDOTA_Buff_Item +{ +public: + int32_t bonus_agility; // 0x12c8 + int32_t bonus_intellect; // 0x12cc + int32_t bonus_attack_speed; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + float bonus_mana_regen; // 0x12d8 + float damage_per_burn; // 0x12dc + int32_t feedback_mana_burn; // 0x12e0 + int32_t feedback_mana_burn_illusion_melee; // 0x12e4 + int32_t feedback_mana_burn_illusion_ranged; // 0x12e8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Disperser_Evasion_Buff : public CDOTA_Buff +{ +public: + int32_t purge_bonus_miss_rate; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Disperser_Attack_Debuff : public CDOTA_Buff +{ +public: + int32_t attack_speed_slow; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Disperser_Movespeed_Buff : public CDOTA_Buff +{ +public: + int32_t movement_speed_buff_rate; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Cornucopia : public CDOTA_Buff_Item +{ +public: + float bonus_health_regen; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_damage; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Pavise : public CDOTA_Buff_Item +{ +public: + int32_t bonus_armor; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_health; // 0x12d0 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Pavise_Shield : public CDOTA_Buff +{ +public: + int32_t absorb_amount; // 0x12c8 + int32_t m_nAbsorbRemaining; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Keen_Optic : public CDOTA_Buff_Item +{ +public: + float bonus_mana_regen; // 0x12c8 + int32_t cast_range_bonus; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12e8 +class CDOTA_Modifier_Item_Grove_Bow : public CDOTA_Buff_Item +{ +public: + int32_t attack_range_bonus; // 0x12c8 + int32_t attack_speed_bonus; // 0x12cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Grove_Bow_Debuff : public CDOTA_Buff +{ +public: + int32_t magic_resistance_reduction; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Quickening_Charm : public CDOTA_Buff_Item +{ +public: + int32_t bonus_cooldown; // 0x12c8 + int32_t bonus_health_regen; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Philosophers_Stone : public CDOTA_Buff_Item +{ +public: + int32_t bonus_mana; // 0x12c8 + int32_t bonus_gpm; // 0x12cc + int32_t bonus_damage; // 0x12d0 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Force_Boots : public CDOTA_Buff_Item +{ +public: + int32_t bonus_movement_speed; // 0x12c8 + int32_t hp_regen; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Force_Boots : public CDOTA_Buff +{ +public: + int32_t push_length; // 0x12c8 + float push_duration; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12e8 +class CDOTA_Modifier_Item_Desolator_2 : public CDOTA_Buff_Item +{ +public: + int32_t bonus_damage; // 0x12c8 + float corruption_duration; // 0x12cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Desolator_2_Corruption : public CDOTA_Buff +{ +public: + int32_t corruption_armor; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Phoenix_Ash : public CDOTA_Buff_Item +{ +public: + int32_t health_pct; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Seer_Stone_Truesight : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 + float duration; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Seer_Stone : public CDOTA_Buff_Item +{ +public: + int32_t cast_range_bonus; // 0x12c8 + int32_t vision_bonus; // 0x12cc + int32_t mana_regen; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_ElixerHealing : public CDOTA_Buff +{ +public: + int32_t health; // 0x12c8 + int32_t mana; // 0x12cc + float duration; // 0x12d0 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Vampire_Fangs : public CDOTA_Buff_Item +{ +public: + int32_t attack_lifesteal; // 0x12c8 + int32_t spell_lifesteal; // 0x12cc + int32_t night_vision; // 0x12d0 + int32_t creep_lifesteal_reduction_pct; // 0x12d4 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Craggy_Coat : public CDOTA_Buff_Item +{ +public: + int32_t armor_bonus; // 0x12c8 + int32_t attack_speed; // 0x12cc + int32_t bonus_health; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Greater_Faerie_Fire : public CDOTA_Buff_Item +{ +public: + int32_t bonus_damage; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Timeless_Relic : public CDOTA_Buff_Item +{ +public: + int32_t spell_amp; // 0x12c8 + int32_t debuff_amp; // 0x12cc +}; + +// Alignment: 4 +// Size: 0x14b0 +class CDOTA_Modifier_Item_Mirror_Shield : public CDOTA_Buff_Item +{ +public: + CModifierParams m_LastParams; // 0x12c8 + int32_t all_stats; // 0x14a0 + int32_t reflect_chance; // 0x14a4 + bool m_bProcSuccessful; // 0x14a8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Mirror_Shield_Delay : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Ironwood_tree : public CDOTA_Buff_Item +{ +public: + int32_t bonus_all_stats; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Royal_Jelly : public CDOTA_Buff +{ +public: + float health_regen; // 0x12c8 + float mana_regen; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Pupils_gift : public CDOTA_Buff_Item +{ +public: + int32_t secondary_stats; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Tome_of_Aghanim : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Repair_Kit : public CDOTA_Buff_Item +{ +public: + int32_t hp_regen; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Repair_Kit : public CDOTA_Buff +{ +public: + float health_regen; // 0x12c8 + int32_t armor_bonus; // 0x12cc + int32_t multishot_count; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Mind_Breaker : public CDOTA_Buff_Item +{ +public: + int32_t magic_damage; // 0x12c8 + int32_t attack_speed; // 0x12cc + float duration; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Third_Eye : public CDOTA_Buff +{ +public: + int32_t truesight_radius; // 0x12c8 + int32_t bonus_vision; // 0x12cc + int32_t bonus_all_stats; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Spell_Prism : public CDOTA_Buff_Item +{ +public: + int32_t bonus_all_stats; // 0x12c8 + int32_t bonus_cooldown; // 0x12cc + float mana_regen; // 0x12d0 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Spell_Prism_Active : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Fusion_runeHealing : public CDOTA_Buff +{ +public: + int32_t health_regen; // 0x12c8 + float m_fHealingDone; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Princes_Knife : public CDOTA_Buff_Item +{ +public: + float duration; // 0x12c8 + int32_t projectile_bonus; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Princes_Knife_Hex : public CDOTA_Modifier_Hexed +{ +public: + int32_t movespeed; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Spider_Legs : public CDOTA_Buff_Item +{ +public: + int32_t bonus_movement_speed; // 0x12c8 + int32_t turn_rate; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Spider_Legs_Active : public CDOTA_Buff +{ +public: + int32_t bonus_movement_speed_active; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Helm_Of_The_Undying : public CDOTA_Buff_Item +{ +public: + int32_t bonus_armor; // 0x12c8 + float duration; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12f0 +class CDOTA_Modifier_Item_Mango_Tree : public CDOTA_Buff_Item +{ +public: + CHandle< C_BaseEntity > m_hTree; // 0x12c8 +private: + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc +public: + CountdownTimer m_Timer; // 0x12d0 + float seconds; // 0x12e8 +}; + +// Alignment: 7 +// Size: 0x1310 +class CDOTA_Modifier_Passive_Mango_Tree : public CDOTA_Buff +{ +public: + CHandle< C_BaseEntity > m_hTree; // 0x12c8 + int32_t m_nMangoSeconds; // 0x12cc + CountdownTimer m_MangoTimer; // 0x12d0 + int32_t m_nRespawnSeconds; // 0x12e8 +private: + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec +public: + CountdownTimer m_RespawnTimer; // 0x12f0 + int32_t m_nMangosAvailable; // 0x1308 + int32_t m_nChannelCount; // 0x130c +}; + +// Alignment: 2 +// Size: 0x12d0 +class Modifier_Pluck_Famango_Channel : public CDOTA_Buff +{ +public: + float famango_rate; // 0x12c8 + CHandle< C_BaseEntity > m_hMangoTree; // 0x12cc +}; + +// Alignment: 6 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Vambrace : public CDOTA_Buff_Item +{ +public: + int32_t bonus_primary_stat; // 0x12c8 + int32_t bonus_secondary_stat; // 0x12cc + int32_t bonus_magic_resistance; // 0x12d0 + int32_t bonus_spell_amp; // 0x12d4 + int32_t bonus_attack_speed; // 0x12d8 + int32_t m_iStat; // 0x12dc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Witless_shako : public CDOTA_Buff_Item +{ +public: + int32_t max_health; // 0x12c8 + int32_t max_mana; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Imp_Claw : public CDOTA_Buff_Item +{ +public: + int32_t crit_multiplier; // 0x12c8 + int32_t bonus_damage; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Flicker : public CDOTA_Buff_Item +{ +public: + int32_t bonus_movement_speed; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Item_Flicker_Damaged : public CDOTA_Buff_Item +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Spy_Gadget_Aura : public CDOTA_Buff_Item +{ +public: + int32_t scan_cooldown_reduction; // 0x12c8 + int32_t aura_range; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Spy_Gadget : public CDOTA_Buff +{ +public: + int32_t attack_range; // 0x12c8 + int32_t cast_range; // 0x12cc +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Ocean_Heart : public CDOTA_Buff_Item +{ +public: + float water_hp_regen; // 0x12c8 + float water_mp_regen; // 0x12cc + int32_t all_stats; // 0x12d0 + bool m_bInRiver; // 0x12d4 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Broom_Handle : public CDOTA_Buff_Item +{ +public: + int32_t melee_attack_range; // 0x12c8 + int32_t bonus_armor; // 0x12cc + int32_t bonus_damage; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Trusty_Shovel : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Nether_Shawl : public CDOTA_Buff_Item +{ +public: + int32_t bonus_magic_resistance; // 0x12c8 + int32_t bonus_spell_amp; // 0x12cc + int32_t bonus_armor; // 0x12d0 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Dragon_Scale : public CDOTA_Buff_Item +{ +public: + int32_t bonus_armor; // 0x12c8 + int32_t bonus_hp_regen; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Dragon_Scale_Burn : public CDOTA_Buff +{ +public: + int32_t damage_per_sec; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Essence_Ring : public CDOTA_Buff_Item +{ +public: + int32_t bonus_int; // 0x12c8 + float mp_regen; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Essence_Ring_Active : public CDOTA_Buff +{ +public: + int32_t health_gain; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Clumsy_Net_Ensnare : public CDOTA_Modifier_Rooted +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Clumsy_Net : public CDOTA_Buff_Item +{ +public: + int32_t all_stats; // 0x12c8 + int32_t mana_regen; // 0x12cc +}; + +// Alignment: 4 +// Size: 0x12f0 +class CDOTA_Modifier_Item_Enchanted_Quiver : public CDOTA_Buff_Item +{ +public: + int32_t bonus_attack_range; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t active_bonus_attack_range; // 0x12d0 +private: + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Ninja_Gear : public CDOTA_Buff_Item +{ +public: + int32_t bonus_agility; // 0x12c8 + int32_t passive_movement_bonus; // 0x12cc +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Illusionsts_Cape_Marker : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Illusionsts_Cape : public CDOTA_Buff_Item +{ +public: + int32_t bonus_agi; // 0x12c8 + int32_t bonus_str; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Illusionists_Cape_Aura : public CDOTA_Buff +{ +public: + int32_t attack_damage_aura; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Havoc_Hammer : public CDOTA_Buff_Item +{ +public: + int32_t bonus_damage; // 0x12c8 + int32_t bonus_strength; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Havoc_Hammer_Slow : public CDOTA_Buff +{ +public: + int32_t slow; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Panic_Button : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x12c8 + float health_threshold; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Apex : public CDOTA_Buff_Item +{ +public: + int32_t primary_stat; // 0x12c8 + int32_t primary_stat_universal; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Ballista : public CDOTA_Buff_Item +{ +public: + int32_t attack_range_bonus; // 0x12c8 + float knockback_distance; // 0x12cc + float knockback_duration; // 0x12d0 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Woodland_Striders : public CDOTA_Buff_Item +{ +public: + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_hp_regen; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Woodland_Striders_Active : public CDOTA_Buff +{ +public: + float tree_duration; // 0x12c8 +}; + +// Alignment: 10 +// Size: 0x12f0 +class CDOTA_Modifier_Item_Trident : public CDOTA_Buff_Item +{ +public: + int32_t bonus_agility; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t movement_speed_percent_bonus; // 0x12d0 + int32_t bonus_strength; // 0x12d4 + int32_t hp_regen_amp; // 0x12d8 + int32_t status_resistance; // 0x12dc + int32_t bonus_intellect; // 0x12e0 + int32_t spell_amp; // 0x12e4 + int32_t mana_regen_multiplier; // 0x12e8 + int32_t magic_damage_attack; // 0x12ec +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Demonicon : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x12c8 + int32_t bonus_intellect; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Demonicon_Bonus : public CDOTA_Buff +{ +public: + int32_t hp_bonus; // 0x12c8 + int32_t damage_bonus; // 0x12cc +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Fallen_Sky : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x12c8 + int32_t bonus_intellect; // 0x12cc + float bonus_health_regen; // 0x12d0 + float bonus_mana_regen; // 0x12d4 + float blink_damage_cooldown; // 0x12d8 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Fallen_Sky_Land : public CDOTA_Buff +{ +public: + int32_t impact_radius; // 0x12c8 + float land_time; // 0x12cc + float burn_duration; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Fallen_Sky_Burn : public CDOTA_Buff +{ +public: + int32_t burn_dps_buildings; // 0x12c8 + int32_t burn_dps_units; // 0x12cc + float burn_interval; // 0x12d0 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Pirate_Hat : public CDOTA_Buff_Item +{ +public: + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_ms; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Ex_Machina : public CDOTA_Buff_Item +{ +public: + int32_t bonus_armor; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Faded_Broach : public CDOTA_Buff_Item +{ +public: + int32_t bonus_mana; // 0x12c8 + int32_t bonus_movement_speed; // 0x12cc +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Paladin_Sword : public CDOTA_Buff_Item +{ +public: + int32_t bonus_damage; // 0x12c8 + int32_t bonus_lifesteal; // 0x12cc + int32_t bonus_spell_lifesteal; // 0x12d0 + int32_t bonus_amp; // 0x12d4 + int32_t creep_lifesteal_reduction_pct; // 0x12d8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Minotaur_Horn_Immune : public CDOTA_Modifier_MagicImmune +{ +public: + int32_t model_scale; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Minotaur_Horn : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12e8 +class CDOTA_Modifier_Item_Orb_Of_Destruction : public CDOTA_Buff_Item +{ +public: + float duration; // 0x12c8 +private: + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Orb_Of_Destruction_Debuff : public CDOTA_Buff +{ +public: + int32_t armor_reduction; // 0x12c8 + int32_t slow_melee; // 0x12cc + int32_t slow_range; // 0x12d0 + bool bCasterRanged; // 0x12d4 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_The_Leveller : public CDOTA_Buff_Item +{ +public: + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_armor; // 0x12cc + int32_t demolish; // 0x12d0 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Arcane_Ring : public CDOTA_Buff_Item +{ +public: + int32_t bonus_armor; // 0x12c8 + int32_t bonus_intelligence; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Titan_Sliver : public CDOTA_Buff_Item +{ +public: + int32_t base_attack_damage; // 0x12c8 + int32_t magic_resistance; // 0x12cc + int32_t status_resistance; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Voodoo_Mask : public CDOTA_Buff_Item +{ +public: + float spell_lifesteal; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifer_Item_Blitz_Knuckles : public CDOTA_Buff_Item +{ +public: + int32_t bonus_attack_speed; // 0x12c8 +}; + +// Alignment: 6 +// Size: 0x12f8 +class CDOTA_Modifier_Item_Witch_Blade : public CDOTA_Buff_Item +{ +public: + int32_t bonus_intellect; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t bonus_armor; // 0x12d0 + float slow_duration; // 0x12d4 + int32_t projectile_speed; // 0x12d8 +private: + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Witch_Blade_Slow : public CDOTA_Buff +{ +public: + int32_t slow; // 0x12c8 + float int_damage_multiplier; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_MaskOfDispair : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x12c8 + float bonus_armor; // 0x12cc + int32_t spell_lifesteal; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_MaskOfDispair_Berserk : public CDOTA_Buff +{ +public: + int32_t berserk_spell_amp; // 0x12c8 + int32_t berserk_manacost_reduction; // 0x12cc + int32_t berserk_magic_resistance; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Chipped_Vest : public CDOTA_Buff_Item +{ +public: + float hp_regen; // 0x12c8 + int32_t damage_return_hero; // 0x12cc + int32_t damage_return_creep; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Cloak_Of_Flames : public CDOTA_Buff_Item +{ +public: + int32_t armor; // 0x12c8 + int32_t magic_resistance; // 0x12cc + int32_t radius; // 0x12d0 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Cloak_Of_Flames_Debuff : public CDOTA_Buff +{ +public: + int32_t damage; // 0x12c8 + int32_t damage_illusions; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Elven_Tunic : public CDOTA_Buff_Item +{ +public: + int32_t attack_speed; // 0x12c8 + int32_t evasion; // 0x12cc + int32_t movment; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Gloves_Of_Travel : public CDOTA_Buff_Item +{ +public: + int32_t attack_speed; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12e8 +class CDOTA_Modifier_Item_Orb_Of_Corrosion : public CDOTA_Buff_Item +{ +public: + int32_t health_bonus; // 0x12c8 + float duration; // 0x12cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Orb_Of_Corrosion_Debuff : public CDOTA_Buff +{ +public: + int32_t armor; // 0x12c8 + int32_t slow_melee; // 0x12cc + int32_t slow_range; // 0x12d0 + bool bCasterRanged; // 0x12d4 +private: + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 +public: + int32_t damage; // 0x12d8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Sorcerers_Staff : public CDOTA_Buff_Item +{ +public: + int32_t mana_regen_amp; // 0x12c8 + int32_t spell_amp_creeps; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Trickster_Cloak : public CDOTA_Buff_Item +{ +public: + int32_t evasion; // 0x12c8 + int32_t magic_resistance; // 0x12cc + float debuff_limit; // 0x12d0 +}; + +// Alignment: 0 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Trickster_Cloak_Invis : public CDOTA_Modifier_Invisible +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x12f0 +class CDOTA_Modifier_Item_Venom_Gland : public CDOTA_Buff_Item +{ +public: + int32_t primary_attribute; // 0x12c8 + int32_t debuff_amp; // 0x12cc + float duration; // 0x12d0 +private: + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Venom_Gland_Debuff : public CDOTA_Buff +{ +public: + int32_t damage; // 0x12c8 + int32_t degen; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Wizard_Glass : public CDOTA_Buff_Item +{ +public: + int32_t debuff_amp; // 0x12c8 + int32_t cooldown_reduction; // 0x12cc +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Item_Gladiator_Helm : public CDOTA_Buff_Item +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Gladiator_Helm_Buff : public CDOTA_Buff +{ +public: + int32_t damage; // 0x12c8 + int32_t armor; // 0x12cc + int32_t movement_speed; // 0x12d0 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Possessed_Mask : public CDOTA_Buff_Item +{ +public: + int32_t primary_attribute; // 0x12c8 + int32_t lifesteal; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12e8 +class CDOTA_Modifier_Item_AssassinsDagger : public CDOTA_Buff_Item +{ +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + int32_t debuff_duration; // 0x12e0 + int32_t bonus_attack_speed; // 0x12e4 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Assassins_Dagger_Debuff : public CDOTA_Buff +{ +public: + int32_t armor_debuff; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_AsceticCap : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x12c8 + float hp_regen; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_AsceticCapBuff : public CDOTA_Buff +{ +public: + int32_t status_resistance; // 0x12c8 + int32_t slow_resistance; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_SamplePicker : public CDOTA_Buff_Item +{ +public: + int32_t base_gold; // 0x12c8 + int32_t gold_per_level; // 0x12cc + int32_t strength_penalty; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_IcarusWings : public CDOTA_Buff_Item +{ +public: + float move_speed; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_IcarusWingsBuff : public CDOTA_Buff_Item +{ +public: + int32_t status_resistance; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_IcarusWingsDebuff : public CDOTA_Buff_Item +{ +public: + int32_t slow; // 0x12c8 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Dynamite_Jacket : public CDOTA_Buff_Item +{ +public: + int32_t bonus_armor; // 0x12c8 + int32_t radius; // 0x12cc + int32_t damage; // 0x12d0 + float blind_duration; // 0x12d4 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Jacket_Blind : public CDOTA_Buff +{ +public: + float blind_pct; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Tree_Processor : public CDOTA_Buff_Item +{ +public: + int32_t bonus_int; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Tree_Processor_Speed : public CDOTA_Buff_Item +{ +public: + int32_t health_per_tree; // 0x12c8 + int32_t hp_bonus; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Heavy_Blade : public CDOTA_Buff_Item +{ +public: + float damage; // 0x12c8 + int32_t attack_speed; // 0x12cc +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Mechanical_Arm : public CDOTA_Buff_Item +{ +public: + bool m_bAppliesToCreeps; // 0x12c8 +private: + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 +public: + float bat; // 0x12cc + float stun_duration; // 0x12d0 + int32_t stun_chance; // 0x12d4 + int32_t m_nAttack; // 0x12d8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Mechanical_Arm_Counter : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Fortitude_Ring : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x12c8 + float hp_regen; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Fortitude_Ring_Active : public CDOTA_Buff +{ +public: + int32_t damage_reduction; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_PogoStick : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x12c8 + int32_t bonus_mana; // 0x12cc + int32_t bonus_intellect; // 0x12d0 +}; + +// Alignment: 6 +// Size: 0x12e0 +class CDOTA_Modifier_Pogo_Stick_Active : public CDOTA_Buff +{ +public: + int32_t leap_distance; // 0x12c8 + float leap_speed; // 0x12cc + float leap_acceleration; // 0x12d0 + int32_t leap_radius; // 0x12d4 + float leap_bonus_duration; // 0x12d8 + bool m_bLaunched; // 0x12dc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Paintball : public CDOTA_Buff_Item +{ +public: + int32_t movespeed; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Paintball_Debuff : public CDOTA_Buff +{ +public: + int32_t dps; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_UnstableWand : public CDOTA_Buff_Item +{ +public: + int32_t all_stats; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Item_UnstableWand_Critter : public CDOTA_Modifier_Hexed +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_LightRobes : public CDOTA_Buff_Item +{ +public: + int32_t health_penalty; // 0x12c8 + int32_t attack_speed; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Force_Field_Bonus_Aura : public CDOTA_Buff +{ +public: + int32_t bonus_aoe_radius; // 0x12c8 +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Item_Force_Field_Bonus : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Force_Field : public CDOTA_Buff_Item +{ +public: + bool m_bAppliesToCreeps; // 0x12c8 +private: + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 +public: + int32_t bonus_aoe_radius; // 0x12cc + int32_t self_armor; // 0x12d0 + int32_t self_mres; // 0x12d4 +}; + +// Alignment: 6 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Force_Field_Effect : public CDOTA_Buff +{ +public: + float bonus_aoe_armor; // 0x12c8 + float bonus_aoe_ms; // 0x12cc + float bonus_aoe_mres; // 0x12d0 + float self_mres; // 0x12d4 + float self_armor; // 0x12d8 + int32_t active_reflection_pct; // 0x12dc +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Misericorde : public CDOTA_Buff_Item +{ +public: + int32_t bonus_damage; // 0x12c8 + int32_t missing_hp; // 0x12cc + int32_t damage; // 0x12d0 + int32_t aspd; // 0x12d4 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Ancient_Perseverance : public CDOTA_Buff_Item +{ +public: + int32_t damage; // 0x12c8 + int32_t hp_regen; // 0x12cc + int32_t mana_regen_amp; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Oakheart : public CDOTA_Buff_Item +{ +public: + int32_t strength; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Oakheart_Healing : public CDOTA_Buff +{ +public: + int32_t heal; // 0x12c8 + float duration; // 0x12cc + float regen; // 0x12d0 +}; + +// Alignment: 8 +// Size: 0x12e8 +class CDOTA_Modifier_Item_Stormcrafter : public CDOTA_Buff_Item +{ +public: + GameTime_t m_flNextHit; // 0x12c8 + int32_t passive_movement_bonus; // 0x12cc + int32_t range; // 0x12d0 + float interval; // 0x12d4 + int32_t damage; // 0x12d8 + float slow_duration; // 0x12dc + float bonus_mana_regen; // 0x12e0 + int32_t max_targets; // 0x12e4 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Stormcrafter_Slow : public CDOTA_Buff +{ +public: + int32_t slow; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Overflowing_Elixir_Regen : public CDOTA_Buff +{ +public: + int32_t health; // 0x12c8 + int32_t mana; // 0x12cc +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Mysterious_Hat : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x12c8 + int32_t spell_amp; // 0x12cc + int32_t manacost_reduction; // 0x12d0 +}; + +// Alignment: 6 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Orb_of_Pestilence : public CDOTA_Buff_Item +{ +public: + int32_t poison_movement_speed_melee; // 0x12c8 + int32_t poison_movement_speed_range; // 0x12cc + float poison_duration; // 0x12d0 + float poison_damage; // 0x12d4 + int32_t armor; // 0x12d8 + float hp_regen; // 0x12dc +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Orb_of_Pestilence_Slow : public CDOTA_Buff +{ +public: + float duration; // 0x12c8 + int32_t slow; // 0x12cc + float damage; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Fluffy_Hat : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x12c8 +}; + +// Alignment: 6 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Falcon_Blade : public CDOTA_Buff_Item +{ +public: + int32_t bonus_damage; // 0x12c8 + int32_t bonus_damage_per_kill; // 0x12cc + int32_t bonus_damage_per_assist; // 0x12d0 + int32_t bonus_health; // 0x12d4 + int32_t max_damage; // 0x12d8 + float bonus_mana_regen; // 0x12dc +}; + +// Alignment: 6 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Mage_Slayer : public CDOTA_Buff_Item +{ +public: + int32_t bonus_magical_armor; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t bonus_damage; // 0x12d0 + float duration; // 0x12d4 + float bonus_mana_regen; // 0x12d8 + int32_t bonus_intellect; // 0x12dc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Mage_Slayer_Debuff : public CDOTA_Buff +{ +public: + int32_t spell_amp_debuff; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Overwhelming_Blink : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x12c8 + float blink_damage_cooldown; // 0x12cc +}; + +// Alignment: 0 +// Size: 0x12d0 +class CDOTA_Modifier_Item_SuperOverwhelming_Blink : public CDOTA_Modifier_Item_Overwhelming_Blink +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Overwhelming_Blink_Debuff : public CDOTA_Buff +{ +public: + float caster_strength; // 0x12c8 + int32_t movement_slow; // 0x12cc + int32_t attack_slow; // 0x12d0 + float damage_pct_over_time; // 0x12d4 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Swift_Blink : public CDOTA_Buff_Item +{ +public: + float blink_damage_cooldown; // 0x12c8 + int32_t bonus_agility; // 0x12cc +}; + +// Alignment: 0 +// Size: 0x12d0 +class CDOTA_Modifier_Item_SuperSwift_Blink : public CDOTA_Modifier_Item_Swift_Blink +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Swift_Blink_Buff : public CDOTA_Buff +{ +public: + int32_t bonus_movement; // 0x12c8 + int32_t bonus_agi_active; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Arcane_Blink : public CDOTA_Buff_Item +{ +public: + float blink_damage_cooldown; // 0x12c8 + int32_t bonus_intellect; // 0x12cc +}; + +// Alignment: 0 +// Size: 0x12d0 +class CDOTA_Modifier_Item_SuperArcane_Blink : public CDOTA_Modifier_Item_Arcane_Blink +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Arcane_Blink_Buff : public CDOTA_Buff +{ +public: + int32_t cast_pct_improvement; // 0x12c8 + int32_t manacost_reduction; // 0x12cc + int32_t debuff_amp; // 0x12d0 + int32_t cast_range_bonus; // 0x12d4 +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Wind_Waker : public CDOTA_Buff_Item +{ +public: + int32_t bonus_intellect; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_movement_speed; // 0x12d0 + int32_t bonus_mana; // 0x12d4 + int32_t cast_range_bonus; // 0x12d8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Wind_Waker : public CDOTA_Buff +{ +public: + CHandle< C_BaseEntity > m_hBlocker; // 0x12c8 + GameTime_t m_flStartTime; // 0x12cc +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Eul_Wind_Waker_Thinker : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Aghanims_Shard : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Eternal_Shroud_Barrier : public CDOTA_Buff +{ +public: + int32_t barrier_block; // 0x12c8 + int32_t barrier_amount; // 0x12cc +}; + +// Alignment: 5 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Eternal_Shroud : public CDOTA_Buff_Item +{ +public: + int32_t bonus_spell_resist; // 0x12c8 + int32_t bonus_strength; // 0x12cc + int32_t bonus_armor; // 0x12d0 + float bonus_health_regen; // 0x12d4 + int32_t mana_restore_pct; // 0x12d8 +}; + +// Alignment: 6 +// Size: 0x12e0 +class CDOTA_Modifier_Item_Star_Mace : public CDOTA_Buff_Item +{ +public: + int32_t movement_speed_pct; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t cleave_damage_percent; // 0x12d0 + int32_t cleave_starting_width; // 0x12d4 + int32_t cleave_ending_width; // 0x12d8 + int32_t cleave_distance; // 0x12dc +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_Item_Penta_Edged_Sword : public CDOTA_Buff_Item +{ +public: + int32_t damage; // 0x12c8 + int32_t maim_chance; // 0x12cc + float maim_duration; // 0x12d0 + int32_t melee_attack_range; // 0x12d4 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Penta_Edged_Sword_Maim : public CDOTA_Buff +{ +public: + int32_t maim_slow_movement; // 0x12c8 + int32_t maim_slow_attack; // 0x12cc +}; + +// Alignment: 7 +// Size: 0x1300 +class CDOTA_Modifier_GungirChain : public CDOTA_Buff +{ +public: + int32_t chain_radius; // 0x12c8 + int32_t chain_strikes; // 0x12cc + int32_t chain_damage; // 0x12d0 + float chain_delay; // 0x12d4 + int32_t m_iCurJumpCount; // 0x12d8 + Vector m_vCurTargetLoc; // 0x12dc + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12e8 +}; + +// Alignment: 12 +// Size: 0x1320 +class CDOTA_Modifier_Item_Gungir : public CDOTA_Buff_Item +{ +public: + int32_t bonus_damage; // 0x12c8 + int32_t bonus_strength; // 0x12cc + int32_t bonus_agility; // 0x12d0 + int32_t bonus_intellect; // 0x12d4 + int32_t bonus_hp; // 0x12d8 + int32_t chain_chance; // 0x12dc + int32_t chain_strikes; // 0x12e0 + int32_t chain_damage; // 0x12e4 + int32_t chain_radius; // 0x12e8 + float chain_cooldown; // 0x12ec + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12f0 + CountdownTimer m_ChainTimer; // 0x1308 +}; + +// Alignment: 0 +// Size: 0x12c8 class CDOTA_Modifier_Gungnir_Debuff : public CDOTA_Modifier_Rooted { public: @@ -34095,178 +34160,186 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Orb_Of_Revelations : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_health; // 0x12c8 + int32_t bonus_mana; // 0x12cc + float bonus_mana_regen; // 0x12d0 + int32_t cast_range_bonus; // 0x12d4 + int32_t bonus_magical_armor; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Orb_Of_Revelations_Reveal : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 + int32_t movespeed; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Satchel : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x12b8 - int32_t xp_gain; // 0x12bc + int32_t bonus_all_stats; // 0x12c8 + int32_t xp_gain; // 0x12cc }; // Alignment: 19 -// Size: 0x1318 +// Size: 0x1328 class CDOTA_Modifier_Item_Grandmasters_Glaive : public CDOTA_Buff_Item { public: - 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 + int32_t sange_bonus_strength; // 0x12c8 + int32_t sange_status_resistance; // 0x12cc + int32_t sange_hp_regen_amp; // 0x12d0 + int32_t kaya_bonus_intellect; // 0x12d4 + int32_t kaya_spell_amp; // 0x12d8 + int32_t kaya_mana_regen_multiplier; // 0x12dc + int32_t kaya_magic_damage_attack; // 0x12e0 + int32_t yasha_bonus_agility; // 0x12e4 + int32_t yasha_bonus_attack_speed; // 0x12e8 + int32_t yasha_movement_speed_percent_bonus; // 0x12ec + int32_t m_iCurrentStance; // 0x12f0 + int32_t bonus_strength; // 0x12f4 + int32_t bash_chance_melee; // 0x12f8 + int32_t bash_chance_ranged; // 0x12fc + float bash_duration; // 0x1300 + float bash_cooldown; // 0x1304 + int32_t bonus_chance_damage; // 0x1308 + int32_t bonus_damage; // 0x130c + CUtlVector< int16 > m_InFlightAttackRecords; // 0x1310 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Agi : public CDOTA_Buff { public: - int32_t agi_stance; // 0x12b8 + int32_t agi_stance; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Str : public CDOTA_Buff { public: - int32_t str_stance; // 0x12b8 + int32_t str_stance; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Int : public CDOTA_Buff { public: - int32_t int_stance; // 0x12b8 + int32_t int_stance; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Warhammer : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 + int32_t bonus_strength; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Warhammer_Armor : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x12b8 + int32_t armor_reduction; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Psychic_Headband : public CDOTA_Buff_Item { public: - int32_t intelligence_pct; // 0x12b8 - int32_t cast_range; // 0x12bc + int32_t intelligence_pct; // 0x12c8 + int32_t cast_range; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Psychic_Headband : public CDOTA_Buff { public: - int32_t push_length; // 0x12b8 - float push_duration; // 0x12bc + int32_t push_length; // 0x12c8 + float push_duration; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Ceremonial_Robe : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x12b8 - int32_t aura_radius; // 0x12bc + int32_t bonus_mana; // 0x12c8 + int32_t aura_radius; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ceremonial_Robe_Aura : public CDOTA_Buff { public: - int32_t status_resistance; // 0x12b8 - int32_t magic_resistance; // 0x12bc + int32_t status_resistance; // 0x12c8 + int32_t magic_resistance; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Book_Of_Shadows : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x12b8 - int32_t night_vision; // 0x12bc + int32_t bonus_all_stats; // 0x12c8 + int32_t night_vision; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Book_Of_Shadows_Buff : public CDOTA_Buff { public: - bool m_bUntargetableAllies; // 0x12b8 - bool m_bUntargetableEnemies; // 0x12b9 + bool m_bUntargetableAllies; // 0x12c8 + bool m_bUntargetableEnemies; // 0x12c9 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 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; // 0x12b8 - int32_t damage_return; // 0x12bc + int32_t bonus_strength; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t model_scale; // 0x12d0 + int32_t damage_radius; // 0x12d4 + int32_t pct_str_damage_per_second; // 0x12d8 + float tick_rate; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 +class CDOTA_Modifier_Item_Giants_Ring_Visual : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Item_Vengeances_Shadow : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x12c8 + int32_t damage_return; // 0x12cc +}; + +// Alignment: 0 +// Size: 0x12c8 class CDOTA_Modifier_Vengeances_Shadow_Illusions : public CDOTA_Buff { public: @@ -34274,269 +34347,269 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Bullwhip : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x12b8 - float bonus_mana_regen; // 0x12bc + float bonus_health_regen; // 0x12c8 + float bonus_mana_regen; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Bullwhip_Buff_Thinker : public CDOTA_Buff { public: - int32_t speed; // 0x12b8 - CHandle< C_BaseEntity > m_hTarget; // 0x12bc - ParticleIndex_t m_nFXIndex; // 0x12c0 + int32_t speed; // 0x12c8 + CHandle< C_BaseEntity > m_hTarget; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Bullwhip_Buff : public CDOTA_Buff { public: - int32_t speed; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t speed; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Quicksilver_Amulet : public CDOTA_Buff_Item { public: - 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 + int32_t base_attack; // 0x12c8 + int32_t bonus_attack; // 0x12cc + int32_t base_movement; // 0x12d0 + int32_t bonus_movement; // 0x12d4 + int32_t projectile_increase; // 0x12d8 + int32_t anim_increase; // 0x12dc }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Naginata : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_intellect; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t bonus_damage; // 0x12d0 + int32_t bonus_health; // 0x12d4 + float bonus_mana_regen; // 0x12d8 + int32_t cooldown_reduction_percent; // 0x12dc + int32_t bonus_chance; // 0x12e0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_SeedsOfSerenity : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - float bonus_health_regen; // 0x12bc + int32_t bonus_health; // 0x12c8 + float bonus_health_regen; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_SeedsOfSerenity_Active_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_SeedsOfSerenity_Active : public CDOTA_Buff { public: - int32_t aura_health_regen; // 0x12b8 + int32_t aura_health_regen; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_LanceOfPursuit : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_mana; // 0x12c8 + int32_t bonus_strength; // 0x12cc + int32_t backstab_damage; // 0x12d0 + int32_t backstab_angle; // 0x12d4 + float slow_duration; // 0x12d8 + bool m_bBackstab; // 0x12dc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Lance_of_Pursuit_Slow : public CDOTA_Buff { public: - int32_t slow_pct_melee; // 0x12b8 - int32_t slow_pct_ranged; // 0x12bc + int32_t slow_pct_melee; // 0x12c8 + int32_t slow_pct_ranged; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Occult_Bracelet : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_all_stats; // 0x12c8 + int32_t stack_limit; // 0x12cc + float stack_duration; // 0x12d0 + GameTime_t m_flStackDieTime; // 0x12d4 + int32_t magic_resistance; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Occult_Bracelet_Stack : public CDOTA_Buff { public: - float mana_regen; // 0x12b8 + float mana_regen; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Tome_of_Omniscience : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x12b8 - int32_t bonus_xpm; // 0x12bc - int32_t bonus_armor; // 0x12c0 + int32_t bonus_mana; // 0x12c8 + int32_t bonus_xpm; // 0x12cc + int32_t bonus_armor; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_OgreSealTotem : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 + int32_t bonus_strength; // 0x12c8 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_OgreSealTotem_Active : public CDOTA_Buff { public: - 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 + int32_t m_nCurrentBounce; // 0x12c8 + int32_t leap_distance; // 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: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_OgreSealTotem_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_WandOfTheBrine : public CDOTA_Buff_Item { public: - int32_t heal_increase; // 0x12b8 + int32_t heal_increase; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_WandOfTheBrine_Active : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 - float interval; // 0x12bc - int32_t damage_reduction; // 0x12c0 - int32_t heal; // 0x12c4 - ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t movement_speed; // 0x12c8 + float interval; // 0x12cc + int32_t damage_reduction; // 0x12d0 + int32_t heal; // 0x12d4 + ParticleIndex_t m_nFXIndex; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Slime_Vial : public CDOTA_Buff_Item { public: - int32_t health_regen; // 0x12b8 + int32_t health_regen; // 0x12c8 }; // Alignment: 8 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Item_Slime_Vial_Thinker : public CDOTA_Buff { public: - 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 + float m_fCurRadius; // 0x12c8 + GameTime_t m_fLastThink; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x12d0 + CountdownTimer m_ViewerTimer; // 0x12e8 + int32_t spill_speed; // 0x1300 + int32_t spill_radius; // 0x1304 + int32_t spill_damage; // 0x1308 + float spill_debuff_duration; // 0x130c }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Slime_Vial_Spill_Debuff : public CDOTA_Buff { public: - int32_t spill_movement_speed; // 0x12b8 - int32_t spill_attack_speed; // 0x12bc - int32_t spill_self_bonus_armor; // 0x12c0 + int32_t spill_movement_speed; // 0x12c8 + int32_t spill_attack_speed; // 0x12cc + int32_t spill_self_bonus_armor; // 0x12d0 }; // Alignment: 9 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Item_Harpoon : public CDOTA_Buff_Item { public: - 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 bonus_chance; // 0x12c8 + int32_t bonus_chance_damage; // 0x12cc + int32_t bonus_strength; // 0x12d0 + int32_t bonus_agility; // 0x12d4 + int32_t bonus_intellect; // 0x12d8 + float bonus_mana_regen; // 0x12dc + int32_t bonus_damage; // 0x12e0 + int32_t bonus_speed; // 0x12e4 + CUtlVector< int16 > m_InFlightProcAttackRecords; // 0x12e8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Harpoon_EchoSabre_Component : public CDOTA_Buff_Item { public: - float slow_duration; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc - bool bonus_speed; // 0x12c0 + float slow_duration; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + bool bonus_speed; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - float passive_cooldown; // 0x12c4 + float passive_cooldown; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Harpoon_Pull : public CDOTA_Buff { public: - float m_flDistance; // 0x12b8 + float m_flDistance; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Harpoon_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Harpoon_InternalCD : public CDOTA_Buff { public: @@ -34544,35 +34617,35 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Guardian_Shell : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x12b8 - int32_t bonus_armor; // 0x12bc - float counter_cooldown; // 0x12c0 - GameTime_t m_flLastCounterTime; // 0x12c4 + int32_t all_stats; // 0x12c8 + int32_t bonus_armor; // 0x12cc + float counter_cooldown; // 0x12d0 + GameTime_t m_flLastCounterTime; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_GuardianShell_Active : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Arcane_Scout : public CDOTA_Buff_Item { public: - int32_t vision_bonus; // 0x12b8 - int32_t magic_resist; // 0x12bc + int32_t vision_bonus; // 0x12c8 + int32_t magic_resist; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Arcane_Scout_Self_Vision : public CDOTA_Buff { public: @@ -34580,27 +34653,27 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Arcane_Scout_Invulnerability : public CDOTA_Modifier_Invulnerable { public: - int32_t scout_movespeed; // 0x12b8 - int32_t sight_range; // 0x12bc + int32_t scout_movespeed; // 0x12c8 + int32_t sight_range; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Barricade_Thinker : public CDOTA_Buff { public: - int32_t length; // 0x12b8 - int32_t width; // 0x12bc - int32_t max_hits; // 0x12c0 - int32_t m_iCurrentHits; // 0x12c4 + int32_t length; // 0x12c8 + int32_t width; // 0x12cc + int32_t max_hits; // 0x12d0 + int32_t m_iCurrentHits; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Barricade_Blocker : public CDOTA_Buff { public: @@ -34608,317 +34681,325 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Barricade : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - int32_t bonus_armor; // 0x12bc + int32_t bonus_health; // 0x12c8 + int32_t bonus_armor; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_EyeOfTheVizier : public CDOTA_Buff_Item { public: - int32_t cast_range_bonus; // 0x12b8 - int32_t mana_reduction_pct; // 0x12bc - float bonus_mana_regen; // 0x12c0 + int32_t cast_range_bonus; // 0x12c8 + int32_t mana_reduction_pct; // 0x12cc + float bonus_mana_regen; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_ManaclesOfPower : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 + int32_t bonus_strength; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_ManaclesOfPower_Effect : public CDOTA_Buff { public: - 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 + CHandle< C_BaseEntity > m_hPartner; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + float leash_distance; // 0x12d0 + float leash_limit_multiplier; // 0x12d4 + CHandle< C_BaseEntity > m_hAnchor; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Bottomless_Chalice_Regen : public CDOTA_Buff { public: - int32_t health; // 0x12b8 - int32_t mana; // 0x12bc + int32_t health; // 0x12c8 + int32_t mana; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Bottomless_Chalice : public CDOTA_Buff_Item { public: - int32_t max_charges_per_kill; // 0x12b8 - float recharge_time; // 0x12bc - bool m_bFull; // 0x12c0 + int32_t max_charges_per_kill; // 0x12c8 + float recharge_time; // 0x12cc + bool m_bFull; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t bonus_intellect; // 0x12c4 - int32_t movement_speed; // 0x12c8 + int32_t bonus_intellect; // 0x12d4 + int32_t movement_speed; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_WandOfSanctitude : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x12b8 - int32_t cast_range_bonus; // 0x12bc + int32_t all_stats; // 0x12c8 + int32_t cast_range_bonus; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_WandOfSanctitude_Active_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 5 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Item_SpecialistsArray : public CDOTA_Buff_Item { public: - 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 + int32_t all_stats; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t proc_bonus_damage; // 0x12d0 + int32_t count; // 0x12d4 + int32_t secondary_target_range_bonus; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 +class CDOTA_Modifier_Item_SpecialistsArray_ProcDamage : public CDOTA_Buff_Item +{ +public: + int32_t proc_bonus_damage; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 class CDOTA_Modifier_Item_DaggerOfRistul : public CDOTA_Buff_Item { public: - int32_t aspd; // 0x12b8 + int32_t aspd; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DaggerOfRistul_Buff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Lunar_Crest : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - int32_t movement_speed; // 0x12bc - int32_t bonus_spell_resist; // 0x12c0 + int32_t bonus_health; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t bonus_spell_resist; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Lunar_Crest_Barrier_Addition : public CDOTA_Buff { public: - int32_t barrier_block; // 0x12b8 - int32_t barrier_amount; // 0x12bc + int32_t barrier_block; // 0x12c8 + int32_t barrier_amount; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Lunar_Crest_Barrier_Reduction : public CDOTA_Buff { public: - int32_t barrier_block; // 0x12b8 - float m_flDamageTotal; // 0x12bc + int32_t barrier_block; // 0x12c8 + float m_flDamageTotal; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Magus_Minimus_Inhibit : public CDOTA_Buff { public: - int32_t purge_rate; // 0x12b8 + int32_t purge_rate; // 0x12c8 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Magus_Minimus : 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 - int32_t aura_radius; // 0x12d0 + int32_t bonus_agility; // 0x12c8 + int32_t bonus_intellect; // 0x12cc + float damage_per_burn; // 0x12d0 + int32_t feedback_mana_burn; // 0x12d4 + int32_t feedback_mana_burn_illusion_melee; // 0x12d8 + int32_t feedback_mana_burn_illusion_ranged; // 0x12dc + int32_t aura_radius; // 0x12e0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Magus_Minimus_Aura_Slow : public CDOTA_Buff { public: - int32_t max_slow_pct; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t max_slow_pct; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Witches_Switch : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x12b8 - float bonus_mana_regen; // 0x12bc - int32_t bonus_armor; // 0x12c0 - int32_t aura_radius; // 0x12c4 + float bonus_health_regen; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_armor; // 0x12d0 + int32_t aura_radius; // 0x12d4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Witches_Switch_Aura_Effect : public CDOTA_Buff { public: - float aura_mana_regen; // 0x12b8 - float aura_health_regen; // 0x12bc - int32_t aura_armor; // 0x12c0 + float aura_mana_regen; // 0x12c8 + float aura_health_regen; // 0x12cc + int32_t aura_armor; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Spark_Of_Courage : public CDOTA_Buff_Item { public: - int32_t damage; // 0x12b8 - int32_t armor; // 0x12bc - int32_t health_pct; // 0x12c0 + int32_t damage; // 0x12c8 + int32_t armor; // 0x12cc + int32_t health_pct; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_VindicatorsAxe : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_damage; // 0x12bc - int32_t bonus_armor; // 0x12c0 - int32_t bonus_slow_resist; // 0x12c4 + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t bonus_armor; // 0x12d0 + int32_t bonus_slow_resist; // 0x12d4 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifer_Item_DandelionAmulet : public CDOTA_Buff_Item { public: - int32_t move_speed; // 0x12b8 - int32_t mana; // 0x12bc - int32_t magic_block; // 0x12c0 - int32_t min_damage; // 0x12c4 + int32_t move_speed; // 0x12c8 + int32_t mana; // 0x12cc + int32_t magic_block; // 0x12d0 + int32_t min_damage; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifer_Item_BlightedSpirit : public CDOTA_Buff_Item { public: - int32_t magic_resist; // 0x12b8 - float duration; // 0x12bc + int32_t magic_resist; // 0x12c8 + float duration; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_BlightedSpirit_Blight : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x12b8 - int32_t heal_reduction; // 0x12bc + int32_t damage_per_second; // 0x12c8 + int32_t heal_reduction; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_DuelistGloves : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_damage; // 0x12bc - float radius; // 0x12c0 - int32_t actual_attack_speed; // 0x12c4 + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_damage; // 0x12cc + float radius; // 0x12d0 + int32_t actual_attack_speed; // 0x12d4 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_HorizonsEquilibrium : public CDOTA_Buff_Item { public: - 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 + int32_t distance; // 0x12c8 + int32_t damage_reduction; // 0x12cc + int32_t attack_lifesteal; // 0x12d0 + int32_t spell_lifesteal; // 0x12d4 + int32_t creep_lifesteal_reduction_pct; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifer_Item_TurtleShell : public CDOTA_Buff_Item { public: - int32_t armor; // 0x12b8 + int32_t armor; // 0x12c8 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifer_Item_TurtleShell_Shell : public CDOTA_Buff_Item { public: - int32_t damage_reduction; // 0x12b8 - Vector m_vecPosition; // 0x12bc - ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t damage_reduction; // 0x12c8 + Vector m_vecPosition; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_MartyrsPlate : public CDOTA_Buff_Item { public: - float duration; // 0x12b8 - int32_t magic_resist; // 0x12bc - float hp_regen; // 0x12c0 + float duration; // 0x12c8 + int32_t magic_resist; // 0x12cc + float hp_regen; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_MartyrsPlate_Aura : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_MartyrsPlate_Effect : public CDOTA_Buff_Item { public: - int32_t damage_redirection; // 0x12b8 + int32_t damage_redirection; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Gossamer_Cape : public CDOTA_Buff_Item { public: - float movement_speed; // 0x12b8 + float movement_speed; // 0x12c8 }; // Alignment: 45 @@ -36690,94 +36771,6 @@ 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: 0x540 class C_PortraitWorldCallbackHandler : public C_BaseEntity @@ -36937,7 +36930,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AttributeBonus : public CDOTA_Buff { public: @@ -37440,6 +37433,14 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x5b0 +class C_DOTA_Ability_Special_Bonus_Attack_Speed_90 : public C_DOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x5b0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_100 : public C_DOTABaseAbility @@ -44617,271 +44618,271 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Gold : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_HP : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_MP : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Attack_Speed : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Base_Attack_Rate : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Attributes : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_All_Stats : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Movement_Speed : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Cast_Speed : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Movement_Speed_Percentage : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_HP_Regen : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_MP_Regen : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_MP_Regen_Amp : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Manaloss_Reduction : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Agility_And_Intelligence : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Intelligence : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Strength : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Agility : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Magic_Resistance : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Status_Resistance : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Day_Vision : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Night_Vision : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Vision : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Armor : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Attack_Damage : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Attack_Base_Damage : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Attack_Range : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Cast_Range : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Spell_Amplify : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Cooldown_Reduction : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Respawn_Reduction : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Gold_Income : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Evasion : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Unique_Morphling_4 : public CDOTA_Buff { public: @@ -44889,7 +44890,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Unique_Treant_3 : public CDOTA_Buff { public: @@ -44897,25 +44898,25 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_20_Bash : public CDOTA_Buff { public: - float value; // 0x12b8 - float value2; // 0x12bc + float value; // 0x12c8 + float value2; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Crit : public CDOTA_Buff { public: - float crit_chance; // 0x12b8 - float crit_multiplier; // 0x12bc + float crit_chance; // 0x12c8 + float crit_multiplier; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Tree_Walking : public CDOTA_Buff { public: @@ -44923,62 +44924,62 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Lifesteal : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Cleave : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Corruption : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Corruption_Debuff : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Special_Bonus_Mana_Break : public CDOTA_Buff { public: - int32_t value; // 0x12b8 - int32_t burn_illusions_ranged; // 0x12bc - int32_t burn_illusions_melee; // 0x12c0 - float damage_per_burn; // 0x12c4 + int32_t value; // 0x12c8 + int32_t burn_illusions_ranged; // 0x12cc + int32_t burn_illusions_melee; // 0x12d0 + float damage_per_burn; // 0x12d4 }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Special_Bonus_Spell_Block : public CDOTA_Buff { public: - float block_cooldown; // 0x12b8 + float block_cooldown; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CountdownTimer m_CooldownTimer; // 0x12c0 + CountdownTimer m_CooldownTimer; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Spell_Immunity : public CDOTA_Modifier_MagicImmune { public: @@ -44986,15 +44987,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Haste : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_TrueStrike : public CDOTA_Buff { public: @@ -45002,33 +45003,33 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Special_Bonus_Reincarnation : public CDOTA_Buff { public: - float value; // 0x12b8 - float reincarnate_time; // 0x12bc - GameTime_t m_fLastReincarnationTime; // 0x12c0 + float value; // 0x12c8 + float reincarnate_time; // 0x12cc + GameTime_t m_fLastReincarnationTime; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Spell_Lifesteal : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Exp_Boost : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Stacking_Gold_Rate_Boost : public CDOTA_Buff { public: @@ -45036,7 +45037,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Stacking_Exp_Rate_Boost : public CDOTA_Buff { public: @@ -45163,21 +45164,8 @@ public: // No members available }; -// Alignment: 3 -// Size: 0x740 -class C_DOTASpecGraphPlayerData : public C_BaseEntity -{ -public: - // MNetworkEnable - int32_t m_rgGoldPerMinute[64]; // 0x538 - // MNetworkEnable - int32_t m_rgXPPerMinute[64]; // 0x638 - // MNetworkEnable - PlayerID_t m_nCreatedByPlayerID; // 0x738 -}; - -// Alignment: 21 -// Size: 0xa80 +// Alignment: 17 +// Size: 0x9f8 class C_DOTASpectatorGraphManager { private: @@ -45186,52 +45174,41 @@ public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x28 - int32_t m_nPlayerDataCount; // 0x50 + bool m_bTrackingTeamStats; // 0x50 private: - [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 public: - CountdownTimer m_SendTeamStatsTimer; // 0x58 - bool m_bTrackingTeamStats; // 0x70 + GameTime_t m_flStartTime; // 0x54 + // MNetworkEnable + int32_t m_rgRadiantTotalEarnedGold[64]; // 0x58 + // MNetworkEnable + int32_t m_rgDireTotalEarnedGold[64]; // 0x158 + // MNetworkEnable + int32_t m_rgRadiantTotalEarnedXP[64]; // 0x258 + // MNetworkEnable + int32_t m_rgDireTotalEarnedXP[64]; // 0x358 + // MNetworkEnable + int32_t m_rgRadiantNetWorth[64]; // 0x458 + // MNetworkEnable + int32_t m_rgDireNetWorth[64]; // 0x558 + // MNetworkEnable + GameTime_t m_flTotalEarnedGoldStartTime; // 0x658 + // MNetworkEnable + GameTime_t m_flTotalEarnedGoldEndTime; // 0x65c + // MNetworkEnable + int32_t m_nGoldGraphVersion; // 0x660 + // MNetworkEnable + int32_t m_rgRadiantWinChance[64]; // 0x664 private: - [[maybe_unused]] uint8_t __pad0071[0x3]; // 0x71 + [[maybe_unused]] uint8_t __pad0764[0x4]; // 0x764 public: - GameTime_t m_flStartTime; // 0x74 - PlayerID_t m_nNextUpdatePlayer; // 0x78 + CountdownTimer m_TeamStatsUpdateTimer; // 0x768 + CountdownTimer m_HeroInventorySnapshotTimer; // 0x780 + CUtlVector< sPlayerSnapshot > m_vecPlayerSnapshots[24]; // 0x798 private: - [[maybe_unused]] uint8_t __pad007c[0x4]; // 0x7c + [[maybe_unused]] uint8_t __pad09d8[0x18]; // 0x9d8 public: - // MNetworkEnable - CHandle< C_DOTASpecGraphPlayerData > m_rgPlayerGraphData[24]; // 0x80 - // MNetworkEnable - int32_t m_rgRadiantTotalEarnedGold[64]; // 0xe0 - // MNetworkEnable - int32_t m_rgDireTotalEarnedGold[64]; // 0x1e0 - // MNetworkEnable - int32_t m_rgRadiantTotalEarnedXP[64]; // 0x2e0 - // MNetworkEnable - int32_t m_rgDireTotalEarnedXP[64]; // 0x3e0 - // MNetworkEnable - int32_t m_rgRadiantNetWorth[64]; // 0x4e0 - // MNetworkEnable - int32_t m_rgDireNetWorth[64]; // 0x5e0 - // MNetworkEnable - GameTime_t m_flTotalEarnedGoldStartTime; // 0x6e0 - // MNetworkEnable - GameTime_t m_flTotalEarnedGoldEndTime; // 0x6e4 - // MNetworkEnable - int32_t m_nGoldGraphVersion; // 0x6e8 - // MNetworkEnable - int32_t m_rgRadiantWinChance[64]; // 0x6ec -private: - [[maybe_unused]] uint8_t __pad07ec[0x4]; // 0x7ec -public: - CountdownTimer m_TeamStatsUpdateTimer; // 0x7f0 - CountdownTimer m_HeroInventorySnapshotTimer; // 0x808 - CUtlVector< sPlayerSnapshot > m_vecPlayerSnapshots[24]; // 0x820 -private: - [[maybe_unused]] uint8_t __pad0a60[0x18]; // 0xa60 -public: - uint32_t m_unDataChangedCount; // 0xa78 + uint32_t m_unDataChangedCount; // 0x9f0 }; // Alignment: 1 @@ -45306,13 +45283,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Seasonal_Summon_Common_Thinker : public CDOTA_Buff { public: - float grace_period; // 0x12b8 - int32_t search_distance; // 0x12bc - float think_interval; // 0x12c0 + float grace_period; // 0x12c8 + int32_t search_distance; // 0x12cc + float think_interval; // 0x12d0 }; // Alignment: 0 @@ -45348,7 +45325,7 @@ public: }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Healing_Campfire_Aura : public CDOTA_Buff { public: @@ -45356,11 +45333,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Healing_Campfire_Heal : public CDOTA_Buff { public: - int32_t heal_amount; // 0x12b8 + int32_t heal_amount; // 0x12c8 }; // Alignment: 0 @@ -45380,13 +45357,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Seasonal_Summon_Snowman_Thinker : public CDOTA_Buff { public: - float grace_period; // 0x12b8 - int32_t search_distance; // 0x12bc - float think_interval; // 0x12c0 + float grace_period; // 0x12c8 + int32_t search_distance; // 0x12cc + float think_interval; // 0x12d0 }; // Alignment: 1 @@ -45398,47 +45375,47 @@ public: }; // Alignment: 31 -// Size: 0x1360 +// Size: 0x1370 class CDOTA_Modifier_Seasonal_Penguin : public CDOTA_Buff { public: - 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 __pad12f9[0x3]; // 0x12f9 -public: - Vector m_vJumpEndPos; // 0x12fc - bool m_bPlayedVroomSinceLastCrash; // 0x1308 + float m_fLifetimeGained; // 0x12c8 + Vector m_vTargetPos; // 0x12cc + int32_t m_nCurrentSpeed; // 0x12d8 + GameTime_t m_fLastBumpTime; // 0x12dc + Vector m_vLastPos; // 0x12e0 + CHandle< C_BaseEntity > m_hLastHit; // 0x12ec + Vector m_vDir; // 0x12f0 + Vector m_vRunEndPos; // 0x12fc + bool m_bIsInInitialRun; // 0x1308 private: [[maybe_unused]] uint8_t __pad1309[0x3]; // 0x1309 public: - 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 + Vector m_vJumpEndPos; // 0x130c + bool m_bPlayedVroomSinceLastCrash; // 0x1318 +private: + [[maybe_unused]] uint8_t __pad1319[0x3]; // 0x1319 +public: + ParticleIndex_t m_nVroomFX; // 0x131c + GameTime_t m_fLastSpeedStepTime; // 0x1320 + GameTime_t m_fLastSpeechTime; // 0x1324 + ParticleIndex_t m_nFXStackIndex; // 0x1328 + int32_t m_nBumpsSinceLastCrash; // 0x132c + CHandle< C_BaseEntity > m_hLastBumpingHero; // 0x1330 + int32_t initial_speed; // 0x1334 + int32_t max_speed; // 0x1338 + int32_t speed_step; // 0x133c + float speed_step_interval; // 0x1340 + float bump_delay; // 0x1344 + float bump_delay_absolute; // 0x1348 + int32_t bump_collision_radius; // 0x134c + int32_t run_distance; // 0x1350 + int32_t jump_distance; // 0x1354 + int32_t speed_after_crash; // 0x1358 + int32_t speed_gain_per_hero_bump; // 0x135c + float max_gainable_lifetime; // 0x1360 + float lifetime_gain_per_hero_bump; // 0x1364 + float min_speech_repeat_time; // 0x1368 }; // Alignment: 0 @@ -45458,7 +45435,7 @@ public: }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_FestiveFirework : public CDOTA_Buff { public: @@ -45474,7 +45451,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_Firecrackers : public CDOTA_Buff { public: @@ -45490,13 +45467,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Ability_Seasonal_Summon_Dragon_Thinker : public CDOTA_Buff { public: - float grace_period; // 0x12b8 - int32_t search_distance; // 0x12bc - float think_interval; // 0x12c0 + float grace_period; // 0x12c8 + int32_t search_distance; // 0x12cc + float think_interval; // 0x12d0 }; // Alignment: 0 @@ -45516,24 +45493,24 @@ public: }; // Alignment: 14 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Seasonal_Summon_CNY_Balloon_Thinker : public CDOTA_Buff { public: - 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 + float speed; // 0x12c8 + int32_t min_distance_before_bounce; // 0x12cc + float drag; // 0x12d0 + float max_height; // 0x12d4 + float max_vertical_move_time; // 0x12d8 + float bounce_turn_angle; // 0x12dc + float bounce_turn_angle_tree; // 0x12e0 + float bounce_delay; // 0x12e4 + Vector m_vLastPos; // 0x12e8 + Vector m_vDir; // 0x12f4 + float m_flSpeed; // 0x1300 + float m_flDistRemaining; // 0x1304 + float m_flTreeTimeRemaining; // 0x1308 + CHandle< C_BaseEntity > m_hLastHit; // 0x130c }; // Alignment: 0 @@ -45545,24 +45522,24 @@ public: }; // Alignment: 14 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Seasonal_Summon_TI9_Balloon_Thinker : public CDOTA_Buff { public: - 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 + float speed; // 0x12c8 + int32_t min_distance_before_bounce; // 0x12cc + float drag; // 0x12d0 + float max_height; // 0x12d4 + float max_vertical_move_time; // 0x12d8 + float bounce_turn_angle; // 0x12dc + float bounce_turn_angle_tree; // 0x12e0 + float bounce_delay; // 0x12e4 + Vector m_vLastPos; // 0x12e8 + Vector m_vDir; // 0x12f4 + float m_flSpeed; // 0x1300 + float m_flDistRemaining; // 0x1304 + float m_flTreeTimeRemaining; // 0x1308 + CHandle< C_BaseEntity > m_hLastHit; // 0x130c }; // Alignment: 0 @@ -45574,7 +45551,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_TI9_Drums_Thinker : public CDOTA_Buff { public: @@ -45590,11 +45567,11 @@ public: }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Seasonal_TI9_Shovel_Stasis_Trap : public CDOTA_Modifier_Seasonal_Summon_Common_Thinker { public: - CHandle< C_BaseEntity > m_hHero; // 0x12c8 + CHandle< C_BaseEntity > m_hHero; // 0x12d8 }; // Alignment: 0 @@ -45606,20 +45583,20 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Seasonal_TI9_Shovel_BabyRoshan : public CDOTA_Buff { public: - bool m_bFirstThink; // 0x12b8 + bool m_bFirstThink; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - GameTime_t m_flStartTime; // 0x12bc - Vector m_vecStartingPos; // 0x12c0 + GameTime_t m_flStartTime; // 0x12cc + Vector m_vecStartingPos; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_TI9_Monkey_Thinker : public CDOTA_Buff { public: @@ -45627,7 +45604,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_TI9_MonkeyPoop : public CDOTA_Buff { public: @@ -45651,16 +45628,16 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Lesser_NightCrawler_Pounce : public CDOTA_Buff { public: - 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 + int32_t pounce_distance; // 0x12c8 + float pounce_speed; // 0x12cc + float pounce_acceleration; // 0x12d0 + int32_t pounce_radius; // 0x12d4 + int32_t pounce_damage; // 0x12d8 + float leash_duration; // 0x12dc }; // Alignment: 0 @@ -45672,12 +45649,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Zombie_Berserk : public CDOTA_Buff { public: - int32_t berserk_bonus_attack_speed; // 0x12b8 - int32_t berserk_bonus_movement_speed; // 0x12bc + int32_t berserk_bonus_attack_speed; // 0x12c8 + int32_t berserk_bonus_movement_speed; // 0x12cc }; // Alignment: 0 @@ -45689,15 +45666,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Corpselord_Revive : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t ticks_to_revive; // 0x12cc + float tick_interval; // 0x12d0 + CHandle< C_DOTA_BaseNPC > m_pReviveTarget; // 0x12d4 + int32_t m_nCurrentTicks; // 0x12d8 }; // Alignment: 0 @@ -45751,12 +45728,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Creature_IceSlam_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t m_nPathEffectIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t m_nPathEffectIndex; // 0x12cc }; // Alignment: 0 @@ -45768,11 +45745,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_GreaterClarity : public CDOTA_Buff { public: - int32_t total_mana; // 0x12b8 + int32_t total_mana; // 0x12c8 }; // Alignment: 0 @@ -45784,11 +45761,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_UpgradedMortar : public CDOTA_Buff { public: - int32_t bonus_per_upgrade; // 0x12b8 + int32_t bonus_per_upgrade; // 0x12c8 }; // Alignment: 0 @@ -45800,28 +45777,28 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_UpgradedBarricade : public CDOTA_Buff { public: - int32_t armor_bonus_per_upgrade; // 0x12b8 - int32_t hp_bonus_per_upgrade; // 0x12bc + int32_t armor_bonus_per_upgrade; // 0x12c8 + int32_t hp_bonus_per_upgrade; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12e0 +class CDOTA_Modifier_Creature_HybridFlyer : public CDOTA_Buff +{ +public: + CountdownTimer m_ctTimer; // 0x12c8 }; // Alignment: 1 // Size: 0x12d0 -class CDOTA_Modifier_Creature_HybridFlyer : public CDOTA_Buff -{ -public: - CountdownTimer m_ctTimer; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 class CDOTA_Modifier_Creature_Full_Avoidance : public CDOTA_Buff { public: - float m_flOriginalAvoidance; // 0x12b8 + float m_flOriginalAvoidance; // 0x12c8 }; // Alignment: 0 @@ -45833,7 +45810,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_LootDrop_Thinker : public CDOTA_Buff { public: @@ -45841,7 +45818,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_ItemWiggle_Thinker : public CDOTA_Buff { public: @@ -45865,22 +45842,22 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_Summon_Snowman_Thinker : public CDOTA_Buff { public: - float tick_rate; // 0x12b8 - int32_t taunt_radius; // 0x12bc - float taunt_duration; // 0x12c0 + float tick_rate; // 0x12c8 + int32_t taunt_radius; // 0x12cc + float taunt_duration; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Snowman_Taunt : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hZombieTarget; // 0x12b8 - bool m_bDidSetAttackTarget; // 0x12bc + CHandle< C_BaseEntity > m_hZombieTarget; // 0x12c8 + bool m_bDidSetAttackTarget; // 0x12cc }; // Alignment: 0 @@ -45892,13 +45869,13 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Frostivus2018_Decorate_Tree_Thinker : public CDOTA_Buff { public: - int32_t num_explosions; // 0x12b8 - int32_t radius; // 0x12bc - float m_fExplosions; // 0x12c0 + int32_t num_explosions; // 0x12c8 + int32_t radius; // 0x12cc + float m_fExplosions; // 0x12d0 }; // Alignment: 0 @@ -45910,7 +45887,7 @@ public: }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_FestiveFirework : public CDOTA_Buff { public: @@ -45918,31 +45895,31 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_FestiveFirework_Blind : public CDOTA_Buff { public: - int32_t miss_rate; // 0x12b8 + int32_t miss_rate; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_Siege_Fireball_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float duration; // 0x12bc - float tick_interval; // 0x12c0 - ParticleIndex_t m_nFXIndex; // 0x12c4 + int32_t radius; // 0x12c8 + float duration; // 0x12cc + float tick_interval; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Siege_Fireball_Burn : public CDOTA_Buff { public: - int32_t damage_per_tick; // 0x12b8 - float tick_interval; // 0x12bc + int32_t damage_per_tick; // 0x12c8 + float tick_interval; // 0x12cc }; // Alignment: 0 @@ -45954,23 +45931,23 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeLock : public CDOTA_Buff { public: - float duration; // 0x12b8 - float duration_creep; // 0x12bc - int32_t chance_pct; // 0x12c0 - int32_t bonus_damage; // 0x12c4 - int32_t radius; // 0x12c8 + float duration; // 0x12c8 + float duration_creep; // 0x12cc + int32_t chance_pct; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + int32_t radius; // 0x12d8 }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker : public CDOTA_Buff { public: - CUtlVector< CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker::sDamageSources > m_vDamageSources; // 0x12b8 + CUtlVector< CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker::sDamageSources > m_vDamageSources; // 0x12c8 }; // Alignment: 2 @@ -46010,31 +45987,31 @@ public: }; // Alignment: 15 -// Size: 0x1318 +// Size: 0x1328 class CDOTA_Modifier_Frostivus2018_Luna_Eclipse : public CDOTA_Buff { public: - 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 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + int32_t radius; // 0x12cc + int32_t beams; // 0x12d0 + int32_t hit_count; // 0x12d4 + int32_t m_iBeamDamage; // 0x12d8 + float m_flBeamStun; // 0x12dc + Vector vPosition; // 0x12e0 + int32_t lucent_beam_radius; // 0x12ec + bool bAreaTarget; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - int32_t m_iTickCount; // 0x12e4 - ParticleIndex_t m_nMoonlightFXIndex; // 0x12e8 + int32_t m_iTickCount; // 0x12f4 + ParticleIndex_t m_nMoonlightFXIndex; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec + [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc public: - CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x12f0 - float beam_interval; // 0x1308 - float beam_interval_scepter; // 0x130c - float m_flInterval; // 0x1310 + CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x1300 + float beam_interval; // 0x1318 + float beam_interval_scepter; // 0x131c + float m_flInterval; // 0x1320 }; // Alignment: 0 @@ -46046,14 +46023,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_Clinkz_Strafe : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x12b8 - int32_t attack_spill_width; // 0x12bc - int32_t attack_spill_range; // 0x12c0 - float spill_damage_multiplier; // 0x12c4 + int32_t attack_speed_bonus_pct; // 0x12c8 + int32_t attack_spill_width; // 0x12cc + int32_t attack_spill_range; // 0x12d0 + float spill_damage_multiplier; // 0x12d4 }; // Alignment: 0 @@ -46065,19 +46042,19 @@ public: }; // Alignment: 6 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Frostivus2018_Clinkz_SearingArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 - bool m_bBonusAttack; // 0x12d0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + bool m_bBonusAttack; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t damage_bonus; // 0x12d4 - int32_t attack_spill_width; // 0x12d8 - int32_t attack_spill_range; // 0x12dc - float spill_damage_multiplier; // 0x12e0 + int32_t damage_bonus; // 0x12e4 + int32_t attack_spill_width; // 0x12e8 + int32_t attack_spill_range; // 0x12ec + float spill_damage_multiplier; // 0x12f0 }; // Alignment: 0 @@ -46089,36 +46066,36 @@ public: }; // Alignment: 7 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk : public CDOTA_Modifier_Invisible { public: - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x12c8 - bool m_bFreePathing; // 0x12e0 + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x12d8 + bool m_bFreePathing; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - 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 + int32_t move_speed_bonus_pct; // 0x12f4 + int32_t radius; // 0x12f8 + int32_t attack_steal_amount; // 0x12fc + float attack_steal_duration; // 0x1300 + int32_t max_stacks; // 0x1304 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk_BonusDamage : public CDOTA_Buff { public: - int32_t bonus_base_dmg_per_stack; // 0x12b8 + int32_t bonus_base_dmg_per_stack; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk_AttackDebuff : public CDOTA_Buff { public: - int32_t attack_steal_amount; // 0x12b8 + int32_t attack_steal_amount; // 0x12c8 }; // Alignment: 1 @@ -46130,25 +46107,25 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_Clinkz_Burning_Army_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x12b8 - Vector m_vFacePosition; // 0x12bc + int32_t m_iCount; // 0x12c8 + Vector m_vFacePosition; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Clinkz_Burning_Army : public CDOTA_Buff { public: - float attack_rate; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + float attack_rate; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_BroodBaby_Launch : public CDOTA_Buff { public: @@ -46170,7 +46147,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tusk_SnowballMeteor_Land : public CDOTA_Buff { public: @@ -46178,7 +46155,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tusk_SnowballMeteor_Burn : public CDOTA_Buff { public: @@ -46194,19 +46171,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Tusk_WalrusKick_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 + int32_t move_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Tusk_WalrusKick_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x12b8 + int32_t hp_threshold; // 0x12c8 }; // Alignment: 4 @@ -46232,27 +46209,27 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Frostivus2018_DarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: - 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 + GameTime_t m_flStartTime; // 0x12c8 + float damage; // 0x12cc + float max_damage_duration; // 0x12d0 + float slow_radius; // 0x12d4 + float burn_duration; // 0x12d8 + float burn_damage; // 0x12dc + float slow_attack_speed_pct; // 0x12e0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_DarkWillow_ShadowRealm_Burn_Slow : public CDOTA_Buff { public: - float burn_damage; // 0x12b8 - int32_t move_slow; // 0x12bc - float m_flDamageScale; // 0x12c0 + float burn_damage; // 0x12c8 + int32_t move_slow; // 0x12cc + float m_flDamageScale; // 0x12d0 }; // Alignment: 0 @@ -46264,35 +46241,35 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Frostivus2018_DarkWillow_BrambleMaze_Creation_Thinker : public CDOTA_Buff { public: - float latch_creation_interval; // 0x12b8 - float initial_creation_delay; // 0x12bc - int32_t placement_count; // 0x12c0 - float placement_duration; // 0x12c4 - int32_t m_iBramblesIndex; // 0x12c8 + float latch_creation_interval; // 0x12c8 + float initial_creation_delay; // 0x12cc + int32_t placement_count; // 0x12d0 + float placement_duration; // 0x12d4 + int32_t m_iBramblesIndex; // 0x12d8 }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Frostivus2018_DarkWillow_BrambleMaze_Thinker : public CDOTA_Buff { public: - int32_t latch_count; // 0x12b8 - int32_t latch_range; // 0x12bc - int32_t latch_vision; // 0x12c0 - float latch_creation_delay; // 0x12c4 - float latch_duration; // 0x12c8 + int32_t latch_count; // 0x12c8 + int32_t latch_range; // 0x12cc + int32_t latch_vision; // 0x12d0 + float latch_creation_delay; // 0x12d4 + float latch_duration; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x8]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x8]; // 0x12dc public: - bool m_bActive; // 0x12d4 + bool m_bActive; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - int32_t m_nLatchedEnemies; // 0x12d8 + int32_t m_nLatchedEnemies; // 0x12e8 }; // Alignment: 0 @@ -46304,18 +46281,18 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Frostivus2018_DarkWillow_Bedlam : public CDOTA_Buff { public: - 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 + float m_flRotation; // 0x12c8 + CHandle< C_BaseEntity > m_hWisp; // 0x12cc + GameTime_t m_flLastAttack; // 0x12d0 + int32_t roaming_radius; // 0x12d4 + int32_t attack_radius; // 0x12d8 + float roaming_seconds_per_rotation; // 0x12dc + float attack_interval; // 0x12e0 + int32_t attack_targets; // 0x12e4 }; // Alignment: 1 @@ -46327,27 +46304,27 @@ public: }; // Alignment: 10 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Frostivus2018_Puck_DreamCoil_Thinker : public CDOTA_Buff { public: - 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 + CUtlVector< CHandle< C_BaseEntity > > m_hLinkedEntities; // 0x12c8 + int32_t coil_radius; // 0x12e0 + int32_t coil_break_radius; // 0x12e4 + float coil_stun_duration; // 0x12e8 + float coil_stun_duration_scepter; // 0x12ec + float coil_slow; // 0x12f0 + int32_t coil_break_damage; // 0x12f4 + int32_t coil_break_damage_scepter; // 0x12f8 + bool m_bHasScepter; // 0x12fc private: - [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed + [[maybe_unused]] uint8_t __pad12fd[0x3]; // 0x12fd public: - CUtlVector< ParticleIndex_t > m_FXIndex; // 0x12f0 + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x1300 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_Puck_Coiled : public CDOTA_Buff { public: @@ -46364,34 +46341,34 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Spectre_ActiveDispersion : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x12b8 + int32_t damage_reflection_pct; // 0x12c8 }; // Alignment: 10 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Frostivus2018_Spectre_ActiveDispersion_Thinker : public CDOTA_Buff { public: - float m_fDamage; // 0x12b8 - float m_fLastRadius; // 0x12bc - float m_fCurRadius; // 0x12c0 - GameTime_t m_fLastThink; // 0x12c4 - bool m_bContracting; // 0x12c8 + float m_fDamage; // 0x12c8 + float m_fLastRadius; // 0x12cc + float m_fCurRadius; // 0x12d0 + GameTime_t m_fLastThink; // 0x12d4 + bool m_bContracting; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x7]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x7]; // 0x12d9 public: - CountdownTimer m_ViewerTimer; // 0x12d0 - ParticleIndex_t m_nFXIndex; // 0x12e8 + CountdownTimer m_ViewerTimer; // 0x12e0 + ParticleIndex_t m_nFXIndex; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec + [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc public: - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12f0 - int32_t speed; // 0x1308 - int32_t radius; // 0x130c + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1300 + int32_t speed; // 0x1318 + int32_t radius; // 0x131c }; // Alignment: 8 @@ -46410,29 +46387,29 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x12b8 + int32_t slow_movement_speed; // 0x12c8 }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t damage_reduction; // 0x12bc - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x12c0 + int32_t radius; // 0x12c8 + int32_t damage_reduction; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede_Bonus_Armor : public CDOTA_Buff { public: - int32_t bonus_base_armor_per_stack; // 0x12b8 + int32_t bonus_base_armor_per_stack; // 0x12c8 }; // Alignment: 0 @@ -46444,30 +46421,30 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Centaur_Return_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_Centaur_Return : public CDOTA_Buff { public: - int32_t return_damage; // 0x12b8 - float strength_gain_duration; // 0x12bc - int32_t max_stacks; // 0x12c0 - int32_t ally_factor; // 0x12c4 + int32_t return_damage; // 0x12c8 + float strength_gain_duration; // 0x12cc + int32_t max_stacks; // 0x12d0 + int32_t ally_factor; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Centaur_Return_Bonus_Strength : public CDOTA_Buff { public: - int32_t strength_gain; // 0x12b8 + int32_t strength_gain; // 0x12c8 }; // Alignment: 0 @@ -46487,7 +46464,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_Huskar_Inner_Fire_Disarm : public CDOTA_Buff { public: @@ -46495,13 +46472,13 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Self : public CDOTA_Buff { public: - int32_t health_cost; // 0x12b8 - int32_t spear_aoe; // 0x12bc - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + int32_t health_cost; // 0x12c8 + int32_t spear_aoe; // 0x12cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 0 @@ -46513,20 +46490,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Counter : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Debuff : public CDOTA_Buff { public: - int32_t burn_damage; // 0x12b8 - float tick_rate; // 0x12bc + int32_t burn_damage; // 0x12c8 + float tick_rate; // 0x12cc }; // Alignment: 4 @@ -46560,20 +46537,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Omniknight_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x12b8 - int32_t bonus_health_regen; // 0x12bc + int32_t speed_bonus; // 0x12c8 + int32_t bonus_health_regen; // 0x12cc }; // Alignment: 0 @@ -46585,11 +46562,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Omniknight_Repel : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 + int32_t damage_reduction; // 0x12c8 }; // Alignment: 5 @@ -46605,11 +46582,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Magnataur_Skewer_Bonus_Strength : public CDOTA_Buff { public: - int32_t strength_gain; // 0x12b8 + int32_t strength_gain; // 0x12c8 }; // Alignment: 0 @@ -46621,7 +46598,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_Pangolier_ShieldCrash_Jump : public CDOTA_Buff { public: @@ -46637,21 +46614,21 @@ public: }; // Alignment: 11 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Frostivus2018_TrollWarlord_BattleTrance : public CDOTA_Buff { public: - 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 + int32_t movement_speed; // 0x12c8 + int32_t attack_speed; // 0x12cc + int32_t lifesteal; // 0x12d0 + int32_t bonus_damage_pct; // 0x12d4 + float cleave_damage_pct; // 0x12d8 + int32_t cleave_starting_width; // 0x12dc + int32_t cleave_ending_width; // 0x12e0 + int32_t cleave_distance; // 0x12e4 + float splash_damage_pct; // 0x12e8 + int32_t splash_radius; // 0x12ec + CHandle< C_BaseEntity > m_hTarget; // 0x12f0 }; // Alignment: 0 @@ -46663,23 +46640,23 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_TrollWarlord_Fervor : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 - int32_t max_stacks; // 0x12bc - CHandle< C_BaseEntity > m_hUnit; // 0x12c0 + int32_t attack_speed; // 0x12c8 + int32_t max_stacks; // 0x12cc + CHandle< C_BaseEntity > m_hUnit; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_Earthshaker_Aftershock : public CDOTA_Buff { public: - int32_t aftershock_range; // 0x12b8 - float stun_duration; // 0x12bc - int32_t ability_damage; // 0x12c0 + int32_t aftershock_range; // 0x12c8 + float stun_duration; // 0x12cc + int32_t ability_damage; // 0x12d0 }; // Alignment: 7 @@ -46705,17 +46682,17 @@ public: }; // Alignment: 4 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Frostivus2018_Weaver_GeminateAttack : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 - int32_t m_iAttacksRemaining; // 0x12bc + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + int32_t m_iAttacksRemaining; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12c0[0x38]; // 0x12c0 + [[maybe_unused]] uint8_t __pad12d0[0x38]; // 0x12d0 public: - int32_t arrow_count; // 0x12f8 - int32_t bonus_range; // 0x12fc + int32_t arrow_count; // 0x1308 + int32_t bonus_range; // 0x130c }; // Alignment: 7 @@ -46741,7 +46718,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Diretide_Portal_Channeling : public CDOTA_Buff { public: @@ -46749,11 +46726,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Diretide_Portal_Buff : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hInvader; // 0x12b8 + CHandle< C_BaseEntity > m_hInvader; // 0x12c8 }; // Alignment: 4 @@ -46777,19 +46754,19 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Seasonal_Diretide2020_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x12b8 - float think_interval; // 0x12bc - float acknowledged_cooldown; // 0x12c0 - bool m_bAcknowledged; // 0x12c4 - bool m_bFirstThink; // 0x12c5 + int32_t acknowledge_range; // 0x12c8 + float think_interval; // 0x12cc + float acknowledged_cooldown; // 0x12d0 + bool m_bAcknowledged; // 0x12d4 + bool m_bFirstThink; // 0x12d5 private: - [[maybe_unused]] uint8_t __pad12c6[0x2]; // 0x12c6 + [[maybe_unused]] uint8_t __pad12d6[0x2]; // 0x12d6 public: - int32_t high_five_level; // 0x12c8 + int32_t high_five_level; // 0x12d8 }; // Alignment: 1 @@ -46801,7 +46778,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Spring2021_BombHolder : public CDOTA_Buff_Item { public: @@ -46809,7 +46786,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Spring2021_BombPlantable : public CDOTA_Buff { public: @@ -46817,13 +46794,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Spring2021_DefusalBomb : public CDOTA_Buff { public: - float BOMB_DURATION; // 0x12b8 - float BOMB_FAST_TICK_START; // 0x12bc - float BOMB_DEFAULT_TICK; // 0x12c0 + float BOMB_DURATION; // 0x12c8 + float BOMB_FAST_TICK_START; // 0x12cc + float BOMB_DEFAULT_TICK; // 0x12d0 }; // Alignment: 1 @@ -46844,31 +46821,31 @@ public: }; // Alignment: 11 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Spring2021_TowerDeathRing_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x12b8 - float m_fCurRadius; // 0x12bc - GameTime_t m_fLastThink; // 0x12c0 - bool m_bWindingUp; // 0x12c4 + float m_fLastRadius; // 0x12c8 + float m_fCurRadius; // 0x12cc + GameTime_t m_fLastThink; // 0x12d0 + bool m_bWindingUp; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - CountdownTimer m_ViewerTimer; // 0x12c8 - ParticleIndex_t m_nFXIndex; // 0x12e0 + CountdownTimer m_ViewerTimer; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12e8 - int32_t speed; // 0x1300 - int32_t radius; // 0x1304 - int32_t damage; // 0x1308 - float windup_time; // 0x130c + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12f8 + int32_t speed; // 0x1310 + int32_t radius; // 0x1314 + int32_t damage; // 0x1318 + float windup_time; // 0x131c }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Winter2022_EnableFeedableRoshanInteract : public CDOTA_Buff { public: @@ -46885,24 +46862,24 @@ public: }; // Alignment: 8 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_AghsFort_Tower_BlastWave_Thinker : public CDOTA_Buff { public: - float damage_pct; // 0x12b8 - float m_fCurRadius; // 0x12bc - GameTime_t m_fLastThink; // 0x12c0 + float damage_pct; // 0x12c8 + float m_fCurRadius; // 0x12cc + GameTime_t m_fLastThink; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CountdownTimer m_ViewerTimer; // 0x12c8 - ParticleIndex_t m_nFXIndex; // 0x12e0 + CountdownTimer m_ViewerTimer; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12e8 - int32_t speed; // 0x1300 - int32_t radius; // 0x1304 + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12f8 + int32_t speed; // 0x1310 + int32_t radius; // 0x1314 }; // Alignment: 0 @@ -46914,21 +46891,21 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Debuff : public CDOTA_Buff { public: - int32_t corpse_explosion_radius; // 0x12b8 - int32_t corpse_explosion_damage_pct; // 0x12bc - int32_t corpse_explosion_chance_pct; // 0x12c0 + int32_t corpse_explosion_radius; // 0x12c8 + int32_t corpse_explosion_damage_pct; // 0x12cc + int32_t corpse_explosion_chance_pct; // 0x12d0 }; // Alignment: 0 @@ -46940,19 +46917,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Reward_HPAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Reward_HPAura_Bonus : public CDOTA_Buff { public: - float bonus_hp; // 0x12b8 + float bonus_hp; // 0x12c8 }; // Alignment: 0 @@ -46964,20 +46941,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Reward_CritAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Reward_CritAura_Bonus : public CDOTA_Buff { public: - int32_t crit_chance; // 0x12b8 - int32_t crit_multiplier; // 0x12bc + int32_t crit_chance; // 0x12c8 + int32_t crit_multiplier; // 0x12cc }; // Alignment: 0 @@ -46989,19 +46966,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Reward_MagicResistAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Reward_MagicResistAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_magical_armor; // 0x12b8 + int32_t bonus_magical_armor; // 0x12c8 }; // Alignment: 0 @@ -47013,19 +46990,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Reward_ArmorAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Reward_ArmorAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 0 @@ -47037,39 +47014,39 @@ public: }; // Alignment: 15 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x12b8 - float m_fCurRadius; // 0x12bc - GameTime_t m_fLastThink; // 0x12c0 - bool m_bWindingUp; // 0x12c4 + float m_fLastRadius; // 0x12c8 + float m_fCurRadius; // 0x12cc + GameTime_t m_fLastThink; // 0x12d0 + bool m_bWindingUp; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - CountdownTimer m_ViewerTimer; // 0x12c8 - ParticleIndex_t m_nFXIndex; // 0x12e0 + CountdownTimer m_ViewerTimer; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - 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 + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12f8 + int32_t speed; // 0x1310 + int32_t radius; // 0x1314 + int32_t damage_min; // 0x1318 + int32_t damage_max; // 0x131c + int32_t slow_min; // 0x1320 + int32_t slow_max; // 0x1324 + float slow_duration; // 0x1328 + float windup_time; // 0x132c }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x12b8 + int32_t slow_amount; // 0x12c8 }; // Alignment: 0 @@ -47081,14 +47058,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Ascension_Bulwark : public CDOTA_Buff { public: - float physical_damage_reduction; // 0x12b8 - float physical_damage_reduction_side; // 0x12bc - float forward_angle; // 0x12c0 - float side_angle; // 0x12c4 + float physical_damage_reduction; // 0x12c8 + float physical_damage_reduction_side; // 0x12cc + float forward_angle; // 0x12d0 + float side_angle; // 0x12d4 }; // Alignment: 0 @@ -47100,21 +47077,21 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Ascension_AcidBlood_Thinker : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - int32_t radius; // 0x12bc - ParticleIndex_t m_nFXIndex; // 0x12c0 + int32_t damage; // 0x12c8 + int32_t radius; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ascension_AcidBlood : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x12b8 + int32_t armor_reduction; // 0x12c8 }; // Alignment: 0 @@ -47126,41 +47103,41 @@ public: }; // Alignment: 14 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_AghsFort_Firefly : public CDOTA_Buff { public: - 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 + float pool_duration; // 0x12c8 + int32_t radius; // 0x12cc + int32_t m_ifirefly_Active; // 0x12d0 + int32_t tree_radius; // 0x12d4 + int32_t damage_pct_per_second; // 0x12d8 + int32_t movement_speed; // 0x12dc + float trail_placement_duration; // 0x12e0 + float burn_linger_duration; // 0x12e4 + bool m_bActive; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - ParticleIndex_t m_nFXIndex; // 0x12dc - ParticleIndex_t m_nFXIndexB; // 0x12e0 - GameTime_t m_flStartTime; // 0x12e4 - Vector m_vLastFirePoolLoc; // 0x12e8 + ParticleIndex_t m_nFXIndex; // 0x12ec + ParticleIndex_t m_nFXIndexB; // 0x12f0 + GameTime_t m_flStartTime; // 0x12f4 + Vector m_vLastFirePoolLoc; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 public: - CUtlVector< Vector > m_vFirePoolLocations; // 0x12f8 + CUtlVector< Vector > m_vFirePoolLocations; // 0x1308 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Firefly_Burn : public CDOTA_Buff { public: - int32_t damage_pct_per_second; // 0x12b8 - int32_t movement_speed; // 0x12bc - float tick_interval; // 0x12c0 - GameTime_t m_fNextDamageTick; // 0x12c4 + int32_t damage_pct_per_second; // 0x12c8 + int32_t movement_speed; // 0x12cc + float tick_interval; // 0x12d0 + GameTime_t m_fNextDamageTick; // 0x12d4 }; // Alignment: 0 @@ -47172,7 +47149,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ascension_Silence_Charge : public CDOTA_Buff { public: @@ -47180,7 +47157,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ascension_Silence : public CDOTA_Buff { public: @@ -47188,7 +47165,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ascension_Silence_Display : public CDOTA_Buff { public: @@ -47204,22 +47181,22 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Ascension_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - int32_t radius; // 0x12c0 + int32_t radius; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Ascension_MagneticField_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance; // 0x12b8 - int32_t radius; // 0x12bc + int32_t evasion_chance; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 1 @@ -47231,7 +47208,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ascension_Invis_Warning : public CDOTA_Buff { public: @@ -47239,7 +47216,7 @@ public: }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Ascension_Invis : public CDOTA_Modifier_PersistentInvisibility { public: @@ -47247,17 +47224,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Ascension_Meteoric_Land : public CDOTA_Buff { public: - int32_t impact_radius; // 0x12b8 - float land_time; // 0x12bc - float burn_duration; // 0x12c0 + int32_t impact_radius; // 0x12c8 + float land_time; // 0x12cc + float burn_duration; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Morty_Hop_Controller : public CDOTA_Buff { public: @@ -47283,14 +47260,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Morty_Hop : public CDOTA_Buff { public: - float duration; // 0x12b8 - int32_t height; // 0x12bc - int32_t damage; // 0x12c0 - int32_t damage_radius; // 0x12c4 + float duration; // 0x12c8 + int32_t height; // 0x12cc + int32_t damage; // 0x12d0 + int32_t damage_radius; // 0x12d4 }; // Alignment: 0 @@ -47302,44 +47279,44 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_ExplosiveBarrel : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nPreviewFX; // 0x12c8 + int32_t radius; // 0x12cc + int32_t damage; // 0x12d0 + int32_t vision_radius; // 0x12d4 + float vision_duration; // 0x12d8 + int32_t model_scale; // 0x12dc + bool bExploding; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - float stun_duration; // 0x12d4 + float stun_duration; // 0x12e4 }; // Alignment: 10 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_AghsFort_PlayerTransform : public CDOTA_Buff { public: - itemid_t m_nCourierItemId; // 0x12b8 - CUtlString m_ModelNameOfDisguise; // 0x12c0 + itemid_t m_nCourierItemId; // 0x12c8 + CUtlString m_ModelNameOfDisguise; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 + [[maybe_unused]] uint8_t __pad12d8[0x8]; // 0x12d8 public: - 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 + int32_t m_nMoveSpeed; // 0x12e0 + int32_t m_nDisguisedSpeed; // 0x12e4 + ParticleIndex_t m_nDisguiseEffectIndex; // 0x12e8 + CHandle< C_BaseEntity > m_hCourier; // 0x12ec + bool m_bIsFlyingCourier; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x7]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x7]; // 0x12f1 public: - char* s_pszDonkeyDisguise; // 0x12e8 - float invul_duration; // 0x12f0 - bool m_bParticlesSpawned; // 0x12f4 + char* s_pszDonkeyDisguise; // 0x12f8 + float invul_duration; // 0x1300 + bool m_bParticlesSpawned; // 0x1304 }; // Alignment: 4 @@ -47354,7 +47331,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ravage_Potion : public CDOTA_Buff { public: @@ -47376,23 +47353,23 @@ public: }; // Alignment: 10 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_DragonPotion : public CDOTA_Buff_Item { public: - int32_t m_iOriginalAttackCapabilities; // 0x12b8 + int32_t m_iOriginalAttackCapabilities; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - 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 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12d0 + int32_t bonus_movement_speed; // 0x12d8 + int32_t bonus_attack_damage; // 0x12dc + int32_t bonus_attack_range; // 0x12e0 + int32_t attack_projectile_speed; // 0x12e4 + int32_t magic_resistance; // 0x12e8 + int32_t model_scale; // 0x12ec + int32_t skin_number; // 0x12f0 + bool flying_movement; // 0x12f4 }; // Alignment: 2 @@ -47405,12 +47382,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Arcanist_Potion : public CDOTA_Buff { public: - int32_t m_nCooldownReductionPct; // 0x12b8 - int32_t m_nManaCostReductionPct; // 0x12bc + int32_t m_nCooldownReductionPct; // 0x12c8 + int32_t m_nManaCostReductionPct; // 0x12cc }; // Alignment: 6 @@ -47427,7 +47404,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_EchoSlamPotion_Debuff : public CDOTA_Buff { public: @@ -47435,7 +47412,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Potion_SpendCharge : public CDOTA_Buff_Item { public: @@ -47443,33 +47420,33 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Thinker : public CDOTA_Buff_Item { public: - 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 + float m_fProcChance; // 0x12c8 + int32_t m_nRadius; // 0x12cc + int32_t m_nMovespeedBonus; // 0x12d0 + float m_fStunDuration; // 0x12d4 + float m_fSlowDuration; // 0x12d8 + float m_fDelay; // 0x12dc + int32_t m_nTorrentDamage; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Torrent : public CDOTA_Buff_Item { public: - int32_t m_nTorrentDamage; // 0x12b8 + int32_t m_nTorrentDamage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Torrent_Slow : public CDOTA_Buff { public: - int32_t m_nMovespeedBonus; // 0x12b8 + int32_t m_nMovespeedBonus; // 0x12c8 }; // Alignment: 0 @@ -47481,19 +47458,19 @@ public: }; // Alignment: 9 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_AghsFort_ShadowWaveEffectPotion : public CDOTA_Buff_Item { public: - 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 + int32_t m_iCurJumpCount; // 0x12c8 + Vector m_vCurTargetLoc; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x12d8 + float m_fProcChance; // 0x12f0 + int32_t m_nCastRange; // 0x12f4 + int32_t m_nBounceRadius; // 0x12f8 + int32_t m_nDamageRadius; // 0x12fc + int32_t m_nDamage; // 0x1300 + int32_t m_nMaxTargets; // 0x1304 }; // Alignment: 0 @@ -47513,30 +47490,30 @@ public: }; // Alignment: 16 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_Minor_Stats_Upgrade : public CDOTA_Buff { public: - 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 + int32_t bonus_all_stats; // 0x12c8 + int32_t bonus_primary_stat; // 0x12cc + int32_t bonus_movespeed; // 0x12d0 + int32_t bonus_hp_regen; // 0x12d4 + int32_t bonus_armor; // 0x12d8 + int32_t bonus_attack_damage; // 0x12dc + int32_t bonus_cast_range; // 0x12e0 + int32_t bonus_spell_amp; // 0x12e4 + int32_t bonus_health; // 0x12e8 + int32_t bonus_mana; // 0x12ec + int32_t bonus_attack_speed; // 0x12f0 + int32_t bonus_heal_amp; // 0x12f4 + int32_t bonus_mana_regen; // 0x12f8 + int32_t bonus_evasion; // 0x12fc + int32_t bonus_magic_resist; // 0x1300 + int32_t bonus_lifesteal; // 0x1304 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_AggroOverride : public CDOTA_Buff { public: @@ -47560,12 +47537,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_SwampSickness : public CDOTA_Buff { public: - int32_t slow_percent; // 0x12b8 - bool m_bInRiver; // 0x12bc + int32_t slow_percent; // 0x12c8 + bool m_bInRiver; // 0x12cc }; // Alignment: 0 @@ -47577,21 +47554,21 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_RestorativeFlower : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t heal; // 0x12cc + int32_t vision_radius; // 0x12d0 + float vision_duration; // 0x12d4 + int32_t model_scale; // 0x12d8 + bool bExploding; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - float stun_duration; // 0x12d0 - ParticleIndex_t m_nFXAmbient; // 0x12d4 + float stun_duration; // 0x12e0 + ParticleIndex_t m_nFXAmbient; // 0x12e4 }; // Alignment: 6 @@ -47608,44 +47585,44 @@ public: }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_StonehallGeneral_OverwhelmingOdds_Thinker : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t max_steps; // 0x12cc + float damage_interval; // 0x12d0 + int32_t m_nNumSteps; // 0x12d4 + int32_t m_nRadiusStep; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc + Vector m_vDir; // 0x12e0 }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Boss_DarkWillow_Bedlam : public CDOTA_Buff { public: - float m_flRotation; // 0x12b8 - CHandle< C_BaseEntity > m_hWisp; // 0x12bc - GameTime_t m_flLastAttack; // 0x12c0 - bool reversed; // 0x12c4 + float m_flRotation; // 0x12c8 + CHandle< C_BaseEntity > m_hWisp; // 0x12cc + GameTime_t m_flLastAttack; // 0x12d0 + bool reversed; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - int32_t roaming_radius; // 0x12c8 - int32_t attack_radius; // 0x12cc - float roaming_seconds_per_rotation; // 0x12d0 - float attack_interval; // 0x12d4 - bool m_bSetupWarning; // 0x12d8 + int32_t roaming_radius; // 0x12d8 + int32_t attack_radius; // 0x12dc + float roaming_seconds_per_rotation; // 0x12e0 + float attack_interval; // 0x12e4 + bool m_bSetupWarning; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - ParticleIndex_t m_nPreviewFX; // 0x12dc + ParticleIndex_t m_nPreviewFX; // 0x12ec }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Enrage : public CDOTA_Buff { public: @@ -47662,34 +47639,34 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Spectre_ActiveDispersion : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x12b8 + int32_t damage_reflection_pct; // 0x12c8 }; // Alignment: 10 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_AghsFort_Spectre_ActiveDispersion_Thinker : public CDOTA_Buff { public: - float m_fDamage; // 0x12b8 - float m_fLastRadius; // 0x12bc - float m_fCurRadius; // 0x12c0 - GameTime_t m_fLastThink; // 0x12c4 - bool m_bContracting; // 0x12c8 + float m_fDamage; // 0x12c8 + float m_fLastRadius; // 0x12cc + float m_fCurRadius; // 0x12d0 + GameTime_t m_fLastThink; // 0x12d4 + bool m_bContracting; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x7]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x7]; // 0x12d9 public: - CountdownTimer m_ViewerTimer; // 0x12d0 - ParticleIndex_t m_nFXIndex; // 0x12e8 + CountdownTimer m_ViewerTimer; // 0x12e0 + ParticleIndex_t m_nFXIndex; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec + [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc public: - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x12f0 - int32_t speed; // 0x1308 - int32_t radius; // 0x130c + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1300 + int32_t speed; // 0x1318 + int32_t radius; // 0x131c }; // Alignment: 3 @@ -47706,7 +47683,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_RockGolem_Avalanche_Stun : public CDOTA_Modifier_Stunned { public: @@ -47714,17 +47691,17 @@ public: }; // Alignment: 7 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_RockGolem_Avalanche : public CDOTA_Buff { public: - 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 + CUtlVector< C_DOTA_BaseNPC* > m_pHeroesHit; // 0x12c8 + int32_t radius; // 0x12e0 + float total_duration; // 0x12e4 + float stun_duration; // 0x12e8 + int32_t tick_count; // 0x12ec + int32_t m_damage; // 0x12f0 + int32_t m_nTicks; // 0x12f4 }; // Alignment: 1 @@ -47736,12 +47713,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Creature_Phoenix_FireSpiritCount : public CDOTA_Buff { public: - int32_t spirit_count; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t spirit_count; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 5 @@ -47765,18 +47742,18 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Creature_Phoenix_Sun : public CDOTA_Buff { public: - 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 + int32_t aura_radius; // 0x12c8 + float stun_duration; // 0x12cc + int32_t max_hero_attacks; // 0x12d0 + int32_t max_hero_attacks_scepter; // 0x12d4 + int32_t max_hero_attacks_required; // 0x12d8 + float caster_life_pct; // 0x12dc + CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x12e0 + int32_t m_iAttackCount; // 0x12e4 }; // Alignment: 0 @@ -47788,14 +47765,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_PudgeMiniboss_HatefulStrike : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t maxhp_percent_damage; // 0x12bc - int32_t every_n_attacks; // 0x12c0 - bool crit_active; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t maxhp_percent_damage; // 0x12cc + int32_t every_n_attacks; // 0x12d0 + bool crit_active; // 0x12d4 }; // Alignment: 0 @@ -47807,25 +47784,25 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruption : public CDOTA_Buff { public: - float armor_reduction_per_stack; // 0x12b8 - float stack_duration; // 0x12bc + float armor_reduction_per_stack; // 0x12c8 + float stack_duration; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruptionDebuff : public CDOTA_Buff { public: - float armor_reduction_per_stack; // 0x12b8 - float stack_duration; // 0x12bc + float armor_reduction_per_stack; // 0x12c8 + float stack_duration; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruptionStack : public CDOTA_Buff { public: @@ -47843,15 +47820,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Wave_Blast_Knockback : public CDOTA_Buff { public: - float disarm_duration; // 0x12b8 + float disarm_duration; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Wave_Blast_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -47867,12 +47844,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Waveblaster_Leap : public CDOTA_Buff { public: - float leap_speed; // 0x12b8 - float leap_acceleration; // 0x12bc + float leap_speed; // 0x12c8 + float leap_acceleration; // 0x12cc }; // Alignment: 0 @@ -47884,7 +47861,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Morphling_Waveform : public CDOTA_Buff { public: @@ -47904,7 +47881,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Creature_Impale : public CDOTA_Buff { public: @@ -47920,11 +47897,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Creature_SpikedCarapace : public CDOTA_Buff { public: - float stun_duration; // 0x12b8 + float stun_duration; // 0x12c8 }; // Alignment: 0 @@ -47936,7 +47913,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Walrus_Pudge_Harpoon_PathingFix : public CDOTA_Buff { public: @@ -47944,7 +47921,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Walrus_Pudge_Harpoon : public CDOTA_Buff { public: @@ -47960,25 +47937,25 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Creature_Flamestrike : public CDOTA_Buff { public: - int32_t impact_radius; // 0x12b8 - float ground_burn_duration; // 0x12bc - float damage; // 0x12c0 - int32_t vision_distance; // 0x12c4 - float vision_duration; // 0x12c8 + int32_t impact_radius; // 0x12c8 + float ground_burn_duration; // 0x12cc + float damage; // 0x12d0 + int32_t vision_distance; // 0x12d4 + float vision_duration; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Creature_Flamestrike_Ground : public CDOTA_Buff { public: - float burn_interval; // 0x12b8 - int32_t burn_radius; // 0x12bc - int32_t burn_dps; // 0x12c0 + float burn_interval; // 0x12c8 + int32_t burn_radius; // 0x12cc + int32_t burn_dps; // 0x12d0 }; // Alignment: 5 @@ -47994,7 +47971,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_DragonKnight_BreatheFire_Debuff : public CDOTA_Buff { public: @@ -48018,19 +47995,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PineCone_ShieldBash_Slow : public CDOTA_Buff { public: - int32_t knockback_slow; // 0x12b8 + int32_t knockback_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PineCone_ShieldBash_Crit : public CDOTA_Buff { public: - int32_t crit_mult; // 0x12b8 + int32_t crit_mult; // 0x12c8 }; // Alignment: 5 @@ -48048,7 +48025,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_PineCone_AcornShot_DelayThinker : public CDOTA_Buff { public: @@ -48056,7 +48033,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_PineCone_AcornShot_TreeThinker : public CDOTA_Buff { public: @@ -48064,20 +48041,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PineCone_AcornShot_BonusDamage : public CDOTA_Buff { public: - int32_t acorn_shot_damage; // 0x12b8 - int32_t base_damage_pct; // 0x12bc + int32_t acorn_shot_damage; // 0x12c8 + int32_t base_damage_pct; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PineCone_AcornShot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 0 @@ -48089,11 +48066,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Lifestealer_Enraged_Pulse : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 11 @@ -48118,11 +48095,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_UrnUpheaval : public CDOTA_Buff { public: - int32_t m_iSlow; // 0x12b8 + int32_t m_iSlow; // 0x12c8 }; // Alignment: 0 @@ -48134,15 +48111,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_UpheavalUrn_Reincarnation : public CDOTA_Buff { public: - float reincarnate_time; // 0x12b8 + float reincarnate_time; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_SkeletonKing_VampiricAura : public CDOTA_Buff { public: @@ -48166,15 +48143,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Shadow_Demon_Shadow_Poison : public CDOTA_Buff { public: - 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 + float stack_damage; // 0x12c8 + float bonus_stack_damage; // 0x12cc + int32_t max_multiply_stacks; // 0x12d0 + int32_t release_at_max_stacks; // 0x12d4 + ParticleIndex_t m_nFXStackIndex; // 0x12d8 }; // Alignment: 0 @@ -48196,13 +48173,13 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_ShadowShaman_Shackles : public CDOTA_Buff { public: - float tick_interval; // 0x12b8 - float total_damage; // 0x12bc - float channel_time; // 0x12c0 + float tick_interval; // 0x12c8 + float total_damage; // 0x12cc + float channel_time; // 0x12d0 }; // Alignment: 5 @@ -48222,41 +48199,41 @@ public: }; // Alignment: 14 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether : public CDOTA_Buff { public: - bool m_bInManaGained; // 0x12b8 + bool m_bInManaGained; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + CHandle< C_BaseEntity > m_hTarget; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > hStunnedEntities; // 0x12d0 + float slow_duration; // 0x12e8 + int32_t movespeed; // 0x12ec + int32_t self_bonus; // 0x12f0 + bool m_bIsInRange; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - 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 + int32_t radius; // 0x12f8 + int32_t latch_distance; // 0x12fc + float m_flHealthHealed; // 0x1300 + float m_flManaHealed; // 0x1304 + float tether_heal_amp; // 0x1308 + GameTime_t m_flHealMessageTime; // 0x130c + GameTime_t m_flManaMessageTime; // 0x1310 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether_Haste : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 - int32_t attack_speed; // 0x12bc - int32_t health_regen; // 0x12c0 - int32_t status_resist; // 0x12c4 + int32_t movement_speed; // 0x12c8 + int32_t attack_speed; // 0x12cc + int32_t health_regen; // 0x12d0 + int32_t status_resist; // 0x12d4 }; // Alignment: 0 @@ -48268,11 +48245,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 3 @@ -48286,11 +48263,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Wildwing_Tornado_Blast_Debuff : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x12b8 + GameTime_t m_flStartTime; // 0x12c8 }; // Alignment: 0 @@ -48302,26 +48279,26 @@ public: }; // Alignment: 3 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise : public CDOTA_Buff { public: - CountdownTimer m_RevealTimer; // 0x12b8 - CountdownTimer m_InvisAttackTimer; // 0x12d0 - CountdownTimer m_CooldownTimer; // 0x12e8 + CountdownTimer m_RevealTimer; // 0x12c8 + CountdownTimer m_InvisAttackTimer; // 0x12e0 + CountdownTimer m_CooldownTimer; // 0x12f8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Tree_Walking : public CDOTA_Buff { public: - int32_t movement_bonus; // 0x12b8 - int32_t regen_amp; // 0x12bc + int32_t movement_bonus; // 0x12c8 + int32_t regen_amp; // 0x12cc }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Invis : public CDOTA_Modifier_Invisible { public: @@ -48329,7 +48306,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_NearTreeDisplay : public CDOTA_Buff { public: @@ -48337,11 +48314,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Root : public CDOTA_Buff { public: - float m_iEntangleDamage; // 0x12b8 + float m_iEntangleDamage; // 0x12c8 }; // Alignment: 2 @@ -48354,25 +48331,25 @@ public: }; // Alignment: 7 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_PoisonNova_Creature_Thinker : public CDOTA_Buff { public: - 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 + float m_fCurRadius; // 0x12c8 + GameTime_t m_fLastThink; // 0x12cc + CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x12d0 + int32_t speed; // 0x12e8 + int32_t radius; // 0x12ec + int32_t start_radius; // 0x12f0 + float duration; // 0x12f4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonNova : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 + int32_t damage; // 0x12c8 }; // Alignment: 0 @@ -48384,23 +48361,23 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonSting_Applier : public CDOTA_Buff { public: - float duration; // 0x12b8 - int32_t damage; // 0x12bc + float duration; // 0x12c8 + int32_t damage; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Venomancer_PoisonSting : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x12b8 - int32_t movement_speed; // 0x12bc - int32_t m_nTicksRemaining; // 0x12c0 - float m_flAttackDamage; // 0x12c4 + int32_t m_iDamage; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t m_nTicksRemaining; // 0x12d0 + float m_flAttackDamage; // 0x12d4 }; // Alignment: 1 @@ -48412,26 +48389,26 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Firestorm_Thinker : public CDOTA_Buff { public: - 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 + int32_t wave_damage; // 0x12c8 + int32_t wave_count; // 0x12cc + int32_t radius; // 0x12d0 + int32_t summon_count; // 0x12d4 + float wave_interval; // 0x12d8 + float burn_duration; // 0x12dc + float first_wave_delay; // 0x12e0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Firestorm_Burn : public CDOTA_Buff { public: - float burn_damage; // 0x12b8 - float burn_interval; // 0x12bc + float burn_damage; // 0x12c8 + float burn_interval; // 0x12cc }; // Alignment: 1 @@ -48443,7 +48420,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_Warp_Channel_Soundstop : public CDOTA_Buff { public: @@ -48451,17 +48428,17 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_Warp_Channel : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nfxTargetTp; // 0x12c8 + ParticleIndex_t m_nfxTargetTp2; // 0x12cc + ParticleIndex_t m_nfxAmbientFx; // 0x12d0 + ParticleIndex_t m_nfxPortal1; // 0x12d4 + ParticleIndex_t m_nfxPortal2; // 0x12d8 + float animation_rate; // 0x12dc + int32_t stop_distance; // 0x12e0 }; // Alignment: 1 @@ -48473,11 +48450,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nPortalAmbientFX; // 0x12b8 + ParticleIndex_t m_nPortalAmbientFX; // 0x12c8 }; // Alignment: 1 @@ -48490,7 +48467,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Bonus_Pudge_Meat_Hook : public CDOTA_Buff { public: @@ -48498,7 +48475,7 @@ public: }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_AmoebaBoss_Summoned_Knockback : public CDOTA_Modifier_Knockback { public: @@ -48534,11 +48511,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Aghsfort_Modifier_Magnus_Push_Skewer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x12b8 + int32_t m_nProjectileID; // 0x12c8 }; // Alignment: 1 @@ -48550,7 +48527,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Hoodwink_ArcingBoomerang : public CDOTA_Buff { public: @@ -48566,13 +48543,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Pugna_Grandmaster_NetherWard : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float mana_multiplier; // 0x12bc - float mana_drained_per_attack; // 0x12c0 + int32_t radius; // 0x12c8 + float mana_multiplier; // 0x12cc + float mana_drained_per_attack; // 0x12d0 }; // Alignment: 0 @@ -48592,64 +48569,64 @@ public: }; // Alignment: 23 -// Size: 0x1330 +// Size: 0x1340 class CDOTA_Modifier_AghsFort_AssaultCaptain_SunRay : public CDOTA_Buff { public: - 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 + int32_t hp_cost_perc_per_second; // 0x12c8 + int32_t beam_range; // 0x12cc + int32_t base_damage; // 0x12d0 + int32_t base_heal; // 0x12d4 + float tick_interval; // 0x12d8 + float forward_move_speed; // 0x12dc + float turn_rate_initial; // 0x12e0 + float turn_rate; // 0x12e4 + int32_t radius; // 0x12e8 + int32_t self_turn_rate_percent; // 0x12ec + float m_flCurrentTime; // 0x12f0 + GameTime_t m_flLastDamageTime; // 0x12f4 + float m_flAccumulatedSelfDamage; // 0x12f8 + bool m_bMovingForward; // 0x12fc + bool m_bTurningFast; // 0x12fd private: - [[maybe_unused]] uint8_t __pad12ee[0x2]; // 0x12ee + [[maybe_unused]] uint8_t __pad12fe[0x2]; // 0x12fe public: - 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 + float m_flFacingTarget; // 0x1300 + float hp_perc_damage; // 0x1304 + float hp_perc_heal; // 0x1308 + ParticleIndex_t m_nBeamFXIndex; // 0x130c + CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x1310 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x1330 + bool m_bCreatedVisionThinkers; // 0x1334 private: - [[maybe_unused]] uint8_t __pad1325[0x3]; // 0x1325 + [[maybe_unused]] uint8_t __pad1335[0x3]; // 0x1335 public: - CHandle< C_BaseEntity > m_hBeamEndSound; // 0x1328 + CHandle< C_BaseEntity > m_hBeamEndSound; // 0x1338 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_BossWinterWyvern_Cold_Embrace_Thinker : public CDOTA_Buff { public: - int32_t freeze_radius; // 0x12b8 - int32_t freeze_damage; // 0x12bc - float freeze_debuff_duration; // 0x12c0 - float freeze_delay; // 0x12c4 - ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t freeze_radius; // 0x12c8 + int32_t freeze_damage; // 0x12cc + float freeze_debuff_duration; // 0x12d0 + float freeze_delay; // 0x12d4 + ParticleIndex_t m_nFXIndex; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_BossWinterWyvern_Cold_Embrace_Debuff : public CDOTA_Buff { public: - int32_t linger_movement_slow; // 0x12b8 - int32_t linger_damage; // 0x12bc + int32_t linger_movement_slow; // 0x12c8 + int32_t linger_damage; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Blessings_Debuff_Duration_Increase : public CDOTA_Buff { public: @@ -48667,14 +48644,14 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_TrapRoom_Hookshot : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - int32_t speed; // 0x12c0 - float duration; // 0x12c4 + int32_t speed; // 0x12d0 + float duration; // 0x12d4 }; // Alignment: 0 @@ -48686,7 +48663,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_TrapRoom_MeatHook_PathingFix : public CDOTA_Buff { public: @@ -48694,7 +48671,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_TrapRoom_MeatHook : public CDOTA_Buff { public: @@ -48702,7 +48679,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Effigy_AghsFort : public CDOTA_Buff { public: @@ -48731,7 +48708,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Watch_Tower_Capturing : public CDOTA_Buff { public: @@ -48739,28 +48716,28 @@ public: }; // Alignment: 15 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_AghsFort_Watch_Tower : public CDOTA_Buff { public: - 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 + TowerState_t m_nState; // 0x12c8 + float m_flYaw; // 0x12cc + int32_t m_nCaptureDuration; // 0x12d0 + GameTime_t m_flEffectiveCaptureStartTime; // 0x12d4 + int32_t m_nCapturingPlayerCount; // 0x12d8 + float m_flCaptureProgress; // 0x12dc + int32_t m_iCapturingTeam; // 0x12e0 + ParticleIndex_t m_nFxOutpostAmbient; // 0x12e4 + GameTime_t m_flDestroyTime; // 0x12e8 + GameTime_t m_flAutoChannelCompleteTime; // 0x12ec + bool m_bAscensionLevelPicker; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - int32_t m_nEliteChallengeLevel; // 0x12e4 - CUtlString m_strNextRoomName; // 0x12e8 - CUtlString m_strNextEncounterName; // 0x12f0 - bool m_bStartedBeamFacing; // 0x12f8 + int32_t m_nEliteChallengeLevel; // 0x12f4 + CUtlString m_strNextRoomName; // 0x12f8 + CUtlString m_strNextEncounterName; // 0x1300 + bool m_bStartedBeamFacing; // 0x1308 }; // Alignment: 0 @@ -48772,19 +48749,19 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x12b8 - float think_interval; // 0x12bc - float acknowledged_cooldown; // 0x12c0 - bool m_bAcknowledged; // 0x12c4 - bool m_bFirstThink; // 0x12c5 + int32_t acknowledge_range; // 0x12c8 + float think_interval; // 0x12cc + float acknowledged_cooldown; // 0x12d0 + bool m_bAcknowledged; // 0x12d4 + bool m_bFirstThink; // 0x12d5 private: - [[maybe_unused]] uint8_t __pad12c6[0x2]; // 0x12c6 + [[maybe_unused]] uint8_t __pad12d6[0x2]; // 0x12d6 public: - int32_t high_five_level; // 0x12c8 + int32_t high_five_level; // 0x12d8 }; // Alignment: 0 @@ -48796,41 +48773,41 @@ public: }; // Alignment: 15 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_Seasonal_TI10_Portal : public CDOTA_Buff { public: - Vector m_vSpawnPos; // 0x12b8 + Vector m_vSpawnPos; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< Vector > m_vecEmissions; // 0x12c8 - bool m_bChatSent; // 0x12e0 + CUtlVector< Vector > m_vecEmissions; // 0x12d8 + bool m_bChatSent; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - 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 + int32_t m_nPhase; // 0x12f4 + int32_t m_nNumEmitted; // 0x12f8 + int32_t m_nNumDrops; // 0x12fc + GameTime_t m_flStartTime; // 0x1300 + GameTime_t m_flLastEmitTime; // 0x1304 + bool m_bIsOnRadiant; // 0x1308 + bool m_bUseLargeEmit; // 0x1309 private: - [[maybe_unused]] uint8_t __pad12fa[0x2]; // 0x12fa + [[maybe_unused]] uint8_t __pad130a[0x2]; // 0x130a public: - int32_t m_nOutcome; // 0x12fc + int32_t m_nOutcome; // 0x130c private: - [[maybe_unused]] uint8_t __pad1300[0x10]; // 0x1300 + [[maybe_unused]] uint8_t __pad1310[0x10]; // 0x1310 public: - int32_t PHASE_OPEN; // 0x1310 - int32_t PHASE_EMIT; // 0x1314 - int32_t PHASE_EMIT_DONE; // 0x1318 - int32_t PHASE_CLOSE; // 0x131c + int32_t PHASE_OPEN; // 0x1320 + int32_t PHASE_EMIT; // 0x1324 + int32_t PHASE_EMIT_DONE; // 0x1328 + int32_t PHASE_CLOSE; // 0x132c }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_TI10_DiscoBall : public CDOTA_Buff { public: @@ -48857,12 +48834,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_TI10_DiscoBall_Channeling : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t m_nGesture; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t m_nGesture; // 0x12cc }; // Alignment: 1 @@ -48884,56 +48861,56 @@ public: }; // Alignment: 39 -// Size: 0x1380 +// Size: 0x1390 class CDOTA_Modifier_Seasonal_TI10_SoccerBall : public CDOTA_Buff { public: - 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 + Vector m_vPost1; // 0x12c8 + Vector m_vPost2; // 0x12d4 + Vector m_vPostForward; // 0x12e0 + ParticleIndex_t m_nPost1FXIndex; // 0x12ec + ParticleIndex_t m_nPost2FXIndex; // 0x12f0 + ParticleIndex_t m_nPost3FXIndex; // 0x12f4 + int32_t PHASE_START; // 0x12f8 + int32_t PHASE_GESTURE; // 0x12fc + int32_t PHASE_FX; // 0x1300 + int32_t PHASE_MOTION; // 0x1304 + int32_t PHASE_IMPACT; // 0x1308 + int32_t PHASE_FAIL; // 0x130c + int32_t PHASE_CROSSED_GOAL; // 0x1310 + int32_t PHASE_GOAL; // 0x1314 + float tick_interval; // 0x1318 + float forward_move_speed; // 0x131c + float magnus_coefficient; // 0x1320 + float magnus_falloff; // 0x1324 + float drag_coefficient; // 0x1328 + float min_delay; // 0x132c + float max_delay; // 0x1330 + int32_t hit_radius; // 0x1334 + ParticleIndex_t m_nFXIndex; // 0x1338 + Vector m_vVelocity; // 0x133c + Vector m_vSpawnPos; // 0x1348 + Vector m_vTargetPos; // 0x1354 + int32_t m_nPhase; // 0x1360 + int32_t m_nHits; // 0x1364 + float m_flMagnusValue; // 0x1368 + GameTime_t m_flStartTime; // 0x136c + float m_flDelay; // 0x1370 + GameTime_t m_flStateChangeTime; // 0x1374 + bool m_bFirstThink; // 0x1378 + bool m_bGroundHit; // 0x1379 private: - [[maybe_unused]] uint8_t __pad136a[0x2]; // 0x136a + [[maybe_unused]] uint8_t __pad137a[0x2]; // 0x137a public: - PlayerID_t m_nTargetPlayerID; // 0x136c - float m_flCurTime; // 0x1370 - float m_flStartZ; // 0x1374 - float m_flAirTime; // 0x1378 - float m_flHeight; // 0x137c + PlayerID_t m_nTargetPlayerID; // 0x137c + float m_flCurTime; // 0x1380 + float m_flStartZ; // 0x1384 + float m_flAirTime; // 0x1388 + float m_flHeight; // 0x138c }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_TI10_HotPotato : public CDOTA_Buff { public: @@ -48941,7 +48918,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_TI10_HotPotato_InboundPotato : public CDOTA_Buff { public: @@ -48949,7 +48926,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_TI10_HotPotato_Debuff : public CDOTA_Buff { public: @@ -48985,19 +48962,19 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Seasonal_TI10_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x12b8 - float think_interval; // 0x12bc - float acknowledged_cooldown; // 0x12c0 - bool m_bAcknowledged; // 0x12c4 - bool m_bFirstThink; // 0x12c5 + int32_t acknowledge_range; // 0x12c8 + float think_interval; // 0x12cc + float acknowledged_cooldown; // 0x12d0 + bool m_bAcknowledged; // 0x12d4 + bool m_bFirstThink; // 0x12d5 private: - [[maybe_unused]] uint8_t __pad12c6[0x2]; // 0x12c6 + [[maybe_unused]] uint8_t __pad12d6[0x2]; // 0x12d6 public: - int32_t high_five_level; // 0x12c8 + int32_t high_five_level; // 0x12d8 }; // Alignment: 0 @@ -49009,40 +48986,40 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_TI11_RockPaperScissors_Playing : public CDOTA_Buff { public: - float input_duration; // 0x12b8 - float think_interval; // 0x12bc + float input_duration; // 0x12c8 + float think_interval; // 0x12cc }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Seasonal_TI11_RockPaperScissors : public CDOTA_Buff { public: - float challenge_duration; // 0x12b8 - float reveal_duration; // 0x12bc - float reveal_delay; // 0x12c0 - float completed_cooldown; // 0x12c4 - float think_interval; // 0x12c8 - float acknowledge_range; // 0x12cc + float challenge_duration; // 0x12c8 + float reveal_duration; // 0x12cc + float reveal_delay; // 0x12d0 + float completed_cooldown; // 0x12d4 + float think_interval; // 0x12d8 + float acknowledge_range; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12d0[0x4]; // 0x12d0 + [[maybe_unused]] uint8_t __pad12e0[0x4]; // 0x12e0 public: - GameTime_t m_flRevealTime; // 0x12d4 - ParticleIndex_t m_nOverheadFXIndex; // 0x12d8 + GameTime_t m_flRevealTime; // 0x12e4 + ParticleIndex_t m_nOverheadFXIndex; // 0x12e8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Seasonal_TI11_BubbleGun : public CDOTA_Buff { public: - float think_interval; // 0x12b8 - int32_t max_charges; // 0x12bc - int32_t m_nChargesUsed; // 0x12c0 + float think_interval; // 0x12c8 + int32_t max_charges; // 0x12cc + int32_t m_nChargesUsed; // 0x12d0 }; // Alignment: 0 @@ -49105,38 +49082,38 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_Summon_TI11_Balloon_Visuals : public CDOTA_Buff { public: - float model_scale_per_stack; // 0x12b8 - bool m_bIsRadiant; // 0x12bc + float model_scale_per_stack; // 0x12c8 + bool m_bIsRadiant; // 0x12cc }; // Alignment: 19 -// Size: 0x1318 +// Size: 0x1328 class CDOTA_Modifier_Seasonal_Summon_TI11_Balloon_Thinker : public CDOTA_Buff { public: - 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 + float speed; // 0x12c8 + int32_t min_distance_before_bounce; // 0x12cc + float drag; // 0x12d0 + float max_height; // 0x12d4 + float max_vertical_move_time; // 0x12d8 + float bounce_turn_angle; // 0x12dc + float bounce_turn_angle_tree; // 0x12e0 + float bounce_delay; // 0x12e4 + int32_t max_bounces; // 0x12e8 + float max_model_scale; // 0x12ec + float power_growth_exponent; // 0x12f0 + Vector m_vLastPos; // 0x12f4 + Vector m_vDir; // 0x1300 + float m_flSpeed; // 0x130c + float m_flDistRemaining; // 0x1310 + float m_flTreeTimeRemaining; // 0x1314 + int32_t m_nTimesBounced; // 0x1318 + float m_flModelScale; // 0x131c + CHandle< C_BaseEntity > m_hLastHit; // 0x1320 }; // Alignment: 1 @@ -49148,15 +49125,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_TI11_DuelAccepted : public CDOTA_Buff { public: - PlayerID_t m_nDuelOpponent; // 0x12b8 + PlayerID_t m_nDuelOpponent; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_TI11_CongaLine : public CDOTA_Buff { public: @@ -49164,7 +49141,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_TI11_CongaLineDancer : public CDOTA_Buff { public: @@ -49172,11 +49149,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_TI11_CongaLineSlow : public CDOTA_Buff { public: - float m_flMaxSpeed; // 0x12b8 + float m_flMaxSpeed; // 0x12c8 }; // Alignment: 1 @@ -49196,19 +49173,19 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Plus_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x12b8 - float think_interval; // 0x12bc - float acknowledged_cooldown; // 0x12c0 - bool m_bAcknowledged; // 0x12c4 - bool m_bFirstThink; // 0x12c5 + int32_t acknowledge_range; // 0x12c8 + float think_interval; // 0x12cc + float acknowledged_cooldown; // 0x12d0 + bool m_bAcknowledged; // 0x12d4 + bool m_bFirstThink; // 0x12d5 private: - [[maybe_unused]] uint8_t __pad12c6[0x2]; // 0x12c6 + [[maybe_unused]] uint8_t __pad12d6[0x2]; // 0x12d6 public: - int32_t high_five_level; // 0x12c8 + int32_t high_five_level; // 0x12d8 }; // Alignment: 0 @@ -49232,30 +49209,30 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_MuertasGun : public CDOTA_Buff_Item { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t bonus_cast_pct; // 0x12bc - int32_t bonus_spell_amp; // 0x12c0 - int32_t health_pct_penalty; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t bonus_cast_pct; // 0x12cc + int32_t bonus_spell_amp; // 0x12d0 + int32_t health_pct_penalty; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Muertas_Gun_Slow : public CDOTA_Buff { public: - int32_t impact_slow_percent; // 0x12b8 + int32_t impact_slow_percent; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Muertas_Gun_Fear : public CDOTA_Buff { public: - Vector m_vFearDir; // 0x12b8 + Vector m_vFearDir; // 0x12c8 }; // Alignment: 0 @@ -49267,7 +49244,7 @@ public: }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ofrenda_Pledge : public CDOTA_Buff { public: @@ -49299,7 +49276,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_10thAnniversary_PartyHat : public CDOTA_Buff { public: @@ -49323,36 +49300,36 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_AghsFort_Bloodstone_Active : public CDOTA_Buff { public: - int32_t mana_cost_percentage; // 0x12b8 - float restore_duration; // 0x12bc - float m_flDrainAmount; // 0x12c0 + int32_t mana_cost_percentage; // 0x12c8 + float restore_duration; // 0x12cc + float m_flDrainAmount; // 0x12d0 }; // Alignment: 12 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Item_AghsFort_Bloodstone : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_health; // 0x12c8 + int32_t bonus_mana; // 0x12cc + int32_t mana_regen_multiplier; // 0x12d0 + float regen_per_charge; // 0x12d4 + float amp_per_charge; // 0x12d8 + int32_t death_charges; // 0x12dc + int32_t kill_charges; // 0x12e0 + float hero_lifesteal; // 0x12e4 + float creep_lifesteal; // 0x12e8 + int32_t bonus_intellect; // 0x12ec + int32_t spell_amp; // 0x12f0 + int32_t spell_lifesteal_amp; // 0x12f4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_AghsFort_Bloodstone_GainableCharges : public CDOTA_Buff { public: @@ -49472,6 +49449,60 @@ public: // No members available }; +// Alignment: 10 +// Size: 0x48 +struct RoadToTIQuestDefinition_t +{ +public: + // MPropertyDescription "unique integer ID of this Road To TI quest within the challenge" + RoadToTIQuestID_t m_unID; // 0x0 + // MPropertyDescription "Quest type (match or player)" + ERoadToTIQuestType m_eQuestType; // 0x4 + // MPropertyDescription "Period the quest represents" + uint32_t m_unPeriod; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + // MPropertyDescription "Match ID for match quests" + MatchID_t m_unMatchID; // 0x10 + // MPropertyDescription "Series ID for match quests" + uint32_t m_unSeriesID; // 0x18 + // MPropertyDescription "League ID for match quests" + uint32_t m_unLeagueID; // 0x1c + // MPropertyDescription "Player account ID for player quests" + uint32_t m_unPlayerID; // 0x20 + // MPropertyDescription "Team ID of the player or match winner" + uint32_t m_unTeamID; // 0x24 + // MPropertyDescription "Heroes available for the quest" + CUtlVector< uint8 > m_vecHeroes; // 0x28 + // MPropertyDescription "True if this is a developer quest" + bool m_bDeveloper; // 0x40 +}; + +// Alignment: 7 +// Size: 0x98 +class CDOTARoadToTIChallengeDefinition +{ +public: + // MPropertyDescription "Event ID that the challenge is for" + EEvent m_eEvent; // 0x0 + // MPropertyDescription "Total Quest Periods within the challenge" + uint32_t m_unTotalQuestPeriods; // 0x4 + // MPropertyDescription "Number of hero options expected in each quest." + uint32_t m_unHeroesPerQuest; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + // MPropertyDescription "A list of quest difficulties. This defines the pattern for each period and total quests per period. Eg [1, 1, 2] would mean every period has 3 quests (two easy, then one medium)." + CUtlVector< uint32 > m_vecQuestPattern; // 0x10 + // MPropertyDescription "Item def for Culling Blade item" + item_definition_index_t m_unCullingBladeItemDef; // 0x28 + // MPropertyDescription "Item def for Reroll Token item" + item_definition_index_t m_unRerollItemDef; // 0x2c + // MPropertyDescription "The quests in the challenge" + CUtlVector< RoadToTIQuestDefinition_t > m_vecQuests; // 0x30 +}; + // Alignment: 5 // Size: 0x38 struct InGamePredictionData_t @@ -49589,24 +49620,24 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Jungle_Spirit : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > hCasterList; // 0x12b8 - bool bAcceptingGems; // 0x12d0 + CUtlVector< CHandle< C_BaseEntity > > hCasterList; // 0x12c8 + bool bAcceptingGems; // 0x12e0 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Spirit_Gem : public CDOTA_Buff { public: - float m_flOriginalModelScale; // 0x12b8 - int32_t m_nHealthBarOffsetOverride; // 0x12bc - ParticleIndex_t m_nFXStackIndex; // 0x12c0 - float m_fScaleGainPerGem; // 0x12c4 - int32_t m_nLevel; // 0x12c8 + float m_flOriginalModelScale; // 0x12c8 + int32_t m_nHealthBarOffsetOverride; // 0x12cc + ParticleIndex_t m_nFXStackIndex; // 0x12d0 + float m_fScaleGainPerGem; // 0x12d4 + int32_t m_nLevel; // 0x12d8 }; // Alignment: 0 @@ -49618,23 +49649,23 @@ public: }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Jungle_Spirit_Reductions : public CDOTA_Buff { public: - 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 + CUtlVector< CHandle< C_BaseEntity > > m_vecAlliesNearby; // 0x12c8 + int32_t m_nAlliesNearby; // 0x12e0 + int32_t stat_reduction_pct; // 0x12e4 + int32_t armor_reduction; // 0x12e8 + int32_t radius; // 0x12ec }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Jungle_Spirit_Ally_Alert : public CDOTA_Buff { public: - GameTime_t m_flLastHowl; // 0x12b8 + GameTime_t m_flLastHowl; // 0x12c8 }; // Alignment: 0 @@ -49646,29 +49677,29 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation_Effect : public CDOTA_Buff { public: - int32_t distance_from_shrine; // 0x12b8 + int32_t distance_from_shrine; // 0x12c8 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation_Regen : public CDOTA_Buff { public: - int32_t health_restore; // 0x12b8 - int32_t mana_restore; // 0x12bc - float regen_interval; // 0x12c0 + int32_t health_restore; // 0x12c8 + int32_t mana_restore; // 0x12cc + float regen_interval; // 0x12d0 }; // Alignment: 0 @@ -49680,7 +49711,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_JungleSpirit_BaseAttackRangeIncrease : public CDOTA_Buff { public: @@ -49704,23 +49735,23 @@ public: }; // Alignment: 10 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Morokai_JungleHealBeam : public CDOTA_Buff { public: - 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 + int32_t beam_count; // 0x12c8 + int32_t beam_range; // 0x12cc + int32_t beam_radius; // 0x12d0 + int32_t beam_buffer; // 0x12d4 + int32_t turn_rate; // 0x12d8 + int32_t hp_per_second; // 0x12dc + GameTime_t m_flLastThinkTime; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d4[0x1c]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x1c]; // 0x12e4 public: - CUtlVector< CHandle< C_BaseEntity > > m_vecTargetedEntities; // 0x12f0 - float flLastTreeDestroyed; // 0x1308 - float flTreeDestructionCooldown; // 0x130c + CUtlVector< CHandle< C_BaseEntity > > m_vecTargetedEntities; // 0x1300 + float flLastTreeDestroyed; // 0x1318 + float flTreeDestructionCooldown; // 0x131c }; // Alignment: 0 @@ -49795,7 +49826,7 @@ public: }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Ability_JungleSpirit_Volcano_Eruption_Knockback : public CDOTA_Modifier_Knockback { public: @@ -49835,43 +49866,43 @@ public: }; // Alignment: 12 -// Size: 0x1348 +// Size: 0x1358 class CDOTA_Modifier_JungleSpirit_Storm_Cyclone : public CDOTA_Buff { public: - 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 + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x12c8 + CUtlVector< CHandle< C_BaseEntity > > m_hCyclones; // 0x12e0 + int32_t projectile_distance; // 0x12f8 + int32_t projectile_radius; // 0x12fc + int32_t projectile_amount; // 0x1300 + float projectile_duration; // 0x1304 + float delay; // 0x1308 + GameTime_t m_flDieTime; // 0x130c + GameTime_t m_flStartTime; // 0x1310 private: - [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 + [[maybe_unused]] uint8_t __pad1314[0x4]; // 0x1314 public: - CUtlVector< Vector > m_vLeftControl; // 0x1308 - CUtlVector< Vector > m_vSourceLoc; // 0x1320 - Vector m_vTargetLoc; // 0x1338 + CUtlVector< Vector > m_vLeftControl; // 0x1318 + CUtlVector< Vector > m_vSourceLoc; // 0x1330 + Vector m_vTargetLoc; // 0x1348 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Jungle_Spirit_Storm_Cyclone_Debuff : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x12b8 + GameTime_t m_flStartTime; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Jungle_Spirit_Storm_Cyclone_Invulnerable : public CDOTA_Buff { public: - ParticleIndex_t nFXIndex; // 0x12b8 - int32_t projectile_radius; // 0x12bc - int32_t projectile_destruction_radius; // 0x12c0 + ParticleIndex_t nFXIndex; // 0x12c8 + int32_t projectile_radius; // 0x12cc + int32_t projectile_destruction_radius; // 0x12d0 }; // Alignment: 0 @@ -49899,7 +49930,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Jungle_Spirit_Storm_Multicast : public CDOTA_Buff { public: @@ -49907,7 +49938,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Jungle_Spirit_Storm_Multicast_Cooldown : public CDOTA_Buff { public: @@ -49915,7 +49946,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Jungle_Spirit_Jungle_Lumber_Lock : public CDOTA_Buff { public: @@ -49923,7 +49954,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Jungle_Spirit_Jungle_Lumber_Lock_Immunity : public CDOTA_Buff { public: @@ -49931,7 +49962,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Jungle_Spirit_Volcano_Fire_Strike : public CDOTA_Buff { public: @@ -49939,11 +49970,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Jungle_Spirit_Volcano_Fire_Strike_Caster : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x12b8 + int32_t damage_modifier; // 0x12c8 }; // Alignment: 0 @@ -49955,14 +49986,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Jungle_Spirit_Range_Attack : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t projectile_speed; // 0x12bc - float turn_rate; // 0x12c0 - CHandle< C_BaseEntity > m_hAttachTarget; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t projectile_speed; // 0x12cc + float turn_rate; // 0x12d0 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x12d4 }; // Alignment: 0 @@ -50070,136 +50101,136 @@ public: }; // Alignment: 25 -// Size: 0x16b8 +// Size: 0x1650 class C_EnvCombinedLightProbeVolume : public C_BaseEntity { private: - [[maybe_unused]] uint8_t __pad0538[0x10d0]; // 0x538 + [[maybe_unused]] uint8_t __pad0538[0x1068]; // 0x538 public: // MNetworkEnable // MNetworkChangeCallback "StateChanged" - Color m_Color; // 0x1608 + Color m_Color; // 0x15a0 // MNetworkEnable // MNetworkChangeCallback "StateChanged" - float m_flBrightness; // 0x160c + float m_flBrightness; // 0x15a4 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x1610 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x15a8 // MNetworkEnable - bool m_bCustomCubemapTexture; // 0x1618 + bool m_bCustomCubemapTexture; // 0x15b0 private: - [[maybe_unused]] uint8_t __pad1619[0x7]; // 0x1619 + [[maybe_unused]] uint8_t __pad15b1[0x7]; // 0x15b1 public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1620 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x15b8 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1628 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x15c0 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1630 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x15c8 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1638 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x15d0 // MNetworkEnable - Vector m_vBoxMins; // 0x1640 + Vector m_vBoxMins; // 0x15d8 // MNetworkEnable - Vector m_vBoxMaxs; // 0x164c + Vector m_vBoxMaxs; // 0x15e4 // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x1658 + CUtlSymbolLarge m_LightGroups; // 0x15f0 // MNetworkEnable - bool m_bMoveable; // 0x1660 + bool m_bMoveable; // 0x15f8 private: - [[maybe_unused]] uint8_t __pad1661[0x3]; // 0x1661 + [[maybe_unused]] uint8_t __pad15f9[0x3]; // 0x15f9 public: // MNetworkEnable - int32_t m_nHandshake; // 0x1664 + int32_t m_nHandshake; // 0x15fc // MNetworkEnable - int32_t m_nEnvCubeMapArrayIndex; // 0x1668 + int32_t m_nEnvCubeMapArrayIndex; // 0x1600 // MNetworkEnable - int32_t m_nPriority; // 0x166c + int32_t m_nPriority; // 0x1604 // MNetworkEnable - bool m_bStartDisabled; // 0x1670 + bool m_bStartDisabled; // 0x1608 private: - [[maybe_unused]] uint8_t __pad1671[0x3]; // 0x1671 + [[maybe_unused]] uint8_t __pad1609[0x3]; // 0x1609 public: // MNetworkEnable - float m_flEdgeFadeDist; // 0x1674 + float m_flEdgeFadeDist; // 0x160c // MNetworkEnable - Vector m_vEdgeFadeDists; // 0x1678 + Vector m_vEdgeFadeDists; // 0x1610 // MNetworkEnable - int32_t m_nLightProbeSizeX; // 0x1684 + int32_t m_nLightProbeSizeX; // 0x161c // MNetworkEnable - int32_t m_nLightProbeSizeY; // 0x1688 + int32_t m_nLightProbeSizeY; // 0x1620 // MNetworkEnable - int32_t m_nLightProbeSizeZ; // 0x168c + int32_t m_nLightProbeSizeZ; // 0x1624 // MNetworkEnable - int32_t m_nLightProbeAtlasX; // 0x1690 + int32_t m_nLightProbeAtlasX; // 0x1628 // MNetworkEnable - int32_t m_nLightProbeAtlasY; // 0x1694 + int32_t m_nLightProbeAtlasY; // 0x162c // MNetworkEnable - int32_t m_nLightProbeAtlasZ; // 0x1698 + int32_t m_nLightProbeAtlasZ; // 0x1630 private: - [[maybe_unused]] uint8_t __pad169c[0x15]; // 0x169c + [[maybe_unused]] uint8_t __pad1634[0x15]; // 0x1634 public: // MNetworkEnable - bool m_bEnabled; // 0x16b1 + bool m_bEnabled; // 0x1649 }; // Alignment: 19 -// Size: 0x698 +// Size: 0x630 class C_EnvCubemap : public C_BaseEntity { private: - [[maybe_unused]] uint8_t __pad0538[0xf0]; // 0x538 + [[maybe_unused]] uint8_t __pad0538[0x88]; // 0x538 public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x628 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x5c0 // MNetworkEnable - bool m_bCustomCubemapTexture; // 0x630 + bool m_bCustomCubemapTexture; // 0x5c8 private: - [[maybe_unused]] uint8_t __pad0631[0x3]; // 0x631 + [[maybe_unused]] uint8_t __pad05c9[0x3]; // 0x5c9 public: // MNetworkEnable - float m_flInfluenceRadius; // 0x634 + float m_flInfluenceRadius; // 0x5cc // MNetworkEnable - Vector m_vBoxProjectMins; // 0x638 + Vector m_vBoxProjectMins; // 0x5d0 // MNetworkEnable - Vector m_vBoxProjectMaxs; // 0x644 + Vector m_vBoxProjectMaxs; // 0x5dc // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x650 + CUtlSymbolLarge m_LightGroups; // 0x5e8 // MNetworkEnable - bool m_bMoveable; // 0x658 + bool m_bMoveable; // 0x5f0 private: - [[maybe_unused]] uint8_t __pad0659[0x3]; // 0x659 + [[maybe_unused]] uint8_t __pad05f1[0x3]; // 0x5f1 public: // MNetworkEnable - int32_t m_nHandshake; // 0x65c + int32_t m_nHandshake; // 0x5f4 // MNetworkEnable - int32_t m_nEnvCubeMapArrayIndex; // 0x660 + int32_t m_nEnvCubeMapArrayIndex; // 0x5f8 // MNetworkEnable - int32_t m_nPriority; // 0x664 + int32_t m_nPriority; // 0x5fc // MNetworkEnable - float m_flEdgeFadeDist; // 0x668 + float m_flEdgeFadeDist; // 0x600 // MNetworkEnable - Vector m_vEdgeFadeDists; // 0x66c + Vector m_vEdgeFadeDists; // 0x604 // MNetworkEnable - float m_flDiffuseScale; // 0x678 + float m_flDiffuseScale; // 0x610 // MNetworkEnable - bool m_bStartDisabled; // 0x67c + bool m_bStartDisabled; // 0x614 // MNetworkEnable - bool m_bDefaultEnvMap; // 0x67d + bool m_bDefaultEnvMap; // 0x615 // MNetworkEnable - bool m_bDefaultSpecEnvMap; // 0x67e + bool m_bDefaultSpecEnvMap; // 0x616 // MNetworkEnable - bool m_bIndoorCubeMap; // 0x67f + bool m_bIndoorCubeMap; // 0x617 // MNetworkEnable - bool m_bCopyDiffuseFromDefaultCubemap; // 0x680 + bool m_bCopyDiffuseFromDefaultCubemap; // 0x618 private: - [[maybe_unused]] uint8_t __pad0681[0xf]; // 0x681 + [[maybe_unused]] uint8_t __pad0619[0xf]; // 0x619 public: // MNetworkEnable - bool m_bEnabled; // 0x690 + bool m_bEnabled; // 0x628 }; // Alignment: 0 -// Size: 0x698 +// Size: 0x630 class C_EnvCubemapBox : public C_EnvCubemap { public: @@ -50516,7 +50547,7 @@ public: bool m_bWorldLayerActuallyVisible; // 0x578 }; -// Alignment: 25 +// Alignment: 26 // Size: 0x5a0 class C_PointCamera : public C_BaseEntity { @@ -50559,27 +50590,32 @@ public: // MNetworkEnable float m_flZNear; // 0x568 // MNetworkEnable - float m_flOverrideShadowFarZ; // 0x56c - // MNetworkEnable - bool m_bDofEnabled; // 0x570 + bool m_bCanHLTVUse; // 0x56c private: - [[maybe_unused]] uint8_t __pad0571[0x3]; // 0x571 + [[maybe_unused]] uint8_t __pad056d[0x3]; // 0x56d public: // MNetworkEnable - float m_flDofNearBlurry; // 0x574 + float m_flOverrideShadowFarZ; // 0x570 // 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 + bool m_bDofEnabled; // 0x574 private: - [[maybe_unused]] uint8_t __pad0591[0x7]; // 0x591 + [[maybe_unused]] uint8_t __pad0575[0x3]; // 0x575 +public: + // MNetworkEnable + float m_flDofNearBlurry; // 0x578 + // MNetworkEnable + float m_flDofNearCrisp; // 0x57c + // MNetworkEnable + float m_flDofFarCrisp; // 0x580 + // MNetworkEnable + float m_flDofFarBlurry; // 0x584 + // MNetworkEnable + float m_flDofTiltToGround; // 0x588 + float m_TargetFOV; // 0x58c + float m_DegreesPerSecond; // 0x590 + bool m_bIsOn; // 0x594 +private: + [[maybe_unused]] uint8_t __pad0595[0x3]; // 0x595 public: C_PointCamera* m_pNext; // 0x598 }; @@ -50760,7 +50796,7 @@ public: }; // Alignment: 2 -// Size: 0x560 +// Size: 0x600 class CBodyComponentBaseAnimGraph : public CBodyComponentSkeletonInstance { public: @@ -50768,7 +50804,7 @@ public: CBaseAnimGraphController m_animationController; // 0x470 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x530 + CNetworkVarChainer __m_pChainEntity; // 0x5d0 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentBaseAnimGraph")->m_static_fields[0]->m_instance);}; @@ -51980,7 +52016,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Fountain_Glyph : public CDOTA_Buff { public: @@ -51988,17 +52024,17 @@ public: }; // Alignment: 3 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Radar_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - bool m_bEverFound; // 0x12bc - bool m_bBonus; // 0x12bd + int32_t radius; // 0x12c8 + bool m_bEverFound; // 0x12cc + bool m_bBonus; // 0x12cd }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Courier_AutoDeliver : public CDOTA_Buff { public: @@ -52006,7 +52042,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Turbo_Courier_Haste : public CDOTA_Buff { public: @@ -52014,7 +52050,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Turbo_Courier_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -52097,7 +52133,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Jungle_Varmint : public CDOTA_Buff { public: @@ -52113,14 +52149,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_JungleVarmint_Dive : public CDOTA_Buff { public: - int32_t distance; // 0x12b8 - float speed; // 0x12bc - float acceleration; // 0x12c0 - int32_t radius; // 0x12c4 + int32_t distance; // 0x12c8 + float speed; // 0x12cc + float acceleration; // 0x12d0 + int32_t radius; // 0x12d4 }; // Alignment: 1 @@ -52132,42 +52168,42 @@ public: }; // Alignment: 5 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter_Active : public CDOTA_Buff { public: - 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 + int32_t scepter_move_speed_pct; // 0x12c8 + int32_t scepter_attack_speed; // 0x12cc + CHandle< C_BaseEntity > m_hTarget; // 0x12d0 + bool m_bPassive; // 0x12d4 + bool m_bKillAtEnd; // 0x12d5 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Helm_Of_The_Undying_Active : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 - bool m_bPassive; // 0x12bc + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 + bool m_bPassive; // 0x12cc }; // Alignment: 8 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Legion_Commander_Duel : public CDOTA_Buff { public: - int32_t reward_damage; // 0x12b8 - int32_t scepter_damage_reduction_pct; // 0x12bc - bool m_bAttacked; // 0x12c0 - bool m_bHadAVictor; // 0x12c1 + int32_t reward_damage; // 0x12c8 + int32_t scepter_damage_reduction_pct; // 0x12cc + bool m_bAttacked; // 0x12d0 + bool m_bHadAVictor; // 0x12d1 private: - [[maybe_unused]] uint8_t __pad12c2[0x2]; // 0x12c2 + [[maybe_unused]] uint8_t __pad12d2[0x2]; // 0x12d2 public: - GameTime_t m_flTimeDuelStart; // 0x12c4 - CHandle< C_BaseEntity > m_hPartner; // 0x12c8 - float m_flNextTime; // 0x12cc - CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x12d0 + GameTime_t m_flTimeDuelStart; // 0x12d4 + CHandle< C_BaseEntity > m_hPartner; // 0x12d8 + float m_flNextTime; // 0x12dc + CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x12e0 }; // Alignment: 3 @@ -52181,12 +52217,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_JungleVarmint_Creator : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hVarmint; // 0x12b8 - CEntityIndex m_nClientVarmintEntIndex; // 0x12bc + CHandle< C_BaseEntity > m_hVarmint; // 0x12c8 + CEntityIndex m_nClientVarmintEntIndex; // 0x12cc }; // Alignment: 1 @@ -52225,7 +52261,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Outpost_Summoning : public CDOTA_Buff { public: @@ -52233,7 +52269,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Watch_Tower_Capturing : public CDOTA_Buff { public: @@ -52241,28 +52277,28 @@ public: }; // Alignment: 11 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Watch_Tower : public CDOTA_Buff { public: - int32_t m_iCapturingTeam; // 0x12b8 - float m_flCaptureProgress; // 0x12bc - float m_flBonusTime; // 0x12c0 - bool m_bInitialSetupDone; // 0x12c4 + int32_t m_iCapturingTeam; // 0x12c8 + float m_flCaptureProgress; // 0x12cc + float m_flBonusTime; // 0x12d0 + bool m_bInitialSetupDone; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - 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 + int32_t m_iOriginalTeam; // 0x12d8 + CHandle< C_BaseEntity > m_hPreviousHero; // 0x12dc + CUtlVector< PlayerID_t > m_vecLastCreditedPlayerIDs; // 0x12e0 + float m_flAccumulatedCaptureTime; // 0x12f8 + int32_t m_iBonusCount; // 0x12fc + ParticleIndex_t m_nFxOutpostAmbient; // 0x1300 + ParticleIndex_t m_nFxOutpostInitialAmbient; // 0x1304 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Watch_Tower_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -52270,7 +52306,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Watch_Tower_Invulnerable_Temporary : public CDOTA_Modifier_Invulnerable { public: @@ -52278,7 +52314,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Watch_Tower_Marker : public CDOTA_Buff { public: @@ -52295,7 +52331,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lamp_Ready : public CDOTA_Buff { public: @@ -52303,7 +52339,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lamp_On : public CDOTA_Buff { public: @@ -52311,11 +52347,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lamp_Off : public CDOTA_Buff { public: - int32_t m_iTempViewer; // 0x12b8 + int32_t m_iTempViewer; // 0x12c8 }; // Alignment: 1 @@ -52327,30 +52363,30 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Twin_Gate_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nPortalAmbientFX; // 0x12b8 - float m_fPortalRadius; // 0x12bc + ParticleIndex_t m_nPortalAmbientFX; // 0x12c8 + float m_fPortalRadius; // 0x12cc }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Twin_Gate_Warp_Channel : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nfxTargetTp; // 0x12c8 + ParticleIndex_t m_nfxTargetTp2; // 0x12cc + ParticleIndex_t m_nfxAmbientFx; // 0x12d0 + ParticleIndex_t m_nfxPortal1; // 0x12d4 + ParticleIndex_t m_nfxPortal2; // 0x12d8 + float animation_rate; // 0x12dc + int32_t stop_distance; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_Vampire_Aura : public CDOTA_Buff { public: @@ -52358,16 +52394,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mutation_Vampire : public CDOTA_Buff { public: - int32_t m_iLifeStealPct; // 0x12b8 - int32_t m_iHealthDrain; // 0x12bc + int32_t m_iLifeStealPct; // 0x12c8 + int32_t m_iHealthDrain; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_Spellcast : public CDOTA_Buff { public: @@ -52375,7 +52411,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_DeathExplosion_Aura : public CDOTA_Buff { public: @@ -52383,7 +52419,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_DeathExplosion_TeamAura : public CDOTA_Modifier_Mutation_DeathExplosion_Aura { public: @@ -52391,7 +52427,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_DeathExplosion : public CDOTA_Buff { public: @@ -52399,17 +52435,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Mutation_DeathExplosionDelayed : public CDOTA_Buff { public: - int32_t m_iDamageBase; // 0x12b8 - int32_t m_iDamagePerLevel; // 0x12bc - int32_t m_iRadius; // 0x12c0 + int32_t m_iDamageBase; // 0x12c8 + int32_t m_iDamagePerLevel; // 0x12cc + int32_t m_iRadius; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_NoHealthBars_Aura : public CDOTA_Buff { public: @@ -52417,7 +52453,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_StationaryDamageReduction_Aura : public CDOTA_Buff { public: @@ -52425,15 +52461,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mutation_StationaryDamageReduction : public CDOTA_Buff { public: - int32_t m_iReductionPct; // 0x12b8 + int32_t m_iReductionPct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_CreateTombstone_Aura : public CDOTA_Buff { public: @@ -52441,7 +52477,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_CreateTombstone_Team_Aura : public CDOTA_Modifier_Mutation_CreateTombstone_Aura { public: @@ -52449,7 +52485,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_CreateTombstone : public CDOTA_Buff { public: @@ -52457,7 +52493,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_KillstreakPower_Aura : public CDOTA_Buff { public: @@ -52465,17 +52501,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Mutation_KillstreakPower : public CDOTA_Buff { public: - int32_t m_iDamageDonePct; // 0x12b8 - int32_t m_iDamageTakenPct; // 0x12bc - int32_t m_iModelScale; // 0x12c0 + int32_t m_iDamageDonePct; // 0x12c8 + int32_t m_iDamageTakenPct; // 0x12cc + int32_t m_iModelScale; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_Treecutter_Aura : public CDOTA_Buff { public: @@ -52483,15 +52519,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mutation_Treecutter : public CDOTA_Buff { public: - int32_t m_iRadius; // 0x12b8 + int32_t m_iRadius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_Cooldown_Reduction_Team_Aura : public CDOTA_Buff { public: @@ -52499,15 +52535,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mutation_Cooldown_Reduction : public CDOTA_Buff { public: - int32_t m_iCooldownReduction; // 0x12b8 + int32_t m_iCooldownReduction; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_CritChance_Team_Aura : public CDOTA_Buff { public: @@ -52515,12 +52551,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mutation_Crit_Chance : public CDOTA_Buff { public: - int32_t m_iChance; // 0x12b8 - int32_t m_iDamageMultiplier; // 0x12bc + int32_t m_iChance; // 0x12c8 + int32_t m_iDamageMultiplier; // 0x12cc }; // Alignment: 0 @@ -52532,7 +52568,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_ContextualTips : public CDOTA_Buff { public: @@ -52542,7 +52578,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_731_Teaser_Stun : public CDOTA_Buff { public: @@ -52550,7 +52586,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_731_Teaser_Thinker : public CDOTA_Buff { public: @@ -52582,15 +52618,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Neutral_Sleep_AI : public CDOTA_Buff { public: - ParticleIndex_t m_iFXIndex; // 0x12b8 + ParticleIndex_t m_iFXIndex; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Neutral_Creep_Lost : public CDOTA_Buff { public: @@ -52606,19 +52642,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_KoboldTaskmaster_SpeedAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_KoboldTaskmaster_SpeedAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_movement_speed; // 0x12c8 }; // Alignment: 0 @@ -52630,19 +52666,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_CentaurKhan_EnduranceAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_CentaurKhan_EnduranceAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12c8 }; // Alignment: 0 @@ -52662,12 +52698,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spawnlord_Master_Stomp : public CDOTA_Buff { public: - int32_t armor_reduction_pct; // 0x12b8 - float m_flArmorReduction; // 0x12bc + int32_t armor_reduction_pct; // 0x12c8 + float m_flArmorReduction; // 0x12cc }; // Alignment: 0 @@ -52679,24 +52715,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spawnlord_Master_Freeze : public CDOTA_Buff { public: - bool m_bFreezeAttack; // 0x12b8 + bool m_bFreezeAttack; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - ParticleIndex_t m_nFXIndex; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spawnlord_Master_Freeze_Root : public CDOTA_Buff { public: - int32_t max_ticks; // 0x12b8 - float damage; // 0x12bc + int32_t max_ticks; // 0x12c8 + float damage; // 0x12cc }; // Alignment: 0 @@ -52708,22 +52744,22 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_GnollAssassin_EnvenomedWeapon : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x12b8 - float non_hero_duration; // 0x12bc - float hero_duration; // 0x12c0 + int32_t damage_per_second; // 0x12c8 + float non_hero_duration; // 0x12cc + float hero_duration; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_GnollAssassin_EnvenomedWeapon_Poison : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x12b8 - int32_t regen_reduction; // 0x12bc + int32_t damage_per_second; // 0x12c8 + int32_t regen_reduction; // 0x12cc }; // Alignment: 0 @@ -52735,22 +52771,22 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Ghost_FrostAttack : public CDOTA_Buff { public: - float duration; // 0x12b8 - int32_t movespeed_slow; // 0x12bc - int32_t attackspeed_slow; // 0x12c0 + float duration; // 0x12c8 + int32_t movespeed_slow; // 0x12cc + int32_t attackspeed_slow; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ghost_FrostAttack_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 - int32_t attackspeed_slow; // 0x12bc + int32_t movespeed_slow; // 0x12c8 + int32_t attackspeed_slow; // 0x12cc }; // Alignment: 0 @@ -52762,12 +52798,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PolarFurbolgUrsaWarrior_ThunderClap : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 - int32_t attackspeed_slow; // 0x12bc + int32_t movespeed_slow; // 0x12c8 + int32_t attackspeed_slow; // 0x12cc }; // Alignment: 2 @@ -52780,19 +52816,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_WarpineRaider_SeedShot : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x12b8 + CHandle< C_BaseEntity > m_hTarget; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_WarpineRaider_SeedShot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 0 @@ -52804,7 +52840,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Neutral_SpellImmunity : public CDOTA_Modifier_MagicImmune { public: @@ -52812,7 +52848,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Neutral_SpellImmunity_Visible : public CDOTA_Modifier_MagicImmune { public: @@ -52828,21 +52864,21 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_OgreMagi_FrostArmor : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x12b8 - float slow_duration; // 0x12bc + int32_t armor_bonus; // 0x12c8 + float slow_duration; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_OgreMagi_FrostArmor_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 - int32_t attackspeed_slow; // 0x12bc + int32_t movespeed_slow; // 0x12c8 + int32_t attackspeed_slow; // 0x12cc }; // Alignment: 0 @@ -52854,7 +52890,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DarkTrollWarlord_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -52878,12 +52914,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_GiantWolf_CriticalStrike : public CDOTA_Buff { public: - int32_t crit_mult; // 0x12b8 - int32_t crit_chance; // 0x12bc + int32_t crit_mult; // 0x12c8 + int32_t crit_chance; // 0x12cc }; // Alignment: 0 @@ -52903,19 +52939,19 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_MudGolem_RockDestroy : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float duration; // 0x12bc - int32_t shard_health; // 0x12c0 - int32_t shard_damage; // 0x12c4 - int32_t shard_duration; // 0x12c8 + int32_t radius; // 0x12c8 + float duration; // 0x12cc + int32_t shard_health; // 0x12d0 + int32_t shard_damage; // 0x12d4 + int32_t shard_duration; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MudGolem_Rock_Shard : public CDOTA_Buff { public: @@ -52931,7 +52967,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DoNotCastEnsnare : public CDOTA_Buff { public: @@ -52939,7 +52975,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DoNotCastRock : public CDOTA_Buff { public: @@ -52947,7 +52983,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DoNotCastSmash : public CDOTA_Buff { public: @@ -52963,12 +52999,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AlphaWolf_CriticalStrike : public CDOTA_Buff { public: - int32_t crit_mult; // 0x12b8 - int32_t crit_chance; // 0x12bc + int32_t crit_mult; // 0x12c8 + int32_t crit_chance; // 0x12cc }; // Alignment: 0 @@ -52980,19 +53016,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AncientRockGolem_Weakening_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AncientRockGolem_Weakening : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x12b8 + int32_t armor_reduction; // 0x12c8 }; // Alignment: 0 @@ -53004,19 +53040,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BlackDrake_MagicAmplification_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BlackDrake_MagicAmplification : public CDOTA_Buff { public: - int32_t spell_amp; // 0x12b8 + int32_t spell_amp; // 0x12c8 }; // Alignment: 0 @@ -53028,19 +53064,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AlphaWolf_CommandAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AlphaWolf_CommandAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x12b8 + int32_t bonus_damage_pct; // 0x12c8 }; // Alignment: 0 @@ -53052,19 +53088,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FrostbittenGolem_TimeWarpAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FrostbittenGolem_TimeWarpAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_cdr; // 0x12b8 + int32_t bonus_cdr; // 0x12c8 }; // Alignment: 1 @@ -53076,12 +53112,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_IceShaman_IncendiaryBomb : public CDOTA_Buff { public: - int32_t burn_damage; // 0x12b8 - int32_t building_damage_pct; // 0x12bc + int32_t burn_damage; // 0x12c8 + int32_t building_damage_pct; // 0x12cc }; // Alignment: 0 @@ -53093,24 +53129,24 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Tornado_Tempest : public CDOTA_Buff { public: - int32_t near_radius; // 0x12b8 - int32_t near_damage; // 0x12bc - int32_t far_radius; // 0x12c0 - int32_t far_damage; // 0x12c4 - float tick_rate; // 0x12c8 + int32_t near_radius; // 0x12c8 + int32_t near_damage; // 0x12cc + int32_t far_radius; // 0x12d0 + int32_t far_damage; // 0x12d4 + float tick_rate; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tornado_Tempest_Debuff : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 - int32_t attackspeed_slow; // 0x12bc + int32_t movespeed_slow; // 0x12c8 + int32_t attackspeed_slow; // 0x12cc }; // Alignment: 3 @@ -53124,15 +53160,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Wildkin_Tornado : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tornado_ExpirationTime : public CDOTA_Buff { public: @@ -53149,12 +53185,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EnragedWildkin_Hurricane : public CDOTA_Buff { public: - ParticleIndex_t m_FX; // 0x12b8 - int32_t distance; // 0x12bc + ParticleIndex_t m_FX; // 0x12c8 + int32_t distance; // 0x12cc }; // Alignment: 0 @@ -53166,11 +53202,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BerserkerTroll_Break : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 }; // Alignment: 0 @@ -53182,11 +53218,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Kobold_Disarm : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 }; // Alignment: 0 @@ -53198,19 +53234,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EnragedWildkin_ToughnessAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EnragedWildkin_ToughnessAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 0 @@ -53222,19 +53258,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_GraniteGolem_HPAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_GraniteGolem_HPAura_Bonus : public CDOTA_Buff { public: - float bonus_hp; // 0x12b8 + float bonus_hp; // 0x12c8 }; // Alignment: 0 @@ -53262,11 +53298,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SatyrTrickster_Purge : public CDOTA_Buff { public: - int32_t purge_rate; // 0x12b8 + int32_t purge_rate; // 0x12c8 }; // Alignment: 2 @@ -53279,11 +53315,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SatyrSoulstealer_ManaBurn : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 @@ -53303,19 +53339,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SatyrHellcaller_UnholyAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SatyrHellcaller_UnholyAura_Bonus : public CDOTA_Buff { public: - float health_regen; // 0x12b8 + float health_regen; // 0x12c8 }; // Alignment: 0 @@ -53327,20 +53363,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spawnlord_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spawnlord_Aura_Bonus : public CDOTA_Buff { public: - int32_t lifesteal; // 0x12b8 - int32_t hp_regen; // 0x12bc + int32_t lifesteal; // 0x12c8 + int32_t hp_regen; // 0x12cc }; // Alignment: 0 @@ -53352,12 +53388,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ForestTrollHighPriest_HealAutocast : public CDOTA_Buff { public: - int32_t health; // 0x12b8 - CHandle< C_BaseEntity > m_hHealTarget; // 0x12bc + int32_t health; // 0x12c8 + CHandle< C_BaseEntity > m_hHealTarget; // 0x12cc }; // Alignment: 0 @@ -53369,21 +53405,21 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ForestTrollHighPriest_ManaAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_ForestTrollHighPriest_ManaAura_Bonus : public CDOTA_Buff { public: - float mana_regen; // 0x12b8 - int32_t allow_multiple; // 0x12bc - int32_t m_nAttributes; // 0x12c0 + float mana_regen; // 0x12c8 + int32_t allow_multiple; // 0x12cc + int32_t m_nAttributes; // 0x12d0 }; // Alignment: 0 @@ -53395,19 +53431,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ForestTrollHighPriest_HealAmp : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ForestTrollHighPriest_HealAmp_Bonus : public CDOTA_Buff { public: - float heal_amp; // 0x12b8 + float heal_amp; // 0x12c8 }; // Alignment: 0 @@ -53419,20 +53455,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Furbolg_Enrage_AttackSpeed_OnDeath : public CDOTA_Buff { public: - float duration; // 0x12b8 - int32_t radius; // 0x12bc + float duration; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifer_Furbolg_Enrage_AttackSpeed : public CDOTA_Buff { public: - int32_t bonus_aspd; // 0x12b8 + int32_t bonus_aspd; // 0x12c8 }; // Alignment: 0 @@ -53444,12 +53480,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Furbolg_Enrage_Damage_OnDeath : public CDOTA_Buff { public: - float duration; // 0x12b8 - int32_t radius; // 0x12bc + float duration; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 2 @@ -53462,27 +53498,27 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FelBeast_Haunt_OnDeath : public CDOTA_Buff { public: - int32_t projectile_speed; // 0x12b8 + int32_t projectile_speed; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FelBeast_Haunt : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x12b8 + int32_t damage_per_second; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifer_Furbolg_Enrage_Damage : public CDOTA_Buff { public: - int32_t bonus_dmg_pct; // 0x12b8 + int32_t bonus_dmg_pct; // 0x12c8 }; // Alignment: 0 @@ -53494,19 +53530,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_KoboldTunneler_ProspectingAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_KoboldTunneler_ProspectingAura_Money : public CDOTA_Buff { public: - int32_t gpm_aura; // 0x12b8 + int32_t gpm_aura; // 0x12c8 }; // Alignment: 0 @@ -53518,23 +53554,23 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_HillTroll_RallyAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_HillTroll_Rally : public CDOTA_Buff { public: - int32_t damage_bonus; // 0x12b8 + int32_t damage_bonus; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_HillTroll_Rally_Stack : public CDOTA_Buff { public: @@ -53550,12 +53586,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_HarpyScout_TakeOff : public CDOTA_Buff { public: - int32_t move_speed_penalty; // 0x12b8 - float cost_per_second; // 0x12bc + int32_t move_speed_penalty; // 0x12c8 + float cost_per_second; // 0x12cc }; // Alignment: 5 @@ -53571,7 +53607,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_OgreSmash_Swing : public CDOTA_Buff { public: @@ -53588,11 +53624,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_GiantWolf_Intimidate : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 + int32_t damage_reduction; // 0x12c8 }; // Alignment: 0 @@ -53604,13 +53640,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_HarpyStorm_ChainLightning : public CDOTA_Buff { public: - int32_t jump_range; // 0x12b8 - int32_t max_targets; // 0x12bc - float damage_percent_loss; // 0x12c0 + int32_t jump_range; // 0x12c8 + int32_t max_targets; // 0x12cc + float damage_percent_loss; // 0x12d0 }; // Alignment: 0 @@ -53622,13 +53658,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_BlackDragon_Fireball_Thinker : public CDOTA_Buff { public: - float burn_interval; // 0x12b8 - int32_t radius; // 0x12bc - int32_t damage; // 0x12c0 + float burn_interval; // 0x12c8 + int32_t radius; // 0x12cc + int32_t damage; // 0x12d0 }; // Alignment: 0 @@ -53640,12 +53676,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BlackDragon_SplashAttack : public CDOTA_Buff { public: - int32_t range; // 0x12b8 - float damage_percent; // 0x12bc + int32_t range; // 0x12c8 + float damage_percent; // 0x12cc }; // Alignment: 0 @@ -53657,19 +53693,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BlackDragon_DragonhideAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BlackDragon_DragonhideAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 0 @@ -53681,20 +53717,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MudGolem_CloakAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MudGolem_CloakAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_magical_armor; // 0x12b8 - int32_t bonus_magical_armor_creeps; // 0x12bc + int32_t bonus_magical_armor; // 0x12c8 + int32_t bonus_magical_armor_creeps; // 0x12cc }; // Alignment: 0 @@ -53706,11 +53742,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BlueDragonspawnSorcerer_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance_pct; // 0x12b8 + int32_t evasion_chance_pct; // 0x12c8 }; // Alignment: 0 @@ -53722,11 +53758,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BlueDragonspawnOverseer_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance_pct; // 0x12b8 + int32_t evasion_chance_pct; // 0x12c8 }; // Alignment: 0 @@ -53738,19 +53774,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BlueDragonspawnOverseer_DevotionAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BlueDragonspawnOverseer_DevotionAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 0 @@ -53762,20 +53798,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BigThunderLizard_Wardrums : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BigThunderLizard_Wardrums_Aura : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x12b8 - int32_t accuracy; // 0x12bc + int32_t speed_bonus; // 0x12c8 + int32_t accuracy; // 0x12cc }; // Alignment: 0 @@ -53787,11 +53823,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BigThunderLizard_Slam : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 + int32_t movespeed_slow; // 0x12c8 }; // Alignment: 0 @@ -53803,19 +53839,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BigThunderLizard_Frenzy : public CDOTA_Buff { public: - int32_t attackspeed_bonus; // 0x12b8 + int32_t attackspeed_bonus; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Greevil_Miniboss_Casting : public CDOTA_Buff { public: - int32_t cast_animation; // 0x12b8 + int32_t cast_animation; // 0x12c8 }; // Alignment: 0 @@ -53827,15 +53863,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Greevil_Miniboss_Black_Nightmare : public CDOTA_Buff { public: - float animation_rate; // 0x12b8 + float animation_rate; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Greevil_Miniboss_Black_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -53859,19 +53895,19 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Greevil_Miniboss_Blue_ColdFeet : public CDOTA_Buff { public: - Vector m_vecStartPosition; // 0x12b8 - int32_t m_nCurrentTick; // 0x12c4 - float damage; // 0x12c8 - int32_t break_distance; // 0x12cc - float stun_duration; // 0x12d0 + Vector m_vecStartPosition; // 0x12c8 + int32_t m_nCurrentTick; // 0x12d4 + float damage; // 0x12d8 + int32_t break_distance; // 0x12dc + float stun_duration; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Greevil_Miniboss_Blue_ColdFeet_Freeze : public CDOTA_Modifier_Stunned { public: @@ -53887,24 +53923,24 @@ public: }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Greevil_Miniboss_Blue_IceVortexThinker : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t movement_speed_pct; // 0x12cc + int32_t spell_resist_pct; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + CUtlVector< CHandle< C_BaseEntity > > m_hChilledEntities; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Greevil_Miniboss_Blue_IceVortex : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x12b8 - int32_t spell_resist_pct; // 0x12bc + int32_t movement_speed_pct; // 0x12c8 + int32_t spell_resist_pct; // 0x12cc }; // Alignment: 0 @@ -53916,11 +53952,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Greevil_Miniboss_Red_Earthshock : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 0 @@ -53932,11 +53968,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Greevil_Miniboss_Red_Overpower : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x12b8 + int32_t attack_speed_bonus_pct; // 0x12c8 }; // Alignment: 0 @@ -53948,12 +53984,12 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Greevil_Miniboss_Yellow_IonShell : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t damage_per_second; // 0x12bc + int32_t radius; // 0x12c8 + int32_t damage_per_second; // 0x12cc }; // Alignment: 0 @@ -53965,7 +54001,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Greevil_Miniboss_Yellow_Surge : public CDOTA_Buff { public: @@ -53989,19 +54025,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Greevil_Miniboss_White_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Greevil_Miniboss_White_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x12b8 + int32_t speed_bonus; // 0x12c8 }; // Alignment: 0 @@ -54013,12 +54049,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Greevil_Miniboss_Green_LivingArmor : public CDOTA_Buff { public: - int32_t health_regen; // 0x12b8 - int32_t damage_block; // 0x12bc + int32_t health_regen; // 0x12c8 + int32_t damage_block; // 0x12cc }; // Alignment: 0 @@ -54030,7 +54066,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Greevil_Miniboss_Green_Overgrowth : public CDOTA_Buff { public: @@ -54054,13 +54090,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Greevil_Miniboss_Orange_LightStrikeArray_Thinker : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x12b8 - float m_flStunDuration; // 0x12bc - int32_t light_strike_array_aoe; // 0x12c0 + int32_t m_iDamage; // 0x12c8 + float m_flStunDuration; // 0x12cc + int32_t light_strike_array_aoe; // 0x12d0 }; // Alignment: 1 @@ -54072,14 +54108,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Greevil_Miniboss_Purple_VenomousGale : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 - int32_t tick_damage; // 0x12bc - float tick_interval; // 0x12c0 - float duration; // 0x12c4 + int32_t movement_slow; // 0x12c8 + int32_t tick_damage; // 0x12cc + float tick_interval; // 0x12d0 + float duration; // 0x12d4 }; // Alignment: 0 @@ -54099,11 +54135,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Greevil_Miniboss_Sight : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 @@ -54115,19 +54151,19 @@ public: }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Neutral_Upgrade : public CDOTA_Buff { public: - 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 + float increase_time; // 0x12c8 + int32_t increase_damage; // 0x12cc + int32_t increase_health; // 0x12d0 + float increase_armor; // 0x12d4 + int32_t increase_aspd; // 0x12d8 + int32_t increase_gold; // 0x12dc + int32_t increase_xp; // 0x12e0 + int32_t current_level; // 0x12e4 + int32_t max_level; // 0x12e8 }; // Alignment: 0 @@ -54139,14 +54175,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Creep_Siege : public CDOTA_Buff { public: - 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 + int32_t bonus_building_damage; // 0x12c8 + int32_t incoming_hero_damage_penalty; // 0x12cc + int32_t incoming_basic_damage_penalty; // 0x12d0 + int32_t incoming_controlled_unit_penalty; // 0x12d4 }; // Alignment: 0 @@ -54158,13 +54194,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Creep_Piercing : public CDOTA_Buff { public: - int32_t creep_damage_bonus; // 0x12b8 - int32_t hero_damage_penalty; // 0x12bc - int32_t heavy_damage_penalty; // 0x12c0 + int32_t creep_damage_bonus; // 0x12c8 + int32_t hero_damage_penalty; // 0x12cc + int32_t heavy_damage_penalty; // 0x12d0 }; // Alignment: 0 @@ -54176,11 +54212,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Creep_Irresolute : public CDOTA_Buff { public: - int32_t hero_damage_penalty; // 0x12b8 + int32_t hero_damage_penalty; // 0x12c8 }; // Alignment: 0 @@ -54192,24 +54228,24 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Creep_Bonus_XP : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t hero_damage_penalty; // 0x12cc + int32_t bonus_gold; // 0x12d0 + int32_t m_iGoldBounty; // 0x12d4 + ParticleIndex_t iBannerEffect; // 0x12d8 + ParticleIndex_t iRingEffect; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Flagbearer_Creep_Aura_Effect : public CDOTA_Buff { public: - int32_t bonus_health_regen; // 0x12b8 + int32_t bonus_health_regen; // 0x12c8 }; // Alignment: 0 @@ -54221,7 +54257,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Filler_Tooltip : public CDOTA_Buff { public: @@ -54261,7 +54297,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tutorial_Sleep : public CDOTA_Modifier_Stunned { public: @@ -54269,19 +54305,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ARDM_NewHero : public CDOTA_Modifier_Tutorial_Sleep { public: - CHandle< C_BaseEntity > m_hOldHero; // 0x12b8 + CHandle< C_BaseEntity > m_hOldHero; // 0x12c8 }; // Alignment: 1 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Gold_Bag_Launch : public CDOTA_Modifier_Knockback { public: - int32_t gold_amount; // 0x12e8 + int32_t gold_amount; // 0x12f8 }; // Alignment: 20 @@ -63309,12 +63345,13 @@ public: CHandle< C_BaseEntity > m_hTarget; // 0x624 }; -// Alignment: 1 +// Alignment: 2 // Size: 0x5b8 class C_DOTA_Ability_Warlock_RainOfChaos : public C_DOTABaseAbility { public: int32_t aoe; // 0x5b0 + bool m_bHasScepter; // 0x5b4 }; // Alignment: 0 @@ -69331,7 +69368,7 @@ public: float activation_delay; // 0x5b4 float wraith_vision_duration; // 0x5b8 int32_t wraith_vision_radius; // 0x5bc - int32_t spark_damage; // 0x5c0 + float spark_damage; // 0x5c0 }; // Alignment: 1 @@ -76068,42 +76105,34 @@ public: bool m_bExposureControl; // 0x7fd }; -// Alignment: 10 -// Size: 0x828 +// Alignment: 7 +// Size: 0x818 class C_BasePlayerWeapon : public CBaseAnimatingActivity { public: // MNetworkEnable - // MNetworkChangeCallback "OnWeaponStateChanged" - WeaponState_t m_iState; // 0x7e0 - WeaponState_t m_iOldState; // 0x7e4 - bool m_bRemoveable; // 0x7e8 -private: - [[maybe_unused]] uint8_t __pad07e9[0x3]; // 0x7e9 -public: + // MNetworkUserGroup "LocalWeaponExclusive" + GameTick_t m_nNextPrimaryAttackTick; // 0x7e0 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - GameTick_t m_nNextPrimaryAttackTick; // 0x7ec + float m_flNextPrimaryAttackTickRatio; // 0x7e4 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - float m_flNextPrimaryAttackTickRatio; // 0x7f0 + GameTick_t m_nNextSecondaryAttackTick; // 0x7e8 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - GameTick_t m_nNextSecondaryAttackTick; // 0x7f4 - // MNetworkEnable - // MNetworkUserGroup "LocalWeaponExclusive" - float m_flNextSecondaryAttackTickRatio; // 0x7f8 + float m_flNextSecondaryAttackTickRatio; // 0x7ec // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkPriority "32" - int32_t m_iClip1; // 0x7fc + int32_t m_iClip1; // 0x7f0 // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkUserGroup "LocalWeaponExclusive" - int32_t m_iClip2; // 0x800 + int32_t m_iClip2; // 0x7f4 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - int32_t m_pReserveAmmo[2]; // 0x804 + int32_t m_pReserveAmmo[2]; // 0x7f8 }; // Alignment: 5 @@ -76162,59 +76191,50 @@ public: CStrongHandle< InfoForResourceTypeCTextureBase > m_hHeightFogMaskTexture; // 0x7f0 }; -// Alignment: 15 -// Size: 0xa10 +// Alignment: 13 +// Size: 0x978 class CBaseAnimGraph : public C_BaseModelEntity { -private: - [[maybe_unused]] uint8_t __pad07b8[0x8]; // 0x7b8 public: // MNetworkEnable - bool m_bInitiallyPopulateInterpHistory; // 0x7c0 + bool m_bInitiallyPopulateInterpHistory; // 0x7b8 // MNetworkEnable - bool m_bShouldAnimateDuringGameplayPause; // 0x7c1 + bool m_bShouldAnimateDuringGameplayPause; // 0x7b9 private: - [[maybe_unused]] uint8_t __pad07c2[0x1]; // 0x7c2 + [[maybe_unused]] uint8_t __pad07ba[0x1]; // 0x7ba public: - bool m_bSuppressAnimEventSounds; // 0x7c3 + bool m_bSuppressAnimEventSounds; // 0x7bb private: - [[maybe_unused]] uint8_t __pad07c4[0xc]; // 0x7c4 + [[maybe_unused]] uint8_t __pad07bc[0xc]; // 0x7bc public: // MNetworkEnable - bool m_bAnimGraphUpdateEnabled; // 0x7d0 + bool m_bAnimGraphUpdateEnabled; // 0x7c8 private: - [[maybe_unused]] uint8_t __pad07d1[0x93]; // 0x7d1 + [[maybe_unused]] uint8_t __pad07c9[0x3]; // 0x7c9 public: - // MNetworkDisable - float m_flLastEventAnimTime; // 0x864 + float m_flMaxSlopeDistance; // 0x7cc + Vector m_vLastSlopeCheckPos; // 0x7d0 private: - [[maybe_unused]] uint8_t __pad0868[0x4]; // 0x868 -public: - // MNetworkDisable - AnimationUpdateListHandle_t m_hAnimationUpdate; // 0x86c - float m_flMaxSlopeDistance; // 0x870 - Vector m_vLastSlopeCheckPos; // 0x874 -private: - [[maybe_unused]] uint8_t __pad0880[0x4]; // 0x880 + [[maybe_unused]] uint8_t __pad07dc[0x4]; // 0x7dc public: // MNetworkEnable - Vector m_vecForce; // 0x884 + Vector m_vecForce; // 0x7e0 // MNetworkEnable - int32_t m_nForceBone; // 0x890 + int32_t m_nForceBone; // 0x7ec + CBaseAnimGraph* m_pClientsideRagdoll; // 0x7f0 + bool m_bBuiltRagdoll; // 0x7f8 private: - [[maybe_unused]] uint8_t __pad0894[0x4]; // 0x894 -public: - CBaseAnimGraph* m_pClientsideRagdoll; // 0x898 - bool m_bBuiltRagdoll; // 0x8a0 -private: - [[maybe_unused]] uint8_t __pad08a1[0x17]; // 0x8a1 + [[maybe_unused]] uint8_t __pad07f9[0x17]; // 0x7f9 public: // MNetworkEnable - PhysicsRagdollPose_t* m_pRagdollPose; // 0x8b8 + PhysicsRagdollPose_t* m_pRagdollPose; // 0x810 // MNetworkEnable // MNetworkChangeCallback "OnClientRagdollChanged" - bool m_bClientRagdoll; // 0x8c0 - bool m_bHasAnimatedMaterialAttributes; // 0x8c1 + bool m_bClientRagdoll; // 0x818 +private: + [[maybe_unused]] uint8_t __pad0819[0xf]; // 0x819 +public: + bool m_bHasAnimatedMaterialAttributes; // 0x828 }; // Alignment: 4 @@ -76480,30 +76500,30 @@ public: }; // Alignment: 14 -// Size: 0xaa8 +// Size: 0xa10 class C_ClientRagdoll : public CBaseAnimGraph { public: - bool m_bFadeOut; // 0xa10 - bool m_bImportant; // 0xa11 + bool m_bFadeOut; // 0x978 + bool m_bImportant; // 0x979 private: - [[maybe_unused]] uint8_t __pad0a12[0x2]; // 0xa12 + [[maybe_unused]] uint8_t __pad097a[0x2]; // 0x97a public: - 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 + GameTime_t m_flEffectTime; // 0x97c + GameTime_t m_gibDespawnTime; // 0x980 + int32_t m_iCurrentFriction; // 0x984 + int32_t m_iMinFriction; // 0x988 + int32_t m_iMaxFriction; // 0x98c + int32_t m_iFrictionAnimState; // 0x990 + bool m_bReleaseRagdoll; // 0x994 + AttachmentHandle_t m_iEyeAttachment; // 0x995 + bool m_bFadingOut; // 0x996 private: - [[maybe_unused]] uint8_t __pad0a2f[0x1]; // 0xa2f + [[maybe_unused]] uint8_t __pad0997[0x1]; // 0x997 public: - float m_flScaleEnd[10]; // 0xa30 - GameTime_t m_flScaleTimeStart[10]; // 0xa58 - GameTime_t m_flScaleTimeEnd[10]; // 0xa80 + float m_flScaleEnd[10]; // 0x998 + GameTime_t m_flScaleTimeStart[10]; // 0x9c0 + GameTime_t m_flScaleTimeEnd[10]; // 0x9e8 }; // Alignment: 1 @@ -76565,36 +76585,36 @@ public: }; // Alignment: 8 -// Size: 0xa88 +// Size: 0x9f0 class C_RagdollProp : public CBaseAnimGraph { private: - [[maybe_unused]] uint8_t __pad0a10[0x8]; // 0xa10 + [[maybe_unused]] uint8_t __pad0978[0x8]; // 0x978 public: // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "ragAnglesChanged" - C_NetworkUtlVectorBase< Vector > m_ragPos; // 0xa18 + C_NetworkUtlVectorBase< Vector > m_ragPos; // 0x980 // MNetworkEnable // MNetworkEncoder // MNetworkBitCount "13" // MNetworkChangeCallback "ragAnglesChanged" - C_NetworkUtlVectorBase< QAngle > m_ragAngles; // 0xa30 + C_NetworkUtlVectorBase< QAngle > m_ragAngles; // 0x998 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1.000000" // MNetworkEncodeFlags - float m_flBlendWeight; // 0xa48 + float m_flBlendWeight; // 0x9b0 // MNetworkEnable - CHandle< C_BaseEntity > m_hRagdollSource; // 0xa4c - AttachmentHandle_t m_iEyeAttachment; // 0xa50 + CHandle< C_BaseEntity > m_hRagdollSource; // 0x9b4 + AttachmentHandle_t m_iEyeAttachment; // 0x9b8 private: - [[maybe_unused]] uint8_t __pad0a51[0x3]; // 0xa51 + [[maybe_unused]] uint8_t __pad09b9[0x3]; // 0x9b9 public: - float m_flBlendWeightCurrent; // 0xa54 - CUtlVector< int32 > m_parentPhysicsBoneIndices; // 0xa58 - CUtlVector< int32 > m_worldSpaceBoneComputationOrder; // 0xa70 + float m_flBlendWeightCurrent; // 0x9bc + CUtlVector< int32 > m_parentPhysicsBoneIndices; // 0x9c0 + CUtlVector< int32 > m_worldSpaceBoneComputationOrder; // 0x9d8 }; // Alignment: 25 @@ -76931,23 +76951,23 @@ public: }; // Alignment: 7 -// Size: 0xac0 +// Size: 0xa28 class C_RagdollPropAttached : public C_RagdollProp { public: // MNetworkEnable - uint32_t m_boneIndexAttached; // 0xa88 + uint32_t m_boneIndexAttached; // 0x9f0 // MNetworkEnable - uint32_t m_ragdollAttachedObjectIndex; // 0xa8c + uint32_t m_ragdollAttachedObjectIndex; // 0x9f4 // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointBoneSpace; // 0xa90 + Vector m_attachmentPointBoneSpace; // 0x9f8 // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointRagdollSpace; // 0xa9c - Vector m_vecOffset; // 0xaa8 - float m_parentTime; // 0xab4 - bool m_bHasParent; // 0xab8 + Vector m_attachmentPointRagdollSpace; // 0xa04 + Vector m_vecOffset; // 0xa10 + float m_parentTime; // 0xa1c + bool m_bHasParent; // 0xa20 }; // Alignment: 8 @@ -76957,6 +76977,7 @@ class C_BaseCombatCharacter : public C_BaseFlex public: // MNetworkEnable // MNetworkChangeCallback "OnWearablesChanged" + // MNetworkSerializer "EHandleIndexOnly" C_NetworkUtlVectorBase< CHandle< C_EconWearable > > m_hMyWearables; // 0x968 int32_t m_bloodColor; // 0x980 AttachmentHandle_t m_leftFootAttachment; // 0x984 @@ -77201,6 +77222,7 @@ public: // MNetworkEnable // MNetworkChangeCallback "OnAbilitiesChanged" // MNetworkPriority "32" + // MNetworkSerializer "EHandleIndexOnly" CHandle< C_BaseEntity > m_hAbilities[35]; // 0xac8 float m_flInvisibilityLevel; // 0xb54 float m_flHullRadius; // 0xb58 @@ -77414,11 +77436,13 @@ public: // MNetworkBitCount "18" // MNetworkMinValue "-100.000000" // MNetworkMaxValue "1000.000000" + // MNetworkChangeCallback "OnManaRegenChanged" float m_flManaRegen; // 0x13f8 // MNetworkEnable // MNetworkBitCount "18" // MNetworkMinValue "-100.000000" // MNetworkMaxValue "1000.000000" + // MNetworkChangeCallback "OnHealthRegenChanged" float m_flHealthRegen; // 0x13fc // MNetworkEnable bool m_bIsMoving; // 0x1400 diff --git a/sdk/engine2.hpp b/sdk/engine2.hpp index f91e9d85..bbaad271 100644 --- a/sdk/engine2.hpp +++ b/sdk/engine2.hpp @@ -4,7 +4,7 @@ // ///////////////////////////////////////////////////////////// // Binary: engine2.dll -// Classes count: 50 +// Classes count: 49 // Enums count: 4 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -404,16 +404,6 @@ public: int32_t m_nDummy0; // 0x0 }; -// Alignment: 0 -// Size: 0x8 -class IHandleEntity -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - // No members available -}; - // Alignment: 1 // Size: 0x28 class CNetworkVarChainer @@ -548,8 +538,10 @@ public: // Alignment: 3 // Size: 0x30 -class CEntityInstance : public IHandleEntity +class CEntityInstance { +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkDisable CUtlSymbolLarge m_iszPrivateVScripts; // 0x8 diff --git a/sdk/fwd.hpp b/sdk/fwd.hpp index e69de29b..eda3955b 100644 --- a/sdk/fwd.hpp +++ b/sdk/fwd.hpp @@ -0,0 +1,12555 @@ +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 BoneDemoCaptureSettings_t; +struct CAISound; +struct CAI_ChangeHintGroup; +struct CAI_ChangeTarget; +struct CAI_Expresser; +struct CAI_ExpresserWithFollowup; +struct CActionComponentUpdater; +struct CAddUpdateNode; +struct CAdditionalWearable; +struct CAimConstraint; +struct CAimMatrixUpdateNode; +struct CAmbientCreatures; +struct CAmbientGeneric; +struct CAnimActionUpdater; +struct CAnimActivity; +struct CAnimAttachment; +struct CAnimBone; +struct CAnimBoneDifference; +struct CAnimComponentUpdater; +struct CAnimCycle; +struct CAnimData; +struct CAnimDataChannelDesc; +struct CAnimDecoder; +struct CAnimDemoCaptureSettings; +struct CAnimDesc; +struct CAnimDesc_Flag; +struct CAnimEncodeDifference; +struct CAnimEncodedFrames; +struct CAnimEnum; +struct CAnimEventDefinition; +struct CAnimEventListener; +struct CAnimEventListenerBase; +struct CAnimEventQueueListener; +struct CAnimFoot; +struct CAnimFrameBlockAnim; +struct CAnimFrameSegment; +struct CAnimGraphControllerBase; +struct CAnimGraphDebugReplay; +struct CAnimGraphModelBinding; +struct CAnimGraphNetworkSettings; +struct CAnimGraphNetworkedVariables; +struct CAnimGraphSettingsGroup; +struct CAnimGraphSettingsManager; +struct CAnimGraphTagRef; +struct CAnimInputDamping; +struct CAnimKeyData; +struct CAnimLocalHierarchy; +struct CAnimMorphDifference; +struct CAnimMotorUpdaterBase; +struct CAnimMovement; +struct CAnimNodePath; +struct CAnimParamHandle; +struct CAnimParamHandleMap; +struct CAnimParameterBase; +struct CAnimParameterManagerUpdater; +struct CAnimReplayFrame; +struct CAnimScriptBase; +struct CAnimScriptComponentUpdater; +struct CAnimScriptManager; +struct CAnimSequenceParams; +struct CAnimSkeleton; +struct CAnimStateMachineUpdater; +struct CAnimTagBase; +struct CAnimTagManagerUpdater; +struct CAnimUpdateNodeBase; +struct CAnimUpdateNodeRef; +struct CAnimUpdateSharedData; +struct CAnimUser; +struct CAnimUserDifference; +struct CAnimationGraphVisualizerAxis; +struct CAnimationGraphVisualizerLine; +struct CAnimationGraphVisualizerPie; +struct CAnimationGraphVisualizerPrimitiveBase; +struct CAnimationGraphVisualizerSphere; +struct CAnimationGraphVisualizerText; +struct CAnimationGroup; +struct CAnimationLayer; +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 CBindPoseUpdateNode; +struct CBlend2DUpdateNode; +struct CBlendCurve; +struct CBlendUpdateNode; +struct CBlockSelectionMetricEvaluator; +struct CBodyComponent; +struct CBodyComponentBaseAnimGraph; +struct CBodyComponentBaseAnimating; +struct CBodyComponentBaseAnimatingOverlay; +struct CBodyComponentBaseModelEntity; +struct CBodyComponentPoint; +struct CBodyComponentSkeletonInstance; +struct CBodyGroupAnimTag; +struct CBodyGroupSetting; +struct CBoneConstraintBase; +struct CBoneConstraintDotToMorph; +struct CBoneConstraintPoseSpaceBone; +struct CBoneConstraintPoseSpaceBone::Input_t; +struct CBoneConstraintPoseSpaceMorph; +struct CBoneConstraintPoseSpaceMorph::Input_t; +struct CBoneMaskUpdateNode; +struct CBonePositionMetricEvaluator; +struct CBoneVelocityMetricEvaluator; +struct CBoolAnimParameter; +struct CBreakable; +struct CBreakableProp; +struct CBreakableStageHelper; +struct CBuoyancyHelper; +struct CCPPScriptComponentUpdater; +struct CCachedPose; +struct CChangeLevel; +struct CChoiceUpdateNode; +struct CChoreoUpdateNode; +struct CClientAlphaProperty; +struct CClothSettingsAnimTag; +struct CCollisionProperty; +struct CColorCorrection; +struct CColorCorrectionVolume; +struct CComicBook; +struct CCommentaryAuto; +struct CCommentarySystem; +struct CCommentaryViewPosition; +struct CCompressorGroup; +struct CConcreteAnimParameter; +struct CConstantForceController; +struct CConstraintAnchor; +struct CConstraintSlave; +struct CConstraintTarget; +struct CCopyRecipientFilter; +struct CCredits; +struct CCurrentRotationVelocityMetricEvaluator; +struct CCurrentVelocityMetricEvaluator; +struct CCycleBase; +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_Counterspell_Ally; +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_ArcWarden_TempestRecall; +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_Hawk_Perch; +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_BountyHunter_WindWalk_Ally; +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_Centaur_Work_Horse; +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_Crystal_Maiden_Crystal_Clone; +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_Return; +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_Fetch; +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_10thAnniversary_PartyHat; +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_ReactiveTazer_Stop; +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_DeadInTheWater; +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_Aetherial_Halo; +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_Halo; +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_Aetherial_Halo; +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_DeathCoil_Effect; +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_Aetherial_Halo; +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_AttackSpeed_Bonus; +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_Hawk_Perch_Flight; +struct CDOTA_Modifier_Beastmaster_Hawk_Perch_Perching; +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_Active_ConicalQuillSpray; +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_HoofStomp_Windup; +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_Penitence_Self_Attack_Range; +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_Crystal_Maiden_Crystal_Clone; +struct CDOTA_Modifier_Crystal_Maiden_Crystal_Clone_Statue; +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_LandingStun; +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_CryptSwarm_Slow; +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_Devour_Intrinsic; +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_DemonicConversion_ModelScale; +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_Distortion; +struct CDOTA_Modifier_FacelessVoid_TimeDilation_Slow; +struct CDOTA_Modifier_FacelessVoid_TimeDilation_Slowmo; +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_Damage; +struct CDOTA_Modifier_Furion_Sprout_Damage_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_Halo; +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_Invoke_Bonuses; +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_Invoker_Wex_Cooldown_Reduction; +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_RefresherShard; +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_Ice_EdgeThinker; +struct CDOTA_Modifier_Jakiro_Macropyre_Ice_Edge_Slow; +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_OnDeath; +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_DragonSlave_Burn; +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_Lina_SuperCharged; +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_Fetch; +struct CDOTA_Modifier_LoneDruid_SpiritBear_Fetch_Damage; +struct CDOTA_Modifier_LoneDruid_SpiritBear_Fetch_Self; +struct CDOTA_Modifier_LoneDruid_SpiritBear_TowerKillTracker; +struct CDOTA_Modifier_LoneDruid_SpiritLink; +struct CDOTA_Modifier_LoneDruid_SpiritLink_Active; +struct CDOTA_Modifier_LoneDruid_SpiritLink_BearFear; +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_Luna_MoonGlaive_Shield; +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_Illusion; +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_Mana_Allergy; +struct CDOTA_Modifier_Obsidian_Destroyer_Sanity_Eclipse_Counter; +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_MarkOfDeath; +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_Blind; +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_Coil_Break_Stun; +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_QueenOfPain_SonicWave_Knockback; +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_RootedUndispellable; +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_10thAnniversary_PartyHat; +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_Smoke_Of_Deceit_Secondary_Application_Cooldown; +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_Attack_Reduction; +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_Assassinate_Trigger; +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_Demon_Zeal_Aura; +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_Terrorblade_Transforming; +struct CDOTA_Modifier_Third_Eye; +struct CDOTA_Modifier_Tidehunter_AnchorSmash; +struct CDOTA_Modifier_Tidehunter_AnchorSmash_Caster; +struct CDOTA_Modifier_Tidehunter_Anchor_Unit; +struct CDOTA_Modifier_Tidehunter_DeadInTheWater; +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_Attack_Slow; +struct CDOTA_Modifier_Tusk_Tag_Team_Attack_Slow_Aura; +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_BecomeUniversal; +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_AetherRemnantCreepDamage; +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_AutoAttack; +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_GeminateAttackManager; +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_DeathWard_Voodoo_Switcheroo_AttackSpeedReduction; +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_Tidehunter_Anchor; +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 CDampedPathAnimMotorUpdater; +struct CDampedValueComponentUpdater; +struct CDampedValueUpdateItem; +struct CDebugHistory; +struct CDecalInfo; +struct CDeferredLightBase; +struct CDemoSettingsComponentUpdater; +struct CDirectPlaybackTagData; +struct CDirectPlaybackUpdateNode; +struct CDirectionalBlendUpdateNode; +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 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 CExampleSchemaVData_Monomorphic; +struct CExampleSchemaVData_PolymorphicBase; +struct CExampleSchemaVData_PolymorphicDerivedA; +struct CExampleSchemaVData_PolymorphicDerivedB; +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 CFlashlightEffect; +struct CFlexController; +struct CFlexDesc; +struct CFlexOp; +struct CFlexRule; +struct CFloatAnimParameter; +struct CFoWBlockerEntity; +struct CFoWBlockerRegion; +struct CFoWRevealerEntity; +struct CFogController; +struct CFogTrigger; +struct CFogVolume; +struct CFollowAttachmentUpdateNode; +struct CFollowPathUpdateNode; +struct CFootAdjustmentUpdateNode; +struct CFootCycle; +struct CFootCycleDefinition; +struct CFootCycleMetricEvaluator; +struct CFootDefinition; +struct CFootFallAnimTag; +struct CFootLockUpdateNode; +struct CFootMotion; +struct CFootPinningUpdateNode; +struct CFootPositionMetricEvaluator; +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 CFutureFacingMetricEvaluator; +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 CGunTarget; +struct CHeadLookParams; +struct CHeroStatueLiked; +struct CHeroesPerPlayer; +struct CHitBox; +struct CHitBoxSet; +struct CHitBoxSetList; +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_10thAnniversary; +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 CInputStreamUpdateNode; +struct CInstancedSceneEntity; +struct CInstructorEventEntity; +struct CIntAnimParameter; +struct CInterpolatedValue; +struct CItem; +struct CItemGeneric; +struct CItemGenericTriggerHelper; +struct CJiggleBoneUpdateNode; +struct CJumpHelperUpdateNode; +struct CKeepUpright; +struct CLODComponentUpdater; +struct CLeafUpdateNode; +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 CLookAtUpdateNode; +struct CLookComponentUpdater; +struct CMarkupVolume; +struct CMarkupVolumeTagged; +struct CMarkupVolumeTagged_Nav; +struct CMarkupVolumeTagged_NavGame; +struct CMarkupVolumeWithRef; +struct CMatchTrackedStatDefinition; +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 CMotionGraphUpdateNode; +struct CMotionMatchingUpdateNode; +struct CMotionMetricEvaluator; +struct CMotionNode; +struct CMotionNodeBlend1D; +struct CMotionNodeSequence; +struct CMotionSearchDB; +struct CMotionSearchNode; +struct CMotorController; +struct CMovementComponentUpdater; +struct CMovementMode; +struct CMoverUpdateNode; +struct CMultiLightProxy; +struct CMultiSource; +struct CMultiplayRules; +struct CMultiplayer_Expresser; +struct CNavHullPresetVData; +struct CNavHullVData; +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 CNullEntity; +struct CODTA_Unit_Warlock_Imp; +struct CObstructionObject; +struct COrientConstraint; +struct COrnamentProp; +struct CParamSpanUpdater; +struct CParentConstraint; +struct CParticleAnimTag; +struct CParticleBindingRealPulse; +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 CPathAnimMotorUpdater; +struct CPathAnimMotorUpdaterBase; +struct CPathCorner; +struct CPathCornerCrash; +struct CPathHelperUpdateNode; +struct CPathKeyFrame; +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 CPlayerInputAnimMotorUpdater; +struct CPlayerPawnComponent; +struct CPlayerTrackedStatDefinition; +struct CPlayerVisibility; +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 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 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_TestExplicitYesNo; +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_RandomInt; +struct CPulseCell_Value_TestValue50; +struct CPulseExecCursor; +struct CPulseGraphDef; +struct CPulseGraphInstance_TestDomain; +struct CPulseGraphInstance_TestDomain_Derived; +struct CPulseGraphInstance_TurtleGraphics; +struct CPulseMathlib; +struct CPulseRuntimeMethodArg; +struct CPulseTestFuncs_DerivedDomain; +struct CPulseTestFuncs_LibraryA; +struct CPulseTestScriptLib; +struct CPulseTurtleGraphicsCursor; +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 CRagdollAnimTag; +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 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 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 CSequenceFinishedAnimTag; +struct CSequenceGroupData; +struct CSequenceTransitioner2; +struct CSequenceUpdateNode; +struct CServerOnlyEntity; +struct CServerOnlyModelEntity; +struct CServerOnlyPointEntity; +struct CServerRagdollTrigger; +struct CSetFacingUpdateNode; +struct CSetParameterActionUpdater; +struct CShower; +struct CSimTimer; +struct CSimpleMarkupVolumeTagged; +struct CSimpleSimTimer; +struct CSimpleStopwatch; +struct CSingleFrameUpdateNode; +struct CSingleplayRules; +struct CSkeletalInputUpdateNode; +struct CSkeletonAnimationController; +struct CSkeletonInstance; +struct CSkillDamage; +struct CSkillFloat; +struct CSkillInt; +struct CSkyCamera; +struct CSkyboxReference; +struct CSlopeComponentUpdater; +struct CSlowDownOnSlopesUpdateNode; +struct CSmoothFunc; +struct CSolveIKChainUpdateNode; +struct CSolveIKTargetHandle_t; +struct CSosGroupActionLimitSchema; +struct CSosGroupActionSchema; +struct CSosGroupActionSetSoundeventParameterSchema; +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 CSoundEventOBBEntity; +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 CSpeedScaleUpdateNode; +struct CSpinUpdateBase; +struct CSplineConstraint; +struct CSpotlightEnd; +struct CSprite; +struct CSpriteAlias_env_glow; +struct CSpriteOriented; +struct CStanceOverrideUpdateNode; +struct CStanceScaleUpdateNode; +struct CStateActionUpdater; +struct CStateMachineComponentUpdater; +struct CStateMachineUpdateNode; +struct CStateNodeStateData; +struct CStateNodeTransitionData; +struct CStateUpdateData; +struct CStaticPoseCache; +struct CStaticPoseCacheBuilder; +struct CStepsRemainingMetricEvaluator; +struct CStopAtGoalUpdateNode; +struct CStopwatch; +struct CStopwatchBase; +struct CStringAnimTag; +struct CSubtractUpdateNode; +struct CTakeDamageInfo; +struct CTakeDamageResult; +struct CTakeDamageSummaryScopeGuard; +struct CTaskStatusAnimTag; +struct CTeam; +struct CTeamTrackedStatDefinition; +struct CTestDomainDerived_Cursor; +struct CTextureBasedAnimatable; +struct CTiltTwistConstraint; +struct CTimeRemainingMetricEvaluator; +struct CTimeline; +struct CTimerEntity; +struct CToggleComponentActionUpdater; +struct CTonemapController2; +struct CTonemapController2Alias_env_tonemap_controller2; +struct CTonemapTrigger; +struct CTouchExpansionComponent; +struct CTransitionUpdateData; +struct CTriggerActiveWeaponDetect; +struct CTriggerBrush; +struct CTriggerCallback; +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 CTurnHelperUpdateNode; +struct CTwistConstraint; +struct CTwoBoneIKUpdateNode; +struct CUnaryUpdateNode; +struct CUnitOrders; +struct CVPhysXSurfacePropertiesList; +struct CVRInputComponentUpdater; +struct CVariantDefaultAllocator; +struct CVectorAnimParameter; +struct CVectorQuantizer; +struct CVerticalMotionController; +struct CVirtualAnimParameter; +struct CVoxelVisibility; +struct CVrSkeletalInputSettings; +struct CWayPointHelperUpdateNode; +struct CWorld; +struct CWristBone; +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_Counterspell_Ally; +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_Hawk_Perch; +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_BountyHunter_WindWalk_Ally; +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_Crystal_Maiden_Crystal_Clone; +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_Return; +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_Fetch; +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_ReactiveTazer_Stop; +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_DeadInTheWater; +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_Aetherial_Halo; +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_Tidehunter_Anchor; +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_Diffusion; +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_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_ParticlePhysics; +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_RemapSDFDistanceToScalarAttribute; +struct C_OP_RemapSDFDistanceToVectorAttribute; +struct C_OP_RemapSDFGradientToVectorAttribute; +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_RenderGpuImplicit; +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_SDFConstraint; +struct C_OP_SDFForce; +struct C_OP_SDFLighting; +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_SetGravityToCP; +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_PlayerVisibility; +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_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_Team; +struct C_TextureBasedAnimatable; +struct C_TintController; +struct C_TonemapController2; +struct C_TonemapController2Alias_env_tonemap_controller2; +struct C_TriggerLerpObject; +struct C_TriggerMultiple; +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 ClutterSceneObject_t; +struct ClutterTile_t; +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 FakeEntity_t; +struct FantasyCraftDataID_t; +struct FantasyGemQuality_t; +struct FantasyGemShape_t; +struct FantasyGemSlot_t; +struct FantasyLeagueID_t; +struct FantasyOperationID_t; +struct FantasyPeriod_t; +struct FantasyTabletID_t; +struct FantasyTitle_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 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 IKDemoCaptureSettings_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 InfoForResourceTypeCDOTANovelsList; +struct InfoForResourceTypeCDOTAPatchNotesList; +struct InfoForResourceTypeCDotaItemDefinitionResource; +struct InfoForResourceTypeCEntityLump; +struct InfoForResourceTypeCJavaScriptResource; +struct InfoForResourceTypeCModel; +struct InfoForResourceTypeCMorphSetData; +struct InfoForResourceTypeCPanoramaDynamicImages; +struct InfoForResourceTypeCPanoramaLayout; +struct InfoForResourceTypeCPanoramaStyle; +struct InfoForResourceTypeCPhysAggregateData; +struct InfoForResourceTypeCPostProcessingResource; +struct InfoForResourceTypeCRenderMesh; +struct InfoForResourceTypeCResourceManifestInternal; +struct InfoForResourceTypeCResponseRulesList; +struct InfoForResourceTypeCSequenceGroupData; +struct InfoForResourceTypeCSmartProp; +struct InfoForResourceTypeCTextureBase; +struct InfoForResourceTypeCTypeScriptResource; +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 PortraitWorldLightConfig_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 RnBodyDesc_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 SZooSetAnnotation_t; +struct SZooSetAnnotationsConfig_t; +struct SZooSetAnnotations_t; +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 TrackedStatAggregateData_t; +struct TrackedStatCombatQueryData_t; +struct TrackedStatExpressionData_t; +struct TrackedStatHeroAdjectiveData_t; +struct TrackedStatKillEaterData_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; +struct vphysics_save_cphysicsbody_t; diff --git a/sdk/particles.hpp b/sdk/particles.hpp index 68960694..e7a31142 100644 --- a/sdk/particles.hpp +++ b/sdk/particles.hpp @@ -5,7 +5,7 @@ // ///////////////////////////////////////////////////////////// // Binary: particles.dll // Classes count: 438 -// Enums count: 68 +// Enums count: 69 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -129,12 +129,13 @@ enum class ParticleDetailLevel_t : uint32_t }; // Alignment: 4 -// Size: 0x3 +// Size: 0x4 enum class ParticleTraceSet_t : uint32_t { PARTICLE_TRACE_SET_ALL = 0x0, PARTICLE_TRACE_SET_STATIC = 0x1, - PARTICLE_TRACE_SET_DYNAMIC = 0x2, + PARTICLE_TRACE_SET_STATIC_AND_KEYFRAMED = 0x2, + PARTICLE_TRACE_SET_DYNAMIC = 0x3, }; // Alignment: 4 @@ -414,6 +415,14 @@ enum class BBoxVolumeType_t : uint32_t BBOX_MINS_MAXS = 0x2, }; +// Alignment: 4 +// Size: 0x2 +enum class ParticleHitboxDataSelection_t : uint32_t +{ + PARTICLE_HITBOX_AVERAGE_SPEED = 0x0, + PARTICLE_HITBOX_COUNT = 0x1, +}; + // Alignment: 4 // Size: 0x6 enum class ParticleOrientationChoiceList_t : uint32_t @@ -748,7 +757,7 @@ enum class ParticleModelType_t : uint32_t }; // Alignment: 4 -// Size: 0x12 +// Size: 0x13 enum class ParticleVecType_t : uint32_t { PVEC_TYPE_INVALID = 0xffffffffffffffff, @@ -768,7 +777,8 @@ enum class ParticleVecType_t : uint32_t PVEC_TYPE_RANDOM_UNIFORM = 0xd, PVEC_TYPE_RANDOM_UNIFORM_OFFSET = 0xe, PVEC_TYPE_CP_DELTA = 0xf, - PVEC_TYPE_COUNT = 0x10, + PVEC_TYPE_CLOSEST_CAMERA_POSITION = 0x10, + PVEC_TYPE_COUNT = 0x11, }; struct ParticleAttributeIndex_t; @@ -1296,7 +1306,7 @@ public: // No members available }; -// Alignment: 45 +// Alignment: 46 // Size: 0x158 class CParticleFloatInput : public CParticleInput { @@ -1318,51 +1328,49 @@ public: private: [[maybe_unused]] uint8_t __pad0079[0x3]; // 0x79 public: - ParticleFloatRandomMode_t m_nRandomMode; // 0x7c + int32_t m_nRandomSeed; // 0x7c + ParticleFloatRandomMode_t m_nRandomMode; // 0x80 private: - [[maybe_unused]] uint8_t __pad0080[0x4]; // 0x80 + [[maybe_unused]] uint8_t __pad0084[0x4]; // 0x84 public: - float m_flLOD0; // 0x84 - float m_flLOD1; // 0x88 - float m_flLOD2; // 0x8c - float m_flLOD3; // 0x90 - ParticleAttributeIndex_t m_nNoiseInputVectorAttribute; // 0x94 - float m_flNoiseOutputMin; // 0x98 - float m_flNoiseOutputMax; // 0x9c - float m_flNoiseScale; // 0xa0 - Vector m_vecNoiseOffsetRate; // 0xa4 - float m_flNoiseOffset; // 0xb0 - int32_t m_nNoiseOctaves; // 0xb4 - PFNoiseTurbulence_t m_nNoiseTurbulence; // 0xb8 - PFNoiseType_t m_nNoiseType; // 0xbc - PFNoiseModifier_t m_nNoiseModifier; // 0xc0 - float m_flNoiseTurbulenceScale; // 0xc4 - float m_flNoiseTurbulenceMix; // 0xc8 - float m_flNoiseImgPreviewScale; // 0xcc - bool m_bNoiseImgPreviewLive; // 0xd0 + float m_flLOD0; // 0x88 + float m_flLOD1; // 0x8c + float m_flLOD2; // 0x90 + float m_flLOD3; // 0x94 + ParticleAttributeIndex_t m_nNoiseInputVectorAttribute; // 0x98 + float m_flNoiseOutputMin; // 0x9c + float m_flNoiseOutputMax; // 0xa0 + float m_flNoiseScale; // 0xa4 + Vector m_vecNoiseOffsetRate; // 0xa8 + float m_flNoiseOffset; // 0xb4 + int32_t m_nNoiseOctaves; // 0xb8 + PFNoiseTurbulence_t m_nNoiseTurbulence; // 0xbc + PFNoiseType_t m_nNoiseType; // 0xc0 + PFNoiseModifier_t m_nNoiseModifier; // 0xc4 + float m_flNoiseTurbulenceScale; // 0xc8 + float m_flNoiseTurbulenceMix; // 0xcc + float m_flNoiseImgPreviewScale; // 0xd0 + bool m_bNoiseImgPreviewLive; // 0xd4 private: - [[maybe_unused]] uint8_t __pad00d1[0xb]; // 0xd1 + [[maybe_unused]] uint8_t __pad00d5[0xb]; // 0xd5 public: - float m_flNoCameraFallback; // 0xdc - bool m_bUseBoundsCenter; // 0xe0 + float m_flNoCameraFallback; // 0xe0 + bool m_bUseBoundsCenter; // 0xe4 private: - [[maybe_unused]] uint8_t __pad00e1[0x3]; // 0xe1 -public: - 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 __pad0114[0x4]; // 0x114 + [[maybe_unused]] uint8_t __pad00e5[0x3]; // 0xe5 public: + ParticleFloatInputMode_t m_nInputMode; // 0xe8 + float m_flMultFactor; // 0xec + float m_flInput0; // 0xf0 + float m_flInput1; // 0xf4 + float m_flOutput0; // 0xf8 + float m_flOutput1; // 0xfc + float m_flNotchedRangeMin; // 0x100 + float m_flNotchedRangeMax; // 0x104 + float m_flNotchedOutputOutside; // 0x108 + float m_flNotchedOutputInside; // 0x10c + ParticleFloatBiasType_t m_nBiasType; // 0x110 + float m_flBiasParameter; // 0x114 CPiecewiseCurve m_Curve; // 0x118 }; @@ -2063,7 +2071,7 @@ public: }; // Alignment: 27 -// Size: 0x2b90 +// Size: 0x2f90 class C_OP_RenderSprites : public CBaseRendererSource2 { public: @@ -2084,108 +2092,109 @@ public: // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" bool m_bUseYawWithNormalAligned; // 0x25d0 private: - [[maybe_unused]] uint8_t __pad25d1[0x3]; // 0x25d1 + [[maybe_unused]] uint8_t __pad25d1[0x7]; // 0x25d1 public: // MPropertyStartGroup "Fading and culling" // MPropertyFriendlyName "minimum visual screen size" // MPropertySortPriority "1000" - float m_flMinSize; // 0x25d4 + CParticleCollectionRendererFloatInput m_flMinSize; // 0x25d8 // MPropertyFriendlyName "maximum visual screen size" // MPropertySortPriority "1000" - float m_flMaxSize; // 0x25d8 + CParticleCollectionRendererFloatInput m_flMaxSize; // 0x2730 // MPropertyFriendlyName "Factor to map size adjustment to alpha" // MPropertySortPriority "1000" - float m_flAlphaAdjustWithSizeAdjust; // 0x25dc + CParticleCollectionRendererFloatInput m_flAlphaAdjustWithSizeAdjust; // 0x2888 // MPropertyFriendlyName "screen size to start fading" // MPropertySortPriority "1000" - CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x25e0 + CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x29e0 // MPropertyFriendlyName "screen size to fade away" // MPropertySortPriority "1000" - CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x2738 + CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x2b38 // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x2890 + float m_flStartFadeDot; // 0x2c90 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x2894 + float m_flEndFadeDot; // 0x2c94 // MPropertyStartGroup "Distance to alpha coding" // MPropertyFriendlyName "distance alpha" // MPropertySortPriority "0" - bool m_bDistanceAlpha; // 0x2898 + bool m_bDistanceAlpha; // 0x2c98 // MPropertyFriendlyName "use soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - bool m_bSoftEdges; // 0x2899 + bool m_bSoftEdges; // 0x2c99 private: - [[maybe_unused]] uint8_t __pad289a[0x2]; // 0x289a + [[maybe_unused]] uint8_t __pad2c9a[0x2]; // 0x2c9a public: // MPropertyFriendlyName "start value for soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessStart; // 0x289c + float m_flEdgeSoftnessStart; // 0x2c9c // MPropertyFriendlyName "end value for soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessEnd; // 0x28a0 + float m_flEdgeSoftnessEnd; // 0x2ca0 // MPropertyStartGroup "Outlining" // MPropertyFriendlyName "enable particle outlining" // MPropertySortPriority "0" - bool m_bOutline; // 0x28a4 + bool m_bOutline; // 0x2ca4 // MPropertyFriendlyName "outline color" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - Color m_OutlineColor; // 0x28a5 + Color m_OutlineColor; // 0x2ca5 private: - [[maybe_unused]] uint8_t __pad28a9[0x3]; // 0x28a9 + [[maybe_unused]] uint8_t __pad2ca9[0x3]; // 0x2ca9 public: // MPropertyFriendlyName "outline alpha" // MPropertyAttributeRange "0 255" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - int32_t m_nOutlineAlpha; // 0x28ac + int32_t m_nOutlineAlpha; // 0x2cac // MPropertyFriendlyName "outline start 0" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart0; // 0x28b0 + float m_flOutlineStart0; // 0x2cb0 // MPropertyFriendlyName "outline start 1" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart1; // 0x28b4 + float m_flOutlineStart1; // 0x2cb4 // MPropertyFriendlyName "outline end 0" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd0; // 0x28b8 + float m_flOutlineEnd0; // 0x2cb8 // MPropertyFriendlyName "outline end 1" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd1; // 0x28bc + float m_flOutlineEnd1; // 0x2cbc // MPropertyStartGroup "Lighting and Shadows" // MPropertyFriendlyName "lighting mode" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx" - ParticleLightingQuality_t m_nLightingMode; // 0x28c0 + ParticleLightingQuality_t m_nLightingMode; // 0x2cc0 private: - [[maybe_unused]] uint8_t __pad28c4[0x4]; // 0x28c4 + [[maybe_unused]] uint8_t __pad2cc4[0x4]; // 0x2cc4 public: // MPropertyFriendlyName "vertex lighting tessellation (0-5)" // MPropertyAttributeRange "0 5" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx || m_nLightingMode != PARTICLE_LIGHTING_PER_VERTEX" - CParticleCollectionRendererFloatInput m_flLightingTessellation; // 0x28c8 + CParticleCollectionRendererFloatInput m_flLightingTessellation; // 0x2cc8 // MPropertyFriendlyName "lighting directionality" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx" - CParticleCollectionRendererFloatInput m_flLightingDirectionality; // 0x2a20 + CParticleCollectionRendererFloatInput m_flLightingDirectionality; // 0x2e20 // MPropertyFriendlyName "Particle Shadows" // MPropertySortPriority "400" - bool m_bParticleShadows; // 0x2b78 + // MPropertySuppressExpr "mod != csgo" + bool m_bParticleShadows; // 0x2f78 private: - [[maybe_unused]] uint8_t __pad2b79[0x3]; // 0x2b79 + [[maybe_unused]] uint8_t __pad2f79[0x3]; // 0x2f79 public: // MPropertyFriendlyName "Shadow Density" // MPropertySortPriority "400" // MPropertySuppressExpr "!m_bParticleShadows" - float m_flShadowDensity; // 0x2b7c + float m_flShadowDensity; // 0x2f7c }; // Alignment: 1 @@ -2222,14 +2231,6 @@ public: // No members available }; -// Alignment: 0 -// Size: 0x140 -class CParticleBindingRealPulse : public CParticleCollectionBindingInstance -{ -public: - // No members available -}; - // Alignment: 6 // Size: 0x38 struct ParticleNamedValueConfiguration_t @@ -2478,11 +2479,13 @@ public: // MPropertyFriendlyName "brush only" bool m_bBrushOnly; // 0x25d // MPropertyFriendlyName "include water" + // MPropertySuppressExpr "m_nTraceSet == PARTICLE_TRACE_SET_STATIC" bool m_bIncludeWater; // 0x25e private: [[maybe_unused]] uint8_t __pad025f[0x1]; // 0x25f public: // MPropertyFriendlyName "CP Entity to Ignore for Collisions" + // MPropertySuppressExpr "m_nTraceSet == PARTICLE_TRACE_SET_STATIC" int32_t m_nIgnoreCP; // 0x260 // MPropertyFriendlyName "control point movement distance tolerance" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" @@ -2552,6 +2555,15 @@ public: bool m_bAccountForRadius; // 0xe75 }; +// Alignment: 1 +// Size: 0x1d0 +class C_OP_ShapeMatchingConstraint : public CParticleFunctionConstraint +{ +public: + // MPropertyFriendlyName "shape restoration time" + float m_flShapeRestorationTime; // 0x1c0 +}; + // Alignment: 5 // Size: 0x730 class C_OP_RopeSpringConstraint : public CParticleFunctionConstraint @@ -3016,6 +3028,7 @@ public: // MPropertyFriendlyName "No Collision Behavior" ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x500 // MPropertyFriendlyName "include water" + // MPropertySuppressExpr "m_nTraceSet == PARTICLE_TRACE_SET_STATIC" bool m_bIncludeWater; // 0x504 // MPropertyFriendlyName "set normal" bool m_bSetNormal; // 0x505 @@ -3033,6 +3046,7 @@ public: // MPropertyFriendlyName "preserve initial Z-offset relative to cp" int32_t m_nPreserveOffsetCP; // 0x510 // MPropertyFriendlyName "CP Entity to Ignore for Collisions" + // MPropertySuppressExpr "m_nTraceSet == PARTICLE_TRACE_SET_STATIC" int32_t m_nIgnoreCP; // 0x514 }; @@ -4919,8 +4933,8 @@ public: bool m_bWritePreviousPosition; // 0x821 }; -// Alignment: 5 -// Size: 0x480 +// Alignment: 6 +// Size: 0x5e0 class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter { public: @@ -4931,10 +4945,15 @@ public: CParticleCollectionFloatInput m_flStartTime; // 0x318 // MPropertyFriendlyName "emission scale from killed parent particles" float m_flInitFromKilledParentParticles; // 0x470 +private: + [[maybe_unused]] uint8_t __pad0474[0x4]; // 0x474 +public: + // MPropertyFriendlyName "emission scale from parent particle count" + CParticleCollectionFloatInput m_flParentParticleScale; // 0x478 // MPropertyFriendlyName "maximum emission per frame" - int32_t m_nMaxEmittedPerFrame; // 0x474 + int32_t m_nMaxEmittedPerFrame; // 0x5d0 // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x478 + int32_t m_nSnapshotControlPoint; // 0x5d4 }; // Alignment: 10 @@ -6391,7 +6410,7 @@ public: float m_flBias; // 0x1d4 }; -// Alignment: 5 +// Alignment: 6 // Size: 0x1e0 class C_OP_ColorInterpolate : public CParticleFunctionOperator { @@ -6410,6 +6429,8 @@ public: ParticleAttributeIndex_t m_nFieldOutput; // 0x1d8 // MPropertyFriendlyName "ease in and out" bool m_bEaseInOut; // 0x1dc + // MPropertyFriendlyName "use new code" + bool m_bUseNewCode; // 0x1dd }; // Alignment: 6 @@ -8390,7 +8411,7 @@ public: CParticleCollectionFloatInput m_Lerp; // 0x320 }; -// Alignment: 4 +// Alignment: 5 // Size: 0x4a0 class C_OP_SetFloat : public CParticleFunctionOperator { @@ -8404,6 +8425,8 @@ public: ParticleSetMethod_t m_nSetMethod; // 0x31c // MPropertyFriendlyName "interpolation" CPerParticleFloatInput m_Lerp; // 0x320 + // MPropertyFriendlyName "use new code" + bool m_bUseNewCode; // 0x478 }; // Alignment: 5 @@ -8682,7 +8705,7 @@ public: bool m_bUseDeltaV; // 0x1ec }; -// Alignment: 10 +// Alignment: 11 // Size: 0xe20 class C_OP_RemapAverageHitboxSpeedtoCP : public CParticleFunctionPreEmission { @@ -8694,9 +8717,8 @@ public: // MPropertyFriendlyName "Output component" // MPropertyAttributeChoiceName "vector_component" int32_t m_nField; // 0x1d8 -private: - [[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc -public: + // MPropertyFriendlyName "hitbox data" + ParticleHitboxDataSelection_t m_nHitboxDataType; // 0x1dc // MPropertyFriendlyName "input minimum" CParticleCollectionFloatInput m_flInputMin; // 0x1e0 // MPropertyFriendlyName "input maximum" @@ -8706,11 +8728,13 @@ public: // MPropertyFriendlyName "output maximum" CParticleCollectionFloatInput m_flOutputMax; // 0x5e8 // MPropertyFriendlyName "intersection height CP" + // MPropertySuppressExpr "m_nHitboxDataType != PARTICLE_HITBOX_AVERAGE_SPEED" int32_t m_nHeightControlPointNumber; // 0x740 private: [[maybe_unused]] uint8_t __pad0744[0x4]; // 0x744 public: // MPropertyFriendlyName "comparison velocity" + // MPropertySuppressExpr "m_nHitboxDataType != PARTICLE_HITBOX_AVERAGE_SPEED" CParticleCollectionVecInput m_vecComparisonVelocity; // 0x748 // MPropertyFriendlyName "hitbox set" char m_HitboxSetName[128]; // 0xda0 @@ -9978,7 +10002,7 @@ public: float m_flForwardDegrees; // 0x204 }; -// Alignment: 49 +// Alignment: 50 // Size: 0x25f0 class C_OP_RenderModels : public CParticleFunctionRenderer { @@ -10050,127 +10074,133 @@ public: // MPropertyFriendlyName "apply scales in local model space" // MPropertySortPriority "700" bool m_bLocalScale; // 0x1540 +private: + [[maybe_unused]] uint8_t __pad1541[0x3]; // 0x1541 +public: + // MPropertyFriendlyName "model size cull bloat" + // MPropertyAttributeChoiceName "particlefield_size_cull_bloat" + int32_t m_nSizeCullBloat; // 0x1544 // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animated" // MPropertySortPriority "500" - bool m_bAnimated; // 0x1541 + bool m_bAnimated; // 0x1548 private: - [[maybe_unused]] uint8_t __pad1542[0x2]; // 0x1542 + [[maybe_unused]] uint8_t __pad1549[0x3]; // 0x1549 public: // MPropertyFriendlyName "animation rate" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - float m_flAnimationRate; // 0x1544 + float m_flAnimationRate; // 0x154c // MPropertyFriendlyName "scale animation rate" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bScaleAnimationRate; // 0x1548 + bool m_bScaleAnimationRate; // 0x1550 // MPropertyFriendlyName "force looping animations" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bForceLoopingAnimation; // 0x1549 + bool m_bForceLoopingAnimation; // 0x1551 // MPropertyFriendlyName "reset animation frame on stop" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bResetAnimOnStop; // 0x154a + bool m_bResetAnimOnStop; // 0x1552 // MPropertyFriendlyName "set animation frame manually" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bManualAnimFrame; // 0x154b + bool m_bManualAnimFrame; // 0x1553 // MPropertyFriendlyName "animation rate scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - ParticleAttributeIndex_t m_nAnimationScaleField; // 0x154c + ParticleAttributeIndex_t m_nAnimationScaleField; // 0x1554 // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animation sequence field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" - ParticleAttributeIndex_t m_nAnimationField; // 0x1550 + ParticleAttributeIndex_t m_nAnimationField; // 0x1558 // MPropertyFriendlyName "manual animation frame field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" // MPropertySuppressExpr "!(m_bAnimated && m_bManualAnimFrame)" - ParticleAttributeIndex_t m_nManualFrameField; // 0x1554 + ParticleAttributeIndex_t m_nManualFrameField; // 0x155c // MPropertyFriendlyName "activity override" // MPropertySuppressExpr "mod != dota" // MPropertySortPriority "500" - char m_ActivityName[256]; // 0x1558 + char m_ActivityName[256]; // 0x1560 // MPropertyFriendlyName "sequence override" // MPropertySuppressExpr "mod == dota" // MPropertySortPriority "500" - char m_SequenceName[256]; // 0x1658 + char m_SequenceName[256]; // 0x1660 // MPropertyFriendlyName "Enable Cloth Simulation" - bool m_bEnableClothSimulation; // 0x1758 + bool m_bEnableClothSimulation; // 0x1760 private: - [[maybe_unused]] uint8_t __pad1759[0x7]; // 0x1759 + [[maybe_unused]] uint8_t __pad1761[0x7]; // 0x1761 public: // MPropertyStartGroup "Material" // MPropertyFriendlyName "material override" // MPropertySortPriority "600" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x1760 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x1768 // MPropertyFriendlyName "override translucent materials" // MPropertySortPriority "600" - bool m_bOverrideTranslucentMaterials; // 0x1768 + bool m_bOverrideTranslucentMaterials; // 0x1770 private: - [[maybe_unused]] uint8_t __pad1769[0x7]; // 0x1769 + [[maybe_unused]] uint8_t __pad1771[0x7]; // 0x1771 public: // MPropertyFriendlyName "skin number" // MPropertySortPriority "600" - CPerParticleFloatInput m_nSkin; // 0x1770 + CPerParticleFloatInput m_nSkin; // 0x1778 // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf // MPropertySortPriority "600" - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x18c8 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x18d0 // MPropertyStartGroup "Model Overrides" // MPropertyFriendlyName "input model" - CParticleModelInput m_modelInput; // 0x18e0 + CParticleModelInput m_modelInput; // 0x18e8 // MPropertyFriendlyName "model LOD" - int32_t m_nLOD; // 0x1940 + int32_t m_nLOD; // 0x1948 // MPropertyFriendlyName "model override economy loadout slot type" - char m_EconSlotName[256]; // 0x1944 + char m_EconSlotName[256]; // 0x194c // MPropertyFriendlyName "model override original model only (ignore shapeshift/hex/etc)" - bool m_bOriginalModel; // 0x1a44 + bool m_bOriginalModel; // 0x1a4c // MPropertyFriendlyName "suppress tinting of the model" - bool m_bSuppressTint; // 0x1a45 + bool m_bSuppressTint; // 0x1a4d // MPropertyFriendlyName "use raw mesh group (ignore bodygroup field and use submodel field as raw meshgroup)" - bool m_bUseRawMeshGroup; // 0x1a46 + bool m_bUseRawMeshGroup; // 0x1a4e // MPropertyFriendlyName "disable shadows" - bool m_bDisableShadows; // 0x1a47 + bool m_bDisableShadows; // 0x1a4f // MPropertyFriendlyName "accept decals" - bool m_bAcceptsDecals; // 0x1a48 + bool m_bAcceptsDecals; // 0x1a50 // MPropertyFriendlyName "forcedrawinterlevedwithsiblings" - bool m_bForceDrawInterlevedWithSiblings; // 0x1a49 + bool m_bForceDrawInterlevedWithSiblings; // 0x1a51 // MPropertyFriendlyName "do not draw in particle pass" - bool m_bDoNotDrawInParticlePass; // 0x1a4a + bool m_bDoNotDrawInParticlePass; // 0x1a52 // MPropertyFriendlyName "render attribute" - char m_szRenderAttribute[260]; // 0x1a4b + char m_szRenderAttribute[260]; // 0x1a53 private: - [[maybe_unused]] uint8_t __pad1b4f[0x1]; // 0x1b4f + [[maybe_unused]] uint8_t __pad1b57[0x1]; // 0x1b57 public: // MPropertyStartGroup "+Renderer Modifiers" // MPropertyFriendlyName "Radius Scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x1b50 + CParticleCollectionFloatInput m_flRadiusScale; // 0x1b58 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x1ca8 + CParticleCollectionFloatInput m_flAlphaScale; // 0x1cb0 // MPropertyFriendlyName "rotation roll scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRollScale; // 0x1e00 + CParticleCollectionFloatInput m_flRollScale; // 0x1e08 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x1f58 + ParticleAttributeIndex_t m_nAlpha2Field; // 0x1f60 private: - [[maybe_unused]] uint8_t __pad1f5c[0x4]; // 0x1f5c + [[maybe_unused]] uint8_t __pad1f64[0x4]; // 0x1f64 public: // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x1f60 + CParticleCollectionVecInput m_vecColorScale; // 0x1f68 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x25b8 + ParticleColorBlendType_t m_nColorBlendType; // 0x25c0 }; // Alignment: 8 diff --git a/sdk/resourcesystem.hpp b/sdk/resourcesystem.hpp index 1e775b1b..bfab7f83 100644 --- a/sdk/resourcesystem.hpp +++ b/sdk/resourcesystem.hpp @@ -4,7 +4,7 @@ // ///////////////////////////////////////////////////////////// // Binary: resourcesystem.dll -// Classes count: 54 +// Classes count: 56 // Enums count: 2 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -475,6 +475,26 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x1 +class InfoForResourceTypeCNmSkeleton +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x1 +class InfoForResourceTypeCNmClip +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + // Alignment: 1 // Size: 0x2 struct FuseVariableIndex_t diff --git a/sdk/server.hpp b/sdk/server.hpp index fbe374e0..6d0c2323 100644 --- a/sdk/server.hpp +++ b/sdk/server.hpp @@ -4,8 +4,8 @@ // ///////////////////////////////////////////////////////////// // Binary: server.dll -// Classes count: 8173 -// Enums count: 325 +// Classes count: 8201 +// Enums count: 330 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -390,7 +390,7 @@ enum class EDemoCommands : uint32_t }; // Alignment: 4 -// Size: 0x30 +// Size: 0x31 enum class EBaseUserMessages : uint32_t { UM_AchievementEvent = 0x65, @@ -440,6 +440,7 @@ enum class EBaseUserMessages : uint32_t UM_InventoryResponse = 0xa1, UM_RequestDiagnostic = 0xa2, UM_DiagnosticResponse = 0xa3, + UM_ExtraUserData = 0xa4, UM_MAX_BASE = 0xc8, }; @@ -789,7 +790,7 @@ enum class RumbleEffect_t : uint32_t }; // Alignment: 4 -// Size: 0x12 +// Size: 0x13 enum class WeaponSound_t : uint32_t { WEAPON_SOUND_EMPTY = 0x0, @@ -801,15 +802,16 @@ enum class WeaponSound_t : uint32_t 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, + WEAPON_SOUND_MELEE_HIT_NPC = 0x9, + WEAPON_SOUND_SPECIAL1 = 0xa, + WEAPON_SOUND_SPECIAL2 = 0xb, + WEAPON_SOUND_SPECIAL3 = 0xc, + WEAPON_SOUND_NEARLYEMPTY = 0xd, + WEAPON_SOUND_IMPACT = 0xe, + WEAPON_SOUND_REFLECT = 0xf, + WEAPON_SOUND_SECONDARY_IMPACT = 0x10, + WEAPON_SOUND_SECONDARY_REFLECT = 0x11, + WEAPON_SOUND_NUM_TYPES = 0x12, }; // Alignment: 4 @@ -1571,10 +1573,10 @@ enum class PlayerConnectedState : uint32_t // Size: 0x4 enum class WeaponAttackType_t : uint32_t { - WEAPON_ATTACK_INVALID = 0xffffffffffffffff, - WEAPON_PRIMARY_ATTACK = 0x0, - WEAPON_SECONDARY_ATTACK = 0x1, - WEAPON_ATTACK_COUNT = 0x2, + eInvalid = 0xffffffffffffffff, + ePrimary = 0x0, + eSecondary = 0x1, + eCount = 0x2, }; // Alignment: 4 @@ -1599,15 +1601,6 @@ enum class vote_create_failed_t : uint32_t VOTE_FAILED_MAX = 0xf, }; -// Alignment: 4 -// Size: 0x3 -enum class WeaponState_t : uint32_t -{ - WEAPON_NOT_CARRIED = 0x0, - WEAPON_IS_CARRIED_BY_PLAYER = 0x1, - WEAPON_IS_ACTIVE = 0x2, -}; - // Alignment: 1 // Size: 0x9 enum class ItemFlagTypes_t : uint8_t @@ -2485,7 +2478,7 @@ enum class EChatSpecialPrivileges : uint32_t }; // Alignment: 4 -// Size: 0xd +// Size: 0xe enum class DOTACommType_t : uint32_t { DOTA_COMM_TYPE_NONE = 0x0, @@ -2493,14 +2486,15 @@ enum class DOTACommType_t : uint32_t 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, + DOTA_COMM_TYPE_SHOWCASE = 0x5, + DOTA_COMM_TYPE_VOICE = 0x6, + DOTA_COMM_TYPE_ALLY_ABILITY = 0x7, + DOTA_COMM_TYPE_PAUSE = 0x8, + DOTA_COMM_TYPE_COACHING = 0x9, + DOTA_COMM_TYPE_NOCOOLDOWN = 0xa, + DOTA_COMM_TYPE_RANKEDMATCHMAKE = 0xb, + DOTA_COMM_TYPE_DROPS = 0xc, + DOTA_COMM_TYPE_NEWPLAYER_EXPERT = 0xd, }; // Alignment: 4 @@ -2780,9 +2774,10 @@ enum class ELaneType : uint32_t }; // Alignment: 4 -// Size: 0xc +// Size: 0x12 enum class EBadgeType : uint32_t { + k_EBadgeType_Invalid = 0x0, k_EBadgeType_TI7_Midweek = 0x1, k_EBadgeType_TI7_Finals = 0x2, k_EBadgeType_TI7_AllEvent = 0x3, @@ -2795,6 +2790,11 @@ enum class EBadgeType : uint32_t k_EBadgeType_TI11_PlayoffsDay3 = 0xa, k_EBadgeType_TI11_PlayoffsDay4 = 0xb, k_EBadgeType_TI11_FinalsWeekend = 0xc, + k_EBadgeType_TI12_PlayoffsDay1 = 0xd, + k_EBadgeType_TI12_PlayoffsDay2 = 0xe, + k_EBadgeType_TI12_PlayoffsDay3 = 0xf, + k_EBadgeType_TI12_FinalsWeekend = 0x10, + k_EBadgeType_TI12_Special = 0x11, }; // Alignment: 4 @@ -3313,7 +3313,7 @@ enum class ELeagueNodeType : uint32_t }; // Alignment: 4 -// Size: 0x359 +// Size: 0x375 enum class EDOTAGCMsg : uint32_t { k_EMsgGCDOTABase = 0x1b58, @@ -4152,8 +4152,8 @@ enum class EDOTAGCMsg : uint32_t k_EMsgClientToGCShowcaseGetUserDataResponse = 0x22b7, k_EMsgClientToGCShowcaseSetUserData = 0x22b8, k_EMsgClientToGCShowcaseSetUserDataResponse = 0x22b9, - k_EMsgClientToGCFantasyCraftingGetUserData = 0x22ba, - k_EMsgClientToGCFantasyCraftingGetUserDataResponse = 0x22bb, + k_EMsgClientToGCFantasyCraftingGetData = 0x22ba, + k_EMsgClientToGCFantasyCraftingGetDataResponse = 0x22bb, k_EMsgClientToGCFantasyCraftingPerformOperation = 0x22bc, k_EMsgClientToGCFantasyCraftingPerformOperationResponse = 0x22bd, k_EMsgGCToClientFantasyCraftingGetDataUpdated = 0x22be, @@ -4173,6 +4173,34 @@ enum class EDOTAGCMsg : uint32_t k_EMsgClientToGCBingoGetStatsDataResponse = 0x22cc, k_EMsgGCToClientBingoUserDataUpdated = 0x22cd, k_EMsgGCToClientRoadToTIQuestDataUpdated = 0x22ce, + k_EMsgClientToGCRoadToTIUseItem = 0x22cf, + k_EMsgClientToGCRoadToTIUseItemResponse = 0x22d0, + k_EMsgClientToGCShowcaseSubmitReport = 0x22d1, + k_EMsgClientToGCShowcaseSubmitReportResponse = 0x22d2, + k_EMsgClientToGCShowcaseAdminGetReportsRollupList = 0x22d3, + k_EMsgClientToGCShowcaseAdminGetReportsRollupListResponse = 0x22d4, + k_EMsgClientToGCShowcaseAdminGetReportsRollup = 0x22d5, + k_EMsgClientToGCShowcaseAdminGetReportsRollupResponse = 0x22d6, + k_EMsgClientToGCShowcaseAdminGetUserDetails = 0x22d7, + k_EMsgClientToGCShowcaseAdminGetUserDetailsResponse = 0x22d8, + k_EMsgClientToGCShowcaseAdminConvict = 0x22d9, + k_EMsgClientToGCShowcaseAdminConvictResponse = 0x22da, + k_EMsgClientToGCShowcaseAdminExonerate = 0x22db, + k_EMsgClientToGCShowcaseAdminExonerateResponse = 0x22dc, + k_EMsgClientToGCShowcaseAdminReset = 0x22dd, + k_EMsgClientToGCShowcaseAdminResetResponse = 0x22de, + k_EMsgClientToGCShowcaseAdminLockAccount = 0x22df, + k_EMsgClientToGCShowcaseAdminLockAccountResponse = 0x22e0, + k_EMsgClientToGCFantasyCraftingSelectPlayer = 0x22e1, + k_EMsgClientToGCFantasyCraftingSelectPlayerResponse = 0x22e2, + k_EMsgClientToGCFantasyCraftingGenerateTablets = 0x22e3, + k_EMsgClientToGCFantasyCraftingGenerateTabletsResponse = 0x22e4, + k_EMsgClientToGcFantasyCraftingUpgradeTablets = 0x22e5, + k_EMsgClientToGcFantasyCraftingUpgradeTabletsResponse = 0x22e6, + k_EMsgClientToGCFantasyCraftingRerollOptions = 0x22e8, + k_EMsgClientToGCFantasyCraftingRerollOptionsResponse = 0x22e9, + k_EMsgClientToGCRoadToTIDevForceQuest = 0x22e7, + k_EMsgLobbyRoadToTIMatchQuestData = 0x22eb, }; // Alignment: 4 @@ -7079,7 +7107,7 @@ enum class DOTAMusicStatus_t : uint32_t }; // Alignment: 4 -// Size: 0x9 +// Size: 0xa enum class DOTAPortraitEnvironmentType_t : uint32_t { DOTA_PORTRAIT_ENVIRONMENT_INVALID = 0xffffffffffffffff, @@ -7090,7 +7118,8 @@ enum class DOTAPortraitEnvironmentType_t : uint32_t DOTA_PORTRAIT_ENVIRONMENT_FULL_BODY_RIGHT_SIDE = 0x4, DOTA_PORTRAIT_ENVIRONMENT_FULL_BODY_LOADOUT = 0x5, DOTA_PORTRAIT_ENVIRONMENT_ICON = 0x6, - DOTA_PORTRAIT_ENVIRONMENT_TYPE_COUNT = 0x7, + DOTA_PORTRAIT_ENVIRONMENT_SHOWCASE = 0x7, + DOTA_PORTRAIT_ENVIRONMENT_TYPE_COUNT = 0x8, }; // Alignment: 4 @@ -7401,7 +7430,7 @@ enum class modifierpriority : uint32_t }; // Alignment: 4 -// Size: 0x120 +// Size: 0x121 enum class modifierfunction : uint32_t { MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE = 0x0, @@ -7690,7 +7719,8 @@ enum class modifierfunction : uint32_t MODIFIER_PROPERTY_PROJECTILE_SPEED = 0x11b, MODIFIER_PROPERTY_BECOME_UNIVERSAL = 0x11c, MODIFIER_EVENT_ON_FORCE_PROC_MAGIC_STICK = 0x11d, - MODIFIER_FUNCTION_LAST = 0x11e, + MODIFIER_PROPERTY_DO_NOT_SINK_AFTER_DEATH = 0x11e, + MODIFIER_FUNCTION_LAST = 0x11f, MODIFIER_FUNCTION_INVALID = 0xffff, }; @@ -8033,6 +8063,84 @@ enum class ETrackedStatAggregate : uint32_t k_eTrackedStatAggregate_And = 0x5, }; +// 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: 0x3 +enum class EFantasyStatType : uint32_t +{ + k_eFantasyStatType_Player = 0x0, + k_eFantasyStatType_Team = 0x1, + k_eFantasyStatType_Game = 0x2, +}; + +// Alignment: 4 +// Size: 0x2 +enum class EFantasyStatMatchMode : uint32_t +{ + k_FantasyStatMatchMode_Any = 0x0, + k_FantasyStatMatchMode_All = 0x1, +}; + +// Alignment: 2 +// Size: 0xe +enum class EFantasyMutationTarget : uint16_t +{ + k_eFantasyMutationTarget_None = 0x0, + k_eFantasyMutationTarget_Prefix = 0x1, + k_eFantasyMutationTarget_Player = 0x2, + k_eFantasyMutationTarget_Suffix = 0x4, + k_eFantasyMutationTarget_Rubies = 0x8, + k_eFantasyMutationTarget_Sapphires = 0x10, + k_eFantasyMutationTarget_Emeralds = 0x20, + k_eFantasyMutationTarget_Adjacent = 0x40, + k_eFantasyMutationTarget_OperationChoice = 0x80, + k_eFantasyMutationTarget_AllColor = 0x100, + k_eFantasyMutationTarget_OneColor = 0x200, + k_eFantasyMutationTarget_FirstColor = 0x400, + k_eFantasyMutationTarget_LastColor = 0x800, + k_eFantasyMutationTarget_All = 0x1000, +}; + +// Alignment: 4 +// Size: 0x8 +enum class EFantasyMutationOperation : uint32_t +{ + k_eFantasyMutationOperation_RollEverything = 0x0, + k_eFantasyMutationOperation_RollShape = 0x1, + k_eFantasyMutationOperation_RollQuality = 0x2, + k_eFantasyMutationOperation_RollStat = 0x3, + k_eFantasyMutationOperation_IncreaseQuality = 0x4, + k_eFantasyMutationOperation_DecreaseQuality = 0x5, + k_eFantasyMutationOperation_IncreaseOneQuality = 0x6, + k_eFantasyMutationOperation_IncreaseTwoQualitiesDecreaseOne = 0x7, +}; + +// Alignment: 4 +// Size: 0x8 +enum class EFantasyOperationTarget : uint32_t +{ + k_eFantasyOperationTarget_None = 0x0, + k_eFantasyOperationTarget_GemType = 0x1, + k_eFantasyOperationTarget_Region = 0x2, + k_eFantasyOperationTarget_SpecificGem = 0x3, + k_eFantasyOperationTarget_Title = 0x4, + k_eFantasyOperationTarget_ExtraInput = 0x5, + k_eFantasyOperationTarget_PlayerDraft = 0x6, + k_eFantasyOperationTarget_TitleDraft = 0x7, +}; + // Alignment: 4 // Size: 0x6 enum class PetCoopStates_t : uint32_t @@ -8170,9 +8278,19 @@ struct TrackedStatCombatQueryData_t; struct TrackedStatExpressionData_t; struct TrackedStatHeroAdjectiveData_t; struct TrackedStatAggregateData_t; +struct FantasyTitle_t; +struct FantasyGemShape_t; +struct FantasyGemQuality_t; +struct FantasyGemSlot_t; +struct FantasyTabletID_t; +struct FantasyOperationID_t; +struct FantasyCraftDataID_t; +struct FantasyPeriod_t; +struct FantasyLeagueID_t; struct CDOTA_TeamCommander; struct CDOTABehaviorMoveTo; struct CPointCamera; +struct AnimationUpdateListHandle_t; struct CRenderComponent; struct CHitboxComponent; struct CGlowProperty; @@ -8191,7 +8309,6 @@ struct CDOTA_Tree; struct CPathTrack; struct CLightComponent; struct IChoreoServices; -struct AnimationUpdateListHandle_t; struct PhysicsRagdollPose_t; struct CFuncTrackTrain; struct ragdoll_t; @@ -8340,6 +8457,16 @@ public: CUtlVector< CUtlString > m_vecNavHulls; // 0x0 }; +// Alignment: 0 +// Size: 0x8 +class CEntityComponent +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + // No members available +}; + // Alignment: 11 // Size: 0x78 class CEntityIdentity @@ -8376,8 +8503,10 @@ public: // Alignment: 3 // Size: 0x30 -class CEntityInstance : public IHandleEntity +class CEntityInstance { +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkDisable CUtlSymbolLarge m_iszPrivateVScripts; // 0x8 @@ -8613,15 +8742,14 @@ public: CGlobalSymbol m_tagName; // 0x10 }; -// Alignment: 2 -// Size: 0x28 +// Alignment: 1 +// Size: 0x20 class CBuoyancyHelper { private: [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 public: float m_flFluidDensity; // 0x18 - float m_flDisplacementFromObjects; // 0x1c }; // Alignment: 1 @@ -9653,21 +9781,25 @@ public: static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[1]->m_instance);}; }; -// Alignment: 10 -// Size: 0x68 +// Alignment: 12 +// Size: 0x108 class CBaseAnimGraphController : public CSkeletonAnimationController { +private: + [[maybe_unused]] uint8_t __pad0010[0x8]; // 0x10 public: // MNetworkEnable // MNetworkChangeCallback "baseAnimBaseLayerChangedCompat" - CNetworkedSequenceOperation m_baseLayer; // 0x10 + CNetworkedSequenceOperation m_baseLayer; // 0x18 // MNetworkDisable - bool m_bSequenceFinished; // 0x38 + bool m_bSequenceFinished; // 0x40 private: - [[maybe_unused]] uint8_t __pad0039[0x3]; // 0x39 + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 public: // MNetworkDisable - float m_flLastEventCycle; // 0x3c + float m_flLastEventCycle; // 0x44 + // MNetworkDisable + float m_flLastEventAnimTime; // 0x48 // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.000000" @@ -9675,26 +9807,31 @@ public: // MNetworkEncodeFlags // MNetworkPriority "32" // MNetworkChangeCallback "playbackRateChangedCompat" - CNetworkedQuantizedFloat m_flPlaybackRate; // 0x40 + CNetworkedQuantizedFloat m_flPlaybackRate; // 0x4c // MNetworkDisable - float m_flPrevAnimTime; // 0x48 + float m_flPrevAnimTime; // 0x54 // MNetworkEnable // MNetworkChangeCallback "clientSideAnimationChangedCompat" - bool m_bClientSideAnimation; // 0x4c + bool m_bClientSideAnimation; // 0x58 // MNetworkDisable - bool m_bNetworkedAnimationInputsChanged; // 0x4d + bool m_bNetworkedAnimationInputsChanged; // 0x59 private: - [[maybe_unused]] uint8_t __pad004e[0x2]; // 0x4e + [[maybe_unused]] uint8_t __pad005a[0x2]; // 0x5a public: // MNetworkEnable // MNetworkPriority "32" // MNetworkChangeCallback "clientSideAnimCycleResetCompat" - int32_t m_nNewSequenceParity; // 0x50 + int32_t m_nNewSequenceParity; // 0x5c // MNetworkEnable // MNetworkPriority "32" - int32_t m_nResetEventsParity; // 0x54 + int32_t m_nResetEventsParity; // 0x60 // MNetworkEnable - AnimLoopMode_t m_nAnimLoopMode; // 0x58 + AnimLoopMode_t m_nAnimLoopMode; // 0x64 +private: + [[maybe_unused]] uint8_t __pad0068[0x9c]; // 0x68 +public: + // MNetworkDisable + AnimationUpdateListHandle_t m_hAnimationUpdate; // 0x104 }; // Alignment: 2 @@ -10083,8 +10220,8 @@ public: Vector m_force; // 0x8 }; -// Alignment: 16 -// Size: 0x5c +// Alignment: 17 +// Size: 0x60 class CGameScriptedMoveData { public: @@ -10099,14 +10236,18 @@ public: MoveType_t m_nPrevMoveType; // 0x48 bool m_bActive; // 0x49 bool m_bTeleportOnEnd; // 0x4a - bool m_bIgnoreRotation; // 0x4b - ScriptedMoveType_t m_nType; // 0x4c - bool m_bSuccess; // 0x50 + bool m_bEndOnDestinationReached; // 0x4b + bool m_bIgnoreRotation; // 0x4c private: - [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 + [[maybe_unused]] uint8_t __pad004d[0x3]; // 0x4d public: - ForcedCrouchState_t m_nForcedCrouchState; // 0x54 - bool m_bIgnoreCollisions; // 0x58 + ScriptedMoveType_t m_nType; // 0x50 + bool m_bSuccess; // 0x54 +private: + [[maybe_unused]] uint8_t __pad0055[0x3]; // 0x55 +public: + ForcedCrouchState_t m_nForcedCrouchState; // 0x58 + bool m_bIgnoreCollisions; // 0x5c }; // Alignment: 5 @@ -10734,14 +10875,20 @@ public: CHandle< CBaseEntity > hEntity; // 0x8 }; -// Alignment: 3 -// Size: 0x4c0 +// Alignment: 6 +// Size: 0x510 class CPointPrefab : public CServerOnlyPointEntity { public: CUtlSymbolLarge m_targetMapName; // 0x4a8 CUtlSymbolLarge m_forceWorldGroupID; // 0x4b0 - bool m_fixupNames; // 0x4b8 + CUtlSymbolLarge m_associatedRelayTargetName; // 0x4b8 + bool m_fixupNames; // 0x4c0 + bool m_bLoadDynamic; // 0x4c1 +private: + [[maybe_unused]] uint8_t __pad04c2[0x2]; // 0x4c2 +public: + CHandle< CPointPrefab > m_associatedRelayEntity; // 0x4c4 }; // Alignment: 2 @@ -11753,7 +11900,7 @@ public: }; // Alignment: 21 -// Size: 0xb0 +// Size: 0xa8 class CTakeDamageInfo { private: @@ -11789,9 +11936,9 @@ private: public: HSCRIPT m_hScriptInstance; // 0x88 private: - [[maybe_unused]] uint8_t __pad0090[0x18]; // 0x90 + [[maybe_unused]] uint8_t __pad0090[0x14]; // 0x90 public: - bool m_bInTakeDamageFlow; // 0xa8 + bool m_bInTakeDamageFlow; // 0xa4 // Static fields: static CTakeDamageInfo &Get_EmptyInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTakeDamageInfo")->m_static_fields[0]->m_instance);}; @@ -11807,14 +11954,14 @@ public: }; // Alignment: 4 -// Size: 0xc8 +// Size: 0xc0 struct SummaryTakeDamageInfo_t { public: int32_t nSummarisedCount; // 0x0 CTakeDamageInfo info; // 0x8 - CTakeDamageResult result; // 0xb8 - CHandle< CBaseEntity > hTarget; // 0xc0 + CTakeDamageResult result; // 0xb0 + CHandle< CBaseEntity > hTarget; // 0xb8 }; // Alignment: 1 @@ -12368,7 +12515,7 @@ public: }; // Alignment: 18 -// Size: 0xa70 +// Size: 0xa78 class CDOTAGameManager { private: @@ -12399,14 +12546,14 @@ public: KeyValues* m_pSurveyQuestionData; // 0x870 KeyValues3 m_AddonInfoKeyValues; // 0x878 private: - [[maybe_unused]] uint8_t __pad0888[0x20]; // 0x888 + [[maybe_unused]] uint8_t __pad0888[0x28]; // 0x888 public: - KeyValues* m_pCountryKeyValues; // 0x8a8 + KeyValues* m_pCountryKeyValues; // 0x8b0 private: - [[maybe_unused]] uint8_t __pad08b0[0xc0]; // 0x8b0 + [[maybe_unused]] uint8_t __pad08b8[0xc0]; // 0x8b8 public: // MNetworkEnable - bool m_CurrentHeroAvailable[256]; // 0x970 + bool m_CurrentHeroAvailable[256]; // 0x978 }; // Alignment: 3 @@ -13702,7 +13849,7 @@ public: private: [[maybe_unused]] uint8_t __pad1189[0x7]; // 0x1189 public: - CUtlOrderedMap< PlayerID_t, int32 > m_mapSuccessfulSmokes; // 0x1190 + CUtlOrderedMap< PlayerID_t, int32, F( size=1 ) > m_mapSuccessfulSmokes; // 0x1190 private: [[maybe_unused]] uint8_t __pad11b8[0x10]; // 0x11b8 public: @@ -13722,7 +13869,7 @@ public: 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 + CUtlOrderedMap< PlayerID_t, CUtlVector< AbilityID_t >, F( size=1 ) > m_vecAbilityDraftOrder; // 0x1298 private: [[maybe_unused]] uint8_t __pad12c0[0x18]; // 0x12c0 public: @@ -14134,6 +14281,7 @@ public: CUtlVector< sSharedCooldownInfo > m_SharedCooldownList; // 0x8 // MNetworkEnable // MNetworkChangeCallback "OnInventoryChanged" + // MNetworkSerializer "EHandleIndexOnly" CHandle< CBaseEntity > m_hItems[19]; // 0x20 bool m_bItemQueried[19]; // 0x6c private: @@ -14593,6 +14741,14 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x1a20 +class CIngameEvent_TI2023 : public CIngameEvent_Base +{ +public: + // No members available +}; + // Alignment: 5 // Size: 0x1a68 class CIngameEvent_MuertaReleaseSpring2023 : public CIngameEvent_Base @@ -14615,24 +14771,22 @@ public: CUtlVector< ParticleIndex_t > m_activeGravestones; // 0x1a50 }; -// Alignment: 7 +// Alignment: 6 // Size: 0x290 class CDOTA_ModifierManager { private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x27e]; // 0x0 public: - // MNetworkEnable - CHandle< CBaseEntity > m_hModifierParent; // 0x8 + uint16_t m_nHasTruesightForTeam; // 0x27e + uint16_t m_nHasTruesightForTeamValid; // 0x280 + uint16_t m_nProvidesFOWPositionForTeam; // 0x282 + uint16_t m_nProvidesFOWPositionForTeamValid; // 0x284 private: - [[maybe_unused]] uint8_t __pad000c[0x270]; // 0xc + [[maybe_unused]] uint8_t __pad0286[0x2]; // 0x286 public: - 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 + int32_t m_iBuffIndex; // 0x288 + int32_t m_iLockRefCount; // 0x28c }; // Alignment: 70 @@ -16974,6 +17128,14 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x568 +class CDOTA_Ability_Special_Bonus_Attack_Speed_90 : public CDOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x568 class CDOTA_Ability_Special_Bonus_Attack_Speed_100 : public CDOTABaseAbility @@ -24270,19 +24432,6 @@ public: // No members available }; -// Alignment: 3 -// Size: 0x6b0 -class CDOTASpecGraphPlayerData : public CBaseEntity -{ -public: - // MNetworkEnable - int32_t m_rgGoldPerMinute[64]; // 0x4a8 - // MNetworkEnable - int32_t m_rgXPPerMinute[64]; // 0x5a8 - // MNetworkEnable - PlayerID_t m_nCreatedByPlayerID; // 0x6a8 -}; - // Alignment: 6 // Size: 0x30 class sPlayerSnapshot @@ -24296,8 +24445,8 @@ public: uint8_t unLevel; // 0x2f }; -// Alignment: 23 -// Size: 0xa70 +// Alignment: 18 +// Size: 0x9e0 class CDOTASpectatorGraphManager { private: @@ -24306,51 +24455,39 @@ public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x28 - int32_t m_nPlayerDataCount; // 0x50 + bool m_bTrackingTeamStats; // 0x50 private: - [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 public: - CountdownTimer m_SendTeamStatsTimer; // 0x58 - bool m_bTrackingTeamStats; // 0x70 + GameTime_t m_flStartTime; // 0x54 + // MNetworkEnable + int32_t m_rgRadiantTotalEarnedGold[64]; // 0x58 + // MNetworkEnable + int32_t m_rgDireTotalEarnedGold[64]; // 0x158 + // MNetworkEnable + int32_t m_rgRadiantTotalEarnedXP[64]; // 0x258 + // MNetworkEnable + int32_t m_rgDireTotalEarnedXP[64]; // 0x358 + // MNetworkEnable + int32_t m_rgRadiantNetWorth[64]; // 0x458 + // MNetworkEnable + int32_t m_rgDireNetWorth[64]; // 0x558 + // MNetworkEnable + GameTime_t m_flTotalEarnedGoldStartTime; // 0x658 + // MNetworkEnable + GameTime_t m_flTotalEarnedGoldEndTime; // 0x65c + // MNetworkEnable + int32_t m_nGoldGraphVersion; // 0x660 + // MNetworkEnable + int32_t m_rgRadiantWinChance[64]; // 0x664 private: - [[maybe_unused]] uint8_t __pad0071[0x3]; // 0x71 + [[maybe_unused]] uint8_t __pad0764[0x4]; // 0x764 public: - GameTime_t m_flStartTime; // 0x74 - PlayerID_t m_nNextUpdatePlayer; // 0x78 -private: - [[maybe_unused]] uint8_t __pad007c[0x4]; // 0x7c -public: - // MNetworkEnable - CHandle< CDOTASpecGraphPlayerData > m_rgPlayerGraphData[24]; // 0x80 - // MNetworkEnable - int32_t m_rgRadiantTotalEarnedGold[64]; // 0xe0 - // MNetworkEnable - int32_t m_rgDireTotalEarnedGold[64]; // 0x1e0 - // MNetworkEnable - int32_t m_rgRadiantTotalEarnedXP[64]; // 0x2e0 - // MNetworkEnable - int32_t m_rgDireTotalEarnedXP[64]; // 0x3e0 - // MNetworkEnable - int32_t m_rgRadiantNetWorth[64]; // 0x4e0 - // MNetworkEnable - int32_t m_rgDireNetWorth[64]; // 0x5e0 - // MNetworkEnable - GameTime_t m_flTotalEarnedGoldStartTime; // 0x6e0 - // MNetworkEnable - GameTime_t m_flTotalEarnedGoldEndTime; // 0x6e4 - // MNetworkEnable - int32_t m_nGoldGraphVersion; // 0x6e8 - // MNetworkEnable - int32_t m_rgRadiantWinChance[64]; // 0x6ec -private: - [[maybe_unused]] uint8_t __pad07ec[0x4]; // 0x7ec -public: - CountdownTimer m_TeamStatsUpdateTimer; // 0x7f0 - CountdownTimer m_HeroInventorySnapshotTimer; // 0x808 - CUtlVector< sPlayerSnapshot > m_vecPlayerSnapshots[24]; // 0x820 - int32_t m_event_dota_player_killed; // 0xa60 - int32_t m_event_server_pre_shutdown; // 0xa64 - int32_t m_event_dota_player_pick_hero; // 0xa68 + CountdownTimer m_TeamStatsUpdateTimer; // 0x768 + CountdownTimer m_HeroInventorySnapshotTimer; // 0x780 + CUtlVector< sPlayerSnapshot > m_vecPlayerSnapshots[24]; // 0x798 + int32_t m_event_dota_player_killed; // 0x9d8 + int32_t m_event_server_pre_shutdown; // 0x9dc }; // Alignment: 1 @@ -26528,12 +26665,12 @@ private: [[maybe_unused]] uint8_t __pad00ac[0x4]; // 0xac public: // MVDataPromoteField - CUtlDict< BlessingType_t > m_mapBlessingTypes; // 0xb0 + CUtlDict< BlessingType_t, int32, F( size=1 ) > m_mapBlessingTypes; // 0xb0 private: [[maybe_unused]] uint8_t __pad00d8[0x40]; // 0xd8 public: // MVDataPromoteField - CUtlDict< Blessing_t > m_mapBlessings; // 0x118 + CUtlDict< Blessing_t, int32, F( size=1 ) > m_mapBlessings; // 0x118 private: [[maybe_unused]] uint8_t __pad0140[0x28]; // 0x140 public: @@ -26847,6 +26984,359 @@ public: TrackedStatAggregateData_t m_aggregateData; // 0x20 }; +// Alignment: 8 +// Size: 0x40 +class CDOTABingoStatDefinition +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + // MPropertyDescription "Name of tracked match stat, used to look up match stat ID" + CUtlString m_strMatchStatName; // 0x8 + // MPropertyDescription "Expected value." + float m_fStatAverage; // 0x10 + // MPropertyDescription "Statistical standard deviation." + float m_fStatStdDev; // 0x14 + // MPropertyDescription "Short user-facing string that appears on a bingo square" + CUtlString m_sNameLocString; // 0x18 + // MPropertyDescription "User-facing tooltip with description" + CUtlString m_sTooltipLocString; // 0x20 + // MPropertyDescription "Optional value to use in loc string's dialog variable" + int32_t m_nLocStringValue; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + // MPropertyDescription "Optional information to include in a bingo stat tooltip" + CUtlString m_strHeroAdjective; // 0x30 + // MPropertyDescription "Whether we negate the hero adjective when displaying tooltip" + bool m_bNegativeHeroAdjective; // 0x38 +}; + +// 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("server.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("server.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("server.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("server.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("server.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("server.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("server.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("server.dll")->FindDeclaredClass("FantasyOperationID_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 4 +// Size: 0x18 +struct FantasyCraftingTrackedStat_t +{ +public: + // MPropertyDescription "What Stats are we looking for" + CUtlString m_sStatName; // 0x0 + // MPropertyDescription "Is the match about the player, the player's team, or the match?" + EFantasyStatType m_eStatType; // 0x8 + // MPropertyDescription "Threshold Stat Value required" + uint32_t m_unThresholdValue; // 0xc + // MPropertyDescription "Is the treshold a min or max?" + bool m_bThresholdIsMin; // 0x10 +}; + +// Alignment: 8 +// Size: 0x50 +struct FantasyCraftingTitleData_t +{ +public: + // MPropertyDescription "Unique integer ID of the title" + FantasyTitle_t m_unTitle; // 0x0 + // MPropertyDescription "Localization name of the title when used as an aggregate" + CUtlString m_sLocName; // 0x8 + // MPropertyDescription "Localization name of the title when used on it's own" + CUtlString m_sLocNameIndividual; // 0x10 + // MPropertyDescription "Localization token for explaining what the title does" + CUtlString m_sLocExplanation; // 0x18 + // MPropertyDescription "Localization token for explaining what the title does in sitations that allow mouseover" + CUtlString m_sLocExplanationMouseOver; // 0x20 + // MPropertyDescription "Controls how we decide to use the stat vector" + EFantasyStatMatchMode m_eMode; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + // MPropertyDescription "Stats to Track" + CUtlVector< FantasyCraftingTrackedStat_t > m_vecStats; // 0x30 + // MPropertyDescription "Bonus this title provides" + int32_t m_nBonus; // 0x48 +}; + +// Alignment: 3 +// Size: 0x28 +struct FantasyCraftingGemData_t +{ +public: + // MPropertyDescription "Unique Identifier for the Gem Type" + Fantasy_Gem_Type m_eType; // 0x0 + // MPropertyDescription "Localization name of the gem" + CUtlString m_sLocName; // 0x8 + // MPropertyDescription "Which stats can this gem roll" + CUtlVector< Fantasy_Scoring > m_eStats; // 0x10 +}; + +// Alignment: 4 +// Size: 0x18 +struct FantasyCraftingShapeData_t +{ +public: + // MPropertyDescription "Unique identifier for the Shape" + FantasyGemShape_t m_unShapeID; // 0x0 + // MPropertyDescription "Maps the shape to it's code behavior." + EFantasyShapeBehavior m_eShapeBehavior; // 0x4 + // MPropertyDescription "Localization token for the name of the shape" + CUtlString m_sLocName; // 0x8 + // MPropertyDescription "Localization token for explaining what the shape does" + CUtlString m_sLocExplanation; // 0x10 +}; + +// Alignment: 4 +// Size: 0x18 +struct FantasyCraftingQualityData_t +{ +public: + // MPropertyDescription "Unique Identifier for the Quality" + FantasyGemQuality_t m_unQualityID; // 0x0 + // MPropertyDescription "Localization token for the name of the quality" + CUtlString m_sLocName; // 0x8 + // MPropertyDescription "How much does this quality improve the stat?" + int32_t m_nBonus; // 0x10 + // MPropertyDescription "How likely are we to roll this quality?" + int32_t m_nRollWeight; // 0x14 +}; + +// Alignment: 2 +// Size: 0x8 +struct FantasyCraftingGemMutation_t +{ +public: + // MPropertyDescription "What this operation is targeting" + EFantasyMutationTarget m_eTarget; // 0x0 + // MPropertyDescription "What we are doing in this operation" + EFantasyMutationOperation m_eOperation; // 0x4 +}; + +// Alignment: 3 +// Size: 0xc +struct FantasyCraftingGemSlotData_t +{ +public: + // MPropertyDescription "Gem Slot" + FantasyGemSlot_t m_unGemSlot; // 0x0 + // MPropertyDescription "Gem Type" + Fantasy_Gem_Type m_eGemType; // 0x4 + // MPropertyDescription "Minimum tablet level to unlock this type of gem, -1 or 0 for always unlocked" + int32_t m_nRequiredTabletLevel; // 0x8 +}; + +// Alignment: 3 +// Size: 0x20 +struct FantasyCraftingTabletData_t +{ +public: + // MPropertyDescription "Unique ID for the Tablet" + FantasyTabletID_t m_unID; // 0x0 + // MPropertyDescription "What role is this tablet for" + Fantasy_Roles m_eRole; // 0x4 + CUtlVector< FantasyCraftingGemSlotData_t > m_vecGemSlots; // 0x8 +}; + +// Alignment: 5 +// Size: 0x30 +struct FantasyCraftOperation_t +{ +public: + // MPropertyDescription "Unique identifier for this operation" + FantasyOperationID_t m_unOperationID; // 0x0 + // MPropertyDescription "Weight for when rolling which operations to add to the roll board" + int32_t m_nRollWeight; // 0x4 + // MPropertyDescription "What extra input is needed for the operation" + EFantasyOperationTarget m_eTarget; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + // MPropertyDescription "Localization String describing the operation" + CUtlString m_sLocDescription; // 0x10 + // MPropertyDescription "What operations this will perform" + CUtlVector< FantasyCraftingGemMutation_t > m_vecOperations; // 0x18 +}; + +// Alignment: 2 +// Size: 0x28 +struct FantasyCraftOperationBucket_t +{ +public: + // MPropertyDescription "How many operations should the user get from this bucket" + uint16_t m_unOperationCount; // 0x0 + CUtlVector< FantasyCraftOperation_t > m_vecOperations; // 0x8 +}; + +// Alignment: 8 +// Size: 0xb8 +struct FantasyCraftSetupData_t +{ +public: + // MPropertyDescription "Unique identifier for this set of crafting data" + FantasyCraftDataID_t m_unID; // 0x0 + CUtlVector< FantasyCraftingTitleData_t > m_vecPrefixes; // 0x8 + CUtlVector< FantasyCraftingTitleData_t > m_vecSuffixes; // 0x20 + CUtlVector< FantasyCraftingGemData_t > m_vecGems; // 0x38 + CUtlVector< FantasyCraftingShapeData_t > m_vecShapes; // 0x50 + CUtlVector< FantasyCraftingQualityData_t > m_vecQualities; // 0x68 + CUtlVector< FantasyCraftingTabletData_t > m_vecTablets; // 0x80 + CUtlVector< FantasyCraftOperationBucket_t > m_vecOperations; // 0x98 +}; + +// Alignment: 4 +// Size: 0x18 +struct FantasyPlayerData_t +{ +public: + // MPropertyDescription "Account ID of the Pro Player" + uint32_t m_unAccountID; // 0x0 + // MPropertyDescription "What team this player is competing with for the fantasy league" + uint32_t m_unTeamID; // 0x4 + // MPropertyDescription "What region does this player play for" + ELeagueRegion m_eRegion; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + // MPropertyDescription "Name of the pro player" + CUtlString m_strPlayerName; // 0x10 +}; + +// Alignment: 2 +// Size: 0x20 +struct FantasyRoleData_t +{ +public: + // MPropertyDescription "What role are these players for" + Fantasy_Roles m_eRole; // 0x0 + // MPropertyDescription "List of Pro Players for the role" + CUtlVector< FantasyPlayerData_t > m_vecPlayers; // 0x8 +}; + +// Alignment: 2 +// Size: 0x8 +struct FantasyPeriodData_t +{ +public: + // MPropertyDescription "What Fantasy Period this data is for" + FantasyPeriod_t m_unPeriod; // 0x0 + // MPropertyDescription "What level are fantasy tablets when this is the active crafting period?" + int32_t m_nTabletLevel; // 0x4 +}; + +// Alignment: 6 +// Size: 0x58 +struct FantasyLeagueData_t +{ +public: + // MPropertyDescription "Unique identifier for the league" + FantasyLeagueID_t m_nFantasyLeagueID; // 0x0 + // MPropertyDescription "What event this data is tied to" + EEvent m_eEvent; // 0x4 + // MPropertyDescription "What data to use for crafting" + FantasyCraftDataID_t m_nCraftingID; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000a[0x6]; // 0xa +public: + // MPropertyDescription "Which Leagues is this attached to" + CUtlVector< LeagueID_t > m_nLeagues; // 0x10 + CUtlVector< FantasyRoleData_t > m_vecPlayers; // 0x28 + CUtlVector< FantasyPeriodData_t > m_vecPeriods; // 0x40 +}; + +// Alignment: 2 +// Size: 0x38 +class CDOTAFantasyDefinition +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + CUtlVector< FantasyCraftSetupData_t > m_vecCraftingSetups; // 0x8 + CUtlVector< FantasyLeagueData_t > m_vecLeagues; // 0x20 +}; + // Alignment: 68 // Size: -0x78e8 class CDOTA_Bot @@ -27394,20 +27884,6 @@ public: CHandle< CBaseEntity > m_hMaster; // 0x178 }; -// Alignment: 5 -// Size: 0x160 -class CDOTABehaviorPuppetMasterVoodooDoll -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 -public: - CDOTABehaviorMoveTo m_MoveTo; // 0x68 - float m_flDistanceFromMaster; // 0x148 - Vector m_vLastDir; // 0x14c - CHandle< CDOTA_BaseNPC > m_hMaster; // 0x158 - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x15c -}; - // Alignment: 8 // Size: 0x198 class CDOTABehaviorMoveToNPCToAttack @@ -27785,136 +28261,136 @@ public: }; // Alignment: 25 -// Size: 0x1628 +// Size: 0x15c0 class CEnvCombinedLightProbeVolume : public CBaseEntity { private: - [[maybe_unused]] uint8_t __pad04a8[0x10d0]; // 0x4a8 + [[maybe_unused]] uint8_t __pad04a8[0x1068]; // 0x4a8 public: // MNetworkEnable // MNetworkChangeCallback "StateChanged" - Color m_Color; // 0x1578 + Color m_Color; // 0x1510 // MNetworkEnable // MNetworkChangeCallback "StateChanged" - float m_flBrightness; // 0x157c + float m_flBrightness; // 0x1514 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x1580 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x1518 // MNetworkEnable - bool m_bCustomCubemapTexture; // 0x1588 + bool m_bCustomCubemapTexture; // 0x1520 private: - [[maybe_unused]] uint8_t __pad1589[0x7]; // 0x1589 + [[maybe_unused]] uint8_t __pad1521[0x7]; // 0x1521 public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1590 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1528 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1598 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1530 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x15a0 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1538 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x15a8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1540 // MNetworkEnable - Vector m_vBoxMins; // 0x15b0 + Vector m_vBoxMins; // 0x1548 // MNetworkEnable - Vector m_vBoxMaxs; // 0x15bc + Vector m_vBoxMaxs; // 0x1554 // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x15c8 + CUtlSymbolLarge m_LightGroups; // 0x1560 // MNetworkEnable - bool m_bMoveable; // 0x15d0 + bool m_bMoveable; // 0x1568 private: - [[maybe_unused]] uint8_t __pad15d1[0x3]; // 0x15d1 + [[maybe_unused]] uint8_t __pad1569[0x3]; // 0x1569 public: // MNetworkEnable - int32_t m_nHandshake; // 0x15d4 + int32_t m_nHandshake; // 0x156c // MNetworkEnable - int32_t m_nEnvCubeMapArrayIndex; // 0x15d8 + int32_t m_nEnvCubeMapArrayIndex; // 0x1570 // MNetworkEnable - int32_t m_nPriority; // 0x15dc + int32_t m_nPriority; // 0x1574 // MNetworkEnable - bool m_bStartDisabled; // 0x15e0 + bool m_bStartDisabled; // 0x1578 private: - [[maybe_unused]] uint8_t __pad15e1[0x3]; // 0x15e1 + [[maybe_unused]] uint8_t __pad1579[0x3]; // 0x1579 public: // MNetworkEnable - float m_flEdgeFadeDist; // 0x15e4 + float m_flEdgeFadeDist; // 0x157c // MNetworkEnable - Vector m_vEdgeFadeDists; // 0x15e8 + Vector m_vEdgeFadeDists; // 0x1580 // MNetworkEnable - int32_t m_nLightProbeSizeX; // 0x15f4 + int32_t m_nLightProbeSizeX; // 0x158c // MNetworkEnable - int32_t m_nLightProbeSizeY; // 0x15f8 + int32_t m_nLightProbeSizeY; // 0x1590 // MNetworkEnable - int32_t m_nLightProbeSizeZ; // 0x15fc + int32_t m_nLightProbeSizeZ; // 0x1594 // MNetworkEnable - int32_t m_nLightProbeAtlasX; // 0x1600 + int32_t m_nLightProbeAtlasX; // 0x1598 // MNetworkEnable - int32_t m_nLightProbeAtlasY; // 0x1604 + int32_t m_nLightProbeAtlasY; // 0x159c // MNetworkEnable - int32_t m_nLightProbeAtlasZ; // 0x1608 + int32_t m_nLightProbeAtlasZ; // 0x15a0 private: - [[maybe_unused]] uint8_t __pad160c[0x15]; // 0x160c + [[maybe_unused]] uint8_t __pad15a4[0x15]; // 0x15a4 public: // MNetworkEnable - bool m_bEnabled; // 0x1621 + bool m_bEnabled; // 0x15b9 }; // Alignment: 19 -// Size: 0x608 +// Size: 0x5a0 class CEnvCubemap : public CBaseEntity { private: - [[maybe_unused]] uint8_t __pad04a8[0xf0]; // 0x4a8 + [[maybe_unused]] uint8_t __pad04a8[0x88]; // 0x4a8 public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x598 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x530 // MNetworkEnable - bool m_bCustomCubemapTexture; // 0x5a0 + bool m_bCustomCubemapTexture; // 0x538 private: - [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 + [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 public: // MNetworkEnable - float m_flInfluenceRadius; // 0x5a4 + float m_flInfluenceRadius; // 0x53c // MNetworkEnable - Vector m_vBoxProjectMins; // 0x5a8 + Vector m_vBoxProjectMins; // 0x540 // MNetworkEnable - Vector m_vBoxProjectMaxs; // 0x5b4 + Vector m_vBoxProjectMaxs; // 0x54c // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x5c0 + CUtlSymbolLarge m_LightGroups; // 0x558 // MNetworkEnable - bool m_bMoveable; // 0x5c8 + bool m_bMoveable; // 0x560 private: - [[maybe_unused]] uint8_t __pad05c9[0x3]; // 0x5c9 + [[maybe_unused]] uint8_t __pad0561[0x3]; // 0x561 public: // MNetworkEnable - int32_t m_nHandshake; // 0x5cc + int32_t m_nHandshake; // 0x564 // MNetworkEnable - int32_t m_nEnvCubeMapArrayIndex; // 0x5d0 + int32_t m_nEnvCubeMapArrayIndex; // 0x568 // MNetworkEnable - int32_t m_nPriority; // 0x5d4 + int32_t m_nPriority; // 0x56c // MNetworkEnable - float m_flEdgeFadeDist; // 0x5d8 + float m_flEdgeFadeDist; // 0x570 // MNetworkEnable - Vector m_vEdgeFadeDists; // 0x5dc + Vector m_vEdgeFadeDists; // 0x574 // MNetworkEnable - float m_flDiffuseScale; // 0x5e8 + float m_flDiffuseScale; // 0x580 // MNetworkEnable - bool m_bStartDisabled; // 0x5ec + bool m_bStartDisabled; // 0x584 // MNetworkEnable - bool m_bDefaultEnvMap; // 0x5ed + bool m_bDefaultEnvMap; // 0x585 // MNetworkEnable - bool m_bDefaultSpecEnvMap; // 0x5ee + bool m_bDefaultSpecEnvMap; // 0x586 // MNetworkEnable - bool m_bIndoorCubeMap; // 0x5ef + bool m_bIndoorCubeMap; // 0x587 // MNetworkEnable - bool m_bCopyDiffuseFromDefaultCubemap; // 0x5f0 + bool m_bCopyDiffuseFromDefaultCubemap; // 0x588 private: - [[maybe_unused]] uint8_t __pad05f1[0xf]; // 0x5f1 + [[maybe_unused]] uint8_t __pad0589[0xf]; // 0x589 public: // MNetworkEnable - bool m_bEnabled; // 0x600 + bool m_bEnabled; // 0x598 }; // Alignment: 0 -// Size: 0x608 +// Size: 0x5a0 class CEnvCubemapBox : public CEnvCubemap { public: @@ -28259,7 +28735,7 @@ public: CUtlVector< CHandle< CLightEntity > > m_vecLights; // 0x4d0 }; -// Alignment: 25 +// Alignment: 26 // Size: 0x510 class CPointCamera : public CBaseEntity { @@ -28302,27 +28778,32 @@ public: // MNetworkEnable float m_flZNear; // 0x4d8 // MNetworkEnable - float m_flOverrideShadowFarZ; // 0x4dc - // MNetworkEnable - bool m_bDofEnabled; // 0x4e0 + bool m_bCanHLTVUse; // 0x4dc private: - [[maybe_unused]] uint8_t __pad04e1[0x3]; // 0x4e1 + [[maybe_unused]] uint8_t __pad04dd[0x3]; // 0x4dd public: // MNetworkEnable - float m_flDofNearBlurry; // 0x4e4 + float m_flOverrideShadowFarZ; // 0x4e0 // 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 + bool m_bDofEnabled; // 0x4e4 private: - [[maybe_unused]] uint8_t __pad0501[0x7]; // 0x501 + [[maybe_unused]] uint8_t __pad04e5[0x3]; // 0x4e5 +public: + // MNetworkEnable + float m_flDofNearBlurry; // 0x4e8 + // MNetworkEnable + float m_flDofNearCrisp; // 0x4ec + // MNetworkEnable + float m_flDofFarCrisp; // 0x4f0 + // MNetworkEnable + float m_flDofFarBlurry; // 0x4f4 + // MNetworkEnable + float m_flDofTiltToGround; // 0x4f8 + float m_TargetFOV; // 0x4fc + float m_DegreesPerSecond; // 0x500 + bool m_bIsOn; // 0x504 +private: + [[maybe_unused]] uint8_t __pad0505[0x3]; // 0x505 public: CPointCamera* m_pNext; // 0x508 }; @@ -28549,7 +29030,7 @@ public: }; // Alignment: 2 -// Size: 0x500 +// Size: 0x5a0 class CBodyComponentBaseAnimGraph : public CBodyComponentSkeletonInstance { public: @@ -28557,7 +29038,7 @@ public: CBaseAnimGraphController m_animationController; // 0x470 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x4d8 + CNetworkVarChainer __m_pChainEntity; // 0x578 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseAnimGraph")->m_static_fields[0]->m_instance);}; @@ -29205,24 +29686,6 @@ public: bool m_isStarted; // 0x4b8 }; -// Alignment: 5 -// Size: 0x4e0 -class CGameWeaponManager : public CBaseEntity -{ -public: - CUtlSymbolLarge m_iszWeaponName; // 0x4a8 -private: - [[maybe_unused]] uint8_t __pad04b0[0x8]; // 0x4b0 -public: - int32_t m_iMaxPieces; // 0x4b8 - float m_flAmmoMod; // 0x4bc - bool m_bExpectingWeapon; // 0x4c0 -private: - [[maybe_unused]] uint8_t __pad04c1[0x7]; // 0x4c1 -public: - CUtlVector< CHandle< CBaseEntity > > m_ManagedNonWeapons; // 0x4c8 -}; - // Alignment: 7 // Size: 0x778 class CLightGlow : public CBaseModelEntity @@ -30360,7 +30823,7 @@ public: }; // Alignment: 63 -// Size: 0xa00 +// Size: 0x9f0 class CSceneEntity : public CPointEntity { private: @@ -30453,13 +30916,13 @@ public: CUtlVector< CHandle< CSceneEntity > > m_hNotifySceneCompletion; // 0x988 CUtlVector< CHandle< CSceneListManager > > m_hListManagers; // 0x9a0 private: - [[maybe_unused]] uint8_t __pad09b8[0x28]; // 0x9b8 + [[maybe_unused]] uint8_t __pad09b8[0x18]; // 0x9b8 public: - CUtlSymbolLarge m_iszSoundName; // 0x9e0 - CHandle< CBaseFlex > m_hActor; // 0x9e8 - CHandle< CBaseEntity > m_hActivator; // 0x9ec - int32_t m_BusyActor; // 0x9f0 - SceneOnPlayerDeath_t m_iPlayerDeathBehavior; // 0x9f4 + CUtlSymbolLarge m_iszSoundName; // 0x9d0 + CHandle< CBaseFlex > m_hActor; // 0x9d8 + CHandle< CBaseEntity > m_hActivator; // 0x9dc + int32_t m_BusyActor; // 0x9e0 + SceneOnPlayerDeath_t m_iPlayerDeathBehavior; // 0x9e4 // 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);}; @@ -32975,7 +33438,7 @@ public: }; // Alignment: 34 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Buff : public CHorizontalMotionController { private: @@ -33027,13 +33490,13 @@ public: CUtlVector< CDOTA_BuffParticle > m_iParticles; // 0xa0 CUtlVector< CHandle< CBaseEntity > > m_hAuraUnits; // 0xb8 private: - [[maybe_unused]] uint8_t __pad00d0[0x11e0]; // 0xd0 + [[maybe_unused]] uint8_t __pad00d0[0x11f0]; // 0xd0 public: - HSCRIPT m_hScriptScope; // 0x12b0 + HSCRIPT m_hScriptScope; // 0x12c0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Buff_Item : public CDOTA_Buff { public: @@ -33041,33 +33504,33 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Stacking_Base : public CDOTA_Buff { public: - int32_t max_stacks; // 0x12b8 - bool destroy_on_zero_stacks; // 0x12bc + int32_t max_stacks; // 0x12c8 + bool destroy_on_zero_stacks; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float sub_modifier_forced_duration; // 0x12c0 + float sub_modifier_forced_duration; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlString m_szSubModifierName; // 0x12c8 - KeyValues* m_pSubModifierKV; // 0x12d0 + CUtlString m_szSubModifierName; // 0x12d8 + KeyValues* m_pSubModifierKV; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Stacking_Multiple_Buff_Base : public CDOTA_Buff { public: - int32_t m_nParentBuffIndex; // 0x12b8 + int32_t m_nParentBuffIndex; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Glyph_Reset : public CDOTA_Buff { public: @@ -33075,16 +33538,16 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_SetScaleset : public CDOTA_Buff { public: - CUtlString m_Scaleset; // 0x12b8 - bool m_bActive; // 0x12c0 + CUtlString m_Scaleset; // 0x12c8 + bool m_bActive; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_StackedNeutral : public CDOTA_Buff { public: @@ -33092,31 +33555,31 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Filler_LastDitch : public CDOTA_Buff { public: - float melee_number; // 0x12b8 - float ranged_number; // 0x12bc - float siege_number; // 0x12c0 - int32_t lane; // 0x12c4 + float melee_number; // 0x12c8 + float ranged_number; // 0x12cc + float siege_number; // 0x12d0 + int32_t lane; // 0x12d4 }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_FillerThinker : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > hCasterList; // 0x12b8 - bool bStarted; // 0x12d0 + CUtlVector< CHandle< CBaseEntity > > hCasterList; // 0x12c8 + bool bStarted; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t nCount; // 0x12d4 + int32_t nCount; // 0x12e4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Filler_Buff_Icon : public CDOTA_Buff { public: @@ -33124,38 +33587,38 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Filler_Heal_Aura : public CDOTA_Buff_Item { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Filler_Heal : public CDOTA_Buff { public: - 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 + int32_t hp_heal; // 0x12c8 + int32_t mp_heal; // 0x12cc + int32_t hp_heal_growth; // 0x12d0 + float mp_heal_growth; // 0x12d4 + int32_t hp_heal_pct; // 0x12d8 + int32_t mp_heal_pct; // 0x12dc + int32_t tota_hp_per_second; // 0x12e0 + int32_t tota_mp_per_second; // 0x12e4 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_FountainInvulnerabilityBuff : public CDOTA_Buff { public: - Vector m_vecPosition; // 0x12b8 + Vector m_vecPosition; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Building_DispelsSmoke : public CDOTA_Buff { public: @@ -33163,15 +33626,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Truesight_Aura : public CDOTA_Buff { public: - int32_t m_nAuraRadius; // 0x12b8 + int32_t m_nAuraRadius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tower_Truesight_Aura : public CDOTA_Modifier_Truesight_Aura { public: @@ -33179,7 +33642,7 @@ public: }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Fountain_Truesight_Aura : public CDOTA_Modifier_Truesight_Aura { public: @@ -33187,41 +33650,41 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Tower_Aura : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 - bool m_bOverrideArmor; // 0x12bc + int32_t bonus_armor; // 0x12c8 + bool m_bOverrideArmor; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float hp_regen; // 0x12c0 - bool m_bOverrideRegen; // 0x12c4 + float hp_regen; // 0x12d0 + bool m_bOverrideRegen; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - int32_t m_nRadius; // 0x12c8 + int32_t m_nRadius; // 0x12d8 }; // Alignment: 5 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Tower_Aura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 - float hp_regen; // 0x12bc - bool m_bOverrideArmor; // 0x12c0 - bool m_bOverrideRegen; // 0x12c1 - bool m_bSentFirstRefresh; // 0x12c2 + int32_t bonus_armor; // 0x12c8 + float hp_regen; // 0x12cc + bool m_bOverrideArmor; // 0x12d0 + bool m_bOverrideRegen; // 0x12d1 + bool m_bSentFirstRefresh; // 0x12d2 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tower_Armor_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 0 @@ -33233,23 +33696,23 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ScoutVisible : public CDOTA_Buff { public: - int32_t reveal_radius; // 0x12b8 + int32_t reveal_radius; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_ScoutBonuses : public CDOTA_Buff { public: - int32_t reveal_radius; // 0x12b8 - float increase_health; // 0x12bc - int32_t max_health; // 0x12c0 - float increase_armor; // 0x12c4 - float max_armor; // 0x12c8 + int32_t reveal_radius; // 0x12c8 + float increase_health; // 0x12cc + int32_t max_health; // 0x12d0 + float increase_armor; // 0x12d4 + float max_armor; // 0x12d8 }; // Alignment: 0 @@ -33277,26 +33740,26 @@ public: }; // Alignment: 6 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_BackdoorProtection : public CDOTA_Buff { public: - bool m_bActivated; // 0x12b8 + bool m_bActivated; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - float m_flHealthToRestore; // 0x12bc - int32_t radius; // 0x12c0 - float activation_time; // 0x12c4 - int32_t regen_rate; // 0x12c8 + float m_flHealthToRestore; // 0x12cc + int32_t radius; // 0x12d0 + float activation_time; // 0x12d4 + int32_t regen_rate; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CountdownTimer m_TimerToActivate; // 0x12d0 + CountdownTimer m_TimerToActivate; // 0x12e0 }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_BackdoorProtectionInBase : public CDOTA_Modifier_BackdoorProtection { public: @@ -33304,7 +33767,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BackdoorProtectionActive : public CDOTA_Buff { public: @@ -33312,7 +33775,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_ProjectileVision : public CDOTA_Buff { public: @@ -33320,7 +33783,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_ProjectileVisionOnMinimap : public CDOTA_Modifier_ProjectileVision { public: @@ -33328,7 +33791,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Pet : public CDOTA_Buff { public: @@ -33336,16 +33799,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_HeroStatue : public CDOTA_Buff { public: - uint32_t m_unStatusEffectIndex; // 0x12b8 - CHandle< CBaseEntity > m_hPedestal; // 0x12bc + uint32_t m_unStatusEffectIndex; // 0x12c8 + CHandle< CBaseEntity > m_hPedestal; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_HeroStatuePedestal : public CDOTA_Buff { public: @@ -33353,7 +33816,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BattleCupEffigy : public CDOTA_Buff { public: @@ -33361,7 +33824,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Hidden_NoDamage : public CDOTA_Buff { public: @@ -33369,7 +33832,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tutorial_Disable_Healing : public CDOTA_Buff { public: @@ -33377,33 +33840,33 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tutorial_SpeechBubble : public CDOTA_Buff { public: - bool m_bFacePlayer; // 0x12b8 + bool m_bFacePlayer; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tutorial_ForceAnimation : public CDOTA_Buff { public: - int32_t m_nActivity; // 0x12b8 - bool m_bLoop; // 0x12bc - bool m_bFacePlayer; // 0x12bd + int32_t m_nActivity; // 0x12c8 + bool m_bLoop; // 0x12cc + bool m_bFacePlayer; // 0x12cd }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tutorial_HideNPC : public CDOTA_Buff { public: - bool m_bRemoveOnDeath; // 0x12b8 + bool m_bRemoveOnDeath; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tutorial_LowAttackPriority : public CDOTA_Buff { public: @@ -33411,15 +33874,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tutorial_LastHittable : public CDOTA_Buff { public: - bool m_bIsFriend; // 0x12b8 + bool m_bIsFriend; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Creep_Slow : public CDOTA_Buff { public: @@ -33427,7 +33890,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Creep_Haste : public CDOTA_Buff { public: @@ -33435,7 +33898,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Buyback_Gold_Penalty : public CDOTA_Buff { public: @@ -33443,7 +33906,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Provide_Vision : public CDOTA_Buff { public: @@ -33451,18 +33914,18 @@ public: }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_ScriptedMotionController : public CDOTA_Buff { public: - HSCRIPT m_hHorizontalControlFunction; // 0x12b8 - HSCRIPT m_hVerticalControlFunction; // 0x12c0 - HSCRIPT m_hOnDestroyFunction; // 0x12c8 - CVariantBase< CVariantDefaultAllocator > m_parameterTable; // 0x12d0 + HSCRIPT m_hHorizontalControlFunction; // 0x12c8 + HSCRIPT m_hVerticalControlFunction; // 0x12d0 + HSCRIPT m_hOnDestroyFunction; // 0x12d8 + CVariantBase< CVariantDefaultAllocator > m_parameterTable; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Generic_Hidden : public CDOTA_Buff { public: @@ -33470,7 +33933,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Disable_Healing : public CDOTA_Buff { public: @@ -33478,7 +33941,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BaseBlocker_Thinker : public CDOTA_Buff { public: @@ -33486,15 +33949,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BaseBlocker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BaseBlocker_Effect : public CDOTA_Buff { public: @@ -33502,20 +33965,20 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Rune_Shield : public CDOTA_Buff { public: - int32_t damage_absorb; // 0x12b8 - bool m_bStartedTimer; // 0x12bc + int32_t damage_absorb; // 0x12c8 + bool m_bStartedTimer; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - int32_t m_nDamageAbsorbed; // 0x12c0 + int32_t m_nDamageAbsorbed; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bonus_Armor : public CDOTA_Buff { public: @@ -33523,7 +33986,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bonus_Mres : public CDOTA_Buff { public: @@ -33531,7 +33994,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bonus_Damage : public CDOTA_Buff { public: @@ -33539,7 +34002,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_HP_Regen : public CDOTA_Buff { public: @@ -33547,7 +34010,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MP_Regen : public CDOTA_Buff { public: @@ -33555,7 +34018,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MagicImmune : public CDOTA_Buff { public: @@ -33563,7 +34026,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DebuffImmune : public CDOTA_Buff { public: @@ -33571,7 +34034,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_CameraFollow : public CDOTA_Buff { public: @@ -33579,7 +34042,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Hexed : public CDOTA_Buff { public: @@ -33587,7 +34050,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Editor : public CDOTA_Buff { public: @@ -33595,7 +34058,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Prosperous_Soul : public CDOTA_Buff { public: @@ -33603,23 +34066,23 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MoveSpeed_Percentage : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 + int32_t movespeed; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Kill : public CDOTA_Buff { public: - bool m_bHideOnKill; // 0x12b8 + bool m_bHideOnKill; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Phased : public CDOTA_Buff { public: @@ -33627,7 +34090,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Dominated : public CDOTA_Buff { public: @@ -33635,7 +34098,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TrueSight : public CDOTA_Buff { public: @@ -33643,7 +34106,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TrueSightFoW : public CDOTA_Buff { public: @@ -33651,7 +34114,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TrueSightAll : public CDOTA_Buff { public: @@ -33659,7 +34122,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Stunned : public CDOTA_Buff { public: @@ -33667,7 +34130,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bashed : public CDOTA_Modifier_Stunned { public: @@ -33675,7 +34138,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Taunt : public CDOTA_Buff { public: @@ -33683,30 +34146,30 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_PersistentInvisibility : public CDOTA_Buff { public: - float fade_delay; // 0x12b8 - float m_flFadeTime; // 0x12bc - GameTime_t m_flLastActionTime; // 0x12c0 + float fade_delay; // 0x12c8 + float m_flFadeTime; // 0x12cc + GameTime_t m_flLastActionTime; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Invisible : public CDOTA_Buff { public: - bool m_bSubtle; // 0x12b8 + bool m_bSubtle; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - GameTime_t m_flFadeTime; // 0x12bc - float m_flFadeTimeValue; // 0x12c0 + GameTime_t m_flFadeTime; // 0x12cc + float m_flFadeTimeValue; // 0x12d0 }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_InvisibleTrueSightImmune : public CDOTA_Modifier_Invisible { public: @@ -33714,7 +34177,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Followthrough : public CDOTA_Buff { public: @@ -33722,7 +34185,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Silence : public CDOTA_Buff { public: @@ -33730,7 +34193,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Fear : public CDOTA_Buff { public: @@ -33738,7 +34201,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Invulnerable : public CDOTA_Buff { public: @@ -33746,7 +34209,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AttackImmune : public CDOTA_Buff { public: @@ -33754,7 +34217,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Disarmed : public CDOTA_Buff { public: @@ -33762,7 +34225,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Break : public CDOTA_Buff { public: @@ -33770,7 +34233,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Muted : public CDOTA_Buff { public: @@ -33778,7 +34241,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rooted : public CDOTA_Buff { public: @@ -33786,7 +34249,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_RootedUndispellable : public CDOTA_Modifier_Rooted { public: @@ -33794,7 +34257,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_NoHealthBar : public CDOTA_Buff { public: @@ -33802,7 +34265,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_NotOnMinimap : public CDOTA_Buff { public: @@ -33810,7 +34273,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aura : public CDOTA_Buff { public: @@ -33818,7 +34281,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FountainAura : public CDOTA_Buff { public: @@ -33826,7 +34289,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FountainAuraBuff : public CDOTA_Buff { public: @@ -33834,23 +34297,23 @@ public: }; // Alignment: 9 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_Illusion : public CDOTA_Buff { public: - 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 + int32_t outgoing_damage; // 0x12c8 + int32_t outgoing_damage_structure; // 0x12cc + int32_t outgoing_damage_roshan; // 0x12d0 + int32_t incoming_damage; // 0x12d4 + int32_t bounty_base; // 0x12d8 + int32_t bounty_growth; // 0x12dc + CUtlString m_strIllusionType; // 0x12e0 + char m_szIllusionLabel[64]; // 0x12e8 + bool m_bHidden; // 0x1328 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rune_DoubleDamage : public CDOTA_Buff { public: @@ -33858,15 +34321,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rune_ExtraDamage : public CDOTA_Modifier_Rune_DoubleDamage { public: - int32_t m_iAdditionalDamagePct; // 0x12b8 + int32_t m_iAdditionalDamagePct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rune_Illusion : public CDOTA_Buff { public: @@ -33874,7 +34337,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rune_Haste : public CDOTA_Buff { public: @@ -33882,7 +34345,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rune_FlyingHaste : public CDOTA_Modifier_Rune_Haste { public: @@ -33890,7 +34353,7 @@ public: }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Rune_Invisibility : public CDOTA_Modifier_Invisible { public: @@ -33898,7 +34361,7 @@ public: }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Rune_Super_Invisibility : public CDOTA_Modifier_PersistentInvisibility { public: @@ -33906,7 +34369,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rune_Regen : public CDOTA_Buff { public: @@ -33914,7 +34377,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rune_SuperRegen : public CDOTA_Modifier_Rune_Regen { public: @@ -33922,16 +34385,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rune_Arcane : public CDOTA_Buff { public: - int32_t m_iCooldownReductionPct; // 0x12b8 - int32_t m_iCostReductionPct; // 0x12bc + int32_t m_iCooldownReductionPct; // 0x12c8 + int32_t m_iCostReductionPct; // 0x12cc }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rune_SuperArcane : public CDOTA_Modifier_Rune_Arcane { public: @@ -33939,30 +34402,30 @@ public: }; // Alignment: 11 -// Size: 0x1710 +// Size: 0x1720 class CDOTA_Modifier_Teleporting : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x20]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x20]; // 0x12c8 public: - 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 + float m_fStartTime; // 0x12e8 + char m_iszPortalLoopAppear[260]; // 0x12ec + char m_iszPortalLoopDisappear[260]; // 0x13f0 + char m_iszHeroLoopAppear[260]; // 0x14f4 + char m_iszHeroLoopDisappear[260]; // 0x15f8 + bool m_bSkipTeleportAnim; // 0x16fc + bool m_bPlayingCoopAnim; // 0x16fd + bool m_bIsPlayingTauntGesture; // 0x16fe private: - [[maybe_unused]] uint8_t __pad16ef[0x1]; // 0x16ef + [[maybe_unused]] uint8_t __pad16ff[0x1]; // 0x16ff public: - float m_fChannelTime; // 0x16f0 - Vector m_vStart; // 0x16f4 - Vector m_vEnd; // 0x1700 + float m_fChannelTime; // 0x1700 + Vector m_vStart; // 0x1704 + Vector m_vEnd; // 0x1710 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Teleporting_Root_Logic : public CDOTA_Buff { public: @@ -33970,52 +34433,52 @@ public: }; // Alignment: 10 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Knockback : public CDOTA_Buff { public: - 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 + float knockback_distance; // 0x12c8 + int32_t knockback_height; // 0x12cc + float knockback_duration; // 0x12d0 + Vector m_vHorizOffset; // 0x12d4 + Vector m_vStartPosition; // 0x12e0 + float m_fCurrentTimeHoriz; // 0x12ec + float m_fCurrentTimeVert; // 0x12f0 + bool m_bShouldStun; // 0x12f4 + bool m_bRespectLeash; // 0x12f5 + bool m_bReversePolarity; // 0x12f6 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Cyclone : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x12b8 - Vector m_vStartPos; // 0x12bc - float m_flCurTime; // 0x12c8 - float m_flHeightT; // 0x12cc + GameTime_t m_flStartTime; // 0x12c8 + Vector m_vStartPos; // 0x12cc + float m_flCurTime; // 0x12d8 + float m_flHeightT; // 0x12dc }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_IceSlide : public CDOTA_Buff { public: - GameTime_t m_fLastUpdateTime; // 0x12b8 - Vector m_vVelocity; // 0x12bc + GameTime_t m_fLastUpdateTime; // 0x12c8 + Vector m_vVelocity; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tutorial_LastHitHelper : public CDOTA_Buff { public: - bool m_bTargetFriendlies; // 0x12b8 + bool m_bTargetFriendlies; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TeamShowcase_Global : public CDOTA_Buff { public: @@ -34023,7 +34486,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TeamShowcase_Showcase : public CDOTA_Buff { public: @@ -34031,16 +34494,16 @@ public: }; // Alignment: 2 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_HallOfFame_Glow : public CDOTA_Buff { public: - CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs; // 0x12b8 - CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs2; // 0x12d0 + CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs; // 0x12c8 + CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs2; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DisableTauntAnimationCancel : public CDOTA_Buff { public: @@ -34048,7 +34511,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_PreventTaunts : public CDOTA_Buff { public: @@ -34056,15 +34519,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Activity_Modifier : public CDOTA_Buff { public: - CUtlSymbolLarge m_activityModifier; // 0x12b8 + CUtlSymbolLarge m_activityModifier; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_SecondaryUnit_Taunt : public CDOTA_Buff { public: @@ -34072,24 +34535,24 @@ public: }; // Alignment: 7 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_MonkeyKing_BouncePerch : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTree; // 0x12b8 - bool m_bGroundToTree; // 0x12bc - bool m_bTreeToGround; // 0x12bd - bool m_bTreeToTree; // 0x12be + CHandle< CBaseEntity > m_hTree; // 0x12c8 + bool m_bGroundToTree; // 0x12cc + bool m_bTreeToGround; // 0x12cd + bool m_bTreeToTree; // 0x12ce private: - [[maybe_unused]] uint8_t __pad12bf[0x1]; // 0x12bf + [[maybe_unused]] uint8_t __pad12cf[0x1]; // 0x12cf public: - float perched_day_vision; // 0x12c0 - float perched_night_vision; // 0x12c4 - bool m_bAbilityIsStolen; // 0x12c8 + float perched_day_vision; // 0x12d0 + float perched_night_vision; // 0x12d4 + bool m_bAbilityIsStolen; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BookOfStrength : public CDOTA_Buff { public: @@ -34097,7 +34560,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BookOfAgility : public CDOTA_Buff { public: @@ -34105,7 +34568,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BookOfIntelligence : public CDOTA_Buff { public: @@ -34113,7 +34576,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_No_Invisibility : public CDOTA_Buff { public: @@ -34121,28 +34584,28 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Hide_On_Minimap : public CDOTA_Buff { public: - bool m_bEnemiesOnly; // 0x12b8 + bool m_bEnemiesOnly; // 0x12c8 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_ChangeTreeModel_Thinker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTree; // 0x12b8 + CHandle< CBaseEntity > m_hTree; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlString m_strModel; // 0x12c0 - int32_t m_nModelChangeToken; // 0x12c8 + CUtlString m_strModel; // 0x12d0 + int32_t m_nModelChangeToken; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_LegacyChargeCounter : public CDOTA_Buff { public: @@ -34150,29 +34613,29 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FixedNumberOfHitsToKill : public CDOTA_Buff { public: - int32_t creep_attack_divisor; // 0x12b8 - int32_t attack_count; // 0x12bc + int32_t creep_attack_divisor; // 0x12c8 + int32_t attack_count; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_NPXBuff : public CDOTA_Buff { public: - int32_t m_nCurReduction; // 0x12b8 + int32_t m_nCurReduction; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Muerta_PartingShot_PhysicalBodyDebuff : public CDOTA_Modifier_Stunned { public: - CHandle< CBaseEntity > m_hSoulEntity; // 0x12b8 - int32_t damage_reduction_percent; // 0x12bc + CHandle< CBaseEntity > m_hSoulEntity; // 0x12c8 + int32_t damage_reduction_percent; // 0x12cc }; // Alignment: 20 @@ -34244,93 +34707,93 @@ public: }; // Alignment: 63 -// Size: 0x3818 +// Size: 0x3848 class CDOTA_Modifier_DataDriven : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x18]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x18]; // 0x12c8 public: - 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 + AbilityID_t m_nAbilityID; // 0x12e0 + int32_t m_nIndexInAbility; // 0x12e4 + bool m_bIsHidden; // 0x12e8 + bool m_bIsDebuff; // 0x12e9 + bool m_bIsPurgable; // 0x12ea + bool m_bIsStunDebuff; // 0x12eb + bool m_bAllowIllusionDuplicate; // 0x12ec + bool m_bRemoveOnDeath; // 0x12ed private: - [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de + [[maybe_unused]] uint8_t __pad12ee[0x2]; // 0x12ee public: - 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 + char* m_pszAuraModifier; // 0x12f0 + int32_t m_nAuraModifierIndex; // 0x12f8 + int32_t m_nAuraRadius; // 0x12fc + int32_t m_nAuraSearchTeam; // 0x1300 + int32_t m_nAuraSearchType; // 0x1304 + int32_t m_nAuraSearchFlags; // 0x1308 + bool m_bAuraApplyToCaster; // 0x130c + bool m_bAuraApplyToParent; // 0x130d private: - [[maybe_unused]] uint8_t __pad12fe[0x2]; // 0x12fe + [[maybe_unused]] uint8_t __pad130e[0x2]; // 0x130e public: - int32_t m_nAttributes; // 0x1300 + int32_t m_nAttributes; // 0x1310 private: - [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 + [[maybe_unused]] uint8_t __pad1314[0x4]; // 0x1314 public: - 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 + char* m_pszEffectName; // 0x1318 + int32_t m_nEffectAttachType; // 0x1320 + int32_t m_nPriority; // 0x1324 + char* m_pszStatusEffectName; // 0x1328 + int32_t m_nStatusEffectPriority; // 0x1330 + int32_t m_nOverrideAnimation; // 0x1334 + int32_t m_nOrbPriority; // 0x1338 + int32_t m_nOrbLabel; // 0x133c + bool m_bOrbIsCastAttack; // 0x1340 private: - [[maybe_unused]] uint8_t __pad1331[0x3]; // 0x1331 + [[maybe_unused]] uint8_t __pad1341[0x3]; // 0x1341 public: - float m_flThinkInterval; // 0x1334 - bool m_bNeedsReParseIfRefreshed; // 0x1338 + float m_flThinkInterval; // 0x1344 + bool m_bNeedsReParseIfRefreshed; // 0x1348 private: - [[maybe_unused]] uint8_t __pad1339[0x7]; // 0x1339 + [[maybe_unused]] uint8_t __pad1349[0x7]; // 0x1349 public: - char* m_pszModelName; // 0x1340 - char* m_pszOrbProjectileName; // 0x1348 + char* m_pszModelName; // 0x1350 + char* m_pszOrbProjectileName; // 0x1358 private: - [[maybe_unused]] uint8_t __pad1350[0x23c0]; // 0x1350 + [[maybe_unused]] uint8_t __pad1360[0x23e0]; // 0x1360 public: - 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 + uint64_t m_nModifierStatesEnabled; // 0x3740 + uint64_t m_nModifierStatesDisabled; // 0x3748 + KeyValues* m_pOnCreated; // 0x3750 + KeyValues* m_pOnIntervalThink; // 0x3758 + KeyValues* m_pOnDestroy; // 0x3760 + KeyValues* m_pOnAttackStart; // 0x3768 + KeyValues* m_pOnAttack; // 0x3770 + KeyValues* m_pOnAttackLanded; // 0x3778 + KeyValues* m_pOnAttackFailed; // 0x3780 + KeyValues* m_pOnAttackAllied; // 0x3788 + KeyValues* m_pOnProjectileDodge; // 0x3790 + KeyValues* m_pOnOrder; // 0x3798 + KeyValues* m_pOnUnitMoved; // 0x37a0 + KeyValues* m_pOnAbilityStart; // 0x37a8 + KeyValues* m_pOnAbilityExecuted; // 0x37b0 + KeyValues* m_pOnBreakInvisibility; // 0x37b8 + KeyValues* m_pOnAbilityEndChannel; // 0x37c0 + KeyValues* m_pOnTakeDamage; // 0x37c8 + KeyValues* m_pOnDealDamage; // 0x37d0 + KeyValues* m_pOnStateChanged; // 0x37d8 + KeyValues* m_pOnAttacked; // 0x37e0 + KeyValues* m_pOnDeath; // 0x37e8 + KeyValues* m_pOnKill; // 0x37f0 + KeyValues* m_pOnRespawn; // 0x37f8 + KeyValues* m_pOnSpentMana; // 0x3800 + KeyValues* m_pOnTeleporting; // 0x3808 + KeyValues* m_pOnTeleported; // 0x3810 + KeyValues* m_pOnHealthGained; // 0x3818 + KeyValues* m_pOnManaGained; // 0x3820 + KeyValues* m_pOnHeroKilled; // 0x3828 + KeyValues* m_pOnHealReceived; // 0x3830 + KeyValues* m_pOnAttackFinished; // 0x3838 + KeyValues* m_pOnAttackCancelled; // 0x3840 }; // Alignment: 0 @@ -34342,17 +34805,17 @@ public: }; // Alignment: 1 -// Size: 0x13a8 +// Size: 0x13b8 class CDOTA_Modifier_Lua : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0xe8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0xe8]; // 0x12c8 public: - bool m_bHasCustomTransmitterData; // 0x13a0 + bool m_bHasCustomTransmitterData; // 0x13b0 }; // Alignment: 0 -// Size: 0x13a8 +// Size: 0x13b8 class CDOTA_Modifier_Lua_Horizontal_Motion : public CDOTA_Modifier_Lua { public: @@ -34360,7 +34823,7 @@ public: }; // Alignment: 0 -// Size: 0x13a8 +// Size: 0x13b8 class CDOTA_Modifier_Lua_Vertical_Motion : public CDOTA_Modifier_Lua { public: @@ -34368,7 +34831,7 @@ public: }; // Alignment: 0 -// Size: 0x13a8 +// Size: 0x13b8 class CDOTA_Modifier_Lua_Motion_Both : public CDOTA_Modifier_Lua { public: @@ -34424,29 +34887,29 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Disruptor_Thunder_Strike : public CDOTA_Buff { public: - float strike_interval; // 0x12b8 - int32_t radius; // 0x12bc - int32_t strike_damage; // 0x12c0 + float strike_interval; // 0x12c8 + int32_t radius; // 0x12cc + int32_t strike_damage; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Disruptor_Thunder_Strike_On_Attack : public CDOTA_Buff { public: - int32_t strike_chance; // 0x12b8 + int32_t strike_chance; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Disruptor_Thunder_Strike_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x12b8 + int32_t slow_amount; // 0x12c8 }; // Alignment: 0 @@ -34484,37 +34947,37 @@ public: }; // Alignment: 1 -// Size: 0x1328 +// Size: 0x1338 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse : public CDOTA_Buff { public: - Vector m_PositionIndex[9]; // 0x12b8 + Vector m_PositionIndex[9]; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Attack_Buff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12e0 +class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Thinker : public CDOTA_Buff +{ +public: + Vector m_vStartLoc; // 0x12c8 + CHandle< CBaseEntity > m_hEntity; // 0x12d4 }; // Alignment: 2 // Size: 0x12d0 -class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Thinker : public CDOTA_Buff -{ -public: - Vector m_vStartLoc; // 0x12b8 - CHandle< CBaseEntity > m_hEntity; // 0x12c4 -}; - -// Alignment: 2 -// Size: 0x12c0 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Travel_Damage : public CDOTA_Buff { public: - float damage; // 0x12b8 - int32_t max_ticks; // 0x12bc + float damage; // 0x12c8 + int32_t max_ticks; // 0x12cc }; // Alignment: 0 @@ -34566,28 +35029,28 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Disruptor_KineticFieldThinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float formation_time; // 0x12bc - bool m_bActive; // 0x12c0 + int32_t radius; // 0x12c8 + float formation_time; // 0x12cc + bool m_bActive; // 0x12d0 }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Disruptor_KineticField : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - Vector m_vOriginLoc; // 0x12bc - bool m_bCanBeAffected; // 0x12c8 - bool m_bTruesight; // 0x12c9 + int32_t radius; // 0x12c8 + Vector m_vOriginLoc; // 0x12cc + bool m_bCanBeAffected; // 0x12d8 + bool m_bTruesight; // 0x12d9 private: - [[maybe_unused]] uint8_t __pad12ca[0x2]; // 0x12ca + [[maybe_unused]] uint8_t __pad12da[0x2]; // 0x12da public: - int32_t intellect_bonus; // 0x12cc + int32_t intellect_bonus; // 0x12dc }; // Alignment: 0 @@ -34623,30 +35086,30 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStormThinker : public CDOTA_Buff { public: - int32_t m_nCurrentPulse; // 0x12b8 - int32_t radius; // 0x12bc - int32_t damage_max; // 0x12c0 - int32_t pulses; // 0x12c4 - float duration; // 0x12c8 + int32_t m_nCurrentPulse; // 0x12c8 + int32_t radius; // 0x12cc + int32_t damage_max; // 0x12d0 + int32_t pulses; // 0x12d4 + float duration; // 0x12d8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStorm : public CDOTA_Buff { public: - int32_t miss_rate; // 0x12b8 - int32_t movement_speed_reduction; // 0x12bc - int32_t attack_speed_reduction; // 0x12c0 - bool m_bHasScepter; // 0x12c4 + int32_t miss_rate; // 0x12c8 + int32_t movement_speed_reduction; // 0x12cc + int32_t attack_speed_reduction; // 0x12d0 + bool m_bHasScepter; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStormMute : public CDOTA_Buff { public: @@ -34654,24 +35117,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStorm_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x12b8 - int32_t move_slow_pct; // 0x12bc + int32_t damage_reduction_pct; // 0x12c8 + int32_t move_slow_pct; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Disruptor_ThunderStrike_Int_Increase : public CDOTA_Buff { public: - int32_t int_increase_amount; // 0x12b8 + int32_t int_increase_amount; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_Disruptor_ThunderStrike_Int_Increase_Counter : public CDOTA_Buff { public: @@ -34687,23 +35150,23 @@ public: }; // Alignment: 9 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Magnataur_Horn_Toss : public CDOTA_Buff { public: - 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 + float air_duration; // 0x12c8 + int32_t air_height; // 0x12cc + int32_t travel_distance; // 0x12d0 + Vector m_vDestination; // 0x12d4 + float m_flStartZ; // 0x12e0 + float m_flCurTime; // 0x12e4 + float m_flJumpDuration; // 0x12e8 + float m_flJumpHeight; // 0x12ec + Vector m_vTargetHorizontalDirection; // 0x12f0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Magnataur_Horn_Toss_Slow : public CDOTA_Buff { public: @@ -34743,11 +35206,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Magnataur_Shockwave_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x12b8 + int32_t damage_reduction_pct; // 0x12c8 }; // Alignment: 0 @@ -34759,23 +35222,23 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Magnataur_Shockwave : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Magnataur_Shockwave_Pull : public CDOTA_Buff { public: - Vector m_vDirection; // 0x12b8 - float m_flEndTime; // 0x12c4 - float m_flCurTime; // 0x12c8 - float pull_duration; // 0x12cc - float effective_distance; // 0x12d0 + Vector m_vDirection; // 0x12c8 + float m_flEndTime; // 0x12d4 + float m_flCurTime; // 0x12d8 + float pull_duration; // 0x12dc + float effective_distance; // 0x12e0 }; // Alignment: 2 @@ -34796,20 +35259,20 @@ public: }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_Magnataur_Empower : public CDOTA_Buff { public: - 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 + int32_t bonus_damage_pct; // 0x12c8 + float cleave_damage_pct; // 0x12cc + int32_t cleave_starting_width; // 0x12d0 + int32_t cleave_ending_width; // 0x12d4 + int32_t cleave_distance; // 0x12d8 + float splash_damage_pct; // 0x12dc + int32_t splash_radius; // 0x12e0 + float self_multiplier; // 0x12e4 + int32_t lifesteal_pct; // 0x12e8 + GameTime_t m_fLastShockwaveProcTime; // 0x12ec }; // Alignment: 0 @@ -34860,32 +35323,32 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t m_nProjectileID; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Impact : public CDOTA_Buff { public: - float slow_duration; // 0x12b8 - int32_t skewer_damage; // 0x12bc - Vector m_vDirection; // 0x12c0 - float m_flEndTime; // 0x12cc - float m_flCurTime; // 0x12d0 + float slow_duration; // 0x12c8 + int32_t skewer_damage; // 0x12cc + Vector m_vDirection; // 0x12d0 + float m_flEndTime; // 0x12dc + float m_flCurTime; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Slow : public CDOTA_Buff { public: - int32_t slow_pct; // 0x12b8 + int32_t slow_pct; // 0x12c8 }; // Alignment: 8 @@ -34904,11 +35367,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Magnataur_Skewer_Bonus_Strength : public CDOTA_Buff { public: - int32_t strength_gain; // 0x12b8 + int32_t strength_gain; // 0x12c8 }; // Alignment: 0 @@ -34952,7 +35415,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity : public CDOTA_Buff { public: @@ -34960,7 +35423,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity_Stun : public CDOTA_Modifier_Stunned { public: @@ -34992,12 +35455,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity_Steroid : public CDOTA_Buff { public: - int32_t move_speed_percent; // 0x12b8 - int32_t attack_speed; // 0x12bc + int32_t move_speed_percent; // 0x12c8 + int32_t attack_speed; // 0x12cc }; // Alignment: 0 @@ -35009,7 +35472,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_Magnataur_Reverse_Polarity_Polarity_Dummy : public CDOTA_Buff { public: @@ -35059,37 +35522,37 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_StiflingDagger_Caster : public CDOTA_Buff { public: - int32_t base_damage; // 0x12b8 - int32_t attack_factor; // 0x12bc + int32_t base_damage; // 0x12c8 + int32_t attack_factor; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_StiflingDagger : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 + int32_t move_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_On_Attack : public CDOTA_Buff { public: - int32_t strike_chance; // 0x12b8 + int32_t strike_chance; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_AutoDagger : public CDOTA_Buff { public: - float fire_rate; // 0x12b8 - int32_t radius; // 0x12bc + float fire_rate; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 0 @@ -35125,20 +35588,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_PhantomStrike : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_evasion; // 0x12bc + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_evasion; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_PhantomStrike_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x12b8 + int32_t damage_reduction_pct; // 0x12c8 }; // Alignment: 0 @@ -35174,21 +35637,21 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_Blur : public CDOTA_Buff { public: - int32_t bonus_evasion; // 0x12b8 + int32_t bonus_evasion; // 0x12c8 }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_PhantomAssassin_BlurActive : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x12c8 - float fade_duration; // 0x12cc - bool m_bDestroyNext; // 0x12d0 + int32_t radius; // 0x12d8 + float fade_duration; // 0x12dc + bool m_bDestroyNext; // 0x12e0 }; // Alignment: 0 @@ -35200,21 +35663,21 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_PhantomAssassin_CoupdeGrace : public CDOTA_Buff { public: - int32_t crit_bonus; // 0x12b8 - int32_t crit_chance; // 0x12bc - bool crit_active; // 0x12c0 + int32_t crit_bonus; // 0x12c8 + int32_t crit_chance; // 0x12cc + bool crit_active; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t m_nAttackRecord; // 0x12c4 + int32_t m_nAttackRecord; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PhantomAssassin_MarkedForDeath : public CDOTA_Buff { public: @@ -35254,11 +35717,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_PhantomAssassin_CoupDeGrace_BloodyDebuff : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 + int32_t damage_reduction; // 0x12c8 }; // Alignment: 0 @@ -35270,13 +35733,13 @@ public: }; // Alignment: 3 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_Splitshot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x12b8 - int32_t split_shot_bonus_range; // 0x12bc - int32_t arrow_count; // 0x12c0 + int32_t damage_modifier; // 0x12c8 + int32_t split_shot_bonus_range; // 0x12cc + int32_t arrow_count; // 0x12d0 }; // Alignment: 0 @@ -35288,12 +35751,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_DoubleAttack : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - int32_t m_iAttacksRemaining; // 0x12bc + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + int32_t m_iAttacksRemaining; // 0x12cc }; // Alignment: 0 @@ -35321,32 +35784,32 @@ public: }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Frost_Attack : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Flight : public CDOTA_Buff { public: - 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 + float attack_point; // 0x12c8 + int32_t attack_range_bonus; // 0x12cc + int32_t projectile_speed_bonus; // 0x12d0 + int32_t night_vision_bonus; // 0x12d4 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Slow : public CDOTA_Buff { public: - float damage_per_second; // 0x12b8 - int32_t move_slow; // 0x12bc + float damage_per_second; // 0x12c8 + int32_t move_slow; // 0x12cc }; // Alignment: 0 @@ -35385,20 +35848,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Splinter_Blast_Slow : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x12b8 + int32_t bonus_movespeed; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x12b8 - Vector vPullLocation; // 0x12bc + float pull_speed; // 0x12c8 + Vector vPullLocation; // 0x12cc }; // Alignment: 0 @@ -35434,30 +35897,30 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Cold_Embrace : public CDOTA_Buff { public: - int32_t m_nOriginalAttackCapability; // 0x12b8 + int32_t m_nOriginalAttackCapability; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x8]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x8]; // 0x12cc public: - bool m_bDidBlast; // 0x12c4 + bool m_bDidBlast; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - int32_t heal_additive; // 0x12c8 - float heal_percentage; // 0x12cc + int32_t heal_additive; // 0x12d8 + float heal_percentage; // 0x12dc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Magic_Damage_Block : public CDOTA_Buff { public: - int32_t barrier_amount; // 0x12b8 - int32_t barrier_block; // 0x12bc - int32_t m_nMaxMovementSpeed; // 0x12c0 + int32_t barrier_amount; // 0x12c8 + int32_t barrier_block; // 0x12cc + int32_t m_nMaxMovementSpeed; // 0x12d0 }; // Alignment: 0 @@ -35493,38 +35956,38 @@ public: }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse_Kill_Credit : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse_Aura : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - int32_t m_nAlliesTaunted; // 0x12bc - bool m_bRelicTriggered; // 0x12c0 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + int32_t m_nAlliesTaunted; // 0x12cc + bool m_bRelicTriggered; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t radius; // 0x12c4 - int32_t damage_amplification; // 0x12c8 - int32_t damage_reduction; // 0x12cc + int32_t radius; // 0x12d4 + int32_t damage_amplification; // 0x12d8 + int32_t damage_reduction; // 0x12dc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hZombieTarget; // 0x12b8 - CHandle< CBaseEntity > m_hDesiredTarget; // 0x12bc - int32_t damage_reduction; // 0x12c0 - int32_t bonus_attack_speed; // 0x12c4 + CHandle< CBaseEntity > m_hZombieTarget; // 0x12c8 + CHandle< CBaseEntity > m_hDesiredTarget; // 0x12cc + int32_t damage_reduction; // 0x12d0 + int32_t bonus_attack_speed; // 0x12d4 }; // Alignment: 11 @@ -35558,20 +36021,20 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Snapfire_Scatterblast_Slow : public CDOTA_Buff { public: - bool m_bIsPointBlank; // 0x12b8 + bool m_bIsPointBlank; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t movement_slow_pct; // 0x12bc - int32_t attack_slow_pct; // 0x12c0 + int32_t movement_slow_pct; // 0x12cc + int32_t attack_slow_pct; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Snapfire_Scatterblast_Disarm : public CDOTA_Buff { public: @@ -35593,39 +36056,39 @@ public: }; // Alignment: 3 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_PreHop : public CDOTA_Buff { public: - float jump_duration; // 0x12b8 - bool m_bMovesHorizontal; // 0x12bc - bool m_bSecondaryCookie; // 0x12bd + float jump_duration; // 0x12c8 + bool m_bMovesHorizontal; // 0x12cc + bool m_bSecondaryCookie; // 0x12cd }; // Alignment: 15 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_ShortHop : public CDOTA_Buff { public: - 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 + float jump_duration; // 0x12c8 + int32_t jump_height; // 0x12cc + int32_t jump_horizontal_distance; // 0x12d0 + float pre_land_anim_time; // 0x12d4 + float landing_gesture_duration; // 0x12d8 + int32_t impact_radius; // 0x12dc + int32_t impact_damage; // 0x12e0 + float impact_stun_duration; // 0x12e4 + float m_flStartZ; // 0x12e8 + float m_flCurTime; // 0x12ec + float m_flJumpDuration; // 0x12f0 + float m_flJumpDistance; // 0x12f4 + float m_flJumpHeight; // 0x12f8 + Vector m_vTargetHorizontalDirection; // 0x12fc + bool m_bSecondaryCookie; // 0x1308 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_AllyFlailAnim : public CDOTA_Buff { public: @@ -35633,7 +36096,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_LandingGesture : public CDOTA_Buff { public: @@ -35641,12 +36104,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Snapfire_FiresnapCookie_AlliedBuff : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x12b8 - int32_t bonus_attack_damage; // 0x12bc + int32_t bonus_attack_range; // 0x12c8 + int32_t bonus_attack_damage; // 0x12cc }; // Alignment: 2 @@ -35662,75 +36125,75 @@ public: }; // Alignment: 11 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Buff : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 - int32_t m_nIsActive; // 0x12d8 - bool m_bHasAttackTalent; // 0x12dc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + int32_t m_nIsActive; // 0x12e8 + bool m_bHasAttackTalent; // 0x12ec private: - [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd + [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed public: - 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 + int32_t attack_range_bonus; // 0x12f0 + int32_t buffed_attacks; // 0x12f4 + float base_attack_time; // 0x12f8 + int32_t attack_speed_bonus; // 0x12fc + float armor_duration; // 0x1300 + int32_t damage; // 0x1304 + int32_t bounce_range; // 0x1308 + int32_t bounces; // 0x130c }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Attack : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 + int32_t damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Debuff : public CDOTA_Buff { public: - float armor_reduction_per_attack; // 0x12b8 + float armor_reduction_per_attack; // 0x12c8 }; // Alignment: 16 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Aghsfort_Snapfire_MortimerKisses : public CDOTA_Buff { public: - 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 + float m_fIntervalPerRocket; // 0x12c8 + float m_flFacingTarget; // 0x12cc + ParticleIndex_t m_nBeamFXIndex; // 0x12d0 + CHandle< CBaseEntity > m_hBeamEnd; // 0x12d4 + float m_flCurDistance; // 0x12d8 + Vector m_vAimTarget; // 0x12dc + float m_fLastTurnAmount; // 0x12e8 + int32_t m_nProjectilesLaunched; // 0x12ec + bool m_bDestroyOnNextThink; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - int32_t m_nProjectilesToLaunch; // 0x12e4 - bool m_bHasProjectileTalent; // 0x12e8 + int32_t m_nProjectilesToLaunch; // 0x12f4 + bool m_bHasProjectileTalent; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12e9[0xb]; // 0x12e9 + [[maybe_unused]] uint8_t __pad12f9[0xb]; // 0x12f9 public: - 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 + int32_t projectile_count; // 0x1304 + int32_t projectile_vision; // 0x1308 + float turn_rate; // 0x130c + int32_t min_range; // 0x1310 + float delay_after_last_projectile; // 0x1314 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Snapfire_MortimerKisses_VisionSource : public CDOTA_Buff { public: @@ -35738,27 +36201,27 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Snapfire_Magma_Thinker : public CDOTA_Buff { public: - 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 + float burn_interval; // 0x12c8 + int32_t impact_radius; // 0x12cc + int32_t move_slow_pct; // 0x12d0 + float burn_linger_duration; // 0x12d4 + ParticleIndex_t m_nPathEffectIndex; // 0x12d8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Snapfire_Magma_Burn_Slow : public CDOTA_Buff { public: - int32_t m_nMoveSlowPct; // 0x12b8 - float m_fBurnDamagePerTick; // 0x12bc - int32_t move_slow_pct; // 0x12c0 - float burn_interval; // 0x12c4 - int32_t burn_damage; // 0x12c8 + int32_t m_nMoveSlowPct; // 0x12c8 + float m_fBurnDamagePerTick; // 0x12cc + int32_t move_slow_pct; // 0x12d0 + float burn_interval; // 0x12d4 + int32_t burn_damage; // 0x12d8 }; // Alignment: 2 @@ -35771,7 +36234,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Snapfire_GobbleUp_Creep : public CDOTA_Buff { public: @@ -35779,12 +36242,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Snapfire_GobbleUp_BellyHasUnit : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hGobbledUnit; // 0x12b8 - float max_time_in_belly; // 0x12bc + CHandle< CBaseEntity > m_hGobbledUnit; // 0x12c8 + float max_time_in_belly; // 0x12cc }; // Alignment: 3 @@ -35798,37 +36261,37 @@ public: }; // Alignment: 24 -// Size: 0x1328 +// Size: 0x1338 class CDOTA_Modifier_Aghsfort_Snapfire_SpitCreep_ArcingUnit : public CDOTA_Buff { public: - 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 + 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 __pad12d3[0x1]; // 0x12d3 + [[maybe_unused]] uint8_t __pad12e3[0x1]; // 0x12e3 public: - 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 + Vector m_vHorizontalVelocity; // 0x12e4 + Vector m_vLastKnownTargetPosition; // 0x12f0 + float m_flInitialVelocityZ; // 0x12fc + float m_fClampedProjectileSpeed; // 0x1300 + ParticleIndex_t m_nFXIndex; // 0x1304 + float m_fAcceleration; // 0x1308 + int32_t min_range; // 0x130c + float min_lob_travel_time; // 0x1310 + float max_lob_travel_time; // 0x1314 + int32_t impact_radius; // 0x1318 + int32_t projectile_vision; // 0x131c + float stun_duration; // 0x1320 + int32_t impact_damage; // 0x1324 + float min_height_above_lowest; // 0x1328 + float min_height_above_highest; // 0x132c + float min_acceleration; // 0x1330 + float max_acceleration; // 0x1334 }; // Alignment: 0 @@ -35944,20 +36407,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Snapfire_MortimerKisses_Autoattack : public CDOTA_Buff { public: - float fire_rate; // 0x12b8 - int32_t radius; // 0x12bc + float fire_rate; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Snapfire_MortimerKisses_Incoming_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 + int32_t damage_reduction; // 0x12c8 }; // Alignment: 15 @@ -36019,14 +36482,14 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Tusk_IceShard : public CDOTA_Buff { public: - Vector m_vPos; // 0x12b8 - int32_t radius; // 0x12c4 - float damage; // 0x12c8 - float explosion_interval; // 0x12cc + Vector m_vPos; // 0x12c8 + int32_t radius; // 0x12d4 + float damage; // 0x12d8 + float explosion_interval; // 0x12dc }; // Alignment: 20 @@ -36068,7 +36531,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Target : public CDOTA_Buff { public: @@ -36084,7 +36547,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Visible : public CDOTA_Buff { public: @@ -36092,7 +36555,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Movement : public CDOTA_Buff { public: @@ -36100,7 +36563,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Movement_Friendly : public CDOTA_Buff { public: @@ -36116,53 +36579,53 @@ public: }; // Alignment: 10 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch : public CDOTA_Buff { public: - int32_t crit_multiplier; // 0x12b8 - float air_time; // 0x12bc - float slow_duration; // 0x12c0 + int32_t crit_multiplier; // 0x12c8 + float air_time; // 0x12cc + float slow_duration; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12c8 - CHandle< CBaseEntity > m_hTarget; // 0x12d0 - bool m_bWalrusPunch; // 0x12d4 - bool m_bPunchKill; // 0x12d5 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12d8 + CHandle< CBaseEntity > m_hTarget; // 0x12e0 + bool m_bWalrusPunch; // 0x12e4 + bool m_bPunchKill; // 0x12e5 private: - [[maybe_unused]] uint8_t __pad12d6[0x2]; // 0x12d6 + [[maybe_unused]] uint8_t __pad12e6[0x2]; // 0x12e6 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 - ParticleIndex_t m_nFXIndex; // 0x12f0 - int32_t m_nAttackRecord; // 0x12f4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e8 + ParticleIndex_t m_nFXIndex; // 0x1300 + int32_t m_nAttackRecord; // 0x1304 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 + int32_t move_slow; // 0x12c8 }; // Alignment: 12 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch_AirTime : public CDOTA_Buff { public: - 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 + int32_t hp_threshold; // 0x12c8 + float m_flStartZ; // 0x12cc + float m_flCurTime; // 0x12d0 + float m_flOldPitch; // 0x12d4 + QAngle m_qRotation; // 0x12d8 + int32_t m_nRotations; // 0x12e4 + Vector m_vDirection; // 0x12e8 + float flAirTime; // 0x12f4 + float m_flEndTime; // 0x12f8 + float m_fHorizontalDistance; // 0x12fc + float m_fVerticalDistance; // 0x1300 + float m_fDamage; // 0x1304 }; // Alignment: 0 @@ -36174,28 +36637,28 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - float slow_duration; // 0x12bc + int32_t bonus_damage; // 0x12c8 + float slow_duration; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 0 @@ -36247,11 +36710,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_SpellLifesteal : public CDOTA_Buff { public: - float spell_lifesteal_pct; // 0x12b8 + float spell_lifesteal_pct; // 0x12c8 }; // Alignment: 0 @@ -36327,7 +36790,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_Tusk_Ice_Shards_Explode_Dummy : public CDOTA_Buff { public: @@ -36351,24 +36814,24 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Ursa_Fury_Swipes : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x12b8 - float bonus_reset_time; // 0x12bc - float bonus_reset_time_roshan; // 0x12c0 - int32_t max_swipe_stack; // 0x12c4 + int32_t damage_per_stack; // 0x12c8 + float bonus_reset_time; // 0x12cc + float bonus_reset_time_roshan; // 0x12d0 + int32_t max_swipe_stack; // 0x12d4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Ursa_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x12b8 - int32_t m_nArmorReductionPerStack; // 0x12bc - int32_t m_nLifestealPerStack; // 0x12c0 + int32_t damage_per_stack; // 0x12c8 + int32_t m_nArmorReductionPerStack; // 0x12cc + int32_t m_nLifestealPerStack; // 0x12d0 }; // Alignment: 0 @@ -36380,57 +36843,57 @@ public: }; // Alignment: 9 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_Move : public CDOTA_Buff { public: - 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 + float hop_duration; // 0x12c8 + int32_t hop_height; // 0x12cc + int32_t hop_distance; // 0x12d0 + int32_t impact_damage; // 0x12d4 + float m_flStartZ; // 0x12d8 + float m_flCurTime; // 0x12dc + float m_flJumpDuration; // 0x12e0 + float m_flJumpHeight; // 0x12e4 + Vector m_vTargetHorizontalDirection; // 0x12e8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Ursa_Overpower : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x12b8 - int32_t m_nEarthshockAttacks; // 0x12bc - int32_t m_nOverpowerCritMultiplier; // 0x12c0 + int32_t attack_speed_bonus_pct; // 0x12c8 + int32_t m_nEarthshockAttacks; // 0x12cc + int32_t m_nOverpowerCritMultiplier; // 0x12d0 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Ursa_Earthshock : public CDOTA_Buff { public: - int32_t m_nMissChance; // 0x12b8 - bool m_bAddOverpower; // 0x12bc + int32_t m_nMissChance; // 0x12c8 + bool m_bAddOverpower; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float m_flOverpowerDuration; // 0x12c0 - int32_t m_nNumOverpowerAttacks; // 0x12c4 - int32_t movement_slow; // 0x12c8 + float m_flOverpowerDuration; // 0x12d0 + int32_t m_nNumOverpowerAttacks; // 0x12d4 + int32_t movement_slow; // 0x12d8 }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_DeepInvis : public CDOTA_Modifier_Invisible { public: - CHandle< CBaseEntity > m_hVisibleEntity; // 0x12c8 - ParticleIndex_t m_nFXIndex; // 0x12cc + CHandle< CBaseEntity > m_hVisibleEntity; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_DeepInvis_Visual : public CDOTA_Buff { public: @@ -36438,36 +36901,36 @@ public: }; // Alignment: 1 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Special_Ursa_Earthshock_Knockback : public CDOTA_Modifier_Knockback { public: - float value3; // 0x12e8 + float value3; // 0x12f8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Ursa_Overpower_Evasion : public CDOTA_Buff { public: - int32_t value2; // 0x12b8 + int32_t value2; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Ursa_Overpower_Taunt : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hZombieTarget; // 0x12b8 - bool m_bDidSetAttackTarget; // 0x12bc + CHandle< CBaseEntity > m_hZombieTarget; // 0x12c8 + bool m_bDidSetAttackTarget; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Ursa_Overpower_Taunt_Armor : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 0 @@ -36479,44 +36942,44 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Ursa_Enrage : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 - int32_t status_resistance; // 0x12bc + int32_t damage_reduction; // 0x12c8 + int32_t status_resistance; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Ursa_Enrage_Magic_Immunity : public CDOTA_Modifier_MagicImmune { public: - int32_t m_nModelScale; // 0x12b8 + int32_t m_nModelScale; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Ursa_Enrage_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x12b8 + Vector m_vOriginal; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Ursa_Enrage_Armor : public CDOTA_Buff { public: - int32_t value2; // 0x12b8 + int32_t value2; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Ursa_Enrage_AttackSpeed : public CDOTA_Buff { public: - int32_t value2; // 0x12b8 + int32_t value2; // 0x12c8 }; // Alignment: 0 @@ -36686,16 +37149,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Mars_Spear_Impale : public CDOTA_Buff { public: - int32_t m_nProjectileHandle; // 0x12b8 - bool m_bLatched; // 0x12bc + int32_t m_nProjectileHandle; // 0x12c8 + bool m_bLatched; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Mars_Spear_Stun : public CDOTA_Modifier_Stunned { public: @@ -36711,31 +37174,31 @@ public: }; // Alignment: 6 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Thinker : public CDOTA_Buff { public: - float radius; // 0x12b8 - float formation_time; // 0x12bc - float m_flInitialZ; // 0x12c0 - float m_flFinalZ; // 0x12c4 + float radius; // 0x12c8 + float formation_time; // 0x12cc + float m_flInitialZ; // 0x12d0 + float m_flFinalZ; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c8[0x10]; // 0x12c8 + [[maybe_unused]] uint8_t __pad12d8[0x10]; // 0x12d8 public: - bool m_bCaughtOne; // 0x12d8 - bool m_bKilledOne; // 0x12d9 + bool m_bCaughtOne; // 0x12e8 + bool m_bKilledOne; // 0x12e9 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_AnimationAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Animation : public CDOTA_Buff { public: @@ -36743,45 +37206,45 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_BuffAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Buff : public CDOTA_Buff { public: - int32_t health_regen; // 0x12b8 - int32_t attack_speed; // 0x12bc - int32_t bonus_damage; // 0x12c0 + int32_t health_regen; // 0x12c8 + int32_t attack_speed; // 0x12cc + int32_t bonus_damage; // 0x12d0 }; // Alignment: 7 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t width; // 0x12cc + int32_t spear_damage; // 0x12d0 + int32_t spear_distance_from_wall; // 0x12d4 + float spear_attack_interval; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x34]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x34]; // 0x12dc public: - int32_t m_hObstruction; // 0x1300 + int32_t m_hObstruction; // 0x1310 private: - [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 + [[maybe_unused]] uint8_t __pad1314[0x4]; // 0x1314 public: - CUtlVector< Vector > m_vecAvoidLocations; // 0x1308 + CUtlVector< Vector > m_vecAvoidLocations; // 0x1318 }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Spear : public CDOTA_Modifier_Knockback { public: @@ -36789,25 +37252,25 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x12b8 + Vector m_vOriginal; // 0x12c8 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Leash : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float width; // 0x12bc - Vector m_vOriginLoc; // 0x12c0 + int32_t radius; // 0x12c8 + float width; // 0x12cc + Vector m_vOriginLoc; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Marker : public CDOTA_Buff { public: @@ -36823,19 +37286,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Mars_Gods_Rebuke : public CDOTA_Buff { public: - int32_t knockback_slow; // 0x12b8 + int32_t knockback_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Mars_GodsRebuke_Crit : public CDOTA_Buff { public: - int32_t crit_mult; // 0x12b8 + int32_t crit_mult; // 0x12c8 }; // Alignment: 1 @@ -36855,53 +37318,53 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Mars_Bulwark : public CDOTA_Buff { public: - float physical_damage_reduction; // 0x12b8 - float physical_damage_reduction_side; // 0x12bc - float forward_angle; // 0x12c0 - float side_angle; // 0x12c4 + float physical_damage_reduction; // 0x12c8 + float physical_damage_reduction_side; // 0x12cc + float forward_angle; // 0x12d0 + float side_angle; // 0x12d4 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 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 redirect_chance; // 0x12c8 + int32_t redirect_range; // 0x12cc + float forward_angle; // 0x12d0 + float side_angle; // 0x12d4 + int32_t redirect_speed_penatly; // 0x12d8 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x12b8 - int32_t path_radius; // 0x12c4 - float linger_duration; // 0x12c8 - float flDamage; // 0x12cc + Vector m_vPathDir; // 0x12c8 + int32_t path_radius; // 0x12d4 + float linger_duration; // 0x12d8 + float flDamage; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x12b8 + float flDamage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Mars_Gods_Rebuke_Strength_Buff : public CDOTA_Buff { public: - int32_t strength_gain; // 0x12b8 + int32_t strength_gain; // 0x12c8 }; // Alignment: 0 @@ -37025,22 +37488,22 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Special_Mars_Bulwark_Spears : public CDOTA_Buff { public: - int32_t stack_limit; // 0x12b8 - float stack_interval; // 0x12bc - ParticleIndex_t m_nFxIndexB; // 0x12c0 - int32_t iCur_stack; // 0x12c4 + int32_t stack_limit; // 0x12c8 + float stack_interval; // 0x12cc + ParticleIndex_t m_nFxIndexB; // 0x12d0 + int32_t iCur_stack; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Mars_Bulwark_Soldier_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 0 @@ -37052,28 +37515,28 @@ public: }; // Alignment: 6 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_Weaver_Swarm : public CDOTA_Buff { public: - 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 + int32_t m_iMaxDist; // 0x12c8 + int32_t m_iAttackCount; // 0x12cc + int32_t destroy_attacks; // 0x12d0 + Vector m_vDirection; // 0x12d4 + Vector m_vStartLoc; // 0x12e0 + CHandle< CBaseEntity > m_hAttachTarget; // 0x12ec }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 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 + float armor_reduction; // 0x12c8 + int32_t damage; // 0x12cc + int32_t damage_share_percentage; // 0x12d0 + float m_flCurrentArmorReduction; // 0x12d4 + float flTotalDamage; // 0x12d8 }; // Alignment: 4 @@ -37088,23 +37551,23 @@ public: }; // Alignment: 7 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Aghsfort_Weaver_Shukuchi : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x12c8 - int32_t damage; // 0x12cc - int32_t speed; // 0x12d0 + int32_t radius; // 0x12d8 + int32_t damage; // 0x12dc + int32_t speed; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x12d8 - bool bHasStartedBurning; // 0x12f0 + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x12e8 + bool bHasStartedBurning; // 0x1300 private: - [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 + [[maybe_unused]] uint8_t __pad1301[0x3]; // 0x1301 public: - int32_t m_nBurningTrailRadius; // 0x12f4 - Vector m_vLastTrailThinkerLocation; // 0x12f8 + int32_t m_nBurningTrailRadius; // 0x1304 + Vector m_vLastTrailThinkerLocation; // 0x1308 }; // Alignment: 0 @@ -37116,20 +37579,20 @@ public: }; // Alignment: 2 -// Size: 0x1330 +// Size: 0x1340 class CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - int32_t m_iAttacksRemaining; // 0x12bc + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + int32_t m_iAttacksRemaining; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 1 @@ -37143,33 +37606,33 @@ public: }; // Alignment: 4 -// Size: 0x1398 +// Size: 0x13a8 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 + Vector m_PositionIndex[11]; // 0x12c8 + float m_flLife[11]; // 0x134c + float m_flMana[11]; // 0x1378 + bool m_bHasValidHistory; // 0x13a4 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 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 + Vector m_vPathDir; // 0x12c8 + int32_t path_radius; // 0x12d4 + float linger_duration; // 0x12d8 + float flDamage; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Weaver_Shukuchi_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x12b8 + float flDamage; // 0x12c8 }; // Alignment: 0 @@ -37333,28 +37796,28 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Viper_PoisonAttack : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 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 + float damage; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t magic_resistance; // 0x12d0 + float m_flAccumDamage; // 0x12d4 + float m_flPoisonSnapCounter; // 0x12d8 + int32_t m_nPoisonSnapThreshold; // 0x12dc }; // Alignment: 0 @@ -37390,28 +37853,28 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Viper_Nethertoxin_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Viper_Nethertoxin : public CDOTA_Buff { public: - int32_t min_damage; // 0x12b8 - int32_t max_damage; // 0x12bc - float max_duration; // 0x12c0 - float m_flDamageInterval; // 0x12c4 - float m_flTimeIncrement; // 0x12c8 + int32_t min_damage; // 0x12c8 + int32_t max_damage; // 0x12cc + float max_duration; // 0x12d0 + float m_flDamageInterval; // 0x12d4 + float m_flTimeIncrement; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Viper_NethertoxinMute : public CDOTA_Buff { public: @@ -37443,12 +37906,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Flying : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x12b8 - float duration; // 0x12bc + int32_t m_nRadius; // 0x12c8 + float duration; // 0x12cc }; // Alignment: 0 @@ -37460,7 +37923,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Aura : public CDOTA_Buff { public: @@ -37468,29 +37931,29 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin : public CDOTA_Buff { public: - int32_t bonus_magic_resistance; // 0x12b8 + int32_t bonus_magic_resistance; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Speed_Steal : public CDOTA_Buff { public: - float m_flFactor; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc + float m_flFactor; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Slow : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t damage; // 0x12bc + int32_t bonus_attack_speed; // 0x12c8 + int32_t damage; // 0x12cc }; // Alignment: 0 @@ -37536,28 +37999,28 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Viper_ViperStrike_Slow : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc - int32_t damage; // 0x12c0 - bool m_bTargetedAlly; // 0x12c4 + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t damage; // 0x12d0 + bool m_bTargetedAlly; // 0x12d4 }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_Special_Viper_Periodic_Strike : public CDOTA_Buff { public: - float fire_rate; // 0x12b8 - int32_t radius; // 0x12bc - int32_t m_nTargetTeam; // 0x12c0 + float fire_rate; // 0x12c8 + int32_t radius; // 0x12cc + int32_t m_nTargetTeam; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< CBaseEntity > > m_hAlreadyHit; // 0x12c8 + CUtlVector< CHandle< CBaseEntity > > m_hAlreadyHit; // 0x12d8 }; // Alignment: 0 @@ -37569,7 +38032,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Passive : public CDOTA_Buff { public: @@ -37595,74 +38058,74 @@ public: }; // Alignment: 11 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_Unit : public CDOTA_Buff { public: - Vector m_vFacingDir; // 0x12b8 + Vector m_vFacingDir; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< CBaseEntity > > m_hWatchPathThinkers; // 0x12c8 - ParticleIndex_t m_nBeamFXIndex; // 0x12e0 + CUtlVector< CHandle< CBaseEntity > > m_hWatchPathThinkers; // 0x12d8 + ParticleIndex_t m_nBeamFXIndex; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - 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 + CUtlVector< int32 > m_nViewerIDs; // 0x12f8 + int32_t remnant_watch_distance; // 0x1310 + int32_t remnant_watch_radius; // 0x1314 + float duration; // 0x1318 + int32_t watch_path_vision_radius; // 0x131c + int32_t impact_damage; // 0x1320 + float pull_duration; // 0x1324 + float activation_delay; // 0x1328 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_WatchThinker : public CDOTA_Buff { public: - int32_t remnant_watch_radius; // 0x12b8 + int32_t remnant_watch_radius; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_Pull : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - PlayerID_t m_nPlayerID; // 0x12bc - float m_fMovementSpeed; // 0x12c0 - CHandle< CDOTA_BaseNPC > m_hPullTarget; // 0x12c4 - float think_interval; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12c8 + PlayerID_t m_nPlayerID; // 0x12cc + float m_fMovementSpeed; // 0x12d0 + CHandle< CDOTA_BaseNPC > m_hPullTarget; // 0x12d4 + float think_interval; // 0x12d8 }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnantThinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - Vector m_vFacingDir; // 0x12bc - CHandle< CBaseEntity > m_hRemnant; // 0x12c8 - bool m_bTriggered; // 0x12cc + int32_t radius; // 0x12c8 + Vector m_vFacingDir; // 0x12cc + CHandle< CBaseEntity > m_hRemnant; // 0x12d8 + bool m_bTriggered; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - float m_flCurThink; // 0x12d0 + float m_flCurThink; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x12b8 + int32_t m_nRadius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -37687,21 +38150,21 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x12b8 - int32_t movement_slow_pct; // 0x12bc - int32_t pop_damage; // 0x12c0 + ParticleIndex_t m_nFXStackIndex; // 0x12c8 + int32_t movement_slow_pct; // 0x12cc + int32_t pop_damage; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Caster : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 2 @@ -37714,39 +38177,39 @@ public: }; // Alignment: 19 -// Size: 0x1358 +// Size: 0x1368 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Phase : public CDOTA_Buff { public: - Vector m_vFirstPortalPos; // 0x12b8 + Vector m_vFirstPortalPos; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - 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 + CUtlVector< Vector > m_vecDestinations; // 0x12d8 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x12f0 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1308 + int32_t m_nCurrentDestinationIndex; // 0x1320 + int32_t m_nClosestIndexPosToClick; // 0x1324 + int32_t m_nPortalHeightOffset; // 0x1328 private: - [[maybe_unused]] uint8_t __pad131c[0x4]; // 0x131c + [[maybe_unused]] uint8_t __pad132c[0x4]; // 0x132c public: - 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 + char* m_szAlliesPortalFX; // 0x1330 + char* m_szEnemiesPortalFX; // 0x1338 + int32_t m_nPortalRadius; // 0x1340 + int32_t m_nPortalPadding; // 0x1344 + int32_t m_nFinalImpactDamageRadius; // 0x1348 + int32_t m_nFinalImpactFXRadius; // 0x134c + int32_t destination_fx_radius; // 0x1350 + int32_t damage_radius; // 0x1354 + int32_t portals_per_ring; // 0x1358 + int32_t angle_per_ring_portal; // 0x135c + int32_t first_ring_distance_offset; // 0x1360 + float debuff_duration; // 0x1364 }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: @@ -37754,12 +38217,12 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: - int32_t base_absorb_amount; // 0x12b8 - int32_t m_nAbsorbRemaining; // 0x12bc + int32_t base_absorb_amount; // 0x12c8 + int32_t m_nAbsorbRemaining; // 0x12cc }; // Alignment: 5 @@ -37778,18 +38241,18 @@ public: }; // Alignment: 8 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_Ring : public CDOTA_Buff { public: - 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 + float m_fLastRadius; // 0x12c8 + float m_fCurRadius; // 0x12cc + GameTime_t m_fLastThink; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12d8 + int32_t speed; // 0x12f0 + int32_t radius; // 0x12f4 + int32_t damage; // 0x12f8 }; // Alignment: 0 @@ -37801,19 +38264,19 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float duration; // 0x12bc - float damage_delay; // 0x12c0 - int32_t m_nShrapnelPct; // 0x12c4 - bool m_bExploded; // 0x12c8 + int32_t radius; // 0x12c8 + float duration; // 0x12cc + float damage_delay; // 0x12d0 + int32_t m_nShrapnelPct; // 0x12d4 + bool m_bExploded; // 0x12d8 }; // Alignment: 0 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Thinker : public CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Thinker { public: @@ -37821,18 +38284,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Slow : public CDOTA_Buff { public: - float m_fAccumulatedDamage; // 0x12b8 - int32_t shrapnel_damage; // 0x12bc - int32_t slow_movement_speed; // 0x12c0 - int32_t miss_chance; // 0x12c4 + float m_fAccumulatedDamage; // 0x12c8 + int32_t shrapnel_damage; // 0x12cc + int32_t slow_movement_speed; // 0x12d0 + int32_t miss_chance; // 0x12d4 }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Slow : public CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Slow { public: @@ -37840,17 +38303,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed : public CDOTA_Buff { public: - int32_t value; // 0x12b8 - float value2; // 0x12bc - int32_t m_nAttackSpeedBonus; // 0x12c0 + int32_t value; // 0x12c8 + float value2; // 0x12cc + int32_t m_nAttackSpeedBonus; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed_Decrementer : public CDOTA_Buff { public: @@ -37866,25 +38329,25 @@ public: }; // Alignment: 8 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_AghsFort_Sniper_Headshot : public CDOTA_Buff { public: - int32_t proc_chance; // 0x12b8 - float slow_duration; // 0x12bc - int32_t damage; // 0x12c0 - int32_t knockback_distance; // 0x12c4 - GameTime_t m_fLastStunProcTime; // 0x12c8 + int32_t proc_chance; // 0x12c8 + float slow_duration; // 0x12cc + int32_t damage; // 0x12d0 + int32_t knockback_distance; // 0x12d4 + GameTime_t m_fLastStunProcTime; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlVector< int16 > m_vHeadshotRecords; // 0x12d0 - CUtlVector< int16 > m_vHeadshotAssassinateRecords; // 0x12e8 - int32_t m_nCritPct; // 0x1300 + CUtlVector< int16 > m_vHeadshotRecords; // 0x12e0 + CUtlVector< int16 > m_vHeadshotAssassinateRecords; // 0x12f8 + int32_t m_nCritPct; // 0x1310 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Sniper_Shotgun : public CDOTA_Buff { public: @@ -37892,12 +38355,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Sniper_Headshot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 - int32_t slow_vs_considered_hero; // 0x12bc + int32_t slow; // 0x12c8 + int32_t slow_vs_considered_hero; // 0x12cc }; // Alignment: 0 @@ -37909,48 +38372,48 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Sniper_TakeAim : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x12b8 - int32_t active_attack_range_multiplier; // 0x12bc + int32_t bonus_attack_range; // 0x12c8 + int32_t active_attack_range_multiplier; // 0x12cc }; // Alignment: 5 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_Bonus : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 - int32_t m_nAttackSpeedPerAttack; // 0x12bc - int32_t m_nShrapnelPct; // 0x12c0 - bool m_bNoCollision; // 0x12c4 + int32_t slow; // 0x12c8 + int32_t m_nAttackSpeedPerAttack; // 0x12cc + int32_t m_nShrapnelPct; // 0x12d0 + bool m_bNoCollision; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - CUtlVector< CHandle< CBaseEntity > > m_vecArtilleryEnemies; // 0x12c8 + CUtlVector< CHandle< CBaseEntity > > m_vecArtilleryEnemies; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_ArmorReduction : public CDOTA_Buff { public: - int32_t value2; // 0x12b8 + int32_t value2; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_RapidFire : public CDOTA_Buff { public: - int32_t value2; // 0x12b8 - int32_t value3; // 0x12bc + int32_t value2; // 0x12c8 + int32_t value3; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_AOE_Marked : public CDOTA_Buff { public: @@ -37958,24 +38421,24 @@ public: }; // Alignment: 11 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_HopBackwards : public CDOTA_Buff { public: - 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 + Vector m_vLoc; // 0x12c8 + float m_flPredictedTotalTime; // 0x12d4 + Vector m_vStartPosition; // 0x12d8 + float m_flCurrentTimeHoriz; // 0x12e4 + float m_flCurrentTimeVert; // 0x12e8 + bool m_bHorizontalMotionInterrupted; // 0x12ec + bool m_bDamageApplied; // 0x12ed + bool m_bTargetTeleported; // 0x12ee private: - [[maybe_unused]] uint8_t __pad12df[0x1]; // 0x12df + [[maybe_unused]] uint8_t __pad12ef[0x1]; // 0x12ef public: - Vector m_vHorizontalVelocity; // 0x12e0 - Vector m_vLastKnownTargetPosition; // 0x12ec - float m_flInitialVelocityZ; // 0x12f8 + Vector m_vHorizontalVelocity; // 0x12f0 + Vector m_vLastKnownTargetPosition; // 0x12fc + float m_flInitialVelocityZ; // 0x1308 }; // Alignment: 9 @@ -38000,7 +38463,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Sniper_Assassinate : public CDOTA_Buff { public: @@ -38008,7 +38471,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_Sniper_Assassinate_Killshot : public CDOTA_Buff { public: @@ -38160,11 +38623,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Sniper_Concussive_Grenade : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 0 @@ -38184,11 +38647,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Sniper_Headshot_ArmorReduction : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x12b8 + int32_t armor_reduction; // 0x12c8 }; // Alignment: 0 @@ -38200,15 +38663,15 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_StoneThinker : public CDOTA_Buff { public: - bool m_bHasBeenMagnetized; // 0x12b8 + bool m_bHasBeenMagnetized; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - ParticleIndex_t m_nFXIndex; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 12 @@ -38237,15 +38700,15 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash : public CDOTA_Buff { public: - bool m_bInterrupted; // 0x12b8 + bool m_bInterrupted; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t m_nProjectileID; // 0x12bc + int32_t m_nProjectileID; // 0x12cc }; // Alignment: 15 @@ -38276,7 +38739,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_RollingBoulder_Caster : public CDOTA_Buff { public: @@ -38284,15 +38747,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash_Debuff : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 + int32_t move_slow; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeogmagneticGrip_Debuff : public CDOTA_Modifier_Silence { public: @@ -38308,35 +38771,35 @@ public: }; // Alignment: 10 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeomagneticGrip : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t rock_damage; // 0x12cc + float pull_units_per_second; // 0x12d0 + float pull_units_per_second_heroes; // 0x12d4 + float total_pull_distance; // 0x12d8 + float duration; // 0x12dc + bool m_bUsedStone; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - Vector m_vDestination; // 0x12d4 - Vector m_vLocation; // 0x12e0 + Vector m_vDestination; // 0x12e4 + Vector m_vLocation; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec + [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12f0 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1300 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_Petrify : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - bool m_bHasBeenMagnetized; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c8 + bool m_bHasBeenMagnetized; // 0x12cc }; // Alignment: 3 @@ -38350,23 +38813,23 @@ public: }; // Alignment: 10 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_Magnetize : public CDOTA_Buff { public: - 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 + int32_t rock_search_radius; // 0x12c8 + int32_t damage_per_second; // 0x12cc + float damage_interval; // 0x12d0 + float rock_explosion_delay; // 0x12d4 + float damage_duration; // 0x12d8 + int32_t cast_radius; // 0x12dc + int32_t rock_explosion_radius; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< CBaseEntity > > m_hExplodedRocks; // 0x12d8 - float duration; // 0x12f0 - bool m_bShowOverhead; // 0x12f4 + CUtlVector< CHandle< CBaseEntity > > m_hExplodedRocks; // 0x12e8 + float duration; // 0x1300 + bool m_bShowOverhead; // 0x1304 }; // Alignment: 0 @@ -38402,11 +38865,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Cooldown_Reduction : public CDOTA_Buff { public: - float cooldown_reduction_per_hit; // 0x12b8 + float cooldown_reduction_per_hit; // 0x12c8 }; // Alignment: 0 @@ -38426,7 +38889,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Multicast : public CDOTA_Buff { public: @@ -38442,24 +38905,24 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: - 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 + int32_t move_speed_bonus; // 0x12c8 + int32_t attack_speed_bonus; // 0x12cc + float damage_interval; // 0x12d0 + int32_t attack_damage_pct; // 0x12d4 + int32_t death_heal; // 0x12d8 + bool bIsAllied; // 0x12dc }; // Alignment: 0 @@ -38471,14 +38934,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Omniknight_Repel : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 - float hp_regen; // 0x12bc - int32_t bonus_str; // 0x12c0 - int32_t damage_increase_outgoing_pct; // 0x12c4 + int32_t damage_reduction; // 0x12c8 + float hp_regen; // 0x12cc + int32_t bonus_str; // 0x12d0 + int32_t damage_increase_outgoing_pct; // 0x12d4 }; // Alignment: 0 @@ -38490,15 +38953,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Omniknight_GuardianAngel : public CDOTA_Buff { public: - 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 + int32_t hp_regen; // 0x12c8 + int32_t magic_resistance; // 0x12cc + int32_t purification_trigger_chance; // 0x12d0 + float purification_trigger_cooldown; // 0x12d4 + GameTime_t m_fLastProc; // 0x12d8 }; // Alignment: 0 @@ -38534,11 +38997,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Omniknight_Repel_Damage_Instance_Refraction : public CDOTA_Buff { public: - int32_t damage_threshold; // 0x12b8 + int32_t damage_threshold; // 0x12c8 }; // Alignment: 0 @@ -38598,7 +39061,7 @@ public: }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Omniknight_Repel_Knockback : public CDOTA_Modifier_Knockback { public: @@ -38614,7 +39077,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_Omniknight_Guardian_Angel_Single_Target_Dummy : public CDOTA_Buff { public: @@ -38632,12 +39095,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_WitchDoctor_Cask_Thinker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - int32_t remaining_bounces; // 0x12bc + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + int32_t remaining_bounces; // 0x12cc }; // Alignment: 0 @@ -38649,7 +39112,7 @@ public: }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Aura : public CDOTA_Buff { public: @@ -38657,15 +39120,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Heal : public CDOTA_Buff { public: - int32_t heal; // 0x12b8 - float mana_per_second; // 0x12bc - float heal_interval; // 0x12c0 - int32_t lifesteal_percent; // 0x12c4 - int32_t spell_lifesteal_pct; // 0x12c8 + int32_t heal; // 0x12c8 + float mana_per_second; // 0x12cc + float heal_interval; // 0x12d0 + int32_t lifesteal_percent; // 0x12d4 + int32_t spell_lifesteal_pct; // 0x12d8 }; // Alignment: 0 @@ -38677,7 +39140,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_WitchDoctor_MaledictDoT : public CDOTA_Buff { public: @@ -38685,16 +39148,16 @@ public: }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_WitchDoctor_Maledict : public CDOTA_Buff { public: - 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 + int32_t m_iStartHealth; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t bonus_damage_threshold; // 0x12d0 + int32_t max_bonus_damage; // 0x12d4 + int32_t ticks; // 0x12d8 + int32_t iCurrentTick; // 0x12dc }; // Alignment: 9 @@ -38714,18 +39177,18 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_WitchDoctor_DeathWard : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t m_iBounceRadius; // 0x12bc - bool m_bFirstAttack; // 0x12c0 + int32_t bonus_damage; // 0x12c8 + int32_t m_iBounceRadius; // 0x12cc + bool m_bFirstAttack; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t m_iBounces; // 0x12c4 - ParticleIndex_t m_nStaffParticle; // 0x12c8 + int32_t m_iBounces; // 0x12d4 + ParticleIndex_t m_nStaffParticle; // 0x12d8 }; // Alignment: 0 @@ -38865,21 +39328,21 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Special_WitchDoctor_ParalyzingCask_Attack_Procs : public CDOTA_Buff { public: - int32_t cask_chance; // 0x12b8 - int32_t cask_cooldown; // 0x12bc - GameTime_t flLastProcTime; // 0x12c0 + int32_t cask_chance; // 0x12c8 + int32_t cask_cooldown; // 0x12cc + GameTime_t flLastProcTime; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_WitchDoctor_DeathWard_Damage_Resist : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 + int32_t damage_reduction; // 0x12c8 }; // Alignment: 9 @@ -38899,7 +39362,7 @@ public: }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Aghsfort_Modifier_WitchDoctor_ForceKill : public CDOTA_Modifier_Invisible { public: @@ -38907,7 +39370,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_Witch_Doctor_Death_Ward_No_Channel : public CDOTA_Buff { public: @@ -38915,13 +39378,13 @@ public: }; // Alignment: 3 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_Special_Witch_Doctor_Death_Ward_Splitshot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x12b8 - int32_t split_shot_bonus_range; // 0x12bc - int32_t split_shot_count; // 0x12c0 + int32_t damage_modifier; // 0x12c8 + int32_t split_shot_bonus_range; // 0x12cc + int32_t split_shot_count; // 0x12d0 }; // Alignment: 0 @@ -38941,20 +39404,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionDamage : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionAbsorb : public CDOTA_Buff { public: - int32_t damage_threshold; // 0x12b8 - int32_t max_damage_absorb; // 0x12bc + int32_t damage_threshold; // 0x12c8 + int32_t max_damage_absorb; // 0x12cc }; // Alignment: 0 @@ -38966,32 +39429,32 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld_Animation : public CDOTA_Buff { public: - bool launched_attack; // 0x12b8 + bool launched_attack; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - bool launched_attack; // 0x12bc + int32_t bonus_damage; // 0x12c8 + bool launched_attack; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - CHandle< CBaseEntity > m_hTarget; // 0x12c0 + CHandle< CBaseEntity > m_hTarget; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_MeldArmor : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 0 @@ -39003,45 +39466,45 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades : public CDOTA_Buff { public: - 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 + int32_t bonus_attack_range; // 0x12c8 + float attack_spill_range; // 0x12cc + int32_t attack_spill_width; // 0x12d0 + int32_t attack_spill_pct; // 0x12d4 + int32_t attack_spill_penalty; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades_Slow : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Psionic_Trap_Thinker : public CDOTA_Buff { public: - 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 + int32_t trap_radius; // 0x12c8 + float trap_delay_time; // 0x12cc + float slow_duration; // 0x12d0 + int32_t max_pulses; // 0x12d4 + int32_t iCurrentPulse; // 0x12d8 + CHandle< CBaseEntity > m_hImage; // 0x12dc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Trap_Slow : public CDOTA_Buff { public: - int32_t movement_speed_slow; // 0x12b8 - int32_t trap_damage; // 0x12bc + int32_t movement_speed_slow; // 0x12c8 + int32_t trap_damage; // 0x12cc }; // Alignment: 0 @@ -39053,13 +39516,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Refraction_Holdout : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t damage_absorb; // 0x12bc - float m_flDamageAbsorbed; // 0x12c0 + int32_t bonus_damage; // 0x12c8 + int32_t damage_absorb; // 0x12cc + float m_flDamageAbsorbed; // 0x12d0 }; // Alignment: 0 @@ -39167,17 +39630,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Special_Templar_Assassin_PsiBlades_AutoAttack : public CDOTA_Buff { public: - float fire_rate; // 0x12b8 - int32_t radius; // 0x12bc - int32_t m_iAttackRecord; // 0x12c0 + float fire_rate; // 0x12c8 + int32_t radius; // 0x12cc + int32_t m_iAttackRecord; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_Templar_Assassin_Trap_Illusion : public CDOTA_Buff { public: @@ -39193,7 +39656,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Slark_DarkPact : public CDOTA_Buff { public: @@ -39201,17 +39664,17 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Slark_DarkPact_Pulses : public CDOTA_Buff { public: - 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 + int32_t m_iPulseCount; // 0x12c8 + int32_t radius; // 0x12cc + float total_damage; // 0x12d0 + int32_t total_pulses; // 0x12d4 + int32_t heal_pct; // 0x12d8 + float pulse_interval; // 0x12dc + bool bIsBaseAbility; // 0x12e0 }; // Alignment: 0 @@ -39223,55 +39686,55 @@ public: }; // Alignment: 16 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_Aghsfort_Slark_Pounce : public CDOTA_Buff { public: - 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 + float m_flTotalTime; // 0x12c8 + float m_flInitialVelocity; // 0x12cc + Vector m_vStartPosition; // 0x12d0 + Vector m_vTargetHorizontalDirection; // 0x12dc + float m_flCurrentTimeHoriz; // 0x12e8 + float m_flCurrentTimeVert; // 0x12ec + bool m_bInterrupted; // 0x12f0 + bool m_bFoundUnit; // 0x12f1 private: - [[maybe_unused]] uint8_t __pad12e2[0x6]; // 0x12e2 + [[maybe_unused]] uint8_t __pad12f2[0x6]; // 0x12f2 public: - 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 + CUtlVector< CHandle< CBaseEntity > > hitEntities; // 0x12f8 + int32_t pounce_distance; // 0x1310 + int32_t pounce_distance_default; // 0x1314 + float pounce_speed; // 0x1318 + float pounce_acceleration; // 0x131c + int32_t pounce_radius; // 0x1320 + int32_t pounce_damage; // 0x1324 + float leash_duration; // 0x1328 }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_Slark_Pounce_Leash : public CDOTA_Buff { public: - int32_t leash_radius; // 0x12b8 - Vector vLeashLocation; // 0x12bc - bool m_bEscaped; // 0x12c8 + int32_t leash_radius; // 0x12c8 + Vector vLeashLocation; // 0x12cc + bool m_bEscaped; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - float pounce_damage_multiplier; // 0x12cc - int32_t pounce_damage; // 0x12d0 + float pounce_damage_multiplier; // 0x12dc + int32_t pounce_damage; // 0x12e0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Counter : public CDOTA_Buff { public: - int32_t max_stacks; // 0x12b8 - int32_t passive_agility; // 0x12bc - GameTime_t flLastProcTime; // 0x12c0 - float debuff_duration; // 0x12c4 + int32_t max_stacks; // 0x12c8 + int32_t passive_agility; // 0x12cc + GameTime_t flLastProcTime; // 0x12d0 + float debuff_duration; // 0x12d4 }; // Alignment: 0 @@ -39283,21 +39746,21 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Active : public CDOTA_Buff { public: - int32_t agi_gain; // 0x12b8 - int32_t iPrimaryAttribute; // 0x12bc - float model_scale; // 0x12c0 + int32_t agi_gain; // 0x12c8 + int32_t iPrimaryAttribute; // 0x12cc + float model_scale; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Slark_Essence_Shift_Debuff : public CDOTA_Buff { public: - int32_t reduction; // 0x12b8 + int32_t reduction; // 0x12c8 }; // Alignment: 0 @@ -39309,38 +39772,38 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Aura : public CDOTA_Buff { public: - int32_t scepter_aoe; // 0x12b8 + int32_t scepter_aoe; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_PassiveRegen : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t bonus_regen_pct; // 0x12bc + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_regen_pct; // 0x12cc }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance : public CDOTA_Modifier_Invisible { public: - CHandle< CBaseEntity > m_hVisibleEntity; // 0x12c8 - ParticleIndex_t m_nFXIndex; // 0x12cc - GameTime_t flLastPulseTime; // 0x12d0 + CHandle< CBaseEntity > m_hVisibleEntity; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc + GameTime_t flLastPulseTime; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Visual : public CDOTA_Buff { public: - bool m_bScepter; // 0x12b8 + bool m_bScepter; // 0x12c8 }; // Alignment: 0 @@ -39448,24 +39911,24 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Leashed_Bonus : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x12b8 + int32_t attack_speed_bonus; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Special_Slark_Shadow_Dance_Leash : public CDOTA_Buff { public: - Vector m_vPullLocation; // 0x12b8 - float pull_speed; // 0x12c4 + Vector m_vPullLocation; // 0x12c8 + float pull_speed; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Projectiles : public CDOTA_Buff { public: @@ -39493,19 +39956,19 @@ public: }; // Alignment: 6 -// Size: 0x12e8 +// Size: 0x12f8 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 + int32_t duration_damage; // 0x12c8 + int32_t duration_heal; // 0x12cc + int32_t movement_slow; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CountdownTimer m_SlowInterval; // 0x12c8 - float m_flSlowStep; // 0x12e0 - float m_flSlowStepStep; // 0x12e4 + CountdownTimer m_SlowInterval; // 0x12d8 + float m_flSlowStep; // 0x12f0 + float m_flSlowStepStep; // 0x12f4 }; // Alignment: 1 @@ -39517,11 +39980,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_QueenOfPain_Blink_AttackSpeed : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12c8 }; // Alignment: 9 @@ -39544,29 +40007,29 @@ public: }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Thinker : public CDOTA_Buff { public: - 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 + Vector m_vPathDir; // 0x12c8 + int32_t m_nRadius; // 0x12d4 + ParticleIndex_t m_nTrailFX; // 0x12d8 + float linger_duration; // 0x12dc + float flDamage; // 0x12e0 + float damage_pct; // 0x12e4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x12b8 - float burn_interval; // 0x12bc + float flDamage; // 0x12c8 + float burn_interval; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_ShadowStrike_On_Attack : public CDOTA_Buff { public: @@ -39678,7 +40141,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_QueenOfPain_Blink_Scream_Thinker : public CDOTA_Buff { public: @@ -39686,7 +40149,7 @@ public: }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_QueenOfPain_Scream_Knockback : public CDOTA_Modifier_Knockback { public: @@ -39694,12 +40157,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_SonicWave_AttackBuff : public CDOTA_Buff { public: - int32_t spell_amp; // 0x12b8 - int32_t bonus_damage; // 0x12bc + int32_t spell_amp; // 0x12c8 + int32_t bonus_damage; // 0x12cc }; // Alignment: 0 @@ -39732,14 +40195,14 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_TuskBoss_IceShard : public CDOTA_Buff { public: - Vector m_vPos; // 0x12b8 - int32_t radius; // 0x12c4 - float damage; // 0x12c8 - float explosion_interval; // 0x12cc + Vector m_vPos; // 0x12c8 + int32_t radius; // 0x12d4 + float damage; // 0x12d8 + float explosion_interval; // 0x12dc }; // Alignment: 20 @@ -39781,7 +40244,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Target : public CDOTA_Buff { public: @@ -39797,7 +40260,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Visible : public CDOTA_Buff { public: @@ -39805,7 +40268,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement : public CDOTA_Buff { public: @@ -39813,7 +40276,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement_Friendly : public CDOTA_Buff { public: @@ -39829,54 +40292,54 @@ public: }; // Alignment: 10 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch : public CDOTA_Buff { public: - int32_t crit_multiplier; // 0x12b8 - float air_time; // 0x12bc - float slow_duration; // 0x12c0 + int32_t crit_multiplier; // 0x12c8 + float air_time; // 0x12cc + float slow_duration; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12c8 - CHandle< CBaseEntity > m_hTarget; // 0x12d0 - bool m_bWalrusPunch; // 0x12d4 - bool m_bPunchKill; // 0x12d5 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12d8 + CHandle< CBaseEntity > m_hTarget; // 0x12e0 + bool m_bWalrusPunch; // 0x12e4 + bool m_bPunchKill; // 0x12e5 private: - [[maybe_unused]] uint8_t __pad12d6[0x2]; // 0x12d6 + [[maybe_unused]] uint8_t __pad12e6[0x2]; // 0x12e6 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 - ParticleIndex_t m_nFXIndex; // 0x12f0 - int32_t m_nAttackRecord; // 0x12f4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e8 + ParticleIndex_t m_nFXIndex; // 0x1300 + int32_t m_nAttackRecord; // 0x1304 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 + int32_t move_slow; // 0x12c8 }; // Alignment: 13 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_AirTime : public CDOTA_Buff { public: - 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 + int32_t hp_threshold; // 0x12c8 + float m_flStartZ; // 0x12cc + float m_flCurTime; // 0x12d0 + float m_flOldPitch; // 0x12d4 + QAngle m_qRotation; // 0x12d8 + int32_t m_nRotations; // 0x12e4 + Vector m_vDirection; // 0x12e8 + float flAirTime; // 0x12f4 + float m_flEndTime; // 0x12f8 + float m_fHorizontalDistance; // 0x12fc + float m_fVerticalDistance; // 0x1300 + float m_fDamage; // 0x1304 + Vector m_vLandingPos; // 0x1308 }; // Alignment: 0 @@ -39888,28 +40351,28 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - float slow_duration; // 0x12bc + int32_t bonus_damage; // 0x12c8 + float slow_duration; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 0 @@ -40017,7 +40480,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_TuskBoss_Ice_Shards_Explode_Dummy : public CDOTA_Buff { public: @@ -40025,15 +40488,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float health_threshold_pct; // 0x12bc - float duration; // 0x12c0 - CHandle< CDOTABaseAbility > m_hTombstoneSourceAbility; // 0x12c4 - CHandle< CBaseEntity > m_hChaseUnit; // 0x12c8 + int32_t radius; // 0x12c8 + float health_threshold_pct; // 0x12cc + float duration; // 0x12d0 + CHandle< CDOTABaseAbility > m_hTombstoneSourceAbility; // 0x12d4 + CHandle< CBaseEntity > m_hChaseUnit; // 0x12d8 }; // Alignment: 3 @@ -40047,42 +40510,42 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_HP : public CDOTA_Buff { public: - int32_t tombstone_health; // 0x12b8 - int32_t bonus_health; // 0x12bc + int32_t tombstone_health; // 0x12c8 + int32_t bonus_health; // 0x12cc }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Aura : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + float zombie_interval; // 0x12cc + int32_t spawn_at_parent; // 0x12d0 + int32_t remove_on_death; // 0x12d4 + float knockback_duration; // 0x12d8 + int32_t knockback_distance; // 0x12dc + int32_t knockback_height; // 0x12e0 + int32_t spawn_distance; // 0x12e4 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hLoadedUnit; // 0x12b8 - float heal_percent_per_tick; // 0x12bc - int32_t tombstone_grab_radius; // 0x12c0 - ParticleIndex_t m_nBunkerEnterFXIndex; // 0x12c4 + CHandle< CBaseEntity > m_hLoadedUnit; // 0x12c8 + float heal_percent_per_tick; // 0x12cc + int32_t tombstone_grab_radius; // 0x12d0 + ParticleIndex_t m_nBunkerEnterFXIndex; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker_Friendly : public CDOTA_Buff { public: @@ -40090,13 +40553,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Undying_Decay_BuffCounter : public CDOTA_Buff { public: - float m_fStrengthStolen; // 0x12b8 - float model_scale_per_strength; // 0x12bc - float model_scale_max; // 0x12c0 + float m_fStrengthStolen; // 0x12c8 + float model_scale_per_strength; // 0x12cc + float model_scale_max; // 0x12d0 }; // Alignment: 6 @@ -40113,28 +40576,28 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Undying_Decay_Thinker : public CDOTA_Buff { public: - 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 + int32_t m_iCount; // 0x12c8 + float interval; // 0x12cc + int32_t extra_decays; // 0x12d0 + int32_t radius; // 0x12d4 + int32_t decay_strength_percent; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Undying_Decay_Buff : public CDOTA_Buff { public: - float str_stolen; // 0x12b8 + float str_stolen; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Undying_Decay_On_Attack : public CDOTA_Buff { public: @@ -40154,39 +40617,39 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Undying_SoulRipWard : public CDOTA_Buff { public: - int32_t ward_radius; // 0x12b8 - int32_t explosion_damage; // 0x12bc - float taunt_interval; // 0x12c0 + int32_t ward_radius; // 0x12c8 + int32_t explosion_damage; // 0x12cc + float taunt_interval; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Undying_SoulRip_Share_Strength : public CDOTA_Buff { public: - float str_gain; // 0x12b8 - int32_t model_scale; // 0x12bc + float str_gain; // 0x12c8 + int32_t model_scale; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 - float m_flDecrementTime; // 0x12bc + int32_t slow; // 0x12c8 + float m_flDecrementTime; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow_Counter : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 0 @@ -40198,16 +40661,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathlust : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc + int32_t bonus_move_speed; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Modifier : public CDOTA_Buff { public: @@ -40215,7 +40678,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Undying_Exploding_Zombie : public CDOTA_Buff { public: @@ -40223,7 +40686,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Undying_ConsumeZombies_Counter : public CDOTA_Buff { public: @@ -40239,12 +40702,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Undying_ConsumeZombies_Buff : public CDOTA_Buff { public: - int32_t bonus_move_speed_per_stack; // 0x12b8 - int32_t bonus_attack_speed_per_stack; // 0x12bc + int32_t bonus_move_speed_per_stack; // 0x12c8 + int32_t bonus_attack_speed_per_stack; // 0x12cc }; // Alignment: 0 @@ -40256,35 +40719,35 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Undying_FleshGolem : public CDOTA_Buff { public: - int32_t str_percentage; // 0x12b8 - int32_t movement_bonus; // 0x12bc + int32_t str_percentage; // 0x12c8 + int32_t movement_bonus; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Undying_FleshGolem_Slow : public CDOTA_Buff { public: - int32_t damage_amp; // 0x12b8 - int32_t slow; // 0x12bc + int32_t damage_amp; // 0x12c8 + int32_t slow; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Undying_FleshGolem_PlagueAura : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 - int32_t damage; // 0x12bc - float tick_rate; // 0x12c0 + int32_t slow; // 0x12c8 + int32_t damage; // 0x12cc + float tick_rate; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Death_Trigger : public CDOTA_Buff { public: @@ -40404,7 +40867,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Special_Undying_ConsumeZombies_Dummy : public CDOTA_Buff { public: @@ -40435,40 +40898,40 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Lina_DragonSlave_Ignite : public CDOTA_Buff { public: - float burn_interval; // 0x12b8 - float burn_damage; // 0x12bc - int32_t mana_restore; // 0x12c0 + float burn_interval; // 0x12c8 + float burn_damage; // 0x12cc + int32_t mana_restore; // 0x12d0 }; // Alignment: 11 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_Lina_LightStrikeArray_Thinker : public CDOTA_Buff { public: - 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 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + int32_t m_iDamage; // 0x12e0 + float m_flStunDuration; // 0x12e4 + int32_t light_strike_array_damage; // 0x12e8 + float light_strike_array_stun_duration; // 0x12ec + float light_strike_array_delay; // 0x12f0 + int32_t m_nLSARadius; // 0x12f4 + int32_t m_nCount; // 0x12f8 + int32_t max_count; // 0x12fc + int32_t iPower; // 0x1300 + float pulse_interval; // 0x1304 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Special_Lina_Light_Strike_Array_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x12b8 - Vector vPullLocation; // 0x12bc + float pull_speed; // 0x12c8 + Vector vPullLocation; // 0x12cc }; // Alignment: 1 @@ -40480,36 +40943,36 @@ public: }; // Alignment: 7 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Lina_FierySoul_Active : public CDOTA_Buff { public: - int32_t attack_range_per_stack; // 0x12b8 - bool m_bShouldReset; // 0x12bc - bool m_bIsActive; // 0x12bd + int32_t attack_range_per_stack; // 0x12c8 + bool m_bShouldReset; // 0x12cc + bool m_bIsActive; // 0x12cd private: - [[maybe_unused]] uint8_t __pad12be[0x2]; // 0x12be + [[maybe_unused]] uint8_t __pad12ce[0x2]; // 0x12ce public: - int32_t fiery_soul_attack_speed_bonus; // 0x12c0 - float fiery_soul_move_speed_bonus; // 0x12c4 - ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t fiery_soul_attack_speed_bonus; // 0x12d0 + float fiery_soul_move_speed_bonus; // 0x12d4 + ParticleIndex_t m_nFXIndex; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Lina_FierySoul : public CDOTA_Buff { public: - 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 + int32_t fiery_soul_attack_speed_bonus; // 0x12c8 + float fiery_soul_move_speed_bonus; // 0x12cc + int32_t fiery_soul_max_stacks; // 0x12d0 + float fiery_soul_stack_duration; // 0x12d4 + ParticleIndex_t m_nFXIndex; // 0x12d8 + GameTime_t m_flFierySoulDieTime; // 0x12dc }; // Alignment: 2 @@ -40522,18 +40985,18 @@ public: }; // Alignment: 4 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Lina_LagunaBlade_Line : public CDOTA_Buff { public: - Vector vStart; // 0x12b8 - Vector vEnd; // 0x12c4 - float damage_delay; // 0x12d0 - CHandle< CBaseEntity > m_hMainTarget; // 0x12d4 + Vector vStart; // 0x12c8 + Vector vEnd; // 0x12d4 + float damage_delay; // 0x12e0 + CHandle< CBaseEntity > m_hMainTarget; // 0x12e4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Lina_LagunaBlade : public CDOTA_Buff { public: @@ -40669,55 +41132,55 @@ public: }; // Alignment: 3 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_Special_Lina_Fiery_Soul_Splitshot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x12b8 - int32_t split_shot_bonus_range; // 0x12bc - int32_t arrow_count; // 0x12c0 + int32_t damage_modifier; // 0x12c8 + int32_t split_shot_bonus_range; // 0x12cc + int32_t arrow_count; // 0x12d0 }; // Alignment: 7 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_Special_Lina_Laguna_Blade_Channel : public CDOTA_Buff { public: - int32_t stack_limit; // 0x12b8 - float stack_interval; // 0x12bc - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesToHit; // 0x12c0 - ParticleIndex_t m_nFxIndexB; // 0x12d8 + int32_t stack_limit; // 0x12c8 + float stack_interval; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesToHit; // 0x12d0 + ParticleIndex_t m_nFxIndexB; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< ParticleIndex_t > m_nFXIndices; // 0x12e0 - int32_t bounces_remaining; // 0x12f8 - int32_t iCur_stack; // 0x12fc + CUtlVector< ParticleIndex_t > m_nFXIndices; // 0x12f0 + int32_t bounces_remaining; // 0x1308 + int32_t iCur_stack; // 0x130c }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Special_Lina_Laguna_Blade_Bounce : public CDOTA_Buff { public: - int32_t bounces_remaining; // 0x12b8 + int32_t bounces_remaining; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12c0 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Lina_Light_Strike_Array_Attacks_Bonus : public CDOTA_Buff { public: - float attack_damage; // 0x12b8 - int32_t damage_penalty; // 0x12bc + float attack_damage; // 0x12c8 + int32_t damage_penalty; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Lina_LightStrikeArray_Stun : public CDOTA_Buff { public: @@ -40725,14 +41188,14 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Lina_DragonSlave_Movement : public CDOTA_Buff { public: - Vector m_vDirection; // 0x12b8 - float m_flEndTime; // 0x12c4 - float m_flCurTime; // 0x12c8 - float m_flPushDistance; // 0x12cc + Vector m_vDirection; // 0x12c8 + float m_flEndTime; // 0x12d4 + float m_flCurTime; // 0x12d8 + float m_flPushDistance; // 0x12dc }; // Alignment: 0 @@ -40744,38 +41207,38 @@ public: }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury : public CDOTA_Buff { public: - 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 + int32_t blade_fury_radius; // 0x12c8 + int32_t blade_fury_damage; // 0x12cc + float blade_fury_damage_tick; // 0x12d0 + int32_t movement_bonus; // 0x12d4 + int32_t spark_radius; // 0x12d8 + int32_t spark_damage_percent; // 0x12dc + bool m_bDestroyParentThinkerOnDeath; // 0x12e0 + bool m_bPreIntervalThink; // 0x12e1 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury_Force : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury_Force_Pull : public CDOTA_Buff { public: - 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 + int32_t blade_fury_radius; // 0x12c8 + int32_t pull_speed; // 0x12cc + int32_t pull_stop; // 0x12d0 + Vector pull_origin; // 0x12d4 + GameTime_t m_flLastThinkTime; // 0x12e0 }; // Alignment: 0 @@ -40787,29 +41250,29 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Juggernaut_Healing_Ward : public CDOTA_Buff { public: - int32_t healing_ward_aura_radius; // 0x12b8 - float healing_ward_heal_amount; // 0x12bc - float healing_ward_interval; // 0x12c0 - int32_t m_nTotalHealing; // 0x12c4 + int32_t healing_ward_aura_radius; // 0x12c8 + float healing_ward_heal_amount; // 0x12cc + float healing_ward_interval; // 0x12d0 + int32_t m_nTotalHealing; // 0x12d4 }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_Juggernaut_Healing_Ward_Primed : public CDOTA_Buff { public: - 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 + int32_t healing_ward_aura_radius; // 0x12c8 + int32_t trigger_radius; // 0x12cc + int32_t search_radius; // 0x12d0 + int32_t damage_percent; // 0x12d4 + int32_t movement_bonus; // 0x12d8 + int32_t power; // 0x12dc + CHandle< CBaseEntity > m_hTarget; // 0x12e0 + bool m_bPlayerControlled; // 0x12e4 }; // Alignment: 0 @@ -40821,22 +41284,22 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Juggernaut_Zen_Ward : public CDOTA_Buff { public: - int32_t healing_ward_aura_radius; // 0x12b8 - float healing_ward_heal_amount; // 0x12bc - float healing_ward_interval; // 0x12c0 - int32_t m_nTotalRegen; // 0x12c4 + int32_t healing_ward_aura_radius; // 0x12c8 + float healing_ward_heal_amount; // 0x12cc + float healing_ward_interval; // 0x12d0 + int32_t m_nTotalRegen; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Juggernaut_Zen_Ward_Armor : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x12b8 + int32_t armor_bonus; // 0x12c8 }; // Alignment: 1 @@ -40848,36 +41311,36 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeDance : public CDOTA_Buff { public: - int32_t blade_dance_crit_mult; // 0x12b8 - int32_t blade_dance_crit_chance; // 0x12bc - bool m_bDidBladeDanceCrit; // 0x12c0 + int32_t blade_dance_crit_mult; // 0x12c8 + int32_t blade_dance_crit_chance; // 0x12cc + bool m_bDidBladeDanceCrit; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeDance_Buff : public CDOTA_Buff { public: - int32_t evasion_per_stack; // 0x12b8 - int32_t movespeed_per_stack; // 0x12bc - int32_t evasion_bonus; // 0x12c0 - int32_t movespeed_bonus; // 0x12c4 + int32_t evasion_per_stack; // 0x12c8 + int32_t movespeed_per_stack; // 0x12cc + int32_t evasion_bonus; // 0x12d0 + int32_t movespeed_bonus; // 0x12d4 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Juggernaut_Double_Attack : public CDOTA_Buff { public: - 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 + int32_t range; // 0x12c8 + float bonus_attack_duration; // 0x12cc + int32_t bonus_attack_count; // 0x12d0 + int32_t bonus_attack_speed; // 0x12d4 + float m_fBonusRange; // 0x12d8 }; // Alignment: 0 @@ -40889,44 +41352,44 @@ public: }; // Alignment: 16 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_modifier_aghsfort_juggernaut_omnislash : public CDOTA_Buff { public: - 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 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + CHandle< CBaseEntity > m_hLastTarget; // 0x12cc + int32_t m_nJumps; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + int32_t bonus_attack_speed; // 0x12d8 + int32_t omni_slash_radius; // 0x12dc + float attack_rate_multiplier; // 0x12e0 + int32_t upgraded_radius; // 0x12e4 + int32_t m_iTotalDamage; // 0x12e8 + int32_t m_iHeroDamage; // 0x12ec + bool m_bReflection; // 0x12f0 + bool m_bFirstHit; // 0x12f1 + bool m_bEndNext; // 0x12f2 private: - [[maybe_unused]] uint8_t __pad12e3[0x1]; // 0x12e3 + [[maybe_unused]] uint8_t __pad12f3[0x1]; // 0x12f3 public: - GameTime_t m_fNextAttackTime; // 0x12e4 - Vector m_vCastOrigin; // 0x12e8 + GameTime_t m_fNextAttackTime; // 0x12f4 + Vector m_vCastOrigin; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 public: - CUtlVector< CHandle< CBaseEntity > > m_hIllusions; // 0x12f8 + CUtlVector< CHandle< CBaseEntity > > m_hIllusions; // 0x1308 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_modifier_aghsfort_juggernaut_omnislash_Camera : public CDOTA_Buff { public: - bool m_bIsDone; // 0x12b8 + bool m_bIsDone; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_modifier_aghsfort_juggernaut_omnislash_Invulnerability : public CDOTA_Buff { public: @@ -40934,16 +41397,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x12b8 - float tick_damage; // 0x12bc + int32_t slow_movement_speed_pct; // 0x12c8 + float tick_damage; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite_Invuln : public CDOTA_Buff { public: @@ -40951,7 +41414,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite_Disarm : public CDOTA_Buff { public: @@ -41119,15 +41582,15 @@ public: }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows_Slow : public CDOTA_Buff { public: @@ -41135,17 +41598,17 @@ public: }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows_Chill : public CDOTA_Buff { public: - 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 + float interval; // 0x12c8 + int32_t max_stacks; // 0x12cc + int32_t damage_percent; // 0x12d0 + int32_t movement_damage_percent; // 0x12d4 + int32_t m_nDamage; // 0x12d8 + ParticleIndex_t m_nFXStackIndex; // 0x12dc + Vector m_vLastPosition; // 0x12e0 }; // Alignment: 7 @@ -41163,15 +41626,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence : public CDOTA_Buff { public: - int32_t blind_percent; // 0x12b8 + int32_t blind_percent; // 0x12c8 }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Knockback : public CDOTA_Modifier_Knockback { public: @@ -41179,35 +41642,35 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Echo_Thinker : public CDOTA_Buff { public: - Vector m_vTarget; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Movement : public CDOTA_Buff -{ -public: - int32_t movespeed_percent; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Frost : public CDOTA_Buff -{ -public: - float m_fDamagePerSecond; // 0x12b8 + Vector m_vTarget; // 0x12c8 }; // Alignment: 1 // Size: 0x12d0 +class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Movement : public CDOTA_Buff +{ +public: + int32_t movespeed_percent; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Frost : public CDOTA_Buff +{ +public: + float m_fDamagePerSecond; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Agility : public CDOTA_Buff { public: - CUtlVector< GameTime_t > m_AgilityTimers; // 0x12b8 + CUtlVector< GameTime_t > m_AgilityTimers; // 0x12c8 }; // Alignment: 1 @@ -41219,53 +41682,53 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_Buff : public CDOTA_Buff { public: - 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 + int32_t damage_percent; // 0x12c8 + int32_t knockback_distance; // 0x12cc + float knockback_duration; // 0x12d0 + int32_t move_speed_percent; // 0x12d4 + int32_t max_move_speed_percent; // 0x12d8 + int32_t model_scale; // 0x12dc + int32_t max_model_scale; // 0x12e0 + bool m_bActive; // 0x12e4 }; // Alignment: 15 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot : public CDOTA_Buff { public: - 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 + int32_t arrow_width; // 0x12c8 + float arrow_speed; // 0x12cc + int32_t range; // 0x12d0 + int32_t wave_count; // 0x12d4 + float wave_delay; // 0x12d8 + int32_t arrow_count_per_wave; // 0x12dc + float arrow_delay; // 0x12e0 + float per_arrow_angle; // 0x12e4 + float m_fYawOffset; // 0x12e8 + int32_t m_iWaveIndex; // 0x12ec + int32_t m_iArrowIndex; // 0x12f0 + Vector m_vTarget; // 0x12f4 + QAngle m_vWaveAngle; // 0x1300 + float m_flInterval; // 0x130c + GameTime_t m_flNextThink; // 0x1310 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_SideLine : public CDOTA_Buff { public: - int32_t m_iWaveIndex; // 0x12b8 - float m_fYawOffset; // 0x12bc + int32_t m_iWaveIndex; // 0x12c8 + float m_fYawOffset; // 0x12cc }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort2_DrowRanger_Multishot_Buff_Knockback : public CDOTA_Modifier_Knockback { public: @@ -41273,7 +41736,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_Refire : public CDOTA_Buff { public: @@ -41289,40 +41752,40 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Marksmanship_Aura : public CDOTA_Buff { public: - 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 + int32_t aura_disable_range; // 0x12c8 + int32_t aura_range; // 0x12cc + int32_t bonus_damage; // 0x12d0 + int32_t m_nBonusFactor; // 0x12d4 + GameTime_t m_fLastEnableTime; // 0x12d8 + ParticleIndex_t m_nFxIndex; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Marksmanship_Aura_Bonus : public CDOTA_Buff { public: - int32_t aura_agility_multiplier; // 0x12b8 + int32_t aura_agility_multiplier; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_Active : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t bonus_range; // 0x12bc - int32_t attack_speed_reduction; // 0x12c0 - float duration; // 0x12c4 - int32_t charges; // 0x12c8 + int32_t bonus_damage; // 0x12c8 + int32_t bonus_range; // 0x12cc + int32_t attack_speed_reduction; // 0x12d0 + float duration; // 0x12d4 + int32_t charges; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_AoE : public CDOTA_Buff { public: @@ -41330,11 +41793,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_WaveOfSilence_Primed : public CDOTA_Buff { public: - int32_t aura_disable_range; // 0x12b8 + int32_t aura_disable_range; // 0x12c8 }; // Alignment: 0 @@ -41474,30 +41937,30 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_LucentBeam_Moonglow : public CDOTA_Buff { public: - int32_t bonus_aspd; // 0x12b8 - int32_t lifesteal; // 0x12bc + int32_t bonus_aspd; // 0x12c8 + int32_t lifesteal; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t bonus_damage; // 0x12bc + int32_t radius; // 0x12c8 + int32_t bonus_damage; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t night_bonus_pct; // 0x12bc + int32_t bonus_damage; // 0x12c8 + int32_t night_bonus_pct; // 0x12cc }; // Alignment: 2 @@ -41513,7 +41976,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Active : public CDOTA_Buff { public: @@ -41521,7 +41984,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback_Buff : public CDOTA_Buff { public: @@ -41529,69 +41992,69 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback : public CDOTA_Buff { public: - int32_t attack_speed_slow; // 0x12b8 - int32_t move_speed_slow_pct; // 0x12bc + int32_t attack_speed_slow; // 0x12c8 + int32_t move_speed_slow_pct; // 0x12cc }; // Alignment: 11 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback_Bounce : public CDOTA_Buff { public: - 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 + Vector m_vLoc; // 0x12c8 + float m_flPredictedTotalTime; // 0x12d4 + Vector m_vStartPosition; // 0x12d8 + float m_flCurrentTimeHoriz; // 0x12e4 + float m_flCurrentTimeVert; // 0x12e8 + bool m_bHorizontalMotionInterrupted; // 0x12ec + bool m_bTargetTeleported; // 0x12ed private: - [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de + [[maybe_unused]] uint8_t __pad12ee[0x2]; // 0x12ee public: - Vector m_vHorizontalVelocity; // 0x12e0 - Vector m_vLastKnownTargetPosition; // 0x12ec - float m_flInitialVelocityZ; // 0x12f8 - float stun_duration; // 0x12fc + Vector m_vHorizontalVelocity; // 0x12f0 + Vector m_vLastKnownTargetPosition; // 0x12fc + float m_flInitialVelocityZ; // 0x1308 + float stun_duration; // 0x130c }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive : public CDOTA_Buff { public: - int32_t range; // 0x12b8 - int32_t bounces; // 0x12bc - int32_t damage_reduction_percent; // 0x12c0 - int32_t bounce_pct; // 0x12c4 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + int32_t range; // 0x12c8 + int32_t bounces; // 0x12cc + int32_t damage_reduction_percent; // 0x12d0 + int32_t bounce_pct; // 0x12d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x12b8 + ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_MoonMark : public CDOTA_Buff { public: - int32_t spell_resist_pct; // 0x12b8 + int32_t spell_resist_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_LunarRemnant : public CDOTA_Buff { public: - int32_t m_nBonusDamage; // 0x12b8 + int32_t m_nBonusDamage; // 0x12c8 }; // Alignment: 0 @@ -41603,15 +42066,15 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Moonfright : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x12b8 + Vector m_vOriginal; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_LunarPower : public CDOTA_Buff { public: @@ -41619,15 +42082,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_MoonShield_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura_MoonShield_Trigger : public CDOTA_Buff { public: @@ -41635,19 +42098,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura_MoonShield : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Active_Buff : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 + int32_t attack_speed; // 0x12c8 }; // Alignment: 0 @@ -41659,12 +42122,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_Lunar_Grace : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 - float night_multiplier; // 0x12bc + int32_t attack_speed; // 0x12c8 + float night_multiplier; // 0x12cc }; // Alignment: 0 @@ -41676,28 +42139,28 @@ public: }; // Alignment: 15 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_AghsFort_Luna_Eclipse : public CDOTA_Buff { public: - 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 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + int32_t radius; // 0x12cc + int32_t beams; // 0x12d0 + int32_t hit_count; // 0x12d4 + int32_t m_iBeamDamage; // 0x12d8 + float m_flBeamStun; // 0x12dc + Vector vPosition; // 0x12e0 + bool m_bAreaTarget; // 0x12ec + bool m_bMoonWell; // 0x12ed private: - [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de + [[maybe_unused]] uint8_t __pad12ee[0x2]; // 0x12ee public: - 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 + int32_t m_iTickCount; // 0x12f0 + ParticleIndex_t m_nMoonlightFXIndex; // 0x12f4 + CUtlVector< CHandle< CBaseEntity > > m_HitTargets; // 0x12f8 + CUtlVector< CHandle< CBaseEntity > > m_HitAllies; // 0x1310 + float beam_interval; // 0x1328 + float m_flInterval; // 0x132c }; // Alignment: 0 @@ -41853,32 +42316,32 @@ public: }; // Alignment: 16 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Leap : public CDOTA_Buff { public: - 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 + float m_flTotalTime; // 0x12c8 + float m_flInitialVelocity; // 0x12cc + Vector m_vStartPosition; // 0x12d0 + Vector m_vTargetHorizontalDirection; // 0x12dc + float m_flCurrentTimeHoriz; // 0x12e8 + float m_flCurrentTimeVert; // 0x12ec + bool m_bInterrupted; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - 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 + int32_t leap_distance; // 0x12f4 + float leap_speed; // 0x12f8 + float leap_acceleration; // 0x12fc + int32_t leap_radius; // 0x1300 + int32_t search_range; // 0x1304 + float damage_multiplier; // 0x1308 + float m_flPowerLevelPct; // 0x130c + bool m_bLaunched; // 0x1310 private: - [[maybe_unused]] uint8_t __pad1301[0x7]; // 0x1301 + [[maybe_unused]] uint8_t __pad1311[0x7]; // 0x1311 public: - CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x1308 + CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x1318 }; // Alignment: 1 @@ -41890,26 +42353,26 @@ public: }; // Alignment: 9 -// Size: 0x14c0 +// Size: 0x14d0 class CDOTA_Modifier_AghsFort_Luna_GlaiveShield : public CDOTA_Buff { public: - bool m_bSpiritsExplode; // 0x12b8 + bool m_bSpiritsExplode; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + int32_t hit_radius; // 0x12cc + int32_t rotate_range; // 0x12d0 + int32_t glaive_movement_rate; // 0x12d4 + float replenish_time; // 0x12d8 + float m_flRotation; // 0x12dc + float m_flGlaiveRadius; // 0x12e0 + GameTime_t m_flNextSpawn; // 0x12e4 + bool m_bPaused; // 0x12e8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Luna_Eclipse_IntoTheNight : public CDOTA_Buff { public: @@ -41917,12 +42380,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Luna_Eclipse_IntoTheNight_Aura : public CDOTA_Buff { public: - int32_t m_nMoveSpeed; // 0x12b8 - int32_t m_nEvasion; // 0x12bc + int32_t m_nMoveSpeed; // 0x12c8 + int32_t m_nEvasion; // 0x12cc }; // Alignment: 0 @@ -41934,13 +42397,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Lich_FrostNova_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x12b8 - int32_t slow_attack_speed; // 0x12bc - bool is_primary_target; // 0x12c0 + int32_t slow_movement_speed; // 0x12c8 + int32_t slow_attack_speed; // 0x12cc + bool is_primary_target; // 0x12d0 }; // Alignment: 3 @@ -41955,33 +42418,33 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Self : public CDOTA_Buff { public: - int32_t mana_drain; // 0x12b8 - float m_flIntervalRate; // 0x12bc + int32_t mana_drain; // 0x12c8 + float m_flIntervalRate; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 - int32_t mana_drain; // 0x12bc - float m_flIntervalRate; // 0x12c0 - ParticleIndex_t m_nFXIndex; // 0x12c4 + int32_t movement_speed; // 0x12c8 + int32_t mana_drain; // 0x12cc + float m_flIntervalRate; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Summon : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - int32_t base_damage_outgoing_percentage; // 0x12bc - bool m_bFirstTick; // 0x12c0 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + int32_t base_damage_outgoing_percentage; // 0x12cc + bool m_bFirstTick; // 0x12d0 }; // Alignment: 2 @@ -41994,30 +42457,30 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Lich_Ice_Spire : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc - CountdownTimer m_Timer; // 0x12c0 + int32_t aura_radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + CountdownTimer m_Timer; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Lich_Ice_Spire_Debuff : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x12b8 + int32_t bonus_movespeed; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Lich_ChainFrost_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x12b8 - int32_t slow_attack_speed; // 0x12bc + int32_t slow_movement_speed; // 0x12c8 + int32_t slow_attack_speed; // 0x12cc }; // Alignment: 0 @@ -42029,48 +42492,48 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Lich_FrostShield : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float interval; // 0x12bc - int32_t damage_reduction; // 0x12c0 - int32_t bonus_health_regen; // 0x12c4 + int32_t radius; // 0x12c8 + float interval; // 0x12cc + int32_t damage_reduction; // 0x12d0 + int32_t bonus_health_regen; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Lich_FrostShield_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Lich_FrostShield_Magic_Resistance_Debuff : public CDOTA_Buff { public: - int32_t magic_resist_reduction; // 0x12b8 - int32_t max_stacks; // 0x12bc - ParticleIndex_t m_nFXStackIndex; // 0x12c0 + int32_t magic_resist_reduction; // 0x12c8 + int32_t max_stacks; // 0x12cc + ParticleIndex_t m_nFXStackIndex; // 0x12d0 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_AghsFort_Modifier_Lich_Frost_Giant : public CDOTA_Buff { public: - 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 + int32_t movement_speed; // 0x12c8 + int32_t model_scale; // 0x12cc + int32_t damage_radius; // 0x12d0 + int32_t pct_int_damage_per_second; // 0x12d4 + float tick_rate; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_AghsFort_Modifier_Lich_Frost_Shield_Magic_Immune : public CDOTA_Modifier_MagicImmune { public: @@ -42090,15 +42553,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Lich_Chain_Frost_Thinker : public CDOTA_Buff { public: - 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 + int32_t m_nDamageToHeroes; // 0x12c8 + int32_t m_nHeroesKilled; // 0x12cc + int32_t m_nJumps; // 0x12d0 + CHandle< CBaseEntity > m_hTarget; // 0x12d4 + CHandle< CBaseEntity > m_hAvoidTarget; // 0x12d8 }; // Alignment: 0 @@ -42222,11 +42685,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Kunkka_Rumboldened_Immunity : public CDOTA_Modifier_MagicImmune { public: - int32_t model_scale; // 0x12b8 + int32_t model_scale; // 0x12c8 }; // Alignment: 1 @@ -42238,64 +42701,64 @@ public: }; // Alignment: 12 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Thinker : public CDOTA_Buff { public: - bool m_bIsSquall; // 0x12b8 - bool m_bIsSeaLegs; // 0x12b9 + bool m_bIsSquall; // 0x12c8 + bool m_bIsSeaLegs; // 0x12c9 private: - [[maybe_unused]] uint8_t __pad12ba[0x2]; // 0x12ba + [[maybe_unused]] uint8_t __pad12ca[0x2]; // 0x12ca public: - float m_flRadius; // 0x12bc - bool m_bShowEnemies; // 0x12c0 - bool m_bTorrentStorm; // 0x12c1 + float m_flRadius; // 0x12cc + bool m_bShowEnemies; // 0x12d0 + bool m_bTorrentStorm; // 0x12d1 private: - [[maybe_unused]] uint8_t __pad12c2[0x2]; // 0x12c2 + [[maybe_unused]] uint8_t __pad12d2[0x2]; // 0x12d2 public: - float m_flDelay; // 0x12c4 - float m_flFireTime; // 0x12c8 - bool m_bForcePosition; // 0x12cc + float m_flDelay; // 0x12d4 + float m_flFireTime; // 0x12d8 + bool m_bForcePosition; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - Vector m_vStartPosition; // 0x12d0 - Vector m_vEndPosition; // 0x12dc - int32_t m_nPercentChanceOfGhostShip; // 0x12e8 - CHandle< CBaseEntity > m_hTarget; // 0x12ec + Vector m_vStartPosition; // 0x12e0 + Vector m_vEndPosition; // 0x12ec + int32_t m_nPercentChanceOfGhostShip; // 0x12f8 + CHandle< CBaseEntity > m_hTarget; // 0x12fc }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Kunkka_Torrent : public CDOTA_Buff { public: - float flIntervalThinkTime; // 0x12b8 - int32_t torrent_damage; // 0x12bc - float m_flDamageScale; // 0x12c0 - float m_flStartZ; // 0x12c4 - float m_flCurTime; // 0x12c8 - bool m_bTorrentStorm; // 0x12cc + float flIntervalThinkTime; // 0x12c8 + int32_t torrent_damage; // 0x12cc + float m_flDamageScale; // 0x12d0 + float m_flStartZ; // 0x12d4 + float m_flCurTime; // 0x12d8 + bool m_bTorrentStorm; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Slow : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x12b8 + int32_t movespeed_bonus; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Kunkka_Fire_Cannons_Slow : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x12b8 + int32_t movespeed_bonus; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Kunkka_Tidebringer_Slow : public CDOTA_Buff { public: @@ -42311,14 +42774,14 @@ public: }; // Alignment: 4 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Storm : public CDOTA_Buff { public: - int32_t torrent_min_distance; // 0x12b8 - int32_t torrent_max_distance; // 0x12bc - int32_t m_iExplosionQuadrant; // 0x12c0 - Vector m_vPosition; // 0x12c4 + int32_t torrent_min_distance; // 0x12c8 + int32_t torrent_max_distance; // 0x12cc + int32_t m_iExplosionQuadrant; // 0x12d0 + Vector m_vPosition; // 0x12d4 }; // Alignment: 0 @@ -42330,22 +42793,22 @@ public: }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_Kunkka_Tidebringer : public CDOTA_Buff { public: - bool m_bTidebringerAttack; // 0x12b8 + bool m_bTidebringerAttack; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + int32_t cleave_starting_width; // 0x12cc + int32_t cleave_ending_width; // 0x12d0 + int32_t cleave_distance; // 0x12d4 + int32_t damage_bonus; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc + int32_t cleave_damage; // 0x12e0 + bool m_bIgnoreCooldown; // 0x12e4 + bool m_bDreadPirate; // 0x12e5 }; // Alignment: 1 @@ -42357,24 +42820,24 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Kunkka_NoQuarter : public CDOTA_Buff { public: - int32_t m_nSpeedBonusPercentage; // 0x12b8 + int32_t m_nSpeedBonusPercentage; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot : public CDOTA_Buff { public: - float armour_increase; // 0x12b8 - float speed_increase_pct; // 0x12bc + float armour_increase; // 0x12c8 + float speed_increase_pct; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpotMarker : public CDOTA_Buff { public: @@ -42382,25 +42845,25 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot_SeaLegs_Thinker : public CDOTA_Buff { public: - Vector m_vLastPosition; // 0x12b8 - CHandle< CBaseEntity > m_hEntity; // 0x12c4 + Vector m_vLastPosition; // 0x12c8 + CHandle< CBaseEntity > m_hEntity; // 0x12d4 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x12b8 - bool m_bIsReflection; // 0x12c4 + Vector m_vStartLoc; // 0x12c8 + bool m_bIsReflection; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - CHandle< CBaseEntity > m_hEntity; // 0x12c8 + CHandle< CBaseEntity > m_hEntity; // 0x12d8 }; // Alignment: 0 @@ -42412,11 +42875,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Kunkka_Fear : public CDOTA_Buff { public: - CHandle< CDOTA_BaseNPC > m_pEntityToBeAfraidOf; // 0x12b8 + CHandle< CDOTA_BaseNPC > m_pEntityToBeAfraidOf; // 0x12c8 }; // Alignment: 6 @@ -42433,20 +42896,20 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Kunkka_Ghost_Ship_Fire_Cannons : public CDOTA_Buff { public: - float m_flDistance; // 0x12b8 - float m_flSpeed; // 0x12bc - int32_t m_nNumCannons; // 0x12c0 - float m_flProjectileRadius; // 0x12c4 - bool m_bGhostShipIsEntity; // 0x12c8 + float m_flDistance; // 0x12c8 + float m_flSpeed; // 0x12cc + int32_t m_nNumCannons; // 0x12d0 + float m_flProjectileRadius; // 0x12d4 + bool m_bGhostShipIsEntity; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - int32_t m_hGhostShipProjectile; // 0x12cc - CHandle< CBaseEntity > m_hGhostShip; // 0x12d0 + int32_t m_hGhostShipProjectile; // 0x12dc + CHandle< CBaseEntity > m_hGhostShip; // 0x12e0 }; // Alignment: 0 @@ -42458,17 +42921,17 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Kunkka_Ghost_Ship_Fleet : public CDOTA_Buff { public: - Vector vCasterOrigin; // 0x12b8 - Vector vEnd; // 0x12c4 - int32_t m_nHitCount; // 0x12d0 + Vector vCasterOrigin; // 0x12c8 + Vector vEnd; // 0x12d4 + int32_t m_nHitCount; // 0x12e0 }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_Knockback : public CDOTA_Modifier_Knockback { public: @@ -42476,7 +42939,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_Loaded : public CDOTA_Buff { public: @@ -42484,32 +42947,32 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_DamageAbsorb : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x12b8 - int32_t movespeed_bonus; // 0x12bc - float ghostship_absorb; // 0x12c0 + int32_t m_iAccumulatedDamage; // 0x12c8 + int32_t movespeed_bonus; // 0x12cc + float ghostship_absorb; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_DamageDelay : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x12b8 - float m_flDuration; // 0x12bc + int32_t m_iAccumulatedDamage; // 0x12c8 + float m_flDuration; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Kunkka_SeaSickness : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x12b8 - float m_flDuration; // 0x12bc - float m_flMovespeedBonus; // 0x12c0 + int32_t m_iAccumulatedDamage; // 0x12c8 + float m_flDuration; // 0x12cc + float m_flMovespeedBonus; // 0x12d0 }; // Alignment: 1 @@ -42593,11 +43056,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Kunkka_Davy_Jones_Locker_Aura : public CDOTA_Buff { public: - float m_flRadius; // 0x12b8 + float m_flRadius; // 0x12c8 }; // Alignment: 0 @@ -42609,32 +43072,32 @@ public: }; // Alignment: 19 -// Size: 0x1360 +// Size: 0x1370 class CDOTA_Modifier_Kunkka_Man_the_Helm : public CDOTA_Modifier_MagicImmune { public: - 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 + float tick_interval; // 0x12c8 + float forward_move_speed; // 0x12cc + float turn_rate_boosted; // 0x12d0 + float turn_rate; // 0x12d4 + int32_t hit_radius; // 0x12d8 + int32_t knockback_radius; // 0x12dc + bool m_bHitFirstUpdate; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - 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 + GameTime_t m_flHitEndTime; // 0x12e4 + float hit_recover_time; // 0x12e8 + float m_flTurnBoostProgress; // 0x12ec + float m_flFacingTarget; // 0x12f0 + GameTime_t m_flLastHeroAttackTime; // 0x12f4 + 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 + Vector m_vDirection; // 0x1360 }; // Alignment: 0 @@ -42646,7 +43109,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Kunkka_No_Quarter_Buff : public CDOTA_Buff { public: @@ -42654,11 +43117,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Kunkka_No_Quarter_Counter : public CDOTA_Buff { public: - int32_t m_nStackCount; // 0x12b8 + int32_t m_nStackCount; // 0x12c8 }; // Alignment: 0 @@ -42704,68 +43167,68 @@ public: }; // Alignment: 12 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Unit : public CDOTA_Buff { public: - bool m_bActivated; // 0x12b8 + bool m_bActivated; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - Vector m_vFacingDir; // 0x12bc - CUtlVector< Vector > m_vecWatchPositions; // 0x12c8 - ParticleIndex_t m_nBeamFXIndex; // 0x12e0 + Vector m_vFacingDir; // 0x12cc + CUtlVector< Vector > m_vecWatchPositions; // 0x12d8 + ParticleIndex_t m_nBeamFXIndex; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - 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 + CUtlVector< int32 > m_nViewerIDs; // 0x12f8 + int32_t remnant_watch_distance; // 0x1310 + int32_t remnant_watch_radius; // 0x1314 + float duration; // 0x1318 + int32_t watch_path_vision_radius; // 0x131c + int32_t impact_damage; // 0x1320 + float pull_duration; // 0x1324 + float activation_delay; // 0x1328 }; // Alignment: 6 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Pull : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + PlayerID_t m_nPlayerID; // 0x12cc + float m_fMovementSpeed; // 0x12d0 + Vector m_vPullTarget; // 0x12d4 + Vector m_vFacingDir; // 0x12e0 + float think_interval; // 0x12ec }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnantThinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - Vector m_vFacingDir; // 0x12bc - CHandle< CBaseEntity > m_hRemnant; // 0x12c8 - bool m_bTriggered; // 0x12cc + int32_t radius; // 0x12c8 + Vector m_vFacingDir; // 0x12cc + CHandle< CBaseEntity > m_hRemnant; // 0x12d8 + bool m_bTriggered; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - float m_flCurThink; // 0x12d0 + float m_flCurThink; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x12b8 + int32_t m_nRadius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -42789,22 +43252,22 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x12b8 - float m_fVoidMarkPct; // 0x12bc - int32_t movement_slow_pct; // 0x12c0 - int32_t pop_damage; // 0x12c4 + ParticleIndex_t m_nFXStackIndex; // 0x12c8 + float m_fVoidMarkPct; // 0x12cc + int32_t movement_slow_pct; // 0x12d0 + int32_t pop_damage; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Caster : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 2 @@ -42817,52 +43280,52 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Phase_Ally : public CDOTA_Buff { public: - int32_t damage_radius; // 0x12b8 - float debuff_duration; // 0x12bc - int32_t destination_fx_radius; // 0x12c0 - int32_t damage; // 0x12c4 - Vector m_vExitPos; // 0x12c8 + int32_t damage_radius; // 0x12c8 + float debuff_duration; // 0x12cc + int32_t destination_fx_radius; // 0x12d0 + int32_t damage; // 0x12d4 + Vector m_vExitPos; // 0x12d8 }; // Alignment: 20 -// Size: 0x1360 +// Size: 0x1370 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Phase : public CDOTA_Buff { public: - Vector m_vFirstPortalPos; // 0x12b8 + Vector m_vFirstPortalPos; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - 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 + CUtlVector< Vector > m_vecDestinations; // 0x12d8 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x12f0 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1308 + int32_t m_nCurrentDestinationIndex; // 0x1320 + int32_t m_nClosestIndexPosToClick; // 0x1324 + int32_t m_nPortalHeightOffset; // 0x1328 private: - [[maybe_unused]] uint8_t __pad131c[0x4]; // 0x131c + [[maybe_unused]] uint8_t __pad132c[0x4]; // 0x132c public: - 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 + char* m_szAlliesPortalFX; // 0x1330 + char* m_szEnemiesPortalFX; // 0x1338 + int32_t m_nPortalRadius; // 0x1340 + int32_t m_nPortalPadding; // 0x1344 + int32_t m_nFinalImpactDamageRadius; // 0x1348 + int32_t m_nFinalImpactFXRadius; // 0x134c + int32_t destination_fx_radius; // 0x1350 + int32_t damage_radius; // 0x1354 + int32_t portals_per_ring; // 0x1358 + int32_t angle_per_ring_portal; // 0x135c + int32_t first_ring_distance_offset; // 0x1360 + float debuff_duration; // 0x1364 + int32_t damage; // 0x1368 }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: @@ -42870,12 +43333,12 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: - int32_t base_absorb_amount; // 0x12b8 - int32_t m_nAbsorbRemaining; // 0x12bc + int32_t base_absorb_amount; // 0x12c8 + int32_t m_nAbsorbRemaining; // 0x12cc }; // Alignment: 5 @@ -42891,19 +43354,19 @@ public: }; // Alignment: 9 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_Ring : public CDOTA_Buff { public: - 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 + float m_fLastRadius; // 0x12c8 + float m_fCurRadius; // 0x12cc + GameTime_t m_fLastThink; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + CUtlVector< CHandle< CBaseEntity > > m_EnemiesHit; // 0x12d8 + CUtlVector< CHandle< CBaseEntity > > m_AlliesHit; // 0x12f0 + int32_t speed; // 0x1308 + int32_t radius; // 0x130c + int32_t damage; // 0x1310 }; // Alignment: 0 @@ -42915,12 +43378,12 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Push : public CDOTA_Buff { public: - Vector m_vDirection; // 0x12b8 - float m_nRemnantProjectileID; // 0x12c4 + Vector m_vDirection; // 0x12c8 + float m_nRemnantProjectileID; // 0x12d4 }; // Alignment: 0 @@ -42932,11 +43395,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_PhantomAttack_Crit : public CDOTA_Buff { public: - int32_t m_nCritPercent; // 0x12b8 + int32_t m_nCritPercent; // 0x12c8 }; // Alignment: 0 @@ -42948,19 +43411,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x12b8 + int32_t m_nProjectileID; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling_ImpactSlow : public CDOTA_Buff { public: - int32_t move_slow_pct; // 0x12b8 + int32_t move_slow_pct; // 0x12c8 }; // Alignment: 0 @@ -42996,24 +43459,24 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_Dissimilate_Lure_Thinker : public CDOTA_Buff { public: - int32_t m_nDamageRadius; // 0x12b8 - float m_fDissimilateDamage; // 0x12bc - float m_fThinkInterval; // 0x12c0 - float m_fDissimilateDamagePctPerInterval; // 0x12c4 - float m_fLingerDuration; // 0x12c8 + int32_t m_nDamageRadius; // 0x12c8 + float m_fDissimilateDamage; // 0x12cc + float m_fThinkInterval; // 0x12d0 + float m_fDissimilateDamagePctPerInterval; // 0x12d4 + float m_fLingerDuration; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_Dissimilate_Lure_Burn : public CDOTA_Buff { public: - float m_fDamagePerInterval; // 0x12b8 - int32_t m_nBonusIncomingMagicDamage; // 0x12bc + float m_fDamagePerInterval; // 0x12c8 + int32_t m_nBonusIncomingMagicDamage; // 0x12cc }; // Alignment: 0 @@ -43025,11 +43488,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_SpellAmped : public CDOTA_Buff { public: - int32_t m_nSpellAmp; // 0x12b8 + int32_t m_nSpellAmp; // 0x12c8 }; // Alignment: 0 @@ -43041,11 +43504,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_Cadence : public CDOTA_Buff { public: - float m_fSpellAmp; // 0x12b8 + float m_fSpellAmp; // 0x12c8 }; // Alignment: 1 @@ -43057,7 +43520,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_ResonantPulse_Suppression_MagicImmunity : public CDOTA_Modifier_MagicImmune { public: @@ -43073,13 +43536,13 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Vacuum_Motion : public CDOTA_Buff { public: - float m_fVacuumSpeed; // 0x12b8 - float m_fStunDuration; // 0x12bc - Vector m_vPullLoc; // 0x12c0 + float m_fVacuumSpeed; // 0x12c8 + float m_fStunDuration; // 0x12cc + Vector m_vPullLoc; // 0x12d0 }; // Alignment: 0 @@ -43091,7 +43554,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AstralStep_Attacks : public CDOTA_Buff { public: @@ -43107,23 +43570,23 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Trail_Thinker : public CDOTA_Buff { public: - float m_fThinkInterval; // 0x12b8 - float m_fPopDamagePctPerInterval; // 0x12bc - float m_fLingerDuration; // 0x12c0 - int32_t radius; // 0x12c4 - int32_t pop_damage; // 0x12c8 + float m_fThinkInterval; // 0x12c8 + float m_fPopDamagePctPerInterval; // 0x12cc + float m_fLingerDuration; // 0x12d0 + int32_t radius; // 0x12d4 + int32_t pop_damage; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Trail_Burn : public CDOTA_Buff { public: - float m_fDamagePerInterval; // 0x12b8 + float m_fDamagePerInterval; // 0x12c8 }; // Alignment: 0 @@ -43135,11 +43598,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Breach_Burn : public CDOTA_Buff { public: - float m_fDamagePerInterval; // 0x12b8 + float m_fDamagePerInterval; // 0x12c8 }; // Alignment: 0 @@ -43208,21 +43671,21 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Rocket_Barrage : public CDOTA_Buff { public: - int32_t rocket_damage; // 0x12b8 - int32_t m_nPower; // 0x12bc + int32_t rocket_damage; // 0x12c8 + int32_t m_nPower; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride : public CDOTA_Buff { public: - int32_t grab_radius; // 0x12b8 - CHandle< CBaseEntity > m_hLoadedUnit; // 0x12bc + int32_t grab_radius; // 0x12c8 + CHandle< CBaseEntity > m_hLoadedUnit; // 0x12cc }; // Alignment: 0 @@ -43234,30 +43697,30 @@ public: }; // Alignment: 14 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Aghsfort_Gyrocopter_Homing_Missile : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + ParticleIndex_t m_nFXIndex2; // 0x12cc + int32_t acceleration; // 0x12d0 + float pre_flight_time; // 0x12d4 + float stun_duration; // 0x12d8 + int32_t m_nMissileDamage; // 0x12dc + int32_t damage; // 0x12e0 + int32_t m_nTeamNumber; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad12d8[0x8]; // 0x12d8 + [[maybe_unused]] uint8_t __pad12e8[0x8]; // 0x12e8 public: - float speed; // 0x12e0 - float m_flFacingTarget; // 0x12e4 - int32_t movement_turn_rate; // 0x12e8 - int32_t m_nPower; // 0x12ec - CHandle< CBaseEntity > m_hAttachTarget; // 0x12f0 + float speed; // 0x12f0 + float m_flFacingTarget; // 0x12f4 + int32_t movement_turn_rate; // 0x12f8 + int32_t m_nPower; // 0x12fc + CHandle< CBaseEntity > m_hAttachTarget; // 0x1300 private: - [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 public: - CountdownTimer m_MoveTime; // 0x12f8 + CountdownTimer m_MoveTime; // 0x1308 }; // Alignment: 0 @@ -43269,58 +43732,58 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_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 radius; // 0x12c8 - int32_t max_targets; // 0x12cc - bool m_bFirstStrike; // 0x12d0 - bool m_bShouldFireMissiles; // 0x12d1 + int32_t max_attacks; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t m_iNumAttacks; // 0x12d0 + int32_t projectile_speed; // 0x12d4 + int32_t radius; // 0x12d8 + int32_t max_targets; // 0x12dc + bool m_bFirstStrike; // 0x12e0 + bool m_bShouldFireMissiles; // 0x12e1 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Gyrocopter_Flak_Cannon_Scepter : public CDOTA_Buff { public: - float fire_rate; // 0x12b8 - int32_t scepter_radius; // 0x12bc - int32_t m_iAttackRecord; // 0x12c0 + float fire_rate; // 0x12c8 + int32_t scepter_radius; // 0x12cc + int32_t m_iAttackRecord; // 0x12d0 }; // Alignment: 12 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_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 - 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 + int32_t slow_duration_first; // 0x12c8 + int32_t slow_duration_second; // 0x12cc + int32_t damage_first; // 0x12d0 + int32_t damage_second; // 0x12d4 + float power; // 0x12d8 + int32_t radius; // 0x12dc + float slow_first; // 0x12e0 + float slow_second; // 0x12e4 + bool m_bDelayed; // 0x12e8 + bool m_bHalfDamage; // 0x12e9 + bool m_bFirstStrike; // 0x12ea private: - [[maybe_unused]] uint8_t __pad12db[0x1]; // 0x12db + [[maybe_unused]] uint8_t __pad12eb[0x1]; // 0x12eb public: - CHandle< CBaseEntity > m_hInflictorAbility; // 0x12dc + CHandle< CBaseEntity > m_hInflictorAbility; // 0x12ec }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Call_Down_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 + int32_t movespeed; // 0x12c8 }; // Alignment: 0 @@ -43460,16 +43923,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_RocketBarrage_On_Attack : public CDOTA_Buff { public: - int32_t strike_chance; // 0x12b8 - float duration; // 0x12bc + int32_t strike_chance; // 0x12c8 + float duration; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Gyrocopter_Rocket_Barrage_Thinker : public CDOTA_Buff { public: @@ -43477,18 +43940,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride_LoadedUnit : public CDOTA_Buff { public: - CHandle< CDOTA_BaseNPC > m_hMissile; // 0x12b8 - int32_t hit_radius; // 0x12bc - float timeout_duration; // 0x12c0 - int32_t damage; // 0x12c4 + CHandle< CDOTA_BaseNPC > m_hMissile; // 0x12c8 + int32_t hit_radius; // 0x12cc + float timeout_duration; // 0x12d0 + int32_t damage; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride_LoadedUnit_Timeout : public CDOTA_Buff { public: @@ -43496,63 +43959,63 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Flak_Cannon_Fire_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x12b8 - int32_t path_radius; // 0x12c4 - float linger_duration; // 0x12c8 - float flDamage; // 0x12cc + Vector m_vPathDir; // 0x12c8 + int32_t path_radius; // 0x12d4 + float linger_duration; // 0x12d8 + float flDamage; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Flak_Cannon_Fire_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x12b8 + float flDamage; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Call_Down_Attack_Buff : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 - int32_t attackspeed; // 0x12bc + int32_t movespeed; // 0x12c8 + int32_t attackspeed; // 0x12cc }; // Alignment: 6 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Special_Gyrocopter_Call_Down_Land_Mines : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float proximity_threshold; // 0x12bc - float damage; // 0x12c0 - float activation_delay; // 0x12c4 - bool bActivated; // 0x12c8 + int32_t radius; // 0x12c8 + float proximity_threshold; // 0x12cc + float damage; // 0x12d0 + float activation_delay; // 0x12d4 + bool bActivated; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x7]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x7]; // 0x12d9 public: - CountdownTimer m_Timer; // 0x12d0 + CountdownTimer m_Timer; // 0x12e0 }; // Alignment: 9 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Call_Down_Wingman : public CDOTA_Buff { public: - 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 + float m_flStartZ; // 0x12c8 + float m_flCurTime; // 0x12cc + float m_flCurVertTime; // 0x12d0 + float m_flOldPitch; // 0x12d4 + QAngle m_qRotation; // 0x12d8 + int32_t m_nRotations; // 0x12e4 + Vector m_vDirection; // 0x12e8 + float m_flEndTime; // 0x12f4 + int32_t push_length; // 0x12f8 }; // Alignment: 0 @@ -43577,54 +44040,54 @@ public: }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Thinker : public CDOTA_Buff { public: - 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 + float pulse_interval; // 0x12c8 + int32_t iEffectRadius; // 0x12cc + int32_t base_damage; // 0x12d0 + int32_t base_heal; // 0x12d4 + int32_t scepter_heal; // 0x12d8 + CHandle< CBaseEntity > m_hFollowTarget; // 0x12dc + CHandle< CBaseEntity > m_hInflictor; // 0x12e0 + GameTime_t m_flNextPulseTime; // 0x12e4 + ParticleIndex_t m_nThinkerFXIndex; // 0x12e8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Evasion : public CDOTA_Buff { public: - int32_t miss_rate; // 0x12b8 + int32_t miss_rate; // 0x12c8 }; // Alignment: 7 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_AghsFort_Dawnbreaker_Solar_Guardian_AirTime : public CDOTA_Buff { public: - 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 + float m_flStartZ; // 0x12c8 + float m_flCurTime; // 0x12cc + Vector m_vDirection; // 0x12d0 + float m_flEndTime; // 0x12dc + CHandle< CBaseEntity > m_hThinker; // 0x12e0 + Vector m_vTargetPosition; // 0x12e4 + Vector m_vStartPosition; // 0x12f0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Disable : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x12b8 - ParticleIndex_t m_nStatusFXIndex; // 0x12bc + ParticleIndex_t m_nCasterFXIndex; // 0x12c8 + ParticleIndex_t m_nStatusFXIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_After_Land : public CDOTA_Buff { public: @@ -43640,40 +44103,40 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity : public CDOTA_Buff { public: - bool m_bAppliesToCreeps; // 0x12b8 + bool m_bAppliesToCreeps; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t attack_count; // 0x12bc - bool m_bShouldIncrement; // 0x12c0 + int32_t attack_count; // 0x12cc + bool m_bShouldIncrement; // 0x12d0 }; // Alignment: 14 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Attack_Buff : public CDOTA_Buff { public: - bool m_bIsBuffedAttack; // 0x12b8 - bool m_bSunSentinel; // 0x12b9 + bool m_bIsBuffedAttack; // 0x12c8 + bool m_bSunSentinel; // 0x12c9 private: - [[maybe_unused]] uint8_t __pad12ba[0x2]; // 0x12ba + [[maybe_unused]] uint8_t __pad12ca[0x2]; // 0x12ca public: - 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 + int32_t heal_pct; // 0x12cc + int32_t bonus_damage; // 0x12d0 + int32_t heal_radius; // 0x12d4 + int32_t heal_from_creeps; // 0x12d8 + int32_t allied_healing_pct; // 0x12dc + int32_t m_nSmashDamage; // 0x12e0 + int32_t m_nCounterOrbitalChance; // 0x12e4 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesToHeal; // 0x12e8 + float m_flTotalToHeal; // 0x1300 + bool m_bCounterOrbitalProcessed; // 0x1304 + bool m_bIsCounterOrbitalSmash; // 0x1305 + bool m_bBrightFoundryProcessed; // 0x1306 }; // Alignment: 9 @@ -43696,38 +44159,38 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge_Thinker : public CDOTA_Buff { public: - int32_t flare_radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc - CHandle< CBaseEntity > m_hInflictor; // 0x12c0 + int32_t flare_radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + CHandle< CBaseEntity > m_hInflictor; // 0x12d0 }; // Alignment: 11 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Movement : public CDOTA_Buff { public: - 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 + int32_t m_nProjectileID; // 0x12c8 + int32_t projectile_speed; // 0x12cc + int32_t travel_speed_pct; // 0x12d0 + int32_t m_nMaxRange; // 0x12d4 + Vector m_vStartPoint; // 0x12d8 + Vector m_vLastTrailThinkerLocation; // 0x12e4 + Vector m_vEndPointShard; // 0x12f0 + ParticleIndex_t m_nStatusFXIndex; // 0x12fc + int32_t flare_radius; // 0x1300 + bool bHasStartedBurning; // 0x1304 private: - [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 + [[maybe_unused]] uint8_t __pad1305[0x3]; // 0x1305 public: - float flare_debuff_duration; // 0x12f8 + float flare_debuff_duration; // 0x1308 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Caster : public CDOTA_Buff { public: @@ -43735,76 +44198,76 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - float trail_duration; // 0x12bc - int32_t flare_radius; // 0x12c0 - int32_t m_nProjectileHandle; // 0x12c4 - CHandle< CBaseEntity > m_hHavenThinker; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12c8 + float trail_duration; // 0x12cc + int32_t flare_radius; // 0x12d0 + int32_t m_nProjectileHandle; // 0x12d4 + CHandle< CBaseEntity > m_hHavenThinker; // 0x12d8 }; // Alignment: 22 -// Size: 0x1318 +// Size: 0x1328 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Caster : public CDOTA_Buff { public: - 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 + int32_t swipe_radius; // 0x12c8 + int32_t swipe_damage; // 0x12cc + int32_t smash_radius; // 0x12d0 + int32_t smash_damage; // 0x12d4 + int32_t m_nCurrentSpeed; // 0x12d8 + float flSwipeInterval; // 0x12dc + GameTime_t m_flNextHit; // 0x12e0 + int32_t iCurrentAttack; // 0x12e4 + int32_t total_attacks; // 0x12e8 + float smash_stun_duration; // 0x12ec + float sweep_stun_duration; // 0x12f0 + bool m_bHasCompletedMove; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - 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 + float duration; // 0x12f8 + Vector m_vTargetHorizontalDirection; // 0x12fc + int32_t smash_distance_from_hero; // 0x1308 + float animation_rate; // 0x130c + float turn_rate; // 0x1310 + float m_flFacingTarget; // 0x1314 + bool m_bSuncrusher; // 0x1318 private: - [[maybe_unused]] uint8_t __pad1309[0x3]; // 0x1309 + [[maybe_unused]] uint8_t __pad1319[0x3]; // 0x1319 public: - float m_flDistanceSinceStandAblazeThinker; // 0x130c - float m_flDistancePerStandAblazeThinker; // 0x1310 - CHandle< CDOTABaseAbility > m_hCelestialHammerForFire; // 0x1314 + float m_flDistanceSinceStandAblazeThinker; // 0x131c + float m_flDistancePerStandAblazeThinker; // 0x1320 + CHandle< CDOTABaseAbility > m_hCelestialHammerForFire; // 0x1324 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Attack_Bonus : public CDOTA_Buff { public: - int32_t attack_damage; // 0x12b8 + int32_t attack_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Slow : public CDOTA_Buff { public: - int32_t swipe_slow; // 0x12b8 + int32_t swipe_slow; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Smash_Stun : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - float m_flStartZ; // 0x12bc - float m_flCurTime; // 0x12c0 + int32_t damage; // 0x12c8 + float m_flStartZ; // 0x12cc + float m_flCurTime; // 0x12d0 }; // Alignment: 0 @@ -43816,14 +44279,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 - int32_t burn_damage; // 0x12bc - float burn_interval; // 0x12c0 - CHandle< CBaseEntity > m_hInflictor; // 0x12c4 + int32_t move_slow; // 0x12c8 + int32_t burn_damage; // 0x12cc + float burn_interval; // 0x12d0 + CHandle< CBaseEntity > m_hInflictor; // 0x12d4 }; // Alignment: 0 @@ -43843,7 +44306,7 @@ public: }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_CelestialFire_Thinker : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge_Thinker { public: @@ -43851,7 +44314,7 @@ public: }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_CelestialFire_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: @@ -43883,7 +44346,7 @@ public: }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_BrightFoundry_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: @@ -43915,14 +44378,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_SolarBattery : public CDOTA_Buff { public: - int32_t move_speed_pct; // 0x12b8 - int32_t attack_speed; // 0x12bc - int32_t m_nBonusMovementSpeedPct; // 0x12c0 - int32_t m_nBonusAttackSpeed; // 0x12c4 + int32_t move_speed_pct; // 0x12c8 + int32_t attack_speed; // 0x12cc + int32_t m_nBonusMovementSpeedPct; // 0x12d0 + int32_t m_nBonusAttackSpeed; // 0x12d4 }; // Alignment: 0 @@ -43934,7 +44397,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Lightbringer : public CDOTA_Buff { public: @@ -43950,7 +44413,7 @@ public: }; // Alignment: 0 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_Dawnbreaker_SunSentinelLuminosity_Attack_Buff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Attack_Buff { public: @@ -43966,7 +44429,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar : public CDOTA_Buff { public: @@ -43974,16 +44437,16 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar_Active : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - bool m_bPassive; // 0x12bc + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + bool m_bPassive; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float m_flCooldown; // 0x12c0 + float m_flCooldown; // 0x12d0 }; // Alignment: 0 @@ -43995,7 +44458,7 @@ public: }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_SolarFlare_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: @@ -44011,17 +44474,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Dawnbreaker_Starbreaker_CounterOrbital : public CDOTA_Buff { public: - int32_t trigger_chance; // 0x12b8 - float cooldown; // 0x12bc - GameTime_t m_fLastProc; // 0x12c0 + int32_t trigger_chance; // 0x12c8 + float cooldown; // 0x12cc + GameTime_t m_fLastProc; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Dawnbreaker_Starbreaker_CounterOrbital_Marker : public CDOTA_Buff { public: @@ -44069,7 +44532,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble : public CDOTA_Buff { public: @@ -44077,13 +44540,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble_Effect : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 - int32_t heal_reduction; // 0x12bc - int32_t cast_reduction; // 0x12c0 + int32_t damage_reduction; // 0x12c8 + int32_t heal_reduction; // 0x12cc + int32_t cast_reduction; // 0x12d0 }; // Alignment: 2 @@ -44112,30 +44575,30 @@ public: }; // Alignment: 12 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_Bane_Nightmare : public CDOTA_Buff { public: - 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 + bool m_bSweetDreams; // 0x12c8 + bool m_bConfusion; // 0x12c9 + bool m_bSelfBreakAvailable; // 0x12ca + bool m_bNoStatusEffect; // 0x12cb + int32_t m_nSource; // 0x12cc + float animation_rate; // 0x12d0 + GameTime_t m_flNextNightmareDamageTime; // 0x12d4 + float m_flAccumNightmareDamage; // 0x12d8 + int32_t movespeed_pct; // 0x12dc + int32_t attack_speed; // 0x12e0 + int32_t model_scale; // 0x12e4 + CHandle< CBaseEntity > m_hConfusionAttackTarget; // 0x12e8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Bane_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: - int32_t m_nMoveSpeed; // 0x12b8 + int32_t m_nMoveSpeed; // 0x12c8 }; // Alignment: 6 @@ -44153,32 +44616,32 @@ public: }; // Alignment: 9 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip : public CDOTA_Buff { public: - 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 + int32_t fiend_grip_mana_drain; // 0x12c8 + int32_t fiend_grip_boost_lifesteal_multiplier; // 0x12cc + int32_t fiend_grip_damage; // 0x12d0 + int32_t fiend_grip_spread_radius; // 0x12d4 + float fiend_grip_tick_interval; // 0x12d8 + GameTime_t m_flLastSpreadTime; // 0x12dc + bool m_bThinkerSource; // 0x12e0 + bool m_bRequiresChanneling; // 0x12e1 + bool m_bPrimaryGrip; // 0x12e2 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Cast_Illusion : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x12b8 - float fiend_grip_tick_interval; // 0x12bc + int32_t fiend_grip_mana_drain; // 0x12c8 + float fiend_grip_tick_interval; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Self : public CDOTA_Buff { public: @@ -44186,7 +44649,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Illusion_Can_Only_Channel : public CDOTA_Buff { public: @@ -44194,7 +44657,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Illusion : public CDOTA_Buff { public: @@ -44218,11 +44681,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble_DamageStealBuff : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 + int32_t damage_reduction; // 0x12c8 }; // Alignment: 0 @@ -44234,11 +44697,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Bane_FiendsGripThinker : public CDOTA_Buff { public: - int32_t latch_range; // 0x12b8 + int32_t latch_range; // 0x12c8 }; // Alignment: 0 @@ -44290,23 +44753,23 @@ public: }; // Alignment: 5 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_AghsFort_Bane_BrainSap_Knockback : public CDOTA_Modifier_Knockback { public: - int32_t radius; // 0x12e8 - int32_t heal_pct; // 0x12ec - float slow_duration; // 0x12f0 - int32_t m_nBrainSapDamage; // 0x12f4 - CUtlVector< CHandle< CBaseEntity > > m_vecHitTargets; // 0x12f8 + int32_t radius; // 0x12f8 + int32_t heal_pct; // 0x12fc + float slow_duration; // 0x1300 + int32_t m_nBrainSapDamage; // 0x1304 + CUtlVector< CHandle< CBaseEntity > > m_vecHitTargets; // 0x1308 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Bane_BrainSap_KnockbackSlow : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x12b8 + int32_t movement_slow_pct; // 0x12c8 }; // Alignment: 0 @@ -44318,28 +44781,28 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Bane_BrainSap_NightmareMirror : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Bane_BrainSap_Invis : public CDOTA_Modifier_Invisible { public: - int32_t invis_movement_speed; // 0x12c8 + int32_t invis_movement_speed; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Bane_Invis_Crit : public CDOTA_Buff { public: - int32_t invis_brain_sap_crit_pct; // 0x12b8 - int32_t m_nCritPct; // 0x12bc + int32_t invis_brain_sap_crit_pct; // 0x12c8 + int32_t m_nCritPct; // 0x12cc }; // Alignment: 0 @@ -44359,7 +44822,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Phoenix_SunRayVision : public CDOTA_Buff { public: @@ -44367,37 +44830,37 @@ public: }; // Alignment: 21 -// Size: 0x1338 +// Size: 0x1348 class CDOTA_Modifier_AghsFort_Phoenix_SunRay : public CDOTA_Buff { public: - 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 + float hp_cost_pct; // 0x12c8 + int32_t beam_range; // 0x12cc + int32_t base_damage; // 0x12d0 + int32_t base_heal; // 0x12d4 + float tick_interval; // 0x12d8 + float forward_move_speed; // 0x12dc + float turn_rate_initial; // 0x12e0 + float turn_rate; // 0x12e4 + int32_t radius; // 0x12e8 + float m_flCurrentTime; // 0x12ec + float m_flAccumulatedSelfDamage; // 0x12f0 + bool m_bMovingForward; // 0x12f4 + bool m_bTurningFast; // 0x12f5 private: - [[maybe_unused]] uint8_t __pad12e6[0x2]; // 0x12e6 + [[maybe_unused]] uint8_t __pad12f6[0x2]; // 0x12f6 public: - 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 + float m_flFacingTarget; // 0x12f8 + float hp_perc_heal; // 0x12fc + ParticleIndex_t m_nBeamFXIndex; // 0x1300 + CHandle< CBaseEntity > m_hVisionThinkers[8]; // 0x1304 + CHandle< CBaseEntity > m_hBeamEnd; // 0x1324 + bool m_bCreatedVisionThinkers; // 0x1328 private: - [[maybe_unused]] uint8_t __pad1319[0x3]; // 0x1319 + [[maybe_unused]] uint8_t __pad1329[0x3]; // 0x1329 public: - CHandle< CBaseEntity > m_hBeamEndSound; // 0x131c - CUtlVector< CHandle< CBaseEntity > > m_vecDispelledAllies; // 0x1320 + CHandle< CBaseEntity > m_hBeamEndSound; // 0x132c + CUtlVector< CHandle< CBaseEntity > > m_vecDispelledAllies; // 0x1330 }; // Alignment: 0 @@ -44425,36 +44888,36 @@ public: }; // Alignment: 13 -// Size: 0x1328 +// Size: 0x1338 class CDOTA_Modifier_AghsFort_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 - int32_t damage_per_second; // 0x1300 + Vector m_vSource; // 0x12c8 + Vector m_vTarget; // 0x12d4 + Vector m_vDirection; // 0x12e0 + QAngle m_angDirection; // 0x12ec + float m_flCurrentTime; // 0x12f8 + int32_t dash_length; // 0x12fc + int32_t dash_width; // 0x1300 + int32_t hit_radius; // 0x1304 + float burn_duration; // 0x1308 + float dive_duration; // 0x130c + int32_t damage_per_second; // 0x1310 private: - [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 + [[maybe_unused]] uint8_t __pad1314[0x4]; // 0x1314 public: - CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x1308 - bool m_bSavedAlly; // 0x1320 + CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x1318 + bool m_bSavedAlly; // 0x1330 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Phoenix_IcarusDiveBurn : public CDOTA_Buff { public: - float burn_tick_interval; // 0x12b8 - int32_t damage_per_second; // 0x12bc - int32_t slow_movement_speed_pct; // 0x12c0 + float burn_tick_interval; // 0x12c8 + int32_t damage_per_second; // 0x12cc + int32_t slow_movement_speed_pct; // 0x12d0 }; // Alignment: 2 @@ -44467,12 +44930,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Phoenix_FireSpiritCount : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t spirit_count; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t spirit_count; // 0x12cc }; // Alignment: 6 @@ -44492,13 +44955,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Phoenix_FireSpiritBurn : public CDOTA_Buff { public: - float tick_interval; // 0x12b8 - int32_t attackspeed_slow; // 0x12bc - int32_t damage_per_second; // 0x12c0 + float tick_interval; // 0x12c8 + int32_t attackspeed_slow; // 0x12cc + int32_t damage_per_second; // 0x12d0 }; // Alignment: 0 @@ -44510,7 +44973,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Phoenix_SupernovaHiding : public CDOTA_Buff { public: @@ -44518,60 +44981,60 @@ public: }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_Phoenix_Sun : public CDOTA_Buff { public: - 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 + int32_t aura_radius; // 0x12c8 + float stun_duration; // 0x12cc + int32_t attacks_to_kill; // 0x12d0 + int32_t captain_attack_value; // 0x12d4 + int32_t boss_attack_value; // 0x12d8 + CHandle< CBaseEntity > m_hSecondaryTarget; // 0x12dc + bool m_bHasExpelCoreShard; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t m_nAttackCount; // 0x12d4 - int32_t creep_attacks_count; // 0x12d8 + int32_t m_nAttackCount; // 0x12e4 + int32_t creep_attacks_count; // 0x12e8 }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_Phoenix_SecondSun : public CDOTA_Buff { public: - 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 + int32_t aura_radius; // 0x12c8 + float stun_duration; // 0x12cc + int32_t attacks_to_kill; // 0x12d0 + int32_t captain_attack_value; // 0x12d4 + int32_t boss_attack_value; // 0x12d8 + int32_t m_nAttackCount; // 0x12dc + int32_t m_nRadius; // 0x12e0 + float m_fSecondSunRadiusPct; // 0x12e4 + int32_t creep_attacks_count; // 0x12e8 }; // Alignment: 12 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_Phoenix_Sun_Debuff : public CDOTA_Buff { public: - 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 + int32_t damage_per_sec; // 0x12c8 + float damage_interval; // 0x12cc + int32_t aura_radius; // 0x12d0 + float m_fRadius; // 0x12d4 + float m_fSecondSunRadiusPct; // 0x12d8 + GameTime_t m_fNextDamageTime; // 0x12dc + GameTime_t m_fLastThinkTime; // 0x12e0 + bool m_bHasHorizonAbility; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - int32_t m_nHorizonPushDistance; // 0x12d8 - float m_fHorizonPushInterval; // 0x12dc - GameTime_t m_fNextHorizonPushTime; // 0x12e0 - ParticleIndex_t m_nHorizonFX; // 0x12e4 + int32_t m_nHorizonPushDistance; // 0x12e8 + float m_fHorizonPushInterval; // 0x12ec + GameTime_t m_fNextHorizonPushTime; // 0x12f0 + ParticleIndex_t m_nHorizonFX; // 0x12f4 }; // Alignment: 0 @@ -44583,7 +45046,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Caster : public CDOTA_Buff { public: @@ -44591,20 +45054,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Ally : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hSaviorEnt; // 0x12b8 - float ally_position_offset; // 0x12bc + CHandle< CBaseEntity > m_hSaviorEnt; // 0x12c8 + float ally_position_offset; // 0x12cc }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Invis : public CDOTA_Modifier_PersistentInvisibility { public: - float duration; // 0x12c8 + float duration; // 0x12d8 }; // Alignment: 0 @@ -44640,13 +45103,13 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Special_Phoenix_FireSpirits_Artillery_Carry : public CDOTA_Buff { public: - int32_t m_nProjectileHandle; // 0x12b8 - Vector m_vDirection; // 0x12bc - float unit_position_offset; // 0x12c8 + int32_t m_nProjectileHandle; // 0x12c8 + Vector m_vDirection; // 0x12cc + float unit_position_offset; // 0x12d8 }; // Alignment: 0 @@ -44658,7 +45121,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Passive : public CDOTA_Buff { public: @@ -44674,45 +45137,45 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Attack_TreeFire_Thinker : public CDOTA_Buff { public: - CUtlVector< CUtlPair< CHandle< CBaseEntity >, GameTime_t > > m_vecTreeFires; // 0x12b8 - bool m_bCleanupWhenEmpty; // 0x12d0 + CUtlVector< CUtlPair< CHandle< CBaseEntity >, GameTime_t > > m_vecTreeFires; // 0x12c8 + bool m_bCleanupWhenEmpty; // 0x12e0 }; // Alignment: 9 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Attack : public CDOTA_Buff { public: - 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 + float radius_pct_as_length; // 0x12c8 + int32_t width; // 0x12cc + float linger_duration; // 0x12d0 + float m_fLength; // 0x12d4 + ParticleIndex_t m_nBeamFXIndex; // 0x12d8 + CHandle< CBaseEntity > m_hBeamEnd; // 0x12dc + GameTime_t m_flLastHit; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CBaseEntity* > m_vecBurningTrees; // 0x12d8 - CHandle< CBaseEntity > m_hTreeFireThinker; // 0x12f0 + CUtlVector< CBaseEntity* > m_vecBurningTrees; // 0x12e8 + CHandle< CBaseEntity > m_hTreeFireThinker; // 0x1300 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Phoenix_FlameRevenant_Attack_Damage : public CDOTA_Buff { public: - 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 + float m_fDamagePerSecond; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + ParticleIndex_t m_nActiveFXIndex; // 0x12d0 + ParticleIndex_t m_nActiveStatusFXIndex; // 0x12d4 + float flame_revenant_damage_pct; // 0x12d8 + float think_interval; // 0x12dc + int32_t move_slow_pct; // 0x12e0 }; // Alignment: 0 @@ -44740,20 +45203,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Special_Phoenix_SunRay_GammaRay_Slow : public CDOTA_Buff { public: - int32_t move_slow_pct; // 0x12b8 + int32_t move_slow_pct; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Phoenix_SunRay_Luminance : public CDOTA_Buff { public: - float pct_of_heal_as_attack_speed; // 0x12b8 - float m_fAttackSpeedBonus; // 0x12bc + float pct_of_heal_as_attack_speed; // 0x12c8 + float m_fAttackSpeedBonus; // 0x12cc }; // Alignment: 0 @@ -44813,24 +45276,24 @@ public: }; // Alignment: 11 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_Flux : public CDOTA_Buff { public: - 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 + int32_t m_nCasterTeam; // 0x12c8 + int32_t damage_per_tick_min; // 0x12cc + int32_t damage_per_tick_max; // 0x12d0 + int32_t search_radius; // 0x12d4 + int32_t move_speed_slow_pct; // 0x12d8 + float think_interval; // 0x12dc + float m_fCurrentDamage; // 0x12e0 + float m_fDamageIncreasePerTick; // 0x12e4 + int32_t m_nCurrentSlow; // 0x12e8 + bool m_bAlone; // 0x12ec private: - [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd + [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed public: - ParticleIndex_t m_nFXIndex; // 0x12e0 + ParticleIndex_t m_nFXIndex; // 0x12f0 }; // Alignment: 0 @@ -44842,55 +45305,55 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - int32_t radius; // 0x12c0 - float explosion_delay_time; // 0x12c4 - float explosion_stun_duration; // 0x12c8 - int32_t explosion_damage; // 0x12cc - int32_t caster_team; // 0x12d0 + int32_t radius; // 0x12d0 + float explosion_delay_time; // 0x12d4 + float explosion_stun_duration; // 0x12d8 + int32_t explosion_damage; // 0x12dc + int32_t caster_team; // 0x12e0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Explosion : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t explosion_damage; // 0x12bc - float explosion_stun_duration; // 0x12c0 - float explosion_delay_time; // 0x12c4 + int32_t radius; // 0x12c8 + int32_t explosion_damage; // 0x12cc + float explosion_stun_duration; // 0x12d0 + float explosion_delay_time; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Attack_Speed : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance; // 0x12b8 - int32_t radius; // 0x12bc - float aura_origin_x; // 0x12c0 - float aura_origin_y; // 0x12c4 + int32_t evasion_chance; // 0x12c8 + int32_t radius; // 0x12cc + float aura_origin_x; // 0x12d0 + float aura_origin_y; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Attack_Speed : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x12b8 + int32_t attack_speed_bonus; // 0x12c8 }; // Alignment: 5 @@ -44906,42 +45369,42 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Purge : public CDOTA_Buff { public: - int32_t move_speed_slow_pct; // 0x12b8 + int32_t move_speed_slow_pct; // 0x12c8 }; // Alignment: 18 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t wraith_vision_radius; // 0x12bc - int32_t wraith_speed; // 0x12c0 + int32_t radius; // 0x12c8 + int32_t wraith_vision_radius; // 0x12cc + int32_t wraith_speed; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x8]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x8]; // 0x12d4 public: - 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 + float activation_delay; // 0x12dc + float scepter_activation_delay; // 0x12e0 + float think_interval; // 0x12e4 + float search_timer_min; // 0x12e8 + float search_timer_max; // 0x12ec + float mini_stun_duration; // 0x12f0 + int32_t move_speed_slow_pct; // 0x12f4 + int32_t m_nSparkDamage; // 0x12f8 + bool m_bActive; // 0x12fc + bool m_bOriginal; // 0x12fd private: - [[maybe_unused]] uint8_t __pad12ee[0x2]; // 0x12ee + [[maybe_unused]] uint8_t __pad12fe[0x2]; // 0x12fe public: - float m_fSearchTimer; // 0x12f0 - float m_fRotationSpeed; // 0x12f4 - int32_t m_nRotationDirection; // 0x12f8 - Vector m_vRotationCenter; // 0x12fc - ParticleIndex_t m_nFXIndex; // 0x1308 + float m_fSearchTimer; // 0x1300 + float m_fRotationSpeed; // 0x1304 + int32_t m_nRotationDirection; // 0x1308 + Vector m_vRotationCenter; // 0x130c + ParticleIndex_t m_nFXIndex; // 0x1318 }; // Alignment: 1 @@ -44953,44 +45416,44 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble : public CDOTA_Buff { public: - int32_t damage_increase; // 0x12b8 + int32_t damage_increase; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble_Phase : public CDOTA_Buff { public: - int32_t num_doubles; // 0x12b8 + int32_t num_doubles; // 0x12c8 }; // Alignment: 12 -// Size: 0x1318 +// Size: 0x1328 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MeteorShockwave_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x12b8 - float m_fCurRadius; // 0x12bc - GameTime_t m_fLastThink; // 0x12c0 - bool m_bWindingUp; // 0x12c4 + float m_fLastRadius; // 0x12c8 + float m_fCurRadius; // 0x12cc + GameTime_t m_fLastThink; // 0x12d0 + bool m_bWindingUp; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - CountdownTimer m_ViewerTimer; // 0x12c8 - ParticleIndex_t m_nFXIndex; // 0x12e0 + CountdownTimer m_ViewerTimer; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - 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 + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12f8 + int32_t speed; // 0x1310 + int32_t radius; // 0x1314 + float knockback_distance; // 0x1318 + float knockback_duration; // 0x131c + float windup_time; // 0x1320 }; // Alignment: 0 @@ -45010,35 +45473,35 @@ public: }; // Alignment: 15 -// Size: 0x1338 +// Size: 0x1348 class CDOTA_Modifier_Aghsfort_ArcWardenBoss_SparkWraith_Missile : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + ParticleIndex_t m_nFXIndex2; // 0x12cc + int32_t hero_damage; // 0x12d0 + int32_t acceleration; // 0x12d4 + int32_t min_damage; // 0x12d8 + int32_t max_distance; // 0x12dc + float pre_flight_time; // 0x12e0 + float stun_duration; // 0x12e4 + int32_t m_nMissileDamage; // 0x12e8 + int32_t m_nTeamNumber; // 0x12ec private: - [[maybe_unused]] uint8_t __pad12e0[0x8]; // 0x12e0 + [[maybe_unused]] uint8_t __pad12f0[0x8]; // 0x12f0 public: - float speed; // 0x12e8 - CHandle< CBaseEntity > m_hAttachTarget; // 0x12ec - Vector m_vStartPosition; // 0x12f0 + float speed; // 0x12f8 + CHandle< CBaseEntity > m_hAttachTarget; // 0x12fc + Vector m_vStartPosition; // 0x1300 private: - [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc + [[maybe_unused]] uint8_t __pad130c[0x4]; // 0x130c public: - CountdownTimer m_EnemyVision; // 0x1300 - CountdownTimer m_MoveTime; // 0x1318 + CountdownTimer m_EnemyVision; // 0x1310 + CountdownTimer m_MoveTime; // 0x1328 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_ArcWardenBoss_SparkWraith_Missile_Target : public CDOTA_Buff { public: @@ -45054,17 +45517,17 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Shard : public CDOTA_Buff { public: - Vector m_vStartPos; // 0x12b8 - Vector m_vEndPos; // 0x12c4 - GameTime_t m_flEndTime; // 0x12d0 + Vector m_vStartPos; // 0x12c8 + Vector m_vEndPos; // 0x12d4 + GameTime_t m_flEndTime; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Shard_Pathing : public CDOTA_Buff { public: @@ -45072,7 +45535,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Stun : public CDOTA_Modifier_Stunned { public: @@ -45080,7 +45543,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Thinker : public CDOTA_Buff { public: @@ -45096,38 +45559,38 @@ public: }; // Alignment: 19 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_Leap : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x4]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x4]; // 0x12c8 public: - 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 + Vector m_vLoc; // 0x12cc + float m_flPredictedTotalTime; // 0x12d8 + Vector m_vStartPosition; // 0x12dc + float m_flCurrentTimeHoriz; // 0x12e8 + float m_flCurrentTimeVert; // 0x12ec + bool m_bHorizontalMotionInterrupted; // 0x12f0 + bool m_bDamageApplied; // 0x12f1 + bool m_bTargetTeleported; // 0x12f2 private: - [[maybe_unused]] uint8_t __pad12e3[0x1]; // 0x12e3 + [[maybe_unused]] uint8_t __pad12f3[0x1]; // 0x12f3 public: - 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 + Vector m_vHorizontalVelocity; // 0x12f4 + Vector m_vLastKnownTargetPosition; // 0x1300 + float m_flInitialVelocityZ; // 0x130c + ParticleIndex_t m_nPreviewFX; // 0x1310 + int32_t scepter_height; // 0x1314 + int32_t scepter_height_arcbuffer; // 0x1318 + int32_t scepter_acceleration_z; // 0x131c + int32_t scepter_acceleration_horizontal; // 0x1320 + int32_t landing_radius; // 0x1324 + float landing_debuff_duration; // 0x1328 + int32_t landing_impact_damage; // 0x132c }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_Animation : public CDOTA_Buff { public: @@ -45135,24 +45598,24 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_LandDebuff : public CDOTA_Buff { public: - int32_t landing_move_slow_pct; // 0x12b8 + int32_t landing_move_slow_pct; // 0x12c8 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x12b8 - int32_t totem_damage_percentage; // 0x12bc + int32_t bonus_attack_range; // 0x12c8 + int32_t totem_damage_percentage; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12c0[0x8]; // 0x12c0 + [[maybe_unused]] uint8_t __pad12d0[0x8]; // 0x12d0 public: - bool bActive; // 0x12c8 + bool bActive; // 0x12d8 }; // Alignment: 0 @@ -45164,37 +45627,37 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_Thinker : public CDOTA_Buff { public: - int32_t effect_radius; // 0x12b8 - float rock_duration; // 0x12bc - int32_t damage; // 0x12c0 + int32_t effect_radius; // 0x12c8 + float rock_duration; // 0x12cc + int32_t damage; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_HP : public CDOTA_Buff { public: - int32_t rock_health; // 0x12b8 - int32_t rock_visualzdelta; // 0x12bc - bool m_bIsCrushing; // 0x12c0 + int32_t rock_health; // 0x12c8 + int32_t rock_visualzdelta; // 0x12cc + bool m_bIsCrushing; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t summon_count; // 0x12c4 + int32_t summon_count; // 0x12d4 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_Crush : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hRock; // 0x12b8 - QAngle m_qRotation; // 0x12bc - float m_flOldPitch; // 0x12c8 + CHandle< CBaseEntity > m_hRock; // 0x12c8 + QAngle m_qRotation; // 0x12cc + float m_flOldPitch; // 0x12d8 }; // Alignment: 0 @@ -45206,18 +45669,18 @@ public: }; // Alignment: 8 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_Primalbeast_Boss_HeavySteps : public CDOTA_Buff { public: - 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 + Vector vLastPos; // 0x12c8 + float flCurrentDistance; // 0x12d4 + int32_t step_distance; // 0x12d8 + int32_t effect_radius; // 0x12dc + int32_t base_damage; // 0x12e0 + CHandle< CBaseEntity > m_hTarget; // 0x12e4 + CountdownTimer ctLastCommandTimer; // 0x12e8 + bool m_bMoveCommandIssued; // 0x1300 }; // Alignment: 1 @@ -45229,114 +45692,114 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - float m_flOffset; // 0x12bc - QAngle m_vStartAngles; // 0x12c0 - float animation_rate; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12c8 + float m_flOffset; // 0x12cc + QAngle m_vStartAngles; // 0x12d0 + float animation_rate; // 0x12dc }; // Alignment: 14 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Self : public CDOTA_Buff { public: - 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 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x12c8 + Vector m_vPos; // 0x12cc + int32_t splash_radius; // 0x12d8 + float interval; // 0x12dc + float ministun; // 0x12e0 + int32_t m_nCurrentHitCount; // 0x12e4 + int32_t total_ripple_circles; // 0x12e8 + int32_t ripple_step_distance; // 0x12ec + int32_t ripple_step_distance_offset; // 0x12f0 + float health_damage; // 0x12f4 + float ripple_duration; // 0x12f8 + int32_t ripple_damage; // 0x12fc + CUtlVector< int32 > m_vLastRippleOffsets; // 0x1300 + float self_animation_rate; // 0x1318 }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Ripple_Thinker : public CDOTA_Buff { public: - 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 + int32_t ripple_effect_width; // 0x12c8 + int32_t ripple_damage; // 0x12cc + int32_t health_damage; // 0x12d0 + int32_t ripple_count; // 0x12d4 + int32_t total_ripple_circles; // 0x12d8 + float radius; // 0x12dc + float ripple_slow_duration; // 0x12e0 + float ripple_knockback_duration; // 0x12e4 + CHandle< CBaseEntity > m_hGrabbedEnemy; // 0x12e8 + ParticleIndex_t m_nPreviewFXIndex; // 0x12ec }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Damage_Tracking : public CDOTA_Buff { public: - int32_t damage_limit; // 0x12b8 - ParticleIndex_t m_nFxIndex; // 0x12bc - float m_fTotalDamage; // 0x12c0 + int32_t damage_limit; // 0x12c8 + ParticleIndex_t m_nFxIndex; // 0x12cc + float m_fTotalDamage; // 0x12d0 }; // Alignment: 10 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_End_Knockback : public CDOTA_Buff { public: - 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 + Vector m_vLoc; // 0x12c8 + float m_flPredictedTotalTime; // 0x12d4 + Vector m_vStartPosition; // 0x12d8 + float m_flCurrentTimeHoriz; // 0x12e4 + float m_flCurrentTimeVert; // 0x12e8 + bool m_bHorizontalMotionInterrupted; // 0x12ec + bool m_bTargetTeleported; // 0x12ed private: - [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de + [[maybe_unused]] uint8_t __pad12ee[0x2]; // 0x12ee public: - Vector m_vHorizontalVelocity; // 0x12e0 - Vector m_vLastKnownTargetPosition; // 0x12ec - float m_flInitialVelocityZ; // 0x12f8 + Vector m_vHorizontalVelocity; // 0x12f0 + Vector m_vLastKnownTargetPosition; // 0x12fc + float m_flInitialVelocityZ; // 0x1308 }; // Alignment: 14 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_Pummel_LootDrop_Thinker : public CDOTA_Buff { public: - bool m_bAutoPickup; // 0x12b8 - bool m_bOnlyPlayerHeroPickup; // 0x12b9 - bool m_bCreepHeroPickup; // 0x12ba - bool m_bAutoUse; // 0x12bb - bool m_bFlying; // 0x12bc + bool m_bAutoPickup; // 0x12c8 + bool m_bOnlyPlayerHeroPickup; // 0x12c9 + bool m_bCreepHeroPickup; // 0x12ca + bool m_bAutoUse; // 0x12cb + bool m_bFlying; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - 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 + GameTime_t m_flKnockbackStartTime; // 0x12d0 + GameTime_t m_flKnockbackEndTime; // 0x12d4 + float m_flKnockbackHeight; // 0x12d8 + float m_flInitialHeight; // 0x12dc + float m_flKnockbackDuration; // 0x12e0 + float m_flEndHeight; // 0x12e4 + Vector m_vStartPos; // 0x12e8 + Vector m_vEndPos; // 0x12f4 + ParticleIndex_t m_nContainerFx; // 0x1300 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Pummel_DroppedItem : public CDOTA_Buff { public: - ParticleIndex_t m_nPreviewFXIndex; // 0x12b8 + ParticleIndex_t m_nPreviewFXIndex; // 0x12c8 }; // Alignment: 1 @@ -45348,55 +45811,55 @@ public: }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Windup : public CDOTA_Buff { public: - 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 + float m_flFacingTarget; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12cc + ParticleIndex_t m_nCrosshairFX; // 0x12d0 + float charge_duration; // 0x12d4 + float max_charge_time; // 0x12d8 + float turn_rate; // 0x12dc + float base_power; // 0x12e0 + int32_t charge_speed; // 0x12e4 + float animation_rate; // 0x12e8 }; // Alignment: 9 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Movement : public CDOTA_Buff { public: - 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 + float charge_speed; // 0x12c8 + int32_t knockback_radius; // 0x12cc + int32_t knockback_distance; // 0x12d0 + int32_t knockback_damage; // 0x12d4 + int32_t forward_offset; // 0x12d8 + CHandle< CBaseEntity > m_hTarget; // 0x12dc + float m_flFacingTarget; // 0x12e0 + ParticleIndex_t m_nFXIndex; // 0x12e4 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12e8 }; // Alignment: 10 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Knockback : public CDOTA_Buff { public: - 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 + Vector m_vLoc; // 0x12c8 + float m_flPredictedTotalTime; // 0x12d4 + Vector m_vStartPosition; // 0x12d8 + float m_flCurrentTimeHoriz; // 0x12e4 + float m_flCurrentTimeVert; // 0x12e8 + bool m_bHorizontalMotionInterrupted; // 0x12ec + bool m_bTargetTeleported; // 0x12ed private: - [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de + [[maybe_unused]] uint8_t __pad12ee[0x2]; // 0x12ee public: - Vector m_vHorizontalVelocity; // 0x12e0 - Vector m_vLastKnownTargetPosition; // 0x12ec - float m_flInitialVelocityZ; // 0x12f8 + Vector m_vHorizontalVelocity; // 0x12f0 + Vector m_vLastKnownTargetPosition; // 0x12fc + float m_flInitialVelocityZ; // 0x1308 }; // Alignment: 0 @@ -45408,20 +45871,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Inhibition : public CDOTA_Buff { public: - float debuff_duration; // 0x12b8 + float debuff_duration; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Inhibition_Debuff : public CDOTA_Buff { public: - int32_t heal_suppression_pct; // 0x12b8 - int32_t armor_reduction_pct; // 0x12bc + int32_t heal_suppression_pct; // 0x12c8 + int32_t armor_reduction_pct; // 0x12cc }; // Alignment: 0 @@ -45433,25 +45896,25 @@ public: }; // Alignment: 12 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Vault : public CDOTA_Buff { public: - 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 + float m_flTotalTime; // 0x12c8 + float m_flInitialVelocity; // 0x12cc + GameTime_t m_flEndTime; // 0x12d0 + Vector m_vStartPosition; // 0x12d4 + Vector m_vTargetHorizontalDirection; // 0x12e0 + float m_flCurrentTimeHoriz; // 0x12ec + float m_flCurrentTimeVert; // 0x12f0 + bool m_bInterrupted; // 0x12f4 + bool m_bStartedLandingSequence; // 0x12f5 private: - [[maybe_unused]] uint8_t __pad12e6[0x2]; // 0x12e6 + [[maybe_unused]] uint8_t __pad12f6[0x2]; // 0x12f6 public: - float vault_speed; // 0x12e8 - float vault_acceleration; // 0x12ec - int32_t vault_radius; // 0x12f0 + float vault_speed; // 0x12f8 + float vault_acceleration; // 0x12fc + int32_t vault_radius; // 0x1300 }; // Alignment: 6 @@ -45486,57 +45949,57 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Primalbeast_Boss_RoarAttack_Start : public CDOTA_Buff { public: - 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 + int32_t rock_drop_intervals; // 0x12c8 + int32_t rock_drop_per_interval; // 0x12cc + int32_t rock_drop_distance; // 0x12d0 + int32_t m_nCurrentInterval; // 0x12d4 + int32_t rock_drop_rotation_angle; // 0x12d8 + CHandle< CBaseEntity > m_hTarget; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_NoCC : public CDOTA_Buff { public: - bool bCanbeMotionControlled; // 0x12b8 + bool bCanbeMotionControlled; // 0x12c8 }; // Alignment: 23 -// Size: 0x1368 +// Size: 0x1378 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift : public CDOTA_Buff { public: - 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 + int32_t projectile_speed; // 0x12c8 + int32_t projectile_speed_increment; // 0x12cc + int32_t projectile_distance; // 0x12d0 + int32_t projectile_width; // 0x12d4 + int32_t projectiles_per_interval; // 0x12d8 + int32_t projectiles_per_interval_increment; // 0x12dc + int32_t initial_spread_angle; // 0x12e0 + int32_t angle_offset; // 0x12e4 + int32_t iCurrentInterval; // 0x12e8 + int32_t splinter_angle; // 0x12ec + CountdownTimer m_LeftHandSmashTimer; // 0x12f0 + CountdownTimer m_RightHandSmashTimer; // 0x1308 + CountdownTimer m_AttackIntervalTimer; // 0x1320 + float initial_interval; // 0x1338 + float interval_reduction; // 0x133c + float min_interval; // 0x1340 + int32_t arm_distance_forward; // 0x1344 + int32_t arm_distance_side; // 0x1348 + int32_t splash_radius; // 0x134c + int32_t max_split_amount; // 0x1350 + int32_t m_nCurrentCastCount; // 0x1354 + int32_t max_projectiles; // 0x1358 private: - [[maybe_unused]] uint8_t __pad134c[0x4]; // 0x134c + [[maybe_unused]] uint8_t __pad135c[0x4]; // 0x135c public: - CUtlVector< int32 > m_vecProjectileHandles; // 0x1350 + CUtlVector< int32 > m_vecProjectileHandles; // 0x1360 }; // Alignment: 1 @@ -45559,7 +46022,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Stun : public CDOTA_Modifier_Stunned { public: @@ -45567,24 +46030,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x12b8 - int32_t slow_attack_speed_pct; // 0x12bc + int32_t slow_movement_speed_pct; // 0x12c8 + int32_t slow_attack_speed_pct; // 0x12cc }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Push : public CDOTA_Buff { public: - Vector m_vVelocity; // 0x12b8 + Vector m_vVelocity; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_InAbilityPhaseStart : public CDOTA_Buff { public: @@ -45592,7 +46055,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_CastTracker : public CDOTA_Buff { public: @@ -45600,7 +46063,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_TimeOut : public CDOTA_Buff { public: @@ -45608,13 +46071,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_Damage : public CDOTA_Buff { public: - float tick_damage; // 0x12b8 - int32_t damage_ticks; // 0x12bc - int32_t m_nTickAmount; // 0x12c0 + float tick_damage; // 0x12c8 + int32_t damage_ticks; // 0x12cc + int32_t m_nTickAmount; // 0x12d0 }; // Alignment: 1 @@ -45634,35 +46097,35 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinaleOrb : public CDOTA_Buff { public: - 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 + int32_t caustic_finale_radius; // 0x12c8 + int32_t caustic_finale_damage_death; // 0x12cc + int32_t caustic_finale_damage_dot; // 0x12d0 + int32_t caustic_finale_slow; // 0x12d4 + float caustic_finale_dot_tick; // 0x12d8 }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinale : public CDOTA_Buff { public: - float caustic_finale_duration; // 0x12b8 + float caustic_finale_duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike_Reverse_Tracking : public CDOTA_Buff { public: - Vector m_vStartLocation; // 0x12b8 + Vector m_vStartLocation; // 0x12c8 }; // Alignment: 4 @@ -45677,65 +46140,65 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Sand_King_Impale : public CDOTA_Buff { public: - float m_flStartZ; // 0x12b8 - float m_flCurTime; // 0x12bc - bool m_bDamageApplied; // 0x12c0 + float m_flStartZ; // 0x12c8 + float m_flCurTime; // 0x12cc + bool m_bDamageApplied; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - float m_flPower; // 0x12c4 + float m_flPower; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike : public CDOTA_Buff { public: - Vector m_vPopupLocation; // 0x12b8 - bool m_bTeleported; // 0x12c4 + Vector m_vPopupLocation; // 0x12c8 + bool m_bTeleported; // 0x12d4 }; // Alignment: 10 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm : public CDOTA_Buff { public: - 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 + float 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 __pad12d0[0x8]; // 0x12d0 + [[maybe_unused]] uint8_t __pad12e0[0x8]; // 0x12e0 public: - CHandle< CBaseEntity > m_hThinker; // 0x12d8 - CHandle< CBaseEntity > m_hBurrowstrikeFieldThinker; // 0x12dc - bool m_bIsPrimarySandstorm; // 0x12e0 + CHandle< CBaseEntity > m_hThinker; // 0x12e8 + CHandle< CBaseEntity > m_hBurrowstrikeFieldThinker; // 0x12ec + bool m_bIsPrimarySandstorm; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - Vector vecSpawnPos; // 0x12e4 + Vector vecSpawnPos; // 0x12f4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow_Aura_Thinker : public CDOTA_Buff { public: - float sand_storm_radius; // 0x12b8 + float sand_storm_radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow : public CDOTA_Buff { public: - int32_t blind_slow_pct; // 0x12b8 + int32_t blind_slow_pct; // 0x12c8 }; // Alignment: 1 @@ -45747,24 +46210,24 @@ public: }; // Alignment: 5 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Aghsfort_Sand_King_Epicenter : public CDOTA_Buff { public: - 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 + int32_t epicenter_pulses; // 0x12c8 + int32_t epicenter_radius[16]; // 0x12cc + int32_t epicenter_damage; // 0x130c + int32_t m_iMaxPulses; // 0x1310 + int32_t m_iPulseCount; // 0x1314 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Sand_King_Epicenter_Slow : public CDOTA_Buff { public: - int32_t epicenter_slow; // 0x12b8 - int32_t epicenter_slow_as; // 0x12bc + int32_t epicenter_slow; // 0x12c8 + int32_t epicenter_slow_as; // 0x12cc }; // Alignment: 0 @@ -45776,54 +46239,54 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike_Channel : public CDOTA_Buff { public: - Vector m_vTargetPos; // 0x12b8 - ParticleIndex_t m_nCrosshairFX; // 0x12c4 + Vector m_vTargetPos; // 0x12c8 + ParticleIndex_t m_nCrosshairFX; // 0x12d4 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Sand_King_Burrowstrike_Transport : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x12b8 - Vector m_vDirection; // 0x12bc - float m_flEndTime; // 0x12c8 - float m_flCurTime; // 0x12cc + int32_t m_nProjectileID; // 0x12c8 + Vector m_vDirection; // 0x12cc + float m_flEndTime; // 0x12d8 + float m_flCurTime; // 0x12dc }; // Alignment: 11 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Aghsfort_Sand_King_Sandstorm_Burrowstrike_Field_Thinker : public CDOTA_Buff { public: - 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 + float radius; // 0x12c8 + float explosion_interval; // 0x12cc + int32_t explosion_radius; // 0x12d0 + int32_t explosion_min_dist; // 0x12d4 + float m_fLastTick; // 0x12d8 + float m_fTimeAccumulator; // 0x12dc + int32_t m_iExplosionCount; // 0x12e0 + int32_t m_iExplosionTotalCount; // 0x12e4 + int32_t m_iExplosionQuadrant; // 0x12e8 + int32_t m_iExplosionDistance; // 0x12ec + ParticleIndex_t m_nFXIndex; // 0x12f0 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Sandstorm_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x12b8 - Vector vPullLocation; // 0x12bc + float pull_speed; // 0x12c8 + Vector vPullLocation; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinale_Active : public CDOTA_Buff { public: @@ -45895,12 +46358,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Caustic_Finale_StrengthBuff : public CDOTA_Buff { public: - int32_t str_pct; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t str_pct; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 0 @@ -45920,13 +46383,13 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_Movement : public CDOTA_Buff { public: - Vector vLastPos; // 0x12b8 - float m_fAccumulatedDistance; // 0x12c4 - int32_t movement_distance; // 0x12c8 + Vector vLastPos; // 0x12c8 + float m_fAccumulatedDistance; // 0x12d4 + int32_t movement_distance; // 0x12d8 }; // Alignment: 0 @@ -45946,12 +46409,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_DamageResist : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 - int32_t status_resistance; // 0x12bc + int32_t damage_reduction; // 0x12c8 + int32_t status_resistance; // 0x12cc }; // Alignment: 0 @@ -45979,24 +46442,24 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_DamageReduction : public CDOTA_Buff { public: - int32_t damage_pct; // 0x12b8 + int32_t damage_pct; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage : public CDOTA_Buff { public: - 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 + Vector m_vOriginalTarget; // 0x12c8 + int32_t wave_count; // 0x12d4 + int32_t projectile_speed; // 0x12d8 + int32_t projectile_width; // 0x12dc + float m_flInterval; // 0x12e0 + int32_t m_nArrowsFired; // 0x12e4 }; // Alignment: 0 @@ -46008,27 +46471,27 @@ public: }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 - bool m_bBonusAttack; // 0x12d0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + bool m_bBonusAttack; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - int32_t damage_bonus; // 0x12d4 - float debuff_duration; // 0x12d8 + int32_t damage_bonus; // 0x12e4 + float debuff_duration; // 0x12e8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Debuff : public CDOTA_Buff { public: - int32_t attack_slow; // 0x12b8 - float m_fIgniteThinkInterval; // 0x12bc - float m_fIgniteDmgPerSec; // 0x12c0 + int32_t attack_slow; // 0x12c8 + float m_fIgniteThinkInterval; // 0x12cc + float m_fIgniteDmgPerSec; // 0x12d0 }; // Alignment: 5 @@ -46044,23 +46507,23 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x12b8 - Vector m_vFacePosition; // 0x12bc + int32_t m_iCount; // 0x12c8 + Vector m_vFacePosition; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy : public CDOTA_Buff { public: - float attack_rate; // 0x12b8 - int32_t damage_percent; // 0x12bc - ParticleIndex_t m_nFXIndex; // 0x12c0 - bool m_bHasAttacked; // 0x12c4 + float attack_rate; // 0x12c8 + int32_t damage_percent; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d0 + bool m_bHasAttacked; // 0x12d4 }; // Alignment: 0 @@ -46072,13 +46535,13 @@ public: }; // Alignment: 3 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk : public CDOTA_Modifier_Invisible { public: - CUtlVector< CHandle< CBaseEntity > > m_vecWraithTouchedEntities; // 0x12c8 - int32_t move_speed_bonus_pct; // 0x12e0 - int32_t bonus_magic_resist; // 0x12e4 + CUtlVector< CHandle< CBaseEntity > > m_vecWraithTouchedEntities; // 0x12d8 + int32_t move_speed_bonus_pct; // 0x12f0 + int32_t bonus_magic_resist; // 0x12f4 }; // Alignment: 0 @@ -46106,7 +46569,7 @@ public: }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe : public CDOTA_Modifier_Knockback { public: @@ -46114,11 +46577,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe_Slow : public CDOTA_Buff { public: - int32_t move_slow_pct; // 0x12b8 + int32_t move_slow_pct; // 0x12c8 }; // Alignment: 0 @@ -46146,27 +46609,27 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_Thinker : public CDOTA_Buff { public: - float lifetime; // 0x12b8 + float lifetime; // 0x12c8 }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonColossus : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + float cleave_damage_pct; // 0x12cc + int32_t cleave_starting_width; // 0x12d0 + int32_t cleave_ending_width; // 0x12d4 + int32_t cleave_distance; // 0x12d8 + int32_t block_damage_ranged_active; // 0x12dc + int32_t block_damage_melee_active; // 0x12e0 + int32_t hp_gain_per_caster_level; // 0x12e4 + float hp_regen_per_caster_level; // 0x12e8 }; // Alignment: 0 @@ -46178,12 +46641,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Melter : public CDOTA_Buff { public: - float armor_reduction_per_arrow; // 0x12b8 - int32_t m_nMaxStacks; // 0x12bc + float armor_reduction_per_arrow; // 0x12c8 + int32_t m_nMaxStacks; // 0x12cc }; // Alignment: 0 @@ -46203,19 +46666,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Enemy : public CDOTA_Buff { public: - float m_fAttackLoss; // 0x12b8 + float m_fAttackLoss; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Caster : public CDOTA_Buff { public: - int32_t max_stacks; // 0x12b8 + int32_t max_stacks; // 0x12c8 }; // Alignment: 0 @@ -46227,11 +46690,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_Strafe : public CDOTA_Buff { public: - float m_fAttackSpeed; // 0x12b8 + float m_fAttackSpeed; // 0x12c8 }; // Alignment: 0 @@ -46243,30 +46706,30 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Clinkz_BurningArmy_Entrenchment : public CDOTA_Buff { public: - float m_fSlowPct; // 0x12b8 - float radius; // 0x12bc - float think_interval; // 0x12c0 - float linger_duration; // 0x12c4 + float m_fSlowPct; // 0x12c8 + float radius; // 0x12cc + float think_interval; // 0x12d0 + float linger_duration; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Buff : public CDOTA_Buff { public: - float m_fLifestealPct; // 0x12b8 + float m_fLifestealPct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Debuff : public CDOTA_Buff { public: - float m_fSlowPct; // 0x12b8 + float m_fSlowPct; // 0x12c8 }; // Alignment: 0 @@ -46286,7 +46749,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_StunningSkeleton_Debuff : public CDOTA_Modifier_Stunned { public: @@ -46294,38 +46757,38 @@ public: }; // Alignment: 5 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x38]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x38]; // 0x12c8 public: - int32_t model_scale; // 0x12f0 - float radius; // 0x12f4 - int32_t splitshot_count; // 0x12f8 - float debuff_duration; // 0x12fc - float pct_for_moveslow; // 0x1300 + int32_t model_scale; // 0x1300 + float radius; // 0x1304 + int32_t splitshot_count; // 0x1308 + float debuff_duration; // 0x130c + float pct_for_moveslow; // 0x1310 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons_Debuff : public CDOTA_Buff { public: - float m_fMovementSlow; // 0x12b8 + float m_fMovementSlow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons : public CDOTA_Buff { public: - int32_t m_nInitialHealthBarOffset; // 0x12b8 - int32_t colossus_model_scale; // 0x12bc + int32_t m_nInitialHealthBarOffset; // 0x12c8 + int32_t colossus_model_scale; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons_Ministun : public CDOTA_Modifier_Stunned { public: @@ -46437,21 +46900,21 @@ public: }; // Alignment: 11 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_BossDarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: - 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 + float m_fAddInterval; // 0x12c8 + GameTime_t m_fNextAddTime; // 0x12cc + GameTime_t m_flStartTime; // 0x12d0 + float m_flDamageScale; // 0x12d4 + float duration; // 0x12d8 + float attack_logic_duration; // 0x12dc + int32_t speed_boost; // 0x12e0 + int32_t num_adds; // 0x12e4 + int32_t projectile_range; // 0x12e8 + int32_t projectile_speed; // 0x12ec + int32_t projectile_width; // 0x12f0 }; // Alignment: 0 @@ -46463,15 +46926,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_BossDarkWillow_CursedCrown : public CDOTA_Buff { public: - float delay; // 0x12b8 - float stun_duration; // 0x12bc - int32_t stun_radius; // 0x12c0 - int32_t damage; // 0x12c4 - GameTime_t m_fStartTime; // 0x12c8 + float delay; // 0x12c8 + float stun_duration; // 0x12cc + int32_t stun_radius; // 0x12d0 + int32_t damage; // 0x12d4 + GameTime_t m_fStartTime; // 0x12d8 }; // Alignment: 0 @@ -46483,19 +46946,19 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AncientApparition_ColdFeet : public CDOTA_Buff { public: - Vector m_vecStartPosition; // 0x12b8 - int32_t m_nCurrentTick; // 0x12c4 - float damage; // 0x12c8 - int32_t break_distance; // 0x12cc - float stun_duration; // 0x12d0 + Vector m_vecStartPosition; // 0x12c8 + int32_t m_nCurrentTick; // 0x12d4 + float damage; // 0x12d8 + int32_t break_distance; // 0x12dc + float stun_duration; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AncientApparition_ColdFeet_Freeze : public CDOTA_Modifier_Stunned { public: @@ -46512,30 +46975,30 @@ public: }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AncientApparition_IceVortexThinker : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t movement_speed_pct; // 0x12cc + int32_t spell_resist_pct; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + CUtlVector< CHandle< CBaseEntity > > m_hChilledEntities; // 0x12d8 }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AncientApparition_IceVortex : public CDOTA_Buff { public: - 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 + int32_t movement_speed_pct; // 0x12c8 + int32_t spell_resist_pct; // 0x12cc + int32_t drag_speed; // 0x12d0 + float aura_origin_x; // 0x12d4 + float aura_origin_y; // 0x12d8 + int32_t shard_dps; // 0x12dc + int32_t shard_attack_speed_reduction; // 0x12e0 + Vector m_vCenter; // 0x12e4 }; // Alignment: 0 @@ -46547,25 +47010,25 @@ public: }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AncientApparition_ChillingTouch : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - float duration; // 0x12bc - int32_t attack_range_bonus; // 0x12c0 + int32_t damage; // 0x12c8 + float duration; // 0x12cc + int32_t attack_range_bonus; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AncientApparition_ChillingTouch_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 12 @@ -46596,13 +47059,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AncientApparition_IceBlast : public CDOTA_Buff { public: - float dot_damage; // 0x12b8 - float kill_pct; // 0x12bc - CHandle< CBaseEntity > m_hFracturingEntity; // 0x12c0 + float dot_damage; // 0x12c8 + float kill_pct; // 0x12cc + CHandle< CBaseEntity > m_hFracturingEntity; // 0x12d0 }; // Alignment: 4 @@ -46617,11 +47080,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AncientApparition_IceAge : public CDOTA_Buff { public: - float damage; // 0x12b8 + float damage; // 0x12c8 }; // Alignment: 0 @@ -46633,22 +47096,22 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AntiMage_ManaBreak : public CDOTA_Buff { public: - int32_t percent_damage_per_burn; // 0x12b8 - int32_t mana_per_hit; // 0x12bc - float mana_per_hit_pct; // 0x12c0 - float slow_duration; // 0x12c4 + int32_t percent_damage_per_burn; // 0x12c8 + int32_t mana_per_hit; // 0x12cc + float mana_per_hit_pct; // 0x12d0 + float slow_duration; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AntiMage_ManaBreak_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 + int32_t move_slow; // 0x12c8 }; // Alignment: 0 @@ -46668,7 +47131,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AntiMage_Blink_Illusion : public CDOTA_Buff { public: @@ -46700,15 +47163,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Antimage_DampenMagic_Aura_Strong : public CDOTA_Buff { public: - int32_t shard_bonus_aura_range; // 0x12b8 + int32_t shard_bonus_aura_range; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Antimage_DampenMagic_Bonus : public CDOTA_Buff { public: @@ -46716,37 +47179,37 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Antimage_DampenMagic_Aura : public CDOTA_Buff { public: - int32_t shard_radius; // 0x12b8 + int32_t shard_radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Antimage_DampenMagic : public CDOTA_Buff { public: - int32_t shard_spell_damage_reduction_pct; // 0x12b8 - int32_t shard_bonus_spell_damage_reduction_pct; // 0x12bc + int32_t shard_spell_damage_reduction_pct; // 0x12c8 + int32_t shard_bonus_spell_damage_reduction_pct; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AntiMage_Counterspell_Passive : public CDOTA_Buff { public: - int32_t magic_resistance; // 0x12b8 + int32_t magic_resistance; // 0x12c8 }; // Alignment: 2 -// Size: 0x1498 +// Size: 0x14a8 class CDOTA_Modifier_AntiMage_Counterspell : public CDOTA_Buff { public: - CModifierParams m_LastParams; // 0x12b8 - int32_t magic_resistance; // 0x1490 + CModifierParams m_LastParams; // 0x12c8 + int32_t magic_resistance; // 0x14a0 }; // Alignment: 0 @@ -46758,7 +47221,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AntiMage_ManaVoid : public CDOTA_Buff { public: @@ -46790,7 +47253,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bane_Enfeeble : public CDOTA_Buff { public: @@ -46798,13 +47261,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Bane_Enfeeble_Effect : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 - int32_t heal_reduction; // 0x12bc - int32_t cast_reduction; // 0x12c0 + int32_t damage_reduction; // 0x12c8 + int32_t heal_reduction; // 0x12cc + int32_t cast_reduction; // 0x12d0 }; // Alignment: 1 @@ -46832,16 +47295,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Bane_Nightmare : public CDOTA_Buff { public: - int32_t m_nSource; // 0x12b8 - float animation_rate; // 0x12bc + int32_t m_nSource; // 0x12c8 + float animation_rate; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bane_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -46849,12 +47312,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Bane_Nightmare_AttackSpeed_Bonus : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 - CHandle< CBaseEntity > m_hTarget; // 0x12bc + int32_t bonus_attack_speed; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12cc }; // Alignment: 2 @@ -46868,25 +47331,25 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Bane_FiendsGrip : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x12b8 - float fiend_grip_tick_interval; // 0x12bc + int32_t fiend_grip_mana_drain; // 0x12c8 + float fiend_grip_tick_interval; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Bane_FiendsGrip_Cast_Illusion : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x12b8 - float fiend_grip_tick_interval; // 0x12bc + int32_t fiend_grip_mana_drain; // 0x12c8 + float fiend_grip_tick_interval; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bane_FiendsGrip_Self : public CDOTA_Buff { public: @@ -46894,7 +47357,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bane_FiendsGrip_Illusion_Can_Only_Channel : public CDOTA_Buff { public: @@ -46902,7 +47365,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bane_FiendsGrip_Illusion : public CDOTA_Buff { public: @@ -46918,26 +47381,26 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pudge_Swallow : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Pudge_Swallow_Hide : public CDOTA_Buff { public: - float order_lock_duration; // 0x12b8 - GameTime_t m_fOrderLockDone; // 0x12bc - int32_t m_nFXIndex; // 0x12c0 - float shard_regen_pct; // 0x12c4 + float order_lock_duration; // 0x12c8 + GameTime_t m_fOrderLockDone; // 0x12cc + int32_t m_nFXIndex; // 0x12d0 + float shard_regen_pct; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Pudge_Swallow_Effect : public CDOTA_Buff { public: @@ -46991,7 +47454,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Pudge_Meat_Hook_PathingFix : public CDOTA_Buff { public: @@ -46999,7 +47462,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Pudge_Meat_Hook : public CDOTA_Buff { public: @@ -47016,37 +47479,37 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Pudge_Rot : public CDOTA_Buff { public: - int32_t rot_damage; // 0x12b8 - int32_t rot_slow; // 0x12bc - int32_t scepter_rot_regen_reduction_pct; // 0x12c0 + int32_t rot_damage; // 0x12c8 + int32_t rot_slow; // 0x12cc + int32_t scepter_rot_regen_reduction_pct; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x8]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x8]; // 0x12d4 public: - GameTime_t m_flLastRotTime; // 0x12cc - bool m_bQualifiesAsPotentionalDeny; // 0x12d0 + GameTime_t m_flLastRotTime; // 0x12dc + bool m_bQualifiesAsPotentionalDeny; // 0x12e0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pudge_FleshHeap_Block : public CDOTA_Buff { public: - float damage_block; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + float damage_block; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Pudge_FleshHeap : public CDOTA_Buff { public: - float magic_resistance; // 0x12b8 - float damage_block; // 0x12bc - float flesh_heap_strength_buff_amount; // 0x12c0 + float magic_resistance; // 0x12c8 + float damage_block; // 0x12cc + float flesh_heap_strength_buff_amount; // 0x12d0 }; // Alignment: 2 @@ -47060,30 +47523,30 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Pudge_Dismember : public CDOTA_Buff { public: - 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 + int32_t dismember_damage; // 0x12c8 + float strength_damage; // 0x12cc + int32_t m_nTicks; // 0x12d0 + int32_t m_nMaxTicks; // 0x12d4 + float m_flTickRate; // 0x12d8 + float animation_rate; // 0x12dc }; // Alignment: 4 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Pudge_Dismember_Pull : public CDOTA_Buff { public: - Vector m_vDestination; // 0x12b8 - int32_t pull_units_per_second; // 0x12c4 - float pull_distance_limit; // 0x12c8 + Vector m_vDestination; // 0x12c8 + int32_t pull_units_per_second; // 0x12d4 + float pull_distance_limit; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x8]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x8]; // 0x12dc public: - float animation_rate; // 0x12d4 + float animation_rate; // 0x12e4 }; // Alignment: 0 @@ -47151,26 +47614,26 @@ public: }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Juggernaut_BladeFury : public CDOTA_Buff { public: - 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 + int32_t blade_fury_radius; // 0x12c8 + int32_t blade_fury_damage; // 0x12cc + float blade_fury_damage_tick; // 0x12d0 + float m_flTotalAppliedDamage; // 0x12d4 + int32_t shard_bonus_move_speed; // 0x12d8 + float shard_attack_rate; // 0x12dc + GameTime_t m_flNextAttack; // 0x12e0 + bool m_bIgnoreAttackRestriction; // 0x12e4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Jugg_Caster : public CDOTA_Buff { public: - int32_t shard_damage_pct; // 0x12b8 + int32_t shard_damage_pct; // 0x12c8 }; // Alignment: 0 @@ -47182,15 +47645,15 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Juggernaut_Healing_Ward_Aura : public CDOTA_Buff { public: - int32_t healing_ward_movespeed_tooltip; // 0x12b8 + int32_t healing_ward_movespeed_tooltip; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Juggernaut_Healing_Ward_Tracker : public CDOTA_Buff { public: @@ -47198,12 +47661,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Juggernaut_Healing_Ward_Heal : public CDOTA_Buff { public: - int32_t healing_ward_heal_amount; // 0x12b8 - int32_t m_nStartingHealthThisInterval; // 0x12bc + int32_t healing_ward_heal_amount; // 0x12c8 + int32_t m_nStartingHealthThisInterval; // 0x12cc }; // Alignment: 0 @@ -47215,15 +47678,15 @@ public: }; // Alignment: 5 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Juggernaut_BladeDance : public CDOTA_Buff { public: - 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 + int32_t blade_dance_crit_mult; // 0x12c8 + int32_t blade_dance_crit_chance; // 0x12cc + int32_t blade_dance_lifesteal; // 0x12d0 + bool m_bHasCrit; // 0x12d4 + bool m_bWasBladeDanceTriggeredCrit; // 0x12d5 }; // Alignment: 0 @@ -47243,32 +47706,32 @@ public: }; // Alignment: 15 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Juggernaut_Omnislash : public CDOTA_Buff { public: - 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 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + CHandle< CBaseEntity > m_hLastTarget; // 0x12cc + int32_t m_nJumps; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + int32_t bonus_attack_speed; // 0x12d8 + int32_t omni_slash_radius; // 0x12dc + float attack_rate_multiplier; // 0x12e0 + bool m_bFirstHit; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - 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 + int32_t m_iTotalDamage; // 0x12e8 + int32_t m_iHeroDamage; // 0x12ec + int32_t m_iKilledHeroes; // 0x12f0 + GameTime_t m_fNextAttackTime; // 0x12f4 + bool m_bScepterCast; // 0x12f8 + bool m_bReflection; // 0x12f9 + bool m_bEndNext; // 0x12fa }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Juggernaut_Omnislash_Invulnerability : public CDOTA_Buff { public: @@ -47284,17 +47747,17 @@ public: }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Holdout_BladeFury : public CDOTA_Buff { public: - 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 + int32_t blade_fury_damage; // 0x12c8 + int32_t blade_dance_crit_chance; // 0x12cc + int32_t blade_dance_crit_mult; // 0x12d0 + float blade_fury_damage_tick; // 0x12d4 + int32_t blade_fury_radius; // 0x12d8 + int32_t bonus_evasion; // 0x12dc + bool m_bTryToCrit; // 0x12e0 }; // Alignment: 11 @@ -47319,16 +47782,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Holdout_Omnislash : public CDOTA_Buff { public: - float animation_rate; // 0x12b8 - int32_t bonus_damage; // 0x12bc + float animation_rate; // 0x12c8 + int32_t bonus_damage; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Juggernaut_Holdout_Omnislash_FollowupAttack : public CDOTA_Buff { public: @@ -47345,20 +47808,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Shadowraze_Debuff : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x12b8 - int32_t turn_rate_pct; // 0x12bc + int32_t movement_speed_pct; // 0x12c8 + int32_t turn_rate_pct; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Shadowraze_Counter : public CDOTA_Buff { public: - float shadowraze_cooldown; // 0x12b8 + float shadowraze_cooldown; // 0x12c8 }; // Alignment: 0 @@ -47394,23 +47857,23 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Nevermore_Presence_Aura : public CDOTA_Buff { public: - int32_t presence_radius; // 0x12b8 - float kill_buff_duration; // 0x12bc - GameTime_t m_fLastStackChange; // 0x12c0 + int32_t presence_radius; // 0x12c8 + float kill_buff_duration; // 0x12cc + GameTime_t m_fLastStackChange; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Nevermore_Presence : public CDOTA_Buff { public: - int32_t presence_armor_reduction; // 0x12b8 - int32_t bonus_armor_per_stack; // 0x12bc - bool m_bWasHidden; // 0x12c0 + int32_t presence_armor_reduction; // 0x12c8 + int32_t bonus_armor_per_stack; // 0x12cc + bool m_bWasHidden; // 0x12d0 }; // Alignment: 1 @@ -47438,31 +47901,31 @@ public: }; // Alignment: 9 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Nevermore_Necromastery : public CDOTA_Buff { public: - 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 + int32_t necromastery_damage_per_soul; // 0x12c8 + int32_t necromastery_max_souls; // 0x12cc + int32_t necromastery_max_souls_scepter; // 0x12d0 + int32_t shard_crit_pct; // 0x12d4 + int32_t shard_souls_per_kill; // 0x12d8 + float shard_fear_duration; // 0x12dc + ParticleIndex_t m_iParticleSoulsIndex; // 0x12e0 + ParticleIndex_t m_FXIndex; // 0x12e4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Nevermore_Requiem_InvisBreak : public CDOTA_Buff { public: - bool bDisableInvis; // 0x12b8 + bool bDisableInvis; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nevermore_Requiem_Thinker : public CDOTA_Buff { public: @@ -47470,7 +47933,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nevermore_Requiem_Aura : public CDOTA_Buff { public: @@ -47478,15 +47941,15 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Nevermore_Requiem_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x12b8 + Vector m_vOriginal; // 0x12c8 }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Nevermore_Necromastery_Fear : public CDOTA_Modifier_Nevermore_Requiem_Fear { public: @@ -47494,12 +47957,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Nevermore_Requiem_Slow : public CDOTA_Buff { public: - int32_t requiem_reduction_ms; // 0x12b8 - int32_t requiem_reduction_mres; // 0x12bc + int32_t requiem_reduction_ms; // 0x12c8 + int32_t requiem_reduction_mres; // 0x12cc }; // Alignment: 0 @@ -47511,26 +47974,26 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_SandKing_CausticFinale : public CDOTA_Buff { public: - float caustic_finale_duration; // 0x12b8 + float caustic_finale_duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_SandKing_CausticFinaleOrb : public CDOTA_Buff { public: - 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 + int32_t caustic_finale_radius; // 0x12c8 + int32_t caustic_finale_damage_base; // 0x12cc + int32_t caustic_finale_damage_pct; // 0x12d0 + int32_t caustic_finale_slow; // 0x12d4 }; // Alignment: 4 @@ -47545,23 +48008,23 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_SandKing_Impale : public CDOTA_Buff { public: - float m_flPower; // 0x12b8 - float m_flStartZ; // 0x12bc - float m_flCurTime; // 0x12c0 - bool m_bDamageApplied; // 0x12c4 + float m_flPower; // 0x12c8 + float m_flStartZ; // 0x12cc + float m_flCurTime; // 0x12d0 + bool m_bDamageApplied; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Sand_King_BurrowStrike : public CDOTA_Buff { public: - Vector m_vPopupLocation; // 0x12b8 - bool m_bTeleported; // 0x12c4 + Vector m_vPopupLocation; // 0x12c8 + bool m_bTeleported; // 0x12d4 }; // Alignment: 0 @@ -47573,41 +48036,41 @@ public: }; // Alignment: 11 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_SandKing_SandStorm : public CDOTA_Modifier_PersistentInvisibility { public: - 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 + int32_t sand_storm_radius; // 0x12d8 + int32_t sand_storm_damage; // 0x12dc + float damage_tick_rate; // 0x12e0 + GameTime_t m_flLastDamageTime; // 0x12e4 + ParticleIndex_t m_nSandStormParticleIndex1; // 0x12e8 + ParticleIndex_t m_nSandStormParticleIndex2; // 0x12ec private: - [[maybe_unused]] uint8_t __pad12e0[0x8]; // 0x12e0 + [[maybe_unused]] uint8_t __pad12f0[0x8]; // 0x12f0 public: - 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 + CHandle< CBaseEntity > m_hThinker; // 0x12f8 + int32_t sand_storm_move_speed; // 0x12fc + Vector vecSpawnPos; // 0x1300 + int32_t m_iExplosionQuadrant; // 0x130c + int32_t m_iExplosionDistance; // 0x1310 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SandKing_SandStorm_Slow_Aura_Thinker : public CDOTA_Buff { public: - int32_t sand_storm_radius; // 0x12b8 + int32_t sand_storm_radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SandKing_SandStorm_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 - int32_t blind; // 0x12bc + int32_t slow; // 0x12c8 + int32_t blind; // 0x12cc }; // Alignment: 2 @@ -47620,36 +48083,36 @@ public: }; // Alignment: 6 -// Size: 0x1318 +// Size: 0x1328 class CDOTA_Modifier_SandKing_Epicenter : public CDOTA_Buff { public: - 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 + int32_t epicenter_radius_base; // 0x12c8 + int32_t epicenter_radius_increment; // 0x12cc + int32_t epicenter_pulses; // 0x12d0 + int32_t epicenter_radius[16]; // 0x12d4 + int32_t m_iMaxPulses; // 0x1314 + int32_t m_iPulseCount; // 0x1318 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SandKing_Epicenter_Slow : public CDOTA_Buff { public: - int32_t epicenter_slow; // 0x12b8 - int32_t epicenter_slow_as; // 0x12bc + int32_t epicenter_slow; // 0x12c8 + int32_t epicenter_slow_as; // 0x12cc }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 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 + float shard_move_distance; // 0x12c8 + float shard_interval; // 0x12cc + Vector vLastPos; // 0x12d0 + float m_fAccumulatedDistance; // 0x12dc }; // Alignment: 1 @@ -47661,29 +48124,29 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Mirana_Starfall_Scepter_Thinker : public CDOTA_Buff { public: - float interval_scepter; // 0x12b8 - bool bInBufferTime; // 0x12bc + float interval_scepter; // 0x12c8 + bool bInBufferTime; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - int32_t damage; // 0x12c0 - GameTime_t m_flLastApplyTime; // 0x12c4 + int32_t damage; // 0x12d0 + GameTime_t m_flLastApplyTime; // 0x12d4 }; // Alignment: 5 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Mirana_Starfall_Thinker : public CDOTA_Buff { public: - int32_t starfall_secondary_radius; // 0x12b8 - CHandle< CBaseEntity > m_hTarget; // 0x12bc - int32_t m_iDamage; // 0x12c0 - bool m_bStarDropped; // 0x12c4 - bool m_bSecondStar; // 0x12c5 + int32_t starfall_secondary_radius; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12cc + int32_t m_iDamage; // 0x12d0 + bool m_bStarDropped; // 0x12d4 + bool m_bSecondStar; // 0x12d5 }; // Alignment: 7 @@ -47701,7 +48164,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mirana_Leap_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -47722,55 +48185,55 @@ public: }; // Alignment: 20 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_Mirana_Leap : public CDOTA_Buff { public: - 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 + float m_flTotalTime; // 0x12c8 + float m_flInitialVelocity; // 0x12cc + Vector m_vStartPosition; // 0x12d0 + Vector m_vTargetHorizontalDirection; // 0x12dc + float m_flCurrentTimeHoriz; // 0x12e8 + float m_flCurrentTimeVert; // 0x12ec + bool m_bInterrupted; // 0x12f0 + bool m_bIsVectorTargeted; // 0x12f1 private: - [[maybe_unused]] uint8_t __pad12e2[0x2]; // 0x12e2 + [[maybe_unused]] uint8_t __pad12f2[0x2]; // 0x12f2 public: - 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 + Vector m_vFaceDirection; // 0x12f4 + int32_t leap_distance; // 0x1300 + float shard_radius; // 0x1304 + float shard_radius_end; // 0x1308 + float shard_damage; // 0x130c + float shard_slow_pct; // 0x1310 + float shard_slow_duration; // 0x1314 + float leap_speed; // 0x1318 + float leap_acceleration; // 0x131c + int32_t leap_radius; // 0x1320 + float leap_bonus_duration; // 0x1324 + bool m_bLaunched; // 0x1328 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mirana_Leap_Slow : public CDOTA_Buff { public: - int32_t shard_slow_pct; // 0x12b8 + int32_t shard_slow_pct; // 0x12c8 }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Mirana_Leap_Buff : public CDOTA_Buff { public: - int32_t leap_speedbonus; // 0x12b8 - int32_t leap_speedbonus_as; // 0x12bc - bool m_bCritUsed; // 0x12c0 + int32_t leap_speedbonus; // 0x12c8 + int32_t leap_speedbonus_as; // 0x12cc + bool m_bCritUsed; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x7]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x7]; // 0x12d1 public: - CUtlVector< int16 > m_vCritRecords; // 0x12c8 + CUtlVector< int16 > m_vCritRecords; // 0x12d8 }; // Alignment: 0 @@ -47782,17 +48245,17 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Mirana_MoonlightShadow : public CDOTA_Modifier_PersistentInvisibility { public: - float duration; // 0x12c8 - int32_t bonus_movement_speed; // 0x12cc - int32_t evasion; // 0x12d0 + float duration; // 0x12d8 + int32_t bonus_movement_speed; // 0x12dc + int32_t evasion; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mirana_MoonlightShadow_KillTracker : public CDOTA_Buff { public: @@ -47809,11 +48272,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sven_Stormbolt_Hide : public CDOTA_Buff { public: - int32_t m_nHandle; // 0x12b8 + int32_t m_nHandle; // 0x12c8 }; // Alignment: 0 @@ -47825,20 +48288,20 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Sven_GreatCleave : public CDOTA_Buff { public: - 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 + int32_t cleave_starting_width; // 0x12c8 + int32_t cleave_ending_width; // 0x12cc + int32_t cleave_distance; // 0x12d0 + int32_t great_cleave_damage; // 0x12d4 + int32_t strength_bonus; // 0x12d8 + int16_t m_nLastCleaveRecord; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12ce[0x2]; // 0x12ce + [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de public: - int32_t m_nLastCleaveKills; // 0x12d0 + int32_t m_nLastCleaveKills; // 0x12e0 }; // Alignment: 0 @@ -47850,28 +48313,28 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sven_Warcry_Aura : public CDOTA_Buff { public: - int32_t shard_radius; // 0x12b8 + int32_t shard_radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sven_Warcry_Passive : public CDOTA_Buff { public: - int32_t shard_passive_armor; // 0x12b8 + int32_t shard_passive_armor; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sven_Warcry : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 - int32_t bonus_armor; // 0x12bc + int32_t movespeed; // 0x12c8 + int32_t bonus_armor; // 0x12cc }; // Alignment: 0 @@ -47883,12 +48346,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sven_GodsStrength : public CDOTA_Buff { public: - int32_t gods_strength_damage; // 0x12b8 - int32_t bonus_slow_resistance; // 0x12bc + int32_t gods_strength_damage; // 0x12c8 + int32_t bonus_slow_resistance; // 0x12cc }; // Alignment: 0 @@ -47964,44 +48427,44 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_SkeletonKing_VampiricAura : public CDOTA_Buff { public: - 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 + int32_t vampiric_aura; // 0x12c8 + int32_t creep_lifesteal_reduction_pct; // 0x12cc + float skeleton_duration; // 0x12d0 + int32_t max_skeleton_charges; // 0x12d4 + int32_t m_iKillCounter; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SkeletonKing_VampiricAura_Summon_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x12b8 + int32_t m_iCount; // 0x12c8 }; // Alignment: 11 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_SkeletonKing_VampiricAura_Summon : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - int32_t talent_skeleton_damage; // 0x12bc - bool m_bRespawnReady; // 0x12c0 - bool m_bRespawnConsumed; // 0x12c1 - bool m_bKillParentOnDestroy; // 0x12c2 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + int32_t talent_skeleton_damage; // 0x12cc + bool m_bRespawnReady; // 0x12d0 + bool m_bRespawnConsumed; // 0x12d1 + bool m_bKillParentOnDestroy; // 0x12d2 private: - [[maybe_unused]] uint8_t __pad12c3[0x1]; // 0x12c3 + [[maybe_unused]] uint8_t __pad12d3[0x1]; // 0x12d3 public: - 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 + GameTime_t m_flRespawnTime; // 0x12d4 + int32_t vampiric_aura; // 0x12d8 + int32_t gold_bounty; // 0x12dc + int32_t xp_bounty; // 0x12e0 + int32_t skeleton_building_damage_reduction; // 0x12e4 + int32_t skeleton_bonus_hero_damage; // 0x12e8 }; // Alignment: 0 @@ -48013,21 +48476,21 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SkeletonKing_HellfireBlast : public CDOTA_Buff { public: - int32_t blast_dot_damage; // 0x12b8 - int32_t blast_slow; // 0x12bc + int32_t blast_dot_damage; // 0x12c8 + int32_t blast_slow; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SkeletonKing_HellfireBlast_Skeleton_Buff : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_move_speed; // 0x12bc + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_move_speed; // 0x12cc }; // Alignment: 0 @@ -48039,15 +48502,15 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_SkeletonKing_MortalStrike : public CDOTA_Buff { public: - int32_t crit_mult; // 0x12b8 + int32_t crit_mult; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_vCritRecords; // 0x12c0 + CUtlVector< int16 > m_vCritRecords; // 0x12d0 }; // Alignment: 1 @@ -48059,50 +48522,50 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_SkeletonKing_Reincarnation : public CDOTA_Buff { public: - float reincarnate_time; // 0x12b8 - int32_t scepter_aura_radius; // 0x12bc - GameTime_t m_fLastReincarnationTime; // 0x12c0 + float reincarnate_time; // 0x12c8 + int32_t scepter_aura_radius; // 0x12cc + GameTime_t m_fLastReincarnationTime; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SkeletonKing_Reincarnation_SpawnSkeletons : public CDOTA_Buff { public: - int32_t shard_skeleton_count; // 0x12b8 + int32_t shard_skeleton_count; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SkeletonKing_Reincarnation_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 - int32_t attackslow; // 0x12bc + int32_t movespeed; // 0x12c8 + int32_t attackslow; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter : public CDOTA_Buff { public: - float scepter_duration; // 0x12b8 + float scepter_duration; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter_RespawnTime : public CDOTA_Buff { public: - float scepter_respawn_pct; // 0x12b8 + float scepter_respawn_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Skeleton_King_Scepter_Tracker : public CDOTA_Buff { public: @@ -48110,11 +48573,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Skeleton_King_Arcana : public CDOTA_Buff { public: - bool m_bHasCrit; // 0x12b8 + bool m_bHasCrit; // 0x12c8 }; // Alignment: 0 @@ -48126,13 +48589,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_StormSpirit_Electric_Rave : public CDOTA_Buff { public: - int32_t overload_aoe; // 0x12b8 - int32_t overload_damage; // 0x12bc - int32_t shard_attack_speed_bonus; // 0x12c0 + int32_t overload_aoe; // 0x12c8 + int32_t overload_damage; // 0x12cc + int32_t shard_attack_speed_bonus; // 0x12d0 }; // Alignment: 1 @@ -48144,16 +48607,16 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_StormSpirit_StaticRemnantThinker : public CDOTA_Buff { public: - 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 + int32_t static_remnant_radius; // 0x12c8 + int32_t static_remnant_damage_radius; // 0x12cc + int32_t static_remnant_damage; // 0x12d0 + float static_remnant_delay; // 0x12d4 + int32_t m_iSearchRadius; // 0x12d8 + int32_t m_iDamageRadius; // 0x12dc }; // Alignment: 0 @@ -48165,25 +48628,25 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_StormSpirit_ElectricVortex_SelfSlow : public CDOTA_Buff { public: - int32_t electric_vortex_self_slow; // 0x12b8 + int32_t electric_vortex_self_slow; // 0x12c8 }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_StormSpirit_ElectricVortex_Pull : public CDOTA_Buff { public: - Vector m_vDestination; // 0x12b8 - int32_t electric_vortex_pull_distance; // 0x12c4 - float electric_vortex_pull_tether_range; // 0x12c8 + Vector m_vDestination; // 0x12c8 + int32_t electric_vortex_pull_distance; // 0x12d4 + float electric_vortex_pull_tether_range; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_StormSpirit_ElectricVortex_NoStack : public CDOTA_Buff { public: @@ -48203,7 +48666,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_StormSpirit_Overload_Passive : public CDOTA_Buff { public: @@ -48211,20 +48674,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_StormSpirit_Overload : public CDOTA_Buff { public: - int32_t overload_aoe; // 0x12b8 + int32_t overload_aoe; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_StormSpirit_OverloadSlow : public CDOTA_Buff { public: - int32_t overload_move_slow; // 0x12b8 - int32_t overload_attack_slow; // 0x12bc + int32_t overload_move_slow; // 0x12c8 + int32_t overload_attack_slow; // 0x12cc }; // Alignment: 12 @@ -48252,7 +48715,7 @@ public: }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_StormSpirit_BallLightning : public CDOTA_Buff { public: @@ -48260,19 +48723,19 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Holdout_StaticRemnantThinker : public CDOTA_Buff { public: - 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 + int32_t static_remnant_radius; // 0x12c8 + int32_t static_remnant_damage_radius; // 0x12cc + int32_t static_remnant_damage; // 0x12d0 + float static_remnant_delay; // 0x12d4 + float overload_duration; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_StormSpirit_StaticRemnant_Talent : public CDOTA_Buff { public: @@ -48302,24 +48765,24 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DrowRanger_WaveOfSilence_Buff : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x12b8 + int32_t bonus_movespeed; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DrowRanger_WaveOfSilence : public CDOTA_Buff { public: - int32_t miss_chance; // 0x12b8 - int32_t gust_reveals_invis; // 0x12bc + int32_t miss_chance; // 0x12c8 + int32_t gust_reveals_invis; // 0x12cc }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_DrowRanger_WaveOfSilence_Knockback : public CDOTA_Modifier_Knockback { public: @@ -48335,7 +48798,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DrowRanger_Trueshot : public CDOTA_Buff { public: @@ -48343,7 +48806,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DrowRanger_Trueshot_Global : public CDOTA_Buff { public: @@ -48351,11 +48814,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DrowRanger_TrueshotAura : public CDOTA_Buff { public: - float trueshot_ranged_attack_speed; // 0x12b8 + float trueshot_ranged_attack_speed; // 0x12c8 }; // Alignment: 0 @@ -48367,43 +48830,43 @@ public: }; // Alignment: 11 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_DrowRanger_Marksmanship : public CDOTA_Buff { public: - 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 + int32_t chance; // 0x12c8 + ParticleIndex_t m_nFxIndex; // 0x12cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + CUtlVector< int16 > m_GlacialInFlightAttackRecords; // 0x12e8 + int32_t bonus_factor; // 0x1300 + int32_t disable_range; // 0x1304 + int32_t agility_range; // 0x1308 + int32_t bonus_damage; // 0x130c + int32_t split_count; // 0x1310 + int32_t split_range; // 0x1314 + bool m_bGlacialAttack; // 0x1318 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DrowRanger_Marksmanship_Aura_Bonus : public CDOTA_Buff { public: - int32_t agility_multiplier; // 0x12b8 - float agility_multiplier_ally; // 0x12bc + int32_t agility_multiplier; // 0x12c8 + float agility_multiplier_ally; // 0x12cc }; // Alignment: 3 -// Size: 0x1330 +// Size: 0x1340 class CDOTA_Modifier_DrowRanger_Marksmanship_Reduction : public CDOTA_Buff { public: - int32_t split_damage_reduction; // 0x12b8 + int32_t split_damage_reduction; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVectorFixedGrowable< int32 > m_vecRecords; // 0x12c0 - CUtlVectorFixedGrowable< GameTime_t > m_vecRecordTimes; // 0x12f8 + CUtlVectorFixedGrowable< int32 > m_vecRecords; // 0x12d0 + CUtlVectorFixedGrowable< GameTime_t > m_vecRecordTimes; // 0x1308 }; // Alignment: 2 @@ -48416,44 +48879,44 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_DrowRanger_FrostArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 - int32_t shard_bonus_damage_per_stack; // 0x12d0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + int32_t shard_bonus_damage_per_stack; // 0x12e0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_DrowRanger_FrostArrows_Slow : public CDOTA_Buff { public: - int32_t frost_arrows_movement_speed; // 0x12b8 - int32_t shard_max_stacks; // 0x12bc - float shard_stack_duration; // 0x12c0 + int32_t frost_arrows_movement_speed; // 0x12c8 + int32_t shard_max_stacks; // 0x12cc + float shard_stack_duration; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DrowRanger_FrostArrows_Shard_Slow : public CDOTA_Buff { public: - int32_t shard_burst_move_slow_pct; // 0x12b8 + int32_t shard_burst_move_slow_pct; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_DrowRanger_FrostArrows_Hypothermia : public CDOTA_Buff { public: - int32_t shard_regen_reduction_pct_per_stack; // 0x12b8 - int32_t shard_burst_radius; // 0x12bc - ParticleIndex_t m_nFXStackIndex; // 0x12c0 + int32_t shard_regen_reduction_pct_per_stack; // 0x12c8 + int32_t shard_burst_radius; // 0x12cc + ParticleIndex_t m_nFXStackIndex; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DrowRanger_FrostArrows_Hypothermia_Active : public CDOTA_Buff { public: @@ -48461,13 +48924,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop : public CDOTA_Buff { public: - int32_t multishot_arrow_bonus; // 0x12b8 - int32_t end_height; // 0x12bc - int32_t attack_range_bonus; // 0x12c0 + int32_t multishot_arrow_bonus; // 0x12c8 + int32_t end_height; // 0x12cc + int32_t attack_range_bonus; // 0x12d0 }; // Alignment: 12 @@ -48493,47 +48956,47 @@ public: }; // Alignment: 13 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Drow_Ranger_Multishot : public CDOTA_Buff { public: - 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 + int32_t m_iArrowCount; // 0x12c8 + Vector m_vOriginalTarget; // 0x12cc + int32_t arrow_width; // 0x12d8 + float arrow_speed; // 0x12dc + float arrow_range_multiplier; // 0x12e0 + int32_t wave_count; // 0x12e4 + int32_t arrow_count_per_wave; // 0x12e8 + int32_t arrow_angle; // 0x12ec + int32_t m_iLoopCount; // 0x12f0 + float m_flInterval; // 0x12f4 + float m_flCycleDelay; // 0x12f8 + float m_flTimeWaste; // 0x12fc + GameTime_t m_flExpectedTime; // 0x1300 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Drow_Ranger_Multishot_Damage : public CDOTA_Buff { public: - int32_t arrow_damage_pct; // 0x12b8 + int32_t arrow_damage_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DrowRanger_ArcanaKill_Delay : public CDOTA_Buff { public: - PlayerID_t m_nPlayerID_Drow; // 0x12b8 + PlayerID_t m_nPlayerID_Drow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DrowRanger_Arcana : public CDOTA_Buff { public: - bool m_bFlawlessVictoryProgressGranted; // 0x12b8 + bool m_bFlawlessVictoryProgressGranted; // 0x12c8 }; // Alignment: 10 @@ -48563,32 +49026,32 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop_Aura : public CDOTA_Buff { public: - int32_t shard_width; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t shard_width; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop_Removal : public CDOTA_Buff { public: - float z_speed_override; // 0x12b8 + float z_speed_override; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Drow_Ranger_Glacier_Shard : public CDOTA_Buff { public: - uint32_t m_unOccluderID; // 0x12b8 + CHandle< CBaseEntity > m_hObstruction; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Earthshaker_Shard : public CDOTA_Buff_Item { public: @@ -48596,14 +49059,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Earthshaker_Arcana : public CDOTA_Buff { public: - int32_t m_nComboCount; // 0x12b8 - float m_flComboWindow; // 0x12bc - float m_flComboDisplayInterval; // 0x12c0 - float m_flDamageDone; // 0x12c4 + int32_t m_nComboCount; // 0x12c8 + float m_flComboWindow; // 0x12cc + float m_flComboDisplayInterval; // 0x12d0 + float m_flDamageDone; // 0x12d4 }; // Alignment: 0 @@ -48615,19 +49078,19 @@ public: }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Earthshaker_Fissure_Shard : public CDOTA_Buff { public: - 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 + int32_t shard_aftershock_stun_duration_pct; // 0x12c8 + float shard_free_pathing_linger_duration; // 0x12cc + Vector m_vStartPos; // 0x12d0 + Vector m_vEndPos; // 0x12dc + GameTime_t m_flEndTime; // 0x12e8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Earthshaker_Fissure_Shard_Pathing : public CDOTA_Buff { public: @@ -48635,7 +49098,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Earthshaker_Fissure_Stun : public CDOTA_Modifier_Stunned { public: @@ -48643,7 +49106,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Earthshaker_Fissure_Thinker : public CDOTA_Buff { public: @@ -48651,7 +49114,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Fissure_Rooted : public CDOTA_Modifier_Rooted { public: @@ -48667,34 +49130,34 @@ public: }; // Alignment: 15 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Earthshaker_EnchantTotem_Leap : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x4]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x4]; // 0x12c8 public: - 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 + Vector m_vLoc; // 0x12cc + float m_flPredictedTotalTime; // 0x12d8 + Vector m_vStartPosition; // 0x12dc + float m_flCurrentTimeHoriz; // 0x12e8 + float m_flCurrentTimeVert; // 0x12ec + bool m_bHorizontalMotionInterrupted; // 0x12f0 + bool m_bDamageApplied; // 0x12f1 + bool m_bTargetTeleported; // 0x12f2 private: - [[maybe_unused]] uint8_t __pad12e3[0x1]; // 0x12e3 + [[maybe_unused]] uint8_t __pad12f3[0x1]; // 0x12f3 public: - 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 + Vector m_vHorizontalVelocity; // 0x12f4 + Vector m_vLastKnownTargetPosition; // 0x1300 + float m_flInitialVelocityZ; // 0x130c + int32_t scepter_height; // 0x1310 + int32_t scepter_height_arcbuffer; // 0x1314 + int32_t scepter_acceleration_z; // 0x1318 + int32_t scepter_acceleration_horizontal; // 0x131c }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Earthshaker_EnchantTotem_Animation : public CDOTA_Buff { public: @@ -48702,20 +49165,20 @@ public: }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Earthshaker_EnchantTotem : public CDOTA_Buff { public: - 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 + int32_t bonus_attack_range; // 0x12c8 + int32_t totem_damage_percentage; // 0x12cc + int32_t scepter_cleave_pct; // 0x12d0 + float scepter_cleave_starting_width; // 0x12d4 + float scepter_cleave_ending_width; // 0x12d8 + float scepter_cleave_distance; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12d0[0x8]; // 0x12d0 + [[maybe_unused]] uint8_t __pad12e0[0x8]; // 0x12e0 public: - bool bActive; // 0x12d8 + bool bActive; // 0x12e8 }; // Alignment: 0 @@ -48727,15 +49190,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Earthshaker_Aftershock : public CDOTA_Buff { public: - int32_t aftershock_range; // 0x12b8 + int32_t aftershock_range; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Earthshaker_EchoSlam_Delay : public CDOTA_Buff { public: @@ -48755,7 +49218,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Earthshaker_Echoslam_Debuff : public CDOTA_Buff { public: @@ -48763,7 +49226,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Earthshaker_Echoslam_Heating_Up : public CDOTA_Buff { public: @@ -48771,12 +49234,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Earthshaker_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x12b8 - bool m_bFlail; // 0x12b9 + bool m_bFrozen; // 0x12c8 + bool m_bFlail; // 0x12c9 }; // Alignment: 1 @@ -48802,7 +49265,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror_Fear : public CDOTA_Modifier_Fear { public: @@ -48810,66 +49273,66 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x12b8 - int32_t attack_reduction; // 0x12bc - int32_t damage_reduction_pct; // 0x12c0 + int32_t armor_reduction; // 0x12c8 + int32_t attack_reduction; // 0x12cc + int32_t damage_reduction_pct; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror_Buff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t bonus_armor; // 0x12bc + int32_t bonus_damage; // 0x12c8 + int32_t bonus_armor; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VengefulSpirit_Command_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VengefulSpirit_Command_Aura_Illusion : public CDOTA_Modifier_Invulnerable { public: - CHandle< CBaseEntity > hTarget; // 0x12b8 + CHandle< CBaseEntity > hTarget; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VengefulSpirit_Command_Aura_Effect : public CDOTA_Buff { public: - int32_t bonus_base_damage; // 0x12b8 + int32_t bonus_base_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VengefulSpirit_Command_Negative_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VengefulSpirit_Command_Negative_Aura_Effect : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x12b8 + int32_t bonus_damage_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -48888,16 +49351,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_DamageReduction : public CDOTA_Buff { public: - float damage_reduction; // 0x12b8 - ParticleIndex_t nFXIndex; // 0x12bc + float damage_reduction; // 0x12c8 + ParticleIndex_t nFXIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_PathingFix : public CDOTA_Buff { public: @@ -48905,19 +49368,19 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VengefulSpirit_Hybrid_Special : public CDOTA_Buff { public: - bool m_bLeftoverHybrid; // 0x12b8 + bool m_bLeftoverHybrid; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t scepter_illusion_ms_bonus_pct; // 0x12bc + int32_t scepter_illusion_ms_bonus_pct; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_VengefulSpirit_XP_Earn : public CDOTA_Buff { public: @@ -48933,16 +49396,16 @@ public: }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Thinker : public CDOTA_Buff { public: - Vector m_vPathStart; // 0x12b8 - Vector m_vPathEnd; // 0x12c4 + Vector m_vPathStart; // 0x12c8 + Vector m_vPathEnd; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Bonus : public CDOTA_Buff { public: @@ -48950,7 +49413,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Slow : public CDOTA_Buff { public: @@ -48966,12 +49429,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_CrystalMaiden_CrystalNova : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 - int32_t attackspeed_slow; // 0x12bc + int32_t movespeed_slow; // 0x12c8 + int32_t attackspeed_slow; // 0x12cc }; // Alignment: 0 @@ -48983,14 +49446,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_CrystalMaiden_Frostbite : public CDOTA_Buff { public: - int32_t max_ticks; // 0x12b8 - int32_t damage_per_second; // 0x12bc - int32_t creep_damage_per_second; // 0x12c0 - float tick_interval; // 0x12c4 + int32_t max_ticks; // 0x12c8 + int32_t damage_per_second; // 0x12cc + int32_t creep_damage_per_second; // 0x12d0 + float tick_interval; // 0x12d4 }; // Alignment: 0 @@ -49002,7 +49465,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_CrystalMaiden_BrillianceAura : public CDOTA_Buff { public: @@ -49010,14 +49473,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_CrystalMaiden_BrillianceAuraEffect : public CDOTA_Buff { public: - float base_mana_regen; // 0x12b8 - float self_factor; // 0x12bc - float proximity_bonus_factor; // 0x12c0 - int32_t proximity_bonus_radius; // 0x12c4 + float base_mana_regen; // 0x12c8 + float self_factor; // 0x12cc + float proximity_bonus_factor; // 0x12d0 + int32_t proximity_bonus_radius; // 0x12d4 }; // Alignment: 0 @@ -49037,51 +49500,51 @@ public: }; // Alignment: 22 -// Size: 0x1340 +// Size: 0x1350 class CDOTA_Modifier_CrystalMaiden_FreezingField : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t damage; // 0x12cc + int32_t bonus_armor; // 0x12d0 + float explosion_interval; // 0x12d4 + float shard_bonus_explosion; // 0x12d8 + int32_t explosion_radius; // 0x12dc + float slow_duration; // 0x12e0 + int32_t explosion_min_dist; // 0x12e4 + int32_t explosion_max_dist; // 0x12e8 + float frostbite_delay; // 0x12ec + GameTime_t m_fLastTick; // 0x12f0 + float m_fTimeAccumulator; // 0x12f4 + int32_t m_iExplosionCount; // 0x12f8 + int32_t m_iExplosionTotalCount; // 0x12fc + int32_t m_iExplosionQuadrant; // 0x1300 + int32_t m_iExplosionDistance; // 0x1304 + int32_t shard_self_movement_speed_slow_pct; // 0x1308 + ParticleIndex_t m_nFXIndex; // 0x130c private: - [[maybe_unused]] uint8_t __pad1300[0x8]; // 0x1300 + [[maybe_unused]] uint8_t __pad1310[0x8]; // 0x1310 public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1308 - CUtlVector< CHandle< CBaseEntity > > m_hHitHeroes; // 0x1320 - bool m_bHitInvisibleHero; // 0x1338 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1318 + CUtlVector< CHandle< CBaseEntity > > m_hHitHeroes; // 0x1330 + bool m_bHitInvisibleHero; // 0x1348 private: - [[maybe_unused]] uint8_t __pad1339[0x3]; // 0x1339 + [[maybe_unused]] uint8_t __pad1349[0x3]; // 0x1349 public: - int32_t can_move; // 0x133c + int32_t can_move; // 0x134c }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_CrystalMaiden_FreezingField_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 - int32_t attack_slow; // 0x12bc + int32_t movespeed_slow; // 0x12c8 + int32_t attack_slow; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_CrystalMaiden_FreezingField_Tracker : public CDOTA_Buff { public: @@ -49097,40 +49560,40 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_CrystalMaiden_IceRink_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float rink_formation_time; // 0x12bc - bool m_bActive; // 0x12c0 + int32_t radius; // 0x12c8 + float rink_formation_time; // 0x12cc + bool m_bActive; // 0x12d0 }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_CrystalMaiden_IceRink_Movement : public CDOTA_Buff { public: - bool m_bHitFirstUpdate; // 0x12b8 + bool m_bHitFirstUpdate; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + float flMovementSpeed; // 0x12cc + float m_flTurnBoostProgress; // 0x12d0 + float m_flFacingTarget; // 0x12d4 + ParticleIndex_t m_nFXIndex; // 0x12d8 + GameTime_t m_flHitEndTime; // 0x12dc + float hit_recover_time; // 0x12e0 + Vector m_vDirection; // 0x12e4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_CDOTA_Modifier_CrystalMaiden_IceRink_Movement_Ricochet : public CDOTA_Buff { public: - float m_flStartZ; // 0x12b8 - float m_flCurTime; // 0x12bc + float m_flStartZ; // 0x12c8 + float m_flCurTime; // 0x12cc }; // Alignment: 0 @@ -49142,30 +49605,30 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 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 + float hop_duration; // 0x12c8 + int32_t hop_distance; // 0x12cc + float m_flCurTime; // 0x12d0 + float m_flEndTime; // 0x12d4 + Vector m_vTargetHorizontalDirection; // 0x12d8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t frostbite_radius; // 0x12c8 + float anim_delay; // 0x12cc + bool m_bActivated; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t clone_health; // 0x12c4 - float m_flDamageTaken; // 0x12c8 + int32_t clone_health; // 0x12d4 + float m_flDamageTaken; // 0x12d8 }; // Alignment: 1 @@ -49177,29 +49640,29 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t damage_per_second; // 0x12c8 + int32_t slow; // 0x12cc + int32_t scepter_armor_change; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Axe_BatleHunger_Self : public CDOTA_Buff { public: - int32_t scepter_armor_change; // 0x12b8 + int32_t scepter_armor_change; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Axe_BatleHunger_Self_Movespeed : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x12b8 + int32_t speed_bonus; // 0x12c8 }; // Alignment: 0 @@ -49211,24 +49674,24 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Axe_BerserkersCall : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hZombieTarget; // 0x12b8 - bool m_bDidSetAttackTarget; // 0x12bc + CHandle< CBaseEntity > m_hZombieTarget; // 0x12c8 + bool m_bDidSetAttackTarget; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - int32_t bonus_attack_speed; // 0x12c0 + int32_t bonus_attack_speed; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Axe_BerserkersCallArmor : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 0 @@ -49240,20 +49703,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Axe_CounterHelix : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t trigger_attacks; // 0x12bc + int32_t radius; // 0x12c8 + int32_t trigger_attacks; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Axe_CounterHelix_DamageReduction : public CDOTA_Buff { public: - int32_t shard_damage_reduction; // 0x12b8 + int32_t shard_damage_reduction; // 0x12c8 }; // Alignment: 3 @@ -49272,7 +49735,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Axe_Culling_Blade_NoMinHealth : public CDOTA_Buff { public: @@ -49280,7 +49743,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Axe_Culling_Blade_Charge : public CDOTA_Buff { public: @@ -49288,24 +49751,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Axe_CullingBlade_Boost : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x12b8 - int32_t atk_speed_bonus; // 0x12bc + int32_t speed_bonus; // 0x12c8 + int32_t atk_speed_bonus; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Axe_CullingBlade_Permanent : public CDOTA_Buff { public: - float armor_per_stack; // 0x12b8 + float armor_per_stack; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Axe_CullingBlade_JungleWeaponGesture : public CDOTA_Buff { public: @@ -49321,24 +49784,24 @@ public: }; // Alignment: 11 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_HoldoutCullingBlade : public CDOTA_Buff { public: - 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 + float m_flTotalTime; // 0x12c8 + float m_flInitialVelocity; // 0x12cc + Vector m_vStartPosition; // 0x12d0 + Vector m_vTargetHorizontalDirection; // 0x12dc + float m_flCurrentTimeHoriz; // 0x12e8 + float m_flCurrentTimeVert; // 0x12ec + bool m_bInterrupted; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - int32_t leap_distance; // 0x12e4 - int32_t leap_radius; // 0x12e8 - float leap_speed; // 0x12ec - float leap_acceleration; // 0x12f0 + int32_t leap_distance; // 0x12f4 + int32_t leap_radius; // 0x12f8 + float leap_speed; // 0x12fc + float leap_acceleration; // 0x1300 }; // Alignment: 0 @@ -49398,15 +49861,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Bloodseeker_Bloodrage : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 - int32_t spell_amp; // 0x12bc - float shard_max_health_dmg_pct; // 0x12c0 - float damage_pct; // 0x12c4 - float flTickRate; // 0x12c8 + int32_t attack_speed; // 0x12c8 + int32_t spell_amp; // 0x12cc + float shard_max_health_dmg_pct; // 0x12d0 + float damage_pct; // 0x12d4 + float flTickRate; // 0x12d8 }; // Alignment: 0 @@ -49418,28 +49881,28 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Bloodseeker_Bloodbath_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Bloodseeker_Thirst : public CDOTA_Buff { public: - 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 + int32_t hero_kill_heal; // 0x12c8 + int32_t creep_kill_heal; // 0x12cc + int32_t half_bonus_aoe; // 0x12d0 + int32_t visibility_threshold_pct; // 0x12d4 + int32_t invis_threshold_pct; // 0x12d8 + int32_t min_bonus_pct; // 0x12dc + int32_t max_bonus_pct; // 0x12e0 + int32_t bonus_movement_speed; // 0x12e4 + float linger_duration; // 0x12e8 + ParticleIndex_t m_nFXIndex; // 0x12ec }; // Alignment: 0 @@ -49451,23 +49914,23 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Bloodseeker_Thirst_Vision : public CDOTA_Buff { public: - int32_t invis_threshold_pct; // 0x12b8 + int32_t invis_threshold_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Bloodseeker_Thirst_Speed : public CDOTA_Buff { public: - CUtlSymbolLarge m_iszModifierString; // 0x12b8 + CUtlSymbolLarge m_iszModifierString; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bloodseeker_Rupture_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -49483,18 +49946,18 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Bloodseeker_Rupture : public CDOTA_Buff { public: - int32_t movement_damage_pct; // 0x12b8 - float hp_pct; // 0x12bc - Vector vLastPos; // 0x12c0 - bool bResetPosition; // 0x12cc + int32_t movement_damage_pct; // 0x12c8 + float hp_pct; // 0x12cc + Vector vLastPos; // 0x12d0 + bool bResetPosition; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - float m_fAccumulatedDamage; // 0x12d0 + float m_fAccumulatedDamage; // 0x12e0 }; // Alignment: 0 @@ -49506,16 +49969,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Bloodseeker_BloodMist_Barrier : public CDOTA_Buff { public: - GameTime_t flLastGameTime; // 0x12b8 - float m_flCurrentShield; // 0x12bc + GameTime_t flLastGameTime; // 0x12c8 + float m_flCurrentShield; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bloodseeker_BloodMist_Passive : public CDOTA_Buff { public: @@ -49523,19 +49986,19 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Bloodseeker_BloodMist : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Bloodseeker_BloodMist_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 2 @@ -49548,11 +50011,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PhantomLancer_SpiritLance : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x12b8 + int32_t movement_speed_pct; // 0x12c8 }; // Alignment: 0 @@ -49564,19 +50027,19 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_PhantomLancer_Dopplewalk_Phase : public CDOTA_Buff { public: - Vector vTargetPosition; // 0x12b8 + Vector vTargetPosition; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PhantomLancer_Doppelwalk_Illusion : public CDOTA_Buff { public: - float flDamageTaken; // 0x12b8 + float flDamageTaken; // 0x12c8 }; // Alignment: 1 @@ -49588,47 +50051,47 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PhantomLancer_Juxtapose_Cache : public CDOTA_Buff { public: - PlayerID_t m_nControllingPlayer; // 0x12b8 + PlayerID_t m_nControllingPlayer; // 0x12c8 }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_PhantomLancer_Juxtapose_Invisibility : public CDOTA_Modifier_Invisible { public: - float invis_movespeed; // 0x12c8 + float invis_movespeed; // 0x12d8 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_PhantomLancer_Juxtapose_Thinker : public CDOTA_Buff { public: - 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 + int32_t max_illusions; // 0x12c8 + int32_t scepter_bonus_illusions; // 0x12cc + float illusion_duration; // 0x12d0 + int32_t illusion_damage_out_pct; // 0x12d4 + int32_t illusion_damage_in_pct; // 0x12d8 + float scepter_bonus_duration; // 0x12dc + int32_t m_iIllusionsSoFar; // 0x12e0 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_PhantomLancer_Juxtapose : public CDOTA_Buff { public: - 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 + int32_t proc_chance_pct; // 0x12c8 + int32_t illusion_proc_chance_pct; // 0x12cc + int32_t max_illusions; // 0x12d0 + float illusion_duration; // 0x12d4 + int32_t illusion_damage_out_pct; // 0x12d8 + int32_t illusion_damage_in_pct; // 0x12dc + int32_t shard_bonus_illusions; // 0x12e0 }; // Alignment: 0 @@ -49640,43 +50103,43 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_PhantomLancer_PhantomEdge : public CDOTA_Buff { public: - int32_t min_distance; // 0x12b8 - int32_t max_distance; // 0x12bc - CHandle< CBaseEntity > m_hTarget; // 0x12c0 + int32_t min_distance; // 0x12c8 + int32_t max_distance; // 0x12cc + CHandle< CBaseEntity > m_hTarget; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_PhantomLancer_PhantomEdge_Boost : public CDOTA_Buff { public: - int32_t bonus_speed; // 0x12b8 - float agility_duration; // 0x12bc - bool m_bGiveAgility; // 0x12c0 + int32_t bonus_speed; // 0x12c8 + float agility_duration; // 0x12cc + bool m_bGiveAgility; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - CHandle< CBaseEntity > m_hTarget; // 0x12c4 + CHandle< CBaseEntity > m_hTarget; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PhantomLancer_PhantomEdge_Agility : public CDOTA_Buff { public: - int32_t bonus_agility; // 0x12b8 + int32_t bonus_agility; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PhantomLancer_JuxtaposeIllusion : public CDOTA_Buff { public: - bool m_bstrongIllusion; // 0x12b8 + bool m_bstrongIllusion; // 0x12c8 }; // Alignment: 0 @@ -49744,31 +50207,31 @@ public: }; // Alignment: 15 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_Razor_PlasmaField_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x12b8 - float m_fCurRadius; // 0x12bc - GameTime_t m_fLastThink; // 0x12c0 - bool m_bContracting; // 0x12c4 + float m_fLastRadius; // 0x12c8 + float m_fCurRadius; // 0x12cc + GameTime_t m_fLastThink; // 0x12d0 + bool m_bContracting; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - CountdownTimer m_ViewerTimer; // 0x12c8 - ParticleIndex_t m_nFXIndex; // 0x12e0 + CountdownTimer m_ViewerTimer; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - 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 + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12f8 + int32_t speed; // 0x1310 + int32_t radius; // 0x1314 + float damage_min; // 0x1318 + float damage_max; // 0x131c + int32_t slow_min; // 0x1320 + int32_t slow_max; // 0x1324 + float slow_duration; // 0x1328 + bool m_bHasCreatedFx; // 0x132c }; // Alignment: 5 @@ -49787,47 +50250,47 @@ public: }; // Alignment: 13 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Razor_StaticLink : public CDOTA_Buff { public: - 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 + float flSmoothness; // 0x12c8 + float drain_duration; // 0x12cc + int32_t drain_rate; // 0x12d0 + int32_t drain_range; // 0x12d4 + int32_t drain_range_buffer; // 0x12d8 + CHandle< CBaseEntity > m_hTarget; // 0x12dc + int32_t m_iTotalDrainAmount; // 0x12e0 + int32_t pull_speed; // 0x12e4 + int32_t min_pull_range; // 0x12e8 + ParticleIndex_t m_iLinkIndex; // 0x12ec + CDOTA_Buff* m_pBuffPositive; // 0x12f0 + CDOTA_Buff* m_pNegative; // 0x12f8 + GameTime_t m_flLastThinkTime; // 0x1300 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Razor_StaticLink_Buff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t drain_rate; // 0x12bc - float drain_length; // 0x12c0 - int32_t attack_speed_factor; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t drain_rate; // 0x12cc + float drain_length; // 0x12d0 + int32_t attack_speed_factor; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Razor_StaticLink_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t attack_speed_factor; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t attack_speed_factor; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Razor_Link_Vision : public CDOTA_Buff { public: @@ -49843,44 +50306,44 @@ public: }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Razor_UnstableCurrent_Aura : public CDOTA_Buff { public: - 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 + int32_t self_movement_speed_pct; // 0x12c8 + int32_t strike_pct_chance; // 0x12cc + float strike_damage; // 0x12d0 + int32_t strike_move_slow_pct; // 0x12d4 + int32_t strike_search_radius; // 0x12d8 + int32_t strike_target_count; // 0x12dc + float strike_slow_duration; // 0x12e0 + float strike_internal_cd; // 0x12e4 + GameTime_t m_flNextShardProcTime; // 0x12e8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Razor_UnstableCurrent_Delayed_Damage : public CDOTA_Buff { public: - int32_t strike_damage; // 0x12b8 - float strike_slow_duration; // 0x12bc + float strike_damage; // 0x12c8 + float strike_slow_duration; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Razor_UnstableCurrent_Slow : public CDOTA_Buff { public: - int32_t strike_move_slow_pct; // 0x12b8 + int32_t strike_move_slow_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Razor_PlasmaField_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x12b8 + int32_t slow_amount; // 0x12c8 }; // Alignment: 0 @@ -49892,28 +50355,28 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Razor_EyeOfTheStorm_Passive : public CDOTA_Buff { public: - int32_t passive_area_damage; // 0x12b8 - float passive_area_interval; // 0x12bc - int32_t radius; // 0x12c0 - bool m_bHitNext; // 0x12c4 + int32_t passive_area_damage; // 0x12c8 + float passive_area_interval; // 0x12cc + int32_t radius; // 0x12d0 + bool m_bHitNext; // 0x12d4 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Razor_EyeOfTheStorm : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t armor_reduction; // 0x12bc - int32_t damage; // 0x12c0 + int32_t radius; // 0x12c8 + int32_t armor_reduction; // 0x12cc + int32_t damage; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Razor_EyeOfTheStorm_Armor : public CDOTA_Buff { public: @@ -49969,29 +50432,29 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Razor_Arcana : public CDOTA_Buff { public: - bool m_bIsMeleeAttack; // 0x12b8 - bool m_bTauntQueued; // 0x12b9 + bool m_bIsMeleeAttack; // 0x12c8 + bool m_bTauntQueued; // 0x12c9 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Razor_Arcana_EmpoweredState : public CDOTA_Buff { public: - ParticleIndex_t m_nEmpoweredBodyFX; // 0x12b8 - ParticleIndex_t m_nEmpoweredWeaponFX; // 0x12bc + ParticleIndex_t m_nEmpoweredBodyFX; // 0x12c8 + ParticleIndex_t m_nEmpoweredWeaponFX; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Razor_Arcana_Kill_Effect : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x12b8 + ParticleIndex_t m_nCasterFXIndex; // 0x12c8 }; // Alignment: 3 @@ -50007,11 +50470,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lina_DragonSlave_Burn : public CDOTA_Buff { public: - int32_t dragon_slave_burn; // 0x12b8 + int32_t dragon_slave_burn; // 0x12c8 }; // Alignment: 0 @@ -50023,15 +50486,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Lina_LightStrikeArray_Thinker : public CDOTA_Buff { public: - 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 + int32_t m_iDamage; // 0x12c8 + float m_flStunDuration; // 0x12cc + int32_t light_strike_array_aoe; // 0x12d0 + int32_t light_strike_array_damage; // 0x12d4 + float light_strike_array_stun_duration; // 0x12d8 }; // Alignment: 0 @@ -50043,17 +50506,17 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Lina_FierySoul : public CDOTA_Buff { public: - 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 + int32_t fiery_soul_attack_speed_bonus; // 0x12c8 + float fiery_soul_move_speed_bonus; // 0x12cc + int32_t fiery_soul_max_stacks; // 0x12d0 + float fiery_soul_stack_duration; // 0x12d4 + ParticleIndex_t m_nFXIndex; // 0x12d8 + GameTime_t m_flFierySoulDieTime; // 0x12dc + GameTime_t m_flLastFierySoalFullStackTime; // 0x12e0 }; // Alignment: 1 @@ -50065,7 +50528,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lina_SuperCharged : public CDOTA_Buff { public: @@ -50073,28 +50536,28 @@ public: }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Lina_LagunaBlade_Line : public CDOTA_Buff { public: - Vector vStart; // 0x12b8 - Vector vEnd; // 0x12c4 + Vector vStart; // 0x12c8 + Vector vEnd; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lina_LagunaBlade : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 + int32_t damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lina_LagunaBlade_Superheated : public CDOTA_Buff { public: - int32_t increased_damage; // 0x12b8 + int32_t increased_damage; // 0x12c8 }; // Alignment: 0 @@ -50106,13 +50569,13 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Lina_Fiery_Cloak : public CDOTA_Buff { public: - int32_t magic_resistance; // 0x12b8 - int32_t spell_amp; // 0x12bc - float visualzdelta; // 0x12c0 + int32_t magic_resistance; // 0x12c8 + int32_t spell_amp; // 0x12cc + float visualzdelta; // 0x12d0 }; // Alignment: 0 @@ -50172,7 +50635,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Morphling_Waveform_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -50193,7 +50656,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Morphling_Waveform : public CDOTA_Buff { public: @@ -50217,22 +50680,22 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_Adaptive_Strike_Armor : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x12b8 + int32_t armor_reduction; // 0x12c8 }; // Alignment: 4 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Morphling_Adaptive_Strike : public CDOTA_Modifier_Stunned { public: - Vector m_vStartPos; // 0x12b8 - Vector m_vDirection; // 0x12c4 - float m_flTotalDistance; // 0x12d0 - float m_flCurTime; // 0x12d4 + Vector m_vStartPos; // 0x12c8 + Vector m_vDirection; // 0x12d4 + float m_flTotalDistance; // 0x12e0 + float m_flCurTime; // 0x12e4 }; // Alignment: 0 @@ -50244,12 +50707,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_Morph : public CDOTA_Buff { public: - float tick_rate; // 0x12b8 - int32_t bonus_attributes; // 0x12bc + float tick_rate; // 0x12c8 + int32_t bonus_attributes; // 0x12cc }; // Alignment: 0 @@ -50261,13 +50724,13 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Morphling_Morph_Agi : public CDOTA_Buff { public: - int32_t mana_cost; // 0x12b8 - int32_t points_per_tick; // 0x12bc - float morph_cooldown; // 0x12c0 + int32_t mana_cost; // 0x12c8 + int32_t points_per_tick; // 0x12cc + float morph_cooldown; // 0x12d0 }; // Alignment: 0 @@ -50279,13 +50742,13 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Morphling_Morph_Str : public CDOTA_Buff { public: - int32_t mana_cost; // 0x12b8 - int32_t points_per_tick; // 0x12bc - float morph_cooldown; // 0x12c0 + int32_t mana_cost; // 0x12c8 + int32_t points_per_tick; // 0x12cc + float morph_cooldown; // 0x12d0 }; // Alignment: 3 @@ -50308,89 +50771,89 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Strength_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x12b8 - int32_t scepter_status_resist; // 0x12bc - int32_t nStrengthSteal; // 0x12c0 - int32_t nAgiSteal; // 0x12c4 - int32_t nIntSteal; // 0x12c8 + int32_t scepter_stat_steal; // 0x12c8 + int32_t scepter_status_resist; // 0x12cc + int32_t nStrengthSteal; // 0x12d0 + int32_t nAgiSteal; // 0x12d4 + int32_t nIntSteal; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Strength_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x12b8 - int32_t scepter_status_resist; // 0x12bc + int32_t scepter_stat_steal; // 0x12c8 + int32_t scepter_status_resist; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Agility_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x12b8 - int32_t scepter_attack_speed; // 0x12bc - int32_t nStrengthSteal; // 0x12c0 - int32_t nAgilitySteal; // 0x12c4 - int32_t nIntSteal; // 0x12c8 + int32_t scepter_stat_steal; // 0x12c8 + int32_t scepter_attack_speed; // 0x12cc + int32_t nStrengthSteal; // 0x12d0 + int32_t nAgilitySteal; // 0x12d4 + int32_t nIntSteal; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Agility_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x12b8 - int32_t scepter_attack_speed; // 0x12bc + int32_t scepter_stat_steal; // 0x12c8 + int32_t scepter_attack_speed; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Intelligence_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x12b8 - int32_t scepter_spell_amplify; // 0x12bc - int32_t nStrengthSteal; // 0x12c0 - int32_t nIntSteal; // 0x12c4 - int32_t nAgilitySteal; // 0x12c8 + int32_t scepter_stat_steal; // 0x12c8 + int32_t scepter_spell_amplify; // 0x12cc + int32_t nStrengthSteal; // 0x12d0 + int32_t nIntSteal; // 0x12d4 + int32_t nAgilitySteal; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Intelligence_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x12b8 - int32_t scepter_spell_amplify; // 0x12bc + int32_t scepter_stat_steal; // 0x12c8 + int32_t scepter_spell_amplify; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Morphling_ScepterStatsDrain_All_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x12b8 - int32_t nStrengthSteal; // 0x12bc - int32_t nAgiSteal; // 0x12c0 - int32_t nIntSteal; // 0x12c4 + int32_t scepter_stat_steal; // 0x12c8 + int32_t nStrengthSteal; // 0x12cc + int32_t nAgiSteal; // 0x12d0 + int32_t nIntSteal; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_All_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x12b8 + int32_t scepter_stat_steal; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Morphling_Replicate_Manager : public CDOTA_Buff { public: @@ -50398,35 +50861,35 @@ public: }; // Alignment: 15 -// Size: 0x1348 +// Size: 0x1358 class CDOTA_Modifier_Morphling_Replicate : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTinyTreeWearable; // 0x12b8 - float m_flBaseAttackRange; // 0x12bc - float m_flBaseMovementSpeed; // 0x12c0 + CHandle< CBaseEntity > m_hTinyTreeWearable; // 0x12c8 + float m_flBaseAttackRange; // 0x12cc + float m_flBaseMovementSpeed; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - 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 + CUtlSymbolLarge m_iszModelName; // 0x12d8 + CUtlSymbolLarge m_iszProjectileName; // 0x12e0 + CUtlSymbolLarge m_iszOriginalModel; // 0x12e8 + int32_t m_nCopiedHeroID; // 0x12f0 + float m_fOriginalModelScale; // 0x12f4 + CUtlVector< CEconItemView* > m_vecOriginalItems; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad1300[0x30]; // 0x1300 + [[maybe_unused]] uint8_t __pad1310[0x30]; // 0x1310 public: - 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 + float m_flOriginalStr; // 0x1340 + float m_flOriginalAgi; // 0x1344 + float m_flOriginalInt; // 0x1348 + int32_t m_iOriginalAttackCapability; // 0x134c + float m_flOriginalHealthPercentage; // 0x1350 + float m_flOriginalManaPercentage; // 0x1354 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Morphling_Replicate_MorphedIllusionsEffect : public CDOTA_Buff { public: @@ -50434,7 +50897,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Morphling_Replicate_Illusion : public CDOTA_Buff { public: @@ -50442,7 +50905,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Morphling_Scepter : public CDOTA_Buff { public: @@ -50458,7 +50921,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Zuus_Static_Field : public CDOTA_Buff { public: @@ -50466,13 +50929,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Zuus_Static_Field_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 - int32_t aspd_slow; // 0x12bc - int32_t cast_slow; // 0x12c0 + int32_t move_slow; // 0x12c8 + int32_t aspd_slow; // 0x12cc + int32_t cast_slow; // 0x12d0 }; // Alignment: 0 @@ -50484,30 +50947,30 @@ public: }; // Alignment: 10 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Zuus_ArcLightning : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t jump_count; // 0x12cc + int32_t arc_damage; // 0x12d0 + float jump_delay; // 0x12d4 + int32_t damage_health_pct; // 0x12d8 + int32_t total_damage_pct; // 0x12dc + int32_t m_iCurJumpCount; // 0x12e0 + bool trigger_spell_absorb; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - Vector m_vCurTargetLoc; // 0x12d8 + Vector m_vCurTargetLoc; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12e8 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12f8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Zuus_ArcLightningSlow : public CDOTA_Buff { public: @@ -50531,7 +50994,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Zuus_LightningBoltThinker : public CDOTA_Buff { public: @@ -50548,29 +51011,29 @@ public: }; // Alignment: 9 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Zuus_ThundergodsWrathThinker : public CDOTA_Buff { public: - 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 + int32_t damage; // 0x12c8 + float damage_pct; // 0x12cc + float sight_duration; // 0x12d0 + int32_t second_strike_damage_percent; // 0x12d4 + float second_strike_delay; // 0x12d8 + bool m_bZeusHasArcana; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - CUtlVector< CHandle< CBaseEntity > > m_hTargetEntities; // 0x12d0 - bool m_bSecondaryStrike; // 0x12e8 + CUtlVector< CHandle< CBaseEntity > > m_hTargetEntities; // 0x12e0 + bool m_bSecondaryStrike; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 + [[maybe_unused]] uint8_t __pad12f9[0x3]; // 0x12f9 public: - int32_t m_nKills; // 0x12ec + int32_t m_nKills; // 0x12fc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Zuus_ThundergodsWrathVisionThinker : public CDOTA_Buff { public: @@ -50578,13 +51041,13 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Zuus_Cloud : public CDOTA_Buff { public: - CountdownTimer m_CloudBoltTimer; // 0x12b8 - float cloud_bolt_interval; // 0x12d0 - int32_t cloud_radius; // 0x12d4 + CountdownTimer m_CloudBoltTimer; // 0x12c8 + float cloud_bolt_interval; // 0x12e0 + int32_t cloud_radius; // 0x12e4 }; // Alignment: 0 @@ -50596,32 +51059,32 @@ public: }; // Alignment: 11 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Zuus_Heavenly_Jump : public CDOTA_Buff { public: - 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 + float hop_duration; // 0x12c8 + int32_t hop_height; // 0x12cc + int32_t hop_distance; // 0x12d0 + int32_t search_radius; // 0x12d4 + float m_flStartZ; // 0x12d8 + float m_flCurTime; // 0x12dc + float m_flJumpDuration; // 0x12e0 + float m_flJumpHeight; // 0x12e4 + Vector m_vTargetHorizontalDirection; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CUtlVector< CHandle< CBaseEntity > > hUnitsToHit; // 0x12e8 - bool m_bLaunched; // 0x1300 + CUtlVector< CHandle< CBaseEntity > > hUnitsToHit; // 0x12f8 + bool m_bLaunched; // 0x1310 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Zuus_Heavenly_Jump_Boost : public CDOTA_Buff { public: - int32_t postjump_movespeed; // 0x12b8 + int32_t postjump_movespeed; // 0x12c8 }; // Alignment: 0 @@ -50681,11 +51144,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Zuus_ThunderTrail_Debuff : public CDOTA_Buff { public: - int32_t debuff_spell_amp; // 0x12b8 + int32_t debuff_spell_amp; // 0x12c8 }; // Alignment: 0 @@ -50697,15 +51160,15 @@ public: }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Zuus_Lightning_Hands : public CDOTA_Buff { public: - 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 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12e0 + int32_t arc_lightning_damage_pct; // 0x12e4 + int32_t arc_lightning_damage_illusion_pct; // 0x12e8 + int32_t attack_range_bonus; // 0x12ec }; // Alignment: 0 @@ -50717,48 +51180,48 @@ public: }; // Alignment: 6 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Kunkka_Torrent_Thinker : public CDOTA_Buff { public: - bool m_bShowEnemies; // 0x12b8 - bool m_bTorrentStorm; // 0x12b9 - bool m_bTorrentStarted; // 0x12ba + bool m_bShowEnemies; // 0x12c8 + bool m_bTorrentStorm; // 0x12c9 + bool m_bTorrentStarted; // 0x12ca private: - [[maybe_unused]] uint8_t __pad12bb[0x1]; // 0x12bb + [[maybe_unused]] uint8_t __pad12cb[0x1]; // 0x12cb public: - GameTime_t m_fTorrentStartTime; // 0x12bc - float flDamagePerTick; // 0x12c0 - float damage_tick_interval; // 0x12c4 + GameTime_t m_fTorrentStartTime; // 0x12cc + float flDamagePerTick; // 0x12d0 + float damage_tick_interval; // 0x12d4 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Kunkka_Torrent : public CDOTA_Buff { public: - 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 + int32_t torrent_damage; // 0x12c8 + float damage_tick_interval; // 0x12cc + float flDamagePerTick; // 0x12d0 + float m_flStartZ; // 0x12d4 + float m_flCurTime; // 0x12d8 + bool m_bTorrentStorm; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Kunkka_Torrent_Slow : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x12b8 + int32_t movespeed_bonus; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Kunkka_Tidebringer_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 + int32_t movespeed_slow; // 0x12c8 }; // Alignment: 0 @@ -50770,13 +51233,13 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Kunkka_Torrent_Storm : public CDOTA_Buff { public: - int32_t torrent_min_distance; // 0x12b8 - int32_t torrent_max_distance; // 0x12bc - int32_t m_iExplosionQuadrant; // 0x12c0 + int32_t torrent_min_distance; // 0x12c8 + int32_t torrent_max_distance; // 0x12cc + int32_t m_iExplosionQuadrant; // 0x12d0 }; // Alignment: 0 @@ -50788,20 +51251,20 @@ public: }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Kunkka_Tidebringer : public CDOTA_Buff { public: - bool m_bTidebringerAttack; // 0x12b8 + bool m_bTidebringerAttack; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + int32_t cleave_starting_width; // 0x12cc + int32_t cleave_ending_width; // 0x12d0 + int32_t cleave_distance; // 0x12d4 + int32_t damage_bonus; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc + int32_t cleave_damage; // 0x12e0 }; // Alignment: 1 @@ -50813,16 +51276,16 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Kunkka_XMarksTheSpot : public CDOTA_Buff { public: - int32_t ally_ms; // 0x12b8 - int32_t ally_armor; // 0x12bc + int32_t ally_ms; // 0x12c8 + int32_t ally_armor; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Kunkka_XMarksTheSpotMarker : public CDOTA_Buff { public: @@ -50830,16 +51293,16 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Kunkka_XMarksTheSpot_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x12b8 - bool m_bIsReflection; // 0x12c4 + Vector m_vStartLoc; // 0x12c8 + bool m_bIsReflection; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - CHandle< CBaseEntity > m_hEntity; // 0x12c8 + CHandle< CBaseEntity > m_hEntity; // 0x12d8 }; // Alignment: 0 @@ -50864,17 +51327,17 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Kunkka_Ghost_Ship_Fleet : public CDOTA_Buff { public: - Vector vCasterOrigin; // 0x12b8 - Vector vEnd; // 0x12c4 - int32_t hitcount; // 0x12d0 + Vector vCasterOrigin; // 0x12c8 + Vector vEnd; // 0x12d4 + int32_t hitcount; // 0x12e0 }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Kunkka_GhostShip_Knockback : public CDOTA_Modifier_Knockback { public: @@ -50882,7 +51345,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Kunkka_GhostShip_Loaded : public CDOTA_Buff { public: @@ -50890,22 +51353,22 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Kunkka_GhostShip_DamageAbsorb : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x12b8 - int32_t movespeed_bonus; // 0x12bc - float ghostship_absorb; // 0x12c0 + int32_t m_iAccumulatedDamage; // 0x12c8 + int32_t movespeed_bonus; // 0x12cc + float ghostship_absorb; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Kunkka_GhostShip_DamageDelay : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x12b8 - float m_flDuration; // 0x12bc + int32_t m_iAccumulatedDamage; // 0x12c8 + float m_flDuration; // 0x12cc }; // Alignment: 2 @@ -50926,13 +51389,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Tiny_CraggyExterior : public CDOTA_Buff { public: - int32_t stun_chance; // 0x12b8 - float stun_duration; // 0x12bc - int32_t damage; // 0x12c0 + int32_t stun_chance; // 0x12c8 + float stun_duration; // 0x12cc + int32_t damage; // 0x12d0 }; // Alignment: 1 @@ -50944,7 +51407,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tiny_Avalanche_Stun : public CDOTA_Modifier_Stunned { public: @@ -50952,22 +51415,22 @@ public: }; // Alignment: 8 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Tiny_Avalanche : public CDOTA_Buff { public: - 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 + CUtlVector< CDOTA_BaseNPC* > m_pHeroesHit; // 0x12c8 + int32_t radius; // 0x12e0 + float total_duration; // 0x12e4 + float stun_duration; // 0x12e8 + int32_t tick_count; // 0x12ec + float toss_multiplier; // 0x12f0 + int32_t m_damage; // 0x12f4 + int32_t m_nTicks; // 0x12f8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tiny_Toss_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -50983,30 +51446,30 @@ public: }; // Alignment: 14 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Tiny_Toss : public CDOTA_Buff { public: - 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 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + float m_flPredictedTotalTime; // 0x12cc + Vector m_vStartPosition; // 0x12d0 + float m_flCurrentTimeHoriz; // 0x12dc + float m_flCurrentTimeVert; // 0x12e0 + bool m_bHorizontalMotionInterrupted; // 0x12e4 + bool m_bDamageApplied; // 0x12e5 + bool m_bTargetTeleported; // 0x12e6 private: - [[maybe_unused]] uint8_t __pad12d7[0x1]; // 0x12d7 + [[maybe_unused]] uint8_t __pad12e7[0x1]; // 0x12e7 public: - Vector m_vHorizontalVelocity; // 0x12d8 - Vector m_vLastKnownTargetPosition; // 0x12e4 - float m_flInitialVelocityZ; // 0x12f0 - bool m_bDone; // 0x12f4 + Vector m_vHorizontalVelocity; // 0x12e8 + Vector m_vLastKnownTargetPosition; // 0x12f4 + float m_flInitialVelocityZ; // 0x1300 + bool m_bDone; // 0x1304 private: - [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 + [[maybe_unused]] uint8_t __pad1305[0x3]; // 0x1305 public: - int32_t radius; // 0x12f8 - int32_t toss_damage; // 0x12fc + int32_t radius; // 0x1308 + int32_t toss_damage; // 0x130c }; // Alignment: 1 @@ -51018,22 +51481,22 @@ public: }; // Alignment: 12 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Tiny_Tree_Grab : public CDOTA_Buff { public: - 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 + int32_t attack_count; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t bonus_damage_buildings; // 0x12d0 + float stun_duration; // 0x12d4 + int32_t attack_range; // 0x12d8 + int32_t m_nOriginalAttackCapability; // 0x12dc + float bat_increase; // 0x12e0 + int32_t speed_reduction; // 0x12e4 + int32_t m_nBonusAttackRange; // 0x12e8 + CHandle< CBaseEntity > m_hStolenTree; // 0x12ec + ParticleIndex_t m_nFXIndex; // 0x12f0 + ParticleIndex_t m_nFXAttackIndex; // 0x12f4 }; // Alignment: 0 @@ -51045,23 +51508,23 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Tiny_Tree_Channel : public CDOTA_Buff { public: - int32_t tree_grab_radius; // 0x12b8 - int32_t splash_radius; // 0x12bc - int32_t speed; // 0x12c0 - float interval; // 0x12c4 - Vector m_vPos; // 0x12c8 + int32_t tree_grab_radius; // 0x12c8 + int32_t splash_radius; // 0x12cc + int32_t speed; // 0x12d0 + float interval; // 0x12d4 + Vector m_vPos; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tiny_Tree_Channel_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 0 @@ -51073,19 +51536,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tiny_TossTree_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tiny_TossTree_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 0 @@ -51097,16 +51560,16 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Tiny_Grow : public CDOTA_Buff { public: - 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 + int32_t bonus_armor; // 0x12c8 + int32_t attack_speed_reduction; // 0x12cc + int32_t bonus_damage; // 0x12d0 + float tree_bonus_damage_pct; // 0x12d4 + float slow_resistance; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc }; // Alignment: 0 @@ -51209,7 +51672,7 @@ public: }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Puck_PhaseShift : public CDOTA_Buff { public: @@ -51217,11 +51680,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Puck_PhaseShift_AttackBonus : public CDOTA_Buff { public: - int32_t shard_bonus_damage; // 0x12b8 + int32_t shard_bonus_damage; // 0x12c8 }; // Alignment: 1 @@ -51233,38 +51696,38 @@ public: }; // Alignment: 8 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Puck_DreamCoil_Thinker : public CDOTA_Buff { public: - 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 + CUtlVector< CHandle< CBaseEntity > > m_hLinkedEntities; // 0x12c8 + int32_t coil_radius; // 0x12e0 + int32_t coil_break_radius; // 0x12e4 + int32_t coil_initial_damage; // 0x12e8 + float coil_stun_duration; // 0x12ec + float coil_duration; // 0x12f0 + int32_t coil_break_damage; // 0x12f4 + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x12f8 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Puck_Coiled : public CDOTA_Buff { public: - Vector m_vCastLocation; // 0x12b8 - int32_t coil_rapid_fire_z_offset; // 0x12c4 - float coil_rapid_fire_rate; // 0x12c8 + Vector m_vCastLocation; // 0x12c8 + int32_t coil_rapid_fire_z_offset; // 0x12d4 + float coil_rapid_fire_rate; // 0x12d8 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 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 + Vector m_vCastLocation; // 0x12c8 + int32_t coil_rapid_fire_z_offset; // 0x12d4 + float coil_rapid_fire_rate; // 0x12d8 }; // Alignment: 0 @@ -51345,7 +51808,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Windrunner_ShackleShot : public CDOTA_Modifier_Stunned { public: @@ -51375,7 +51838,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Windrunner_Windrun_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -51391,7 +51854,7 @@ public: }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Windrunner_Windrun_Invis : public CDOTA_Modifier_Invisible { public: @@ -51399,15 +51862,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Windrunner_Windrun_Invis_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Windrunner_Windrun_Passive : public CDOTA_Buff { public: @@ -51415,32 +51878,32 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Windrunner_Windrun : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t scepter_radius; // 0x12bc - int32_t movespeed_bonus_pct; // 0x12c0 - bool m_bDispellable; // 0x12c4 + int32_t radius; // 0x12c8 + int32_t scepter_radius; // 0x12cc + int32_t movespeed_bonus_pct; // 0x12d0 + bool m_bDispellable; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - int32_t physical_damage_pct; // 0x12c8 + int32_t physical_damage_pct; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Windrunner_Windrun_Slow : public CDOTA_Buff { public: - float enemy_movespeed_bonus_pct; // 0x12b8 - float scepter_movespeed_bonus_pct; // 0x12bc - int32_t scepter_blind; // 0x12c0 + float enemy_movespeed_bonus_pct; // 0x12c8 + float scepter_movespeed_bonus_pct; // 0x12cc + int32_t scepter_blind; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Windrunner_Arcana : public CDOTA_Buff { public: @@ -51464,41 +51927,41 @@ public: }; // Alignment: 14 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Windrunner_FocusFire : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - int32_t focusfire_damage_reduction; // 0x12bc - bool bActive; // 0x12c0 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + int32_t focusfire_damage_reduction; // 0x12cc + bool bActive; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t bonus_attack_speed; // 0x12c4 - int32_t focusfire_fire_on_the_move; // 0x12c8 - bool m_bPause; // 0x12cc + int32_t bonus_attack_speed; // 0x12d4 + int32_t focusfire_fire_on_the_move; // 0x12d8 + bool m_bPause; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - 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 + int32_t m_nNumArrowsLanded; // 0x12e0 + int32_t m_nDamageDealt; // 0x12e4 + int32_t m_nDamageDealtMax; // 0x12e8 + int32_t m_nTargetInitialHP; // 0x12ec + bool m_bHeroKilled; // 0x12f0 + bool m_bRecentFocusFireAttack; // 0x12f1 private: - [[maybe_unused]] uint8_t __pad12e2[0xa]; // 0x12e2 + [[maybe_unused]] uint8_t __pad12f2[0xa]; // 0x12f2 public: - ParticleIndex_t m_nFXFocusFire; // 0x12ec - GameTime_t m_flLastFocusFireAttackTime; // 0x12f0 + ParticleIndex_t m_nFXFocusFire; // 0x12fc + GameTime_t m_flLastFocusFireAttackTime; // 0x1300 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Windrunner_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x12b8 + bool m_bFrozen; // 0x12c8 }; // Alignment: 4 @@ -51513,26 +51976,26 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Windrunner_GaleForce_Aura : public CDOTA_Buff { public: - Vector m_vEndpoint; // 0x12b8 - Vector m_vFlowPosition; // 0x12c4 - int32_t radius; // 0x12d0 + Vector m_vEndpoint; // 0x12c8 + Vector m_vFlowPosition; // 0x12d4 + int32_t radius; // 0x12e0 }; // Alignment: 6 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Windrunner_GaleForce : public CDOTA_Buff { public: - 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 + Vector m_vEndpoint; // 0x12c8 + Vector m_vFlowPosition; // 0x12d4 + Vector m_vPull; // 0x12e0 + ParticleIndex_t m_nFXIndex; // 0x12ec + GameTime_t m_flLastThinkTime; // 0x12f0 + float wind_strength; // 0x12f4 }; // Alignment: 0 @@ -51544,14 +52007,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Lich_FrostNova_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x12b8 - int32_t slow_attack_speed; // 0x12bc - int32_t slow_attack_speed_primary; // 0x12c0 - bool m_bIsPrimary; // 0x12c4 + int32_t slow_movement_speed; // 0x12c8 + int32_t slow_attack_speed; // 0x12cc + int32_t slow_attack_speed_primary; // 0x12d0 + bool m_bIsPrimary; // 0x12d4 }; // Alignment: 2 @@ -51568,7 +52031,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lich_Sinister_Gaze_Self : public CDOTA_Buff { public: @@ -51576,16 +52039,16 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Lich_Sinister_Gaze : public CDOTA_Buff { public: - 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 + int32_t movement_speed; // 0x12c8 + int32_t mana_drain; // 0x12cc + float m_flIntervalRate; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + float creep_damage; // 0x12d8 + bool m_bBlasted; // 0x12dc }; // Alignment: 0 @@ -51597,13 +52060,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Lich_DarkSorcery_Buff : public CDOTA_Buff { public: - int32_t mana_drain; // 0x12b8 - int32_t attack_count; // 0x12bc - int32_t attack_speed; // 0x12c0 + int32_t mana_drain; // 0x12c8 + int32_t attack_count; // 0x12cc + int32_t attack_speed; // 0x12d0 }; // Alignment: 0 @@ -51615,36 +52078,36 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lich_FrostAura_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lich_FrostAura : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lich_FrostAura_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 + int32_t movespeed_slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lich_ChainFrost_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x12b8 - int32_t slow_attack_speed; // 0x12bc + int32_t slow_movement_speed; // 0x12c8 + int32_t slow_attack_speed; // 0x12cc }; // Alignment: 0 @@ -51656,7 +52119,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lich_FrostArmor_Autocast : public CDOTA_Buff { public: @@ -51664,22 +52127,22 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Lich_FrostArmor : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x12b8 - int32_t health_regen; // 0x12bc - float slow_duration; // 0x12c0 + int32_t armor_bonus; // 0x12c8 + int32_t health_regen; // 0x12cc + float slow_duration; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lich_FrostArmor_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x12b8 - int32_t slow_attack_speed; // 0x12bc + int32_t slow_movement_speed; // 0x12c8 + int32_t slow_attack_speed; // 0x12cc }; // Alignment: 0 @@ -51691,22 +52154,22 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Lich_FrostShield : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float interval; // 0x12bc - int32_t damage_reduction; // 0x12c0 - int32_t health_regen; // 0x12c4 + int32_t radius; // 0x12c8 + float interval; // 0x12cc + int32_t damage_reduction; // 0x12d0 + int32_t health_regen; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lich_FrostShield_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 6 @@ -51723,19 +52186,19 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Lich_Chain_Frost_Thinker : public CDOTA_Buff { public: - int32_t m_nDamageToHeroes; // 0x12b8 - int32_t m_nHeroesKilled; // 0x12bc - int32_t m_nJumps; // 0x12c0 - bool m_bFirstJump; // 0x12c4 + int32_t m_nDamageToHeroes; // 0x12c8 + int32_t m_nHeroesKilled; // 0x12cc + int32_t m_nJumps; // 0x12d0 + bool m_bFirstJump; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - CHandle< CBaseEntity > m_hTarget; // 0x12c8 - CHandle< CBaseEntity > m_hAvoidTarget; // 0x12cc + CHandle< CBaseEntity > m_hTarget; // 0x12d8 + CHandle< CBaseEntity > m_hAvoidTarget; // 0x12dc }; // Alignment: 2 @@ -51748,29 +52211,29 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Lich_Ice_Spire : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc - CountdownTimer m_Timer; // 0x12c0 + int32_t aura_radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + CountdownTimer m_Timer; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lich_Ice_Spire_Debuff : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x12b8 + int32_t bonus_movespeed; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lich_ChainFrost_OnDeath : public CDOTA_Buff { public: - int32_t should_fire_chain_frost_on_death; // 0x12b8 + int32_t should_fire_chain_frost_on_death; // 0x12c8 }; // Alignment: 0 @@ -51846,12 +52309,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tidehunter_Gush : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 - float negative_armor; // 0x12bc + int32_t movement_speed; // 0x12c8 + float negative_armor; // 0x12cc }; // Alignment: 0 @@ -51863,15 +52326,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Tidehunter_KrakenShell : public CDOTA_Buff { public: - 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 + int32_t m_iDamageTaken; // 0x12c8 + int32_t damage_reduction; // 0x12cc + int32_t damage_cleanse; // 0x12d0 + int32_t bonus_reduction_per_stack; // 0x12d4 + float damage_reset_interval; // 0x12d8 }; // Alignment: 0 @@ -51883,27 +52346,27 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tidehunter_SmashAttack : public CDOTA_Buff { public: - int32_t attack_damage; // 0x12b8 + int32_t attack_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tidehunter_AnchorSmash_Caster : public CDOTA_Buff { public: - int32_t attack_damage; // 0x12b8 + int32_t attack_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tidehunter_AnchorSmash : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 + int32_t damage_reduction; // 0x12c8 }; // Alignment: 3 @@ -51920,17 +52383,17 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Tidehunter_Ravage : public CDOTA_Buff { public: - float m_flStartZ; // 0x12b8 - float m_flCurTime; // 0x12bc - bool m_bDamageApplied; // 0x12c0 + float m_flStartZ; // 0x12c8 + float m_flCurTime; // 0x12cc + bool m_bDamageApplied; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - float damage; // 0x12c4 + float damage; // 0x12d4 }; // Alignment: 5 @@ -51956,23 +52419,23 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tidehunter_Anchor_Unit : public CDOTA_Buff { public: - int32_t chain_length; // 0x12b8 - int32_t attacks_to_destroy; // 0x12bc + int32_t chain_length; // 0x12c8 + int32_t attacks_to_destroy; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Tidehunter_DeadInTheWater : public CDOTA_Buff { public: - int32_t max_movement_speed; // 0x12b8 - int32_t chain_length; // 0x12bc - CHandle< CBaseEntity > m_hAnchor; // 0x12c0 - bool m_bDragging; // 0x12c4 + int32_t max_movement_speed; // 0x12c8 + int32_t chain_length; // 0x12cc + CHandle< CBaseEntity > m_hAnchor; // 0x12d0 + bool m_bDragging; // 0x12d4 }; // Alignment: 0 @@ -51984,7 +52447,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_ShadowShaman_EtherShock : public CDOTA_Buff { public: @@ -52000,12 +52463,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ShadowShaman_Voodoo : public CDOTA_Modifier_Hexed { public: - int32_t movespeed; // 0x12b8 - int32_t damage_amp; // 0x12bc + int32_t movespeed; // 0x12c8 + int32_t damage_amp; // 0x12cc }; // Alignment: 0 @@ -52028,21 +52491,21 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_ShadowShaman_Shackles : public CDOTA_Buff { public: - float tick_interval; // 0x12b8 - float total_damage; // 0x12bc - float channel_time; // 0x12c0 + float tick_interval; // 0x12c8 + float total_damage; // 0x12cc + float channel_time; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ShadowShaman_SerpentWard : public CDOTA_Buff { public: - int32_t scepter_range; // 0x12b8 + int32_t scepter_range; // 0x12c8 }; // Alignment: 4 @@ -52065,26 +52528,26 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Riki_SmokeScreenThinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Riki_SmokeScreen : public CDOTA_Buff { public: - int32_t miss_rate; // 0x12b8 - int32_t dodge_chance; // 0x12bc - int32_t block_targeting; // 0x12c0 - int32_t armor_reduction; // 0x12c4 + int32_t miss_rate; // 0x12c8 + int32_t dodge_chance; // 0x12cc + int32_t block_targeting; // 0x12d0 + int32_t armor_reduction; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Riki_BlinkStrike_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -52100,7 +52563,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Riki_BlinkStrike : public CDOTA_Buff { public: @@ -52108,7 +52571,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Riki_BlinkStrike_Slow : public CDOTA_Buff { public: @@ -52124,12 +52587,12 @@ public: }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Riki_Permanent_Invisibility : public CDOTA_Modifier_PersistentInvisibility { public: - int32_t movement_speed; // 0x12c8 - float fade_delay; // 0x12cc + int32_t movement_speed; // 0x12d8 + float fade_delay; // 0x12dc }; // Alignment: 0 @@ -52141,17 +52604,17 @@ public: }; // Alignment: 7 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Riki_Backstab : public CDOTA_Modifier_PersistentInvisibility { public: - 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 + float fade_delay; // 0x12d8 + int32_t backstab_angle; // 0x12dc + int32_t cleave; // 0x12e0 + float damage_multiplier; // 0x12e4 + float bonus_xp_kill; // 0x12e8 + float bonus_xp_assist; // 0x12ec + bool m_bBackstab; // 0x12f0 }; // Alignment: 0 @@ -52163,22 +52626,22 @@ public: }; // Alignment: 9 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Riki_TricksOfTheTrade_Phase : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFxIndex; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12cc + CountdownTimer m_Timer; // 0x12d0 + CHandle< CBaseEntity > m_hPreviousTarget; // 0x12e8 + int32_t m_nSucceessiveHits; // 0x12ec + bool m_bGrantedGem; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - float attack_rate; // 0x12e4 - int32_t damage_pct; // 0x12e8 - int32_t agility_pct; // 0x12ec + float attack_rate; // 0x12f4 + int32_t damage_pct; // 0x12f8 + int32_t agility_pct; // 0x12fc }; // Alignment: 0 @@ -52190,20 +52653,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Riki_Poison_Dart : public CDOTA_Buff { public: - int32_t wake_damage_limit; // 0x12b8 - float m_flDamageTaken; // 0x12bc + int32_t wake_damage_limit; // 0x12c8 + float m_flDamageTaken; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Riki_Poison_Dart_Debuff : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 0 @@ -52225,41 +52688,41 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Enigma_Malefice : public CDOTA_Buff { public: - float tick_rate; // 0x12b8 - float stun_duration; // 0x12bc - int32_t damage; // 0x12c0 - float duration; // 0x12c4 - int32_t m_nEidolonSpawnNum; // 0x12c8 + float tick_rate; // 0x12c8 + float stun_duration; // 0x12cc + int32_t damage; // 0x12d0 + float duration; // 0x12d4 + int32_t m_nEidolonSpawnNum; // 0x12d8 }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Enigma_DemonicConversion : public CDOTA_Modifier_Kill { public: - 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 + int32_t m_iAttackCount; // 0x12d0 + int32_t split_attack_count; // 0x12d4 + float life_extension; // 0x12d8 + int32_t eidolon_attack_range; // 0x12dc + int32_t eidolon_bonus_damage; // 0x12e0 + int32_t eidolon_bonus_attack_speed; // 0x12e4 + bool m_bAllowSplit; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - int32_t m_nSpawnNum; // 0x12dc + int32_t m_nSpawnNum; // 0x12ec }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Enigma_DemonicConversion_ModelScale : public CDOTA_Buff { public: - float self_modelscale; // 0x12b8 + float self_modelscale; // 0x12c8 }; // Alignment: 0 @@ -52271,22 +52734,22 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Enigma_MidnightPulseThinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t n_FXIndex; // 0x12bc - bool m_bHasGrantedKillEater; // 0x12c0 + int32_t radius; // 0x12c8 + ParticleIndex_t n_FXIndex; // 0x12cc + bool m_bHasGrantedKillEater; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Enigma_MidnightPulse_Damage : public CDOTA_Buff { public: - float damage_percent; // 0x12b8 - float tick_rate; // 0x12bc + float damage_percent; // 0x12c8 + float tick_rate; // 0x12cc }; // Alignment: 2 @@ -52299,51 +52762,51 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Enigma_BlackHoleThinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - bool m_bFoundFive; // 0x12bc - bool m_bGrantedKillEater; // 0x12bd + int32_t radius; // 0x12c8 + bool m_bFoundFive; // 0x12cc + bool m_bGrantedKillEater; // 0x12cd }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 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 + int32_t pull_speed; // 0x12c8 + int32_t radius; // 0x12cc + int32_t damage; // 0x12d0 + float tick_rate; // 0x12d4 + float pull_rotate_speed; // 0x12d8 + float animation_rate; // 0x12dc + float scepter_pct_damage; // 0x12e0 + GameTime_t m_flDamageTick; // 0x12e4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Enigma_Black_Hole_Thinker_Scepter : public CDOTA_Buff { public: - int32_t scepter_radius; // 0x12b8 - ParticleIndex_t n_FXIndex; // 0x12bc + int32_t scepter_radius; // 0x12c8 + ParticleIndex_t n_FXIndex; // 0x12cc }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 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 + int32_t scepter_drag_speed; // 0x12c8 + float scepter_pull_rotate_speed; // 0x12cc + float aura_origin_x; // 0x12d0 + float aura_origin_y; // 0x12d4 + ParticleIndex_t m_nFXIndex; // 0x12d8 + Vector m_vCenter; // 0x12dc + GameTime_t m_flLastThinkTime; // 0x12e8 }; // Alignment: 0 @@ -52427,18 +52890,18 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t damage_absorb; // 0x12c8 + int32_t status_resistance; // 0x12cc + int32_t cooldown_reduction; // 0x12d0 + bool m_bStartedTimer; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - int32_t m_nDamageAbsorbed; // 0x12c8 + int32_t m_nDamageAbsorbed; // 0x12d8 }; // Alignment: 3 @@ -52455,12 +52918,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tinker_LaserBlind : public CDOTA_Buff { public: - int32_t miss_rate; // 0x12b8 - float max_health_removed; // 0x12bc + int32_t miss_rate; // 0x12c8 + float max_health_removed; // 0x12cc }; // Alignment: 1 @@ -52482,11 +52945,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tinker_Warp_Grenade : public CDOTA_Buff { public: - int32_t range_reduction; // 0x12b8 + int32_t range_reduction; // 0x12c8 }; // Alignment: 2 @@ -52499,17 +52962,17 @@ public: }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Tinker_MarchOfTheMachinesThinker : public CDOTA_Buff { public: - 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 + int32_t collision_radius; // 0x12c8 + int32_t radius; // 0x12cc + int32_t distance; // 0x12d0 + int32_t distance_scepter; // 0x12d4 + int32_t speed; // 0x12d8 + int32_t machines_per_sec; // 0x12dc + Vector m_vDir; // 0x12e0 }; // Alignment: 1 @@ -52521,7 +52984,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tinker_Rearm : public CDOTA_Buff { public: @@ -52565,11 +53028,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_WitchDoctor_Cask_Thinker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 }; // Alignment: 0 @@ -52581,7 +53044,7 @@ public: }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_WitchDoctor_Voodoo_Restoration_Aura : public CDOTA_Buff { public: @@ -52589,15 +53052,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_WitchDoctor_Voodoo_Restoration_Heal : public CDOTA_Buff { public: - int32_t heal; // 0x12b8 - float mana_per_second; // 0x12bc - float heal_interval; // 0x12c0 - int32_t enemy_damage_pct; // 0x12c4 - float m_flTotalHealing; // 0x12c8 + int32_t heal; // 0x12c8 + float mana_per_second; // 0x12cc + float heal_interval; // 0x12d0 + int32_t enemy_damage_pct; // 0x12d4 + float m_flTotalHealing; // 0x12d8 }; // Alignment: 0 @@ -52609,7 +53072,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_WitchDoctor_MaledictDoT : public CDOTA_Buff { public: @@ -52617,15 +53080,15 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_WitchDoctor_Maledict : public CDOTA_Buff { public: - int32_t m_iStartHealth; // 0x12b8 - int32_t bonus_damage; // 0x12bc - int32_t bonus_damage_threshold; // 0x12c0 - int32_t ticks; // 0x12c4 - int32_t iCurrentTick; // 0x12c8 + int32_t m_iStartHealth; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t bonus_damage_threshold; // 0x12d0 + int32_t ticks; // 0x12d4 + int32_t iCurrentTick; // 0x12d8 }; // Alignment: 8 @@ -52648,14 +53111,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_WitchDoctor_DeathWard : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t m_iBounceRadius; // 0x12bc - int32_t bonus_accuracy; // 0x12c0 - bool m_bFirstAttack; // 0x12c4 + int32_t bonus_damage; // 0x12c8 + int32_t m_iBounceRadius; // 0x12cc + int32_t bonus_accuracy; // 0x12d0 + bool m_bFirstAttack; // 0x12d4 }; // Alignment: 0 @@ -52667,20 +53130,20 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_WitchDoctor_Voodoo_Switcheroo : public CDOTA_Buff { public: - Vector m_vSavedPos; // 0x12b8 - CHandle< CBaseEntity > m_hSavedAbility; // 0x12c4 + Vector m_vSavedPos; // 0x12c8 + CHandle< CBaseEntity > m_hSavedAbility; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_WitchDoctor_DeathWard_Voodoo_Switcheroo_AttackSpeedReduction : public CDOTA_Buff { public: - int32_t attack_speed_reduction; // 0x12b8 + int32_t attack_speed_reduction; // 0x12c8 }; // Alignment: 0 @@ -52740,7 +53203,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Sniper_Shrapnel_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -52756,22 +53219,22 @@ public: }; // Alignment: 3 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sniper_Shrapnel_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - bool m_bExploded; // 0x12bc - bool m_bGrantedGem; // 0x12bd + int32_t radius; // 0x12c8 + bool m_bExploded; // 0x12cc + bool m_bGrantedGem; // 0x12cd }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sniper_Shrapnel_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x12b8 - int32_t shrapnel_damage; // 0x12bc + int32_t slow_movement_speed; // 0x12c8 + int32_t shrapnel_damage; // 0x12cc }; // Alignment: 0 @@ -52783,24 +53246,24 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Sniper_Headshot : public CDOTA_Buff { public: - 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 + int32_t proc_chance; // 0x12c8 + float slow_duration; // 0x12cc + float knockback_distance; // 0x12d0 + int32_t bonus_damage_creeps; // 0x12d4 + int32_t bonus_attack_range; // 0x12d8 + int32_t damage; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sniper_Headshot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 0 @@ -52812,20 +53275,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sniper_TakeAim : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x12b8 + int32_t bonus_attack_range; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Sniper_TakeAim_Bonus : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 - int32_t active_attack_range_bonus; // 0x12bc + int32_t slow; // 0x12c8 + int32_t active_attack_range_bonus; // 0x12cc }; // Alignment: 3 @@ -52841,7 +53304,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Sniper_Assassinate_Trigger : public CDOTA_Buff { public: @@ -52849,17 +53312,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t scepter_crit_damage; // 0x12c8 + int32_t scatter_damage_pct; // 0x12cc + bool is_secondary; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Sniper_Assassinate : public CDOTA_Buff { public: @@ -52875,11 +53338,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Sniper_Concussive_Grenade : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 0 @@ -52899,21 +53362,21 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Necrolyte_Sadist_Active : public CDOTA_Buff { public: - int32_t heal_bonus; // 0x12b8 - int32_t bonus_damage; // 0x12bc - int32_t slow_aoe; // 0x12c0 + int32_t heal_bonus; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t slow_aoe; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Necrolyte_Sadist_Aura_Effect : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 + int32_t movement_speed; // 0x12c8 }; // Alignment: 1 @@ -52927,11 +53390,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Necrophos_Death_Seeker_Ethereal : public CDOTA_Buff { public: - int32_t magic_resistance_reduction; // 0x12b8 + int32_t magic_resistance_reduction; // 0x12c8 }; // Alignment: 0 @@ -52943,36 +53406,36 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Necrolyte_Heartstopper_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 - bool m_bStackCountChanged; // 0x12bc + int32_t aura_radius; // 0x12c8 + bool m_bStackCountChanged; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - CUtlVector< GameTime_t > m_fStackExpireTimes; // 0x12c0 + CUtlVector< GameTime_t > m_fStackExpireTimes; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Counter : public CDOTA_Buff { public: - float mana_regen; // 0x12b8 - float health_regen; // 0x12bc + float mana_regen; // 0x12c8 + float health_regen; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 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 + float aura_damage; // 0x12c8 + int32_t heal_reduction_pct; // 0x12cc + float heal_regen_to_damage; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 }; // Alignment: 0 @@ -52983,25 +53446,26 @@ public: // No members available }; -// Alignment: 3 -// Size: 0x12c0 +// Alignment: 4 +// Size: 0x12d0 class CDOTA_Modifier_Necrolyte_ReapersScythe : public CDOTA_Modifier_Stunned { public: - float stun_duration; // 0x12b8 - bool m_bIllusion; // 0x12bc - bool m_bArcWardenClone; // 0x12bd + float stun_duration; // 0x12c8 + bool m_bIllusion; // 0x12cc + bool m_bArcWardenClone; // 0x12cd + bool m_bSpiritBear; // 0x12ce }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Necrolyte_ReapersScythe_RespawnTime : public CDOTA_Buff { public: - float hp_per_kill; // 0x12b8 - float mana_per_kill; // 0x12bc - float hp_regen; // 0x12c0 - float mp_regen; // 0x12c4 + float hp_per_kill; // 0x12c8 + float mana_per_kill; // 0x12cc + float hp_regen; // 0x12d0 + float mp_regen; // 0x12d4 }; // Alignment: 0 @@ -53013,7 +53477,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Death_Seeker_OutOfWorld : public CDOTA_Buff { public: @@ -53021,16 +53485,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Slardar_Puddle_Thinker : public CDOTA_Buff { public: - int32_t puddle_radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t puddle_radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Slardar_Puddle : public CDOTA_Buff { public: @@ -53038,7 +53502,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Slardar_Sprint_Passive : public CDOTA_Buff { public: @@ -53046,14 +53510,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Slardar_Sprint_River : public CDOTA_Buff { public: - int32_t river_speed; // 0x12b8 - int32_t puddle_regen; // 0x12bc - int32_t puddle_armor; // 0x12c0 - int32_t puddle_status_resistance; // 0x12c4 + int32_t river_speed; // 0x12c8 + int32_t puddle_regen; // 0x12cc + int32_t puddle_armor; // 0x12d0 + int32_t puddle_status_resistance; // 0x12d4 }; // Alignment: 0 @@ -53065,11 +53529,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Slardar_Sprint : public CDOTA_Buff { public: - int32_t bonus_speed; // 0x12b8 + int32_t bonus_speed; // 0x12c8 }; // Alignment: 1 @@ -53081,11 +53545,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Slardar_Slithereen_Crush : public CDOTA_Buff { public: - int32_t crush_extra_slow; // 0x12b8 + int32_t crush_extra_slow; // 0x12c8 }; // Alignment: 0 @@ -53097,14 +53561,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Slardar_Bash_Active : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - float duration; // 0x12bc - int32_t attack_count; // 0x12c0 - int32_t river_damage; // 0x12c4 + int32_t bonus_damage; // 0x12c8 + float duration; // 0x12cc + int32_t attack_count; // 0x12d0 + int32_t river_damage; // 0x12d4 }; // Alignment: 0 @@ -53116,17 +53580,17 @@ public: }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Slardar_Amplify_Damage : public CDOTA_Buff { public: - 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 + int32_t armor_reduction; // 0x12c8 + float scepter_delay; // 0x12cc + int32_t undispellable; // 0x12d0 + int32_t puddle_radius; // 0x12d4 + float puddle_duration; // 0x12d8 + Vector m_vecLastPuddle; // 0x12dc + CHandle< CBaseEntity > m_hPuddle; // 0x12e8 }; // Alignment: 0 @@ -53202,12 +53666,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ursa_Overpower : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x12b8 - int32_t slow_resist; // 0x12bc + int32_t attack_speed_bonus_pct; // 0x12c8 + int32_t slow_resist; // 0x12cc }; // Alignment: 0 @@ -53219,19 +53683,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ursa_Fury_Swipes : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x12b8 + int32_t damage_per_stack; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ursa_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x12b8 + int32_t damage_per_stack; // 0x12c8 }; // Alignment: 0 @@ -53243,12 +53707,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ursa_Enrage : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 - int32_t status_resistance; // 0x12bc + int32_t damage_reduction; // 0x12c8 + int32_t status_resistance; // 0x12cc }; // Alignment: 1 @@ -53260,26 +53724,26 @@ public: }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Ursa_Earthshock_Move : public CDOTA_Buff { public: - 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 + float hop_duration; // 0x12c8 + int32_t hop_height; // 0x12cc + int32_t hop_distance; // 0x12d0 + float m_flStartZ; // 0x12d4 + float m_flCurTime; // 0x12d8 + float m_flJumpDuration; // 0x12dc + float m_flJumpHeight; // 0x12e0 + Vector m_vTargetHorizontalDirection; // 0x12e4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ursa_Earthshock : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 8 @@ -53301,17 +53765,17 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Lion_Impale : public CDOTA_Buff { public: - float m_flStartZ; // 0x12b8 - float m_flCurTime; // 0x12bc - bool m_bDamageApplied; // 0x12c0 + float m_flStartZ; // 0x12c8 + float m_flCurTime; // 0x12cc + bool m_bDamageApplied; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t damage; // 0x12c4 + int32_t damage; // 0x12d4 }; // Alignment: 0 @@ -53323,11 +53787,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lion_Voodoo : public CDOTA_Modifier_Hexed { public: - int32_t movespeed; // 0x12b8 + int32_t movespeed; // 0x12c8 }; // Alignment: 1 @@ -53339,7 +53803,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lion_ManaDrain_Immunity : public CDOTA_Modifier_DebuffImmune { public: @@ -53347,24 +53811,24 @@ public: }; // Alignment: 10 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Lion_ManaDrain : public CDOTA_Buff { public: - 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 + int32_t mana_per_second; // 0x12c8 + int32_t break_distance; // 0x12cc + float tick_interval; // 0x12d0 + int32_t movespeed; // 0x12d4 + int32_t damage_pct; // 0x12d8 + int32_t ally_pct; // 0x12dc + GameTime_t m_fAppliedTime; // 0x12e0 + int32_t m_nTotalManaDrained; // 0x12e4 + int32_t m_nSelfBuffSerialNumber; // 0x12e8 + int32_t m_nTargetDebuffSerialNumber; // 0x12ec }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lion_ManaDrain_Buff : public CDOTA_Buff { public: @@ -53372,7 +53836,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lion_ManaDrain_Debuff : public CDOTA_Buff { public: @@ -53380,7 +53844,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lion_FingerOfDeath_Kill_Counter : public CDOTA_Buff { public: @@ -53396,15 +53860,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lion_FingerOfDeath : public CDOTA_Buff { public: - bool m_bIgnoreBonus; // 0x12b8 + bool m_bIgnoreBonus; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lion_FingerOfDeath_Delay : public CDOTA_Buff { public: @@ -53412,12 +53876,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lion_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x12b8 - bool m_bFlail; // 0x12b9 + bool m_bFrozen; // 0x12c8 + bool m_bFlail; // 0x12c9 }; // Alignment: 0 @@ -53613,20 +54077,20 @@ public: }; // Alignment: 3 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_Track_Order_Issuer : public CDOTA_Buff { public: - PlayerID_t m_nIssuerPlayerIndex; // 0x12b8 - bool m_bTeamFirstCourier; // 0x12bc + PlayerID_t m_nIssuerPlayerIndex; // 0x12c8 + bool m_bTeamFirstCourier; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - GameTime_t m_nPlayerCommandTime[24]; // 0x12c0 + GameTime_t m_nPlayerCommandTime[24]; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Courier_Morph_Effect : public CDOTA_Buff { public: @@ -53634,7 +54098,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Courier_Flying : public CDOTA_Buff { public: @@ -53658,17 +54122,17 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Courier_TakeStashItems : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hStashOwner; // 0x12b8 - Vector m_vLocation; // 0x12bc - bool m_bTransferAfterTake; // 0x12c8 + CHandle< CBaseEntity > m_hStashOwner; // 0x12c8 + Vector m_vLocation; // 0x12cc + bool m_bTransferAfterTake; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - int32_t stash_pickup_distance; // 0x12cc + int32_t stash_pickup_distance; // 0x12dc }; // Alignment: 0 @@ -53680,11 +54144,11 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Courier_ReturnStashItems : public CDOTA_Buff { public: - Vector m_vLocation; // 0x12b8 + Vector m_vLocation; // 0x12c8 }; // Alignment: 0 @@ -53736,11 +54200,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Courier_TransferItems : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 }; // Alignment: 0 @@ -53760,11 +54224,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Courier_Burst : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 + int32_t movement_speed; // 0x12c8 }; // Alignment: 0 @@ -53784,7 +54248,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Courier_Shield : public CDOTA_Buff { public: @@ -53792,11 +54256,11 @@ public: }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Courier_Passive_Bonus : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_vecTriggers; // 0x12b8 + CUtlVector< CHandle< CBaseEntity > > m_vecTriggers; // 0x12c8 }; // Alignment: 0 @@ -53816,19 +54280,19 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_FountainPassive : public CDOTA_Buff { public: - int32_t bonus_chance; // 0x12b8 + int32_t bonus_chance; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Fountain_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: @@ -53844,7 +54308,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Roshan_SpellBlock : public CDOTA_Buff { public: @@ -53862,13 +54326,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Roshan_Moving : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 - CHandle< CBaseEntity > m_hTarget; // 0x12bc - bool m_bFlipped; // 0x12c0 + int32_t movement_speed; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12cc + bool m_bFlipped; // 0x12d0 }; // Alignment: 0 @@ -53880,13 +54344,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Roshan_Bash : public CDOTA_Buff { public: - int32_t bash_chance; // 0x12b8 - int32_t bonus_damage; // 0x12bc - float stun_duration; // 0x12c0 + int32_t bash_chance; // 0x12c8 + int32_t bonus_damage; // 0x12cc + float stun_duration; // 0x12d0 }; // Alignment: 0 @@ -53898,11 +54362,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Roshan_Slam : public CDOTA_Buff { public: - int32_t slow_amount; // 0x12b8 + int32_t slow_amount; // 0x12c8 }; // Alignment: 0 @@ -53914,7 +54378,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Roshan_InherentBuffs : public CDOTA_Buff { public: @@ -53930,15 +54394,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Roshan_DevotionAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Roshan_Devotion : public CDOTA_Buff { public: @@ -53962,26 +54426,26 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Miniboss_Reflect : public CDOTA_Buff { public: - int32_t passive_reflection_pct; // 0x12b8 - int32_t passive_reflection_bonus_per_death; // 0x12bc - bool m_bIsDire; // 0x12c0 + int32_t passive_reflection_pct; // 0x12c8 + int32_t passive_reflection_bonus_per_death; // 0x12cc + bool m_bIsDire; // 0x12d0 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Miniboss_UnyieldingShield : public CDOTA_Buff { public: - 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 + int32_t damage_absorb; // 0x12c8 + float regen_per_second; // 0x12cc + float regen_bonus_per_death; // 0x12d0 + int32_t m_nDamageAbsorbed; // 0x12d4 + GameTime_t m_timeLastTick; // 0x12d8 + ParticleIndex_t nFXIndex; // 0x12dc }; // Alignment: 2 @@ -54002,17 +54466,17 @@ public: }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Animation_RightClawSwipe : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - int32_t damage_radius; // 0x12bc - float m_flScalar; // 0x12c0 + int32_t damage; // 0x12c8 + int32_t damage_radius; // 0x12cc + float m_flScalar; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x12c8 + CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x12d8 }; // Alignment: 0 @@ -54024,27 +54488,27 @@ public: }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Animation_LeftClawSwipe : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - int32_t damage_radius; // 0x12bc - float m_flScalar; // 0x12c0 + int32_t damage; // 0x12c8 + int32_t damage_radius; // 0x12cc + float m_flScalar; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x12c8 + CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Attached_Unit : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hAttachTarget; // 0x12b8 - bool m_bPhysicalImmune; // 0x12bc - bool m_bMagicImmune; // 0x12bd + CHandle< CBaseEntity > m_hAttachTarget; // 0x12c8 + bool m_bPhysicalImmune; // 0x12cc + bool m_bMagicImmune; // 0x12cd }; // Alignment: 1 @@ -54056,49 +54520,49 @@ public: }; // Alignment: 33 -// Size: 0x1368 +// Size: 0x1378 class CDOTA_Modifier_Nian_Dive : public CDOTA_Buff { public: - 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 + float m_flTotalTimeInAir; // 0x12c8 + float m_flInitialVelocity; // 0x12cc + Vector m_vStartPosition; // 0x12d0 + Vector m_vTargetHorizontalDirection; // 0x12dc + Vector m_vTargetPosition; // 0x12e8 + float m_flCurrentTimeHoriz; // 0x12f4 + float m_flCurrentTimeVert; // 0x12f8 + bool m_bInterrupted; // 0x12fc private: - [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed + [[maybe_unused]] uint8_t __pad12fd[0x3]; // 0x12fd public: - 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 + float m_flHorizDelayTime; // 0x1300 + float m_flVertDelayTime; // 0x1304 + float m_flLeapSequenceDuration; // 0x1308 + float m_flClawDamageTime; // 0x130c + float m_flPlaybackRate; // 0x1310 + CHandle< CBaseEntity > m_hTarget; // 0x1314 + bool m_bPlayedSwipeSound; // 0x1318 private: - [[maybe_unused]] uint8_t __pad1309[0x3]; // 0x1309 + [[maybe_unused]] uint8_t __pad1319[0x3]; // 0x1319 public: - 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 + int32_t pounce_distance; // 0x131c + float pounce_speed; // 0x1320 + float pounce_acceleration; // 0x1324 + int32_t pounce_radius; // 0x1328 + int32_t pounce_damage; // 0x132c + int32_t stun_radius; // 0x1330 + float stun_duration; // 0x1334 + float leash_duration; // 0x1338 + float initial_delay; // 0x133c + float landing_delay; // 0x1340 + float vertical_adjust; // 0x1344 + float vertical_adjust_max_distance; // 0x1348 + float vertical_adjust_min_distance; // 0x134c + int32_t claw_damage; // 0x1350 + int32_t claw_damage_radius; // 0x1354 + float claw_damage_delay; // 0x1358 + float claw_damage_duration; // 0x135c + CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x1360 }; // Alignment: 11 @@ -54136,21 +54600,21 @@ public: }; // Alignment: 11 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Nian_Frenzy : public CDOTA_Buff { public: - 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 + int32_t damage; // 0x12c8 + int32_t damage_radius; // 0x12cc + int32_t stun_radius; // 0x12d0 + float dive_distance; // 0x12d4 + float initial_rise_time; // 0x12d8 + float right_swipe_time; // 0x12dc + float left_swipe_time; // 0x12e0 + float knockdown_duration; // 0x12e4 + float stun_duration; // 0x12e8 + int32_t m_nTickCounter; // 0x12ec + CUtlVector< CHandle< CBaseEntity > > m_hEnemies; // 0x12f0 }; // Alignment: 16 @@ -54180,7 +54644,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Roar : public CDOTA_Buff { public: @@ -54188,7 +54652,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Invulnerable : public CDOTA_Buff { public: @@ -54196,7 +54660,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Intrinsic : public CDOTA_Buff { public: @@ -54204,7 +54668,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Attachment : public CDOTA_Buff { public: @@ -54212,7 +54676,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Attachment_Regrow : public CDOTA_Buff { public: @@ -54220,7 +54684,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Waiting : public CDOTA_Buff { public: @@ -54237,17 +54701,17 @@ public: }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Animation_TailSpin : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - int32_t damage_radius; // 0x12bc - float m_flPlaybackRate; // 0x12c0 + int32_t damage; // 0x12c8 + int32_t damage_radius; // 0x12cc + float m_flPlaybackRate; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x12c8 + CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x12d8 }; // Alignment: 7 @@ -54268,28 +54732,28 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Nian_Apocalypse : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x12b8 - float damage; // 0x12bc - float stun_duration; // 0x12c0 + int32_t area_of_effect; // 0x12c8 + float damage; // 0x12cc + float stun_duration; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Nian_Knockdown : public CDOTA_Buff { public: - float m_flStandUpDuration; // 0x12b8 - float m_flKnockDownDuration; // 0x12bc - bool m_bDebuff; // 0x12c0 - bool m_bStandingUp; // 0x12c1 + float m_flStandUpDuration; // 0x12c8 + float m_flKnockDownDuration; // 0x12cc + bool m_bDebuff; // 0x12d0 + bool m_bStandingUp; // 0x12d1 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Big_Flinch : public CDOTA_Buff { public: @@ -54297,11 +54761,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Firecracker_Debuff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 0 @@ -54313,38 +54777,38 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Nian_GreaterBash : public CDOTA_Buff { public: - int32_t chance_pct; // 0x12b8 - float damage; // 0x12bc - float movespeed_duration; // 0x12c0 + int32_t chance_pct; // 0x12c8 + float damage; // 0x12cc + float movespeed_duration; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Nian_GreaterBash_Speed : public CDOTA_Buff { public: - int32_t bonus_movespeed_pct; // 0x12b8 + int32_t bonus_movespeed_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_NianCharge : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_NianChargePinned : public CDOTA_Buff { public: - float pinned_damage_amount; // 0x12b8 - float pinned_damage_interval; // 0x12bc + float pinned_damage_amount; // 0x12c8 + float pinned_damage_interval; // 0x12cc }; // Alignment: 0 @@ -54356,52 +54820,52 @@ public: }; // Alignment: 15 -// Size: 0x1328 +// Size: 0x1338 class CDOTA_Modifier_Nian_Tail_Swipe_Wall : public CDOTA_Buff { public: - 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 + Vector m_vWallStartPosition; // 0x12c8 + Vector m_vWallDirection; // 0x12d4 + Vector m_vWallLeft; // 0x12e0 + int32_t m_DamageAmount; // 0x12ec + int32_t m_DamageType; // 0x12f0 + float speed; // 0x12f4 + float starting_width; // 0x12f8 + float ending_width; // 0x12fc + float stun_duration; // 0x1300 + float fly_duration; // 0x1304 + float fly_distance; // 0x1308 + ParticleIndex_t m_nFXIndex; // 0x130c + GameTime_t m_flWallStartTime; // 0x1310 + float m_flScalar; // 0x1314 + CUtlVector< CHandle< CBaseEntity > > m_EntitiesToExclude; // 0x1318 }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Nian_Tail_Swipe_AirTime : public CDOTA_Buff { public: - 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 + float m_flStartZ; // 0x12c8 + float m_flCurTime; // 0x12cc + float m_flOldPitch; // 0x12d0 + QAngle m_qRotation; // 0x12d4 + int32_t m_nRotations; // 0x12e0 + float m_flDistance; // 0x12e4 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Nian_Hurricane_Whirlpool : public CDOTA_Buff { public: - float pull_switch_interval; // 0x12b8 - int32_t pull_speed; // 0x12bc - bool m_bForward; // 0x12c0 + float pull_switch_interval; // 0x12c8 + int32_t pull_speed; // 0x12cc + bool m_bForward; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - ParticleIndex_t m_nfxIndex; // 0x12c4 + ParticleIndex_t m_nfxIndex; // 0x12d4 }; // Alignment: 13 @@ -54428,7 +54892,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nian_Torrent_Thinker : public CDOTA_Buff { public: @@ -54453,25 +54917,25 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Nian_WhirlpoolThinker : public CDOTA_Buff { public: - int32_t pull_radius; // 0x12b8 + int32_t pull_radius; // 0x12c8 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Nian_Whirlpool_Pull : public CDOTA_Buff { public: - 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 + int32_t pull_radius; // 0x12c8 + int32_t pull_speed; // 0x12cc + int32_t radius; // 0x12d0 + int32_t whirlpool_damage; // 0x12d4 + float tick_rate; // 0x12d8 + GameTime_t m_flDamageTick; // 0x12dc + CHandle< CBaseEntity > m_hThinker; // 0x12e0 }; // Alignment: 0 @@ -54483,23 +54947,23 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Nian_EruptionPendingThinker : public CDOTA_Buff { public: - int32_t tick_count; // 0x12b8 - int32_t beam_radius; // 0x12bc - int32_t m_nTickCount; // 0x12c0 + int32_t tick_count; // 0x12c8 + int32_t beam_radius; // 0x12cc + int32_t m_nTickCount; // 0x12d0 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Nian_EruptionThinker : public CDOTA_Buff { public: - int32_t explosion_radius; // 0x12b8 - float damage_interval; // 0x12bc - int32_t damage; // 0x12c0 + int32_t explosion_radius; // 0x12c8 + float damage_interval; // 0x12cc + int32_t damage; // 0x12d0 }; // Alignment: 0 @@ -54511,14 +54975,14 @@ public: }; // Alignment: 4 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Nian_Waterball : public CDOTA_Buff { public: - int32_t trail_damage_per_second; // 0x12b8 - int32_t trail_damage_radius; // 0x12bc - CUtlVector< int32 > m_vFXIndices; // 0x12c0 - CUtlVector< Vector > m_vLocations; // 0x12d8 + int32_t trail_damage_per_second; // 0x12c8 + int32_t trail_damage_radius; // 0x12cc + CUtlVector< int32 > m_vFXIndices; // 0x12d0 + CUtlVector< Vector > m_vLocations; // 0x12e8 }; // Alignment: 2 @@ -54531,12 +54995,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Nian_Damage_Reflection : public CDOTA_Buff { public: - GameTime_t m_flReflectionStartTime; // 0x12b8 - float m_flReflectionAmount; // 0x12bc + GameTime_t m_flReflectionStartTime; // 0x12c8 + float m_flReflectionAmount; // 0x12cc }; // Alignment: 0 @@ -54548,20 +55012,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Nian_Flag_Trap_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Nian_Flag_Trapped : public CDOTA_Buff { public: - int32_t bonus_spell_damage_pct; // 0x12b8 + int32_t bonus_spell_damage_pct; // 0x12c8 }; // Alignment: 0 @@ -54573,13 +55037,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Firework_Mine : public CDOTA_Buff { public: - int32_t damage_radius; // 0x12b8 - int32_t trigger_radius; // 0x12bc - int32_t damage; // 0x12c0 + int32_t damage_radius; // 0x12c8 + int32_t trigger_radius; // 0x12cc + int32_t damage; // 0x12d0 }; // Alignment: 0 @@ -54591,22 +55055,22 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_JumpBootsIntrinsic : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_movement_speed; // 0x12c8 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_JumpBoots : public CDOTA_Buff { public: - Vector m_vDirection; // 0x12b8 - float m_flStartZ; // 0x12c4 - float m_flCurTime; // 0x12c8 - int32_t push_length; // 0x12cc + Vector m_vDirection; // 0x12c8 + float m_flStartZ; // 0x12d4 + float m_flCurTime; // 0x12d8 + int32_t push_length; // 0x12dc }; // Alignment: 1 @@ -54618,30 +55082,30 @@ public: }; // Alignment: 17 -// Size: 0x1318 +// Size: 0x1328 class CDOTA_Modifier_Nian_Leap : public CDOTA_Buff { public: - 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 + float m_flTotalTimeInAir; // 0x12c8 + float m_flInitialVelocity; // 0x12cc + Vector m_vStartPosition; // 0x12d0 + Vector m_vTargetHorizontalDirection; // 0x12dc + Vector m_vTargetPosition; // 0x12e8 + float m_flCurrentTimeHoriz; // 0x12f4 + float m_flCurrentTimeVert; // 0x12f8 + bool m_bInterrupted; // 0x12fc private: - [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed + [[maybe_unused]] uint8_t __pad12fd[0x3]; // 0x12fd public: - 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 + float m_flHorizDelayTime; // 0x1300 + float m_flVertDelayTime; // 0x1304 + float m_flLeapSequenceDuration; // 0x1308 + float m_flPlaybackRate; // 0x130c + int32_t pounce_distance; // 0x1310 + float pounce_speed; // 0x1314 + float pounce_acceleration; // 0x1318 + float initial_delay; // 0x131c + float landing_delay; // 0x1320 }; // Alignment: 0 @@ -54661,33 +55125,33 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Vermillion_Robe_Flames : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float damage_per_health_missing; // 0x12bc - float delay; // 0x12c0 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Item_Vermillion_Robe : public CDOTA_Buff_Item -{ -public: - int32_t mana_regen_pct; // 0x12b8 - int32_t move_speed_bonus; // 0x12bc - int32_t bonus_stats; // 0x12c0 + int32_t radius; // 0x12c8 + float damage_per_health_missing; // 0x12cc + float delay; // 0x12d0 }; // Alignment: 3 // Size: 0x12d8 +class CDOTA_Modifier_Item_Vermillion_Robe : public CDOTA_Buff_Item +{ +public: + int32_t mana_regen_pct; // 0x12c8 + int32_t move_speed_bonus; // 0x12cc + int32_t bonus_stats; // 0x12d0 +}; + +// Alignment: 3 +// Size: 0x12e8 class CDOTA_Modifier_Warlock_FatalBonds : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_FatalBondsEntities; // 0x12b8 - int32_t damage_share_percentage; // 0x12d0 - float imp_duration; // 0x12d4 + CUtlVector< CHandle< CBaseEntity > > m_FatalBondsEntities; // 0x12c8 + int32_t damage_share_percentage; // 0x12e0 + float imp_duration; // 0x12e4 }; // Alignment: 1 @@ -54707,13 +55171,13 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Warlock_Shadow_Word : public CDOTA_Buff { public: - float tick_interval; // 0x12b8 - int32_t damage; // 0x12bc - int32_t shard_movement_speed_pct; // 0x12c0 + float tick_interval; // 0x12c8 + int32_t damage; // 0x12cc + int32_t shard_movement_speed_pct; // 0x12d0 }; // Alignment: 16 @@ -54746,31 +55210,32 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Warlock_Upheaval : public CDOTA_Buff { public: - int32_t m_iSlow; // 0x12b8 + int32_t m_iSlow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Warlock_Upheaval_Ally : public CDOTA_Buff { public: - int32_t m_iAttackSpeed; // 0x12b8 + int32_t m_iAttackSpeed; // 0x12c8 }; -// Alignment: 1 +// Alignment: 2 // Size: 0x570 class CDOTA_Ability_Warlock_RainOfChaos : public CDOTABaseAbility { public: int32_t aoe; // 0x568 + bool m_bHasScepter; // 0x56c }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Death_Trigger : public CDOTA_Buff { public: @@ -54778,27 +55243,27 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Thinker : public CDOTA_Buff { public: - float stun_duration; // 0x12b8 - bool bHasScepter; // 0x12bc + float stun_duration; // 0x12c8 + bool bHasScepter; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - int32_t aoe; // 0x12c0 - int32_t m_iCount; // 0x12c4 + int32_t aoe; // 0x12d0 + int32_t m_iCount; // 0x12d4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Golem : public CDOTA_Buff { public: - int32_t bonus_magic_resistance; // 0x12b8 - int32_t bonus_armor; // 0x12bc - int32_t bonus_slow_resistance; // 0x12c0 + int32_t bonus_magic_resistance; // 0x12c8 + int32_t bonus_armor; // 0x12cc + int32_t bonus_slow_resistance; // 0x12d0 }; // Alignment: 0 @@ -54810,12 +55275,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Warlock_Golem_Flaming_Fists : public CDOTA_Buff { public: - float damage; // 0x12b8 - int32_t radius; // 0x12bc + float damage; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 0 @@ -54827,19 +55292,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Warlock_Golem_Permanent_Immolation : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Warlock_Golem_Permanent_Immolation_Debuff : public CDOTA_Buff { public: - int32_t aura_damage; // 0x12b8 + int32_t aura_damage; // 0x12c8 }; // Alignment: 0 @@ -54851,24 +55316,24 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Warlock_Imp_AutoAttack : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hBestTarget; // 0x12b8 - float bonus_hp; // 0x12bc - float bonus_dmg; // 0x12c0 - float bonus_movespeed; // 0x12c4 + CHandle< CBaseEntity > m_hBestTarget; // 0x12c8 + float bonus_hp; // 0x12cc + float bonus_dmg; // 0x12d0 + float bonus_movespeed; // 0x12d4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Warlock_Imp_ExplodeThinker : public CDOTA_Buff { public: - float explosion_radius; // 0x12b8 - float explosion_dmg; // 0x12bc - float explosion_nonhero_reduce; // 0x12c0 + float explosion_radius; // 0x12c8 + float explosion_dmg; // 0x12cc + float explosion_nonhero_reduce; // 0x12d0 }; // Alignment: 0 @@ -54888,44 +55353,44 @@ public: }; // Alignment: 19 -// Size: 0x1380 +// Size: 0x1390 class CDOTA_Modifier_Beastmaster_WildAxes : public CDOTA_Buff { public: - 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 + Vector m_vLeftControl; // 0x12c8 + Vector m_vRightControl; // 0x12d4 + Vector m_vTargetLoc; // 0x12e0 + Vector m_vSourceLoc; // 0x12ec + float m_flDuration; // 0x12f8 + GameTime_t m_flDieTime; // 0x12fc + bool m_bReturning; // 0x1300 + bool m_bCatchingAxes; // 0x1301 private: - [[maybe_unused]] uint8_t __pad12f2[0x6]; // 0x12f2 + [[maybe_unused]] uint8_t __pad1302[0x6]; // 0x1302 public: - 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 + CUtlVector< CHandle< CBaseEntity > > m_hAxes; // 0x1308 + ParticleIndex_t m_nAxeFXIndex[2]; // 0x1320 + CUtlVector< CHandle< CBaseEntity > > m_hHitList[2]; // 0x1328 + int32_t radius; // 0x1358 + int32_t spread; // 0x135c + int32_t axe_damage; // 0x1360 + float duration; // 0x1364 + float min_throw_duration; // 0x1368 + float max_throw_duration; // 0x136c + CUtlVector< CHandle< CBaseEntity > > m_vecUniqueHitList; // 0x1370 + bool m_bHitInvisibleHero; // 0x1388 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Beastmaster_Axe_Stack_Counter : public CDOTA_Buff { public: - float damage_amp; // 0x12b8 + float damage_amp; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Beastmaster_Axe_Invulnerable : public CDOTA_Buff { public: @@ -54950,20 +55415,20 @@ public: }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Beastmaster_CallOfTheWild_Hawk : public CDOTA_Buff { public: - 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 + CHandle< CBaseEntity > m_hOwner; // 0x12c8 + int32_t attack_radius; // 0x12cc + GameTime_t m_flLastAttack; // 0x12d0 + float roaming_seconds_per_rotation; // 0x12d4 + int32_t roaming_radius; // 0x12d8 + float attack_interval; // 0x12dc + int32_t min_move_speed; // 0x12e0 + int32_t max_move_speed; // 0x12e4 + int32_t m_iPreviousHawkCount; // 0x12e8 + float m_flRotation; // 0x12ec }; // Alignment: 0 @@ -54975,23 +55440,23 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_CallOfTheWild_Boar_BonusDamage : public CDOTA_Buff { public: - float boar_bonus_damage; // 0x12b8 + float boar_bonus_damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_CallOfTheWild_Boar_PoisonBase : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_CallOfTheWild_Boar_Poison : public CDOTA_Modifier_CallOfTheWild_Boar_PoisonBase { public: @@ -54999,12 +55464,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_CallOfTheWild_Boar_PoisonEffect : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 - int32_t movement_speed; // 0x12bc + int32_t attack_speed; // 0x12c8 + int32_t movement_speed; // 0x12cc }; // Alignment: 0 @@ -55016,15 +55481,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Beastmaster_InnerBeast_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Beastmaster_InnerBeast : public CDOTA_Buff { public: @@ -55048,28 +55513,28 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Beastmaster_PrimalRoar_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x12b8 - int32_t slow_attack_speed_pct; // 0x12bc + int32_t slow_movement_speed_pct; // 0x12c8 + int32_t slow_attack_speed_pct; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Beastmaster_PrimalRoar_Speed : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 + int32_t movement_speed; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Beastmaster_PrimalRoar_Push : public CDOTA_Buff { public: - Vector m_vVelocity; // 0x12b8 + Vector m_vVelocity; // 0x12c8 }; // Alignment: 0 @@ -55081,7 +55546,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Beastmaster_Mark_Of_The_Beast : public CDOTA_Buff { public: @@ -55089,7 +55554,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_CallOfTheWild_Hawk_Reveal : public CDOTA_Buff { public: @@ -55105,29 +55570,29 @@ public: }; // Alignment: 13 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Beastmaster_Hawk_Dive : public CDOTA_Buff { public: - 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 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + float m_flPredictedTotalTime; // 0x12cc + Vector m_vStartPosition; // 0x12d0 + float m_flCurrentTimeHoriz; // 0x12dc + float m_flCurrentTimeVert; // 0x12e0 + bool m_bHorizontalMotionInterrupted; // 0x12e4 + bool m_bDamageApplied; // 0x12e5 private: - [[maybe_unused]] uint8_t __pad12d6[0x2]; // 0x12d6 + [[maybe_unused]] uint8_t __pad12e6[0x2]; // 0x12e6 public: - Vector m_vHorizontalVelocity; // 0x12d8 - Vector m_vLastKnownTargetPosition; // 0x12e4 - float m_flInitialVelocityZ; // 0x12f0 - bool m_bDone; // 0x12f4 + Vector m_vHorizontalVelocity; // 0x12e8 + Vector m_vLastKnownTargetPosition; // 0x12f4 + float m_flInitialVelocityZ; // 0x1300 + bool m_bDone; // 0x1304 private: - [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 + [[maybe_unused]] uint8_t __pad1305[0x3]; // 0x1305 public: - int32_t dive_damage; // 0x12f8 - float dive_root_duration; // 0x12fc + int32_t dive_damage; // 0x1308 + float dive_root_duration; // 0x130c }; // Alignment: 0 @@ -55139,25 +55604,25 @@ public: }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 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 + int32_t perch_flight_height; // 0x12c8 + int32_t perch_tree_height; // 0x12cc + int32_t flight_speed; // 0x12d0 + float m_flZDelta; // 0x12d4 + Vector m_vStart; // 0x12d8 + CHandle< CBaseEntity > m_hTarget; // 0x12e4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Beastmaster_Hawk_Perch_Perching : public CDOTA_Buff { public: - int32_t perching_tree_height; // 0x12b8 - CHandle< CBaseEntity > m_hTree; // 0x12bc + int32_t perching_tree_height; // 0x12c8 + CHandle< CBaseEntity > m_hTree; // 0x12cc }; // Alignment: 0 @@ -55169,26 +55634,26 @@ public: }; // Alignment: 12 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Beastmaster_DrumsOfSlom : public CDOTA_Buff { public: - 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 + int32_t aura_radius; // 0x12c8 + int32_t radius; // 0x12cc + int32_t max_stacks; // 0x12d0 + float base_damage; // 0x12d4 + int32_t heal_pct; // 0x12d8 + int32_t creep_heal_pct; // 0x12dc + int32_t iCurrentAttacksAtMinInterval; // 0x12e0 + float stack_decay_time; // 0x12e4 + float max_drum_hit_interval; // 0x12e8 + float min_drum_hit_interval; // 0x12ec + GameTime_t m_flLastStackChangeTime; // 0x12f0 + GameTime_t m_flLastDrumHitTime; // 0x12f4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Beastmaster_DrumsOfSlom_Aura : public CDOTA_Buff { public: @@ -55244,7 +55709,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_5_Aura : public CDOTA_Buff { public: @@ -55252,11 +55717,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_5 : public CDOTA_Buff { public: - int32_t bonus_ms; // 0x12b8 + int32_t bonus_ms; // 0x12c8 }; // Alignment: 0 @@ -55268,7 +55733,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_6_Aura : public CDOTA_Buff { public: @@ -55276,11 +55741,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_6 : public CDOTA_Buff { public: - int32_t bonus_hp; // 0x12b8 + int32_t bonus_hp; // 0x12c8 }; // Alignment: 0 @@ -55316,11 +55781,11 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_QueenOfPain_ScreamOfPain_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x12b8 + Vector m_vOriginal; // 0x12c8 }; // Alignment: 1 @@ -55332,20 +55797,20 @@ public: }; // Alignment: 7 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_QueenOfPain_ShadowStrike : public CDOTA_Buff { public: - int32_t duration_damage; // 0x12b8 - int32_t duration_heal; // 0x12bc - int32_t movement_slow; // 0x12c0 + int32_t duration_damage; // 0x12c8 + int32_t duration_heal; // 0x12cc + int32_t movement_slow; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CountdownTimer m_SlowInterval; // 0x12c8 - float m_flSlowStep; // 0x12e0 - float m_flSlowStepStep; // 0x12e4 - float attack_buff_duration; // 0x12e8 + CountdownTimer m_SlowInterval; // 0x12d8 + float m_flSlowStep; // 0x12f0 + float m_flSlowStepStep; // 0x12f4 + float attack_buff_duration; // 0x12f8 }; // Alignment: 0 @@ -55357,16 +55822,16 @@ public: }; // Alignment: 6 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_QueenOfPain_Arcana : public CDOTA_Buff { public: - 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 + CUtlOrderedMap< PlayerID_t, bool, F( size=1 ) > m_vecHitPlayers; // 0x12c8 + CUtlOrderedMap< PlayerID_t, bool, F( size=1 ) > m_vecKilledPlayers; // 0x12f0 + GameTime_t m_flLastSonicWaveCast; // 0x1318 + bool m_bSpeechComplete; // 0x131c + bool m_bMessageComplete; // 0x131d + bool m_bIsMeleeAttack; // 0x131e }; // Alignment: 5 @@ -55381,17 +55846,26 @@ public: int32_t final_aoe; // 0x578 }; -// Alignment: 2 -// Size: 0x12f0 +// Alignment: 0 +// Size: 0x12f8 class CDOTA_Modifier_QueenOfPain_SonicWave_Knockback : public CDOTA_Modifier_Knockback { public: - float tick_rate; // 0x12e8 - int32_t damage; // 0x12ec + // No members available +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_QueenOfPain_SonicWave_Damage : public CDOTA_Buff +{ +public: + float m_flDamagePerTick; // 0x12c8 + int32_t m_nCurrentTick; // 0x12cc + int32_t m_nTotalTicks; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_QueenOfPain_SonicWave_Effect : public CDOTA_Buff { public: @@ -55399,7 +55873,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_QueenOfPain_SonicWave_Delay : public CDOTA_Buff { public: @@ -55407,7 +55881,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_QueenOfPain_Arcana_Kill_Effect : public CDOTA_Buff { public: @@ -55440,14 +55914,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Venomancer_VenomousGale : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 - int32_t tick_damage; // 0x12bc - float tick_interval; // 0x12c0 - float duration; // 0x12c4 + int32_t movement_slow; // 0x12c8 + int32_t tick_damage; // 0x12cc + float tick_interval; // 0x12d0 + float duration; // 0x12d4 }; // Alignment: 1 @@ -55459,28 +55933,28 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Venomancer_PoisonSting_Applier : public CDOTA_Buff { public: - float duration; // 0x12b8 - int32_t damage; // 0x12bc + float duration; // 0x12c8 + int32_t damage; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Venomancer_PoisonStingBase : public CDOTA_Buff { public: - 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 + int32_t m_iDamage; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t m_nTicksRemaining; // 0x12d0 + float m_flAttackDamage; // 0x12d4 + int32_t hp_regen_reduction; // 0x12d8 }; // Alignment: 0 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Venomancer_PoisonSting : public CDOTA_Modifier_Venomancer_PoisonStingBase { public: @@ -55488,36 +55962,36 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Venomancer_PoisonStingWard : public CDOTA_Buff { public: - 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 + int32_t m_iDamage; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t hp_regen_reduction; // 0x12d0 + int32_t m_nTicksRemaining; // 0x12d4 + float m_flAttackDamage; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Plague_Wards_Bonus : public CDOTA_Buff { public: - int32_t ward_hp; // 0x12b8 - int32_t ward_damage; // 0x12bc + int32_t ward_hp; // 0x12c8 + int32_t ward_damage; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Plague_Wards_Bonus_Range : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_PoisonNova_Intrinsic : public CDOTA_Buff { public: @@ -55525,26 +55999,26 @@ public: }; // Alignment: 7 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_PoisonNova_Thinker : public CDOTA_Buff { public: - 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 + float m_fCurRadius; // 0x12c8 + GameTime_t m_fLastThink; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x12d0 + int32_t speed; // 0x12e8 + int32_t radius; // 0x12ec + int32_t start_radius; // 0x12f0 + float duration; // 0x12f4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Venomancer_PoisonNova : public CDOTA_Buff { public: - float damage; // 0x12b8 - float magic_resist; // 0x12bc + float damage; // 0x12c8 + float magic_resist; // 0x12cc }; // Alignment: 0 @@ -55564,32 +56038,32 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Venomancer_NoxiousPlaguePrimary : public CDOTA_Buff { public: - float health_damage; // 0x12b8 - float debuff_radius; // 0x12bc + float health_damage; // 0x12c8 + float debuff_radius; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Venomancer_NoxiousPlague_Slow : public CDOTA_Buff { public: - float attack_slow; // 0x12b8 - float movement_slow_max; // 0x12bc - float debuff_radius; // 0x12c0 + float attack_slow; // 0x12c8 + float movement_slow_max; // 0x12cc + float debuff_radius; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Venomancer_NoxiousPlagueSecondary : public CDOTA_Buff { public: - float health_damage; // 0x12b8 - float attack_slow; // 0x12bc - float movement_slow_max; // 0x12c0 + float health_damage; // 0x12c8 + float attack_slow; // 0x12cc + float movement_slow_max; // 0x12d0 }; // Alignment: 1 @@ -55601,14 +56075,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Venomancer_Latent_Poison : public CDOTA_Buff { public: - int32_t duration_damage; // 0x12b8 - int32_t movement_slow; // 0x12bc - int32_t explosion_damage; // 0x12c0 - float explosion_stun_duration; // 0x12c4 + int32_t duration_damage; // 0x12c8 + int32_t movement_slow; // 0x12cc + int32_t explosion_damage; // 0x12d0 + float explosion_stun_duration; // 0x12d4 }; // Alignment: 0 @@ -55620,11 +56094,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FacelessVoid_Backtrack : public CDOTA_Buff { public: - int32_t dodge_chance_pct; // 0x12b8 + int32_t dodge_chance_pct; // 0x12c8 }; // Alignment: 0 @@ -55636,24 +56110,24 @@ public: }; // Alignment: 10 -// Size: 0x1318 +// Size: 0x1328 class CDOTA_Modifier_FacelessVoid_TimeLock : public CDOTA_Buff { public: - 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 + float duration; // 0x12c8 + float duration_creep; // 0x12cc + float delay; // 0x12d0 + int32_t chance_pct; // 0x12d4 + int32_t bonus_damage; // 0x12d8 + GameTime_t last_attack_time; // 0x12dc + CUtlVector< int16 > m_ProcAttackRecords; // 0x12e0 + GameTime_t apply_activity_modifier_until; // 0x12f8 + GameTime_t disable_activity_modifier_until; // 0x12fc + CUtlOrderedMap< CHandle< CDOTA_BaseNPC >, int32, F( size=1 ) > m_mapTargets; // 0x1300 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FacelessVoid_TimeLock_Freeze : public CDOTA_Modifier_Stunned { public: @@ -55661,7 +56135,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FacelessVoid_Timelock_TimeWalk_Proc_Marker : public CDOTA_Buff { public: @@ -55669,7 +56143,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FacelessVoid_Timelock_Basic_Proc_Marker : public CDOTA_Buff { public: @@ -55685,7 +56159,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FacelessVoid_TimeDilation_Slowmo : public CDOTA_Buff { public: @@ -55693,30 +56167,30 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FacelessVoid_TimeDilation_Distortion : public CDOTA_Buff { public: - float slow_distance_min; // 0x12b8 - float slow_distance_max; // 0x12bc + float slow_distance_min; // 0x12c8 + float slow_distance_max; // 0x12cc }; // Alignment: 7 -// Size: 0x1408 +// Size: 0x1418 class CDOTA_Modifier_FacelessVoid_TimeDilation_Slow : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t m_nAffectedAbilities; // 0x12cc + GameTime_t m_flLastDamageTime; // 0x12d0 + int32_t slow; // 0x12d4 + int32_t cooldown_percentage; // 0x12d8 + int32_t damage_per_stack; // 0x12dc + int32_t base_damage; // 0x12e0 }; // Alignment: 0 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_FacelessVoid_TimeWalk_Tracker : public CDOTA_Buff { public: @@ -55724,11 +56198,11 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_FacelessVoid_TimeWalk_ShardBuff : public CDOTA_Buff { public: - Vector m_vStartLocation; // 0x12b8 + Vector m_vStartLocation; // 0x12c8 }; // Alignment: 7 @@ -55761,27 +56235,27 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_FacelessVoid_TimeLock_ForceProc : public CDOTA_Buff { public: - float duration; // 0x12b8 - float duration_creep; // 0x12bc - int32_t bonus_damage; // 0x12c0 - float delay; // 0x12c4 - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x12c8 + float duration; // 0x12c8 + float duration_creep; // 0x12cc + int32_t bonus_damage; // 0x12d0 + float delay; // 0x12d4 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FacelessVoid_TimeWalk_Slow : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x12b8 + int32_t movement_speed_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FacelessVoid_TimeWalk : public CDOTA_Buff { public: @@ -55797,15 +56271,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FacelessVoid_Chronosphere : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FacelessVoid_ArcanaDamageRouter : public CDOTA_Buff { public: @@ -55813,7 +56287,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FacelessVoid_Chronosphere_Freeze : public CDOTA_Buff { public: @@ -55821,23 +56295,23 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FacelessVoid_Chronosphere_SelfBuff : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FacelessVoid_Chronosphere_Speed : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_FacelessVoid_Arcana : public CDOTA_Buff { public: @@ -55845,11 +56319,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FacelessVoid_Arcana_Kill_Effect : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x12b8 + ParticleIndex_t m_nCasterFXIndex; // 0x12c8 }; // Alignment: 6 @@ -55866,11 +56340,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DeathProphet_CryptSwarm_Slow : public CDOTA_Buff { public: - int32_t slow_percent; // 0x12b8 + int32_t slow_percent; // 0x12c8 }; // Alignment: 1 @@ -55882,7 +56356,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DeathProphet_Silence : public CDOTA_Buff { public: @@ -55890,7 +56364,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DeathProphet_Silence_Debuff : public CDOTA_Buff { public: @@ -55906,15 +56380,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DeathProphet_Witchcraft : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_movement_speed; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -55932,47 +56406,47 @@ public: }; // Alignment: 14 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_DeathProphet_SpiritSiphon : public CDOTA_Buff { public: - 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 + float flSmoothness; // 0x12c8 + float damage; // 0x12cc + float damage_pct; // 0x12d0 + int32_t drain_range; // 0x12d4 + float haunt_duration; // 0x12d8 + int32_t siphon_buffer; // 0x12dc + int32_t movement_steal; // 0x12e0 + CHandle< CBaseEntity > m_hTarget; // 0x12e4 + ParticleIndex_t m_iLinkIndex; // 0x12e8 + int32_t m_nSelfBuffSerialNumber; // 0x12ec + int32_t m_nTargetDebuffSerialNumber; // 0x12f0 + bool m_bAppliedFear; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - float shard_fear_duration; // 0x12e8 - float shard_consecutive_siphon_duration; // 0x12ec + float shard_fear_duration; // 0x12f8 + float shard_consecutive_siphon_duration; // 0x12fc }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x12b8 + Vector m_vOriginal; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Slow : public CDOTA_Buff { public: - int32_t movement_steal; // 0x12b8 + int32_t movement_steal; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Buff : public CDOTA_Buff { public: @@ -55980,7 +56454,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Debuff : public CDOTA_Buff { public: @@ -55996,65 +56470,65 @@ public: }; // Alignment: 18 -// Size: 0x1318 +// Size: 0x1328 class CDOTA_Modifier_DeathProphet_Exorcism : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t spirit_speed; // 0x12cc + int32_t max_distance; // 0x12d0 + int32_t give_up_distance; // 0x12d4 + int32_t min_damage; // 0x12d8 + int32_t max_damage; // 0x12dc + int32_t heal_percent; // 0x12e0 + int32_t spirit_duration; // 0x12e4 + float ghost_spawn_rate; // 0x12e8 + int32_t movement_bonus; // 0x12ec + int32_t m_iSpirits; // 0x12f0 + GameTime_t m_fStartTime; // 0x12f4 + GameTime_t m_fLastThinkTime; // 0x12f8 + GameTime_t m_fSpawnTime; // 0x12fc + bool m_bFirstSpawn; // 0x1300 + bool m_bCommentedOnExpired; // 0x1301 + bool m_bForceExpired; // 0x1302 private: - [[maybe_unused]] uint8_t __pad12f3[0x5]; // 0x12f3 + [[maybe_unused]] uint8_t __pad1303[0x5]; // 0x1303 public: - CUtlVector< sSpiritInfo* > m_vecSpirits; // 0x12f8 + CUtlVector< sSpiritInfo* > m_vecSpirits; // 0x1308 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DeathProphet_Slow : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x12b8 + int32_t speed_bonus; // 0x12c8 }; // Alignment: 12 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_DeathProphet_Scepter : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t spirit_speed; // 0x12cc + int32_t max_distance; // 0x12d0 + int32_t give_up_distance; // 0x12d4 + int32_t min_damage; // 0x12d8 + int32_t max_damage; // 0x12dc + int32_t heal_percent; // 0x12e0 + int32_t spirit_duration; // 0x12e4 + GameTime_t m_fStartTime; // 0x12e8 + GameTime_t m_fLastThinkTime; // 0x12ec + bool m_bExpired; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x7]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x7]; // 0x12f1 public: - sSpiritInfo* m_SpiritInfo; // 0x12e8 + sSpiritInfo* m_SpiritInfo; // 0x12f8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Death_Prophet_Slow : public CDOTA_Buff { public: @@ -56062,7 +56536,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Death_Prophet_Attack_Scepter : public CDOTA_Buff { public: @@ -56078,7 +56552,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Pugna_NetherBlast_Thinker : public CDOTA_Buff { public: @@ -56094,14 +56568,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Pugna_Decrepify : public CDOTA_Buff { public: - 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 + int32_t bonus_spell_damage_pct; // 0x12c8 + int32_t bonus_heal_amp_pct_allies; // 0x12cc + int32_t bonus_movement_speed; // 0x12d0 + int32_t bonus_movement_speed_allies; // 0x12d4 }; // Alignment: 1 @@ -56113,23 +56587,23 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t radius; // 0x12c8 + float mana_multiplier; // 0x12cc + float mana_drained_per_attack; // 0x12d0 + int32_t attacks_to_destroy; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pugna_NetherWard_Aura : public CDOTA_Buff { public: - float mana_regen; // 0x12b8 - float spell_damage_reduction; // 0x12bc + float mana_regen; // 0x12c8 + float spell_damage_reduction; // 0x12cc }; // Alignment: 1 @@ -56142,48 +56616,48 @@ public: }; // Alignment: 16 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Pugna_LifeDrain : public CDOTA_Buff { public: - int32_t health_drain; // 0x12b8 - int32_t ally_healing; // 0x12bc - float tick_rate; // 0x12c0 - bool m_bDoRangeCheck; // 0x12c4 + int32_t health_drain; // 0x12c8 + int32_t ally_healing; // 0x12cc + float tick_rate; // 0x12d0 + bool m_bDoRangeCheck; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - ParticleIndex_t m_nFXIndex; // 0x12c8 - GameTime_t m_flElapsedTime; // 0x12cc - bool m_bPrimary; // 0x12d0 - bool m_bShard; // 0x12d1 - bool m_bFromWard; // 0x12d2 + ParticleIndex_t m_nFXIndex; // 0x12d8 + GameTime_t m_flElapsedTime; // 0x12dc + bool m_bPrimary; // 0x12e0 + bool m_bShard; // 0x12e1 + bool m_bFromWard; // 0x12e2 private: - [[maybe_unused]] uint8_t __pad12d3[0x1]; // 0x12d3 + [[maybe_unused]] uint8_t __pad12e3[0x1]; // 0x12e3 public: - 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 + CHandle< CBaseEntity > m_hWard; // 0x12e4 + float spell_amp_drain_duration; // 0x12e8 + int32_t max_spell_amp_drain_pct; // 0x12ec + int32_t spell_amp_drain_rate; // 0x12f0 + int32_t spell_amp_drain_rate_ward; // 0x12f4 + int32_t spell_amp_drain_max; // 0x12f8 + int32_t health_to_mana_rate; // 0x12fc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pugna_LifeDrain_SpellAmp : public CDOTA_Buff { public: - bool m_bIsFriendly; // 0x12b8 + bool m_bIsFriendly; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Phantom_Assassin_GroundDagger : public CDOTA_Buff { public: - bool m_bLanded; // 0x12b8 + bool m_bLanded; // 0x12c8 }; // Alignment: 0 @@ -56195,20 +56669,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PhantomAssassin_StiflingDagger_Caster : public CDOTA_Buff { public: - int32_t base_damage; // 0x12b8 - int32_t attack_factor; // 0x12bc + int32_t base_damage; // 0x12c8 + int32_t attack_factor; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PhantomAssassin_StiflingDagger : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 + int32_t move_slow; // 0x12c8 }; // Alignment: 0 @@ -56220,23 +56694,23 @@ public: }; // Alignment: 9 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_PhantomAssassin_Fan_Of_Knives_Thinker : public CDOTA_Buff { public: - 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 + float m_fCurRadius; // 0x12c8 + GameTime_t m_fLastThink; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x12d0 + CountdownTimer m_ViewerTimer; // 0x12e8 + int32_t projectile_speed; // 0x1300 + int32_t radius; // 0x1304 + float duration; // 0x1308 + float pct_health_damage_initial; // 0x130c + float max_damage_initial; // 0x1310 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_PhantomAssassin_Fan_Of_Knives : public CDOTA_Buff { public: @@ -56252,13 +56726,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_PhantomAssassin_PhantomStrike : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t lifesteal_pct; // 0x12bc - int32_t creep_lifesteal_penalty; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c8 + int32_t lifesteal_pct; // 0x12cc + int32_t creep_lifesteal_penalty; // 0x12d0 }; // Alignment: 0 @@ -56270,22 +56744,22 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PhantomAssassin_Blur : public CDOTA_Buff { public: - int32_t bonus_evasion; // 0x12b8 + int32_t bonus_evasion; // 0x12c8 }; // Alignment: 4 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_PhantomAssassin_BlurActive : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x12c8 - float fade_duration; // 0x12cc - float scepter_fade_duration; // 0x12d0 - bool m_bDestroyNext; // 0x12d4 + int32_t radius; // 0x12d8 + float fade_duration; // 0x12dc + float scepter_fade_duration; // 0x12e0 + bool m_bDestroyNext; // 0x12e4 }; // Alignment: 0 @@ -56297,22 +56771,22 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_PhantomAssassin_CoupdeGrace : public CDOTA_Buff { public: - int32_t crit_bonus; // 0x12b8 - int32_t crit_chance; // 0x12bc - int32_t dagger_crit_chance; // 0x12c0 - bool crit_active; // 0x12c4 + int32_t crit_bonus; // 0x12c8 + int32_t crit_chance; // 0x12cc + int32_t dagger_crit_chance; // 0x12d0 + bool crit_active; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - float duration; // 0x12c8 + float duration; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_PhantomAssassin_MarkOfDeath : public CDOTA_Buff { public: @@ -56320,28 +56794,28 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t m_nEpitaph; // 0x12c8 + PlayerID_t m_nVictimPlayerID; // 0x12cc + int32_t m_nVictimHeroID; // 0x12d0 + int32_t m_nCritDmg; // 0x12d4 + int32_t m_nContractComplete; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PhantomAssassin_Gravestone : public CDOTA_Buff { public: - int32_t m_nFXIndex; // 0x12b8 - bool m_bContractGravestoneComplete; // 0x12bc + int32_t m_nFXIndex; // 0x12c8 + bool m_bContractGravestoneComplete; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_PhantomAssassin_ScreenSplatter : public CDOTA_Buff { public: @@ -56429,20 +56903,20 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_TemplarAssassin_RefractionDamage : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 - int32_t bonus_damage; // 0x12d0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + int32_t bonus_damage; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_TemplarAssassin_RefractionAbsorb : public CDOTA_Buff { public: - int32_t damage_threshold; // 0x12b8 + int32_t damage_threshold; // 0x12c8 }; // Alignment: 0 @@ -56454,33 +56928,33 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_TemplarAssassin_Meld_Animation : public CDOTA_Buff { public: - bool launched_attack; // 0x12b8 + bool launched_attack; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_TemplarAssassin_Meld : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - bool launched_attack; // 0x12bc + int32_t bonus_damage; // 0x12c8 + bool launched_attack; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - CHandle< CBaseEntity > m_hTarget; // 0x12c0 - int32_t m_nAttackRecord; // 0x12c4 + CHandle< CBaseEntity > m_hTarget; // 0x12d0 + int32_t m_nAttackRecord; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_TemplarAssassin_MeldArmor : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 0 @@ -56492,27 +56966,27 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_TemplarAssassin_PsiBlades : public CDOTA_Buff { public: - 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 + int32_t bonus_attack_range; // 0x12c8 + float attack_spill_range; // 0x12cc + int32_t attack_spill_width; // 0x12d0 + int32_t attack_spill_pct; // 0x12d4 + int32_t attack_spill_penalty; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_TemplarAssassin_PsiBlades_Slow : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TemplarAssassin_PsionicTrap_Counter : public CDOTA_Buff { public: @@ -56528,11 +57002,11 @@ public: }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_TemplarAssassin_Trap : public CDOTA_Modifier_Invisible { public: - int32_t bonus_vision; // 0x12c8 + int32_t bonus_vision; // 0x12d8 }; // Alignment: 0 @@ -56552,17 +57026,17 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_TemplarAssassin_Trap_Slow : public CDOTA_Buff { public: - 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 + int32_t movement_speed_min; // 0x12c8 + int32_t movement_speed_max; // 0x12cc + float trap_max_charge_duration; // 0x12d0 + float min_silence_duration; // 0x12d4 + float max_silence_duration; // 0x12d8 + float stage; // 0x12dc + float flDamagePerTick; // 0x12e0 }; // Alignment: 0 @@ -56582,13 +57056,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_TemplarAssassin_Refraction_Holdout : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t damage_absorb; // 0x12bc - float m_flDamageAbsorbed; // 0x12c0 + int32_t bonus_damage; // 0x12c8 + int32_t damage_absorb; // 0x12cc + float m_flDamageAbsorbed; // 0x12d0 }; // Alignment: 0 @@ -56600,27 +57074,27 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Viper_PoisonAttack : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Viper_PoisonAttack_Slow : public CDOTA_Buff { public: - 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 + float damage; // 0x12c8 + int32_t shard_armor_reduction; // 0x12cc + int32_t shard_building_dmg_pct; // 0x12d0 + int32_t movement_speed; // 0x12d4 + int32_t magic_resistance; // 0x12d8 }; // Alignment: 0 @@ -56632,28 +57106,28 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Viper_Nethertoxin_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Viper_Nethertoxin : public CDOTA_Buff { public: - int32_t min_damage; // 0x12b8 - int32_t max_damage; // 0x12bc - float max_duration; // 0x12c0 - float m_flDamageInterval; // 0x12c4 - float m_flTimeIncrement; // 0x12c8 + int32_t min_damage; // 0x12c8 + int32_t max_damage; // 0x12cc + float max_duration; // 0x12d0 + float m_flDamageInterval; // 0x12d4 + float m_flTimeIncrement; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Viper_NethertoxinMute : public CDOTA_Buff { public: @@ -56669,32 +57143,32 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Viper_CorrosiveSkin : public CDOTA_Buff { public: - int32_t bonus_magic_resistance; // 0x12b8 + int32_t bonus_magic_resistance; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Viper_BecomeUniversal : public CDOTA_Buff { public: - int32_t bonus_magic_resistance; // 0x12b8 - int32_t is_universal; // 0x12bc + int32_t bonus_magic_resistance; // 0x12c8 + int32_t is_universal; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Viper_CorrosiveSkin_Slow : public CDOTA_Buff { public: - 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 + int32_t bonus_attack_speed; // 0x12c8 + int32_t damage; // 0x12cc + int32_t effect_multiplier_distance; // 0x12d0 + int32_t effect_multiplier; // 0x12d4 + bool m_bEffectMultiplied; // 0x12d8 }; // Alignment: 1 @@ -56706,13 +57180,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Viper_ViperStrike_Slow : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc - int32_t damage; // 0x12c0 + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t damage; // 0x12d0 }; // Alignment: 0 @@ -56724,26 +57198,26 @@ public: }; // Alignment: 8 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Viper_Nose_Dive : public CDOTA_Buff { public: - 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 + Vector m_vTargetPos; // 0x12c8 + Vector m_vStart; // 0x12d4 + float m_flZDelta; // 0x12e0 + int32_t radius; // 0x12e4 + int32_t corrosive_radius; // 0x12e8 + float effect_duration; // 0x12ec + int32_t dive_speed; // 0x12f0 + float start_height; // 0x12f4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Viper_Nose_Dive_Effect : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 + int32_t movespeed_slow; // 0x12c8 }; // Alignment: 0 @@ -56755,7 +57229,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Luna_LucentBeam_Damage_Buff_Counter : public CDOTA_Buff { public: @@ -56763,11 +57237,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Luna_LucentBeam_Damage_Buff : public CDOTA_Buff { public: - int32_t damage_buff_per_beam; // 0x12b8 + int32_t damage_buff_per_beam; // 0x12c8 }; // Alignment: 3 @@ -56784,31 +57258,31 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Luna_MoonGlaive : public CDOTA_Buff { public: - int32_t range; // 0x12b8 - int32_t bounces; // 0x12bc - int32_t damage_reduction_percent; // 0x12c0 - ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x12c4 + int32_t range; // 0x12c8 + int32_t bounces; // 0x12cc + int32_t damage_reduction_percent; // 0x12d0 + ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x12d4 }; // Alignment: 10 -// Size: 0x1310 +// Size: 0x1320 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 + int32_t rotating_glaives; // 0x12c8 + float rotating_glaives_hit_radius; // 0x12cc + float rotating_glaives_speed; // 0x12d0 + float rotating_glaives_collision_damage; // 0x12d4 + float rotating_glaives_movement_radius; // 0x12d8 + float rotating_glaives_damage_reduction; // 0x12dc + float m_flCurRotation; // 0x12e0 + float m_flCurRadius; // 0x12e4 + float m_flSecondsPerRotation; // 0x12e8 + float m_flMaxRadius; // 0x12ec }; // Alignment: 0 @@ -56820,42 +57294,42 @@ public: }; // Alignment: 6 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Luna_LunarBlessing_Smoke : public CDOTA_Modifier_Invisible { public: - 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 + int32_t bonus_speed_day; // 0x12d8 + int32_t bonus_speed_night; // 0x12dc + int32_t break_distance_day; // 0x12e0 + int32_t break_distance_night; // 0x12e4 + int32_t visibility_radius; // 0x12e8 + int32_t bonus_movement_speed; // 0x12ec }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Luna_LunarBlessing : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t bonus_night_vision; // 0x12bc + int32_t radius; // 0x12c8 + int32_t bonus_night_vision; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Luna_LunarBlessingAura : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t bonus_damage_self; // 0x12bc + int32_t bonus_damage; // 0x12c8 + int32_t bonus_damage_self; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Luna_LunarBlessing_Active : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 + int32_t attack_speed; // 0x12c8 }; // Alignment: 0 @@ -56867,12 +57341,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Luna_Lunar_Grace : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 - float night_multiplier; // 0x12bc + int32_t attack_speed; // 0x12c8 + float night_multiplier; // 0x12cc }; // Alignment: 1 @@ -56884,29 +57358,29 @@ public: }; // Alignment: 13 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Luna_Eclipse : public CDOTA_Buff { public: - 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 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + int32_t radius; // 0x12cc + int32_t beams; // 0x12d0 + int32_t hit_count; // 0x12d4 + int32_t m_iBeamDamage; // 0x12d8 + float beam_interval; // 0x12dc + float stun_duration; // 0x12e0 + Vector vPosition; // 0x12e4 + bool bAreaTarget; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - int32_t m_iTickCount; // 0x12e4 - ParticleIndex_t m_nMoonlightFXIndex; // 0x12e8 + int32_t m_iTickCount; // 0x12f4 + ParticleIndex_t m_nMoonlightFXIndex; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec + [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc public: - CUtlVector< CHandle< CBaseEntity > > m_HitTargets; // 0x12f0 - float m_flBeamStun; // 0x1308 + CUtlVector< CHandle< CBaseEntity > > m_HitTargets; // 0x1300 + float m_flBeamStun; // 0x1318 }; // Alignment: 6 @@ -56923,11 +57397,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DragonKnight_BreatheFire_Reduction : public CDOTA_Buff { public: - int32_t reduction; // 0x12b8 + int32_t reduction; // 0x12c8 }; // Alignment: 0 @@ -56947,20 +57421,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DragonKnight_DragonBlood_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DragonKnight_DragonBlood : public CDOTA_Buff { public: - int32_t bonus_health_regen; // 0x12b8 - int32_t bonus_armor; // 0x12bc + int32_t bonus_health_regen; // 0x12c8 + int32_t bonus_armor; // 0x12cc }; // Alignment: 0 @@ -56972,68 +57446,68 @@ public: }; // Alignment: 10 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_DragonKnight_DragonForm : public CDOTA_Buff { public: - 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 + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_attack_damage; // 0x12cc + int32_t bonus_attack_range; // 0x12d0 + int32_t attack_projectile_speed_bonus; // 0x12d4 + int32_t magic_resistance; // 0x12d8 + int32_t model_scale; // 0x12dc + int32_t iLevel; // 0x12e0 + int32_t m_iOriginalAttackCapabilities; // 0x12e4 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12e8 + int32_t bonus_slow_resistance; // 0x12f0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DragonKnight_CorrosiveBreath : public CDOTA_Buff { public: - float corrosive_breath_duration; // 0x12b8 + float corrosive_breath_duration; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DragonKnight_CorrosiveBreathDoT : public CDOTA_Buff { public: - int32_t corrosive_breath_damage; // 0x12b8 + int32_t corrosive_breath_damage; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_DragonKnight_SplashAttack : public CDOTA_Buff { public: - int32_t splash_radius; // 0x12b8 - int32_t splash_damage_percent; // 0x12bc - float corrosive_breath_duration; // 0x12c0 + int32_t splash_radius; // 0x12c8 + int32_t splash_damage_percent; // 0x12cc + float corrosive_breath_duration; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DragonKnight_FrostBreath : public CDOTA_Buff { public: - float frost_duration; // 0x12b8 - float frost_aoe; // 0x12bc + float frost_duration; // 0x12c8 + float frost_aoe; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DragonKnight_FrostBreath_Slow : public CDOTA_Buff { public: - int32_t frost_bonus_movement_speed; // 0x12b8 - int32_t frost_bonus_attack_speed; // 0x12bc + int32_t frost_bonus_movement_speed; // 0x12c8 + int32_t frost_bonus_attack_speed; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DragonKnight_BlackDragon_Tooltip : public CDOTA_Buff { public: @@ -57049,21 +57523,21 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DragonKnight_Fireball_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float linger_duration; // 0x12bc + int32_t radius; // 0x12c8 + float linger_duration; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DragonKnight_Fireball_Burn : public CDOTA_Buff { public: - float burn_interval; // 0x12b8 - int32_t damage; // 0x12bc + float burn_interval; // 0x12c8 + int32_t damage; // 0x12cc }; // Alignment: 0 @@ -57075,26 +57549,26 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Dazzle_Good_Juju : public CDOTA_Buff { public: - float cooldown_reduction; // 0x12b8 - float item_cooldown_reduction; // 0x12bc - float duration; // 0x12c0 - int32_t radius; // 0x12c4 + float cooldown_reduction; // 0x12c8 + float item_cooldown_reduction; // 0x12cc + float duration; // 0x12d0 + int32_t radius; // 0x12d4 }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Dazzle_Bad_Juju_Manacost : public CDOTA_Buff { public: - float mana_cost_increase_duration; // 0x12b8 + float mana_cost_increase_duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< GameTime_t > m_vecExpirationTimes; // 0x12c0 + CUtlVector< GameTime_t > m_vecExpirationTimes; // 0x12d0 }; // Alignment: 0 @@ -57106,21 +57580,21 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dazzle_Bad_Juju_Armor_Counter : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - float armor_reduction; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c8 + float armor_reduction; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dazzle_Bad_Juju_Armor : public CDOTA_Buff { public: - float armor_reduction; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + float armor_reduction; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 0 @@ -57132,15 +57606,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Dazzle_Rain_Of_Vermin : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float interval; // 0x12bc - float hex_chance; // 0x12c0 - float hex_duration; // 0x12c4 - int32_t damage; // 0x12c8 + int32_t radius; // 0x12c8 + float interval; // 0x12cc + float hex_chance; // 0x12d0 + float hex_duration; // 0x12d4 + int32_t damage; // 0x12d8 }; // Alignment: 0 @@ -57152,24 +57626,24 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Dazzle_Poison_Touch : public CDOTA_Buff { public: - 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 + int32_t slow; // 0x12c8 + float bonus_slow; // 0x12cc + int32_t bonus_damage; // 0x12d0 + float flAccummulatedBonusSlow; // 0x12d4 + int32_t iAccummulatedBonusDamage; // 0x12d8 + int32_t attack_range_bonus; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dazzle_Poison_Touch_Self : public CDOTA_Buff { public: - int32_t attack_range_bonus; // 0x12b8 + int32_t attack_range_bonus; // 0x12c8 }; // Alignment: 0 @@ -57181,17 +57655,17 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Dazzle_Shallow_Grave : public CDOTA_Buff { public: - bool m_bHasPostedEvent; // 0x12b8 + bool m_bHasPostedEvent; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - ParticleIndex_t m_nFXIndex; // 0x12bc - float fx_halo_height; // 0x12c0 - int32_t heal_amplify; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12cc + float fx_halo_height; // 0x12d0 + int32_t heal_amplify; // 0x12d4 }; // Alignment: 6 @@ -57216,12 +57690,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dazzle_Weave_Armor : public CDOTA_Buff { public: - float armor_per_second; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + float armor_per_second; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 0 @@ -57233,12 +57707,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Leshrac_Split_Earth_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t m_iCount; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 0 @@ -57250,15 +57724,15 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Leshrac_Diabolic_Edict : public CDOTA_Buff { public: - int32_t num_explosions; // 0x12b8 - int32_t radius; // 0x12bc - float m_fExplosions; // 0x12c0 - float tower_bonus; // 0x12c4 - bool m_bTalentActive; // 0x12c8 + int32_t num_explosions; // 0x12c8 + int32_t radius; // 0x12cc + float m_fExplosions; // 0x12d0 + float tower_bonus; // 0x12d4 + bool m_bTalentActive; // 0x12d8 }; // Alignment: 0 @@ -57270,46 +57744,46 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Leshrac_Lightning_Storm_Scepter_Thinker : public CDOTA_Buff { public: - float pulse_nova_lightning_interval; // 0x12b8 - int32_t radius; // 0x12bc + float pulse_nova_lightning_interval; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 13 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Leshrac_Lightning_Storm : public CDOTA_Buff { public: - 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 + int32_t damage; // 0x12c8 + int32_t radius; // 0x12cc + int32_t jump_count; // 0x12d0 + float slow_duration; // 0x12d4 + float jump_delay; // 0x12d8 + CHandle< CBaseEntity > hInitialTarget; // 0x12dc + float m_flDamage; // 0x12e0 + int32_t m_iCurJumpCount; // 0x12e4 + Vector m_vCurTargetLoc; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12e8 - bool m_bGrantedGem; // 0x1300 - bool m_bBounceTwice; // 0x1301 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12f8 + bool m_bGrantedGem; // 0x1310 + bool m_bBounceTwice; // 0x1311 private: - [[maybe_unused]] uint8_t __pad1302[0x2]; // 0x1302 + [[maybe_unused]] uint8_t __pad1312[0x2]; // 0x1312 public: - CHandle< CBaseEntity > m_eLastTarget; // 0x1304 + CHandle< CBaseEntity > m_eLastTarget; // 0x1314 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Leshrac_Lightning_Storm_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x12b8 + int32_t slow_movement_speed; // 0x12c8 }; // Alignment: 0 @@ -57321,30 +57795,30 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Leshrac_Decrepify_Aura : public CDOTA_Buff { public: - int32_t magic_amp; // 0x12b8 - int32_t slow; // 0x12bc + int32_t magic_amp; // 0x12c8 + int32_t slow; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Leshrac_Decrepify : public CDOTA_Buff { public: - int32_t magic_amp; // 0x12b8 - int32_t slow; // 0x12bc + int32_t magic_amp; // 0x12c8 + int32_t slow; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Leshrac_Greater_Lightning_Storm : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float interval; // 0x12bc + int32_t radius; // 0x12c8 + float interval; // 0x12cc }; // Alignment: 0 @@ -57356,16 +57830,16 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Leshrac_Pulse_Nova : public CDOTA_Buff { public: - bool m_bFirst; // 0x12b8 + bool m_bFirst; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0xb]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0xb]; // 0x12c9 public: - int32_t damage_resistance; // 0x12c4 - int32_t bonus_movespeed; // 0x12c8 + int32_t damage_resistance; // 0x12d4 + int32_t bonus_movespeed; // 0x12d8 }; // Alignment: 0 @@ -57425,13 +57899,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Rattletrap_Overclocking : public CDOTA_Buff { public: - ParticleIndex_t m_nOverclockFX; // 0x12b8 - int32_t bonus_movement_speed; // 0x12bc - int32_t bonus_attack_speed; // 0x12c0 + ParticleIndex_t m_nOverclockFX; // 0x12c8 + int32_t bonus_movement_speed; // 0x12cc + int32_t bonus_attack_speed; // 0x12d0 }; // Alignment: 0 @@ -57443,7 +57917,7 @@ public: }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rattletrap_BatteryAssault : public CDOTA_Buff { public: @@ -57459,25 +57933,25 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rattletrap_Cog_Barrier : public CDOTA_Buff { public: - int32_t magic_barrier; // 0x12b8 - int32_t m_nAbsorbRemaining; // 0x12bc + int32_t magic_barrier; // 0x12c8 + int32_t m_nAbsorbRemaining; // 0x12cc }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Rattletrap_Cog_Thinker : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x12b8 - int32_t extra_pull_buffer; // 0x12bc + int32_t cogs_radius; // 0x12c8 + int32_t extra_pull_buffer; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rattletrap_Cog_Marker : public CDOTA_Buff { public: @@ -57485,33 +57959,33 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Leash : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x12b8 - int32_t extra_pull_buffer; // 0x12bc + int32_t cogs_radius; // 0x12c8 + int32_t extra_pull_buffer; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rattletrap_Cog_Leash : public CDOTA_Buff { public: - int32_t leash; // 0x12b8 + int32_t leash; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Talent : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x12b8 - int32_t extra_pull_buffer; // 0x12bc + int32_t cogs_radius; // 0x12c8 + int32_t extra_pull_buffer; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rattletrap_Cog_Immune : public CDOTA_Modifier_DebuffImmune { public: @@ -57519,16 +57993,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Self_Bonuses : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x12b8 - int32_t extra_pull_buffer; // 0x12bc + int32_t cogs_radius; // 0x12c8 + int32_t extra_pull_buffer; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rattletrap_Cog_Self_Bonuses : public CDOTA_Buff { public: @@ -57536,35 +58010,35 @@ public: }; // Alignment: 9 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Rattletrap_Cog : public CDOTA_Buff { public: - bool m_bEnabled; // 0x12b8 + bool m_bEnabled; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + int32_t trigger_distance; // 0x12cc + int32_t push_length; // 0x12d0 + float push_duration; // 0x12d4 + int32_t cogs_radius; // 0x12d8 + int32_t attacks_to_destroy; // 0x12dc + int32_t m_iCogIndex; // 0x12e0 + ParticleIndex_t m_nFXIndex; // 0x12e4 + Vector vCenter; // 0x12e8 }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Rattletrap_CogPush : public CDOTA_Buff { public: - 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 + GameTime_t m_flStartTime; // 0x12c8 + Vector m_vDirection; // 0x12cc + float m_flEndTime; // 0x12d8 + float m_flCurTime; // 0x12dc + int32_t push_length; // 0x12e0 + float push_duration; // 0x12e4 }; // Alignment: 1 @@ -57576,44 +58050,44 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rattletrap_RocketFlare_Slow : public CDOTA_Buff { public: - float slow_pct; // 0x12b8 + float slow_pct; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Clockwerk_RocketFlare_Thinker : public CDOTA_Buff { public: - float radius; // 0x12b8 - float duration; // 0x12bc + float radius; // 0x12c8 + float duration; // 0x12cc }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Rattletrap_RocketFlare : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - int32_t projectile_vision_radius; // 0x12c0 - float projectile_vision_duration; // 0x12c4 + int32_t projectile_vision_radius; // 0x12d0 + float projectile_vision_duration; // 0x12d4 }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 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 + float rocket_flare_interval; // 0x12c8 + int32_t rocket_flare_offset_pct; // 0x12cc + int32_t rocket_flare_rockets; // 0x12d0 + int32_t m_nRocketsFired; // 0x12d4 + int32_t radius; // 0x12d8 + Vector m_vOriginalTarget; // 0x12dc }; // Alignment: 0 @@ -57625,24 +58099,24 @@ public: }; // Alignment: 11 -// Size: 0x1338 +// Size: 0x1348 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 + int32_t m_nMovementSpeed; // 0x12c8 + int32_t bonus_speed; // 0x12cc + float turn_rate; // 0x12d0 + GameTime_t m_flStartTime; // 0x12d4 + float tick_interval; // 0x12d8 + float m_flFacingTarget; // 0x12dc + ParticleIndex_t m_nFXIndex; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< float32 > m_flTurnHistory; // 0x12d8 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x12f0 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x1308 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1320 + CUtlVector< float32 > m_flTurnHistory; // 0x12e8 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x1300 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x1318 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1330 }; // Alignment: 4 @@ -57660,20 +58134,20 @@ public: }; // Alignment: 7 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Rattletrap_Hookshot : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_hDamaged; // 0x12b8 - CHandle< CBaseEntity > m_hTarget; // 0x12d0 - Vector m_vStartPosition; // 0x12d4 + CUtlVector< CHandle< CBaseEntity > > m_hDamaged; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12e0 + Vector m_vStartPosition; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad12e0[0x8]; // 0x12e0 + [[maybe_unused]] uint8_t __pad12f0[0x8]; // 0x12f0 public: - int32_t speed; // 0x12e8 - float stun_radius; // 0x12ec - float damage; // 0x12f0 - float duration; // 0x12f4 + int32_t speed; // 0x12f8 + float stun_radius; // 0x12fc + float damage; // 0x1300 + float duration; // 0x1304 }; // Alignment: 0 @@ -57757,24 +58231,24 @@ public: int32_t m_iShardCount; // 0x56c }; -// Alignment: 0 -// Size: 0x12b8 +// Alignment: 1 +// Size: 0x12d0 class CDOTA_Modifier_Furion_Sprout_Damage_Aura : public CDOTA_Buff { public: - // No members available + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Furion_Sprout_Damage : public CDOTA_Buff { public: - int32_t sprout_damage; // 0x12b8 + int32_t sprout_damage; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_Sprout_Blind_Aura : public CDOTA_Buff { public: @@ -57782,15 +58256,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Furion_Sprout_Blind : public CDOTA_Buff { public: - int32_t blind_pct; // 0x12b8 + int32_t blind_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_Sprout_Tether_Aura : public CDOTA_Buff { public: @@ -57798,7 +58272,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_Sprout_Tether : public CDOTA_Buff { public: @@ -57806,7 +58280,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_Sprout_Marker : public CDOTA_Buff { public: @@ -57814,7 +58288,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_Sprout_Entangle : public CDOTA_Buff { public: @@ -57832,21 +58306,21 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Furion_Arboreal_Might_Attack_Damage : public CDOTA_Buff { public: - float damage_per_stack; // 0x12b8 - int32_t iMaxStacks; // 0x12bc - ParticleIndex_t m_nFXIndex; // 0x12c0 + float damage_per_stack; // 0x12c8 + int32_t iMaxStacks; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Furion_Arboreal_Might_Armor : public CDOTA_Buff { public: - float armor_per_stack; // 0x12b8 + float armor_per_stack; // 0x12c8 }; // Alignment: 0 @@ -57866,28 +58340,28 @@ public: }; // Alignment: 11 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Furion_WrathOfNature_Thinker : public CDOTA_Buff { public: - 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 + int32_t damage; // 0x12c8 + int32_t max_targets; // 0x12cc + int32_t damage_percent_add; // 0x12d0 + float jump_delay; // 0x12d4 + int32_t m_iFixedDamage; // 0x12d8 + GameTime_t m_flLastTickTime; // 0x12dc + float m_flTimeAccumulator; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< CBaseEntity > > m_hHitTargets; // 0x12d8 - int32_t m_nBaseDamage; // 0x12f0 - int32_t m_nMaxTargets; // 0x12f4 - float m_flJumpDelay; // 0x12f8 + CUtlVector< CHandle< CBaseEntity > > m_hHitTargets; // 0x12e8 + int32_t m_nBaseDamage; // 0x1300 + int32_t m_nMaxTargets; // 0x1304 + float m_flJumpDelay; // 0x1308 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_WrathOfNature_Buff : public CDOTA_Buff { public: @@ -57895,7 +58369,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_WrathOfNature_BuffCounter : public CDOTA_Buff { public: @@ -57903,7 +58377,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Furion_WrathOfNature_Spawn : public CDOTA_Buff { public: @@ -57919,32 +58393,32 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Furion_CurseOfTheForest : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t damage_per_tree; // 0x12bc - int32_t slow_per_tree; // 0x12c0 - int32_t m_nSlow; // 0x12c4 + int32_t radius; // 0x12c8 + int32_t damage_per_tree; // 0x12cc + int32_t slow_per_tree; // 0x12d0 + int32_t m_nSlow; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Treant_Bonus : public CDOTA_Buff { public: - int32_t treant_hp_bonus; // 0x12b8 - int32_t treant_damage_bonus; // 0x12bc + int32_t treant_hp_bonus; // 0x12c8 + int32_t treant_damage_bonus; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Treant_Large_Bonus : public CDOTA_Buff { public: - int32_t treant_large_hp_bonus; // 0x12b8 - int32_t treant_large_damage_bonus; // 0x12bc + int32_t treant_large_hp_bonus; // 0x12c8 + int32_t treant_large_damage_bonus; // 0x12cc }; // Alignment: 0 @@ -57996,12 +58470,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Life_Stealer_Feast : public CDOTA_Buff { public: - float hp_leech_percent; // 0x12b8 - float hp_damage_percent; // 0x12bc + float hp_leech_percent; // 0x12c8 + float hp_damage_percent; // 0x12cc }; // Alignment: 0 @@ -58013,20 +58487,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Life_Stealer_Ghoul_Frenzy : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x12b8 + int32_t attack_speed_bonus; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Life_Stealer_Ghoul_Frenzy_Slow : public CDOTA_Buff { public: - int32_t miss_pct; // 0x12b8 - int32_t movement_slow; // 0x12bc + int32_t miss_pct; // 0x12c8 + int32_t movement_slow; // 0x12cc }; // Alignment: 0 @@ -58038,16 +58512,16 @@ public: }; // Alignment: 6 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Life_Stealer_Open_Wounds : public CDOTA_Buff { public: - 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 + int32_t slow_steps[8]; // 0x12c8 + int32_t heal_percent; // 0x12e8 + int32_t m_nDamageTracker; // 0x12ec + int32_t damage_threshold; // 0x12f0 + int32_t spread_radius; // 0x12f4 + int32_t max_health_as_damage_pct; // 0x12f8 }; // Alignment: 0 @@ -58083,31 +58557,31 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Life_Stealer_Infest : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - int32_t m_nFXIndex; // 0x12bc - float self_regen; // 0x12c0 - int32_t m_nStartingHealth; // 0x12c4 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + int32_t m_nFXIndex; // 0x12cc + float self_regen; // 0x12d0 + int32_t m_nStartingHealth; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Life_Stealer_Infest_Effect : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t bonus_health; // 0x12bc + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_health; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Life_Stealer_Infest_Enemy_Hero : public CDOTA_Buff { public: - float attack_rate_enemy; // 0x12b8 + float attack_rate_enemy; // 0x12c8 }; // Alignment: 0 @@ -58127,11 +58601,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Life_Stealer_Infest_Creep : public CDOTA_Buff { public: - bool m_bChangedTeams; // 0x12b8 + bool m_bChangedTeams; // 0x12c8 }; // Alignment: 1 @@ -58143,17 +58617,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Life_Stealer_Assimilate : public CDOTA_Buff { public: - float order_lock_duration; // 0x12b8 - GameTime_t m_fOrderLockDone; // 0x12bc - int32_t m_nFXIndex; // 0x12c0 + float order_lock_duration; // 0x12c8 + GameTime_t m_fOrderLockDone; // 0x12cc + int32_t m_nFXIndex; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Life_Stealer_Assimilate_Effect : public CDOTA_Buff { public: @@ -58177,12 +58651,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Life_Stealer_Rage : public CDOTA_Buff { public: - int32_t movement_speed_bonus; // 0x12b8 - int32_t bonus_armor; // 0x12bc + int32_t movement_speed_bonus; // 0x12c8 + int32_t bonus_armor; // 0x12cc }; // Alignment: 0 @@ -58194,25 +58668,25 @@ public: }; // Alignment: 4 -// Size: 0x1430 +// Size: 0x1440 class CDOTA_Modifier_DarkSeer_Normal_Punch : public CDOTA_Buff { public: - Vector m_PositionIndex[30]; // 0x12b8 - ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1420 - float m_flDistanceTraveled; // 0x1424 - bool m_bIsValidTarget; // 0x1428 + Vector m_PositionIndex[30]; // 0x12c8 + ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1430 + float m_flDistanceTraveled; // 0x1434 + bool m_bIsValidTarget; // 0x1438 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_DarkSeer_Normal_Punch_Illusion_Thinker : public CDOTA_Buff { public: - Vector m_vecIllusionSpawnPosition; // 0x12b8 - int32_t speed; // 0x12c4 - CHandle< CBaseEntity > m_hTarget; // 0x12c8 - ParticleIndex_t m_nFXIndex; // 0x12cc + Vector m_vecIllusionSpawnPosition; // 0x12c8 + int32_t speed; // 0x12d4 + CHandle< CBaseEntity > m_hTarget; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc }; // Alignment: 1 @@ -58224,11 +58698,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DarkSeer_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x12b8 + float pull_speed; // 0x12c8 }; // Alignment: 0 @@ -58240,18 +58714,18 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_IonShell : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t damage_per_second; // 0x12bc - float tick_interval; // 0x12c0 - int32_t bonus_health; // 0x12c4 + int32_t radius; // 0x12c8 + int32_t damage_per_second; // 0x12cc + float tick_interval; // 0x12d0 + int32_t bonus_health; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_IonShell_Slow : public CDOTA_Buff { public: @@ -58267,34 +58741,34 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_DarkSeer_Surge : public CDOTA_Buff { public: - int32_t speed_boost; // 0x12b8 - int32_t trail_radius; // 0x12bc - float trail_duration; // 0x12c0 - Vector m_vLastTrailThinkerLocation; // 0x12c4 - bool m_bTrailStarted; // 0x12d0 + int32_t speed_boost; // 0x12c8 + int32_t trail_radius; // 0x12cc + float trail_duration; // 0x12d0 + Vector m_vLastTrailThinkerLocation; // 0x12d4 + bool m_bTrailStarted; // 0x12e0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DarkSeer_Surge_Trail_Thinker : public CDOTA_Buff { public: - int32_t trail_radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t trail_radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_DarkSeer_Surge_Trail : public CDOTA_Buff { public: - int32_t trail_move_slow; // 0x12b8 - int32_t trail_damage; // 0x12bc - float trail_damage_interval; // 0x12c0 + int32_t trail_move_slow; // 0x12c8 + int32_t trail_damage; // 0x12cc + float trail_damage_interval; // 0x12d0 }; // Alignment: 5 @@ -58310,52 +58784,52 @@ public: }; // Alignment: 7 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_DarkSeer_WallOfReplica : public CDOTA_Buff { public: - Vector m_vWallDirection; // 0x12b8 - Vector m_vWallRight; // 0x12c4 + Vector m_vWallDirection; // 0x12c8 + Vector m_vWallRight; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12d0[0x18]; // 0x12d0 + [[maybe_unused]] uint8_t __pad12e0[0x18]; // 0x12e0 public: - 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 + CUtlMap< int32, GameTime_t > m_PreventReplicateTime; // 0x12f8 + int32_t width; // 0x1318 + float slow_duration; // 0x131c + int32_t replica_damage_incoming; // 0x1320 + int32_t replica_damage_outgoing; // 0x1324 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DarkSeer_WallOfReplica_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DarkSeer_WallOfReplica_Illusion : public CDOTA_Buff { public: - int32_t replica_scale; // 0x12b8 + int32_t replica_scale; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DarkSeer_Normal_Punch_Illusion : public CDOTA_Buff { public: - int32_t replica_scale; // 0x12b8 + int32_t replica_scale; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DarkSeer_IonShell_IllusionInvulnerability : public CDOTA_Modifier_Invulnerable { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 @@ -58471,16 +58945,16 @@ public: }; // Alignment: 3 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Clinkz_SearingArrows : public CDOTA_Buff { public: - int32_t damage_bonus; // 0x12b8 + int32_t damage_bonus; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 - bool m_bBonusAttack; // 0x12d8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + bool m_bBonusAttack; // 0x12e8 }; // Alignment: 2 @@ -58496,15 +58970,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Clinkz_DeathPact : public CDOTA_Buff { public: - int32_t health_gain; // 0x12b8 + int32_t health_gain; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Clinkz_DeathPact_Permanent_Buff : public CDOTA_Buff { public: @@ -58524,27 +58998,27 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Clinkz_Burning_Army_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x12b8 - int32_t count; // 0x12bc - int32_t range; // 0x12c0 - Vector m_vFacePosition; // 0x12c4 + int32_t m_iCount; // 0x12c8 + int32_t count; // 0x12cc + int32_t range; // 0x12d0 + Vector m_vFacePosition; // 0x12d4 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Clinkz_Burning_Army : public CDOTA_Buff { public: - 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 + float attack_rate; // 0x12c8 + int32_t damage_percent; // 0x12cc + int32_t skeleton_health; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + int32_t skeleton_building_damage_reduction; // 0x12d8 + int32_t m_nDamageCounter; // 0x12dc }; // Alignment: 1 @@ -58556,11 +59030,11 @@ public: }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Clinkz_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t move_speed_bonus_pct; // 0x12c8 + int32_t move_speed_bonus_pct; // 0x12d8 }; // Alignment: 0 @@ -58572,13 +59046,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Clinkz_Strafe : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x12b8 - int32_t attack_range_bonus; // 0x12bc - int32_t archer_attack_speed_pct; // 0x12c0 + int32_t attack_speed_bonus; // 0x12c8 + int32_t attack_range_bonus; // 0x12cc + int32_t archer_attack_speed_pct; // 0x12d0 }; // Alignment: 4 @@ -58593,7 +59067,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Clinkz_BurningBarrage_DamageReduction : public CDOTA_Buff { public: @@ -58601,23 +59075,23 @@ public: }; // Alignment: 13 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Clinkz_BurningBarrage : public CDOTA_Buff { public: - 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 + int32_t m_iArrowCount; // 0x12c8 + Vector m_vOriginalTarget; // 0x12cc + int32_t arrow_width; // 0x12d8 + float arrow_speed; // 0x12dc + float arrow_range_multiplier; // 0x12e0 + int32_t wave_count; // 0x12e4 + int32_t arrow_count_per_wave; // 0x12e8 + int32_t arrow_angle; // 0x12ec + int32_t m_iLoopCount; // 0x12f0 + float m_flInterval; // 0x12f4 + float m_flCycleDelay; // 0x12f8 + float m_flTimeWaste; // 0x12fc + GameTime_t m_flExpectedTime; // 0x1300 }; // Alignment: 0 @@ -58733,34 +59207,34 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Clinkz_Tar_Bomb_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float slow_duration; // 0x12bc - ParticleIndex_t m_nFXIndex; // 0x12c0 + int32_t radius; // 0x12c8 + float slow_duration; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Clinkz_Tar_Bomb_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x12b8 + int32_t slow_movement_speed; // 0x12c8 }; // Alignment: 3 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Clinkz_Tar_Bomb_SearingArrows : public CDOTA_Buff { public: - int32_t damage_bonus; // 0x12b8 + int32_t damage_bonus; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 - bool m_bBonusAttack; // 0x12d8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + bool m_bBonusAttack; // 0x12e8 }; // Alignment: 0 @@ -58772,20 +59246,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Omniknight_HammerOfPurity : public CDOTA_Buff { public: - GameTime_t m_flNextAttackTime; // 0x12b8 - float attack_cooldown; // 0x12bc + GameTime_t m_flNextAttackTime; // 0x12c8 + float attack_cooldown; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Omniknight_Hammer_Of_Purity_Bomb : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 0 @@ -58797,12 +59271,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Omniknight_Angelic_Flight : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 - int32_t hp_regen; // 0x12bc + int32_t movement_speed; // 0x12c8 + int32_t hp_regen; // 0x12cc }; // Alignment: 0 @@ -58822,11 +59296,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Omniknight_Pacify : public CDOTA_Buff { public: - int32_t spell_resistance_reduction; // 0x12b8 + int32_t spell_resistance_reduction; // 0x12c8 }; // Alignment: 0 @@ -58838,13 +59312,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Omniknight_Repel : public CDOTA_Buff { public: - int32_t status_resistance; // 0x12b8 - float hp_regen; // 0x12bc - int32_t bonus_str; // 0x12c0 + int32_t status_resistance; // 0x12c8 + float hp_regen; // 0x12cc + int32_t bonus_str; // 0x12d0 }; // Alignment: 0 @@ -58856,19 +59330,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Omniknight_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x12b8 + int32_t speed_bonus; // 0x12c8 }; // Alignment: 0 @@ -58880,14 +59354,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Omniknight_Marty : public CDOTA_Buff { public: - int32_t base_strength; // 0x12b8 - int32_t base_hpregen; // 0x12bc - int32_t strength_bonus; // 0x12c0 - int32_t nDebuffAmount; // 0x12c4 + int32_t base_strength; // 0x12c8 + int32_t base_hpregen; // 0x12cc + int32_t strength_bonus; // 0x12d0 + int32_t nDebuffAmount; // 0x12d4 }; // Alignment: 0 @@ -58899,11 +59373,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Omniknight_GuardianAngel : public CDOTA_Buff { public: - int32_t scepter_status_resist; // 0x12b8 + int32_t scepter_status_resist; // 0x12c8 }; // Alignment: 2 @@ -58916,43 +59390,43 @@ public: }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Enchantress_Little_Friends_Kill_Credit : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Enchantress_Little_Friends_Aura : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - int32_t m_nAlliesTaunted; // 0x12bc - bool m_bRelicTriggered; // 0x12c0 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + int32_t m_nAlliesTaunted; // 0x12cc + bool m_bRelicTriggered; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - 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 + int32_t radius; // 0x12d4 + int32_t damage_amplification; // 0x12d8 + int32_t damage_reduction; // 0x12dc + float root_base_duration; // 0x12e0 + float root_per_target; // 0x12e4 + float max_root; // 0x12e8 + GameTime_t m_flLastSeen; // 0x12ec }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Enchantress_Little_Friends : public CDOTA_Buff { public: - 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 + CHandle< CBaseEntity > m_hZombieTarget; // 0x12c8 + CHandle< CBaseEntity > m_hDesiredTarget; // 0x12cc + int32_t damage_reduction; // 0x12d0 + int32_t bonus_attack_speed; // 0x12d4 + int32_t bonus_move_speed; // 0x12d8 }; // Alignment: 0 @@ -58964,20 +59438,20 @@ public: }; // Alignment: 10 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Enchantress_Bunny_Hop : public CDOTA_Buff { public: - 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 + float hop_duration; // 0x12c8 + int32_t hop_height; // 0x12cc + int32_t hop_distance; // 0x12d0 + float m_flStartZ; // 0x12d4 + float m_flCurTime; // 0x12d8 + float m_flJumpDuration; // 0x12dc + float m_flJumpHeight; // 0x12e0 + Vector m_vTargetHorizontalDirection; // 0x12e4 + CUtlVector< CHandle< CBaseEntity > > hUnitsToHit; // 0x12f0 + bool m_bLaunched; // 0x1308 }; // Alignment: 0 @@ -58989,7 +59463,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Enchantress_Untouchable : public CDOTA_Buff { public: @@ -58997,12 +59471,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Enchantress_Untouchable_Slow : public CDOTA_Buff { public: - int32_t slow_attack_speed; // 0x12b8 - ParticleIndex_t m_nStatusFXIndex; // 0x12bc + int32_t slow_attack_speed; // 0x12c8 + ParticleIndex_t m_nStatusFXIndex; // 0x12cc }; // Alignment: 1 @@ -59014,7 +59488,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Enchantress_Enchant : public CDOTA_Buff { public: @@ -59022,22 +59496,22 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Enchantress_Enchant_Controlled : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t enchant_health; // 0x12bc - int32_t enchant_armor; // 0x12c0 - int32_t enchant_damage; // 0x12c4 + int32_t bonus_movement_speed; // 0x12c8 + int32_t enchant_health; // 0x12cc + int32_t enchant_armor; // 0x12d0 + int32_t enchant_damage; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Enchantress_Enchant_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x12b8 + int32_t slow_movement_speed; // 0x12c8 }; // Alignment: 0 @@ -59049,32 +59523,32 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Enchantress_NaturesAttendants_Shard : public CDOTA_Buff { public: - float heal_interval; // 0x12b8 - float heal; // 0x12bc - int32_t radius; // 0x12c0 - int32_t shard_permanent_wisp_count; // 0x12c4 - bool m_bActive; // 0x12c8 + float heal_interval; // 0x12c8 + float heal; // 0x12cc + int32_t radius; // 0x12d0 + int32_t shard_permanent_wisp_count; // 0x12d4 + bool m_bActive; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - ParticleIndex_t m_nWispFXIndex; // 0x12cc + ParticleIndex_t m_nWispFXIndex; // 0x12dc }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Enchantress_NaturesAttendants : public CDOTA_Buff { public: - 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 + float heal_interval; // 0x12c8 + float heal; // 0x12cc + int32_t radius; // 0x12d0 + int32_t wisp_count; // 0x12d4 + int32_t movespeed; // 0x12d8 + ParticleIndex_t m_nWispFXIndex; // 0x12dc }; // Alignment: 0 @@ -59086,17 +59560,17 @@ public: }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Enchantress_Impetus : public CDOTA_Buff { public: - float distance_damage_pct; // 0x12b8 - int32_t distance_cap; // 0x12bc - float creep_multiplier; // 0x12c0 + float distance_damage_pct; // 0x12c8 + int32_t distance_cap; // 0x12cc + float creep_multiplier; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 0 @@ -59108,24 +59582,24 @@ public: }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Huskar_Inner_Fire_Knockback : public CDOTA_Buff { public: - Vector m_vDirection; // 0x12b8 - float m_flEndTime; // 0x12c4 - float m_flCurTime; // 0x12c8 - float knockback_distance; // 0x12cc - float knockback_duration; // 0x12d0 - float effective_distance; // 0x12d4 + Vector m_vDirection; // 0x12c8 + float m_flEndTime; // 0x12d4 + float m_flCurTime; // 0x12d8 + float knockback_distance; // 0x12dc + float knockback_duration; // 0x12e0 + float effective_distance; // 0x12e4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Huskar_Inner_Fire_Disarm : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x12b8 + int32_t movement_slow_pct; // 0x12c8 }; // Alignment: 0 @@ -59137,23 +59611,23 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Huskar_Inner_Vitality : public CDOTA_Buff { public: - int32_t heal; // 0x12b8 - float attrib_bonus; // 0x12bc - float hurt_attrib_bonus; // 0x12c0 - float hurt_percent; // 0x12c4 + int32_t heal; // 0x12c8 + float attrib_bonus; // 0x12cc + float hurt_attrib_bonus; // 0x12d0 + float hurt_percent; // 0x12d4 }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Huskar_Burning_Spear_Self : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 - float duration; // 0x12d0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + float duration; // 0x12e0 }; // Alignment: 0 @@ -59165,19 +59639,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Huskar_Burning_Spear_Counter : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Huskar_Burning_Spear_Debuff : public CDOTA_Buff { public: - int32_t burn_damage; // 0x12b8 + int32_t burn_damage; // 0x12c8 }; // Alignment: 0 @@ -59189,14 +59663,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Huskar_Berserkers_Blood : public CDOTA_Buff { public: - int32_t maximum_health_regen; // 0x12b8 - int32_t maximum_attack_speed; // 0x12bc - int32_t maximum_magic_resist; // 0x12c0 - int32_t hp_threshold_max; // 0x12c4 + int32_t maximum_health_regen; // 0x12c8 + int32_t maximum_attack_speed; // 0x12cc + int32_t maximum_magic_resist; // 0x12d0 + int32_t hp_threshold_max; // 0x12d4 }; // Alignment: 3 @@ -59212,16 +59686,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Huskar_Life_Break_Taunt : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hZombieTarget; // 0x12b8 - bool m_bDidSetAttackTarget; // 0x12bc + CHandle< CBaseEntity > m_hZombieTarget; // 0x12c8 + bool m_bDidSetAttackTarget; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Huskar_Life_Break_Charge : public CDOTA_Modifier_DebuffImmune { public: @@ -59229,11 +59703,11 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Huskar_Life_Break : public CDOTA_Modifier_MoveSpeed_Percentage { public: - int32_t attack_speed; // 0x12c0 + int32_t attack_speed; // 0x12d0 }; // Alignment: 0 @@ -59245,24 +59719,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_NightStalker_Void : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 - int32_t attackspeed_slow; // 0x12bc + int32_t movespeed_slow; // 0x12c8 + int32_t attackspeed_slow; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_NightStalker_Void_ZoneThinker : public CDOTA_Buff { public: - int32_t radius_scepter; // 0x12b8 + int32_t radius_scepter; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_NightStalker_Void_Zone : public CDOTA_Buff { public: @@ -59278,23 +59752,23 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_NightStalker_CripplingFear_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_NightStalker_CripplingFear : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - int32_t dps; // 0x12c0 - float tick_rate; // 0x12c4 + int32_t dps; // 0x12d0 + float tick_rate; // 0x12d4 }; // Alignment: 0 @@ -59306,15 +59780,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_NightStalker_HunterInTheNight : public CDOTA_Buff { public: - 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 + int32_t bonus_movement_speed_pct_night; // 0x12c8 + int32_t bonus_attack_speed_night; // 0x12cc + int32_t bonus_status_resist_night; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + bool m_bIsDay; // 0x12d8 }; // Alignment: 0 @@ -59326,15 +59800,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_NightStalker_Darkness : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t status_resistance; // 0x12bc - int32_t hp_regen; // 0x12c0 - ParticleIndex_t m_nFXIndex; // 0x12c4 - bool m_bIsDay; // 0x12c8 + int32_t bonus_damage; // 0x12c8 + int32_t status_resistance; // 0x12cc + int32_t hp_regen; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + bool m_bIsDay; // 0x12d8 }; // Alignment: 0 @@ -59402,29 +59876,29 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_SpawnSpiderlings : public CDOTA_Buff { public: - float spiderling_duration; // 0x12b8 - int32_t count; // 0x12bc + float spiderling_duration; // 0x12c8 + int32_t count; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_SpawnSpiderlingsShard : public CDOTA_Buff { public: - float shard_spiderling_duration; // 0x12b8 + float shard_spiderling_duration; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_Spider_HP : public CDOTA_Buff { public: - int32_t hp_bonus; // 0x12b8 - int32_t damage_bonus; // 0x12bc + int32_t hp_bonus; // 0x12c8 + int32_t damage_bonus; // 0x12cc }; // Alignment: 0 @@ -59436,19 +59910,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_SpawnSpiderite : public CDOTA_Buff { public: - float buff_duration; // 0x12b8 + float buff_duration; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_SpawnSpideriteDebuff : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hParentSpider; // 0x12b8 + CHandle< CBaseEntity > m_hParentSpider; // 0x12c8 }; // Alignment: 0 @@ -59460,25 +59934,25 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_PoisonSting : public CDOTA_Buff { public: - float duration; // 0x12b8 - float duration_hero; // 0x12bc + float duration; // 0x12c8 + float duration_hero; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_PoisonStingDebuff : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x12b8 - int32_t movement_speed; // 0x12bc + int32_t damage_per_second; // 0x12c8 + int32_t movement_speed; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Broodmother_SpinWeb_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -59494,16 +59968,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_SpinWeb_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t m_nFXIndex; // 0x12bc + int32_t radius; // 0x12c8 + int32_t m_nFXIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Broodmother_SpinWebInvisibleApplier : public CDOTA_Buff { public: @@ -59511,27 +59985,27 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_SpinWeb_Slowed : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x12b8 + int32_t bonus_movespeed; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Broodmother_SpinWeb : public CDOTA_Buff { public: - int32_t heath_regen; // 0x12b8 - int32_t bonus_movespeed; // 0x12bc - int32_t bonus_movespeed_scepter; // 0x12c0 - float bonus_turn_rate; // 0x12c4 - float flLastDamageTime; // 0x12c8 + int32_t heath_regen; // 0x12c8 + int32_t bonus_movespeed; // 0x12cc + int32_t bonus_movespeed_scepter; // 0x12d0 + float bonus_turn_rate; // 0x12d4 + float flLastDamageTime; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Broodmother_SpinWeb_NoTreeWalking : public CDOTA_Buff { public: @@ -59555,20 +60029,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_IncapacitatingBite : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_IncapacitatingBiteOrb : public CDOTA_Buff { public: - int32_t miss_chance; // 0x12b8 - int32_t bonus_movespeed; // 0x12bc + int32_t miss_chance; // 0x12c8 + int32_t bonus_movespeed; // 0x12cc }; // Alignment: 0 @@ -59580,18 +60054,18 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Broodmother_InsatiableHunger : public CDOTA_Buff { public: - 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 + int32_t bonus_damage; // 0x12c8 + int32_t lifesteal_pct; // 0x12cc + float slow_duration; // 0x12d0 + float bat_bonus; // 0x12d4 + float shard_damage_tick_interval; // 0x12d8 + int32_t damage_tick_count; // 0x12dc + int32_t shard_damage_per_tick; // 0x12e0 + int32_t creep_lifesteal_reduction_pct; // 0x12e4 }; // Alignment: 0 @@ -59603,14 +60077,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Broodmother_Silken_Bola : public CDOTA_Buff { public: - int32_t attack_damage; // 0x12b8 - int32_t movement_speed; // 0x12bc - int32_t miss_chance; // 0x12c0 - int32_t shard_miss_chance; // 0x12c4 + int32_t attack_damage; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t miss_chance; // 0x12d0 + int32_t shard_miss_chance; // 0x12d4 }; // Alignment: 5 @@ -59629,43 +60103,43 @@ public: }; // Alignment: 14 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_Broodmother_StickySnare : public CDOTA_Buff { public: - 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 + Vector m_vOrigin; // 0x12c8 + Vector m_vWallDirection; // 0x12d4 + Vector m_vWallRight; // 0x12e0 + int32_t width; // 0x12ec + float root_duration; // 0x12f0 + float formation_delay; // 0x12f4 + bool m_bTouching; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 + [[maybe_unused]] uint8_t __pad12f9[0x3]; // 0x12f9 public: - CHandle< CBaseEntity > m_hRight; // 0x12ec - bool m_bParticle; // 0x12f0 + CHandle< CBaseEntity > m_hRight; // 0x12fc + bool m_bParticle; // 0x1300 private: - [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 + [[maybe_unused]] uint8_t __pad1301[0x3]; // 0x1301 public: - 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 + GameTime_t m_flStartingTime; // 0x1304 + int32_t m_nFoWID; // 0x1308 + int32_t m_nTeamID; // 0x130c + CUtlVector< CHandle< CBaseEntity > > m_vecAffectedHeroes; // 0x1310 + ParticleIndex_t m_nWarmupFXIndex; // 0x1328 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Broodmother_StickySnare_Root : public CDOTA_Buff { public: - float damage_per_second; // 0x12b8 - bool m_bFirstSecond; // 0x12bc + float damage_per_second; // 0x12c8 + bool m_bFirstSecond; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Broodmother_Tough : public CDOTA_Buff { public: @@ -59673,13 +60147,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_BountyHunter_Track : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 - int32_t m_nParentGold; // 0x12bc - int32_t target_crit_multiplier; // 0x12c0 + int32_t aura_radius; // 0x12c8 + int32_t m_nParentGold; // 0x12cc + int32_t target_crit_multiplier; // 0x12d0 }; // Alignment: 2 @@ -59700,15 +60174,15 @@ public: }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_BountyHunter_Jinada : public CDOTA_Buff { public: - 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 + int32_t bonus_damage; // 0x12c8 + int32_t gold_steal; // 0x12cc + ParticleIndex_t m_nFXIndexA; // 0x12d0 + ParticleIndex_t m_nFXIndexB; // 0x12d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 0 @@ -59728,17 +60202,17 @@ public: }; // Alignment: 3 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_BountyHunter_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t damage_reduction_pct; // 0x12c8 - float shard_stun_duration; // 0x12cc - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + int32_t damage_reduction_pct; // 0x12d8 + float shard_stun_duration; // 0x12dc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BountyHunter_WindWalk_Fade : public CDOTA_Buff { public: @@ -59746,12 +60220,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BountyHunter_WindWalk_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 - int32_t attack_slow; // 0x12bc + int32_t slow; // 0x12c8 + int32_t attack_slow; // 0x12cc }; // Alignment: 1 @@ -59763,19 +60237,19 @@ public: }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_BountyHunter_Track_Bear_Trap : public CDOTA_Modifier_Invisible { public: - bool m_bActivated; // 0x12c8 + bool m_bActivated; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BountyHunter_TrackEffect : public CDOTA_Buff { public: - int32_t bonus_move_speed_pct; // 0x12b8 + int32_t bonus_move_speed_pct; // 0x12c8 }; // Alignment: 0 @@ -59787,11 +60261,11 @@ public: }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_BountyHunter_Lookout : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x12c8 + int32_t radius; // 0x12d8 }; // Alignment: 0 @@ -59803,26 +60277,26 @@ public: }; // Alignment: 6 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Weaver_Swarm : public CDOTA_Buff { public: - 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 + int32_t m_iMaxDist; // 0x12c8 + int32_t m_iAttackCount; // 0x12cc + int32_t destroy_attacks; // 0x12d0 + Vector m_vDirection; // 0x12d4 + Vector m_vStartLoc; // 0x12e0 + CHandle< CBaseEntity > m_hAttachTarget; // 0x12ec }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Weaver_Swarm_Debuff : public CDOTA_Buff { public: - float armor_reduction; // 0x12b8 - int32_t damage; // 0x12bc - float m_flCurrentArmorReduction; // 0x12c0 + float armor_reduction; // 0x12c8 + int32_t damage; // 0x12cc + float m_flCurrentArmorReduction; // 0x12d0 }; // Alignment: 4 @@ -59837,19 +60311,19 @@ public: }; // Alignment: 5 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Weaver_Shukuchi : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x12c8 - int32_t damage; // 0x12cc - int32_t speed; // 0x12d0 - float geminate_attack_mark_duration; // 0x12d4 - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x12d8 + int32_t radius; // 0x12d8 + int32_t damage; // 0x12dc + int32_t speed; // 0x12e0 + float geminate_attack_mark_duration; // 0x12e4 + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x12e8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Weaver_Shukuchi_GeminateAttackMark : public CDOTA_Buff { public: @@ -59857,11 +60331,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Weaver_Shukuchi_GeminateAttackManager : public CDOTA_Buff { public: - int32_t m_iAttacksRemaining; // 0x12b8 + int32_t m_iAttacksRemaining; // 0x12c8 }; // Alignment: 0 @@ -59873,20 +60347,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Weaver_GeminateAttack : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - int32_t m_iAttacksRemaining; // 0x12bc + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + int32_t m_iAttacksRemaining; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Weaver_GeminateAttack_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 1 @@ -59900,14 +60374,14 @@ public: }; // Alignment: 4 -// Size: 0x1398 +// Size: 0x13a8 class CDOTA_Modifier_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 + Vector m_PositionIndex[11]; // 0x12c8 + float m_flLife[11]; // 0x134c + float m_flMana[11]; // 0x1378 + bool m_bHasValidHistory; // 0x13a4 }; // Alignment: 2 @@ -59920,36 +60394,36 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Jakiro_DualBreath_Thinker : public CDOTA_Buff { public: - int32_t start_radius; // 0x12b8 - int32_t end_radius; // 0x12bc - GameTime_t m_fStartTime; // 0x12c0 - float m_fTotalTime; // 0x12c4 - Vector m_vCastPosition; // 0x12c8 + int32_t start_radius; // 0x12c8 + int32_t end_radius; // 0x12cc + GameTime_t m_fStartTime; // 0x12d0 + float m_fTotalTime; // 0x12d4 + Vector m_vCastPosition; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Jakiro_DualBreath_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x12b8 - int32_t slow_attack_speed_pct; // 0x12bc + int32_t slow_movement_speed_pct; // 0x12c8 + int32_t slow_attack_speed_pct; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Jakiro_DualBreath_Burn : public CDOTA_Buff { public: - bool m_bFirst; // 0x12b8 + bool m_bFirst; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t burn_damage; // 0x12bc + int32_t burn_damage; // 0x12cc }; // Alignment: 0 @@ -59961,7 +60435,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Jakiro_IcePath_Stun : public CDOTA_Modifier_Stunned { public: @@ -59969,22 +60443,22 @@ public: }; // Alignment: 9 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Jakiro_IcePath_Thinker : public CDOTA_Buff { public: - float path_delay; // 0x12b8 - int32_t path_radius; // 0x12bc - int32_t m_nDamage; // 0x12c0 - float m_flRadius; // 0x12c4 - float stun_duration; // 0x12c8 + float path_delay; // 0x12c8 + int32_t path_radius; // 0x12cc + int32_t m_nDamage; // 0x12d0 + float m_flRadius; // 0x12d4 + float stun_duration; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlVector< CHandle< CBaseEntity > > m_hUnitsHit; // 0x12d0 - Vector m_vPathStart; // 0x12e8 - Vector m_vPathEnd; // 0x12f4 - GameTime_t m_fStartTime; // 0x1300 + CUtlVector< CHandle< CBaseEntity > > m_hUnitsHit; // 0x12e0 + Vector m_vPathStart; // 0x12f8 + Vector m_vPathEnd; // 0x1304 + GameTime_t m_fStartTime; // 0x1310 }; // Alignment: 0 @@ -59996,28 +60470,28 @@ public: }; // Alignment: 5 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Jakiro_LiquidIce : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 - int32_t radius; // 0x12d8 - ParticleIndex_t m_nFXIndex; // 0x12dc - bool m_bForceProc; // 0x12e0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + int32_t radius; // 0x12e8 + ParticleIndex_t m_nFXIndex; // 0x12ec + bool m_bForceProc; // 0x12f0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Jakiro_LiquidIce_Debuff : public CDOTA_Buff { public: - int32_t base_damage; // 0x12b8 - float pct_health_damage; // 0x12bc - int32_t movement_slow; // 0x12c0 + int32_t base_damage; // 0x12c8 + float pct_health_damage; // 0x12cc + int32_t movement_slow; // 0x12d0 }; // Alignment: 0 @@ -60029,27 +60503,27 @@ public: }; // Alignment: 5 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Jakiro_LiquidFire : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 - int32_t radius; // 0x12d8 - ParticleIndex_t m_nFXIndex; // 0x12dc - bool m_bForceProc; // 0x12e0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + int32_t radius; // 0x12e8 + ParticleIndex_t m_nFXIndex; // 0x12ec + bool m_bForceProc; // 0x12f0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Jakiro_LiquidFire_Burn : public CDOTA_Buff { public: - int32_t slow_attack_speed_pct; // 0x12b8 - float damage; // 0x12bc + int32_t slow_attack_speed_pct; // 0x12c8 + float damage; // 0x12cc }; // Alignment: 0 @@ -60061,44 +60535,44 @@ public: }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Jakiro_Macropyre_Thinker : public CDOTA_Buff { public: - 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 + Vector m_vPathDir; // 0x12c8 + float burn_interval; // 0x12d4 + int32_t path_radius; // 0x12d8 + int32_t cast_range; // 0x12dc + float linger_duration; // 0x12e0 + bool m_bTestedGem; // 0x12e4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Jakiro_Macropyre_Burn : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - float burn_interval; // 0x12bc + int32_t damage; // 0x12c8 + float burn_interval; // 0x12cc }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 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 + Vector m_vPathDir; // 0x12c8 + int32_t ice_edge_path_radius; // 0x12d4 + int32_t cast_range; // 0x12d8 + float ice_edge_linger_duration; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Jakiro_Macropyre_Ice_Edge_Slow : public CDOTA_Buff { public: - int32_t ice_edge_movement_slow; // 0x12b8 + int32_t ice_edge_movement_slow; // 0x12c8 }; // Alignment: 0 @@ -60182,24 +60656,24 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Batrider_StickyNapalm_Application : public CDOTA_Buff { public: - bool m_bShouldApply; // 0x12b8 + bool m_bShouldApply; // 0x12c8 }; // Alignment: 6 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Batrider_StickyNapalm : public CDOTA_Modifier_Stacking_Base { public: - 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 + float movement_speed_pct; // 0x12e8 + int32_t turn_rate_pct; // 0x12ec + int32_t damage; // 0x12f0 + int32_t application_damage; // 0x12f4 + ParticleIndex_t m_nFXIndex; // 0x12f8 + ParticleIndex_t m_nFXStackIndex; // 0x12fc }; // Alignment: 0 @@ -60211,7 +60685,7 @@ public: }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Ability_Batrider_Flamebreak_Knockback : public CDOTA_Modifier_Knockback { public: @@ -60219,13 +60693,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Batrider_Flamebreak_Damage : public CDOTA_Buff { public: - int32_t damage_impact; // 0x12b8 - int32_t damage_per_second; // 0x12bc - int32_t slow; // 0x12c0 + int32_t damage_impact; // 0x12c8 + int32_t damage_per_second; // 0x12cc + int32_t slow; // 0x12d0 }; // Alignment: 0 @@ -60237,26 +60711,26 @@ public: }; // Alignment: 13 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Batrider_Firefly : public CDOTA_Buff { public: - bool m_bActive; // 0x12b8 + bool m_bActive; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + int32_t radius; // 0x12cc + int32_t m_ifirefly_Active; // 0x12d0 + int32_t tree_radius; // 0x12d4 + int32_t damage_per_second; // 0x12d8 + int32_t movement_speed; // 0x12dc + int32_t bonus_slow_resistance; // 0x12e0 + float tick_interval; // 0x12e4 + ParticleIndex_t m_nFXIndex; // 0x12e8 + ParticleIndex_t m_nFXIndexB; // 0x12ec + GameTime_t m_fNextDamageTick; // 0x12f0 + Vector m_vLastFirePoolLoc; // 0x12f4 + int32_t bonus_vision; // 0x1300 }; // Alignment: 0 @@ -60268,20 +60742,20 @@ public: }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Batrider_FlamingLasso : public CDOTA_Buff { public: - 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 + float tick_rate; // 0x12c8 + int32_t drag_distance; // 0x12cc + int32_t break_distance; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + Vector vPreviousLocation; // 0x12d8 + CHandle< CDOTA_BaseNPC > m_hAnchor; // 0x12e4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Batrider_FlamingLasso_Self : public CDOTA_Buff { public: @@ -60289,14 +60763,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Batrider_FlamingLasso_Damage : public CDOTA_Buff { public: - int32_t max_ticks; // 0x12b8 - float damage; // 0x12bc - float duration; // 0x12c0 - float tick_rate; // 0x12c4 + int32_t max_ticks; // 0x12c8 + float damage; // 0x12cc + float duration; // 0x12d0 + float tick_rate; // 0x12d4 }; // Alignment: 0 @@ -60364,30 +60838,30 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Chen_Penitence : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t bonus_damage_taken; // 0x12bc + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_damage_taken; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Chen_Penitence_Attack_Speed_Buff : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + int32_t self_attack_range_bonus; // 0x12cc + bool m_bActive; // 0x12d0 }; // Alignment: 0 @@ -60407,31 +60881,31 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Chen_Divine_Favor_Teleport : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - float teleport_delay; // 0x12c0 + float teleport_delay; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Chen_DivineFavor_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Chen_DivineFavor : public CDOTA_Buff { public: - int32_t armor; // 0x12b8 - float heal_rate; // 0x12bc - int32_t creep_bonus; // 0x12c0 + int32_t armor; // 0x12c8 + float heal_rate; // 0x12cc + int32_t creep_bonus; // 0x12d0 }; // Alignment: 0 @@ -60451,23 +60925,23 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Chen_HolyPersuasion : public CDOTA_Buff { public: - 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 + int32_t health_min; // 0x12c8 + int32_t new_max; // 0x12cc + int32_t health_bonus; // 0x12d0 + int32_t damage_bonus; // 0x12d4 + int32_t movement_speed_bonus; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Chen_TestOfFaith_Teleport : public CDOTA_Buff { public: - bool bToChen; // 0x12b8 + bool bToChen; // 0x12c8 }; // Alignment: 0 @@ -60479,11 +60953,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Chen_HandOfGod_Hot : public CDOTA_Buff { public: - int32_t heal_per_second; // 0x12b8 + int32_t heal_per_second; // 0x12c8 }; // Alignment: 0 @@ -60583,7 +61057,7 @@ public: }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spectre_Arcana : public CDOTA_Buff { public: @@ -60599,28 +61073,28 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spectre_Desolate : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t radius; // 0x12bc + int32_t bonus_damage; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 7 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Spectre_SpectralDaggerPath : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x18]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x18]; // 0x12c8 public: - 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 + CUtlVector< CHandle< CBaseEntity > > m_hUnitsInPath; // 0x12e0 + int32_t path_radius; // 0x12f8 + int32_t vision_radius; // 0x12fc + int32_t dagger_radius; // 0x1300 + float buff_persistence; // 0x1304 + float dagger_grace_period; // 0x1308 + float dagger_path_duration; // 0x130c }; // Alignment: 9 @@ -60643,26 +61117,26 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Spectre_SpectralDagger : public CDOTA_Buff { public: - int32_t path_radius; // 0x12b8 - float hero_path_duration; // 0x12bc - Vector m_vLastPosition; // 0x12c0 + int32_t path_radius; // 0x12c8 + float hero_path_duration; // 0x12cc + Vector m_vLastPosition; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spectre_SpectralDaggerInPath : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x12b8 - CHandle< CBaseEntity > m_hTrackingTarget; // 0x12bc + int32_t bonus_movespeed; // 0x12c8 + CHandle< CBaseEntity > m_hTrackingTarget; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Spectre_SpectralDaggerPathPhased : public CDOTA_Buff { public: @@ -60670,7 +61144,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Spectre_SpectralDaggerPath_ActivityModifierOnly : public CDOTA_Buff { public: @@ -60678,11 +61152,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spectre_Desolate_Blind : public CDOTA_Buff { public: - int32_t blind_pct; // 0x12b8 + int32_t blind_pct; // 0x12c8 }; // Alignment: 0 @@ -60694,21 +61168,21 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Spectre_Dispersion : public CDOTA_Buff { public: - 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 + int32_t damage_reflection_pct; // 0x12c8 + int32_t min_radius; // 0x12cc + int32_t max_radius; // 0x12d0 + int32_t activation_bonus_pct; // 0x12d4 + GameTime_t m_flLastDispersionPulseEffectTime; // 0x12d8 + float m_fDamageCounter; // 0x12dc + float m_fLastTime; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Spectre_Dispersion_Memory : public CDOTA_Buff { public: @@ -60716,7 +61190,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Spectre_Dispersion_Boost : public CDOTA_Buff { public: @@ -60740,12 +61214,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spectre_Haunt : public CDOTA_Buff { public: - GameTime_t m_fStartAttackTime; // 0x12b8 - CHandle< CBaseEntity > hTarget; // 0x12bc + GameTime_t m_fStartAttackTime; // 0x12c8 + CHandle< CBaseEntity > hTarget; // 0x12cc }; // Alignment: 0 @@ -60757,7 +61231,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Spectre_Spectral_Dagger_Illusions : public CDOTA_Buff { public: @@ -60765,11 +61239,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spectre_Arcana_Kill_Effect : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x12b8 + ParticleIndex_t m_nCasterFXIndex; // 0x12c8 }; // Alignment: 2 @@ -60782,7 +61256,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DoomBringer_Devour_Hero_Debuff : public CDOTA_Buff { public: @@ -60790,16 +61264,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DoomBringer_Devour : public CDOTA_Buff { public: - int32_t armor; // 0x12b8 - int32_t magic_resist; // 0x12bc + int32_t armor; // 0x12c8 + int32_t magic_resist; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DoomBringer_Devour_Hero_Ability : public CDOTA_Buff { public: @@ -60807,13 +61281,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t cast_range_bonus; // 0x12c8 + int32_t spell_amp_bonus; // 0x12cc + int32_t cooldown_bonus; // 0x12d0 }; // Alignment: 0 @@ -60825,7 +61299,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DoomBringer_ScorchedEarth_Thinker : public CDOTA_Buff { public: @@ -60833,22 +61307,22 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DoomBringer_ScorchedEarthEffect : public CDOTA_Buff { public: - int32_t bonus_movement_speed_pct; // 0x12b8 + int32_t bonus_movement_speed_pct; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_DoomBringer_ScorchedEarthEffectAura : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x12b8 - int32_t bonus_movement_speed_pct; // 0x12bc - int32_t radius; // 0x12c0 - int32_t heal_pct; // 0x12c4 + int32_t damage_per_second; // 0x12c8 + int32_t bonus_movement_speed_pct; // 0x12cc + int32_t radius; // 0x12d0 + int32_t heal_pct; // 0x12d4 }; // Alignment: 0 @@ -60860,26 +61334,26 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_DoomBringer_InfernalBlade : public CDOTA_Buff { public: - bool m_bInfernalBladeAttack; // 0x12b8 + bool m_bInfernalBladeAttack; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - ParticleIndex_t m_nFXIndex; // 0x12bc - float burn_duration; // 0x12c0 - float ministun_duration; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12cc + float burn_duration; // 0x12d0 + float ministun_duration; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DoomBringer_InfernalBlade_Burn : public CDOTA_Buff { public: - int32_t burn_damage; // 0x12b8 - float burn_damage_pct; // 0x12bc + int32_t burn_damage; // 0x12c8 + float burn_damage_pct; // 0x12cc }; // Alignment: 0 @@ -60891,39 +61365,39 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DoomBringer_Doom_Aura_Self : public CDOTA_Buff { public: - int32_t scepter_aura_radius; // 0x12b8 - int32_t damage; // 0x12bc + int32_t scepter_aura_radius; // 0x12c8 + int32_t damage; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DoomBringer_Doom_Aura_Enemy : public CDOTA_Buff { public: - int32_t scepter_aura_radius; // 0x12b8 - int32_t damage; // 0x12bc + int32_t scepter_aura_radius; // 0x12c8 + int32_t damage; // 0x12cc }; // Alignment: 7 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_DoomBringer_Doom : public CDOTA_Buff { public: - 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 + int32_t damage; // 0x12c8 + float duration; // 0x12cc + int32_t deniable_pct; // 0x12d0 + float flElapsedTime; // 0x12d4 + int32_t damage_amp; // 0x12d8 + bool m_bDoesBreak; // 0x12dc + bool m_bDoesMute; // 0x12dd }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DoomBringer_Doom_Break : public CDOTA_Buff { public: @@ -60978,17 +61452,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_SpiritBreaker_GreaterBash : public CDOTA_Buff { public: - int32_t chance_pct; // 0x12b8 - float damage; // 0x12bc - float movespeed_duration; // 0x12c0 + int32_t chance_pct; // 0x12c8 + float damage; // 0x12cc + float movespeed_duration; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_SpiritBreaker_GreaterBash_Break : public CDOTA_Buff { public: @@ -60996,45 +61470,45 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SpiritBreaker_GreaterBash_Speed : public CDOTA_Buff { public: - int32_t bonus_movespeed_pct; // 0x12b8 + int32_t bonus_movespeed_pct; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SpiritBreaker_ChargeOfDarkness : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 - CHandle< CBaseEntity > m_hTarget; // 0x12bc + int32_t movement_speed; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessTarget : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - CEntityIndex m_iChargeTargetEntityIndex; // 0x12bc + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + CEntityIndex m_iChargeTargetEntityIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessVision : public CDOTA_Buff { public: - int32_t m_nFXIndex; // 0x12b8 + int32_t m_nFXIndex; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SpiritBreaker_SpecialAttack : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 }; // Alignment: 0 @@ -61046,14 +61520,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_SpiritBreaker_Bulldoze : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 - int32_t status_resistance; // 0x12bc - float damage_barrier; // 0x12c0 - float m_flCurrentBarrier; // 0x12c4 + int32_t movement_speed; // 0x12c8 + int32_t status_resistance; // 0x12cc + float damage_barrier; // 0x12d0 + float m_flCurrentBarrier; // 0x12d4 }; // Alignment: 0 @@ -61065,22 +61539,22 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SpiritBreaker_EmpoweringHasteAura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_SpiritBreaker_EmpoweringHaste : public CDOTA_Buff { public: - 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 + int32_t bonus_movespeed_pct_self; // 0x12c8 + int32_t bonus_movespeed_pct_allies; // 0x12cc + int32_t bonus_movespeed_pct_extra; // 0x12d0 + int32_t duration; // 0x12d4 }; // Alignment: 0 @@ -61092,25 +61566,25 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SpiritBreaker_NetherStrike_Vision : public CDOTA_Buff { public: - int32_t invis_threshold_pct; // 0x12b8 + int32_t invis_threshold_pct; // 0x12c8 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_SpiritBreaker_NetherStrike : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - bool m_bStrikeLanded; // 0x12bc + int32_t damage; // 0x12c8 + bool m_bStrikeLanded; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - Vector m_vCastLocation; // 0x12c0 - CHandle< CBaseEntity > m_hTarget; // 0x12cc + Vector m_vCastLocation; // 0x12d0 + CHandle< CBaseEntity > m_hTarget; // 0x12dc }; // Alignment: 0 @@ -61122,25 +61596,25 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_SpiritBreaker_PlanarPocketAura : public CDOTA_Buff { public: - bool m_bHasActivated; // 0x12b8 + bool m_bHasActivated; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t radius; // 0x12bc - int32_t magic_resistance; // 0x12c0 + int32_t radius; // 0x12cc + int32_t magic_resistance; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SpiritBreaker_PlanarPocket : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hRedirectAbility; // 0x12b8 - GameTick_t nRedirectTick; // 0x12bc + CHandle< CBaseEntity > m_hRedirectAbility; // 0x12c8 + GameTick_t nRedirectTick; // 0x12cc }; // Alignment: 0 @@ -61152,17 +61626,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Gyrocopter_Rocket_Barrage : public CDOTA_Buff { public: - int32_t rocket_damage; // 0x12b8 - int32_t bonus_movement_speed; // 0x12bc - int32_t slow_resistance; // 0x12c0 + int32_t rocket_damage; // 0x12c8 + int32_t bonus_movement_speed; // 0x12cc + int32_t slow_resistance; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Gyrocopter_HomingMissile_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -61178,43 +61652,43 @@ public: }; // Alignment: 17 -// Size: 0x1338 +// Size: 0x1348 class CDOTA_Modifier_Gyrocopter_Homing_Missile : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + ParticleIndex_t m_nFXIndex2; // 0x12cc + int32_t hero_damage; // 0x12d0 + int32_t acceleration; // 0x12d4 + int32_t min_damage; // 0x12d8 + int32_t max_distance; // 0x12dc + int32_t shard_radius; // 0x12e0 + float shard_delay; // 0x12e4 + float pre_flight_time; // 0x12e8 + float stun_duration; // 0x12ec + int32_t m_nMissileDamage; // 0x12f0 + int32_t m_nTeamNumber; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad12e8[0x8]; // 0x12e8 + [[maybe_unused]] uint8_t __pad12f8[0x8]; // 0x12f8 public: - float speed; // 0x12f0 - CHandle< CBaseEntity > m_hAttachTarget; // 0x12f4 - Vector m_vStartPosition; // 0x12f8 + float speed; // 0x1300 + CHandle< CBaseEntity > m_hAttachTarget; // 0x1304 + Vector m_vStartPosition; // 0x1308 private: - [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 + [[maybe_unused]] uint8_t __pad1314[0x4]; // 0x1314 public: - CountdownTimer m_EnemyVision; // 0x1308 - CountdownTimer m_MoveTime; // 0x1320 + CountdownTimer m_EnemyVision; // 0x1318 + CountdownTimer m_MoveTime; // 0x1330 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Gyrocopter_Homing_Rocket_Barrage : public CDOTA_Buff { public: - int32_t rocket_damage; // 0x12b8 - int32_t shard_radius; // 0x12bc - CHandle< CBaseEntity > m_hTarget; // 0x12c0 + int32_t rocket_damage; // 0x12c8 + int32_t shard_radius; // 0x12cc + CHandle< CBaseEntity > m_hTarget; // 0x12d0 }; // Alignment: 0 @@ -61226,26 +61700,26 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t max_attacks; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t m_iNumAttacks; // 0x12d0 + int32_t projectile_speed; // 0x12d4 + int32_t bonus_night_vision; // 0x12d8 + int32_t radius; // 0x12dc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Gyrocopter_Flak_Cannon_Scepter : public CDOTA_Buff { public: - float fire_rate; // 0x12b8 - int32_t scepter_radius; // 0x12bc - int32_t m_iAttackRecord; // 0x12c0 + float fire_rate; // 0x12c8 + int32_t scepter_radius; // 0x12cc + int32_t m_iAttackRecord; // 0x12d0 }; // Alignment: 2 @@ -61258,34 +61732,34 @@ public: }; // Alignment: 13 -// Size: 0x1300 +// Size: 0x1310 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 + int32_t slow_duration_first; // 0x12c8 + int32_t slow_duration_second; // 0x12cc + int32_t damage_first; // 0x12d0 + int32_t damage_second; // 0x12d4 + int32_t damage_second_scepter; // 0x12d8 + int32_t radius; // 0x12dc + float slow_first; // 0x12e0 + float slow_second; // 0x12e4 + bool m_bFirstStrike; // 0x12e8 + bool m_bDelayed; // 0x12e9 + bool m_bHalfDamage; // 0x12ea private: - [[maybe_unused]] uint8_t __pad12db[0x5]; // 0x12db + [[maybe_unused]] uint8_t __pad12eb[0x5]; // 0x12eb public: - CUtlVector< CHandle< CBaseEntity > > m_vecHitHeroes; // 0x12e0 - bool m_bHitInvisibleHeroes; // 0x12f8 + CUtlVector< CHandle< CBaseEntity > > m_vecHitHeroes; // 0x12f0 + bool m_bHitInvisibleHeroes; // 0x1308 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Gyrocopter_Call_Down_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 + int32_t movespeed; // 0x12c8 }; // Alignment: 0 @@ -61297,22 +61771,22 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t damage; // 0x12c8 + int32_t armor_allies; // 0x12cc + int32_t radius; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Alchemist_AcidSpray : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x12b8 + int32_t armor_reduction; // 0x12c8 }; // Alignment: 0 @@ -61333,21 +61807,21 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 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 + float brew_time; // 0x12c8 + float brew_explosion; // 0x12cc + GameTime_t m_fStartTime; // 0x12d0 + GameTime_t m_fLastAlertTime; // 0x12d4 + ParticleIndex_t m_nConcoctionFXIndex; // 0x12d8 + bool m_bHasStunned; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - int32_t damage_resistance; // 0x12d0 - int32_t move_speed; // 0x12d4 + int32_t damage_resistance; // 0x12e0 + int32_t move_speed; // 0x12e4 }; // Alignment: 0 @@ -61359,16 +61833,16 @@ public: }; // Alignment: 6 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Alchemist_GoblinsGreed : public CDOTA_Buff { public: - 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 + CUtlVector< GameTime_t > m_DeathList; // 0x12c8 + float damage; // 0x12e0 + float duration; // 0x12e4 + int32_t bonus_gold; // 0x12e8 + int32_t bonus_bonus_gold; // 0x12ec + int32_t bonus_gold_cap; // 0x12f0 }; // Alignment: 0 @@ -61380,7 +61854,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Alchemist_ChemicalRageTransform : public CDOTA_Buff { public: @@ -61388,25 +61862,25 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Alchemist_ChemicalRage : public CDOTA_Buff { public: - 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 + float base_attack_time; // 0x12c8 + int32_t bonus_health; // 0x12cc + int32_t bonus_health_regen; // 0x12d0 + float bonus_mana_regen; // 0x12d4 + int32_t bonus_movespeed; // 0x12d8 + ParticleIndex_t m_nFXAlchemistCRIndex; // 0x12dc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Alchemist_Scepter_Bonus_Damage : public CDOTA_Buff { public: - int32_t scepter_bonus_damage; // 0x12b8 - int32_t scepter_spell_amp; // 0x12bc + int32_t scepter_bonus_damage; // 0x12c8 + int32_t scepter_spell_amp; // 0x12cc }; // Alignment: 0 @@ -61418,13 +61892,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Alchemist_Berserk_Potion : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 - int32_t hp_regen; // 0x12bc - int32_t move_speed; // 0x12c0 + int32_t attack_speed; // 0x12c8 + int32_t hp_regen; // 0x12cc + int32_t move_speed; // 0x12d0 }; // Alignment: 0 @@ -61436,7 +61910,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Alchemist_Self_Corrosive_Weaponry : public CDOTA_Buff { public: @@ -61444,17 +61918,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Alchemist_Corrosive_Weaponry_Debuff : public CDOTA_Buff { public: - int32_t slow_per_stack; // 0x12b8 - float status_resist_per_stack; // 0x12bc - float chemical_rage_bonus; // 0x12c0 + int32_t slow_per_stack; // 0x12c8 + float status_resist_per_stack; // 0x12cc + float chemical_rage_bonus; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Invoker_Instance : public CDOTA_Buff { public: @@ -61513,27 +61987,27 @@ public: }; // Alignment: 10 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Invoker_ColdSnap : public CDOTA_Buff { public: - 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 + float freeze_damage; // 0x12c8 + float freeze_duration; // 0x12cc + float freeze_cooldown; // 0x12d0 + float damage_trigger; // 0x12d4 + float spell_lifesteal; // 0x12d8 + float spell_amp; // 0x12dc + float freeze_heal; // 0x12e0 + int32_t nQuasApplications; // 0x12e4 + int32_t nExortApplications; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CountdownTimer m_freezeCooldownTimer; // 0x12e0 + CountdownTimer m_freezeCooldownTimer; // 0x12f0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Invoker_ColdSnap_Freeze : public CDOTA_Modifier_Stunned { public: @@ -61549,25 +62023,25 @@ public: }; // Alignment: 7 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Invoker_GhostWalk_Self : public CDOTA_Modifier_Invisible { public: - 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 + int32_t self_slow; // 0x12d8 + int32_t area_of_effect; // 0x12dc + float aura_fade_time; // 0x12e0 + float health_regen; // 0x12e4 + float mana_regen; // 0x12e8 + float disable_time; // 0x12ec + GameTime_t m_timeLastDamage; // 0x12f0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_GhostWalk_Enemy : public CDOTA_Buff { public: - int32_t enemy_slow; // 0x12b8 + int32_t enemy_slow; // 0x12c8 }; // Alignment: 6 @@ -61584,13 +62058,13 @@ public: }; // Alignment: 3 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Invoker_Tornado : public CDOTA_Modifier_Cyclone { public: - float m_flLandDamage; // 0x12d0 - float spell_lifesteal; // 0x12d4 - float spell_amp; // 0x12d8 + float m_flLandDamage; // 0x12e0 + float spell_lifesteal; // 0x12e4 + float spell_amp; // 0x12e8 }; // Alignment: 0 @@ -61602,37 +62076,37 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Invoker_EMP : public CDOTA_Buff { public: - 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 + int32_t area_of_effect; // 0x12c8 + int32_t mana_burned; // 0x12cc + float damage_per_mana; // 0x12d0 + float spell_lifesteal; // 0x12d4 + float spell_amp; // 0x12d8 + CHandle< CBaseEntity > m_hPullThinker; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_EMP_Pull_Thinker : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x12b8 + int32_t area_of_effect; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Invoker_EMP_Pull : public CDOTA_Buff { public: - 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 + int32_t shard_drag_speed; // 0x12c8 + float aura_origin_x; // 0x12cc + float aura_origin_y; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + Vector m_vCenter; // 0x12d8 + GameTime_t m_flLastThinkTime; // 0x12e4 }; // Alignment: 0 @@ -61644,12 +62118,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_Alacrity : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_damage; // 0x12bc + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_damage; // 0x12cc }; // Alignment: 7 @@ -61667,26 +62141,26 @@ public: }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Invoker_ChaosMeteor_Land : public CDOTA_Buff { public: - 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 + Vector m_vDir; // 0x12c8 + int32_t travel_speed; // 0x12d4 + int32_t travel_distance; // 0x12d8 + int32_t vision_distance; // 0x12dc + float spell_amp; // 0x12e0 + float spell_lifesteal; // 0x12e4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Invoker_ChaosMeteor_Burn : public CDOTA_Buff { public: - float spell_amp; // 0x12b8 - float spell_lifesteal; // 0x12bc - float m_flDamagePerSecond; // 0x12c0 + float spell_amp; // 0x12c8 + float spell_lifesteal; // 0x12cc + float m_flDamagePerSecond; // 0x12d0 }; // Alignment: 0 @@ -61698,41 +62172,41 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Invoker_SunStrike_Cataclysm_Thinker : public CDOTA_Buff { public: - float damage; // 0x12b8 - float spell_lifesteal; // 0x12bc - float spell_amp; // 0x12c0 + float damage; // 0x12c8 + float spell_lifesteal; // 0x12cc + float spell_amp; // 0x12d0 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t area_of_effect; // 0x12c8 + float damage; // 0x12cc + int32_t vision_distance; // 0x12d0 + float vision_duration; // 0x12d4 + float spell_amp; // 0x12d8 + float spell_lifesteal; // 0x12dc }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Invoker_SunStrike_Cataclysm : 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 - Vector m_vSoundPos; // 0x12d0 - bool m_bPlaySound; // 0x12dc + int32_t area_of_effect; // 0x12c8 + float damage; // 0x12cc + int32_t vision_distance; // 0x12d0 + float vision_duration; // 0x12d4 + float spell_amp; // 0x12d8 + float spell_lifesteal; // 0x12dc + Vector m_vSoundPos; // 0x12e0 + bool m_bPlaySound; // 0x12ec }; // Alignment: 1 @@ -61744,15 +62218,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t level; // 0x12c8 + int32_t armor; // 0x12cc + int32_t mana; // 0x12d0 + float attack_range; // 0x12d4 + float armor_per_attack; // 0x12d8 }; // Alignment: 0 @@ -61764,20 +62238,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ForgedSpirit_MeltingStrike : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MeltingStrike_Debuff : public CDOTA_Buff { public: - float armor_removed; // 0x12b8 - int32_t m_nMaxStacks; // 0x12bc + float armor_removed; // 0x12c8 + int32_t m_nMaxStacks; // 0x12cc }; // Alignment: 2 @@ -61790,36 +62264,36 @@ public: }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 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 - bool m_bGrantedGem; // 0x12dc + float damage_per_second; // 0x12c8 + int32_t num_wall_elements; // 0x12cc + int32_t wall_element_spacing; // 0x12d0 + int32_t wall_element_radius; // 0x12d4 + float spell_amp; // 0x12d8 + float spell_lifesteal; // 0x12dc + Vector m_vWallDir; // 0x12e0 + bool m_bGrantedGem; // 0x12ec }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Invoker_IceWall_SlowAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t slow; // 0x12bc - float slow_duration; // 0x12c0 + int32_t radius; // 0x12c8 + int32_t slow; // 0x12cc + float slow_duration; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_IceWall_SlowDebuff : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 6 @@ -61836,17 +62310,17 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Invoker_DeafeningBlast_Knockback : public CDOTA_Buff { public: - float disarm_duration; // 0x12b8 - Vector m_vPushDir; // 0x12bc - GameTime_t m_flStartTime; // 0x12c8 + float disarm_duration; // 0x12c8 + Vector m_vPushDir; // 0x12cc + GameTime_t m_flStartTime; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Invoker_DeafeningBlast_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -61854,33 +62328,33 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Invoker_QuasInstance : public CDOTA_Modifier_Invoker_Instance { public: - float spell_lifesteal; // 0x12b8 - int32_t health_regen_per_instance; // 0x12bc - char* m_pSlotName; // 0x12c0 + float spell_lifesteal; // 0x12c8 + int32_t health_regen_per_instance; // 0x12cc + char* m_pSlotName; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Invoker_WexInstance : public CDOTA_Modifier_Invoker_Instance { public: - float move_speed_per_instance; // 0x12b8 - float cooldown_reduction; // 0x12bc - char* m_pSlotName; // 0x12c0 + float move_speed_per_instance; // 0x12c8 + float cooldown_reduction; // 0x12cc + char* m_pSlotName; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Invoker_ExortInstance : public CDOTA_Modifier_Invoker_Instance { public: - int32_t bonus_damage_per_instance; // 0x12b8 - float spell_amp; // 0x12bc - char* m_pSlotName; // 0x12c0 + int32_t bonus_damage_per_instance; // 0x12c8 + float spell_amp; // 0x12cc + char* m_pSlotName; // 0x12d0 }; // Alignment: 0 @@ -61900,12 +62374,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoker_Wex_Cooldown_Reduction : public CDOTA_Buff { public: - int32_t cooldown_reduction; // 0x12b8 - int32_t m_nTotalCDR; // 0x12bc + int32_t cooldown_reduction; // 0x12c8 + int32_t m_nTotalCDR; // 0x12cc }; // Alignment: 0 @@ -61933,7 +62407,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Invoker_AttackVisuals : public CDOTA_Buff { public: @@ -62021,12 +62495,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Invoke_Bonuses : public CDOTA_Buff { public: - float spell_amp; // 0x12b8 - float spell_lifesteal; // 0x12bc + float spell_amp; // 0x12c8 + float spell_lifesteal; // 0x12cc }; // Alignment: 0 @@ -62038,16 +62512,16 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Silencer_CurseOfTheSilent : public CDOTA_Buff { public: - 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 + int32_t damage; // 0x12c8 + ParticleIndex_t nFxIndex; // 0x12cc + int32_t penalty_duration; // 0x12d0 + float penalty_multiplier; // 0x12d4 + int32_t movespeed; // 0x12d8 + int32_t undispellable; // 0x12dc }; // Alignment: 2 @@ -62063,21 +62537,21 @@ public: }; // Alignment: 4 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Silencer_GlaivesOfWisdom : public CDOTA_Buff { public: - float intellect_damage_pct; // 0x12b8 + float intellect_damage_pct; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 - CUtlVector< int16 > m_InFlightSilenceAttackRecords; // 0x12d8 - CDOTA_Buff* m_pAttackCounterBuff; // 0x12f0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + CUtlVector< int16 > m_InFlightSilenceAttackRecords; // 0x12e8 + CDOTA_Buff* m_pAttackCounterBuff; // 0x1300 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_AttackCounter : public CDOTA_Buff { public: @@ -62085,15 +62559,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_Debuff : public CDOTA_Buff { public: - int32_t int_steal; // 0x12b8 + int32_t int_steal; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_DebuffCounter : public CDOTA_Buff { public: @@ -62101,15 +62575,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_Buff : public CDOTA_Buff { public: - int32_t int_steal; // 0x12b8 + int32_t int_steal; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_BuffCounter : public CDOTA_Buff { public: @@ -62125,23 +62599,23 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Silencer_LastWord : public CDOTA_Buff { public: - int32_t duration; // 0x12b8 - bool spellcast; // 0x12bc + int32_t duration; // 0x12c8 + bool spellcast; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - int32_t damage; // 0x12c0 - float debuff_duration; // 0x12c4 - float int_multiplier; // 0x12c8 - int32_t scepter_bonus_damage; // 0x12cc + int32_t damage; // 0x12d0 + float debuff_duration; // 0x12d4 + float int_multiplier; // 0x12d8 + int32_t scepter_bonus_damage; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Silencer_LastWord_Disarm : public CDOTA_Modifier_Silence { public: @@ -62157,7 +62631,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Silencer_GlobalSilence : public CDOTA_Buff { public: @@ -62173,15 +62647,15 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Obsidian_Destroyer_ArcaneOrb : public CDOTA_Buff { public: - float mana_pool_damage_pct; // 0x12b8 + float mana_pool_damage_pct; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 1 @@ -62193,16 +62667,16 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Obsidian_Destroyer_AstralImprisonment_Prison : public CDOTA_Buff { public: - int32_t allied_movement_speed_pct; // 0x12b8 - bool m_bAllowMovement; // 0x12bc + int32_t allied_movement_speed_pct; // 0x12c8 + bool m_bAllowMovement; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - ParticleIndex_t m_nDebuffImmuneEffect; // 0x12c0 + ParticleIndex_t m_nDebuffImmuneEffect; // 0x12d0 }; // Alignment: 0 @@ -62214,22 +62688,22 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Obsidian_Destroyer_EssenceAura : public CDOTA_Buff { public: - int32_t bonus_mana; // 0x12b8 - int32_t radius; // 0x12bc + int32_t bonus_mana; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Obsidian_Destroyer_EssenceAura_Effect : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t restore_chance; // 0x12bc - float restore_amount; // 0x12c0 + int32_t radius; // 0x12c8 + int32_t restore_chance; // 0x12cc + float restore_amount; // 0x12d0 }; // Alignment: 0 @@ -62241,16 +62715,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Obsidian_Destroyer_Mana_Allergy : public CDOTA_Buff { public: - int32_t percentage_damage; // 0x12b8 - int32_t percentage_heal; // 0x12bc + int32_t percentage_damage; // 0x12c8 + int32_t percentage_heal; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Obsidian_Destroyer_Sanity_Eclipse_Counter : public CDOTA_Buff { public: @@ -62258,7 +62732,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Obsidian_Destroyer_Sanity_Eclipse_Thinker : public CDOTA_Buff { public: @@ -62274,58 +62748,58 @@ public: }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium : public CDOTA_Buff { public: - 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 + int32_t proc_chance; // 0x12c8 + int32_t mana_restore; // 0x12cc + float mana_capacity_steal; // 0x12d0 + float mana_capacity_duration; // 0x12d4 + float shard_mana_duration; // 0x12d8 + float scepter_barrier_threshold; // 0x12dc + float scepter_barrier_duration; // 0x12e0 + float scepter_barrier_cooldown; // 0x12e4 + float scepter_max_mana_barrier_pct; // 0x12e8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Barrier : public CDOTA_Buff { public: - float barrier_amt; // 0x12b8 - int32_t m_nDamageAbsorbed; // 0x12bc + float barrier_amt; // 0x12c8 + int32_t m_nDamageAbsorbed; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_BonusMana : public CDOTA_Buff { public: - int32_t shard_bonus_mana; // 0x12b8 + int32_t shard_bonus_mana; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Debuff : public CDOTA_Buff { public: - int32_t mana_steal; // 0x12b8 - float m_flCurrentMana; // 0x12bc + int32_t mana_steal; // 0x12c8 + float m_flCurrentMana; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Buff : public CDOTA_Buff { public: - int32_t mana_steal; // 0x12b8 - float m_flCurrentMana; // 0x12bc + int32_t mana_steal; // 0x12c8 + float m_flCurrentMana; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Debuff_Counter : public CDOTA_Buff { public: @@ -62333,7 +62807,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Buff_Counter : public CDOTA_Buff { public: @@ -62389,12 +62863,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_ThunderClap : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 - int32_t attack_speed_slow; // 0x12bc + int32_t movement_slow; // 0x12c8 + int32_t attack_speed_slow; // 0x12cc }; // Alignment: 0 @@ -62406,12 +62880,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_DrunkenHaze : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 - int32_t miss_chance; // 0x12bc + int32_t movement_slow; // 0x12c8 + int32_t miss_chance; // 0x12cc }; // Alignment: 0 @@ -62423,24 +62897,24 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_BrewUp : public CDOTA_Buff { public: - bool m_bBuffExtended; // 0x12b8 + bool m_bBuffExtended; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Brewmaster_CinderBrew : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 - bool m_bIgniteActive; // 0x12bc + int32_t movement_slow; // 0x12c8 + bool m_bIgniteActive; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float m_flDamagePerTick; // 0x12c0 + float m_flDamagePerTick; // 0x12d0 }; // Alignment: 3 @@ -62459,58 +62933,58 @@ public: }; // Alignment: 14 -// Size: 0x12f0 +// Size: 0x1300 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 + int32_t dodge_chance; // 0x12c8 + int32_t crit_chance; // 0x12cc + int32_t crit_multiplier; // 0x12d0 + int32_t attack_speed; // 0x12d4 + int32_t active_multiplier; // 0x12d8 + int32_t stun_chance; // 0x12dc + float bash_cooldown; // 0x12e0 + float stun_duration; // 0x12e4 + float slow_duration; // 0x12e8 + int32_t bonus_move_speed; // 0x12ec + int32_t bonus_status_resist; // 0x12f0 + int32_t armor; // 0x12f4 + int32_t magic_resist; // 0x12f8 + float m_flLastBash; // 0x12fc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_Void_Brawler_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 - int32_t active_multiplier; // 0x12bc + int32_t movespeed; // 0x12c8 + int32_t active_multiplier; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_DrunkenBrawler_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 + int32_t movespeed; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Brewmaster_DrunkenBrawler : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + ParticleIndex_t m_nFXIndexB; // 0x12cc + int32_t min_movement; // 0x12d0 + int32_t max_movement; // 0x12d4 + int32_t m_iMovementBonus; // 0x12d8 + GameTime_t m_flNextUpdateTime; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Brewmaster_PrimalSplit_Scepter : public CDOTA_Buff { public: @@ -62518,11 +62992,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_PrimalSplitDelay : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 0 @@ -62534,33 +63008,33 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_Fire_Phase : public CDOTA_Buff { public: - int32_t status_resistance; // 0x12b8 + int32_t status_resistance; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_PrimalSplitDuration : public CDOTA_Buff { public: - int32_t bonus_brewling_hp; // 0x12b8 - int32_t bonus_damage; // 0x12bc + int32_t bonus_brewling_hp; // 0x12c8 + int32_t bonus_damage; // 0x12cc }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Brewmaster_PrimalSplit : public CDOTA_Buff { public: - 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 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + CHandle< CBaseEntity > m_hSecondaryTarget; // 0x12cc + CHandle< CBaseEntity > m_hTertiaryTarget; // 0x12d0 + CHandle< CBaseEntity > m_hFourthTarget; // 0x12d4 + CHandle< CBaseEntity > m_hReturnBrewling; // 0x12d8 + int32_t m_nFXIndex; // 0x12dc }; // Alignment: 2 @@ -62584,15 +63058,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_Void_AstralPulse : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Brewmaster_Void_Void_Strike : public CDOTA_Buff { public: @@ -62608,7 +63082,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Brewmaster_SpellImmunity : public CDOTA_Modifier_DebuffImmune { public: @@ -62624,11 +63098,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_Pulverize : public CDOTA_Buff { public: - int32_t bonus_building_damage; // 0x12b8 + int32_t bonus_building_damage; // 0x12c8 }; // Alignment: 0 @@ -62648,7 +63122,7 @@ public: }; // Alignment: 0 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Brewmaster_Cyclone : public CDOTA_Modifier_Cyclone { public: @@ -62664,12 +63138,12 @@ public: }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Brewmaster_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t bonus_movement_speeed; // 0x12c8 - int32_t bonus_damage; // 0x12cc + int32_t bonus_movement_speeed; // 0x12d8 + int32_t bonus_damage; // 0x12dc }; // Alignment: 0 @@ -62681,19 +63155,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_PermanentImmolation_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Brewmaster_PermanentImmolation : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 + int32_t damage; // 0x12c8 }; // Alignment: 0 @@ -62705,7 +63179,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Brewmaster_Fear : public CDOTA_Modifier_Fear { public: @@ -62721,22 +63195,22 @@ public: }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Brewmaster_Primal_Companion : public CDOTA_Buff { public: - 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 + float cooldown_on_death; // 0x12c8 + float cooldown_on_take_damage; // 0x12cc + int32_t disable_distance; // 0x12d0 + int32_t movement_slow_when_out_of_range; // 0x12d4 + bool m_bCanAttack; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - ParticleIndex_t m_nFxIndex; // 0x12cc - int32_t cooldown_penalty_pct; // 0x12d0 - int32_t bonus_brewling_hp; // 0x12d4 - int32_t bonus_damage; // 0x12d8 + ParticleIndex_t m_nFxIndex; // 0x12dc + int32_t cooldown_penalty_pct; // 0x12e0 + int32_t bonus_brewling_hp; // 0x12e4 + int32_t bonus_damage; // 0x12e8 }; // Alignment: 4 @@ -62751,16 +63225,16 @@ public: }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Brewmaster_Void_Astral_Pull_Movement : public CDOTA_Buff { public: - 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 + Vector m_vDirection; // 0x12c8 + float m_flEndTime; // 0x12d4 + float m_flCurTime; // 0x12d8 + int32_t pull_distance; // 0x12dc + int32_t damage; // 0x12e0 + float pull_duration; // 0x12e4 }; // Alignment: 1 @@ -62772,21 +63246,21 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Lycan_Wolf_Bite_Lifesteal : public CDOTA_Buff { public: - int32_t lifesteal_percent; // 0x12b8 - int32_t lifesteal_range; // 0x12bc - CUtlVector< CHandle< CBaseEntity > > m_vecTargets; // 0x12c0 + int32_t lifesteal_percent; // 0x12c8 + int32_t lifesteal_range; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > m_vecTargets; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lycan_Wolf_Bite_Attack_Range : public CDOTA_Buff { public: - int32_t attack_range; // 0x12b8 + int32_t attack_range; // 0x12c8 }; // Alignment: 4 @@ -62804,15 +63278,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lycan_Shard : public CDOTA_Buff { public: - float m_flNextSpawn; // 0x12b8 + float m_flNextSpawn; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lycan_Wolf_Uncontrollable : public CDOTA_Buff { public: @@ -62820,28 +63294,28 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lycan_SummonWolves_BonusDamage : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lycan_SummonWolves_Bash : public CDOTA_Buff { public: - int32_t bash_chance; // 0x12b8 - float bash_duration; // 0x12bc + int32_t bash_chance; // 0x12c8 + float bash_duration; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lycan_SummonWolves_Health : public CDOTA_Buff { public: - int32_t bonus_health; // 0x12b8 + int32_t bonus_health; // 0x12c8 }; // Alignment: 0 @@ -62853,23 +63327,23 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Lycan_SummonWolves_CriticalStrike : public CDOTA_Buff { public: - CountdownTimer m_CooldownTimer; // 0x12b8 - int32_t maim_chance; // 0x12d0 - float maim_duration; // 0x12d4 + CountdownTimer m_CooldownTimer; // 0x12c8 + int32_t maim_chance; // 0x12e0 + float maim_duration; // 0x12e4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Lycan_SummonWolves_Maim : public CDOTA_Buff { public: - int32_t maim_movement_speed; // 0x12b8 - int32_t maim_attack_speed; // 0x12bc - int32_t maim_damage; // 0x12c0 + int32_t maim_movement_speed; // 0x12c8 + int32_t maim_attack_speed; // 0x12cc + int32_t maim_damage; // 0x12d0 }; // Alignment: 0 @@ -62881,7 +63355,7 @@ public: }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Lycan_SummonWolves_PermanentInvisibility : public CDOTA_Modifier_PersistentInvisibility { public: @@ -62897,13 +63371,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Lycan_Howl : public CDOTA_Buff { public: - int32_t attack_damage_reduction; // 0x12b8 - int32_t total_attack_damage_reduction; // 0x12bc - int32_t armor; // 0x12c0 + int32_t attack_damage_reduction; // 0x12c8 + int32_t total_attack_damage_reduction; // 0x12cc + int32_t armor; // 0x12d0 }; // Alignment: 0 @@ -62915,20 +63389,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lycan_FeralImpulse_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lycan_FeralImpulse : public CDOTA_Buff { public: - int32_t bonus_hp_regen; // 0x12b8 - int32_t bonus_damage; // 0x12bc + int32_t bonus_hp_regen; // 0x12c8 + int32_t bonus_damage; // 0x12cc }; // Alignment: 0 @@ -62940,7 +63414,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lycan_Shapeshift_Transform : public CDOTA_Buff { public: @@ -62948,7 +63422,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lycan_Shapeshift_Thinker : public CDOTA_Buff { public: @@ -62956,28 +63430,28 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Lycan_Shapeshift : public CDOTA_Buff { public: - int32_t bonus_night_vision; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc - int32_t m_iOriginalAttackCapability; // 0x12c0 + int32_t bonus_night_vision; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + int32_t m_iOriginalAttackCapability; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Lycan_Shapeshift_Speed : public CDOTA_Buff { public: - int32_t speed; // 0x12b8 - int32_t crit_chance; // 0x12bc - int32_t crit_multiplier; // 0x12c0 - int32_t health_bonus; // 0x12c4 + int32_t speed; // 0x12c8 + int32_t crit_chance; // 0x12cc + int32_t crit_multiplier; // 0x12d0 + int32_t health_bonus; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lycan_Fear : public CDOTA_Modifier_Fear { public: @@ -62985,7 +63459,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Shadow_Demon_Disruption_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -63001,14 +63475,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Shadow_Demon_Disruption : public CDOTA_Buff { public: - float m_flHealth; // 0x12b8 - float m_flDisseminate_Duration; // 0x12bc - CHandle< CBaseEntity > m_hDisseminateAbility; // 0x12c0 - ParticleIndex_t m_nFXIndex; // 0x12c4 + float m_flHealth; // 0x12c8 + float m_flDisseminate_Duration; // 0x12cc + CHandle< CBaseEntity > m_hDisseminateAbility; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 }; // Alignment: 0 @@ -63020,28 +63494,28 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher : public CDOTA_Buff { public: - int32_t actual_health_lost; // 0x12b8 + int32_t actual_health_lost; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher_SpellAmp : public CDOTA_Buff { public: - int32_t num_heroes; // 0x12b8 - int32_t bonus_spell_amp; // 0x12bc + int32_t num_heroes; // 0x12c8 + int32_t bonus_spell_amp; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher_Illusion : public CDOTA_Buff { public: - CHandle< CBaseEntity > hTarget; // 0x12b8 + CHandle< CBaseEntity > hTarget; // 0x12c8 }; // Alignment: 0 @@ -63067,18 +63541,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Shadow_Demon_Shadow_Poison : public CDOTA_Buff { public: - float stack_damage; // 0x12b8 - float bonus_stack_damage; // 0x12bc - int32_t max_multiply_stacks; // 0x12c0 - ParticleIndex_t m_nFXStackIndex; // 0x12c4 + float stack_damage; // 0x12c8 + float bonus_stack_damage; // 0x12cc + int32_t max_multiply_stacks; // 0x12d0 + ParticleIndex_t m_nFXStackIndex; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Shadow_Demon_DemonicPurge_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -63102,7 +63576,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Shadow_Demon_Purge_Slow : public CDOTA_Buff { public: @@ -63118,27 +63592,27 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Shadow_Demon_Disseminate : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x12b8 - int32_t radius; // 0x12bc - GameTime_t m_flLastDispersionPulseEffectTime; // 0x12c0 + int32_t damage_reflection_pct; // 0x12c8 + int32_t radius; // 0x12cc + GameTime_t m_flLastDispersionPulseEffectTime; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_LoneDruid_SpiritBear_AttackCheck : public CDOTA_Buff { public: - bool m_bCanBeResummoned; // 0x12b8 - bool m_bCanAttack; // 0x12b9 + bool m_bCanBeResummoned; // 0x12c8 + bool m_bCanAttack; // 0x12c9 private: - [[maybe_unused]] uint8_t __pad12ba[0x2]; // 0x12ba + [[maybe_unused]] uint8_t __pad12ca[0x2]; // 0x12ca public: - ParticleIndex_t m_nFxIndex; // 0x12bc - ParticleIndex_t m_nStatusFxIndex; // 0x12c0 + ParticleIndex_t m_nFxIndex; // 0x12cc + ParticleIndex_t m_nStatusFxIndex; // 0x12d0 }; // Alignment: 3 @@ -63156,17 +63630,17 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Spirit_Bear_Attack_Damage : public CDOTA_Buff { public: - 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 + float bear_bat; // 0x12c8 + int32_t bear_magic_resistance; // 0x12cc + int32_t bonus_bear_hp; // 0x12d0 + int32_t bear_movespeed; // 0x12d4 + int32_t bonus_bear_armor; // 0x12d8 + int32_t hp_gain_per_druid_level; // 0x12dc + int32_t damage_gain_per_druid_level; // 0x12e0 }; // Alignment: 1 @@ -63186,7 +63660,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_LoneDruid_SpiritBear_Defender_Aura : public CDOTA_Buff { public: @@ -63194,11 +63668,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_LoneDruid_SpiritBear_Defender : public CDOTA_Buff { public: - int32_t damage_share; // 0x12b8 + int32_t damage_share; // 0x12c8 }; // Alignment: 0 @@ -63210,11 +63684,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_LoneDruid_Entangling_Claws : public CDOTA_Buff { public: - int32_t attack_amp; // 0x12b8 + int32_t attack_amp; // 0x12c8 }; // Alignment: 0 @@ -63226,23 +63700,23 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_LoneDruid_SpiritBear_Entangle : public CDOTA_Buff { public: - int32_t entangle_chance; // 0x12b8 - int32_t hero_entangle_chance; // 0x12bc - float hero_duration; // 0x12c0 + int32_t entangle_chance; // 0x12c8 + int32_t hero_entangle_chance; // 0x12cc + float hero_duration; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_LoneDruid_SpiritBear_Entangle_Effect : public CDOTA_Buff { public: - int32_t m_iEntangleDamage; // 0x12b8 - float interval_rate; // 0x12bc - int32_t damage; // 0x12c0 + int32_t m_iEntangleDamage; // 0x12c8 + float interval_rate; // 0x12cc + int32_t damage; // 0x12d0 }; // Alignment: 0 @@ -63254,13 +63728,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_LoneDruid_SpiritBear_Demolish : public CDOTA_Buff { public: - int32_t bonus_building_damage; // 0x12b8 - int32_t true_form_bonus_building_damage; // 0x12bc - int32_t spell_resistance; // 0x12c0 + int32_t bonus_building_damage; // 0x12c8 + int32_t true_form_bonus_building_damage; // 0x12cc + int32_t spell_resistance; // 0x12d0 }; // Alignment: 1 @@ -63272,12 +63746,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_LoneDruid_Rabid : public CDOTA_Buff { public: - int32_t shard_movement_speed_pct; // 0x12b8 - int32_t shard_attack_speed; // 0x12bc + int32_t shard_movement_speed_pct; // 0x12c8 + int32_t shard_attack_speed; // 0x12cc }; // Alignment: 0 @@ -63289,24 +63763,24 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_LoneDruid_SpiritLink : public CDOTA_Buff { public: - 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 + int32_t bonus_attack_speed; // 0x12c8 + int32_t lifesteal_percent; // 0x12cc + int32_t armor; // 0x12d0 + int32_t armor_sharing; // 0x12d4 + int32_t active_bonus; // 0x12d8 + CHandle< CBaseEntity > m_hTarget; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_LoneDruid_SpiritLink_Active : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 }; // Alignment: 0 @@ -63318,7 +63792,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_LoneDruid_TrueForm_Transform : public CDOTA_Buff { public: @@ -63326,21 +63800,21 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_LoneDruid_TrueForm : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 - int32_t bonus_hp; // 0x12bc - float base_attack_time; // 0x12c0 + int32_t bonus_armor; // 0x12c8 + int32_t bonus_hp; // 0x12cc + float base_attack_time; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_LoneDruid_SpiritLink_BearFear : public CDOTA_Modifier_Fear { public: - int32_t bonus_speed; // 0x12b8 + int32_t bonus_speed; // 0x12c8 }; // Alignment: 0 @@ -63352,7 +63826,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_LoneDruid_DruidForm_Transform : public CDOTA_Buff { public: @@ -63368,12 +63842,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_LoneDruid_TrueForm_BattleCry : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - int32_t bonus_armor; // 0x12bc + int32_t bonus_damage; // 0x12c8 + int32_t bonus_armor; // 0x12cc }; // Alignment: 0 @@ -63409,15 +63883,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_LoneDruid_SavageRoar : public CDOTA_Modifier_Fear { public: - int32_t bonus_speed; // 0x12b8 + int32_t bonus_speed; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_LoneDruid_SpiritBear_TowerKillTracker : public CDOTA_Buff { public: @@ -63433,43 +63907,43 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 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 + float tick_rate; // 0x12c8 + int32_t drag_distance; // 0x12cc + int32_t break_distance; // 0x12d0 + Vector vPreviousLocation; // 0x12d4 + CHandle< CDOTA_BaseNPC > m_hAnchor; // 0x12e0 }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 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 + int32_t self_slow; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + CHandle< CBaseEntity > m_hTarget; // 0x12d0 + bool m_bFetchingRune; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - Vector m_vPreviousLoc; // 0x12c8 - int32_t drag_distance; // 0x12d4 - int32_t break_distance; // 0x12d8 + Vector m_vPreviousLoc; // 0x12d8 + int32_t drag_distance; // 0x12e4 + int32_t break_distance; // 0x12e8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t max_ticks; // 0x12c8 + float damage; // 0x12cc + float duration; // 0x12d0 + float tick_rate; // 0x12d4 }; // Alignment: 1 @@ -63494,11 +63968,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ChaosKnight_Reality_Rift_Debuff : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x12b8 + int32_t armor_reduction; // 0x12c8 }; // Alignment: 0 @@ -63510,29 +63984,29 @@ public: }; // Alignment: 8 -// Size: 0x12f0 +// Size: 0x1300 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 + float creep_multiplier; // 0x12c8 + float creep_lifesteal_reduction_pct; // 0x12cc + int32_t crit_min; // 0x12d0 + int32_t crit_max; // 0x12d4 + int32_t lifesteal; // 0x12d8 + float chance; // 0x12dc + int32_t m_nNextCrit; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< int16 > m_vCritRecords; // 0x12d8 + CUtlVector< int16 > m_vCritRecords; // 0x12e8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ChaosKnight_Chaos_Strike_Debuff : public CDOTA_Buff { public: - int32_t maim_slow; // 0x12b8 + int32_t maim_slow; // 0x12c8 }; // Alignment: 0 @@ -63544,7 +64018,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_ChaosKnight_Phantasm : public CDOTA_Buff { public: @@ -63552,7 +64026,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_ChaosKnight_Phantasm_Illusion : public CDOTA_Buff { public: @@ -63560,7 +64034,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_ChaosKnight_Phantasm_Illusion_Shard : public CDOTA_Modifier_ChaosKnight_Phantasm_Illusion { public: @@ -63640,7 +64114,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Meepo_Earthbind : public CDOTA_Buff { public: @@ -63648,7 +64122,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Meepo_Earthbind_ChainDuration : public CDOTA_Buff { public: @@ -63664,7 +64138,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Meepo_Self_Geostrike : public CDOTA_Buff { public: @@ -63672,12 +64146,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Meepo_Geostrike_Debuff : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 - int32_t damage; // 0x12bc + int32_t slow; // 0x12c8 + int32_t damage; // 0x12cc }; // Alignment: 5 @@ -63697,28 +64171,28 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Meepo_Flung : public CDOTA_Buff { public: - int32_t m_nHandle; // 0x12b8 + int32_t m_nHandle; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Meepo_Fling_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Meepo_Divided_We_Stand : public CDOTA_Buff { public: - float respawn; // 0x12b8 - float magic_resist; // 0x12bc + float respawn; // 0x12c8 + float magic_resist; // 0x12cc }; // Alignment: 2 @@ -63734,21 +64208,21 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Meepo_Poof_Damage_Sharing : public CDOTA_Buff { public: - int32_t damage_share_percentage; // 0x12b8 - int32_t damage_share_radius; // 0x12bc - CUtlVector< CHandle< CBaseEntity > > m_BondedEntities; // 0x12c0 + int32_t damage_share_percentage; // 0x12c8 + int32_t damage_share_radius; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > m_BondedEntities; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Meepo_Poof_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 0 @@ -63760,12 +64234,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Meepo_Ransack : public CDOTA_Buff { public: - int32_t health_steal_heroes; // 0x12b8 - int32_t health_steal_creeps; // 0x12bc + int32_t health_steal_heroes; // 0x12c8 + int32_t health_steal_creeps; // 0x12cc }; // Alignment: 0 @@ -63809,7 +64283,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Unique_Meepo_5 : public CDOTA_Buff { public: @@ -63825,7 +64299,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Meepo_Poof_Casting : public CDOTA_Buff { public: @@ -63852,34 +64326,35 @@ public: }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Meepo_MegaMeepo : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + float m_flOffset; // 0x12cc + QAngle m_vStartAngles; // 0x12d0 + Vector m_vStartLocation; // 0x12dc + float animation_rate; // 0x12e8 + bool m_bInterrupted; // 0x12ec + bool m_bHasBeenDestroyed; // 0x12ed + bool m_bIsHighestMeepo; // 0x12ee }; -// Alignment: 5 -// Size: 0x12d0 +// Alignment: 6 +// Size: 0x12e0 class CDOTA_Modifier_Meepo_MegaMeepo_Self : public CDOTA_Buff { public: - 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 + int32_t base_strength; // 0x12c8 + int32_t base_int; // 0x12cc + int32_t base_agi; // 0x12d0 + int32_t stats_pct; // 0x12d4 + CHandle< CBaseEntity > m_hMegameepoFrame; // 0x12d8 + bool m_bWasOutOfGame; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Meepo_MegaMeepo_Frame_Invulnerable : public CDOTA_Buff { public: @@ -63903,12 +64378,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Meepo_Petrify : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t hp_restore; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t hp_restore; // 0x12cc }; // Alignment: 1 @@ -63920,18 +64395,18 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Treant_EyesInTheForest_Thinker : public CDOTA_Buff { public: - float vision_aoe; // 0x12b8 + float vision_aoe; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CDOTA_Tree* m_Tree; // 0x12c0 - CHandle< CBaseEntity > m_hTree; // 0x12c8 - ParticleIndex_t m_nFXIndex; // 0x12cc - bool m_bUpgradedVision; // 0x12d0 + CDOTA_Tree* m_Tree; // 0x12d0 + CHandle< CBaseEntity > m_hTree; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc + bool m_bUpgradedVision; // 0x12e0 }; // Alignment: 0 @@ -63943,46 +64418,46 @@ public: }; // Alignment: 8 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Treant_NaturesGrasp_Creation_Thinker : public CDOTA_Buff { public: - 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 + float creation_interval; // 0x12c8 + float vines_duration; // 0x12cc + int32_t vine_spawn_interval; // 0x12d0 + Vector m_vInitialLoc; // 0x12d4 + Vector m_vFinalLoc; // 0x12e0 + int32_t m_iVineCount; // 0x12ec + int32_t m_iVinesIndex; // 0x12f0 + bool m_bFoundTree; // 0x12f4 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Treant_NaturesGrasp_Latch_Thinker : public CDOTA_Buff { public: - int32_t latch_range; // 0x12b8 - int32_t latch_vision; // 0x12bc - float initial_latch_delay; // 0x12c0 + int32_t latch_range; // 0x12c8 + int32_t latch_vision; // 0x12cc + float initial_latch_delay; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x8]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x8]; // 0x12d4 public: - bool m_bBonus; // 0x12cc + bool m_bBonus; // 0x12dc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Treant_NaturesGrasp_Damage : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 - int32_t damage_per_second; // 0x12bc - float tick_interval; // 0x12c0 + int32_t movement_slow; // 0x12c8 + int32_t damage_per_second; // 0x12cc + float tick_interval; // 0x12d0 }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Treant_NaturesGrasp_Damage_Bonus : public CDOTA_Modifier_Treant_NaturesGrasp_Damage { public: @@ -64007,11 +64482,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Treant_Lifebomb_Explode : public CDOTA_Buff { public: - GameTime_t flStartTime; // 0x12b8 + GameTime_t flStartTime; // 0x12c8 }; // Alignment: 0 @@ -64023,26 +64498,26 @@ public: }; // Alignment: 3 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Treant_NaturesGuise : public CDOTA_Buff { public: - CountdownTimer m_RevealTimer; // 0x12b8 - CountdownTimer m_InvisAttackTimer; // 0x12d0 - CountdownTimer m_CooldownTimer; // 0x12e8 + CountdownTimer m_RevealTimer; // 0x12c8 + CountdownTimer m_InvisAttackTimer; // 0x12e0 + CountdownTimer m_CooldownTimer; // 0x12f8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Treant_NaturesGuise_Tree_Walking : public CDOTA_Buff { public: - int32_t movement_bonus; // 0x12b8 - int32_t regen_amp; // 0x12bc + int32_t movement_bonus; // 0x12c8 + int32_t regen_amp; // 0x12cc }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Treant_NaturesGuise_Invis : public CDOTA_Modifier_Invisible { public: @@ -64050,7 +64525,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Treant_NaturesGuise_NearTreeDisplay : public CDOTA_Buff { public: @@ -64058,11 +64533,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Treant_NaturesGuise_Root : public CDOTA_Buff { public: - float m_flEntangleDamage; // 0x12b8 + float m_flEntangleDamage; // 0x12c8 }; // Alignment: 0 @@ -64074,23 +64549,23 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Treant_LeechSeed : public CDOTA_Buff { public: - float damage_interval; // 0x12b8 - int32_t leech_damage; // 0x12bc - int32_t movement_slow; // 0x12c0 - int32_t radius; // 0x12c4 - int32_t projectile_speed; // 0x12c8 + float damage_interval; // 0x12c8 + int32_t leech_damage; // 0x12cc + int32_t movement_slow; // 0x12d0 + int32_t radius; // 0x12d4 + int32_t projectile_speed; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Treant_LeechSeed_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 0 @@ -64102,12 +64577,12 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Treant_LivingArmor : public CDOTA_Buff { public: - int32_t heal_per_second; // 0x12b8 - int32_t bonus_armor; // 0x12bc + int32_t heal_per_second; // 0x12c8 + int32_t bonus_armor; // 0x12cc }; // Alignment: 0 @@ -64119,22 +64594,22 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Treant_Overgrowth : public CDOTA_Buff { public: - float damage; // 0x12b8 - int32_t mute; // 0x12bc - bool bPurgable; // 0x12c0 + float damage; // 0x12c8 + int32_t mute; // 0x12cc + bool bPurgable; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ogre_Magi_Arcana : public CDOTA_Buff { public: - int32_t m_nLastMulticastCount; // 0x12b8 - int32_t m_nMulticastStreakCount; // 0x12bc + int32_t m_nLastMulticastCount; // 0x12c8 + int32_t m_nMulticastStreakCount; // 0x12cc }; // Alignment: 0 @@ -64162,7 +64637,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Ogre_Magi_Fireblast_Attack_Proc : public CDOTA_Buff { public: @@ -64170,13 +64645,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Ogre_Magi_Fireblast_Multicast : public CDOTA_Buff { public: - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x12b8 - float multicast_delay; // 0x12bc - int32_t m_nMultiCastCount; // 0x12c0 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x12c8 + float multicast_delay; // 0x12cc + int32_t m_nMultiCastCount; // 0x12d0 }; // Alignment: 2 @@ -64189,23 +64664,23 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ogre_Magi_Ignite : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x12b8 - int32_t burn_damage; // 0x12bc + int32_t slow_movement_speed_pct; // 0x12c8 + int32_t burn_damage; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Ogre_Magi_Ignite_Multicast : public CDOTA_Buff { public: - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x12b8 - float multicast_delay; // 0x12bc - int32_t m_nMultiCastCount; // 0x12c0 - int32_t ignite_multicast_aoe; // 0x12c4 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x12c8 + float multicast_delay; // 0x12cc + int32_t m_nMultiCastCount; // 0x12d0 + int32_t ignite_multicast_aoe; // 0x12d4 }; // Alignment: 0 @@ -64217,7 +64692,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Ogre_Magi_Bloodlust_Autocast : public CDOTA_Buff { public: @@ -64225,18 +64700,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Ogre_Magi_Bloodlust : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_movement_speed; // 0x12bc - int32_t self_bonus; // 0x12c0 - float modelscale; // 0x12c4 + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_movement_speed; // 0x12cc + int32_t self_bonus; // 0x12d0 + float modelscale; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Ogre_Magi_Item_Multicast : public CDOTA_Buff { public: @@ -64252,13 +64727,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Ogre_Magi_Smash_Buff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t attacks; // 0x12bc - int32_t damage; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t attacks; // 0x12cc + int32_t damage; // 0x12d0 }; // Alignment: 0 @@ -64270,24 +64745,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ogre_Magi_DumbLuck : public CDOTA_Buff { public: - float mana_per_str; // 0x12b8 - float mana_regen_per_str; // 0x12bc + float mana_per_str; // 0x12c8 + float mana_regen_per_str; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float health_threshold_pct; // 0x12bc - float duration; // 0x12c0 - CHandle< CDOTABaseAbility > m_hTombstoneSourceAbility; // 0x12c4 - CHandle< CBaseEntity > m_hChaseUnit; // 0x12c8 + int32_t radius; // 0x12c8 + float health_threshold_pct; // 0x12cc + float duration; // 0x12d0 + CHandle< CDOTABaseAbility > m_hTombstoneSourceAbility; // 0x12d4 + CHandle< CBaseEntity > m_hChaseUnit; // 0x12d8 }; // Alignment: 5 @@ -64303,27 +64778,27 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Undying_Decay_Shard : public CDOTA_Buff { public: - float shard_buff_duration; // 0x12b8 + float shard_buff_duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< GameTime_t > m_vecStackExpirationTimes; // 0x12c0 + CUtlVector< GameTime_t > m_vecStackExpirationTimes; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Undying_Decay_Debuff : public CDOTA_Buff { public: - int32_t str_steal; // 0x12b8 + int32_t str_steal; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Undying_Decay_DebuffCounter : public CDOTA_Buff { public: @@ -64331,7 +64806,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Undying_Decay_BuffCounter : public CDOTA_Buff { public: @@ -64339,12 +64814,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Undying_Decay_Buff : public CDOTA_Buff { public: - int32_t str_steal; // 0x12b8 - int32_t str_scale_up; // 0x12bc + int32_t str_steal; // 0x12c8 + int32_t str_scale_up; // 0x12cc }; // Alignment: 4 @@ -64359,20 +64834,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 - float m_flDecrementTime; // 0x12bc + int32_t slow; // 0x12c8 + float m_flDecrementTime; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike_Slow_Counter : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 0 @@ -64384,16 +64859,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathlust : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc + int32_t bonus_move_speed; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Undying_Tombstone_Zombie_Modifier : public CDOTA_Buff { public: @@ -64401,15 +64876,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Undying_Tombstone_Bunker : public CDOTA_Buff { public: - 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 + float bunker_heal_pct; // 0x12c8 + float tombstone_grab_radius; // 0x12cc + float tombstone_stun_penalty; // 0x12d0 + CHandle< CBaseEntity > m_hLoadedUnit; // 0x12d4 + ParticleIndex_t m_nBunkerEnterFXIndex; // 0x12d8 }; // Alignment: 4 @@ -64440,26 +64915,26 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float zombie_interval; // 0x12bc + int32_t radius; // 0x12c8 + float zombie_interval; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Undying_Tombstone_HP : public CDOTA_Buff { public: - int32_t tombstone_health; // 0x12b8 - int32_t zombie_damage_interval; // 0x12bc - int32_t m_nDamageCounter; // 0x12c0 + int32_t tombstone_health; // 0x12c8 + int32_t zombie_damage_interval; // 0x12cc + int32_t m_nDamageCounter; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Undying_Tombstone_Bunker_Cooldown : public CDOTA_Buff { public: @@ -64467,7 +64942,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Undying_Tombstone_Bunker_Friendly : public CDOTA_Buff { public: @@ -64483,35 +64958,35 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Undying_FleshGolem : public CDOTA_Buff { public: - int32_t str_percentage; // 0x12b8 - int32_t movement_bonus; // 0x12bc + int32_t str_percentage; // 0x12c8 + int32_t movement_bonus; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Undying_FleshGolem_Slow : public CDOTA_Buff { public: - int32_t damage_amp; // 0x12b8 - int32_t slow; // 0x12bc + int32_t damage_amp; // 0x12c8 + int32_t slow; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Undying_FleshGolem_PlagueAura : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 - int32_t damage; // 0x12bc - float tick_rate; // 0x12c0 + int32_t slow; // 0x12c8 + int32_t damage; // 0x12cc + float tick_rate; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Undying_Tombstone_Death_Trigger : public CDOTA_Buff { public: @@ -64598,23 +65073,23 @@ public: }; // Alignment: 10 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Rubick_Telekinesis : public CDOTA_Buff { public: - 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 + GameTime_t m_fStartTime; // 0x12c8 + GameTime_t m_fEndTime; // 0x12cc + float m_fTargetHeight; // 0x12d0 + float m_fCurHeight; // 0x12d4 + Vector m_vStartLoc; // 0x12d8 + Vector m_vCurLoc; // 0x12e4 + int32_t max_land_distance; // 0x12f0 + float fall_duration; // 0x12f4 + bool m_bOverrideDuration; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 + [[maybe_unused]] uint8_t __pad12f9[0x3]; // 0x12f9 public: - float m_flOverrideDuration; // 0x12ec + float m_flOverrideDuration; // 0x12fc }; // Alignment: 1 @@ -64642,21 +65117,21 @@ public: }; // Alignment: 7 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Rubick_FadeBolt : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t damage; // 0x12cc + int32_t jump_damage_reduction_pct; // 0x12d0 + float jump_delay; // 0x12d4 + int32_t m_iCurJumpCount; // 0x12d8 + Vector m_vCurTargetLoc; // 0x12dc + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12e8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rubick_Telekinesis_Stun : public CDOTA_Modifier_Stunned { public: @@ -64664,15 +65139,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rubick_FadeBoltDebuff : public CDOTA_Buff { public: - int32_t attack_damage_reduction; // 0x12b8 + int32_t attack_damage_reduction; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Rubick_FadeBolt_BuffCounter : public CDOTA_Buff { public: @@ -64680,12 +65155,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rubick_FadeBoltBuff : public CDOTA_Buff { public: - int32_t attack_damage_bonus; // 0x12b8 - int32_t attack_damage_reduction; // 0x12bc + int32_t attack_damage_bonus; // 0x12c8 + int32_t attack_damage_reduction; // 0x12cc }; // Alignment: 0 @@ -64697,20 +65172,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rubick_NullField : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rubick_NullField_Effect : public CDOTA_Buff { public: - int32_t magic_damage_reduction_pct; // 0x12b8 - bool m_bWasHidden; // 0x12bc + int32_t magic_damage_reduction_pct; // 0x12c8 + bool m_bWasHidden; // 0x12cc }; // Alignment: 6 @@ -64729,17 +65204,17 @@ public: }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Rubick_SpellSteal : public CDOTA_Buff { public: - CUtlString m_strActivityModifier; // 0x12b8 - CUtlVector< CHandle< CBaseEntity > > m_vecAbilities; // 0x12c0 - bool m_bUsesTwoSlots; // 0x12d8 + CUtlString m_strActivityModifier; // 0x12c8 + CUtlVector< CHandle< CBaseEntity > > m_vecAbilities; // 0x12d0 + bool m_bUsesTwoSlots; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - int32_t stolen_debuff_amp; // 0x12dc + int32_t stolen_debuff_amp; // 0x12ec }; // Alignment: 0 @@ -64791,12 +65266,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Rubick_Arcane_Supremacy : public CDOTA_Buff { public: - int32_t cast_range; // 0x12b8 - int32_t spell_amp; // 0x12bc + int32_t cast_range; // 0x12c8 + int32_t spell_amp; // 0x12cc }; // Alignment: 0 @@ -64872,39 +65347,39 @@ public: }; // Alignment: 9 -// Size: 0x12d8 +// Size: 0x12e8 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 - GameTime_t m_flGroundDelayEndTime; // 0x12c8 - bool is_thinker; // 0x12cc - bool m_bTransferred; // 0x12cd + float strike_interval; // 0x12c8 + int32_t radius; // 0x12cc + int32_t strike_damage; // 0x12d0 + int32_t strike_damage_bonus; // 0x12d4 + GameTime_t m_flGroundDelayEndTime; // 0x12d8 + bool is_thinker; // 0x12dc + bool m_bTransferred; // 0x12dd private: - [[maybe_unused]] uint8_t __pad12ce[0x2]; // 0x12ce + [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de public: - int32_t m_nThinkerViewer; // 0x12d0 - int32_t m_nStrikeCount; // 0x12d4 + int32_t m_nThinkerViewer; // 0x12e0 + int32_t m_nStrikeCount; // 0x12e4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Disruptor_Thunder_Strike_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x12b8 + int32_t slow_amount; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 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 + int32_t shard_movement_speed_bonus; // 0x12c8 + int32_t shard_attack_speed_bonus; // 0x12cc }; // Alignment: 1 @@ -64918,21 +65393,21 @@ public: }; // Alignment: 1 -// Size: 0x1390 +// Size: 0x13a0 class CDOTA_Modifier_Disruptor_Glimpse : public CDOTA_Buff { public: - Vector m_PositionIndex[18]; // 0x12b8 + Vector m_PositionIndex[18]; // 0x12c8 }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Disruptor_Glimpse_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x12b8 - CHandle< CBaseEntity > m_hEntity; // 0x12c4 - float m_flDistance; // 0x12c8 + Vector m_vStartLoc; // 0x12c8 + CHandle< CBaseEntity > m_hEntity; // 0x12d4 + float m_flDistance; // 0x12d8 }; // Alignment: 0 @@ -64944,27 +65419,27 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Disruptor_KineticFieldThinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float formation_time; // 0x12bc - bool m_bActive; // 0x12c0 + int32_t radius; // 0x12c8 + float formation_time; // 0x12cc + bool m_bActive; // 0x12d0 }; // Alignment: 4 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Disruptor_KineticField : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - Vector m_vOriginLoc; // 0x12bc - bool m_bTruesight; // 0x12c8 + int32_t radius; // 0x12c8 + Vector m_vOriginLoc; // 0x12cc + bool m_bTruesight; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - float damage_per_second; // 0x12cc + float damage_per_second; // 0x12dc }; // Alignment: 0 @@ -64976,31 +65451,31 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Disruptor_StaticStormThinker : public CDOTA_Buff { public: - 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 + int32_t m_nCurrentPulse; // 0x12c8 + int32_t radius; // 0x12cc + int32_t damage_max; // 0x12d0 + int32_t pulses; // 0x12d4 + float duration; // 0x12d8 + bool m_bHasGrantedThreeHeroKillEater; // 0x12dc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Disruptor_StaticStorm : public CDOTA_Buff { public: - int32_t miss_rate; // 0x12b8 - int32_t movement_speed_reduction; // 0x12bc - int32_t attack_speed_reduction; // 0x12c0 - bool m_bHasScepter; // 0x12c4 + int32_t miss_rate; // 0x12c8 + int32_t movement_speed_reduction; // 0x12cc + int32_t attack_speed_reduction; // 0x12d0 + bool m_bHasScepter; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Disruptor_StaticStormMute : public CDOTA_Buff { public: @@ -65093,14 +65568,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Nyx_Assassin_Impale : public CDOTA_Buff { public: - int32_t impale_damage; // 0x12b8 - float m_flStartZ; // 0x12bc - float m_flCurTime; // 0x12c0 - bool m_bDamageApplied; // 0x12c4 + int32_t impale_damage; // 0x12c8 + float m_flStartZ; // 0x12cc + float m_flCurTime; // 0x12d0 + bool m_bDamageApplied; // 0x12d4 }; // Alignment: 1 @@ -65121,14 +65596,14 @@ public: }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Nyx_Assassin_Burrow : public CDOTA_Modifier_Invisible { public: - float health_regen_rate; // 0x12c8 - float mana_regen_rate; // 0x12cc - int32_t damage_reduction; // 0x12d0 - Vector m_vecInitialPos; // 0x12d4 + float health_regen_rate; // 0x12d8 + float mana_regen_rate; // 0x12dc + int32_t damage_reduction; // 0x12e0 + Vector m_vecInitialPos; // 0x12e4 }; // Alignment: 0 @@ -65148,15 +65623,15 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Nyx_Assassin_SpikedCarapace : public CDOTA_Buff { public: - float stun_duration; // 0x12b8 + float stun_duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< CHandle< CBaseEntity > > m_hProcessedEnemies; // 0x12c0 + CUtlVector< CHandle< CBaseEntity > > m_hProcessedEnemies; // 0x12d0 }; // Alignment: 0 @@ -65167,28 +65642,33 @@ public: // No members available }; -// Alignment: 5 -// Size: 0x12e0 +// Alignment: 7 +// Size: 0x12f8 class CDOTA_Modifier_Nyx_Assassin_Vendetta : public CDOTA_Modifier_Invisible { public: - 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 + int32_t bonus_damage; // 0x12d8 + int32_t movement_speed; // 0x12dc + int32_t shard_movement_speed_bonus; // 0x12e0 + int32_t mana_removal_pct; // 0x12e4 + bool m_bFreePathing; // 0x12e8 +private: + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 +public: + int32_t attack_animation_bonus; // 0x12ec + int32_t attack_range_bonus; // 0x12f0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Nyx_Assassin_Vendetta_Armor_Reduction : public CDOTA_Buff { public: - int32_t shard_magic_resist_reduction; // 0x12b8 + int32_t shard_magic_resist_reduction; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Nyx_Assassin_Vendetta_Break : public CDOTA_Buff { public: @@ -65196,7 +65676,7 @@ public: }; // Alignment: 0 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Nyx_Assassin_Jolt_Damage_Tracker : public CDOTA_Buff { public: @@ -65216,11 +65696,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Nyx_Assassin_Jolt_Debuff : public CDOTA_Buff { public: - int32_t resist_debuff; // 0x12b8 + int32_t resist_debuff; // 0x12c8 }; // Alignment: 1 @@ -65232,7 +65712,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_NagaSiren_MirrorImage : public CDOTA_Buff { public: @@ -65248,7 +65728,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_NagaSiren_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -65264,7 +65744,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_NagaSiren_RipTide_Passive : public CDOTA_Buff { public: @@ -65272,7 +65752,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_NagaSiren_RipTideCounter : public CDOTA_Buff { public: @@ -65280,15 +65760,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_NagaSiren_RipTide : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x12b8 + int32_t armor_reduction; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_NagaSiren_RipTide_Slow : public CDOTA_Buff { public: @@ -65304,12 +65784,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_NagaSiren_Crit_Passive : public CDOTA_Buff { public: - int32_t chance; // 0x12b8 - int32_t crit; // 0x12bc + int32_t chance; // 0x12c8 + int32_t crit; // 0x12cc }; // Alignment: 0 @@ -65329,25 +65809,25 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t m_nAffectedEnemies; // 0x12bc - CUtlVector< CHandle< CBaseEntity > > m_vhAffectedHeroes; // 0x12c0 + int32_t radius; // 0x12c8 + int32_t m_nAffectedEnemies; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > m_vhAffectedHeroes; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_NagaSiren_SongOfTheSiren : public CDOTA_Buff { public: - float animation_rate; // 0x12b8 + float animation_rate; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_IgnoreMe : public CDOTA_Buff { public: @@ -65355,21 +65835,21 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_Healing_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t m_nAffectedAllies; // 0x12bc - CUtlVector< CHandle< CBaseEntity > > m_vhAffectedHeroes; // 0x12c0 + int32_t radius; // 0x12c8 + int32_t m_nAffectedAllies; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > m_vhAffectedHeroes; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class NagaSiren_SongOfTheSiren_Healing : public CDOTA_Buff { public: - int32_t heal_pct; // 0x12b8 + int32_t heal_pct; // 0x12c8 }; // Alignment: 1 @@ -65381,13 +65861,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Naga_Siren_Reel_In : public CDOTA_Buff { public: - float pull_strength; // 0x12b8 - int32_t min_pull_distance; // 0x12bc - GameTime_t m_flLastThinkTime; // 0x12c0 + float pull_strength; // 0x12c8 + int32_t min_pull_distance; // 0x12cc + GameTime_t m_flLastThinkTime; // 0x12d0 }; // Alignment: 7 @@ -65405,20 +65885,20 @@ public: }; // Alignment: 10 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_KeeperOfTheLight_Illuminate : public CDOTA_Buff { public: - 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 + int32_t range; // 0x12c8 + int32_t total_damage; // 0x12cc + int32_t radius; // 0x12d0 + int32_t channel_vision_radius; // 0x12d4 + float channel_vision_interval; // 0x12d8 + float channel_vision_duration; // 0x12dc + int32_t channel_vision_step; // 0x12e0 + GameTime_t m_flLastChantTime; // 0x12e4 + Vector m_vNextVisionLocation; // 0x12e8 + Vector m_vCastDirection; // 0x12f4 }; // Alignment: 0 @@ -65443,30 +65923,30 @@ public: }; // Alignment: 20 -// Size: 0x1330 +// Size: 0x1340 class CDOTA_Modifier_KeeperOfTheLight_SpiritForm_Illuminate : public CDOTA_Buff { public: - 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 + int32_t range; // 0x12c8 + int32_t vision_radius; // 0x12cc + int32_t radius; // 0x12d0 + int32_t total_damage; // 0x12d4 + float max_channel_time; // 0x12d8 + float speed; // 0x12dc + float vision_duration; // 0x12e0 + int32_t channel_vision_radius; // 0x12e4 + float channel_vision_interval; // 0x12e8 + float channel_vision_duration; // 0x12ec + int32_t channel_vision_step; // 0x12f0 + Vector m_vCastLoc; // 0x12f4 + Vector m_vTargetLoc; // 0x1300 + GameTime_t m_fStartTime; // 0x130c + QAngle m_qCastAngle; // 0x1310 + int32_t m_iProjectile; // 0x131c + ParticleIndex_t m_nFXIndex; // 0x1320 + ParticleIndex_t m_nFXIndexB; // 0x1324 + Vector m_vNextVisionLocation; // 0x1328 + Vector m_vCastDirection; // 0x1334 }; // Alignment: 0 @@ -65486,17 +65966,17 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_KeeperOfTheLight_ManaLeak : public CDOTA_Buff { public: - float mana_leak_pct; // 0x12b8 - Vector vLastPos; // 0x12bc - bool bResetPosition; // 0x12c8 + float mana_leak_pct; // 0x12c8 + Vector vLastPos; // 0x12cc + bool bResetPosition; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - float m_fAccumulatedManaLeak; // 0x12cc + float m_fAccumulatedManaLeak; // 0x12dc }; // Alignment: 0 @@ -65508,42 +65988,42 @@ public: }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_KeeperOfTheLight_Radiant_Bind : public CDOTA_Buff { public: - float slow; // 0x12b8 - int32_t magic_resistance; // 0x12bc - Vector vLastPos; // 0x12c0 - bool bResetPosition; // 0x12cc + float slow; // 0x12c8 + int32_t magic_resistance; // 0x12cc + Vector vLastPos; // 0x12d0 + bool bResetPosition; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - float m_fAccumulatedDistance; // 0x12d0 - ParticleIndex_t m_nFXIndex; // 0x12d4 - ParticleIndex_t m_nStatusFXIndex; // 0x12d8 + float m_fAccumulatedDistance; // 0x12e0 + ParticleIndex_t m_nFXIndex; // 0x12e4 + ParticleIndex_t m_nStatusFXIndex; // 0x12e8 }; // Alignment: 12 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_KeeperOfTheLight_Will_O_Wisp_Aura : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + float off_duration; // 0x12cc + float off_duration_initial; // 0x12d0 + float on_duration; // 0x12d4 + int32_t hit_count; // 0x12d8 + int32_t m_iAttackCount; // 0x12dc + GameTime_t m_flNextTimeOn; // 0x12e0 + bool m_bActive; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - ParticleIndex_t m_nFXIndex; // 0x12d8 - ParticleIndex_t m_nFXIndexB; // 0x12dc - GameTime_t m_flNextTime; // 0x12e0 - float m_flCorrectionTime; // 0x12e4 + ParticleIndex_t m_nFXIndex; // 0x12e8 + ParticleIndex_t m_nFXIndexB; // 0x12ec + GameTime_t m_flNextTime; // 0x12f0 + float m_flCorrectionTime; // 0x12f4 }; // Alignment: 0 @@ -65555,12 +66035,12 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_KeeperOfTheLight_Will_O_Wisp : public CDOTA_Buff { public: - int32_t fixed_movement_speed; // 0x12b8 - Vector m_vSource; // 0x12bc + int32_t fixed_movement_speed; // 0x12c8 + Vector m_vSource; // 0x12cc }; // Alignment: 0 @@ -65572,14 +66052,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_KeeperOfTheLight_SpiritForm : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndexA; // 0x12b8 - int32_t movement_speed; // 0x12bc - int32_t cast_range; // 0x12c0 - bool m_bDidSwapSpiritForm; // 0x12c4 + ParticleIndex_t m_nFXIndexA; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t cast_range; // 0x12d0 + bool m_bDidSwapSpiritForm; // 0x12d4 }; // Alignment: 0 @@ -65599,11 +66079,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_KeeperOfTheLight_Recall : public CDOTA_Buff { public: - bool m_bWasAttacked; // 0x12b8 + bool m_bWasAttacked; // 0x12c8 }; // Alignment: 0 @@ -65615,24 +66095,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_KeeperOfTheLight_BlindingLight_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_KeeperOfTheLight_BlindingLight : public CDOTA_Buff { public: - int32_t miss_rate; // 0x12b8 + int32_t miss_rate; // 0x12c8 }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_BlindingLight_Knockback : public CDOTA_Modifier_Knockback { public: @@ -65752,12 +66232,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Wisp_Tentacles : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - CHandle< CBaseEntity > hCurrentEntity; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c8 + CHandle< CBaseEntity > hCurrentEntity; // 0x12cc }; // Alignment: 5 @@ -65779,11 +66259,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Wisp_Tether_Spell_Lifesteal : public CDOTA_Buff { public: - float shard_bonus_spell_lifesteal; // 0x12b8 + float shard_bonus_spell_lifesteal; // 0x12c8 }; // Alignment: 0 @@ -65795,34 +66275,34 @@ public: }; // Alignment: 14 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Wisp_Tether : public CDOTA_Buff { public: - bool m_bInManaGained; // 0x12b8 + bool m_bInManaGained; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + CHandle< CBaseEntity > m_hTarget; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > hStunnedEntities; // 0x12d0 + float stun_duration; // 0x12e8 + int32_t movespeed; // 0x12ec + int32_t self_bonus; // 0x12f0 + bool m_bIsInRange; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - 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 + int32_t radius; // 0x12f8 + int32_t latch_distance; // 0x12fc + float m_flHealthHealed; // 0x1300 + float m_flManaHealed; // 0x1304 + float tether_heal_amp; // 0x1308 + GameTime_t m_flHealMessageTime; // 0x130c + GameTime_t m_flManaMessageTime; // 0x1310 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Wisp_Tether_Stun_Tracker : public CDOTA_Buff { public: @@ -65830,24 +66310,24 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Wisp_Tether_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Wisp_Tether_Haste : public CDOTA_Buff { public: - float movespeed; // 0x12b8 - float shard_bonus_spell_lifesteal; // 0x12bc + float movespeed; // 0x12c8 + float shard_bonus_spell_lifesteal; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Wisp_Tether_Scepter : public CDOTA_Buff { public: @@ -65863,7 +66343,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Wisp_Spirit_Invulnerable : public CDOTA_Buff { public: @@ -65879,36 +66359,36 @@ public: }; // Alignment: 15 -// Size: 0x1388 +// Size: 0x1398 class CDOTA_Modifier_Wisp_Spirits : public CDOTA_Buff { public: - bool m_bSpiritsExplode; // 0x12b8 + bool m_bSpiritsExplode; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + int32_t creep_damage; // 0x12cc + int32_t hero_damage; // 0x12d0 + int32_t hit_radius; // 0x12d4 + int32_t hero_hit_radius; // 0x12d8 + int32_t explode_radius; // 0x12dc + int32_t min_range; // 0x12e0 + int32_t max_range; // 0x12e4 + int32_t default_radius; // 0x12e8 + int32_t spirit_amount; // 0x12ec + float m_flRotation; // 0x12f0 + float m_flSpiritRadius; // 0x12f4 + int32_t spirit_movement_rate; // 0x12f8 + GameTime_t m_flNextSpawn; // 0x12fc + CUtlString m_strSpiritsOutSwapAbility; // 0x1300 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Wisp_Spirits_Slow : public CDOTA_Buff { public: - int32_t scepter_slow_pct; // 0x12b8 + int32_t scepter_slow_pct; // 0x12c8 }; // Alignment: 0 @@ -65920,14 +66400,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Wisp_Overcharge : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_spell_amp; // 0x12bc - int32_t shard_bonus_slow_resistance; // 0x12c0 - float hp_regen; // 0x12c4 + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_spell_amp; // 0x12cc + int32_t shard_bonus_slow_resistance; // 0x12d0 + float hp_regen; // 0x12d4 }; // Alignment: 4 @@ -65942,24 +66422,24 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Wisp_Relocate_Thinker : public CDOTA_Buff { public: - float cast_delay; // 0x12b8 - ParticleIndex_t m_nFXIndexEndTeam; // 0x12bc - ParticleIndex_t m_nFXIndexChannel; // 0x12c0 + float cast_delay; // 0x12c8 + ParticleIndex_t m_nFXIndexEndTeam; // 0x12cc + ParticleIndex_t m_nFXIndexChannel; // 0x12d0 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Wisp_Relocate_Return : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - Vector m_vecReturnPosition; // 0x12bc - float return_time; // 0x12c8 - ParticleIndex_t m_nFXTimeRemaining; // 0x12cc + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + Vector m_vecReturnPosition; // 0x12cc + float return_time; // 0x12d8 + ParticleIndex_t m_nFXTimeRemaining; // 0x12dc }; // Alignment: 0 @@ -65971,21 +66451,21 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Visage_GraveChill_Debuff : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x12b8 - int32_t attackspeed_bonus; // 0x12bc + int32_t movespeed_bonus; // 0x12c8 + int32_t attackspeed_bonus; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Visage_GraveChill_Buff : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x12b8 - int32_t attackspeed_bonus; // 0x12bc + int32_t movespeed_bonus; // 0x12c8 + int32_t attackspeed_bonus; // 0x12cc }; // Alignment: 3 @@ -65999,23 +66479,23 @@ public: }; // Alignment: 10 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Visage_SoulAssumption : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t stack_limit; // 0x12cc + int32_t damage_limit; // 0x12d0 + float stack_duration; // 0x12d4 + float damage_min; // 0x12d8 + float damage_max; // 0x12dc + ParticleIndex_t m_nFxIndexA; // 0x12e0 + ParticleIndex_t m_nFxIndexB; // 0x12e4 + int32_t iCur_stack; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12dc[0x1c]; // 0x12dc + [[maybe_unused]] uint8_t __pad12ec[0x1c]; // 0x12ec public: - float m_fTotalDamage; // 0x12f8 + float m_fTotalDamage; // 0x1308 }; // Alignment: 1 @@ -66027,42 +66507,42 @@ public: }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Visage_GravekeepersCloak_Stack : public CDOTA_Buff { public: - bool m_bIsRecovering; // 0x12b8 + bool m_bIsRecovering; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t m_nFXIndex[4]; // 0x12bc + int32_t m_nFXIndex[4]; // 0x12cc }; // Alignment: 9 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Visage_GravekeepersCloak : public CDOTA_Buff { public: - 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 + int32_t damage_reduction; // 0x12c8 + int32_t max_layers; // 0x12cc + float minimum_damage; // 0x12d0 + int32_t recovery_time; // 0x12d4 + int32_t radius; // 0x12d8 + int32_t max_damage_reduction; // 0x12dc + ParticleIndex_t m_nFXIndex[4]; // 0x12e0 + ParticleIndex_t m_nFXIndexB; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CUtlVector< CDOTA_Modifier_Visage_GravekeepersCloak_Stack* > vStacks; // 0x12e8 + CUtlVector< CDOTA_Modifier_Visage_GravekeepersCloak_Stack* > vStacks; // 0x12f8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Visage_GravekeepersCloak_Secondary : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 + int32_t damage_reduction; // 0x12c8 }; // Alignment: 2 @@ -66078,7 +66558,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Visage_SummonFamiliars_Talents : public CDOTA_Buff { public: @@ -66086,7 +66566,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Visage_Amor_Reduction : public CDOTA_Buff { public: @@ -66094,17 +66574,17 @@ public: }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Visage_SummonFamiliars_DamageCharge : public CDOTA_Buff { public: - int32_t familiar_speed; // 0x12b8 - int32_t m_nFXIndex; // 0x12bc - int32_t m_nFXIndexB; // 0x12c0 + int32_t familiar_speed; // 0x12c8 + int32_t m_nFXIndex; // 0x12cc + int32_t m_nFXIndexB; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CountdownTimer m_ctTimer; // 0x12c8 + CountdownTimer m_ctTimer; // 0x12d8 }; // Alignment: 0 @@ -66124,7 +66604,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Visage_Stone_Form_Self_Cast_Cooldown_Manager : public CDOTA_Buff { public: @@ -66132,42 +66612,42 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Thinker : public CDOTA_Buff { public: - 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 + int32_t stun_radius; // 0x12c8 + int32_t stun_damage; // 0x12cc + float stun_delay; // 0x12d0 + float stun_duration; // 0x12d4 + float stone_duration; // 0x12d8 + int32_t m_iIntervalCount; // 0x12dc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Buff : public CDOTA_Buff { public: - float hp_regen; // 0x12b8 - int32_t stun_radius; // 0x12bc + float hp_regen; // 0x12c8 + int32_t stun_radius; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Visage_Scepter : public CDOTA_Buff { public: - GameTime_t m_flReadyTime; // 0x12b8 + GameTime_t m_flReadyTime; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Timer : public CDOTA_Buff { public: - float stone_duration; // 0x12b8 - GameTime_t m_fStartTime; // 0x12bc + float stone_duration; // 0x12c8 + GameTime_t m_fStartTime; // 0x12cc }; // Alignment: 1 @@ -66179,28 +66659,28 @@ public: }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Visage_Silent_As_The_Grave : public CDOTA_Modifier_Invisible { public: - bool m_bHasMadeAttack; // 0x12c8 + bool m_bHasMadeAttack; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Visage_Silent_As_The_Grave_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 2 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Slark_EssenceShift : public CDOTA_Modifier_Stacking_Base { public: - int32_t agi_gain; // 0x12d8 - float duration; // 0x12dc + int32_t agi_gain; // 0x12e8 + float duration; // 0x12ec }; // Alignment: 0 @@ -66212,7 +66692,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Slark_DarkPact : public CDOTA_Buff { public: @@ -66220,20 +66700,20 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Slark_DarkPact_Pulses : public CDOTA_Buff { public: - 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 + int32_t m_iPulseCount; // 0x12c8 + int32_t radius; // 0x12cc + int32_t total_damage; // 0x12d0 + int32_t total_pulses; // 0x12d4 + int32_t self_damage_pct; // 0x12d8 + float pulse_interval; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Slark_Pounce_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -66249,39 +66729,39 @@ public: }; // Alignment: 15 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Slark_Pounce : public CDOTA_Buff { public: - 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 + float m_flTotalTime; // 0x12c8 + float m_flInitialVelocity; // 0x12cc + Vector m_vStartPosition; // 0x12d0 + Vector m_vTargetHorizontalDirection; // 0x12dc + float m_flCurrentTimeHoriz; // 0x12e8 + float m_flCurrentTimeVert; // 0x12ec + bool m_bInterrupted; // 0x12f0 + bool m_bFoundUnit; // 0x12f1 private: - [[maybe_unused]] uint8_t __pad12e2[0x2]; // 0x12e2 + [[maybe_unused]] uint8_t __pad12f2[0x2]; // 0x12f2 public: - 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 + int32_t pounce_distance; // 0x12f4 + int32_t pounce_distance_scepter; // 0x12f8 + float pounce_speed; // 0x12fc + float pounce_acceleration; // 0x1300 + int32_t pounce_radius; // 0x1304 + int32_t pounce_damage; // 0x1308 + float leash_duration; // 0x130c }; // Alignment: 4 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Slark_Pounce_Leash : public CDOTA_Buff { public: - int32_t leash_radius; // 0x12b8 - Vector vLeashLocation; // 0x12bc - bool m_bEscaped; // 0x12c8 - bool m_bFishBait; // 0x12c9 + int32_t leash_radius; // 0x12c8 + Vector vLeashLocation; // 0x12cc + bool m_bEscaped; // 0x12d8 + bool m_bFishBait; // 0x12d9 }; // Alignment: 0 @@ -66293,7 +66773,7 @@ public: }; // Alignment: 0 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Slark_EssenceShift_DebuffCounter : public CDOTA_Modifier_Stacking_Base { public: @@ -66301,15 +66781,15 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Slark_EssenceShift_Debuff : public CDOTA_Modifier_Stacking_Multiple_Buff_Base { public: - int32_t stat_loss; // 0x12c0 + int32_t stat_loss; // 0x12d0 }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Slark_EssenceShift_Buff : public CDOTA_Modifier_Stacking_Multiple_Buff_Base { public: @@ -66317,7 +66797,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Slark_EssenceShift_Permanent_Buff : public CDOTA_Buff { public: @@ -66325,7 +66805,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Slark_EssenceShift_Permanent_Debuff : public CDOTA_Buff { public: @@ -66341,52 +66821,52 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Slark_ShadowDance_Aura : public CDOTA_Buff { public: - int32_t scepter_aoe; // 0x12b8 + int32_t scepter_aoe; // 0x12c8 }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Slark_ShadowDance_Passive : public CDOTA_Buff { public: - float activation_delay; // 0x12b8 - float neutral_disable; // 0x12bc - bool m_bPendingRefresh; // 0x12c0 + float activation_delay; // 0x12c8 + float neutral_disable; // 0x12cc + bool m_bPendingRefresh; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - GameTime_t m_fPendingStateChangeTime; // 0x12c4 - CountdownTimer m_NeutralHitTimer; // 0x12c8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Slark_ShadowDance_PassiveRegen : public CDOTA_Buff -{ -public: - int32_t bonus_movement_speed; // 0x12b8 - float bonus_regen; // 0x12bc + GameTime_t m_fPendingStateChangeTime; // 0x12d4 + CountdownTimer m_NeutralHitTimer; // 0x12d8 }; // Alignment: 2 // Size: 0x12d0 +class CDOTA_Modifier_Slark_ShadowDance_PassiveRegen : public CDOTA_Buff +{ +public: + int32_t bonus_movement_speed; // 0x12c8 + float bonus_regen; // 0x12cc +}; + +// Alignment: 2 +// Size: 0x12e0 class CDOTA_Modifier_Slark_ShadowDance : public CDOTA_Modifier_Invisible { public: - CHandle< CBaseEntity > m_hVisibleEntity; // 0x12c8 - ParticleIndex_t m_nFXIndex; // 0x12cc + CHandle< CBaseEntity > m_hVisibleEntity; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Slark_ShadowDance_Visual : public CDOTA_Buff { public: - bool m_bScepter; // 0x12b8 + bool m_bScepter; // 0x12c8 }; // Alignment: 1 @@ -66398,22 +66878,22 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Slark_Depth_Shroud_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - CHandle< CBaseEntity > m_hVisibleEntity; // 0x12bc + int32_t radius; // 0x12c8 + CHandle< CBaseEntity > m_hVisibleEntity; // 0x12cc }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Slark_Depth_Shroud : public CDOTA_Modifier_Invisible { public: - ParticleIndex_t m_nFXIndex; // 0x12c8 - int32_t bonus_movement_speed; // 0x12cc - float bonus_regen; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d8 + int32_t bonus_movement_speed; // 0x12dc + float bonus_regen; // 0x12e0 }; // Alignment: 0 @@ -66425,19 +66905,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Slark_Fish_Bait_Pre : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 + int32_t movement_speed; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Slark_Fish_Bait_Post : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 + int32_t attack_speed; // 0x12c8 }; // Alignment: 0 @@ -66449,15 +66929,15 @@ public: }; // Alignment: 5 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Medusa_SplitShot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x12b8 - int32_t range; // 0x12bc - int32_t arrow_count; // 0x12c0 - int32_t projectile_speed; // 0x12c4 - ParticleIndex_t m_nSplitShotBowFXIndex; // 0x12c8 + int32_t damage_modifier; // 0x12c8 + int32_t range; // 0x12cc + int32_t arrow_count; // 0x12d0 + int32_t projectile_speed; // 0x12d4 + ParticleIndex_t m_nSplitShotBowFXIndex; // 0x12d8 }; // Alignment: 11 @@ -66479,12 +66959,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Medusa_Mystic_Snake_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 - int32_t turn_slow; // 0x12bc + int32_t movement_slow; // 0x12c8 + int32_t turn_slow; // 0x12cc }; // Alignment: 0 @@ -66496,14 +66976,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Medusa_ManaShield : public CDOTA_Buff { public: - int32_t bonus_mana; // 0x12b8 - float absorption_pct; // 0x12bc - float damage_per_mana; // 0x12c0 - float illusion_damage_per_mana; // 0x12c4 + int32_t bonus_mana; // 0x12c8 + float absorption_pct; // 0x12cc + float damage_per_mana; // 0x12d0 + float illusion_damage_per_mana; // 0x12d4 }; // Alignment: 0 @@ -66515,61 +66995,61 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Medusa_StoneGaze_Tracker : public CDOTA_Buff { public: - int32_t m_nNumStoned; // 0x12b8 - bool m_bAnyInvisible; // 0x12bc + int32_t m_nNumStoned; // 0x12c8 + bool m_bAnyInvisible; // 0x12cc }; // Alignment: 5 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Medusa_StoneGaze : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float vision_cone; // 0x12bc - float duration; // 0x12c0 - int32_t speed_boost; // 0x12c4 - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12c8 + int32_t radius; // 0x12c8 + float vision_cone; // 0x12cc + float duration; // 0x12d0 + int32_t speed_boost; // 0x12d4 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Medusa_StoneGaze_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 8 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Medusa_StoneGaze_Facing : public CDOTA_Buff { public: - float face_duration; // 0x12b8 - float stone_duration; // 0x12bc - float duration; // 0x12c0 - float vision_cone; // 0x12c4 - float m_flAccumulatedTime; // 0x12c8 + float face_duration; // 0x12c8 + float stone_duration; // 0x12cc + float duration; // 0x12d0 + float vision_cone; // 0x12d4 + float m_flAccumulatedTime; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CountdownTimer ctFacing; // 0x12d0 - bool m_bAlreadyStoned; // 0x12e8 + CountdownTimer ctFacing; // 0x12e0 + bool m_bAlreadyStoned; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 + [[maybe_unused]] uint8_t __pad12f9[0x3]; // 0x12f9 public: - ParticleIndex_t m_nFXIndex; // 0x12ec + ParticleIndex_t m_nFXIndex; // 0x12fc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Medusa_StoneGaze_Stone : public CDOTA_Buff { public: - int32_t bonus_physical_damage; // 0x12b8 + int32_t bonus_physical_damage; // 0x12c8 }; // Alignment: 0 @@ -66581,7 +67061,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Medusa_Cold_Blooded : public CDOTA_Buff { public: @@ -66597,12 +67077,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Troll_Warlord_Rampage : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 - int32_t status_resistance; // 0x12bc + int32_t attack_speed; // 0x12c8 + int32_t status_resistance; // 0x12cc }; // Alignment: 1 @@ -66614,22 +67094,22 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_TrollWarlord_BerserkersRage : public CDOTA_Buff { public: - 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 + int32_t bonus_move_speed; // 0x12c8 + int32_t bonus_range; // 0x12cc + int32_t bonus_hp; // 0x12d0 + int32_t bonus_armor; // 0x12d4 + int32_t ensnare_chance; // 0x12d8 + float ensnare_duration; // 0x12dc + float base_attack_time; // 0x12e0 + int32_t m_iOriginalAttackCapabilities; // 0x12e4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TrollWarlord_BerserkersRage_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -66637,11 +67117,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_TrollWarlord_BerserkersRage_Maim : public CDOTA_Buff { public: - int32_t maim_slow; // 0x12b8 + int32_t maim_slow; // 0x12c8 }; // Alignment: 8 @@ -66663,11 +67143,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_TrollWarlord_WhirlingAxes_Slow : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 + int32_t movement_speed; // 0x12c8 }; // Alignment: 2 @@ -66680,36 +67160,36 @@ public: }; // Alignment: 16 -// Size: 0x1328 +// Size: 0x1338 class CDOTA_Modifier_TrollWarlord_Whirling_Axes_Melee : public CDOTA_Buff { public: - 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 + int32_t damage; // 0x12c8 + int32_t hit_radius; // 0x12cc + int32_t axe_movement_speed; // 0x12d0 + float whirl_duration; // 0x12d4 + float max_range; // 0x12d8 + float blind_duration; // 0x12dc + float m_flRotation; // 0x12e0 + float m_flAxeRadius; // 0x12e4 + GameTime_t m_flDieTime; // 0x12e8 + float m_bPiercesMagicImmunity; // 0x12ec + int32_t m_nSwapIndex; // 0x12f0 + bool m_bReturning; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - ParticleIndex_t m_nAxeFXIndex[2]; // 0x12e8 - int32_t m_nHeroesHitForRelic; // 0x12f0 + ParticleIndex_t m_nAxeFXIndex[2]; // 0x12f8 + int32_t m_nHeroesHitForRelic; // 0x1300 private: - [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 public: - CUtlVector< CHandle< CBaseEntity > > hitEntities; // 0x12f8 - CUtlVector< CHandle< CBaseEntity > > m_hAxes; // 0x1310 + CUtlVector< CHandle< CBaseEntity > > hitEntities; // 0x1308 + CUtlVector< CHandle< CBaseEntity > > m_hAxes; // 0x1320 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TrollWarlord_Axe_Invulnerable : public CDOTA_Buff { public: @@ -66717,11 +67197,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_TrollWarlord_WhirlingAxes_Blind : public CDOTA_Buff { public: - int32_t blind_pct; // 0x12b8 + int32_t blind_pct; // 0x12c8 }; // Alignment: 0 @@ -66733,15 +67213,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_TrollWarlord_Fervor : public CDOTA_Buff { public: - 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 + int32_t attack_speed; // 0x12c8 + int32_t max_stacks; // 0x12cc + int32_t extra_attack_chance_per_stack; // 0x12d0 + int32_t base_chance; // 0x12d4 + CHandle< CBaseEntity > m_hUnit; // 0x12d8 }; // Alignment: 1 @@ -66753,18 +67233,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_TrollWarlord_BattleTrance : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 - int32_t attack_speed; // 0x12bc - int32_t lifesteal; // 0x12c0 - CHandle< CBaseEntity > m_hTarget; // 0x12c4 + int32_t movement_speed; // 0x12c8 + int32_t attack_speed; // 0x12cc + int32_t lifesteal; // 0x12d0 + CHandle< CBaseEntity > m_hTarget; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TrollWarlord_BattleTrance_Aura : public CDOTA_Buff { public: @@ -66772,7 +67252,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_TrollWarlord_BattleTrance_Vision : public CDOTA_Buff { public: @@ -66788,11 +67268,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Centaur_HoofStomp_Windup : public CDOTA_Buff { public: - bool bInterrupted; // 0x12b8 + bool bInterrupted; // 0x12c8 }; // Alignment: 1 @@ -66804,20 +67284,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Centaur_DoubleEdge_Slow : public CDOTA_Buff { public: - int32_t shard_movement_slow; // 0x12b8 + int32_t shard_movement_slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Centaur_DoubleEdge_Buff : public CDOTA_Buff { public: - int32_t shard_str_pct; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t shard_str_pct; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 0 @@ -66829,24 +67309,24 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Centaur_Return_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Centaur_Return : public CDOTA_Buff { public: - int32_t return_damage; // 0x12b8 - int32_t return_damage_str; // 0x12bc + int32_t return_damage; // 0x12c8 + int32_t return_damage_str; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Centaur_Return_Counter : public CDOTA_Buff { public: @@ -66854,11 +67334,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Centaur_Return_Bonus_Damage : public CDOTA_Buff { public: - float damage_gain_pct; // 0x12b8 + float damage_gain_pct; // 0x12c8 }; // Alignment: 8 @@ -66880,26 +67360,26 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Centaur_Stampede_Slow : public CDOTA_Buff { public: - int32_t cast_time_increase; // 0x12b8 - int32_t slow_movement_speed; // 0x12bc + int32_t cast_time_increase; // 0x12c8 + int32_t slow_movement_speed; // 0x12cc }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Centaur_Stampede : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t damage_reduction; // 0x12bc - int32_t has_flying_movement; // 0x12c0 + int32_t radius; // 0x12c8 + int32_t damage_reduction; // 0x12cc + int32_t has_flying_movement; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x12c8 + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x12d8 }; // Alignment: 1 @@ -66911,19 +67391,19 @@ public: }; // Alignment: 6 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Centaur_Cart : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hUnit; // 0x12b8 - bool m_bWasMoving; // 0x12bc - bool m_bSpawnDone; // 0x12bd + CHandle< CBaseEntity > m_hUnit; // 0x12c8 + bool m_bWasMoving; // 0x12cc + bool m_bSpawnDone; // 0x12cd private: - [[maybe_unused]] uint8_t __pad12be[0x2]; // 0x12be + [[maybe_unused]] uint8_t __pad12ce[0x2]; // 0x12ce public: - Vector m_vecOldForward; // 0x12c0 - int32_t break_distance; // 0x12cc - Vector m_vecPreviousLocation; // 0x12d0 + Vector m_vecOldForward; // 0x12d0 + int32_t break_distance; // 0x12dc + Vector m_vecPreviousLocation; // 0x12e0 }; // Alignment: 0 @@ -66935,7 +67415,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Centaur_Hitched_Into_Cart : public CDOTA_Buff { public: @@ -66943,37 +67423,37 @@ public: }; // Alignment: 15 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Centaur_Mount_Toss : public CDOTA_Buff { public: - 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 + float air_duration; // 0x12c8 + int32_t air_height; // 0x12cc + int32_t travel_distance; // 0x12d0 + CHandle< CBaseEntity > m_hTarget; // 0x12d4 + float m_flPredictedTotalTime; // 0x12d8 + Vector m_vStartPosition; // 0x12dc + float m_flCurrentTimeHoriz; // 0x12e8 + float m_flCurrentTimeVert; // 0x12ec + bool m_bHorizontalMotionInterrupted; // 0x12f0 + bool m_bDamageApplied; // 0x12f1 + bool m_bTargetTeleported; // 0x12f2 private: - [[maybe_unused]] uint8_t __pad12e3[0x1]; // 0x12e3 + [[maybe_unused]] uint8_t __pad12f3[0x1]; // 0x12f3 public: - Vector m_vHorizontalVelocity; // 0x12e4 - Vector m_vLastKnownTargetPosition; // 0x12f0 - float m_flInitialVelocityZ; // 0x12fc - bool m_bDone; // 0x1300 + Vector m_vHorizontalVelocity; // 0x12f4 + Vector m_vLastKnownTargetPosition; // 0x1300 + float m_flInitialVelocityZ; // 0x130c + bool m_bDone; // 0x1310 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Centaur_Mounted : public CDOTA_Buff { public: - int32_t melee_attack_range; // 0x12b8 - CHandle< CBaseEntity > m_hCart; // 0x12bc + int32_t melee_attack_range; // 0x12c8 + CHandle< CBaseEntity > m_hCart; // 0x12cc }; // Alignment: 0 @@ -67041,27 +67521,27 @@ public: }; // Alignment: 9 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Magnataur_Horn_Toss : public CDOTA_Buff { public: - 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 + float air_duration; // 0x12c8 + int32_t air_height; // 0x12cc + int32_t travel_distance; // 0x12d0 + Vector m_vDestination; // 0x12d4 + float m_flStartZ; // 0x12e0 + float m_flCurTime; // 0x12e4 + float m_flJumpDuration; // 0x12e8 + float m_flJumpHeight; // 0x12ec + Vector m_vTargetHorizontalDirection; // 0x12f0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Magnataur_Horn_Toss_Slow : public CDOTA_Buff { public: - int32_t horn_toss_slow_pct; // 0x12b8 + int32_t horn_toss_slow_pct; // 0x12c8 }; // Alignment: 3 @@ -67078,47 +67558,47 @@ public: }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Magnataur_Shockwave_Erupt : public CDOTA_Buff { public: - int32_t scepter_width; // 0x12b8 - float scepter_duration; // 0x12bc - bool play_particle; // 0x12c0 + int32_t scepter_width; // 0x12c8 + float scepter_duration; // 0x12cc + bool play_particle; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - Vector m_vStart; // 0x12c4 - Vector m_vEnd; // 0x12d0 + Vector m_vStart; // 0x12d4 + Vector m_vEnd; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Magnataur_Shockwave : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Magnataur_Shockwave_Eruption_Slow : public CDOTA_Buff { public: - int32_t scepter_slow_pct; // 0x12b8 - int32_t scepter_armor_pct; // 0x12bc + int32_t scepter_slow_pct; // 0x12c8 + int32_t scepter_armor_pct; // 0x12cc }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Magnataur_Shockwave_Pull : public CDOTA_Buff { public: - Vector m_vDirection; // 0x12b8 - float m_flEndTime; // 0x12c4 - float m_flCurTime; // 0x12c8 - float pull_duration; // 0x12cc - float effective_distance; // 0x12d0 + Vector m_vDirection; // 0x12c8 + float m_flEndTime; // 0x12d4 + float m_flCurTime; // 0x12d8 + float pull_duration; // 0x12dc + float effective_distance; // 0x12e0 }; // Alignment: 0 @@ -67130,17 +67610,17 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Magnataur_Empower : public CDOTA_Buff { public: - 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 + int32_t bonus_damage_pct; // 0x12c8 + float cleave_damage_pct; // 0x12cc + int32_t cleave_starting_width; // 0x12d0 + int32_t cleave_ending_width; // 0x12d4 + int32_t cleave_distance; // 0x12d8 + float self_multiplier; // 0x12dc + int32_t secondary_cleave_distance; // 0x12e0 }; // Alignment: 7 @@ -67158,31 +67638,31 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Magnataur_Skewer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x12b8 + int32_t m_nProjectileID; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Magnataur_Skewer_Impact : public CDOTA_Buff { public: - float slow_duration; // 0x12b8 - int32_t skewer_damage; // 0x12bc - Vector m_vDirection; // 0x12c0 - float m_flEndTime; // 0x12cc - float m_flCurTime; // 0x12d0 + float slow_duration; // 0x12c8 + int32_t skewer_damage; // 0x12cc + Vector m_vDirection; // 0x12d0 + float m_flEndTime; // 0x12dc + float m_flCurTime; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Magnataur_Skewer_Slow : public CDOTA_Buff { public: - int32_t slow_pct; // 0x12b8 + int32_t slow_pct; // 0x12c8 }; // Alignment: 2 @@ -67195,7 +67675,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Magnataur_ReversePolarity : public CDOTA_Buff { public: @@ -67203,11 +67683,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Magnataur_ReversePolarity_Stats : public CDOTA_Buff { public: - int32_t stats_per_stack; // 0x12b8 + int32_t stats_per_stack; // 0x12c8 }; // Alignment: 0 @@ -67227,13 +67707,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Magnus_Strength_Of_Joelrak : public CDOTA_Buff { public: - int32_t strength_per_stack; // 0x12b8 - int32_t max_stacks; // 0x12bc - float stack_duration; // 0x12c0 + int32_t strength_per_stack; // 0x12c8 + int32_t max_stacks; // 0x12cc + float stack_duration; // 0x12d0 }; // Alignment: 0 @@ -67297,16 +67777,16 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Shredder_WhirlingDeath_Debuff : public CDOTA_Buff { public: - 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 + int32_t stat_loss_pct; // 0x12c8 + int32_t stat_loss_univ; // 0x12cc + int32_t iPrimaryAttribute; // 0x12d0 + float flStatLossStr; // 0x12d4 + float flStatLossAgi; // 0x12d8 + float flStatLossInt; // 0x12dc }; // Alignment: 4 @@ -67321,16 +67801,16 @@ public: }; // Alignment: 6 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Shredder_TimberChain : public CDOTA_Buff { public: - 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 + CUtlVector< CHandle< CBaseEntity > > m_hDamaged; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12e0 + Vector m_vStartPosition; // 0x12e4 + int32_t speed; // 0x12f0 + int32_t radius; // 0x12f4 + int32_t damage; // 0x12f8 }; // Alignment: 0 @@ -67342,42 +67822,42 @@ public: }; // Alignment: 12 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Shredder_ReactiveArmor_Bomb : public CDOTA_Buff { public: - 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 + float initial_shield; // 0x12c8 + float max_shield; // 0x12cc + float shield_per_sec; // 0x12d0 + float shield_per_sec_per_enemy; // 0x12d4 + float duration; // 0x12d8 + float base_explosion; // 0x12dc + int32_t radius; // 0x12e0 + int32_t explosion_radius; // 0x12e4 + int32_t m_nDamageAbsorbed; // 0x12e8 + GameTime_t m_timeLastTick; // 0x12ec + GameTime_t m_StartTime; // 0x12f0 + int32_t m_nLastParticleTime; // 0x12f4 }; // Alignment: 4 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Shredder_Reactive_Armor : public CDOTA_Buff { public: - int32_t stack_limit; // 0x12b8 - float stack_duration; // 0x12bc - GameTime_t m_flStackDieTime; // 0x12c0 - ParticleIndex_t m_pFXIndex[4]; // 0x12c4 + int32_t stack_limit; // 0x12c8 + float stack_duration; // 0x12cc + GameTime_t m_flStackDieTime; // 0x12d0 + ParticleIndex_t m_pFXIndex[4]; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Shredder_Reactive_Armor_Stack : public CDOTA_Buff { public: - float bonus_armor; // 0x12b8 - float bonus_hp_regen; // 0x12bc + float bonus_armor; // 0x12c8 + float bonus_hp_regen; // 0x12cc }; // Alignment: 13 @@ -67412,28 +67892,28 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Shredder_Chakram_Thinker : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x12b8 - float mana_per_second; // 0x12bc - float radius; // 0x12c0 - float break_distance; // 0x12c4 - float damage_interval; // 0x12c8 + int32_t damage_per_second; // 0x12c8 + float mana_per_second; // 0x12cc + float radius; // 0x12d0 + float break_distance; // 0x12d4 + float damage_interval; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Shredder_Chakram_Debuff : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 - int32_t slow_health_percentage; // 0x12bc + int32_t slow; // 0x12c8 + int32_t slow_health_percentage; // 0x12cc }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Shredder_Chakram_Debuff_2 : public CDOTA_Modifier_Shredder_Chakram_Debuff { public: @@ -67457,7 +67937,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Shredder_Chakram_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -67473,40 +67953,40 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Shredder_Flamethrower_TreeFire_Thinker : public CDOTA_Buff { public: - CUtlVector< CUtlPair< CHandle< CBaseEntity >, GameTime_t > > m_vecTreeFires; // 0x12b8 - bool m_bCleanupWhenEmpty; // 0x12d0 + CUtlVector< CUtlPair< CHandle< CBaseEntity >, GameTime_t > > m_vecTreeFires; // 0x12c8 + bool m_bCleanupWhenEmpty; // 0x12e0 }; // Alignment: 8 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Shredder_Flamethrower : public CDOTA_Buff { public: - 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 + int32_t length; // 0x12c8 + int32_t width; // 0x12cc + int32_t damage_per_second; // 0x12d0 + ParticleIndex_t m_nBeamFXIndex; // 0x12d4 + CHandle< CBaseEntity > m_hBeamEnd; // 0x12d8 + GameTime_t m_flLastHit; // 0x12dc + CUtlVector< CBaseEntity* > m_vecBurningTrees; // 0x12e0 + CHandle< CBaseEntity > m_hTreeFireThinker; // 0x12f8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Shredder_Flamethrower_Damage : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + ParticleIndex_t m_nActiveFXIndex; // 0x12cc + ParticleIndex_t m_nActiveStatusFXIndex; // 0x12d0 + float damage_per_second; // 0x12d4 + int32_t building_dmg_pct; // 0x12d8 + int32_t move_slow_pct; // 0x12dc }; // Alignment: 0 @@ -67518,21 +67998,21 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Bristleback_Warpath : public CDOTA_Buff { public: - 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 + int32_t damage_per_stack; // 0x12c8 + int32_t move_speed_per_stack; // 0x12cc + int32_t max_stacks; // 0x12d0 + float stack_duration; // 0x12d4 + float m_flDuration; // 0x12d8 + GameTime_t m_flMaxStackStartTime; // 0x12dc + bool m_bSuppressKillEater; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bristleback_Warpath_Stack : public CDOTA_Buff { public: @@ -67548,16 +68028,16 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Bristleback_ViscousNasalGoo : public CDOTA_Buff { public: - 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 + float base_armor; // 0x12c8 + float armor_per_stack; // 0x12cc + int32_t base_move_slow; // 0x12d0 + int32_t move_slow_per_stack; // 0x12d4 + int32_t stack_limit; // 0x12d8 + ParticleIndex_t m_nFXStackIndex; // 0x12dc }; // Alignment: 0 @@ -67569,7 +68049,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bristleback_QuillSpray_AutoCast : public CDOTA_Buff { public: @@ -67577,35 +68057,35 @@ public: }; // Alignment: 10 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Bristleback_QuillSpray_Thinker : public CDOTA_Buff { public: - 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 + float m_fCurRadius; // 0x12c8 + GameTime_t m_fLastThink; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x12d0 + CountdownTimer m_ViewerTimer; // 0x12e8 + int32_t projectile_speed; // 0x1300 + float radius; // 0x1304 + bool m_bTriggeredByBristleback; // 0x1308 + bool m_bDelayed; // 0x1309 private: - [[maybe_unused]] uint8_t __pad12fa[0x2]; // 0x12fa + [[maybe_unused]] uint8_t __pad130a[0x2]; // 0x130a public: - int32_t m_nAngleRestriction; // 0x12fc - Vector m_vFacing; // 0x1300 + int32_t m_nAngleRestriction; // 0x130c + Vector m_vFacing; // 0x1310 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Bristleback_QuillSpray : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Bristleback_QuillSprayStack : public CDOTA_Buff { public: @@ -67621,48 +68101,48 @@ public: }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Bristleback_Bristleback : public CDOTA_Buff { public: - 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 + int32_t side_damage_reduction; // 0x12c8 + int32_t back_damage_reduction; // 0x12cc + int32_t side_angle; // 0x12d0 + int32_t back_angle; // 0x12d4 + float quill_release_threshold; // 0x12d8 + float quill_release_interval; // 0x12dc + bool m_bRearHit; // 0x12e0 + bool m_bSideHit; // 0x12e1 private: - [[maybe_unused]] uint8_t __pad12d2[0x2]; // 0x12d2 + [[maybe_unused]] uint8_t __pad12e2[0x2]; // 0x12e2 public: - float m_flDamageAccumulated; // 0x12d4 - int32_t m_nAccumulatedHits; // 0x12d8 + float m_flDamageAccumulated; // 0x12e4 + int32_t m_nAccumulatedHits; // 0x12e8 }; // Alignment: 15 -// Size: 0x1300 +// Size: 0x1310 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 + int32_t activation_num_quill_sprays; // 0x12c8 + float activation_spray_interval; // 0x12cc + int32_t activation_angle; // 0x12d0 + int32_t cast_range_bonus; // 0x12d4 + int32_t activation_movement_speed_pct; // 0x12d8 + int32_t activation_turn_rate_pct; // 0x12dc + int32_t activation_disable_turning; // 0x12e0 + int32_t activation_ignore_cast_angle; // 0x12e4 + int32_t activation_turn_rate; // 0x12e8 + float activation_delay; // 0x12ec + GameTime_t m_fStartTime; // 0x12f0 + bool bDelayFinished; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - float m_flFacingTarget; // 0x12e8 - Vector m_vFacing; // 0x12ec - int32_t m_nNumSprays; // 0x12f8 + float m_flFacingTarget; // 0x12f8 + Vector m_vFacing; // 0x12fc + int32_t m_nNumSprays; // 0x1308 }; // Alignment: 0 @@ -67708,7 +68188,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tusk_IceShard_Slow_Aura : public CDOTA_Buff { public: @@ -67716,7 +68196,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tusk_IceShard : public CDOTA_Buff { public: @@ -67760,7 +68240,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tusk_Snowball_Target : public CDOTA_Buff { public: @@ -67776,7 +68256,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tusk_Snowball_Visible : public CDOTA_Buff { public: @@ -67784,7 +68264,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tusk_Snowball_Movement : public CDOTA_Buff { public: @@ -67792,7 +68272,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tusk_Snowball_Movement_Friendly : public CDOTA_Buff { public: @@ -67808,23 +68288,23 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tusk_FrozenSigil_Aura : public CDOTA_Buff { public: - int32_t sigil_radius; // 0x12b8 - ParticleIndex_t m_iIndex; // 0x12bc + int32_t sigil_radius; // 0x12c8 + ParticleIndex_t m_iIndex; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Tusk_FrozenSigil : public CDOTA_Buff { public: - int32_t aghs_shard_move_slow; // 0x12b8 - int32_t aghs_shard_damage; // 0x12bc - int32_t attack_slow; // 0x12c0 - int32_t turn_rate_slow; // 0x12c4 + int32_t aghs_shard_move_slow; // 0x12c8 + int32_t aghs_shard_damage; // 0x12cc + int32_t attack_slow; // 0x12d0 + int32_t turn_rate_slow; // 0x12d4 }; // Alignment: 0 @@ -67836,49 +68316,49 @@ public: }; // Alignment: 9 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Tusk_WalrusPunch : public CDOTA_Buff { public: - int32_t crit_multiplier; // 0x12b8 - float air_time; // 0x12bc - float slow_duration; // 0x12c0 + int32_t crit_multiplier; // 0x12c8 + float air_time; // 0x12cc + float slow_duration; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12c8 - CHandle< CBaseEntity > m_hTarget; // 0x12d0 - bool m_bWalrusPunch; // 0x12d4 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12d8 + CHandle< CBaseEntity > m_hTarget; // 0x12e0 + bool m_bWalrusPunch; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 - ParticleIndex_t m_nFXIndex; // 0x12f0 - int32_t m_nAttackRecord; // 0x12f4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e8 + ParticleIndex_t m_nFXIndex; // 0x1300 + int32_t m_nAttackRecord; // 0x1304 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tusk_WalrusPunch_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 + int32_t move_slow; // 0x12c8 }; // Alignment: 9 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Tusk_WalrusPunch_AirTime : public CDOTA_Buff { public: - 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 + int32_t hp_threshold; // 0x12c8 + float m_flStartZ; // 0x12cc + float m_flCurTime; // 0x12d0 + float m_flOldPitch; // 0x12d4 + QAngle m_qRotation; // 0x12d8 + int32_t m_nRotations; // 0x12e4 + Vector m_vDirection; // 0x12e8 + float m_flEndTime; // 0x12f4 + float air_time; // 0x12f8 }; // Alignment: 4 @@ -67893,27 +68373,27 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tusk_WalrusKick_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 + int32_t move_slow; // 0x12c8 }; // Alignment: 9 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Tusk_WalrusKick_AirTime : public CDOTA_Buff { public: - 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 + int32_t hp_threshold; // 0x12c8 + float m_flStartZ; // 0x12cc + float m_flCurTime; // 0x12d0 + float m_flOldPitch; // 0x12d4 + QAngle m_qRotation; // 0x12d8 + int32_t m_nRotations; // 0x12e4 + Vector m_vDirection; // 0x12e8 + float m_flEndTime; // 0x12f4 + int32_t push_length; // 0x12f8 }; // Alignment: 0 @@ -67925,45 +68405,45 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tusk_Tag_Team_Attack_Slow_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tusk_Tag_Team_Attack_Slow : public CDOTA_Buff { public: - int32_t attack_speed_slow; // 0x12b8 + int32_t attack_speed_slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tusk_Tag_Team_Aura : public CDOTA_Buff { public: - ParticleIndex_t m_iIndex; // 0x12b8 - int32_t radius; // 0x12bc + ParticleIndex_t m_iIndex; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tusk_Tag_Team : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 - float slow_duration; // 0x12bc + int32_t bonus_damage; // 0x12c8 + float slow_duration; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tusk_Tag_Team_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 0 @@ -67975,29 +68455,29 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Skywrath_Mage_Shard : public CDOTA_Buff { public: - float stack_duration; // 0x12b8 + float stack_duration; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Skywrath_Mage_Shard_Bonus : public CDOTA_Buff { public: - int32_t bonus_intelligence; // 0x12b8 - float bonus_armor; // 0x12bc + int32_t bonus_intelligence; // 0x12c8 + float bonus_armor; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Skywrath_Mage_Shard_Bonus_Counter : public CDOTA_Buff { public: - int32_t bonus_intelligence; // 0x12b8 - float bonus_armor; // 0x12bc + int32_t bonus_intelligence; // 0x12c8 + float bonus_armor; // 0x12cc }; // Alignment: 4 @@ -68012,11 +68492,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Skywrath_Mage_Arcane_Bolt_Lifesteal : public CDOTA_Buff { public: - float lifesteal_amt; // 0x12b8 + float lifesteal_amt; // 0x12c8 }; // Alignment: 6 @@ -68033,11 +68513,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Skywrath_Mage_Concussive_Shot : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x12b8 + int32_t movement_speed_pct; // 0x12c8 }; // Alignment: 0 @@ -68049,11 +68529,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Skywrath_Mage_Ancient_Seal : public CDOTA_Buff { public: - int32_t resist_debuff; // 0x12b8 + int32_t resist_debuff; // 0x12c8 }; // Alignment: 0 @@ -68065,18 +68545,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Skywrath_Mage_Mystic_Flare : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t damage; // 0x12bc - float duration; // 0x12c0 - float damage_interval; // 0x12c4 + int32_t radius; // 0x12c8 + int32_t damage; // 0x12cc + float duration; // 0x12d0 + float damage_interval; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Skywrath_Mystic_Flare_Aura_Effect : public CDOTA_Buff { public: @@ -68148,13 +68628,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Abaddon_DeathCoil_Effect : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x12b8 - int32_t magic_resistance; // 0x12bc - bool m_bFriendly; // 0x12c0 + int32_t armor_bonus; // 0x12c8 + int32_t magic_resistance; // 0x12cc + bool m_bFriendly; // 0x12d0 }; // Alignment: 0 @@ -68166,13 +68646,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Abaddon_AphoticShield : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float damage_absorb; // 0x12bc - int32_t m_nDamageAbsorbed; // 0x12c0 + int32_t radius; // 0x12c8 + float damage_absorb; // 0x12cc + int32_t m_nDamageAbsorbed; // 0x12d0 }; // Alignment: 0 @@ -68184,39 +68664,39 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Abaddon_Frostmourne : public CDOTA_Buff { public: - float slow_duration; // 0x12b8 - float curse_duration; // 0x12bc - int32_t hit_count; // 0x12c0 + float slow_duration; // 0x12c8 + float curse_duration; // 0x12cc + int32_t hit_count; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Abaddon_Frostmourne_Debuff : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 - ParticleIndex_t m_nFXStackIndex; // 0x12bc + int32_t movement_speed; // 0x12c8 + ParticleIndex_t m_nFXStackIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Abaddon_Frostmourne_Debuff_Bonus : public CDOTA_Buff { public: - int32_t curse_slow; // 0x12b8 + int32_t curse_slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Abaddon_Frostmourne_Buff : public CDOTA_Buff { public: - int32_t curse_attack_speed; // 0x12b8 - CHandle< CBaseEntity > m_hTarget; // 0x12bc + int32_t curse_attack_speed; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12cc }; // Alignment: 0 @@ -68228,45 +68708,45 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Abaddon_BorrowedTime : public CDOTA_Buff { public: - int32_t m_iTotalDamageAbsorbed; // 0x12b8 - int32_t redirect_range_scepter; // 0x12bc + int32_t m_iTotalDamageAbsorbed; // 0x12c8 + int32_t redirect_range_scepter; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Abaddon_BorrowedTime_Passive : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x12b8 + int32_t hp_threshold; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Abaddon_Borrowed_Time_Damage_Redirect : public CDOTA_Buff { public: - float m_fDamageTaken; // 0x12b8 - int32_t ally_threshold_scepter; // 0x12bc + float m_fDamageTaken; // 0x12c8 + int32_t ally_threshold_scepter; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Abaddon_BorrowedTime_ImmolationAura : public CDOTA_Buff { public: - int32_t immolate_aoe; // 0x12b8 + int32_t immolate_aoe; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Abaddon_BorrowedTime_ImmolationDamage : public CDOTA_Buff { public: - float immolate_damage; // 0x12b8 + float immolate_damage; // 0x12c8 }; // Alignment: 10 @@ -68293,20 +68773,20 @@ public: }; // Alignment: 7 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Elder_Titan_AncestralSpirit : public CDOTA_Buff { public: - int32_t pass_damage; // 0x12b8 - int32_t radius; // 0x12bc - int32_t m_nCreepsHit; // 0x12c0 - int32_t m_nHeroesHit; // 0x12c4 - float m_flSpeed; // 0x12c8 + int32_t pass_damage; // 0x12c8 + int32_t radius; // 0x12cc + int32_t m_nCreepsHit; // 0x12d0 + int32_t m_nHeroesHit; // 0x12d4 + float m_flSpeed; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlVector< CHandle< CBaseEntity > > m_hHitUnits; // 0x12d0 - int32_t m_nBonusMoveSpeed; // 0x12e8 + CUtlVector< CHandle< CBaseEntity > > m_hHitUnits; // 0x12e0 + int32_t m_nBonusMoveSpeed; // 0x12f8 }; // Alignment: 0 @@ -68326,27 +68806,27 @@ public: }; // Alignment: 13 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_Buff : public CDOTA_Buff { public: - 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 + float move_pct_creeps; // 0x12c8 + int32_t move_pct_heroes; // 0x12cc + int32_t damage_creeps; // 0x12d0 + int32_t damage_heroes; // 0x12d4 + float armor_creeps; // 0x12d8 + float armor_heroes; // 0x12dc + float move_pct_cap; // 0x12e0 + int32_t m_nCreepsHit; // 0x12e4 + int32_t m_nHeroesHit; // 0x12e8 + float m_fSpeedPercentage; // 0x12ec + int32_t m_nDamage; // 0x12f0 + int32_t m_nArmor; // 0x12f4 + bool m_bSpellImmunity; // 0x12f8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Unique_Elder_Titan_4 : public CDOTA_Modifier_MagicImmune { public: @@ -68354,7 +68834,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_Hidden : public CDOTA_Buff { public: @@ -68388,7 +68868,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_CastTime : public CDOTA_Buff { public: @@ -68396,26 +68876,26 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Elder_Titan_EchoStomp_Magic_Immune : public CDOTA_Modifier_DebuffImmune { public: - int32_t model_scale; // 0x12b8 + int32_t model_scale; // 0x12c8 }; // Alignment: 5 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Elder_Titan_EchoStomp : public CDOTA_Buff { public: - int32_t wake_damage_limit; // 0x12b8 - float animation_rate; // 0x12bc - float initial_stun_duration; // 0x12c0 + int32_t wake_damage_limit; // 0x12c8 + float animation_rate; // 0x12cc + float initial_stun_duration; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CountdownTimer ctStunTimer; // 0x12c8 - float m_flDamageTaken; // 0x12e0 + CountdownTimer ctStunTimer; // 0x12d8 + float m_flDamageTaken; // 0x12f0 }; // Alignment: 0 @@ -68435,80 +68915,80 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Aura_Armor : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Aura_MagicResistance : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Armor : public CDOTA_Buff { public: - int32_t armor_reduction_pct; // 0x12b8 - float m_flArmorReduction; // 0x12bc + int32_t armor_reduction_pct; // 0x12c8 + float m_flArmorReduction; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_MagicResistance : public CDOTA_Buff { public: - int32_t magic_resistance_pct; // 0x12b8 + int32_t magic_resistance_pct; // 0x12c8 }; // Alignment: 13 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_Elder_Titan_EarthSplitter_Caster : public CDOTA_Buff { public: - 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 + CUtlVector< CHandle< CBaseEntity > > m_hHitUnits; // 0x12c8 + int32_t vision_width; // 0x12e0 + float vision_interval; // 0x12e4 + float vision_duration; // 0x12e8 + int32_t vision_step; // 0x12ec + int32_t total_steps; // 0x12f0 + int32_t m_nCompletedSteps; // 0x12f4 + Vector m_vStart; // 0x12f8 + Vector m_vEnd; // 0x1304 + Vector m_vNextVisionLocation; // 0x1310 + Vector m_vCastDirection; // 0x131c + int32_t m_nHumHeroesHit; // 0x1328 + bool m_bHitInvisibleHero; // 0x132c }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Elder_Titan_EarthSplitter_Thinker : public CDOTA_Buff { public: - int32_t crack_width; // 0x12b8 - int32_t damage_pct; // 0x12bc - float slow_duration; // 0x12c0 - float slow_duration_scepter; // 0x12c4 - CDOTA_Buff* m_pParentModifier; // 0x12c8 + int32_t crack_width; // 0x12c8 + int32_t damage_pct; // 0x12cc + float slow_duration; // 0x12d0 + float slow_duration_scepter; // 0x12d4 + CDOTA_Buff* m_pParentModifier; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Elder_Titan_EarthSplitter : public CDOTA_Buff { public: - int32_t slow_pct; // 0x12b8 + int32_t slow_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Elder_Titan_EarthSplitterScepter : public CDOTA_Modifier_Elder_Titan_EarthSplitter { public: @@ -68536,7 +69016,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Legion_Commander_OverwhelmingOdds_Armor : public CDOTA_Buff { public: @@ -68544,16 +69024,16 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Legion_Commander_OverwhelmingOdds : public CDOTA_Buff { public: - 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 + int32_t bonus_attack_speed_creeps; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + float armor_per_creep; // 0x12d0 + float armor_per_hero; // 0x12d4 + int32_t m_nTotalBonus; // 0x12d8 + float m_flBonusArmor; // 0x12dc }; // Alignment: 0 @@ -68565,20 +69045,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Legion_Commander_PressTheAttack_Immunity : public CDOTA_Modifier_DebuffImmune { public: - int32_t model_scale; // 0x12b8 + int32_t model_scale; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Legion_Commander_PressTheAttack : public CDOTA_Buff { public: - int32_t move_speed; // 0x12b8 - int32_t hp_regen; // 0x12bc + int32_t move_speed; // 0x12c8 + int32_t hp_regen; // 0x12cc }; // Alignment: 0 @@ -68590,20 +69070,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Legion_Commander_MomentOfCourage : public CDOTA_Buff { public: - int32_t trigger_chance; // 0x12b8 - float buff_duration; // 0x12bc + int32_t trigger_chance; // 0x12c8 + float buff_duration; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Legion_Commander_MomentOfCourage_Lifesteal : public CDOTA_Buff { public: - int32_t hp_leech_percent; // 0x12b8 + int32_t hp_leech_percent; // 0x12c8 }; // Alignment: 0 @@ -68615,7 +69095,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Legion_Commander_Duel_DamageBoost : public CDOTA_Buff { public: @@ -68631,35 +69111,35 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Holdout_GladiatorsUnite_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Holdout_GladiatorsUnite : public CDOTA_Buff { public: - 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 + int32_t bonus_armor_per_hero; // 0x12c8 + int32_t bonus_damage_per_hero; // 0x12cc + int32_t lifesteal_per_hero; // 0x12d0 + int32_t scepter_damage_reduction_pct; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Techies_Suicide_RespawnTime : public CDOTA_Buff { public: - int32_t m_nSuicideKillCount; // 0x12b8 + int32_t m_nSuicideKillCount; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_LandMines_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -68676,17 +69156,17 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Techies_ReactiveTazer : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 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 + int32_t bonus_ms; // 0x12d0 + int32_t stun_radius; // 0x12d4 + float stun_duration; // 0x12d8 + int32_t damage_percent; // 0x12dc + int32_t m_nDamageRemaining; // 0x12e0 }; // Alignment: 0 @@ -68698,7 +69178,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_ReactiveTazer_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -68714,68 +69194,68 @@ public: }; // Alignment: 13 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Techies_StickyBombThrow : public CDOTA_Buff { public: - 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 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + float m_flPredictedTotalTime; // 0x12cc + Vector m_vStartPosition; // 0x12d0 + float m_flCurrentTimeHoriz; // 0x12dc + float m_flCurrentTimeVert; // 0x12e0 + bool m_bHorizontalMotionInterrupted; // 0x12e4 + bool m_bDamageApplied; // 0x12e5 + bool m_bTargetTeleported; // 0x12e6 private: - [[maybe_unused]] uint8_t __pad12d7[0x1]; // 0x12d7 + [[maybe_unused]] uint8_t __pad12e7[0x1]; // 0x12e7 public: - Vector m_vHorizontalVelocity; // 0x12d8 - Vector m_vLastKnownTargetPosition; // 0x12e4 - float m_flInitialVelocityZ; // 0x12f0 - bool m_bDone; // 0x12f4 + Vector m_vHorizontalVelocity; // 0x12e8 + Vector m_vLastKnownTargetPosition; // 0x12f4 + float m_flInitialVelocityZ; // 0x1300 + bool m_bDone; // 0x1304 private: - [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 + [[maybe_unused]] uint8_t __pad1305[0x3]; // 0x1305 public: - int32_t radius; // 0x12f8 + int32_t radius; // 0x1308 }; // Alignment: 7 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Techies_StickyBomb_Chase : public CDOTA_Buff { public: - 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 + int32_t acceleration; // 0x12c8 + int32_t m_nTeamNumber; // 0x12cc + float speed; // 0x12d0 + float pre_chase_time; // 0x12d4 + CHandle< CBaseEntity > m_hAttachTarget; // 0x12d8 + Vector m_vStartPosition; // 0x12dc + CountdownTimer m_MoveTime; // 0x12e8 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Techies_StickyBomb_Countdown : public CDOTA_Buff { public: - Vector m_vLastLoc; // 0x12b8 - CHandle< CBaseEntity > m_hAttachTarget; // 0x12c4 + Vector m_vLastLoc; // 0x12c8 + CHandle< CBaseEntity > m_hAttachTarget; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Techies_StickyBomb_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Techies_StickyBomb_Slow_Secondary : public CDOTA_Buff { public: - int32_t secondary_slow; // 0x12b8 + int32_t secondary_slow; // 0x12c8 }; // Alignment: 0 @@ -68787,29 +69267,29 @@ public: }; // Alignment: 8 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Techies_LandMine : public CDOTA_Modifier_Invisible { public: - 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 + int32_t radius; // 0x12d8 + float proximity_threshold; // 0x12dc + float damage; // 0x12e0 + float activation_delay; // 0x12e4 + float outer_damage; // 0x12e8 + int32_t min_distance; // 0x12ec + bool bActivated; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x7]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x7]; // 0x12f1 public: - CountdownTimer m_Timer; // 0x12e8 + CountdownTimer m_Timer; // 0x12f8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Techies_LandMine_Burn : public CDOTA_Buff { public: - int32_t mres_reduction; // 0x12b8 + int32_t mres_reduction; // 0x12c8 }; // Alignment: 2 @@ -68822,21 +69302,21 @@ public: }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Techies_StasisTrap : public CDOTA_Modifier_Invisible { public: - 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 + int32_t activation_radius; // 0x12d8 + int32_t stun_radius; // 0x12dc + float stun_duration; // 0x12e0 + float explode_delay; // 0x12e4 + float activation_time; // 0x12e8 + bool m_bActivated; // 0x12ec + bool m_bTriggered; // 0x12ed }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_StasisTrap_Stunned : public CDOTA_Modifier_Rooted { public: @@ -68852,7 +69332,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_Suicide_Leap_Animation : public CDOTA_Modifier_Disarmed { public: @@ -68860,24 +69340,24 @@ public: }; // Alignment: 11 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Techies_Suicide_Leap : public CDOTA_Buff { public: - 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 + Vector m_vLoc; // 0x12c8 + float m_flPredictedTotalTime; // 0x12d4 + Vector m_vStartPosition; // 0x12d8 + float m_flCurrentTimeHoriz; // 0x12e4 + float m_flCurrentTimeVert; // 0x12e8 + bool m_bHorizontalMotionInterrupted; // 0x12ec + bool m_bDamageApplied; // 0x12ed + bool m_bTargetTeleported; // 0x12ee private: - [[maybe_unused]] uint8_t __pad12df[0x1]; // 0x12df + [[maybe_unused]] uint8_t __pad12ef[0x1]; // 0x12ef public: - Vector m_vHorizontalVelocity; // 0x12e0 - Vector m_vLastKnownTargetPosition; // 0x12ec - float m_flInitialVelocityZ; // 0x12f8 + Vector m_vHorizontalVelocity; // 0x12f0 + Vector m_vLastKnownTargetPosition; // 0x12fc + float m_flInitialVelocityZ; // 0x1308 }; // Alignment: 2 @@ -68890,7 +69370,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_DeployRemoteMine : public CDOTA_Buff { public: @@ -68898,18 +69378,18 @@ public: }; // Alignment: 8 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Techies_RemoteMine : public CDOTA_Modifier_Invisible { public: - 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 + int32_t radius; // 0x12d8 + int32_t damage; // 0x12dc + int32_t radius_scepter; // 0x12e0 + int32_t damage_scepter; // 0x12e4 + int32_t vision_radius; // 0x12e8 + float vision_duration; // 0x12ec + int32_t model_scale; // 0x12f0 + bool bExploding; // 0x12f4 }; // Alignment: 0 @@ -68940,18 +69420,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Techies_Minefield_Sign_Thinker : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 - float trigger_radius; // 0x12bc - float minefield_duration; // 0x12c0 - bool m_bTriggered; // 0x12c4 + int32_t aura_radius; // 0x12c8 + float trigger_radius; // 0x12cc + float minefield_duration; // 0x12d0 + bool m_bTriggered; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_Minefield_Sign_Aura : public CDOTA_Buff { public: @@ -68959,29 +69439,29 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Techies_Minefield_Sign_Scepter : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 - float minefield_duration; // 0x12bc + int32_t aura_radius; // 0x12c8 + float minefield_duration; // 0x12cc }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Techies_Minefield_Sign_Scepter_Aura : public CDOTA_Buff { public: - 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 + float aura_radius; // 0x12c8 + float scepter_move_damage; // 0x12cc + float scepter_move_amt; // 0x12d0 + float minefield_duration; // 0x12d4 + float m_flMoveAmount; // 0x12d8 + Vector m_vLastPosition; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Techies_Arcana_DamageListener : public CDOTA_Buff { public: @@ -68997,18 +69477,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_EmberSpirit_SearingChains : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x12b8 - float tick_interval; // 0x12bc - float tick_damage; // 0x12c0 - float duration; // 0x12c4 + int32_t damage_per_second; // 0x12c8 + float tick_interval; // 0x12cc + float tick_damage; // 0x12d0 + float duration; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_EmberSpirit_SlightOfFist_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -69027,7 +69507,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Marker : public CDOTA_Buff { public: @@ -69035,7 +69515,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_InProgress : public CDOTA_Buff { public: @@ -69043,18 +69523,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Caster : public CDOTA_Buff { public: - int32_t bonus_hero_damage; // 0x12b8 - int32_t creep_damage_penalty; // 0x12bc - int32_t radius; // 0x12c0 - float attack_interval; // 0x12c4 + int32_t bonus_hero_damage; // 0x12c8 + int32_t creep_damage_penalty; // 0x12cc + int32_t radius; // 0x12d0 + float attack_interval; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Caster_Invulnerability : public CDOTA_Buff { public: @@ -69070,30 +69550,30 @@ public: }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_EmberSpirit_FlameGuard : public CDOTA_Buff { public: - 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 + int32_t absorb_amount; // 0x12c8 + int32_t damage_per_second; // 0x12cc + int32_t radius; // 0x12d0 + float tick_interval; // 0x12d4 + int32_t shield_pct_absorb; // 0x12d8 + int32_t m_nAbsorbRemaining; // 0x12dc + float m_flShowParticleInterval; // 0x12e0 + bool m_bDestroy; // 0x12e4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EmberSpirit_FlameGuard_Debuff : public CDOTA_Buff { public: - int32_t blind_pct; // 0x12b8 + int32_t blind_pct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_EmberSpirit_FireRemnant_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -69109,38 +69589,38 @@ public: }; // Alignment: 3 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_EmberSpirit_FireRemnant_RemnantTracker : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_vActiveRemnants; // 0x12b8 - CUtlVector< CHandle< CBaseEntity > > m_vTrackingDelayedRemnants; // 0x12d0 - int32_t shard_charge_radius; // 0x12e8 + CUtlVector< CHandle< CBaseEntity > > m_vActiveRemnants; // 0x12c8 + CUtlVector< CHandle< CBaseEntity > > m_vTrackingDelayedRemnants; // 0x12e0 + int32_t shard_charge_radius; // 0x12f8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EmberSpirit_FireRemnantThinker : public CDOTA_Buff { public: - int32_t m_nProjectileHandle; // 0x12b8 - bool m_bIsShardRemnant; // 0x12bc + int32_t m_nProjectileHandle; // 0x12c8 + bool m_bIsShardRemnant; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EmberSpirit_FireRemnant_Shard : public CDOTA_Buff { public: - int32_t shard_radius; // 0x12b8 + int32_t shard_radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EmberSpirit_FireRemnant_Shard_Debuff : public CDOTA_Buff { public: - int32_t shard_damage_per_second; // 0x12b8 + int32_t shard_damage_per_second; // 0x12c8 }; // Alignment: 7 @@ -69163,7 +69643,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_EmberSpirit_FireRemnant_Timer : public CDOTA_Buff { public: @@ -69171,7 +69651,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_EmberSpirit_FireRemnant : public CDOTA_Buff { public: @@ -69179,7 +69659,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Earth_Spirit_StoneCaller_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -69220,12 +69700,12 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_EarthSpirit_RollingBoulder_Caster : public CDOTA_Buff { public: - Vector m_vDir; // 0x12b8 - bool m_bBoulderCreated; // 0x12c4 + Vector m_vDir; // 0x12c8 + bool m_bBoulderCreated; // 0x12d4 }; // Alignment: 0 @@ -69237,16 +69717,16 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_EarthSpirit_StoneThinker : public CDOTA_Buff { public: - int32_t vision_radius; // 0x12b8 - bool m_bHasBeenMagnetized; // 0x12bc + int32_t vision_radius; // 0x12c8 + bool m_bHasBeenMagnetized; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - ParticleIndex_t m_nFXIndex; // 0x12c0 + ParticleIndex_t m_nFXIndex; // 0x12d0 }; // Alignment: 12 @@ -69272,27 +69752,27 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EarthSpirit_BoulderSmash : public CDOTA_Buff { public: - bool m_bInterrupted; // 0x12b8 + bool m_bInterrupted; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t m_nProjectileID; // 0x12bc + int32_t m_nProjectileID; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EarthSpirit_Boulder_Smash_Debuff : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 + int32_t move_slow; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_EarthSpirit_Geogmagnetic_Grip_Debuff : public CDOTA_Modifier_Silence { public: @@ -69308,35 +69788,35 @@ public: }; // Alignment: 10 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_EarthSpirit_GeomagneticGrip : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t rock_damage; // 0x12cc + float pull_units_per_second; // 0x12d0 + float pull_units_per_second_heroes; // 0x12d4 + float total_pull_distance; // 0x12d8 + float duration; // 0x12dc + bool m_bUsedStone; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - Vector m_vDestination; // 0x12d4 - Vector m_vLocation; // 0x12e0 + Vector m_vDestination; // 0x12e4 + Vector m_vLocation; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec + [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12f0 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1300 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EarthSpirit_Petrify : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - bool m_bHasBeenMagnetized; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c8 + bool m_bHasBeenMagnetized; // 0x12cc }; // Alignment: 3 @@ -69350,23 +69830,23 @@ public: }; // Alignment: 10 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_EarthSpirit_Magnetize : public CDOTA_Buff { public: - 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 + int32_t rock_search_radius; // 0x12c8 + int32_t damage_per_second; // 0x12cc + float damage_interval; // 0x12d0 + float rock_explosion_delay; // 0x12d4 + float damage_duration; // 0x12d8 + int32_t cast_radius; // 0x12dc + int32_t rock_explosion_radius; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< CBaseEntity > > m_hExplodedRocks; // 0x12d8 - float duration; // 0x12f0 - bool m_bShowOverhead; // 0x12f4 + CUtlVector< CHandle< CBaseEntity > > m_hExplodedRocks; // 0x12e8 + float duration; // 0x1300 + bool m_bShowOverhead; // 0x1304 }; // Alignment: 1 @@ -69378,19 +69858,19 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_EarthSpirit_Polarization : public CDOTA_Buff { public: - 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 + int32_t damage_per_second; // 0x12c8 + float damage_interval; // 0x12cc + float damage_duration; // 0x12d0 + int32_t rock_search_radius; // 0x12d4 + CHandle< CBaseEntity > m_hMagnetizeAbility; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_EarthSpirit_Polarization_Damage_Timer : public CDOTA_Buff { public: @@ -69406,29 +69886,29 @@ public: }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AbyssalUnderlord_Firestorm_Thinker : public CDOTA_Buff { public: - 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 + int32_t wave_damage; // 0x12c8 + int32_t wave_count; // 0x12cc + int32_t radius; // 0x12d0 + float wave_interval; // 0x12d4 + float burn_duration; // 0x12d8 + float burn_interval; // 0x12dc + float first_wave_delay; // 0x12e0 + float building_damage; // 0x12e4 + CHandle< CBaseEntity > m_hTarget; // 0x12e8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AbyssalUnderlord_Firestorm_Burn : public CDOTA_Buff { public: - float burn_damage; // 0x12b8 - float burn_interval; // 0x12bc - float building_damage; // 0x12c0 + float burn_damage; // 0x12c8 + float burn_interval; // 0x12cc + float building_damage; // 0x12d0 }; // Alignment: 1 @@ -69440,18 +69920,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Thinker : public CDOTA_Buff { public: - int32_t pit_damage; // 0x12b8 - int32_t radius; // 0x12bc - float pit_interval; // 0x12c0 - float ensnare_duration; // 0x12c4 + int32_t pit_damage; // 0x12c8 + int32_t radius; // 0x12cc + float pit_interval; // 0x12d0 + float ensnare_duration; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -69459,15 +69939,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Slow : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x12b8 + int32_t speed_bonus; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Buff_Placer : public CDOTA_Buff { public: @@ -69483,38 +69963,38 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Effect : public CDOTA_Buff { public: - 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 + int32_t damage_reduction_pct; // 0x12c8 + float bonus_damage_duration; // 0x12cc + int32_t bonus_damage_from_creep; // 0x12d0 + int32_t bonus_damage_from_hero; // 0x12d4 + bool m_bWasHidden; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_HeroDmgBuff : public CDOTA_Buff { public: - int32_t bonus_damage_from_hero; // 0x12b8 - float bonus_shared_by_allies_pct; // 0x12bc - float m_flModifier; // 0x12c0 + int32_t bonus_damage_from_hero; // 0x12c8 + float bonus_shared_by_allies_pct; // 0x12cc + float m_flModifier; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Permanent_HeroDmgBuff : public CDOTA_Buff { public: @@ -69522,17 +70002,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_CreepDmgBuff : public CDOTA_Buff { public: - int32_t bonus_damage_from_creep; // 0x12b8 - float bonus_shared_by_allies_pct; // 0x12bc - float m_flModifier; // 0x12c0 + int32_t bonus_damage_from_creep; // 0x12c8 + float bonus_shared_by_allies_pct; // 0x12cc + float m_flModifier; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_DmgBuffCounter : public CDOTA_Buff { public: @@ -69540,11 +70020,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Scepter : public CDOTA_Buff { public: - int32_t bonus_damage_from_creep; // 0x12b8 + int32_t bonus_damage_from_creep; // 0x12c8 }; // Alignment: 2 @@ -69557,27 +70037,27 @@ public: }; // Alignment: 6 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AbyssalUnderlord_DarkRift : public CDOTA_Buff { public: - ParticleIndex_t m_nfxTargetTp; // 0x12b8 - int32_t radius; // 0x12bc - int32_t duration; // 0x12c0 - ParticleIndex_t m_nfxAmbientFx; // 0x12c4 - bool bPointTarget; // 0x12c8 + ParticleIndex_t m_nfxTargetTp; // 0x12c8 + int32_t radius; // 0x12cc + int32_t duration; // 0x12d0 + ParticleIndex_t m_nfxAmbientFx; // 0x12d4 + bool bPointTarget; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - Vector vDestination; // 0x12cc + Vector vDestination; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AbyssalUnderlord_DarkRift_Bonus_Health : public CDOTA_Buff { public: - int32_t scepter_health_bonus; // 0x12b8 + int32_t scepter_health_bonus; // 0x12c8 }; // Alignment: 0 @@ -69589,11 +70069,11 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Underlord_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x12b8 + Vector m_vOriginal; // 0x12c8 }; // Alignment: 2 @@ -69607,46 +70087,46 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Underlord_Portal_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nPortalAmbientFX; // 0x12b8 - float m_fPortalRadius; // 0x12bc - ParticleIndex_t m_nChannelFX; // 0x12c0 - int32_t m_nChannelCount; // 0x12c4 - ParticleIndex_t m_nCountdownFX; // 0x12c8 + ParticleIndex_t m_nPortalAmbientFX; // 0x12c8 + float m_fPortalRadius; // 0x12cc + ParticleIndex_t m_nChannelFX; // 0x12d0 + int32_t m_nChannelCount; // 0x12d4 + ParticleIndex_t m_nCountdownFX; // 0x12d8 }; // Alignment: 12 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Underlord_Portal_Warp_Channel : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nfxTargetTp; // 0x12c8 + ParticleIndex_t m_nfxTargetTp2; // 0x12cc + ParticleIndex_t m_nfxAmbientFx; // 0x12d0 + ParticleIndex_t m_nfxPortal1; // 0x12d4 + ParticleIndex_t m_nfxPortal2; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x8]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x8]; // 0x12dc public: - 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 + CHandle< CBaseEntity > m_hPortal; // 0x12e4 + CHandle< CBaseEntity > m_hOtherPortal; // 0x12e8 + Vector m_vStartPosition; // 0x12ec + float m_flTotalTime; // 0x12f8 + float m_flElapsedTimePortion; // 0x12fc + float animation_rate; // 0x1300 + int32_t stop_distance; // 0x1304 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Underlord_Portal_Buff : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 - int32_t bonus_ms; // 0x12bc + int32_t damage_reduction; // 0x12c8 + int32_t bonus_ms; // 0x12cc }; // Alignment: 2 @@ -69739,20 +70219,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Terrorblade_Reflection_Invulnerability : public CDOTA_Modifier_Invulnerable { public: - CHandle< CBaseEntity > hTarget; // 0x12b8 + CHandle< CBaseEntity > hTarget; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Terrorblade_Reflection_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 - int32_t attack_slow; // 0x12bc + int32_t move_slow; // 0x12c8 + int32_t attack_slow; // 0x12cc }; // Alignment: 0 @@ -69764,7 +70244,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Terrorblade_ConjureImage : public CDOTA_Buff { public: @@ -69780,7 +70260,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Terrorblade_Transforming : public CDOTA_Buff { public: @@ -69788,7 +70268,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Terrorblade_Demon_Zeal_Aura : public CDOTA_Buff { public: @@ -69804,14 +70284,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t berserk_bonus_attack_speed; // 0x12c8 + int32_t berserk_bonus_movement_speed; // 0x12cc + int32_t berserk_bonus_armor; // 0x12d0 + int32_t melee_bonus; // 0x12d4 }; // Alignment: 1 @@ -69823,15 +70303,15 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Terrorblade_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x12b8 + Vector m_vOriginal; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform_Aura : public CDOTA_Buff { public: @@ -69839,7 +70319,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform_Aura_Applier : public CDOTA_Buff { public: @@ -69847,7 +70327,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform : public CDOTA_Buff { public: @@ -69855,33 +70335,33 @@ public: }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Terrorblade_Metamorphosis : public CDOTA_Buff { public: - 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 + float base_attack_time; // 0x12c8 + int32_t bonus_range; // 0x12cc + int32_t m_iOriginalAttackCapabilities; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + int32_t speed_loss; // 0x12d8 + int32_t attack_projectile_speed_bonus; // 0x12dc + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12e0 + CUtlSymbolLarge m_iszOriginalRangedAttackEffect; // 0x12e8 }; // Alignment: 8 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Terrorblade_Metamorphosis_Fear_Thinker : public CDOTA_Buff { public: - 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 + float m_fLastRadius; // 0x12c8 + float m_fCurRadius; // 0x12cc + GameTime_t m_fLastThink; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12d8 + int32_t scepter_speed; // 0x12f0 + int32_t scepter_radius; // 0x12f4 + bool m_bFirstThink; // 0x12f8 }; // Alignment: 0 @@ -69893,12 +70373,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Terrorblade_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x12b8 - bool m_bFlail; // 0x12b9 + bool m_bFrozen; // 0x12c8 + bool m_bFlail; // 0x12c9 }; // Alignment: 0 @@ -69918,7 +70398,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Phoenix_SunRayVision : public CDOTA_Buff { public: @@ -69926,43 +70406,43 @@ public: }; // Alignment: 23 -// Size: 0x1330 +// Size: 0x1340 class CDOTA_Modifier_Phoenix_SunRay : public CDOTA_Buff { public: - 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 + int32_t hp_cost_perc_per_second; // 0x12c8 + int32_t beam_range; // 0x12cc + int32_t base_damage; // 0x12d0 + int32_t base_heal; // 0x12d4 + float tick_interval; // 0x12d8 + float forward_move_speed; // 0x12dc + float turn_rate_initial; // 0x12e0 + float turn_rate; // 0x12e4 + int32_t radius; // 0x12e8 + float m_flCurrentTime; // 0x12ec + float m_flAccumulatedSelfDamage; // 0x12f0 + bool m_bMovingForward; // 0x12f4 + bool m_bTurningFast; // 0x12f5 private: - [[maybe_unused]] uint8_t __pad12e6[0x2]; // 0x12e6 + [[maybe_unused]] uint8_t __pad12f6[0x2]; // 0x12f6 public: - 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 + float m_flFacingTarget; // 0x12f8 + float hp_perc_damage; // 0x12fc + float hp_perc_heal; // 0x1300 + float blind_duration; // 0x1304 + int32_t blind_per_second; // 0x1308 + ParticleIndex_t m_nBeamFXIndex; // 0x130c + CHandle< CBaseEntity > m_hVisionThinkers[8]; // 0x1310 + CHandle< CBaseEntity > m_hBeamEnd; // 0x1330 + bool m_bCreatedVisionThinkers; // 0x1334 private: - [[maybe_unused]] uint8_t __pad1325[0x3]; // 0x1325 + [[maybe_unused]] uint8_t __pad1335[0x3]; // 0x1335 public: - CHandle< CBaseEntity > m_hBeamEndSound; // 0x1328 + CHandle< CBaseEntity > m_hBeamEndSound; // 0x1338 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Phoenix_Sun_Ray_Blind : public CDOTA_Buff { public: @@ -69970,11 +70450,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Phoenix_Sun_Ray_Slow : public CDOTA_Buff { public: - int32_t shard_move_slow_pct; // 0x12b8 + int32_t shard_move_slow_pct; // 0x12c8 }; // Alignment: 0 @@ -70002,35 +70482,35 @@ public: }; // Alignment: 12 -// Size: 0x1320 +// Size: 0x1330 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 + Vector m_vSource; // 0x12c8 + Vector m_vTarget; // 0x12d4 + Vector m_vDirection; // 0x12e0 + QAngle m_angDirection; // 0x12ec + float m_flCurrentTime; // 0x12f8 + int32_t dash_length; // 0x12fc + int32_t dash_width; // 0x1300 + int32_t hit_radius; // 0x1304 + float burn_duration; // 0x1308 + float dive_duration; // 0x130c + float impact_damage; // 0x1310 private: - [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 + [[maybe_unused]] uint8_t __pad1314[0x4]; // 0x1314 public: - CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x1308 + CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x1318 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + float burn_tick_interval; // 0x12c8 + int32_t damage_per_second; // 0x12cc + int32_t slow_movement_speed_pct; // 0x12d0 }; // Alignment: 0 @@ -70042,11 +70522,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Phoenix_FireSpiritCount : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 4 @@ -70061,13 +70541,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Phoenix_FireSpiritBurn : public CDOTA_Buff { public: - float tick_interval; // 0x12b8 - int32_t attackspeed_slow; // 0x12bc - int32_t damage_per_second; // 0x12c0 + float tick_interval; // 0x12c8 + int32_t attackspeed_slow; // 0x12cc + int32_t damage_per_second; // 0x12d0 }; // Alignment: 0 @@ -70079,7 +70559,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Phoenix_SupernovaHiding : public CDOTA_Buff { public: @@ -70087,27 +70567,27 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Phoenix_Sun : public CDOTA_Buff { public: - 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 + int32_t aura_radius; // 0x12c8 + float stun_duration; // 0x12cc + int32_t max_hero_attacks; // 0x12d0 + int32_t max_hero_attacks_scepter; // 0x12d4 + int32_t max_hero_attacks_required; // 0x12d8 + CHandle< CBaseEntity > m_hSecondaryTarget; // 0x12dc + int32_t m_iAttackCount; // 0x12e0 + int32_t creep_attacks_count; // 0x12e4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Phoenix_Sun_Debuff : public CDOTA_Buff { public: - int32_t damage_per_sec; // 0x12b8 - float tick_interval; // 0x12bc + int32_t damage_per_sec; // 0x12c8 + float tick_interval; // 0x12cc }; // Alignment: 11 @@ -70132,7 +70612,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Oracle_FortunesEndChannelTarget : public CDOTA_Buff { public: @@ -70140,7 +70620,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Oracle_FortunesEndPurge : public CDOTA_Modifier_Rooted { public: @@ -70156,7 +70636,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Oracle_FatesEdict : public CDOTA_Buff { public: @@ -70176,12 +70656,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Oracle_PurifyingFlames : public CDOTA_Buff { public: - float heal_per_second; // 0x12b8 - float tick_rate; // 0x12bc + float heal_per_second; // 0x12c8 + float tick_rate; // 0x12cc }; // Alignment: 0 @@ -70193,7 +70673,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Oracle_FalsePromiseTimer : public CDOTA_Buff { public: @@ -70201,32 +70681,32 @@ public: }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Oracle_FalsePromise_Invis : public CDOTA_Modifier_PersistentInvisibility { public: - float shard_spell_amp_bonus; // 0x12c8 - float shard_bat_bonus; // 0x12cc + float shard_spell_amp_bonus; // 0x12d8 + float shard_bat_bonus; // 0x12dc }; // Alignment: 8 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Oracle_FalsePromise : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x30]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x30]; // 0x12c8 public: - bool m_bWaitingForInvulnerability; // 0x12e8 - bool m_bDisableHealing; // 0x12e9 + bool m_bWaitingForInvulnerability; // 0x12f8 + bool m_bDisableHealing; // 0x12f9 private: - [[maybe_unused]] uint8_t __pad12ea[0x2]; // 0x12ea + [[maybe_unused]] uint8_t __pad12fa[0x2]; // 0x12fa public: - 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 + float m_flHealthOnCreated; // 0x12fc + ParticleIndex_t m_nFXIndex; // 0x1300 + ParticleIndex_t m_nFXIndexB; // 0x1304 + float m_flRunningDmg; // 0x1308 + float m_flRunningHealth; // 0x130c + int32_t bonus_armor; // 0x1310 }; // Alignment: 0 @@ -70310,21 +70790,21 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Oracle_RainOfDestiny_Aura : public CDOTA_Buff { public: - float damage; // 0x12b8 - int32_t radius; // 0x12bc - ParticleIndex_t m_nFXIndex; // 0x12c0 + float damage; // 0x12c8 + int32_t radius; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Oracle_RainOfDestiny : public CDOTA_Buff { public: - int32_t heal_amp; // 0x12b8 + int32_t heal_amp; // 0x12c8 }; // Alignment: 1 @@ -70336,38 +70816,38 @@ public: }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Frost_Attack : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Flight : public CDOTA_Buff { public: - 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 + float attack_point; // 0x12c8 + int32_t attack_range_bonus; // 0x12cc + int32_t projectile_speed_bonus; // 0x12d0 + int32_t night_vision_bonus; // 0x12d4 + int32_t movement_scepter; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12d0 - int32_t max_attacks; // 0x12d8 - int32_t m_iNumAttacks; // 0x12dc + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12e0 + int32_t max_attacks; // 0x12e8 + int32_t m_iNumAttacks; // 0x12ec }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Slow : public CDOTA_Buff { public: - float percent_damage; // 0x12b8 - int32_t move_slow; // 0x12bc + float percent_damage; // 0x12c8 + int32_t move_slow; // 0x12cc }; // Alignment: 0 @@ -70379,11 +70859,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Winter_Wyvern_Splinter_Blast_Slow : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x12b8 + int32_t bonus_movespeed; // 0x12c8 }; // Alignment: 0 @@ -70395,14 +70875,14 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Winter_Wyvern_Cold_Embrace : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - int32_t heal_additive; // 0x12c0 - float heal_percentage; // 0x12c4 + int32_t heal_additive; // 0x12d0 + float heal_percentage; // 0x12d4 }; // Alignment: 0 @@ -70414,40 +70894,40 @@ public: }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse_Kill_Credit : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse_Aura : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - int32_t m_nAlliesTaunted; // 0x12bc - bool m_bRelicTriggered; // 0x12c0 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + int32_t m_nAlliesTaunted; // 0x12cc + bool m_bRelicTriggered; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t radius; // 0x12c4 - int32_t damage_amplification; // 0x12c8 - int32_t damage_reduction; // 0x12cc - GameTime_t m_flLastSeen; // 0x12d0 + int32_t radius; // 0x12d4 + int32_t damage_amplification; // 0x12d8 + int32_t damage_reduction; // 0x12dc + GameTime_t m_flLastSeen; // 0x12e0 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse : public CDOTA_Buff { public: - 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 + CHandle< CBaseEntity > m_hZombieTarget; // 0x12c8 + CHandle< CBaseEntity > m_hDesiredTarget; // 0x12cc + int32_t damage_reduction; // 0x12d0 + int32_t damage_amplification; // 0x12d4 + int32_t bonus_attack_speed; // 0x12d8 }; // Alignment: 0 @@ -70459,26 +70939,26 @@ public: }; // Alignment: 13 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_ArcWarden_Flux : public CDOTA_Buff { public: - 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 + int32_t m_nCasterTeam; // 0x12c8 + int32_t damage_per_second; // 0x12cc + int32_t tempest_damage_per_second; // 0x12d0 + int32_t search_radius; // 0x12d4 + int32_t move_speed_slow_pct; // 0x12d8 + int32_t tempest_move_speed_slow_pct; // 0x12dc + int32_t status_resist; // 0x12e0 + float think_interval; // 0x12e4 + int32_t m_nCurrentMovementSlow; // 0x12e8 + int32_t m_nCurrentStatusResistance; // 0x12ec + bool m_bAlone; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - ParticleIndex_t m_nFXIndex; // 0x12e4 - bool m_bIsTempestVersion; // 0x12e8 + ParticleIndex_t m_nFXIndex; // 0x12f4 + bool m_bIsTempestVersion; // 0x12f8 }; // Alignment: 0 @@ -70490,70 +70970,70 @@ public: }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - int32_t radius; // 0x12c0 - Vector m_vPos; // 0x12c4 + int32_t radius; // 0x12d0 + Vector m_vPos; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_Attack_Speed : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_ArcWarden_MagneticField_Evasion : public CDOTA_Buff { public: - 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 + int32_t evasion_chance; // 0x12c8 + int32_t radius; // 0x12cc + int32_t shard_magic_resist; // 0x12d0 + int32_t shard_slow_pct; // 0x12d4 + float aura_origin_x; // 0x12d8 + float aura_origin_y; // 0x12dc }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_AttackRange : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - int32_t radius; // 0x12c0 - Vector m_vPos; // 0x12c4 + int32_t radius; // 0x12d0 + Vector m_vPos; // 0x12d4 }; // Alignment: 9 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_ArcWarden_MagneticField_AttackRange : public CDOTA_Buff { public: - 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 + int32_t attack_range_bonus; // 0x12c8 + int32_t attack_magic_damage; // 0x12cc + int32_t attack_damage_bonus; // 0x12d0 + int32_t radius; // 0x12d4 + int32_t shard_magic_resist; // 0x12d8 + int32_t shard_slow_pct; // 0x12dc + float aura_origin_x; // 0x12e0 + float aura_origin_y; // 0x12e4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ArcWarden_MagneticField_Attack_Speed : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x12b8 + int32_t attack_speed_bonus; // 0x12c8 }; // Alignment: 5 @@ -70565,36 +71045,36 @@ public: float activation_delay; // 0x56c float wraith_vision_duration; // 0x570 int32_t wraith_vision_radius; // 0x574 - int32_t spark_damage; // 0x578 + float spark_damage; // 0x578 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ArcWarden_SparkWraith_Purge : public CDOTA_Buff { public: - int32_t move_speed_slow_pct; // 0x12b8 + int32_t move_speed_slow_pct; // 0x12c8 }; // Alignment: 11 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_ArcWarden_SparkWraith_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t scepter_radius; // 0x12bc - int32_t wraith_vision_radius; // 0x12c0 - int32_t wraith_speed; // 0x12c4 + int32_t radius; // 0x12c8 + int32_t scepter_radius; // 0x12cc + int32_t wraith_vision_radius; // 0x12d0 + int32_t wraith_speed; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 + [[maybe_unused]] uint8_t __pad12d8[0x8]; // 0x12d8 public: - 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 + float activation_delay; // 0x12e0 + float scepter_activation_delay; // 0x12e4 + float think_interval; // 0x12e8 + float m_flSparkDamage; // 0x12ec + int32_t m_nViewerID; // 0x12f0 + bool m_bActive; // 0x12f4 + bool m_bOriginal; // 0x12f5 }; // Alignment: 1 @@ -70607,20 +71087,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ArcWarden_TempestDouble : public CDOTA_Buff { public: - int32_t penalty_distance; // 0x12b8 - int32_t attack_damage_penalty; // 0x12bc + int32_t penalty_distance; // 0x12c8 + int32_t attack_damage_penalty; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ArcWarden_TempestDouble_DistancePenalty : public CDOTA_Buff { public: - int32_t attack_damage_penalty; // 0x12b8 + int32_t attack_damage_penalty; // 0x12c8 }; // Alignment: 0 @@ -70632,11 +71112,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Arc_Warden_Scepter : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hRune; // 0x12b8 + CHandle< CBaseEntity > m_hRune; // 0x12c8 }; // Alignment: 0 @@ -70648,34 +71128,34 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Banana : public CDOTA_Buff { public: - int32_t slide_distance; // 0x12b8 - int32_t radius; // 0x12bc - float slide_duration; // 0x12c0 + int32_t slide_distance; // 0x12c8 + int32_t radius; // 0x12cc + float slide_duration; // 0x12d0 }; // Alignment: 11 -// Size: 0x1308 +// Size: 0x1318 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 + Vector m_vCenter; // 0x12c8 + int32_t knockback_distance; // 0x12d4 + int32_t knockback_height; // 0x12d8 + float knockback_duration; // 0x12dc + Vector m_vHorizOffset; // 0x12e0 + Vector m_vStartPosition; // 0x12ec + Vector m_vDir; // 0x12f8 + float m_fCurrentTimeHoriz; // 0x1304 + float m_fCurrentTimeVert; // 0x1308 + bool m_bShouldStun; // 0x130c private: - [[maybe_unused]] uint8_t __pad12fd[0x3]; // 0x12fd + [[maybe_unused]] uint8_t __pad130d[0x3]; // 0x130d public: - float flTimeSinceChange; // 0x1300 + float flTimeSinceChange; // 0x1310 }; // Alignment: 2 @@ -70711,7 +71191,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MonkeyKing_Strike_Stun : public CDOTA_Modifier_Stunned { public: @@ -70719,47 +71199,47 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_Strike_Crit : public CDOTA_Buff { public: - int32_t strike_crit_mult; // 0x12b8 + int32_t strike_crit_mult; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_Bounce : public CDOTA_Buff { public: - float jump_damage_cooldown; // 0x12b8 + float jump_damage_cooldown; // 0x12c8 }; // Alignment: 18 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_MonkeyKing_BounceLeap : public CDOTA_Buff { public: - 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 + float give_up_distance; // 0x12c8 + float ground_jump_distance; // 0x12cc + float m_flZDelta; // 0x12d0 + float perched_day_vision; // 0x12d4 + float perched_night_vision; // 0x12d8 + Vector m_vStart; // 0x12dc + CHandle< CBaseEntity > m_hTarget; // 0x12e8 + Vector m_vTargetPos; // 0x12ec + float m_flSpeed; // 0x12f8 + bool m_bTargetingEntity; // 0x12fc + bool m_bGroundToTree; // 0x12fd + bool m_bTreeToGround; // 0x12fe + bool m_bTreeToTree; // 0x12ff + bool m_bIsSpringJump; // 0x1300 private: - [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 + [[maybe_unused]] uint8_t __pad1301[0x3]; // 0x1301 public: - float m_fSpringChanneledPercent; // 0x12f4 - int32_t m_nLeapSpeed; // 0x12f8 - ParticleIndex_t m_nFXIndex; // 0x12fc - ParticleIndex_t m_nFXIndex2; // 0x1300 + float m_fSpringChanneledPercent; // 0x1304 + int32_t m_nLeapSpeed; // 0x1308 + ParticleIndex_t m_nFXIndex; // 0x130c + ParticleIndex_t m_nFXIndex2; // 0x1310 }; // Alignment: 0 @@ -70771,16 +71251,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_TreeDance_Activity : public CDOTA_Buff { public: - float m_fAbilityRangePct; // 0x12b8 - float m_bIsSpring; // 0x12bc + float m_fAbilityRangePct; // 0x12c8 + float m_bIsSpring; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MonkeyKing_RightClickJump_Activity : public CDOTA_Buff { public: @@ -70788,16 +71268,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_SpringSlow : public CDOTA_Buff { public: - int32_t impact_movement_slow; // 0x12b8 - int32_t m_nSlowPct; // 0x12bc + int32_t impact_movement_slow; // 0x12c8 + int32_t m_nSlowPct; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MonkeyKing_Spring_Thinker : public CDOTA_Buff { public: @@ -70805,7 +71285,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MonkeyKing_TreeJump_Hidden : public CDOTA_Buff { public: @@ -70813,7 +71293,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MonkeyKing_UnperchedStunned : public CDOTA_Modifier_Stunned { public: @@ -70821,26 +71301,26 @@ public: }; // Alignment: 13 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_MonkeyKing_ArcToGround : public CDOTA_Buff { public: - 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 + float leap_speed; // 0x12c8 + float give_up_distance; // 0x12cc + float attackspeed_duration; // 0x12d0 + float m_flOriginalZDelta; // 0x12d4 + float m_flZDelta; // 0x12d8 + Vector m_vStart; // 0x12dc + Vector m_vTargetPos; // 0x12e8 + float m_flSpeed; // 0x12f4 + bool m_bDroppedFromTree; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 + [[maybe_unused]] uint8_t __pad12f9[0x3]; // 0x12f9 public: - ParticleIndex_t m_nFXIndex; // 0x12ec - ParticleIndex_t m_nFXIndex2; // 0x12f0 - float m_flOriginalHeight; // 0x12f4 - bool m_bRightClickHop; // 0x12f8 + ParticleIndex_t m_nFXIndex; // 0x12fc + ParticleIndex_t m_nFXIndex2; // 0x1300 + float m_flOriginalHeight; // 0x1304 + bool m_bRightClickHop; // 0x1308 }; // Alignment: 0 @@ -70852,25 +71332,25 @@ public: }; // Alignment: 15 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_MonkeyKing_Transform : public CDOTA_Buff { public: - 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 + CUtlString m_strDisguise; // 0x12c8 + int32_t movespeed; // 0x12d0 + int32_t m_nDisguisedSpeed; // 0x12d4 + int32_t reveal_radius; // 0x12d8 + ParticleIndex_t m_nDisguiseEffectIndex; // 0x12dc + CHandle< CBaseEntity > m_hCourierToClone; // 0x12e0 + CHandle< CBaseEntity > m_hCreepToClone; // 0x12e4 + CUtlVector< CHandle< CBaseEntity > > m_aryBountyRuneSpawners; // 0x12e8 + bool m_bIsFlyingCourier; // 0x1300 + bool m_bIsRune; // 0x1301 + bool m_bIsBanana; // 0x1302 + bool m_bIsFakeAlly; // 0x1303 + uint32_t m_nMischiefUnitType; // 0x1304 + int32_t m_nMischiefHealthbarOffset; // 0x1308 + float invul_duration; // 0x130c }; // Alignment: 0 @@ -70882,61 +71362,61 @@ public: }; // Alignment: 10 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_MonkeyKing_FurArmyThinker : public CDOTA_Buff { public: - 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 + float m_fDuration; // 0x12c8 + GameTime_t m_fTimeThinkerCreated; // 0x12cc + CUtlVector< Vector > m_vTargetPositions; // 0x12d0 + Vector m_vInitialPos; // 0x12e8 + int32_t first_radius; // 0x12f4 + int32_t num_first_soldiers; // 0x12f8 + int32_t second_radius; // 0x12fc + int32_t num_second_soldiers; // 0x1300 + ParticleIndex_t m_nRingFXIndex; // 0x1304 + int32_t final_radius; // 0x1308 }; // Alignment: 7 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_MonkeyKing_FurArmy_Soldier : public CDOTA_Buff { public: - Vector m_vTargetPos; // 0x12b8 - Vector m_vDirection; // 0x12c4 - int32_t move_speed; // 0x12d0 - CHandle< CBaseEntity > m_hThinker; // 0x12d4 - bool m_bIsInPosition; // 0x12d8 + Vector m_vTargetPos; // 0x12c8 + Vector m_vDirection; // 0x12d4 + int32_t move_speed; // 0x12e0 + CHandle< CBaseEntity > m_hThinker; // 0x12e4 + bool m_bIsInPosition; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - ParticleIndex_t m_nFXIndex; // 0x12dc - bool m_bAutoSpawn; // 0x12e0 + ParticleIndex_t m_nFXIndex; // 0x12ec + bool m_bAutoSpawn; // 0x12f0 }; // Alignment: 10 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierInPosition : public CDOTA_Buff { public: - 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 + Vector m_vTargetPos; // 0x12c8 + CHandle< CBaseEntity > m_hAttackTarget; // 0x12d4 + float attack_speed; // 0x12d8 + int32_t second_radius; // 0x12dc + int32_t outer_attack_buffer; // 0x12e0 + CHandle< CBaseEntity > m_hThinker; // 0x12e4 + bool m_bDisarmed; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - GameTime_t m_flNextAttackTime; // 0x12dc - ParticleIndex_t m_nFXIndex; // 0x12e0 - bool m_bAutoSpawn; // 0x12e4 + GameTime_t m_flNextAttackTime; // 0x12ec + ParticleIndex_t m_nFXIndex; // 0x12f0 + bool m_bAutoSpawn; // 0x12f4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierInactive : public CDOTA_Buff { public: @@ -70944,7 +71424,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierHidden : public CDOTA_Buff { public: @@ -70952,7 +71432,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_ObliterateSoldier : public CDOTA_Buff { public: @@ -70960,11 +71440,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_FurArmy_BonusDamage : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 0 @@ -70976,38 +71456,38 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_MonkeyKing_QuadrupleTap : public CDOTA_Buff { public: - int32_t counter_duration; // 0x12b8 - int32_t required_hits; // 0x12bc - int32_t max_duration; // 0x12c0 + int32_t counter_duration; // 0x12c8 + int32_t required_hits; // 0x12cc + int32_t max_duration; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MonkeyKing_QuadrupleTap_Counter : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x12b8 + ParticleIndex_t m_nFXStackIndex; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_MonkeyKing_QuadrupleTap_Bonuses : public CDOTA_Buff { public: - 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 + int32_t charges; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t lifesteal; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + int32_t m_nIgnoreStrikeIndex; // 0x12d8 + bool m_bIsAttackAnim; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MonkeyKing_CloudRun : public CDOTA_Buff { public: @@ -71015,7 +71495,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MonkeyKing_CloudRunStart : public CDOTA_Buff { public: @@ -71023,26 +71503,26 @@ public: }; // Alignment: 13 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_MonkeyKing_BoundlessStrike_ShardMovement : public CDOTA_Buff { public: - float m_flPredictedTotalTime; // 0x12b8 - Vector m_vStartPosition; // 0x12bc - float m_flCurrentTimeHoriz; // 0x12c8 - float m_flCurrentTimeVert; // 0x12cc - bool m_bHorizontalMotionInterrupted; // 0x12d0 + float m_flPredictedTotalTime; // 0x12c8 + Vector m_vStartPosition; // 0x12cc + float m_flCurrentTimeHoriz; // 0x12d8 + float m_flCurrentTimeVert; // 0x12dc + bool m_bHorizontalMotionInterrupted; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - 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 + Vector m_vHorizontalVelocity; // 0x12e4 + Vector m_vLastKnownTargetPosition; // 0x12f0 + float m_flInitialVelocityZ; // 0x12fc + int32_t acceleration_z; // 0x1300 + int32_t min_height_above_lowest; // 0x1304 + int32_t min_height_above_highest; // 0x1308 + int32_t max_horizontal_acceleration; // 0x130c + int32_t spring_channel_pct; // 0x1310 }; // Alignment: 0 @@ -71054,29 +71534,29 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pangolier_HeartPiercer : public CDOTA_Buff { public: - float debuff_delay; // 0x12b8 - int32_t chance_pct; // 0x12bc + float debuff_delay; // 0x12c8 + int32_t chance_pct; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pangolier_HeartPiercer_Delay : public CDOTA_Buff { public: - float duration; // 0x12b8 - float debuff_delay; // 0x12bc + float duration; // 0x12c8 + float debuff_delay; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pangolier_HeartPiercer_Debuff : public CDOTA_Buff { public: - int32_t slow_pct; // 0x12b8 + int32_t slow_pct; // 0x12c8 }; // Alignment: 0 @@ -71088,28 +71568,28 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pangolier_LuckyShot : public CDOTA_Buff { public: - int32_t chance_pct; // 0x12b8 + int32_t chance_pct; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pangolier_LuckyShot_Disarm : public CDOTA_Buff { public: - int32_t armor; // 0x12b8 - int32_t attack_slow; // 0x12bc + int32_t armor; // 0x12c8 + int32_t attack_slow; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pangolier_LuckyShot_Silence : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 0 @@ -71121,44 +71601,44 @@ public: }; // Alignment: 10 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Pangolier_ShieldCrash_Jump : public CDOTA_Buff { public: - 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 + float jump_duration; // 0x12c8 + float jump_duration_gyroshell; // 0x12cc + int32_t jump_height; // 0x12d0 + int32_t jump_height_gyroshell; // 0x12d4 + float m_flStartZ; // 0x12d8 + float m_flCurTime; // 0x12dc + float m_flJumpDuration; // 0x12e0 + float m_flJumpHeight; // 0x12e4 + int32_t jump_horizontal_distance; // 0x12e8 + Vector m_vTargetHorizontalDirection; // 0x12ec }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pangolier_ShieldCrash_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Pangolier_ShieldCrash_Buff : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t m_nAbsorbRemaining; // 0x12cc + int32_t hero_shield; // 0x12d0 + int32_t base_shield; // 0x12d4 + int32_t accummulated_value; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Pangolier_Swashbuckle_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -71186,27 +71666,27 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pangolier_Swashbuckle_Attack : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 + int32_t damage; // 0x12c8 }; // Alignment: 5 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Pangolier_Swashbuckle : public CDOTA_Buff { public: - int32_t m_nStrikesLeft; // 0x12b8 - float attack_interval; // 0x12bc - Vector m_vSpawnPos; // 0x12c0 - Vector m_vStrikeDir; // 0x12cc - Vector m_vDashDir; // 0x12d8 + int32_t m_nStrikesLeft; // 0x12c8 + float attack_interval; // 0x12cc + Vector m_vSpawnPos; // 0x12d0 + Vector m_vStrikeDir; // 0x12dc + Vector m_vDashDir; // 0x12e8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Pangolier_Swashbuckle_Stunned : public CDOTA_Buff { public: @@ -71222,45 +71702,45 @@ public: }; // Alignment: 20 -// Size: 0x1358 +// Size: 0x1368 class CDOTA_Modifier_Pangolier_Gyroshell : public CDOTA_Modifier_DebuffImmune { public: - 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 + int32_t mp_cost_per_second; // 0x12c8 + float tick_interval; // 0x12cc + float forward_move_speed; // 0x12d0 + float turn_rate_boosted; // 0x12d4 + float turn_rate; // 0x12d8 + int32_t hit_radius; // 0x12dc + int32_t knockback_radius; // 0x12e0 + bool m_bHitFirstUpdate; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - 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 + GameTime_t m_flHitEndTime; // 0x12e8 + float hit_recover_time; // 0x12ec + GameTime_t m_flJumpEndTime; // 0x12f0 + float jump_recover_time; // 0x12f4 + float m_flTurnBoostProgress; // 0x12f8 + float m_flFacingTarget; // 0x12fc + bool m_bIsJumping; // 0x1300 private: - [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 + [[maybe_unused]] uint8_t __pad1301[0x3]; // 0x1301 public: - 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 + ParticleIndex_t m_nFXIndex; // 0x1304 + CUtlVector< float32 > m_flTurnHistory; // 0x1308 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x1320 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x1338 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1350 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Pangolier_Gyroshell_Ricochet : public CDOTA_Buff { public: - float m_flStartZ; // 0x12b8 - float m_flCurTime; // 0x12bc + float m_flStartZ; // 0x12c8 + float m_flCurTime; // 0x12cc }; // Alignment: 0 @@ -71272,7 +71752,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Pangolier_GyroshellTimeout : public CDOTA_Buff { public: @@ -71280,27 +71760,27 @@ public: }; // Alignment: 10 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Pangolier_GyroshellBounce : public CDOTA_Buff { public: - 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 + Vector m_vLoc; // 0x12c8 + float m_flPredictedTotalTime; // 0x12d4 + Vector m_vStartPosition; // 0x12d8 + float m_flCurrentTimeHoriz; // 0x12e4 + float m_flCurrentTimeVert; // 0x12e8 + bool m_bHorizontalMotionInterrupted; // 0x12ec + bool m_bTargetTeleported; // 0x12ed private: - [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de + [[maybe_unused]] uint8_t __pad12ee[0x2]; // 0x12ee public: - Vector m_vHorizontalVelocity; // 0x12e0 - Vector m_vLastKnownTargetPosition; // 0x12ec - float m_flInitialVelocityZ; // 0x12f8 + Vector m_vHorizontalVelocity; // 0x12f0 + Vector m_vLastKnownTargetPosition; // 0x12fc + float m_flInitialVelocityZ; // 0x1308 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Pangolier_Gyroshell_Stun : public CDOTA_Modifier_Stunned { public: @@ -71324,38 +71804,38 @@ public: }; // Alignment: 22 -// Size: 0x1360 +// Size: 0x1370 class CDOTA_Modifier_Pangolier_Rollup : public CDOTA_Modifier_DebuffImmune { public: - 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 + int32_t mp_cost_per_second; // 0x12c8 + float tick_interval; // 0x12cc + float forward_move_speed; // 0x12d0 + float turn_rate_boosted; // 0x12d4 + float turn_rate; // 0x12d8 + int32_t hit_radius; // 0x12dc + int32_t knockback_radius; // 0x12e0 + bool m_bHitFirstUpdate; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - 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 + GameTime_t m_flHitEndTime; // 0x12e8 + float hit_recover_time; // 0x12ec + GameTime_t m_flJumpEndTime; // 0x12f0 + float jump_recover_time; // 0x12f4 + float m_flTurnBoostProgress; // 0x12f8 + float m_flFacingTarget; // 0x12fc + GameTime_t m_flLastHeroAttackTime; // 0x1300 + bool m_bIsJumping; // 0x1304 private: - [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 + [[maybe_unused]] uint8_t __pad1305[0x3]; // 0x1305 public: - 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 + ParticleIndex_t m_nFXIndex; // 0x1308 + float m_flGyroshellDurationRemaining; // 0x130c + CUtlVector< float32 > m_flTurnHistory; // 0x1310 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x1328 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x1340 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1358 }; // Alignment: 0 @@ -71367,34 +71847,34 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_DarkWillow_BrambleMaze_Creation_Thinker : public CDOTA_Buff { public: - float latch_creation_interval; // 0x12b8 - float initial_creation_delay; // 0x12bc - int32_t placement_count; // 0x12c0 - float placement_duration; // 0x12c4 - int32_t m_iBramblesIndex; // 0x12c8 + float latch_creation_interval; // 0x12c8 + float initial_creation_delay; // 0x12cc + int32_t placement_count; // 0x12d0 + float placement_duration; // 0x12d4 + int32_t m_iBramblesIndex; // 0x12d8 }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_DarkWillow_BrambleMaze_Thinker : public CDOTA_Buff { public: - int32_t latch_range; // 0x12b8 - int32_t latch_vision; // 0x12bc - float latch_creation_delay; // 0x12c0 - float latch_duration; // 0x12c4 + int32_t latch_range; // 0x12c8 + int32_t latch_vision; // 0x12cc + float latch_creation_delay; // 0x12d0 + float latch_duration; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 + [[maybe_unused]] uint8_t __pad12d8[0x8]; // 0x12d8 public: - bool m_bActive; // 0x12d0 + bool m_bActive; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DarkWillow_BrambleMaze : public CDOTA_Buff { public: @@ -71410,7 +71890,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DarkWillow_ShadowRealm_FadeTime : public CDOTA_Buff { public: @@ -71418,35 +71898,35 @@ public: }; // Alignment: 9 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_DarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - float max_damage_duration; // 0x12bc - int32_t attack_range_bonus; // 0x12c0 + int32_t damage; // 0x12c8 + float max_damage_duration; // 0x12cc + int32_t attack_range_bonus; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 - bool bAttackRange; // 0x12e0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 + bool bAttackRange; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - GameTime_t m_flStartTime; // 0x12e4 - GameTime_t m_flFadeTime; // 0x12e8 - float m_flDamageScale; // 0x12ec - float duration; // 0x12f0 + GameTime_t m_flStartTime; // 0x12f4 + GameTime_t m_flFadeTime; // 0x12f8 + float m_flDamageScale; // 0x12fc + float duration; // 0x1300 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_DarkWillow_ShadowRealm_Buff_Attack_Logic : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - int32_t m_iRecord; // 0x12bc - float m_flDamageScale; // 0x12c0 + int32_t damage; // 0x12c8 + int32_t m_iRecord; // 0x12cc + float m_flDamageScale; // 0x12d0 }; // Alignment: 1 @@ -71458,14 +71938,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_DarkWillow_CursedCrown : public CDOTA_Buff { public: - float delay; // 0x12b8 - float stun_duration; // 0x12bc - int32_t stun_radius; // 0x12c0 - GameTime_t m_fStartTime; // 0x12c4 + float delay; // 0x12c8 + float stun_duration; // 0x12cc + int32_t stun_radius; // 0x12d0 + GameTime_t m_fStartTime; // 0x12d4 }; // Alignment: 0 @@ -71477,23 +71957,23 @@ public: }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_DarkWillow_Bedlam : public CDOTA_Buff { public: - 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 + float m_flRotation; // 0x12c8 + CHandle< CBaseEntity > m_hWisp; // 0x12cc + GameTime_t m_flLastAttack; // 0x12d0 + int32_t roaming_radius; // 0x12d4 + int32_t attack_radius; // 0x12d8 + float roaming_seconds_per_rotation; // 0x12dc + float attack_interval; // 0x12e0 + int32_t target_count; // 0x12e4 + bool m_bTravelling; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - int32_t travel_speed; // 0x12dc + int32_t travel_speed; // 0x12ec }; // Alignment: 1 @@ -71505,43 +71985,43 @@ public: }; // Alignment: 14 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_DarkWillow_Terrorize_Thinker : public CDOTA_Buff { public: - 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 + CHandle< CBaseEntity > m_hWisp; // 0x12c8 + int32_t destination_travel_speed; // 0x12cc + int32_t return_travel_speed; // 0x12d0 + int32_t destination_radius; // 0x12d4 + float destination_status_duration; // 0x12d8 + float initial_delay; // 0x12dc + float starting_height; // 0x12e0 + Vector m_vAttackLocation; // 0x12e4 + bool m_bAttacking; // 0x12f0 + bool m_bReturning; // 0x12f1 private: - [[maybe_unused]] uint8_t __pad12e2[0x2]; // 0x12e2 + [[maybe_unused]] uint8_t __pad12f2[0x2]; // 0x12f2 public: - float m_fCurHeight; // 0x12e4 - float m_fEstimatedTravelTime; // 0x12e8 - float think_interval; // 0x12ec - bool m_bInFlight; // 0x12f0 + float m_fCurHeight; // 0x12f4 + float m_fEstimatedTravelTime; // 0x12f8 + float think_interval; // 0x12fc + bool m_bInFlight; // 0x1300 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DarkWillow_Debuff_Fear : public CDOTA_Modifier_Fear { public: - bool m_bDidGiveOrder; // 0x12b8 + bool m_bDidGiveOrder; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DarkWillow_Creature_Invulnerable : public CDOTA_Buff { public: - int32_t m_nOverrideAnim; // 0x12b8 + int32_t m_nOverrideAnim; // 0x12c8 }; // Alignment: 0 @@ -71609,62 +72089,62 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Grimstroke_InkCreature_Spawning : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hAttachTarget; // 0x12b8 + CHandle< CBaseEntity > m_hAttachTarget; // 0x12c8 }; // Alignment: 10 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Grimstroke_InkCreature : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - ParticleIndex_t m_nAmbientFXIndex; // 0x12bc - int32_t m_nAttackCount; // 0x12c0 - bool m_bIsLatched; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + ParticleIndex_t m_nAmbientFXIndex; // 0x12cc + int32_t m_nAttackCount; // 0x12d0 + bool m_bIsLatched; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - CHandle< CBaseEntity > m_hAttachTarget; // 0x12c8 + CHandle< CBaseEntity > m_hAttachTarget; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CountdownTimer m_EnemyVision; // 0x12d0 - float latch_duration; // 0x12e8 - float speed; // 0x12ec - int32_t destroy_attacks; // 0x12f0 - int32_t hero_attack_multiplier; // 0x12f4 + CountdownTimer m_EnemyVision; // 0x12e0 + float latch_duration; // 0x12f8 + float speed; // 0x12fc + int32_t destroy_attacks; // 0x1300 + int32_t hero_attack_multiplier; // 0x1304 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Grimstroke_InkCreature_Debuff : public CDOTA_Buff { public: - float m_flCurrentArmorReduction; // 0x12b8 - CHandle< CBaseEntity > m_hLatchedCreature; // 0x12bc - float tick_interval; // 0x12c0 - int32_t damage_per_second; // 0x12c4 + float m_flCurrentArmorReduction; // 0x12c8 + CHandle< CBaseEntity > m_hLatchedCreature; // 0x12cc + float tick_interval; // 0x12d0 + int32_t damage_per_second; // 0x12d4 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Grimstroke_InkCreature_Latched : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hAttachTarget; // 0x12b8 - float m_fZOffset; // 0x12bc - bool m_bRemovedByEnemy; // 0x12c0 + CHandle< CBaseEntity > m_hAttachTarget; // 0x12c8 + float m_fZOffset; // 0x12cc + bool m_bRemovedByEnemy; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - float latch_duration; // 0x12c4 - int32_t pop_damage; // 0x12c8 - int32_t latched_unit_offset; // 0x12cc - int32_t latched_unit_offset_short; // 0x12d0 + float latch_duration; // 0x12d4 + int32_t pop_damage; // 0x12d8 + int32_t latched_unit_offset; // 0x12dc + int32_t latched_unit_offset_short; // 0x12e0 }; // Alignment: 0 @@ -71685,25 +72165,25 @@ public: }; // Alignment: 15 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Grimstroke_SpiritWalk_Buff : public CDOTA_Buff { public: - 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 + GameTime_t m_fStartTime; // 0x12c8 + int32_t m_nHeroTickDamageApplied; // 0x12cc + GameTime_t m_fLastEffectsTime; // 0x12d0 + int32_t radius; // 0x12d4 + float buff_duration; // 0x12d8 + float debuff_duration; // 0x12dc + int32_t max_damage; // 0x12e0 + float max_stun; // 0x12e4 + int32_t movespeed_bonus_pct; // 0x12e8 + int32_t damage_per_tick; // 0x12ec + float tick_rate; // 0x12f0 + float max_threshold_duration; // 0x12f4 + int32_t shard_bonus_damage_pct; // 0x12f8 + int32_t shard_heal_pct; // 0x12fc + bool m_bIsReflection; // 0x1300 }; // Alignment: 0 @@ -71742,11 +72222,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Grimstroke_DarkArtistry_Slow : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x12b8 + int32_t movement_slow_pct; // 0x12c8 }; // Alignment: 3 @@ -71760,47 +72240,47 @@ public: }; // Alignment: 17 -// Size: 0x1300 +// Size: 0x1310 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 + CHandle< CBaseEntity > m_hPartner; // 0x12c8 + bool m_bIsPrimary; // 0x12cc + bool m_bEscaped; // 0x12cd + bool m_bTethered; // 0x12ce private: - [[maybe_unused]] uint8_t __pad12bf[0x1]; // 0x12bf + [[maybe_unused]] uint8_t __pad12cf[0x1]; // 0x12cf public: - ParticleIndex_t m_nFXIndex; // 0x12c0 - ParticleIndex_t m_nFXIndexA; // 0x12c4 - ParticleIndex_t m_nFXIndexB; // 0x12c8 - bool m_bStartedLeashSound; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d0 + ParticleIndex_t m_nFXIndexA; // 0x12d4 + ParticleIndex_t m_nFXIndexB; // 0x12d8 + bool m_bStartedLeashSound; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd 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 + float m_fLeashDistance; // 0x12e0 + GameTime_t m_fOriginalStartTime; // 0x12e4 + ParticleIndex_t m_nOverheadFXIndex; // 0x12e8 + int32_t chain_latch_radius; // 0x12ec + int32_t chain_break_distance; // 0x12f0 + float leash_limit_multiplier; // 0x12f4 + float chain_duration; // 0x12f8 + float creep_duration_pct; // 0x12fc + int32_t bonus_reflected_spell_damage; // 0x1300 }; // Alignment: 7 -// Size: 0x12f0 +// Size: 0x1300 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 + CHandle< CBaseEntity > m_hAbility; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > m_hAbilities; // 0x12d0 + Vector m_vLocation; // 0x12e8 + GameTime_t m_fChannelEnd; // 0x12f4 + bool m_bInterrupt; // 0x12f8 + bool m_bExpired; // 0x12f9 }; // Alignment: 0 @@ -71812,11 +72292,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Grimstroke_Scepter_Buff : public CDOTA_Modifier_DebuffImmune { public: - int32_t images_movespeed_bonus; // 0x12b8 + int32_t images_movespeed_bonus; // 0x12c8 }; // Alignment: 0 @@ -71828,14 +72308,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Grimstroke_Shard_Buff : public CDOTA_Buff { public: - int32_t total_damage; // 0x12b8 - int32_t attack_speed; // 0x12bc - int32_t move_speed; // 0x12c0 - float m_flInterval; // 0x12c4 + int32_t total_damage; // 0x12c8 + int32_t attack_speed; // 0x12cc + int32_t move_speed; // 0x12d0 + float m_flInterval; // 0x12d4 }; // Alignment: 0 @@ -71923,38 +72403,38 @@ public: }; // Alignment: 3 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mars_Spear_Impale : public CDOTA_Buff { public: - int32_t m_nProjectileHandle; // 0x12b8 - bool m_bLatched; // 0x12bc - bool m_bHitArenaOfBlood; // 0x12bd + int32_t m_nProjectileHandle; // 0x12c8 + bool m_bLatched; // 0x12cc + bool m_bHitArenaOfBlood; // 0x12cd }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Special_Mars_Spear_Burning_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x12b8 - int32_t shard_trail_radius; // 0x12c4 - float shard_debuff_linger_duration; // 0x12c8 - float shard_interval; // 0x12cc + Vector m_vPathDir; // 0x12c8 + int32_t shard_trail_radius; // 0x12d4 + float shard_debuff_linger_duration; // 0x12d8 + float shard_interval; // 0x12dc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Special_Mars_Spear_Burning_Trail_Burn : public CDOTA_Buff { public: - int32_t shard_dps; // 0x12b8 - int32_t shard_move_slow_pct; // 0x12bc - float shard_interval; // 0x12c0 + int32_t shard_dps; // 0x12c8 + int32_t shard_move_slow_pct; // 0x12cc + float shard_interval; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mars_Spear_Stun : public CDOTA_Modifier_Stunned { public: @@ -71970,31 +72450,31 @@ public: }; // Alignment: 6 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Mars_ArenaOfBlood_Thinker : public CDOTA_Buff { public: - float radius; // 0x12b8 - float formation_time; // 0x12bc - float m_flInitialZ; // 0x12c0 - float m_flFinalZ; // 0x12c4 + float radius; // 0x12c8 + float formation_time; // 0x12cc + float m_flInitialZ; // 0x12d0 + float m_flFinalZ; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c8[0x10]; // 0x12c8 + [[maybe_unused]] uint8_t __pad12d8[0x10]; // 0x12d8 public: - bool m_bCaughtOne; // 0x12d8 - bool m_bKilledOne; // 0x12d9 + bool m_bCaughtOne; // 0x12e8 + bool m_bKilledOne; // 0x12e9 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mars_ArenaOfBlood_AnimationAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mars_ArenaOfBlood_Animation : public CDOTA_Buff { public: @@ -72002,43 +72482,43 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mars_ArenaOfBlood_BuffAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mars_ArenaOfBlood_Buff : public CDOTA_Buff { public: - int32_t health_regen; // 0x12b8 + int32_t health_regen; // 0x12c8 }; // Alignment: 7 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_Mars_ArenaOfBlood : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t width; // 0x12cc + int32_t spear_damage; // 0x12d0 + int32_t spear_distance_from_wall; // 0x12d4 + float spear_attack_interval; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x34]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x34]; // 0x12dc public: - int32_t m_hObstruction; // 0x1300 + int32_t m_hObstruction; // 0x1310 private: - [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 + [[maybe_unused]] uint8_t __pad1314[0x4]; // 0x1314 public: - CUtlVector< Vector > m_vecAvoidLocations; // 0x1308 + CUtlVector< Vector > m_vecAvoidLocations; // 0x1318 }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Mars_ArenaOfBlood_Spear : public CDOTA_Modifier_Knockback { public: @@ -72046,17 +72526,17 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Mars_ArenaOfBlood_Leash : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float width; // 0x12bc - Vector m_vOriginLoc; // 0x12c0 + int32_t radius; // 0x12c8 + float width; // 0x12cc + Vector m_vOriginLoc; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mars_ArenaOfBlood_Marker : public CDOTA_Buff { public: @@ -72073,35 +72553,35 @@ public: }; // Alignment: 5 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Mars_Bulwark : public CDOTA_Buff { public: - float physical_damage_reduction; // 0x12b8 - float physical_damage_reduction_side; // 0x12bc - float forward_angle; // 0x12c0 - float side_angle; // 0x12c4 + float physical_damage_reduction; // 0x12c8 + float physical_damage_reduction_side; // 0x12cc + float forward_angle; // 0x12d0 + float side_angle; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c8[0x18]; // 0x12c8 + [[maybe_unused]] uint8_t __pad12d8[0x18]; // 0x12d8 public: - float m_flRecentDamage; // 0x12e0 + float m_flRecentDamage; // 0x12f0 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_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 redirect_close_range; // 0x12cc + int32_t redirect_chance; // 0x12c8 + int32_t redirect_range; // 0x12cc + float forward_angle; // 0x12d0 + float side_angle; // 0x12d4 + int32_t redirect_speed_penatly; // 0x12d8 + int32_t redirect_close_range; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mars_Bulwark_Soldier_Bonus : public CDOTA_Buff { public: @@ -72109,26 +72589,26 @@ public: }; // Alignment: 9 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Mars_Bulwark_Soldier_Thinker : public CDOTA_Buff { public: - 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 + GameTime_t m_NextAttack; // 0x12c8 + int32_t soldier_offset; // 0x12cc + int32_t soldier_count; // 0x12d0 + int32_t forward_angle; // 0x12d4 + int32_t knockback_distance; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlVector< CHandle< CBaseEntity > > m_hAllSoldiers; // 0x12d0 - GameTime_t m_flLastStationaryTime; // 0x12e8 - Vector m_vLastStationaryPosition; // 0x12ec - float stationary_attack_delay; // 0x12f8 + CUtlVector< CHandle< CBaseEntity > > m_hAllSoldiers; // 0x12e0 + GameTime_t m_flLastStationaryTime; // 0x12f8 + Vector m_vLastStationaryPosition; // 0x12fc + float stationary_attack_delay; // 0x1308 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mars_Scepter_Damage_Tracker : public CDOTA_Buff { public: @@ -72136,19 +72616,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mars_Scepter_Damage_Slow : public CDOTA_Buff { public: - int32_t scepter_movement_slow_pct; // 0x12b8 + int32_t scepter_movement_slow_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mars_Scepter_Damage : public CDOTA_Buff { public: - int32_t scepter_bonus_damage; // 0x12b8 + int32_t scepter_bonus_damage; // 0x12c8 }; // Alignment: 0 @@ -72160,19 +72640,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mars_Gods_Rebuke : public CDOTA_Buff { public: - int32_t knockback_slow; // 0x12b8 + int32_t knockback_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mars_GodsRebuke_Crit : public CDOTA_Buff { public: - int32_t crit_mult; // 0x12b8 + int32_t crit_mult; // 0x12c8 }; // Alignment: 0 @@ -72259,41 +72739,41 @@ public: }; // Alignment: 21 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_Snapfire_MortimerKisses : public CDOTA_Buff { public: - 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 + float m_fIntervalPerRocket; // 0x12c8 + float m_flFacingTarget; // 0x12cc + ParticleIndex_t m_nBeamFXIndex; // 0x12d0 + CHandle< CBaseEntity > m_hBeamEnd; // 0x12d4 + float m_flCurDistance; // 0x12d8 + Vector m_vAimTarget; // 0x12dc + float m_fLastTurnAmount; // 0x12e8 + int32_t m_nProjectilesLaunched; // 0x12ec + bool m_bDestroyOnNextThink; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - int32_t m_nProjectilesToLaunch; // 0x12e4 - bool m_bHasProjectileTalent; // 0x12e8 + int32_t m_nProjectilesToLaunch; // 0x12f4 + bool m_bHasProjectileTalent; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12e9[0xb]; // 0x12e9 + [[maybe_unused]] uint8_t __pad12f9[0xb]; // 0x12f9 public: - 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 + int32_t projectile_count; // 0x1304 + int32_t projectile_speed; // 0x1308 + int32_t projectile_width; // 0x130c + int32_t projectile_vision; // 0x1310 + float turn_rate; // 0x1314 + int32_t min_range; // 0x1318 + int32_t impact_radius; // 0x131c + float min_lob_travel_time; // 0x1320 + float max_lob_travel_time; // 0x1324 + float delay_after_last_projectile; // 0x1328 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Snapfire_MortimerKisses_VisionSource : public CDOTA_Buff { public: @@ -72301,27 +72781,27 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Snapfire_Magma_Thinker : public CDOTA_Buff { public: - 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 + float burn_interval; // 0x12c8 + int32_t impact_radius; // 0x12cc + int32_t move_slow_pct; // 0x12d0 + float burn_linger_duration; // 0x12d4 + ParticleIndex_t m_nPathEffectIndex; // 0x12d8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Snapfire_Magma_Burn_Slow : public CDOTA_Buff { public: - int32_t m_nMoveSlowPct; // 0x12b8 - float m_fBurnDamagePerTick; // 0x12bc - int32_t move_slow_pct; // 0x12c0 - float burn_interval; // 0x12c4 - int32_t burn_damage; // 0x12c8 + int32_t m_nMoveSlowPct; // 0x12c8 + float m_fBurnDamagePerTick; // 0x12cc + int32_t move_slow_pct; // 0x12d0 + float burn_interval; // 0x12d4 + int32_t burn_damage; // 0x12d8 }; // Alignment: 5 @@ -72337,20 +72817,20 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Snapfire_Scatterblast_Slow : public CDOTA_Buff { public: - bool m_bIsPointBlank; // 0x12b8 + bool m_bIsPointBlank; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t movement_slow_pct; // 0x12bc - int32_t attack_slow_pct; // 0x12c0 + int32_t movement_slow_pct; // 0x12cc + int32_t attack_slow_pct; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Snapfire_Scatterblast_Disarm : public CDOTA_Buff { public: @@ -72372,35 +72852,35 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Snapfire_FiresnapCookie_PreHop : public CDOTA_Buff { public: - float jump_duration; // 0x12b8 + float jump_duration; // 0x12c8 }; // Alignment: 13 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Snapfire_FiresnapCookie_ShortHop : public CDOTA_Buff { public: - 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 + float jump_duration; // 0x12c8 + int32_t jump_height; // 0x12cc + int32_t jump_horizontal_distance; // 0x12d0 + float pre_land_anim_time; // 0x12d4 + float landing_gesture_duration; // 0x12d8 + int32_t impact_radius; // 0x12dc + int32_t impact_damage; // 0x12e0 + float impact_stun_duration; // 0x12e4 + float m_flStartZ; // 0x12e8 + float m_flCurTime; // 0x12ec + float m_flJumpDuration; // 0x12f0 + float m_flJumpHeight; // 0x12f4 + Vector m_vTargetHorizontalDirection; // 0x12f8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Snapfire_FiresnapCookie_AllyFlailAnim : public CDOTA_Buff { public: @@ -72408,7 +72888,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Snapfire_FiresnapCookie_LandingGesture : public CDOTA_Buff { public: @@ -72424,48 +72904,48 @@ public: }; // Alignment: 9 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Snapfire_LilShredder_Buff : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 - int32_t m_nIsActive; // 0x12d8 - bool m_bHasAttackTalent; // 0x12dc - bool m_bBonusAttack; // 0x12dd + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + int32_t m_nIsActive; // 0x12e8 + bool m_bHasAttackTalent; // 0x12ec + bool m_bBonusAttack; // 0x12ed private: - [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de + [[maybe_unused]] uint8_t __pad12ee[0x2]; // 0x12ee public: - 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 attack_range_bonus; // 0x12f0 + int32_t buffed_attacks; // 0x12f4 + float base_attack_time; // 0x12f8 + int32_t attack_speed_bonus; // 0x12fc + float armor_duration; // 0x1300 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Snapfire_LilShredder_Attack_Reduction : public CDOTA_Buff { public: - int32_t damage_pct; // 0x12b8 + int32_t damage_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Snapfire_LilShredder_Attack : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 + int32_t damage; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Snapfire_LilShredder_Debuff : public CDOTA_Buff { public: - float armor_reduction_per_attack; // 0x12b8 + float armor_reduction_per_attack; // 0x12c8 }; // Alignment: 2 @@ -72478,7 +72958,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Snapfire_GobbleUp_Creep : public CDOTA_Buff { public: @@ -72486,17 +72966,17 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Snapfire_GobbleUp_BellyHasUnit : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hGobbledUnit; // 0x12b8 - PlayerID_t m_nOriginalControllingUnit; // 0x12bc - bool m_bUnitWasLaunched; // 0x12c0 + CHandle< CBaseEntity > m_hGobbledUnit; // 0x12c8 + PlayerID_t m_nOriginalControllingUnit; // 0x12cc + bool m_bUnitWasLaunched; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - float max_time_in_belly; // 0x12c4 + float max_time_in_belly; // 0x12d4 }; // Alignment: 3 @@ -72510,36 +72990,36 @@ public: }; // Alignment: 23 -// Size: 0x1328 +// Size: 0x1338 class CDOTA_Modifier_Snapfire_SpitCreep_ArcingUnit : public CDOTA_Buff { public: - 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 + 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 __pad12d3[0x1]; // 0x12d3 + [[maybe_unused]] uint8_t __pad12e3[0x1]; // 0x12e3 public: - 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 + Vector m_vHorizontalVelocity; // 0x12e4 + Vector m_vLastKnownTargetPosition; // 0x12f0 + float m_flInitialVelocityZ; // 0x12fc + float m_fClampedProjectileSpeed; // 0x1300 + ParticleIndex_t m_nFXIndex; // 0x1304 + float m_fAcceleration; // 0x1308 + int32_t min_range; // 0x130c + float min_lob_travel_time; // 0x1310 + float max_lob_travel_time; // 0x1314 + int32_t impact_radius; // 0x1318 + int32_t projectile_vision; // 0x131c + float stun_duration; // 0x1320 + float min_height_above_lowest; // 0x1324 + float min_height_above_highest; // 0x1328 + float min_acceleration; // 0x132c + float max_acceleration; // 0x1330 }; // Alignment: 0 @@ -72624,83 +73104,83 @@ public: }; // Alignment: 13 -// Size: 0x1338 +// Size: 0x1348 class CDOTA_Modifier_VoidSpirit_AetherRemnant_Unit : public CDOTA_Buff { public: - Vector m_vFacingDir; // 0x12b8 + Vector m_vFacingDir; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< CHandle< CBaseEntity > > m_hWatchPathThinkers; // 0x12c8 - ParticleIndex_t m_nBeamFXIndex; // 0x12e0 + CUtlVector< CHandle< CBaseEntity > > m_hWatchPathThinkers; // 0x12d8 + ParticleIndex_t m_nBeamFXIndex; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - 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 + CUtlVector< int32 > m_nViewerIDs; // 0x12f8 + int32_t remnant_watch_distance; // 0x1310 + int32_t remnant_watch_radius; // 0x1314 + float duration; // 0x1318 + int32_t watch_path_vision_radius; // 0x131c + int32_t impact_damage; // 0x1320 + float pull_duration; // 0x1324 + float activation_delay; // 0x1328 + bool m_bPiercesCreeps; // 0x132c private: - [[maybe_unused]] uint8_t __pad131d[0x3]; // 0x131d + [[maybe_unused]] uint8_t __pad132d[0x3]; // 0x132d public: - CUtlVector< CHandle< CBaseEntity > > m_hAlreadyHit; // 0x1320 + CUtlVector< CHandle< CBaseEntity > > m_hAlreadyHit; // 0x1330 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t remnant_watch_radius; // 0x12c8 + GameTime_t m_flLastDamageTick; // 0x12cc + float damage_tick_rate; // 0x12d0 + float flDamage; // 0x12d4 + bool m_bPiercesCreeps; // 0x12d8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_VoidSpirit_AetherRemnant_Pull : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - PlayerID_t m_nPlayerID; // 0x12bc - float m_fMovementSpeed; // 0x12c0 - CHandle< CDOTA_BaseNPC > m_hPullTarget; // 0x12c4 - float think_interval; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12c8 + PlayerID_t m_nPlayerID; // 0x12cc + float m_fMovementSpeed; // 0x12d0 + CHandle< CDOTA_BaseNPC > m_hPullTarget; // 0x12d4 + float think_interval; // 0x12d8 }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_VoidSpirit_AetherRemnantThinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - Vector m_vFacingDir; // 0x12bc - CHandle< CBaseEntity > m_hRemnant; // 0x12c8 - bool m_bTriggered; // 0x12cc + int32_t radius; // 0x12c8 + Vector m_vFacingDir; // 0x12cc + CHandle< CBaseEntity > m_hRemnant; // 0x12d8 + bool m_bTriggered; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - float m_flCurThink; // 0x12d0 + float m_flCurThink; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VoidSpirit_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x12b8 + int32_t m_nRadius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_VoidSpirit_AetherRemnantCreepDamage : public CDOTA_Buff { public: @@ -72708,7 +73188,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_VoidSpirit_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -72731,31 +73211,31 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_VoidSpirit_AstralStep_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x12b8 - int32_t movement_slow_pct; // 0x12bc - int32_t pop_damage; // 0x12c0 + ParticleIndex_t m_nFXStackIndex; // 0x12c8 + int32_t movement_slow_pct; // 0x12cc + int32_t pop_damage; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_VoidSpirit_AstralStep_Caster : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_VoidSpirit_AstralStep_Intrinsic : public CDOTA_Buff { public: - int32_t ability_chance_pct; // 0x12b8 - int32_t attack_chance_pct; // 0x12bc - float pop_damage_delay; // 0x12c0 + int32_t ability_chance_pct; // 0x12c8 + int32_t attack_chance_pct; // 0x12cc + float pop_damage_delay; // 0x12d0 }; // Alignment: 1 @@ -72767,39 +73247,39 @@ public: }; // Alignment: 19 -// Size: 0x1358 +// Size: 0x1368 class CDOTA_Modifier_VoidSpirit_Dissimilate_Phase : public CDOTA_Buff { public: - Vector m_vFirstPortalPos; // 0x12b8 + Vector m_vFirstPortalPos; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - 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 + CUtlVector< Vector > m_vecDestinations; // 0x12d8 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x12f0 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1308 + int32_t m_nCurrentDestinationIndex; // 0x1320 + int32_t m_nClosestIndexPosToClick; // 0x1324 + int32_t m_nPortalHeightOffset; // 0x1328 private: - [[maybe_unused]] uint8_t __pad131c[0x4]; // 0x131c + [[maybe_unused]] uint8_t __pad132c[0x4]; // 0x132c public: - 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 + char* m_szAlliesPortalFX; // 0x1330 + char* m_szEnemiesPortalFX; // 0x1338 + int32_t m_nPortalRadius; // 0x1340 + int32_t m_nPortalPadding; // 0x1344 + int32_t m_nFinalImpactDamageRadius; // 0x1348 + int32_t m_nFinalImpactFXRadius; // 0x134c + int32_t destination_fx_radius; // 0x1350 + int32_t damage_radius; // 0x1354 + int32_t portals_per_ring; // 0x1358 + int32_t angle_per_ring_portal; // 0x135c + int32_t first_ring_distance_offset; // 0x1360 + float debuff_duration; // 0x1364 }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_VoidSpirit_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: @@ -72807,13 +73287,13 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_VoidSpirit_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: - int32_t base_absorb_amount; // 0x12b8 - int32_t m_nAbsorbRemaining; // 0x12bc - int32_t m_nMaxAbsorb; // 0x12c0 + int32_t base_absorb_amount; // 0x12c8 + int32_t m_nAbsorbRemaining; // 0x12cc + int32_t m_nMaxAbsorb; // 0x12d0 }; // Alignment: 4 @@ -72831,18 +73311,18 @@ public: }; // Alignment: 8 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_VoidSpirit_ResonantPulse_Ring : public CDOTA_Buff { public: - 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 + float m_fLastRadius; // 0x12c8 + float m_fCurRadius; // 0x12cc + GameTime_t m_fLastThink; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12d8 + int32_t speed; // 0x12f0 + int32_t radius; // 0x12f4 + int32_t damage; // 0x12f8 }; // Alignment: 0 @@ -72934,38 +73414,38 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Hoodwink_AcornShot_DelayThinker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - int32_t m_nSourceProjectileHandle; // 0x12bc + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + int32_t m_nSourceProjectileHandle; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Hoodwink_AcornShot_TreeThinker : public CDOTA_Buff { public: - CHandle< CDOTA_TempTree > m_hTree; // 0x12b8 - int32_t fow_viewer; // 0x12bc + CHandle< CDOTA_TempTree > m_hTree; // 0x12c8 + int32_t fow_viewer; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Hoodwink_AcornShot_BonusDamage : public CDOTA_Buff { public: - int32_t acorn_shot_damage; // 0x12b8 - int32_t base_damage_pct; // 0x12bc + int32_t acorn_shot_damage; // 0x12c8 + int32_t base_damage_pct; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Hoodwink_AcornShot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 3 @@ -72979,28 +73459,28 @@ public: }; // Alignment: 12 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Hoodwink_Bushwhack_Trap : public CDOTA_Buff { public: - int32_t visual_height; // 0x12b8 - float animation_rate; // 0x12bc - ParticleIndex_t m_iIndex; // 0x12c0 - bool m_bPullComplete; // 0x12c4 + int32_t visual_height; // 0x12c8 + float animation_rate; // 0x12cc + ParticleIndex_t m_iIndex; // 0x12d0 + bool m_bPullComplete; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - 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 + uint32_t m_TreeId; // 0x12d8 + float m_flDamagePerTick; // 0x12dc + int32_t m_nDamageTicks; // 0x12e0 + GameTime_t m_flLastTick; // 0x12e4 + CHandle< CDOTA_TempTree > m_hTree; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CDOTA_Tree* m_pTree; // 0x12e0 - Vector m_vPullPosition; // 0x12e8 - Vector m_vDir; // 0x12f4 + CDOTA_Tree* m_pTree; // 0x12f0 + Vector m_vPullPosition; // 0x12f8 + Vector m_vDir; // 0x1304 }; // Alignment: 0 @@ -73012,48 +73492,48 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Hoodwink_Scurry_Passive : public CDOTA_Buff { public: - int32_t evasion; // 0x12b8 - int32_t radius; // 0x12bc - int32_t bonus_active_evasion; // 0x12c0 - ParticleIndex_t m_nFXIndex; // 0x12c4 + int32_t evasion; // 0x12c8 + int32_t radius; // 0x12cc + int32_t bonus_active_evasion; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Hoodwink_Scurry_Active : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x12b8 - int32_t attack_range; // 0x12bc - int32_t cast_range; // 0x12c0 - float m_flTreeDuration; // 0x12c4 + int32_t movement_speed_pct; // 0x12c8 + int32_t attack_range; // 0x12cc + int32_t cast_range; // 0x12d0 + float m_flTreeDuration; // 0x12d4 }; // Alignment: 10 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Hoodwink_Sharpshooter_Windup : public CDOTA_Buff { public: - bool m_bReachedMax; // 0x12b8 + bool m_bReachedMax; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - float m_flLastOverheadTime; // 0x12bc - float m_flFacingTarget; // 0x12c0 - Vector m_vAimTarget; // 0x12c4 - ParticleIndex_t m_nCrosshairFX; // 0x12d0 + float m_flLastOverheadTime; // 0x12cc + float m_flFacingTarget; // 0x12d0 + Vector m_vAimTarget; // 0x12d4 + ParticleIndex_t m_nCrosshairFX; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< CBaseEntity > > m_vecVisionThinkers; // 0x12d8 - int32_t arrow_vision; // 0x12f0 - float max_charge_time; // 0x12f4 - float turn_rate; // 0x12f8 - float base_power; // 0x12fc + CUtlVector< CHandle< CBaseEntity > > m_vecVisionThinkers; // 0x12e8 + int32_t arrow_vision; // 0x1300 + float max_charge_time; // 0x1304 + float turn_rate; // 0x1308 + float base_power; // 0x130c }; // Alignment: 3 @@ -73067,11 +73547,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Hoodwink_Sharpshooter_VisionThinker : public CDOTA_Buff { public: - int32_t arrow_width; // 0x12b8 + int32_t arrow_width; // 0x12c8 }; // Alignment: 0 @@ -73083,22 +73563,22 @@ public: }; // Alignment: 8 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Hoodwink_Sharpshooter_Recoil : public CDOTA_Buff { public: - 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 + float recoil_duration; // 0x12c8 + int32_t recoil_height; // 0x12cc + int32_t recoil_distance; // 0x12d0 + float m_flStartZ; // 0x12d4 + float m_flCurTime; // 0x12d8 + float m_flJumpDuration; // 0x12dc + float m_flJumpHeight; // 0x12e0 + Vector m_vTargetHorizontalDirection; // 0x12e4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_Sharpshooter_Recoil_EndAnim : public CDOTA_Buff { public: @@ -73106,11 +73586,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Hoodwink_Sharpshooter_Debuff : public CDOTA_Buff { public: - int32_t slow_move_pct; // 0x12b8 + int32_t slow_move_pct; // 0x12c8 }; // Alignment: 0 @@ -73186,13 +73666,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Hoodwink_Camouflage : public CDOTA_Buff { public: - float fade_time; // 0x12b8 - GameTime_t m_flFadeTime; // 0x12bc - bool m_bInvisLastThink; // 0x12c0 + float fade_time; // 0x12c8 + GameTime_t m_flFadeTime; // 0x12cc + bool m_bInvisLastThink; // 0x12d0 }; // Alignment: 0 @@ -73220,11 +73700,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Hoodwink_AcornShot_ArmorCorruption : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 0 @@ -73236,25 +73716,25 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Hoodwink_Caltrops : public CDOTA_Buff { public: - 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 + int32_t effect_radius; // 0x12c8 + int32_t caltrops_damage; // 0x12cc + int32_t activation_radius; // 0x12d0 + float debuff_duration; // 0x12d4 + float activation_delay; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Hoodwink_Caltrops_Debuff : public CDOTA_Buff { public: - int32_t movespeed_pct; // 0x12b8 - int32_t tick_damage; // 0x12bc + int32_t movespeed_pct; // 0x12c8 + int32_t tick_damage; // 0x12cc }; // Alignment: 5 @@ -73270,23 +73750,23 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Hoodwink_Decoy_Illusion : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 }; // Alignment: 2 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Hoodwink_Decoy_Invisibility : public CDOTA_Modifier_Invisible { public: - int32_t movement_speed; // 0x12c8 + int32_t movement_speed; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x12d0 + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x12e0 }; // Alignment: 0 @@ -73298,15 +73778,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Hoodwink_HeavyQuiver : public CDOTA_Buff { public: - 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 + int32_t bonus_projectile_speed_pct; // 0x12c8 + int32_t bonus_attack_range; // 0x12cc + int32_t deadly_blow_multiplier; // 0x12d0 + float maim_duration; // 0x12d4 + int32_t m_nAttackRecord; // 0x12d8 }; // Alignment: 6 @@ -73326,13 +73806,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Hoodwink_Hunters_Mark : public CDOTA_Buff { public: - int32_t slow_pct; // 0x12b8 - int32_t spell_amp; // 0x12bc - int32_t status_resistance; // 0x12c0 + int32_t slow_pct; // 0x12c8 + int32_t spell_amp; // 0x12cc + int32_t status_resistance; // 0x12d0 }; // Alignment: 0 @@ -73344,27 +73824,27 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Hoodwink_HuntersQuiver : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x12b8 - int32_t max_stacks; // 0x12bc - float debuff_duration; // 0x12c0 + int32_t bonus_attack_range; // 0x12c8 + int32_t max_stacks; // 0x12cc + float debuff_duration; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Hoodwink_HuntersQuiver_Mark : public CDOTA_Buff { public: - int32_t stack_crit_chance_pct; // 0x12b8 - int32_t critical_damage_pct; // 0x12bc - int32_t stack_slow_pct; // 0x12c0 + int32_t stack_crit_chance_pct; // 0x12c8 + int32_t critical_damage_pct; // 0x12cc + int32_t stack_slow_pct; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Hoodwink_Boomerang_Invulnerable : public CDOTA_Buff { public: @@ -73372,88 +73852,92 @@ public: }; // Alignment: 23 -// Size: 0x1350 +// Size: 0x1360 class CDOTA_Modifier_Hoodwink_ArcingBoomerang : public CDOTA_Buff { public: - Vector m_vLeftControl; // 0x12b8 - Vector m_vRightControl; // 0x12c4 - Vector m_vTargetLoc; // 0x12d0 - Vector m_vOriginalTargetLoc; // 0x12dc - Vector m_vSourceLoc; // 0x12e8 - bool m_bGroundTargeted; // 0x12f4 + Vector m_vLeftControl; // 0x12c8 + Vector m_vRightControl; // 0x12d4 + Vector m_vTargetLoc; // 0x12e0 + Vector m_vOriginalTargetLoc; // 0x12ec + Vector m_vSourceLoc; // 0x12f8 + bool m_bGroundTargeted; // 0x1304 private: - [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 + [[maybe_unused]] uint8_t __pad1305[0x3]; // 0x1305 public: - float m_flDuration; // 0x12f8 - GameTime_t m_flDieTime; // 0x12fc - bool m_bReturning; // 0x1300 - bool m_bCatchingBoomerang; // 0x1301 - bool m_bDisjointed; // 0x1302 + float m_flDuration; // 0x1308 + GameTime_t m_flDieTime; // 0x130c + bool m_bReturning; // 0x1310 + bool m_bCatchingBoomerang; // 0x1311 + bool m_bDisjointed; // 0x1312 private: - [[maybe_unused]] uint8_t __pad1303[0x1]; // 0x1303 + [[maybe_unused]] uint8_t __pad1313[0x1]; // 0x1313 public: - 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 + int32_t m_nFramesToWait; // 0x1314 + CHandle< CBaseEntity > m_hBoomerang; // 0x1318 + CHandle< CBaseEntity > m_hTarget; // 0x131c + ParticleIndex_t m_nBoomerangFXIndex; // 0x1320 + ParticleIndex_t m_nOldBoomerangFXindex; // 0x1324 + CUtlVector< CHandle< CBaseEntity > > m_vecUniqueHitList; // 0x1328 + int32_t radius; // 0x1340 + int32_t spread; // 0x1344 + int32_t damage; // 0x1348 + float mark_duration; // 0x134c + float min_throw_duration; // 0x1350 + float max_throw_duration; // 0x1354 }; -// Alignment: 2 -// Size: 0x570 +// Alignment: 3 +// Size: 0x578 class CDOTA_Ability_Dawnbreaker_Solar_Guardian : public CDOTABaseAbility { public: CHandle< CBaseEntity > m_hThinker; // 0x568 bool m_bJumping; // 0x56c +private: + [[maybe_unused]] uint8_t __pad056d[0x3]; // 0x56d +public: + CHandle< CBaseEntity > m_hTeleportTarget; // 0x570 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Thinker : public CDOTA_Buff { public: - float pulse_interval; // 0x12b8 - int32_t iEffectRadius; // 0x12bc - int32_t base_damage; // 0x12c0 - int32_t base_heal; // 0x12c4 - ParticleIndex_t m_nThinkerFXIndex; // 0x12c8 + float pulse_interval; // 0x12c8 + int32_t iEffectRadius; // 0x12cc + int32_t base_damage; // 0x12d0 + int32_t base_heal; // 0x12d4 + ParticleIndex_t m_nThinkerFXIndex; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Evasion : public CDOTA_Buff { public: - int32_t miss_rate; // 0x12b8 + int32_t miss_rate; // 0x12c8 }; // Alignment: 9 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_AirTime : public CDOTA_Buff { public: - 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 + float m_flStartZ; // 0x12c8 + float m_flCurTime; // 0x12cc + Vector m_vDirection; // 0x12d0 + float m_flEndTime; // 0x12dc + CHandle< CBaseEntity > m_hThinker; // 0x12e0 + Vector m_vCurrentTargetPosition; // 0x12e4 + Vector m_vDesiredTargetPosition; // 0x12f0 + Vector m_vStartPosition; // 0x12fc + int32_t airtime_scepter_movement_speed; // 0x1308 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_LandingStun : public CDOTA_Modifier_Stunned { public: @@ -73461,16 +73945,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Disable : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x12b8 - ParticleIndex_t m_nStatusFXIndex; // 0x12bc + ParticleIndex_t m_nCasterFXIndex; // 0x12c8 + ParticleIndex_t m_nStatusFXIndex; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_After_Land : public CDOTA_Buff { public: @@ -73486,34 +73970,34 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Dawnbreaker_Luminosity : public CDOTA_Buff { public: - bool m_bAppliesToCreeps; // 0x12b8 + bool m_bAppliesToCreeps; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t attack_count; // 0x12bc - bool m_bShouldIncrement; // 0x12c0 + int32_t attack_count; // 0x12cc + bool m_bShouldIncrement; // 0x12d0 }; // Alignment: 8 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Dawnbreaker_Luminosity_Attack_Buff : public CDOTA_Buff { public: - bool m_bIsBuffedAttack; // 0x12b8 + bool m_bIsBuffedAttack; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + int32_t heal_pct; // 0x12cc + int32_t bonus_damage; // 0x12d0 + int32_t heal_radius; // 0x12d4 + int32_t heal_from_creeps; // 0x12d8 + int32_t allied_healing_pct; // 0x12dc + CUtlVector< CHandle< CBaseEntity > > hTargets; // 0x12e0 + float m_flTotalToHeal; // 0x12f8 }; // Alignment: 25 @@ -73555,45 +74039,45 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dawnbreaker_Converge_Thinker : public CDOTA_Buff { public: - int32_t flare_radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t flare_radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 11 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Movement : public CDOTA_Buff { public: - 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 + int32_t m_nProjectileID; // 0x12c8 + int32_t projectile_speed; // 0x12cc + int32_t travel_speed_pct; // 0x12d0 + int32_t m_nMaxRange; // 0x12d4 + Vector m_vStartPoint; // 0x12d8 + Vector m_vLastTrailThinkerLocation; // 0x12e4 + Vector m_vEndPointShard; // 0x12f0 + ParticleIndex_t m_nStatusFXIndex; // 0x12fc + int32_t flare_radius; // 0x1300 + bool bHasStartedBurning; // 0x1304 private: - [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 + [[maybe_unused]] uint8_t __pad1305[0x3]; // 0x1305 public: - float flare_debuff_duration; // 0x12f8 + float flare_debuff_duration; // 0x1308 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Caster : public CDOTA_Buff { public: @@ -73609,7 +74093,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Magic_Immunity_Tooltip : public CDOTA_Buff { public: @@ -73617,60 +74101,60 @@ public: }; // Alignment: 20 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Caster : public CDOTA_Buff { public: - 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 + int32_t movement_speed; // 0x12c8 + int32_t shard_movement_penalty; // 0x12cc + int32_t swipe_radius; // 0x12d0 + int32_t swipe_damage; // 0x12d4 + int32_t smash_radius; // 0x12d8 + int32_t smash_damage; // 0x12dc + int32_t m_nCurrentSpeed; // 0x12e0 + float flSwipeInterval; // 0x12e4 + GameTime_t m_flNextHit; // 0x12e8 + int32_t iCurrentAttack; // 0x12ec + int32_t total_attacks; // 0x12f0 + float smash_stun_duration; // 0x12f4 + float sweep_stun_duration; // 0x12f8 + bool m_bHasCompletedMove; // 0x12fc private: - [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed + [[maybe_unused]] uint8_t __pad12fd[0x3]; // 0x12fd public: - 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 + float duration; // 0x1300 + Vector m_vTargetHorizontalDirection; // 0x1304 + int32_t smash_distance_from_hero; // 0x1310 + float animation_rate; // 0x1314 + float turn_rate; // 0x1318 + float m_flFacingTarget; // 0x131c }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Attack_Bonus : public CDOTA_Buff { public: - int32_t attack_damage; // 0x12b8 - int32_t creep_damage_penalty; // 0x12bc + int32_t attack_damage; // 0x12c8 + int32_t creep_damage_penalty; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Slow : public CDOTA_Buff { public: - int32_t swipe_slow; // 0x12b8 + int32_t swipe_slow; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Smash_Stun : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - float m_flStartZ; // 0x12bc - float m_flCurTime; // 0x12c0 + int32_t damage; // 0x12c8 + float m_flStartZ; // 0x12cc + float m_flCurTime; // 0x12d0 }; // Alignment: 0 @@ -73682,13 +74166,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Dawnbreaker_Converge : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 - int32_t burn_damage; // 0x12bc - float burn_interval; // 0x12c0 + int32_t move_slow; // 0x12c8 + int32_t burn_damage; // 0x12cc + float burn_interval; // 0x12d0 }; // Alignment: 0 @@ -73812,30 +74296,30 @@ public: }; // Alignment: 12 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Marci_Grapple_VictimMotion : public CDOTA_Buff { public: - 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 + int32_t impact_damage; // 0x12c8 + float debuff_duration; // 0x12cc + int32_t landing_radius; // 0x12d0 + float air_duration; // 0x12d4 + int32_t air_height; // 0x12d8 + int32_t travel_distance; // 0x12dc + Vector m_vDestination; // 0x12e0 + float m_flStartZ; // 0x12ec + float m_flCurTime; // 0x12f0 + float m_flJumpDuration; // 0x12f4 + float m_flJumpHeight; // 0x12f8 + Vector m_vTargetHorizontalDirection; // 0x12fc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Marci_Dispose_Debuff : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x12b8 + int32_t movement_slow_pct; // 0x12c8 }; // Alignment: 17 @@ -73863,66 +74347,66 @@ public: }; // Alignment: 12 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Marci_Lunge_TrackingMotion : public CDOTA_Buff { public: - 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 + int32_t m_nProjectileID; // 0x12c8 + int32_t m_nMaxJumpDistance; // 0x12cc + int32_t landing_radius; // 0x12d0 + int32_t max_jump_distance; // 0x12d4 + int32_t min_jump_distance; // 0x12d8 + int32_t target_abort_distance; // 0x12dc + int32_t impact_position_offset; // 0x12e0 + float m_flCastDistance; // 0x12e4 + ParticleIndex_t m_nAoEFXIndex; // 0x12e8 + Vector m_vDestination; // 0x12ec + CHandle< CBaseEntity > m_hBounceEntity; // 0x12f8 + CHandle< CBaseEntity > m_hBounceEntityClient; // 0x12fc }; // Alignment: 27 -// Size: 0x1338 +// Size: 0x1348 class CDOTA_Modifier_Marci_Lunge_Arc : public CDOTA_Buff { public: - float m_flPredictedTotalTime; // 0x12b8 - Vector m_vStartPosition; // 0x12bc - float m_flCurrentTimeHoriz; // 0x12c8 - float m_flCurrentTimeVert; // 0x12cc - bool m_bDamageApplied; // 0x12d0 - bool m_bTargetTeleported; // 0x12d1 + float m_flPredictedTotalTime; // 0x12c8 + Vector m_vStartPosition; // 0x12cc + float m_flCurrentTimeHoriz; // 0x12d8 + float m_flCurrentTimeVert; // 0x12dc + bool m_bDamageApplied; // 0x12e0 + bool m_bTargetTeleported; // 0x12e1 private: - [[maybe_unused]] uint8_t __pad12d2[0x2]; // 0x12d2 + [[maybe_unused]] uint8_t __pad12e2[0x2]; // 0x12e2 public: - 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 + Vector m_vHorizontalVelocity; // 0x12e4 + Vector m_vLastKnownTargetPosition; // 0x12f0 + float m_flInitialVelocityZ; // 0x12fc + float m_fClampedProjectileSpeed; // 0x1300 + ParticleIndex_t m_nFXIndex; // 0x1304 + float m_fAcceleration; // 0x1308 + bool m_bTriggeredLandingAnim; // 0x130c private: - [[maybe_unused]] uint8_t __pad12fd[0x3]; // 0x12fd + [[maybe_unused]] uint8_t __pad130d[0x3]; // 0x130d public: - 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 + int32_t m_nMaxJumpDistance; // 0x1310 + int32_t min_jump_distance; // 0x1314 + int32_t max_jump_distance; // 0x1318 + float min_lob_travel_time; // 0x131c + float max_lob_travel_time; // 0x1320 + int32_t landing_radius; // 0x1324 + float debuff_duration; // 0x1328 + float min_height_above_lowest; // 0x132c + float min_height_above_highest; // 0x1330 + float min_acceleration; // 0x1334 + float max_acceleration; // 0x1338 + float impact_damage; // 0x133c + int32_t impact_position_offset; // 0x1340 + float ally_buff_duration; // 0x1344 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Marci_Lunge_LandingAnim : public CDOTA_Buff { public: @@ -73930,27 +74414,27 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Marci_CompanionRun_AllyMovespeed : public CDOTA_Buff { public: - float ally_movespeed_pct; // 0x12b8 + float ally_movespeed_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Marci_Lunge_Debuff : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x12b8 + int32_t movement_slow_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Marci_Lunge_Buff : public CDOTA_Buff { public: - int32_t scepter_armor; // 0x12b8 + int32_t scepter_armor; // 0x12c8 }; // Alignment: 3 @@ -73964,24 +74448,24 @@ public: }; // Alignment: 11 -// Size: 0x12e8 +// Size: 0x12f8 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 + float lifesteal_pct; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t bonus_attack_range; // 0x12d0 + int32_t max_partner_distance; // 0x12d4 + int32_t max_partner_penalty; // 0x12d8 + int32_t creep_lifesteal_reduction_pct; // 0x12dc + float m_fLifestealPct; // 0x12e0 + float m_fDamageAbsorbed; // 0x12e4 + CHandle< CBaseEntity > m_hPartner; // 0x12e8 + bool m_bActive; // 0x12ec private: - [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd + [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed public: - ParticleIndex_t m_nFxIndex; // 0x12e0 + ParticleIndex_t m_nFxIndex; // 0x12f0 }; // Alignment: 5 @@ -73997,67 +74481,67 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 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 + Vector m_vDirection; // 0x12c8 + float m_flEndTime; // 0x12d4 + float m_flCurTime; // 0x12d8 + int32_t shard_push_length; // 0x12dc }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 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 + float time_between_flurries; // 0x12c8 + int32_t charges_per_flurry; // 0x12cc + int32_t flurry_charge_increment; // 0x12d0 + int32_t bonus_movespeed; // 0x12d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 9 -// Size: 0x12d8 +// Size: 0x12e8 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 + int32_t flurry_bonus_attack_speed; // 0x12c8 + float time_between_flurries; // 0x12cc + float debuff_duration; // 0x12d0 + float max_time_window_per_hit; // 0x12d4 + bool m_bBonusSpeed; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - ParticleIndex_t m_nFXStackIndex; // 0x12cc - bool m_bIsDoingFlurryAttack; // 0x12d0 - bool m_bIsDoingFlurryPulseAttack; // 0x12d1 + ParticleIndex_t m_nFXStackIndex; // 0x12dc + bool m_bIsDoingFlurryAttack; // 0x12e0 + bool m_bIsDoingFlurryPulseAttack; // 0x12e1 private: - [[maybe_unused]] uint8_t __pad12d2[0x2]; // 0x12d2 + [[maybe_unused]] uint8_t __pad12e2[0x2]; // 0x12e2 public: - GameTime_t m_fLastAttackTime; // 0x12d4 + GameTime_t m_fLastAttackTime; // 0x12e4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Marci_Unleash_FlurryCooldown : public CDOTA_Buff { public: - int32_t charges_per_flurry; // 0x12b8 - float time_between_flurries; // 0x12bc - float recovery_fixed_attack_rate; // 0x12c0 + int32_t charges_per_flurry; // 0x12c8 + float time_between_flurries; // 0x12cc + float recovery_fixed_attack_rate; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Marci_Unleash_FlurryPulse_Debuff : public CDOTA_Buff { public: - float pulse_move_slow_pct; // 0x12b8 - float pulse_attack_slow_pct; // 0x12bc + float pulse_move_slow_pct; // 0x12c8 + float pulse_attack_slow_pct; // 0x12cc }; // Alignment: 0 @@ -74101,7 +74585,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Marci_Guardian_MagicImmunity : public CDOTA_Modifier_DebuffImmune { public: @@ -74125,7 +74609,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Marci_Unleash_Pulse_Silence : public CDOTA_Buff { public: @@ -74149,16 +74633,16 @@ public: }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Primalbeast_Trample : public CDOTA_Buff { public: - 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 + int32_t effect_radius; // 0x12c8 + Vector vLastPos; // 0x12cc + float flCurrentDistance; // 0x12d8 + int32_t step_distance; // 0x12dc + int32_t bonus_magic_resistance; // 0x12e0 + bool m_bIsUnslowable; // 0x12e4 }; // Alignment: 1 @@ -74170,33 +74654,33 @@ public: }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_PrimalBeast_Pulverize : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + float m_flOffset; // 0x12cc + QAngle m_vStartAngles; // 0x12d0 + Vector m_vStartLocation; // 0x12dc + float animation_rate; // 0x12e8 + bool m_bInterrupted; // 0x12ec + bool m_bHasBeenDestroyed; // 0x12ed }; // Alignment: 9 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_PrimalBeast_Pulverize_Self : public CDOTA_Buff { public: - 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 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x12c8 + Vector m_vPulverizeCenter; // 0x12cc + Vector m_vCasterStartPos; // 0x12d8 + int32_t splash_radius; // 0x12e4 + float interval; // 0x12e8 + float ministun; // 0x12ec + int32_t damage; // 0x12f0 + int32_t bonus_damage_per_hit; // 0x12f4 + int32_t m_nHitCount; // 0x12f8 }; // Alignment: 8 @@ -74215,25 +74699,25 @@ public: }; // Alignment: 12 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_PrimalBeast_Onslaught_Windup : public CDOTA_Buff { public: - bool m_bReachedMax; // 0x12b8 - bool m_bShouldCharge; // 0x12b9 + bool m_bReachedMax; // 0x12c8 + bool m_bShouldCharge; // 0x12c9 private: - [[maybe_unused]] uint8_t __pad12ba[0x2]; // 0x12ba + [[maybe_unused]] uint8_t __pad12ca[0x2]; // 0x12ca public: - 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 + float m_flLastOverheadTime; // 0x12cc + float m_flFacingTarget; // 0x12d0 + Vector m_vAimTarget; // 0x12d4 + ParticleIndex_t m_nCrosshairFX; // 0x12e0 + float m_flChargeDuration; // 0x12e4 + int32_t max_distance; // 0x12e8 + float max_charge_time; // 0x12ec + float turn_rate; // 0x12f0 + float base_power; // 0x12f4 + int32_t charge_speed; // 0x12f8 }; // Alignment: 0 @@ -74245,43 +74729,43 @@ public: }; // Alignment: 10 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_PrimalBeast_Onslaught_Movement : public CDOTA_Buff { public: - 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 + float tick_interval; // 0x12c8 + float charge_speed; // 0x12cc + float movement_turn_rate; // 0x12d0 + int32_t knockback_radius; // 0x12d4 + float knockback_distance; // 0x12d8 + int32_t knockback_damage; // 0x12dc + int32_t m_nEnemyHeroesHit; // 0x12e0 + float m_flFacingTarget; // 0x12e4 + ParticleIndex_t m_nFXIndex; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12e0 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12f0 }; // Alignment: 10 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_PrimalBeast_Onslaught_Knockback : public CDOTA_Buff { public: - 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 + Vector m_vLoc; // 0x12c8 + float m_flPredictedTotalTime; // 0x12d4 + Vector m_vStartPosition; // 0x12d8 + float m_flCurrentTimeHoriz; // 0x12e4 + float m_flCurrentTimeVert; // 0x12e8 + bool m_bHorizontalMotionInterrupted; // 0x12ec + bool m_bTargetTeleported; // 0x12ed private: - [[maybe_unused]] uint8_t __pad12de[0x2]; // 0x12de + [[maybe_unused]] uint8_t __pad12ee[0x2]; // 0x12ee public: - Vector m_vHorizontalVelocity; // 0x12e0 - Vector m_vLastKnownTargetPosition; // 0x12ec - float m_flInitialVelocityZ; // 0x12f8 + Vector m_vHorizontalVelocity; // 0x12f0 + Vector m_vLastKnownTargetPosition; // 0x12fc + float m_flInitialVelocityZ; // 0x1308 }; // Alignment: 2 @@ -74296,64 +74780,64 @@ public: }; // Alignment: 12 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_PrimalBeast_Uproar : public CDOTA_Modifier_Stacking_Base { public: - 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 + int32_t stack_limit; // 0x12e8 + int32_t damage_limit; // 0x12ec + float stack_duration; // 0x12f0 + float damage_min; // 0x12f4 + float damage_max; // 0x12f8 + int32_t bonus_damage_per_stack; // 0x12fc + ParticleIndex_t m_nFxIndexA; // 0x1300 + int32_t iCur_stack; // 0x1304 + int32_t bonus_damage; // 0x1308 + float slow_duration; // 0x130c private: - [[maybe_unused]] uint8_t __pad1300[0x18]; // 0x1300 + [[maybe_unused]] uint8_t __pad1310[0x18]; // 0x1310 public: - float m_fTotalDamage; // 0x1318 - GameTime_t m_flLastStackTime; // 0x131c + float m_fTotalDamage; // 0x1328 + GameTime_t m_flLastStackTime; // 0x132c }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PrimalBeast_Uproar_Slow : public CDOTA_Buff { public: - int32_t move_slow_per_stack; // 0x12b8 + int32_t move_slow_per_stack; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_PrimalBeast_Uproar_Roared_Self : public CDOTA_Buff { public: - int32_t roared_bonus_attack_speed; // 0x12b8 - int32_t roared_bonus_armor; // 0x12bc - int32_t m_nBuffStackCount; // 0x12c0 + int32_t roared_bonus_attack_speed; // 0x12c8 + int32_t roared_bonus_armor; // 0x12cc + int32_t m_nBuffStackCount; // 0x12d0 }; // Alignment: 11 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Primal_Beast_Uproar_Projectile_Thinker : public CDOTA_Buff { public: - 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 + int32_t projectiles_per_stack; // 0x12c8 + int32_t projectile_speed; // 0x12cc + int32_t projectile_distance; // 0x12d0 + int32_t projectile_width; // 0x12d4 + int32_t splinter_angle; // 0x12d8 + float split_delay; // 0x12dc + int32_t projectile_waves; // 0x12e0 + int32_t m_nCurrentWaveCount; // 0x12e4 + int32_t tectonic_shift_projectiles; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< CHandle< CBaseEntity > > m_vecEnemiesHit; // 0x12e0 - CUtlVector< int32 > m_vecProjectileHandles; // 0x12f8 + CUtlVector< CHandle< CBaseEntity > > m_vecEnemiesHit; // 0x12f0 + CUtlVector< int32 > m_vecProjectileHandles; // 0x1308 }; // Alignment: 7 @@ -74371,25 +74855,25 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Muerta_Gunslinger : public CDOTA_Buff { public: - float double_shot_chance; // 0x12b8 - float target_search_bonus_range; // 0x12bc - CHandle< CBaseEntity > m_hSecondaryTarget; // 0x12c0 + float double_shot_chance; // 0x12c8 + float target_search_bonus_range; // 0x12cc + CHandle< CBaseEntity > m_hSecondaryTarget; // 0x12d0 }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Muerta_PierceTheVeil : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 9 @@ -74412,19 +74896,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Muerta_DeadShot_Slow : public CDOTA_Buff { public: - int32_t impact_slow_percent; // 0x12b8 + int32_t impact_slow_percent; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Muerta_DeadShot_Fear : public CDOTA_Buff { public: - Vector m_vFearDir; // 0x12b8 + Vector m_vFearDir; // 0x12c8 }; // Alignment: 0 @@ -74436,7 +74920,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Muerta_PierceTheVeilTransform : public CDOTA_Buff { public: @@ -74444,20 +74928,20 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Muerta_PierceTheVeil_Buff : public CDOTA_Buff { public: - 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 + int32_t modelscale; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t spell_lifesteal; // 0x12d0 + int32_t attack_projectile_speed_bonus; // 0x12d4 + int32_t attack_range_bonus; // 0x12d8 + int32_t m_iOriginalAttackCapabilities; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Muerta_PierceTheVeil_MagicImmunityDamageCancel : public CDOTA_Buff { public: @@ -74465,7 +74949,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Muerta_PierceTheVeil_SpellAmpBoost : public CDOTA_Buff { public: @@ -74473,7 +74957,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Muerta_TheCalling_Invulnerable : public CDOTA_Buff { public: @@ -74489,47 +74973,47 @@ public: }; // Alignment: 15 -// Size: 0x1328 +// Size: 0x1338 class CDOTA_Modifier_Muerta_Revenant_Thinker : public CDOTA_Buff { public: - bool m_bSpiritsExplode; // 0x12b8 + bool m_bSpiritsExplode; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + int32_t damage; // 0x12cc + int32_t hit_radius; // 0x12d0 + int32_t dead_zone_distance; // 0x12d4 + float speed_initial; // 0x12d8 + float speed_max; // 0x12dc + float acceleration; // 0x12e0 + int32_t num_revenants; // 0x12e4 + int32_t rotation_direction; // 0x12e8 + int32_t radius; // 0x12ec + float rotation_initial; // 0x12f0 + int32_t show_warning; // 0x12f4 + ParticleIndex_t m_nWarningFX; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec + [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc public: - CUtlVector< sRevenantDef > m_SpiritDefs; // 0x12f0 + CUtlVector< sRevenantDef > m_SpiritDefs; // 0x1300 private: - [[maybe_unused]] uint8_t __pad1308[0x18]; // 0x1308 + [[maybe_unused]] uint8_t __pad1318[0x18]; // 0x1318 public: - int32_t m_nRevenantImpacts; // 0x1320 + int32_t m_nRevenantImpacts; // 0x1330 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Muerta_TheCallingAuraSlow : public CDOTA_Buff { public: - int32_t aura_movespeed_slow; // 0x12b8 - int32_t aura_attackspeed_slow; // 0x12bc + int32_t aura_movespeed_slow; // 0x12c8 + int32_t aura_attackspeed_slow; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Muerta_TheCalling_Silence : public CDOTA_Buff { public: @@ -74555,7 +75039,7 @@ public: }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Muerta_PartingShot_Knockback : public CDOTA_Modifier_Knockback { public: @@ -74563,7 +75047,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Muerta_PartingShot_SoulClone : public CDOTA_Buff { public: @@ -74571,23 +75055,23 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Muerta_PartingShot_SoulDebuff : public CDOTA_Buff { public: - int32_t ethereal_damage_bonus; // 0x12b8 - int32_t movement_slow; // 0x12bc - CHandle< CBaseEntity > m_hPhysicalBody; // 0x12c0 - ParticleIndex_t m_nTetherFXIndex; // 0x12c4 + int32_t ethereal_damage_bonus; // 0x12c8 + int32_t movement_slow; // 0x12cc + CHandle< CBaseEntity > m_hPhysicalBody; // 0x12d0 + ParticleIndex_t m_nTetherFXIndex; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Muerta_PartingShot_ProjectileReturn : public CDOTA_Buff { public: - int32_t m_nProjectileHandle; // 0x12b8 - CHandle< CBaseEntity > m_hPhysicalBody; // 0x12bc + int32_t m_nProjectileHandle; // 0x12c8 + CHandle< CBaseEntity > m_hPhysicalBody; // 0x12cc }; // Alignment: 0 @@ -74615,16 +75099,16 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Bracer : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_strength; // 0x12c8 + int32_t bonus_agility; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + int32_t clock_time; // 0x12d4 + float bonus_health_regen; // 0x12d8 + int32_t bonus_damage; // 0x12dc }; // Alignment: 0 @@ -74636,11 +75120,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Gauntlets : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 + int32_t bonus_strength; // 0x12c8 }; // Alignment: 0 @@ -74652,11 +75136,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Circlet : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_all_stats; // 0x12c8 }; // Alignment: 0 @@ -74668,11 +75152,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Slippers : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x12b8 + int32_t bonus_agility; // 0x12c8 }; // Alignment: 0 @@ -74692,16 +75176,16 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_WraithBand : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_strength; // 0x12c8 + int32_t bonus_agility; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + int32_t bonus_attack_speed; // 0x12d4 + int32_t clock_time; // 0x12d8 + float bonus_armor; // 0x12dc }; // Alignment: 0 @@ -74713,11 +75197,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Mantle : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x12b8 + int32_t bonus_intellect; // 0x12c8 }; // Alignment: 0 @@ -74737,16 +75221,16 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_NullTalisman : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_strength; // 0x12c8 + int32_t bonus_agility; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + float bonus_mana_regen; // 0x12d4 + int32_t bonus_max_mana_percentage; // 0x12d8 + int32_t clock_time; // 0x12dc }; // Alignment: 0 @@ -74767,20 +75251,20 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_TangoHeal : public CDOTA_Buff { public: - float health_regen; // 0x12b8 - bool superheal; // 0x12bc + float health_regen; // 0x12c8 + bool superheal; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - float m_fHealingDone; // 0x12c0 + float m_fHealingDone; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlString m_sAbilityClassname; // 0x12c8 + CUtlString m_sAbilityClassname; // 0x12d8 }; // Alignment: 0 @@ -74792,11 +75276,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ClarityPotion : public CDOTA_Buff { public: - float mana_regen; // 0x12b8 + float mana_regen; // 0x12c8 }; // Alignment: 0 @@ -74808,17 +75292,17 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_FlaskHealing : public CDOTA_Buff { public: - int32_t health_regen; // 0x12b8 - int32_t break_on_hero_damage; // 0x12bc - float m_fHealingDone; // 0x12c0 + int32_t health_regen; // 0x12c8 + int32_t break_on_hero_damage; // 0x12cc + float m_fHealingDone; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlString m_sAbilityClassname; // 0x12c8 + CUtlString m_sAbilityClassname; // 0x12d8 }; // Alignment: 0 @@ -74830,11 +75314,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_BootsOfSpeed : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_movement_speed; // 0x12c8 }; // Alignment: 0 @@ -74864,15 +75348,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_BootsOfTravel : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_movement_speed; // 0x12c8 }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_BootsOfTravel_2 : public CDOTA_Modifier_Item_BootsOfTravel { public: @@ -74880,7 +75364,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_BootsOfTravel_Incoming : public CDOTA_Buff { public: @@ -74904,15 +75388,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_PowerTreads : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_movement_speed_ranged; // 0x12c8 + int32_t bonus_movement_speed_melee; // 0x12cc + int32_t bonus_attack_speed; // 0x12d0 + int32_t bonus_stat; // 0x12d4 + int32_t bonus_damage; // 0x12d8 }; // Alignment: 1 @@ -74942,27 +75426,27 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_PhaseBoots : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_damage_melee; // 0x12cc + int32_t bonus_damage_range; // 0x12d0 + int32_t damage_block_melee; // 0x12d4 + int32_t damage_block_ranged; // 0x12d8 + int32_t block_chance; // 0x12dc + int32_t bonus_attack_speed; // 0x12e0 + int32_t bonus_armor; // 0x12e4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_PhaseBoots_Active : public CDOTA_Buff { public: - int32_t phase_movement_speed; // 0x12b8 - int32_t phase_movement_speed_range; // 0x12bc + int32_t phase_movement_speed; // 0x12c8 + int32_t phase_movement_speed_range; // 0x12cc }; // Alignment: 0 @@ -74986,18 +75470,18 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_TranquilBoots : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_movement_speed; // 0x12c8 + int32_t broken_movement_speed; // 0x12cc + int32_t bonus_armor; // 0x12d0 + int32_t bonus_health_regen; // 0x12d4 + int32_t break_threshold; // 0x12d8 + int32_t break_time; // 0x12dc + int32_t break_count; // 0x12e0 + float m_flResetTime; // 0x12e4 }; // Alignment: 0 @@ -75021,17 +75505,17 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_TranquilBoots2 : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_movement_speed; // 0x12c8 + int32_t broken_movement_speed; // 0x12cc + int32_t bonus_armor; // 0x12d0 + int32_t bonus_health_regen; // 0x12d4 + int32_t break_threshold; // 0x12d8 + int32_t break_time; // 0x12dc + int32_t break_count; // 0x12e0 }; // Alignment: 0 @@ -75051,26 +75535,26 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Hermes_Sandals : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_damage_melee; // 0x12cc + int32_t bonus_damage_range; // 0x12d0 + int32_t bonus_armor; // 0x12d4 + int32_t bonus_agility; // 0x12d8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Hermes_Sandals_Active : public CDOTA_Buff { public: - int32_t phase_movement_speed; // 0x12b8 - int32_t phase_movement_speed_range; // 0x12bc - ParticleIndex_t m_nFXIndex; // 0x12c0 - bool m_bWasRooted; // 0x12c4 + int32_t phase_movement_speed; // 0x12c8 + int32_t phase_movement_speed_range; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d0 + bool m_bWasRooted; // 0x12d4 }; // Alignment: 0 @@ -75082,14 +75566,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Samurai_Tabi : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc - int32_t bonus_all_stats; // 0x12c0 - int32_t bonus_damage; // 0x12c4 + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t bonus_all_stats; // 0x12d0 + int32_t bonus_damage; // 0x12d4 }; // Alignment: 1 @@ -75103,53 +75587,53 @@ public: }; // Alignment: 11 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Item_Samurai_Tabi_Str : public CDOTA_Buff_Item { public: - 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 + int32_t stat_per_tick; // 0x12c8 + int32_t bonus_all_stats; // 0x12cc + float base_interval; // 0x12d0 + int32_t max_tick_count; // 0x12d4 + float str_root_duration; // 0x12d8 + float str_root_cooldown; // 0x12dc + int32_t str_root_chance; // 0x12e0 + float str_bonus_damage; // 0x12e4 + int32_t iCurrentTickCount; // 0x12e8 + GameTime_t m_flLastRootTime; // 0x12ec + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12f0 }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Samurai_Tabi_Agi : public CDOTA_Buff_Item { public: - 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 + int32_t stat_per_tick; // 0x12c8 + float base_interval; // 0x12cc + int32_t max_tick_count; // 0x12d0 + int32_t bonus_all_stats; // 0x12d4 + int32_t agi_counter_chance; // 0x12d8 + float agi_counter_cooldown; // 0x12dc + GameTime_t m_flLastCounterTime; // 0x12e0 + int32_t iCurrentTickCount; // 0x12e4 }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Item_Samurai_Tabi_Int : public CDOTA_Buff_Item { public: - 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 + int32_t stat_per_tick; // 0x12c8 + float base_interval; // 0x12cc + int32_t max_tick_count; // 0x12d0 + float int_damage_interval; // 0x12d4 + float int_damage_range; // 0x12d8 + float int_damage; // 0x12dc + int32_t iCurrentTickCount; // 0x12e0 + int32_t int_max_targets; // 0x12e4 + GameTime_t m_flNextHit; // 0x12e8 + int32_t bonus_all_stats; // 0x12ec }; // Alignment: 0 @@ -75161,11 +75645,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifer_Item_GlovesOfHaste : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12c8 }; // Alignment: 0 @@ -75177,11 +75661,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_BeltOfStrength : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 + int32_t bonus_strength; // 0x12c8 }; // Alignment: 0 @@ -75193,11 +75677,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_RobeOfMagi : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x12b8 + int32_t bonus_intellect; // 0x12c8 }; // Alignment: 0 @@ -75209,11 +75693,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_BootsOfElven : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x12b8 + int32_t bonus_agility; // 0x12c8 }; // Alignment: 0 @@ -75225,11 +75709,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_BladesOfAttack : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 3 @@ -75245,7 +75729,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_EmptyBottle : public CDOTA_Buff_Item { public: @@ -75253,16 +75737,16 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_BottleRegeneration : public CDOTA_Buff { public: - 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 + int32_t health_restore; // 0x12c8 + int32_t mana_restore; // 0x12cc + int32_t health_restore_pct; // 0x12d0 + int32_t mana_restore_pct; // 0x12d4 + int32_t break_on_hero_damage; // 0x12d8 + float m_fHealingDone; // 0x12dc }; // Alignment: 0 @@ -75274,11 +75758,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_DemonEdge : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 0 @@ -75290,11 +75774,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_EagleHorn : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x12b8 + int32_t bonus_agility; // 0x12c8 }; // Alignment: 0 @@ -75306,11 +75790,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Reaver : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 + int32_t bonus_strength; // 0x12c8 }; // Alignment: 0 @@ -75322,11 +75806,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_SacredRelic : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 0 @@ -75338,11 +75822,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Hyperstone : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12c8 }; // Alignment: 0 @@ -75354,11 +75838,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_RingOfHealth : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x12b8 + float bonus_health_regen; // 0x12c8 }; // Alignment: 0 @@ -75370,11 +75854,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_VoidStone : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x12b8 + float bonus_mana_regen; // 0x12c8 }; // Alignment: 0 @@ -75386,11 +75870,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_MysticStaff : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x12b8 + int32_t bonus_intellect; // 0x12c8 }; // Alignment: 0 @@ -75402,11 +75886,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_EnergyBooster : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x12b8 + int32_t bonus_mana; // 0x12c8 }; // Alignment: 0 @@ -75418,12 +75902,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_PointBooster : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x12b8 - int32_t bonus_health; // 0x12bc + int32_t bonus_mana; // 0x12c8 + int32_t bonus_health; // 0x12cc }; // Alignment: 0 @@ -75435,11 +75919,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_VitalityBooster : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 + int32_t bonus_health; // 0x12c8 }; // Alignment: 0 @@ -75451,11 +75935,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Broadsword : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 0 @@ -75467,12 +75951,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Quarterstaff : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 - int32_t bonus_speed; // 0x12bc + int32_t bonus_damage; // 0x12c8 + int32_t bonus_speed; // 0x12cc }; // Alignment: 0 @@ -75484,11 +75968,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Claymore : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 0 @@ -75500,11 +75984,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_RingOfProtection : public CDOTA_Buff_Item { public: - float bonus_armor; // 0x12b8 + float bonus_armor; // 0x12c8 }; // Alignment: 0 @@ -75516,13 +76000,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_StoutShield : public CDOTA_Buff_Item { public: - int32_t damage_block_melee; // 0x12b8 - int32_t damage_block_ranged; // 0x12bc - int32_t block_chance; // 0x12c0 + int32_t damage_block_melee; // 0x12c8 + int32_t damage_block_ranged; // 0x12cc + int32_t block_chance; // 0x12d0 }; // Alignment: 0 @@ -75534,13 +76018,13 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Javelin : public CDOTA_Buff_Item { public: - int32_t bonus_chance; // 0x12b8 - int32_t bonus_chance_damage; // 0x12bc - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + int32_t bonus_chance; // 0x12c8 + int32_t bonus_chance_damage; // 0x12cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 0 @@ -75552,11 +76036,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_MithrilHammer : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 0 @@ -75568,11 +76052,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_ChainMail : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 0 @@ -75584,12 +76068,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_HelmOfIronWill : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x12b8 - float bonus_regen; // 0x12bc + int32_t bonus_armor; // 0x12c8 + float bonus_regen; // 0x12cc }; // Alignment: 0 @@ -75601,11 +76085,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_PlateMail : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 0 @@ -75617,12 +76101,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_QuellingBlade : public CDOTA_Buff_Item { public: - int32_t damage_bonus; // 0x12b8 - int32_t damage_bonus_ranged; // 0x12bc + int32_t damage_bonus; // 0x12c8 + int32_t damage_bonus_ranged; // 0x12cc }; // Alignment: 0 @@ -75634,11 +76118,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_IronwoodBranch : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_all_stats; // 0x12c8 }; // Alignment: 0 @@ -75650,11 +76134,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_OgreAxe : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 + int32_t bonus_strength; // 0x12c8 }; // Alignment: 0 @@ -75666,11 +76150,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_BladeOfAlacrity : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x12b8 + int32_t bonus_agility; // 0x12c8 }; // Alignment: 0 @@ -75682,11 +76166,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_StaffOfWizardry : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x12b8 + int32_t bonus_intellect; // 0x12c8 }; // Alignment: 0 @@ -75698,11 +76182,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_UltimateOrb : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_all_stats; // 0x12c8 }; // Alignment: 0 @@ -75714,12 +76198,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_MaskOfDeath : public CDOTA_Buff_Item { public: - int32_t lifesteal_percent; // 0x12b8 - int32_t creep_lifesteal_reduction_pct; // 0x12bc + int32_t lifesteal_percent; // 0x12c8 + int32_t creep_lifesteal_reduction_pct; // 0x12cc }; // Alignment: 0 @@ -75731,11 +76215,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_RingOfRegeneration : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x12b8 + float bonus_health_regen; // 0x12c8 }; // Alignment: 0 @@ -75755,15 +76239,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_BlinkDagger : public CDOTA_Buff_Item { public: - float blink_damage_cooldown; // 0x12b8 + float blink_damage_cooldown; // 0x12c8 }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_SuperBlinkDagger : public CDOTA_Modifier_Item_BlinkDagger { public: @@ -75779,11 +76263,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_SobiMask : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x12b8 + float bonus_mana_regen; // 0x12c8 }; // Alignment: 4 @@ -75798,20 +76282,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_GemOfTrueSight : public CDOTA_Buff_Item { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Gem_Active_TrueSight : public CDOTA_Buff { public: - int32_t active_radius; // 0x12b8 - float duration; // 0x12bc + int32_t active_radius; // 0x12c8 + float duration; // 0x12cc }; // Alignment: 0 @@ -75823,11 +76307,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_PlaneswalkersCloak : public CDOTA_Buff_Item { public: - int32_t bonus_magical_armor; // 0x12b8 + int32_t bonus_magical_armor; // 0x12c8 }; // Alignment: 0 @@ -75839,12 +76323,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_MagicStick : public CDOTA_Buff_Item { public: - int32_t charge_radius; // 0x12b8 - int32_t max_charges; // 0x12bc + int32_t charge_radius; // 0x12c8 + int32_t max_charges; // 0x12cc }; // Alignment: 0 @@ -75864,13 +76348,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_MagicWand : public CDOTA_Buff_Item { public: - int32_t charge_radius; // 0x12b8 - int32_t max_charges; // 0x12bc - int32_t bonus_all_stats; // 0x12c0 + int32_t charge_radius; // 0x12c8 + int32_t max_charges; // 0x12cc + int32_t bonus_all_stats; // 0x12d0 }; // Alignment: 0 @@ -75882,11 +76366,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_TalismanOfEvasion : public CDOTA_Buff_Item { public: - int32_t bonus_evasion; // 0x12b8 + int32_t bonus_evasion; // 0x12c8 }; // Alignment: 0 @@ -75898,19 +76382,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_GhostScepter : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_all_stats; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_GhostScepter_Active : public CDOTA_Buff { public: - int32_t extra_spell_damage_percent; // 0x12b8 + int32_t extra_spell_damage_percent; // 0x12c8 }; // Alignment: 0 @@ -75930,13 +76414,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_HandOfMidas : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x12b8 - float charge_gain_timer; // 0x12bc - int32_t max_charges; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c8 + float charge_gain_timer; // 0x12cc + int32_t max_charges; // 0x12d0 }; // Alignment: 0 @@ -75956,14 +76440,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_OblivionStaff : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc - int32_t bonus_damage; // 0x12c0 - float bonus_mana_regen; // 0x12c4 + int32_t bonus_intellect; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t bonus_damage; // 0x12d0 + float bonus_mana_regen; // 0x12d4 }; // Alignment: 0 @@ -75983,12 +76467,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Perseverance : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x12b8 - float bonus_mana_regen; // 0x12bc + float bonus_health_regen; // 0x12c8 + float bonus_mana_regen; // 0x12cc }; // Alignment: 0 @@ -76008,14 +76492,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_PoorMansShield : public CDOTA_Buff_Item { public: - int32_t damage_block_melee; // 0x12b8 - int32_t damage_block_ranged; // 0x12bc - int32_t block_chance; // 0x12c0 - int32_t bonus_agility; // 0x12c4 + int32_t damage_block_melee; // 0x12c8 + int32_t damage_block_ranged; // 0x12cc + int32_t block_chance; // 0x12d0 + int32_t bonus_agility; // 0x12d4 }; // Alignment: 0 @@ -76027,24 +76511,24 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_DustofAppearance_Thinker : public CDOTA_Buff { public: - float radius; // 0x12b8 - float duration; // 0x12bc - float linger_duration; // 0x12c0 - int32_t movespeed; // 0x12c4 - float damage; // 0x12c8 + float radius; // 0x12c8 + float duration; // 0x12cc + float linger_duration; // 0x12d0 + int32_t movespeed; // 0x12d4 + float damage; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_DustofAppearance : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 - bool m_bCastOnInvisibleHero; // 0x12bc + int32_t movespeed; // 0x12c8 + bool m_bCastOnInvisibleHero; // 0x12cc }; // Alignment: 0 @@ -76056,7 +76540,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Buff_Wards : public CDOTA_Buff { public: @@ -76072,7 +76556,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_ObserverWard : public CDOTA_Buff_Item { public: @@ -76088,7 +76572,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_SentryWard : public CDOTA_Buff_Item { public: @@ -76096,11 +76580,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_WardTrueSight : public CDOTA_Buff { public: - int32_t true_sight_range; // 0x12b8 + int32_t true_sight_range; // 0x12c8 }; // Alignment: 7 @@ -76134,11 +76618,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_DivineRapier : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 0 @@ -76158,15 +76642,15 @@ public: }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Item_MonkeyKingBar : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_chance; // 0x12cc + int32_t bonus_chance_damage; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 0 @@ -76186,28 +76670,28 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Radiance : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 - int32_t evasion; // 0x12bc - int32_t upgrade_day_vision; // 0x12c0 - int32_t aura_radius; // 0x12c4 - bool m_bLastToggleState; // 0x12c8 + int32_t bonus_damage; // 0x12c8 + int32_t evasion; // 0x12cc + int32_t upgrade_day_vision; // 0x12d0 + int32_t aura_radius; // 0x12d4 + bool m_bLastToggleState; // 0x12d8 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Radiance_Debuff : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - int32_t aura_damage; // 0x12c0 - int32_t aura_damage_upgrade_bonus; // 0x12c4 - int32_t aura_damage_illusions; // 0x12c8 - int32_t blind_pct; // 0x12cc + int32_t aura_damage; // 0x12d0 + int32_t aura_damage_upgrade_bonus; // 0x12d4 + int32_t aura_damage_illusions; // 0x12d8 + int32_t blind_pct; // 0x12dc }; // Alignment: 0 @@ -76227,23 +76711,23 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Butterfly_Extra : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x12b8 + int32_t bonus_move_speed; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t bonus_damage; // 0x12c8 + int32_t bonus_agility; // 0x12cc + int32_t bonus_evasion; // 0x12d0 + int32_t bonus_attack_speed; // 0x12d4 + int32_t bonus_slow_resistance; // 0x12d8 }; // Alignment: 0 @@ -76263,13 +76747,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t bonus_damage; // 0x12c8 + int32_t crit_chance; // 0x12cc + int32_t crit_multiplier; // 0x12d0 }; // Alignment: 0 @@ -76289,21 +76773,21 @@ public: }; // Alignment: 8 -// Size: 0x12f0 +// Size: 0x1300 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 + int32_t bonus_strength; // 0x12c8 + int32_t bash_chance_melee; // 0x12cc + int32_t bash_chance_ranged; // 0x12d0 + float bash_duration; // 0x12d4 + float bash_cooldown; // 0x12d8 + int32_t bonus_chance_damage; // 0x12dc + int32_t bonus_damage; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e8 }; // Alignment: 0 @@ -76323,26 +76807,26 @@ public: }; // Alignment: 13 -// Size: 0x1308 +// Size: 0x1318 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 + int32_t bonus_strength; // 0x12c8 + int32_t bash_chance_melee; // 0x12cc + int32_t bash_chance_ranged; // 0x12d0 + float bash_duration; // 0x12d4 + float bash_cooldown; // 0x12d8 + int32_t bonus_chance_damage; // 0x12dc + int32_t bonus_damage; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 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 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e8 + int32_t bonus_health; // 0x1300 + float bonus_health_regen; // 0x1304 + int32_t block_damage_ranged; // 0x1308 + int32_t block_damage_melee; // 0x130c + int32_t block_chance; // 0x1310 }; // Alignment: 0 @@ -76362,22 +76846,22 @@ public: }; // Alignment: 12 -// Size: 0x12e8 +// Size: 0x12f8 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 + int32_t bonus_damage; // 0x12c8 + float bonus_health_regen; // 0x12cc + float bonus_mana_regen; // 0x12d0 + int32_t cleave_damage_percent; // 0x12d4 + int32_t cleave_damage_percent_creep; // 0x12d8 + int32_t cleave_starting_width; // 0x12dc + int32_t cleave_ending_width; // 0x12e0 + int32_t cleave_distance; // 0x12e4 + int32_t upgraded_cleave_bonus; // 0x12e8 + int32_t upgraded_damage_bonus; // 0x12ec + int32_t quelling_bonus; // 0x12f0 + int32_t quelling_bonus_ranged; // 0x12f4 }; // Alignment: 0 @@ -76397,19 +76881,19 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_MantaStyle : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_strength; // 0x12cc + int32_t bonus_agility; // 0x12d0 + int32_t bonus_intellect; // 0x12d4 + int32_t bonus_movement_speed; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Manta_Phase : public CDOTA_Buff { public: @@ -76417,7 +76901,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Manta : public CDOTA_Buff { public: @@ -76441,13 +76925,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_LesserCritical : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 - int32_t crit_chance; // 0x12bc - int32_t crit_multiplier; // 0x12c0 + int32_t bonus_damage; // 0x12c8 + int32_t crit_chance; // 0x12cc + int32_t crit_multiplier; // 0x12d0 }; // Alignment: 0 @@ -76469,30 +76953,30 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Armlet : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc - int32_t bonus_armor; // 0x12c0 - int32_t bonus_health_regen; // 0x12c4 + int32_t bonus_damage; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t bonus_armor; // 0x12d0 + int32_t bonus_health_regen; // 0x12d4 }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Armlet_UnholyStrength : public CDOTA_Buff { public: - 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 + int32_t unholy_bonus_damage; // 0x12c8 + int32_t unholy_bonus_attack_speed; // 0x12cc + int32_t unholy_bonus_strength; // 0x12d0 + int32_t unholy_bonus_armor; // 0x12d4 + int32_t unholy_health_drain_per_second; // 0x12d8 + int32_t str_tick_count; // 0x12dc + int32_t unholy_bonus_slow_resistance; // 0x12e0 + float tick_interval; // 0x12e4 + float m_flDamageRemainder; // 0x12e8 }; // Alignment: 0 @@ -76512,22 +76996,22 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_InvisibilityEdge : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_damage; // 0x12bc - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_damage; // 0x12cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_InvisibilityEdge_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t windwalk_bonus_damage; // 0x12c8 - int32_t windwalk_movement_speed; // 0x12cc + int32_t windwalk_bonus_damage; // 0x12d8 + int32_t windwalk_movement_speed; // 0x12dc }; // Alignment: 0 @@ -76547,24 +77031,24 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_SheepStick : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_strength; // 0x12c8 + int32_t bonus_agility; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + float bonus_mana_regen; // 0x12d4 + int32_t bonus_mana; // 0x12d8 + int32_t cast_range_bonus; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SheepStick_Debuff : public CDOTA_Modifier_Hexed { public: - float sheep_movement_speed; // 0x12b8 + float sheep_movement_speed; // 0x12c8 }; // Alignment: 0 @@ -76584,24 +77068,24 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_OrchidMalevolence : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_intellect; // 0x12c8 + float bonus_mana_regen; // 0x12cc + float bonus_health_regen; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + int32_t bonus_attack_speed; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_OrchidMalevolence_Debuff : public CDOTA_Buff { public: - float silence_damage_percent; // 0x12b8 - float m_flDamageTaken; // 0x12bc + float silence_damage_percent; // 0x12c8 + float m_flDamageTaken; // 0x12cc }; // Alignment: 0 @@ -76621,18 +77105,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_RodOfAtos : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 - int32_t bonus_agility; // 0x12bc - int32_t bonus_intellect; // 0x12c0 - int32_t bonus_hp; // 0x12c4 + int32_t bonus_strength; // 0x12c8 + int32_t bonus_agility; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + int32_t bonus_hp; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_RodOfAtos_Debuff : public CDOTA_Modifier_Rooted { public: @@ -76656,25 +77140,25 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Cyclone : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x12b8 - float bonus_mana_regen; // 0x12bc - int32_t bonus_movement_speed; // 0x12c0 + int32_t bonus_intellect; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_movement_speed; // 0x12d0 }; // Alignment: 1 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Eul_Cyclone : public CDOTA_Modifier_Cyclone { public: - CHandle< CBaseEntity > m_hBlocker; // 0x12d0 + CHandle< CBaseEntity > m_hBlocker; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Eul_Cyclone_Thinker : public CDOTA_Buff { public: @@ -76698,23 +77182,23 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_ForceStaff : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - int32_t bonus_intellect; // 0x12bc + int32_t bonus_health; // 0x12c8 + int32_t bonus_intellect; // 0x12cc }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_ForceStaff : public CDOTA_Buff { public: - Vector m_vDirection; // 0x12b8 - float m_flEndTime; // 0x12c4 - float m_flCurTime; // 0x12c8 - float push_length; // 0x12cc + Vector m_vDirection; // 0x12c8 + float m_flEndTime; // 0x12d4 + float m_flCurTime; // 0x12d8 + float push_length; // 0x12dc }; // Alignment: 0 @@ -76766,7 +77250,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Dagon : public CDOTA_Buff { public: @@ -76814,15 +77298,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Dagon : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_int; // 0x12c8 + int32_t bonus_str; // 0x12cc + int32_t bonus_agi; // 0x12d0 + float passive_spell_lifesteal; // 0x12d4 + float dagon_spell_lifesteal; // 0x12d8 }; // Alignment: 0 @@ -76842,13 +77326,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_RefresherOrb : public CDOTA_Buff_Item { public: - int32_t bonus_health_regen; // 0x12b8 - float bonus_mana_regen; // 0x12bc - int32_t bonus_damage; // 0x12c0 + int32_t bonus_health_regen; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_damage; // 0x12d0 }; // Alignment: 0 @@ -76860,13 +77344,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t bonus_health_regen; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_damage; // 0x12d0 }; // Alignment: 0 @@ -76910,18 +77394,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_UltimateScepter : public CDOTA_Buff_Item { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t bonus_all_stats; // 0x12bc - int32_t bonus_health; // 0x12c0 - int32_t bonus_mana; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t bonus_all_stats; // 0x12cc + int32_t bonus_health; // 0x12d0 + int32_t bonus_mana; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_UltimateScepter_Consumed : public CDOTA_Buff_Item { public: @@ -76929,14 +77413,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_UltimateScepter_Consumed_Alchemist : public CDOTA_Modifier_Item_UltimateScepter_Consumed { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t bonus_all_stats; // 0x12bc - int32_t bonus_health; // 0x12c0 - int32_t bonus_mana; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t bonus_all_stats; // 0x12cc + int32_t bonus_health; // 0x12d0 + int32_t bonus_mana; // 0x12d4 }; // Alignment: 0 @@ -76956,7 +77440,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Assault_Cuirass_Positive_Aura : public CDOTA_Buff_Item { public: @@ -76964,16 +77448,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Assault_Cuirass_Positive : public CDOTA_Buff { public: - int32_t aura_attack_speed; // 0x12b8 - int32_t aura_positive_armor; // 0x12bc + int32_t aura_attack_speed; // 0x12c8 + int32_t aura_positive_armor; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Assault_Cuirass_Negative_Armor_Aura : public CDOTA_Buff_Item { public: @@ -76981,20 +77465,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Assault_Cuirass_Negative_Armor : public CDOTA_Buff { public: - int32_t aura_negative_armor; // 0x12b8 + int32_t aura_negative_armor; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Assault_Cuirass : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_armor; // 0x12bc + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_armor; // 0x12cc }; // Alignment: 0 @@ -77014,13 +77498,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Heart : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 - int32_t bonus_health; // 0x12bc - float health_regen_pct; // 0x12c0 + int32_t bonus_strength; // 0x12c8 + int32_t bonus_health; // 0x12cc + float health_regen_pct; // 0x12d0 }; // Alignment: 0 @@ -77040,34 +77524,34 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Black_King_Bar_Immune : public CDOTA_Modifier_DebuffImmune { public: - int32_t model_scale; // 0x12b8 - int32_t magic_resist; // 0x12bc + int32_t model_scale; // 0x12c8 + int32_t magic_resist; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Black_King_Bar : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 - int32_t bonus_damage; // 0x12bc - float duration; // 0x12c0 + int32_t bonus_strength; // 0x12c8 + int32_t bonus_damage; // 0x12cc + float duration; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Aegis : public CDOTA_Buff_Item { public: - float reincarnate_time; // 0x12b8 + float reincarnate_time; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aegis_Regen : public CDOTA_Buff { public: @@ -77109,46 +77593,46 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Shivas_Guard : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x12b8 - int32_t bonus_armor; // 0x12bc - int32_t aura_radius; // 0x12c0 + int32_t bonus_intellect; // 0x12c8 + int32_t bonus_armor; // 0x12cc + int32_t aura_radius; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Shivas_Guard_Aura : public CDOTA_Buff { public: - int32_t aura_attack_speed; // 0x12b8 - int32_t hp_regen_degen_aura; // 0x12bc + int32_t aura_attack_speed; // 0x12c8 + int32_t hp_regen_degen_aura; // 0x12cc }; // Alignment: 9 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Item_Shivas_Guard_Thinker : public CDOTA_Buff { public: - 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 + float m_fCurRadius; // 0x12c8 + GameTime_t m_fLastThink; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x12d0 + CountdownTimer m_ViewerTimer; // 0x12e8 + int32_t blast_speed; // 0x1300 + int32_t blast_radius; // 0x1304 + int32_t blast_damage; // 0x1308 + int32_t illusion_multiplier_pct; // 0x130c + float blast_debuff_duration; // 0x1310 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Shivas_Guard_Blast : public CDOTA_Buff { public: - int32_t blast_movement_speed; // 0x12b8 + int32_t blast_movement_speed; // 0x12c8 }; // Alignment: 0 @@ -77168,7 +77652,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Bloodstone_Active : public CDOTA_Buff { public: @@ -77176,18 +77660,18 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Bloodstone : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - int32_t bonus_mana; // 0x12bc - float spell_lifesteal; // 0x12c0 - float lifesteal_multiplier; // 0x12c4 + int32_t bonus_health; // 0x12c8 + int32_t bonus_mana; // 0x12cc + float spell_lifesteal; // 0x12d0 + float lifesteal_multiplier; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Bloodstone_Drained : public CDOTA_Buff { public: @@ -77211,13 +77695,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Sange : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 - int32_t hp_regen_amp; // 0x12bc - int32_t status_resistance; // 0x12c0 + int32_t bonus_strength; // 0x12c8 + int32_t hp_regen_amp; // 0x12cc + int32_t status_resistance; // 0x12d0 }; // Alignment: 0 @@ -77237,13 +77721,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Yasha : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc - int32_t movement_speed_percent_bonus; // 0x12c0 + int32_t bonus_agility; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t movement_speed_percent_bonus; // 0x12d0 }; // Alignment: 0 @@ -77263,16 +77747,16 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_SangeAndYasha : public CDOTA_Buff_Item { public: - 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_agility; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t movement_speed_percent_bonus; // 0x12d0 + int32_t bonus_strength; // 0x12d4 + int32_t hp_regen_amp; // 0x12d8 + int32_t status_resistance; // 0x12dc }; // Alignment: 0 @@ -77292,24 +77776,24 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_MaskOfMadness : public CDOTA_Buff_Item { public: - int32_t lifesteal_percent; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc - int32_t bonus_damage; // 0x12c0 - int32_t creep_lifesteal_reduction_pct; // 0x12c4 + int32_t lifesteal_percent; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t bonus_damage; // 0x12d0 + int32_t creep_lifesteal_reduction_pct; // 0x12d4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_MaskOfMadness_Berserk : public CDOTA_Buff { public: - int32_t berserk_bonus_attack_speed; // 0x12b8 - int32_t berserk_bonus_movement_speed; // 0x12bc - int32_t berserk_armor_reduction; // 0x12c0 + int32_t berserk_bonus_attack_speed; // 0x12c8 + int32_t berserk_bonus_movement_speed; // 0x12cc + int32_t berserk_armor_reduction; // 0x12d0 }; // Alignment: 0 @@ -77329,37 +77813,37 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Sphere : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_all_stats; // 0x12c8 + float bonus_health_regen; // 0x12cc + float bonus_mana_regen; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + float block_cooldown; // 0x12d8 + float upgrade_absorb_duration; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Sphere_Target : public CDOTA_Buff_Item { public: - float upgrade_absorb_duration; // 0x12b8 + float upgrade_absorb_duration; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Sphere_Upgrade_Absorb : public CDOTA_Buff { public: - int32_t damage_absorb; // 0x12b8 - bool m_bStartedTimer; // 0x12bc + int32_t damage_absorb; // 0x12c8 + bool m_bStartedTimer; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - int32_t m_flDamageAbsorbed; // 0x12c0 + int32_t m_flDamageAbsorbed; // 0x12d0 }; // Alignment: 0 @@ -77379,15 +77863,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Vanguard : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_health; // 0x12c8 + float bonus_health_regen; // 0x12cc + int32_t block_damage_ranged; // 0x12d0 + int32_t block_damage_melee; // 0x12d4 + int32_t block_chance; // 0x12d8 }; // Alignment: 0 @@ -77407,31 +77891,31 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Crimson_Guard_Extra : public CDOTA_Buff { public: - int32_t block_chance_active; // 0x12b8 - int32_t block_damage_active; // 0x12bc - int32_t strength_pct; // 0x12c0 + int32_t block_chance_active; // 0x12c8 + int32_t block_damage_active; // 0x12cc + int32_t strength_pct; // 0x12d0 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Crimson_Guard : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_health; // 0x12c8 + float bonus_health_regen; // 0x12cc + float bonus_armor; // 0x12d0 + int32_t block_damage_ranged; // 0x12d4 + int32_t block_damage_melee; // 0x12d8 + int32_t block_chance; // 0x12dc + int32_t bonus_aoe_radius; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Crimson_Guard_NoStack : public CDOTA_Buff { public: @@ -77455,7 +77939,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Blade_Mail_Reflect : public CDOTA_Buff { public: @@ -77463,16 +77947,16 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Blade_Mail : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_damage; // 0x12c8 + int32_t bonus_armor; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + int32_t passive_reflection_constant; // 0x12d4 + int32_t passive_reflection_pct; // 0x12d8 + int32_t active_reflection_pct; // 0x12dc }; // Alignment: 0 @@ -77492,13 +77976,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Soul_Booster : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - int32_t bonus_mana; // 0x12bc - int32_t bonus_magical_armor; // 0x12c0 + int32_t bonus_health; // 0x12c8 + int32_t bonus_mana; // 0x12cc + int32_t bonus_magical_armor; // 0x12d0 }; // Alignment: 0 @@ -77518,21 +78002,21 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Hood_Of_Defiance_Barrier : public CDOTA_Buff { public: - int32_t barrier_block; // 0x12b8 - int32_t barrier_amount; // 0x12bc + int32_t barrier_block; // 0x12c8 + int32_t barrier_amount; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Hood_Of_Defiance : public CDOTA_Buff_Item { public: - int32_t bonus_spell_resist; // 0x12b8 - float bonus_health_regen; // 0x12bc + int32_t bonus_spell_resist; // 0x12c8 + float bonus_health_regen; // 0x12cc }; // Alignment: 0 @@ -77552,24 +78036,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Mekansm : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x12b8 - int32_t bonus_armor; // 0x12bc + int32_t aura_radius; // 0x12c8 + int32_t bonus_armor; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Mekansm_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x12b8 + float aura_health_regen; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Mekansm_Noheal : public CDOTA_Buff { public: @@ -77593,23 +78077,23 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Vladmir : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Vladmir_Aura : public CDOTA_Buff { public: - 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 + int32_t lifesteal_aura; // 0x12c8 + int32_t damage_aura; // 0x12cc + float armor_aura; // 0x12d0 + float mana_regen_aura; // 0x12d4 + int32_t creep_lifesteal_reduction_pct; // 0x12d8 }; // Alignment: 0 @@ -77621,24 +78105,24 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Buckler : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x12b8 + bool m_bAppliesToCreeps; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t bonus_aoe_radius; // 0x12bc - float armor; // 0x12c0 + int32_t bonus_aoe_radius; // 0x12cc + float armor; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Buckler_Effect : public CDOTA_Buff { public: - float bonus_aoe_armor; // 0x12b8 + float bonus_aoe_armor; // 0x12c8 }; // Alignment: 0 @@ -77666,20 +78150,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Ring_Of_Basilius : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x12b8 - float mana_regen; // 0x12bc + int32_t aura_radius; // 0x12c8 + float mana_regen; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Ring_Of_Basilius_Effect : public CDOTA_Buff { public: - float aura_mana_regen; // 0x12b8 + float aura_mana_regen; // 0x12c8 }; // Alignment: 0 @@ -77699,37 +78183,37 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Pipe : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x12b8 - float health_regen; // 0x12bc - int32_t magic_resistance; // 0x12c0 - int32_t aura_radius; // 0x12c4 + int32_t bonus_all_stats; // 0x12c8 + float health_regen; // 0x12cc + int32_t magic_resistance; // 0x12d0 + int32_t aura_radius; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Pipe_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x12b8 - int32_t magic_resistance_aura; // 0x12bc + float aura_health_regen; // 0x12c8 + int32_t magic_resistance_aura; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Pipe_Barrier : public CDOTA_Buff { public: - int32_t barrier_amount; // 0x12b8 - int32_t barrier_block; // 0x12bc - int32_t barrier_block_creep; // 0x12c0 + int32_t barrier_amount; // 0x12c8 + int32_t barrier_block; // 0x12cc + int32_t barrier_block_creep; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Pipe_Debuff : public CDOTA_Buff { public: @@ -77753,30 +78237,30 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Urn_Of_Shadows : public CDOTA_Buff_Item { public: - float mana_regen; // 0x12b8 - int32_t bonus_all_stats; // 0x12bc - float bonus_armor; // 0x12c0 + float mana_regen; // 0x12c8 + int32_t bonus_all_stats; // 0x12cc + float bonus_armor; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Urn_Heal : public CDOTA_Buff { public: - int32_t soul_heal_amount; // 0x12b8 - float m_fHealingDone; // 0x12bc + int32_t soul_heal_amount; // 0x12c8 + float m_fHealingDone; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Urn_Damage : public CDOTA_Buff { public: - int32_t soul_damage_amount; // 0x12b8 + int32_t soul_damage_amount; // 0x12c8 }; // Alignment: 0 @@ -77796,20 +78280,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Headdress : public CDOTA_Buff_Item { public: - float health_regen; // 0x12b8 - int32_t aura_radius; // 0x12bc + float health_regen; // 0x12c8 + int32_t aura_radius; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Headdress_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x12b8 + float aura_health_regen; // 0x12c8 }; // Alignment: 0 @@ -77829,23 +78313,23 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Satanic : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_damage; // 0x12c8 + int32_t bonus_strength; // 0x12cc + int32_t lifesteal_percent; // 0x12d0 + int32_t unholy_lifesteal_percent; // 0x12d4 + int32_t creep_lifesteal_reduction_pct; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Satanic_Unholy : public CDOTA_Buff { public: - int32_t unholy_lifesteal_percent; // 0x12b8 + int32_t unholy_lifesteal_percent; // 0x12c8 }; // Alignment: 0 @@ -77897,17 +78381,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_HelmOfTheDominator : public CDOTA_Buff_Item { public: - int32_t bonus_stats; // 0x12b8 - int32_t bonus_armor; // 0x12bc - float bonus_regen; // 0x12c0 + int32_t bonus_stats; // 0x12c8 + int32_t bonus_armor; // 0x12cc + float bonus_regen; // 0x12d0 }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_HelmOfTheDominator_2 : public CDOTA_Modifier_Item_HelmOfTheDominator { public: @@ -77915,18 +78399,18 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_HelmOfTheDominator_BonusHealth : public CDOTA_Buff { public: - 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 + int32_t health_min; // 0x12c8 + int32_t new_max; // 0x12cc + int32_t health_bonus; // 0x12d0 + int32_t model_scale; // 0x12d4 + int32_t creep_bonus_damage; // 0x12d8 + int32_t creep_bonus_hp_regen; // 0x12dc + int32_t creep_bonus_mp_regen; // 0x12e0 + int32_t creep_bonus_armor; // 0x12e4 }; // Alignment: 0 @@ -77946,27 +78430,27 @@ public: }; // Alignment: 6 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Item_Desolator : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_damage; // 0x12c8 + int32_t bonus_damage_per_kill; // 0x12cc + int32_t bonus_damage_per_assist; // 0x12d0 + int32_t max_damage; // 0x12d4 + float corruption_duration; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Desolator_Corruption : public CDOTA_Buff { public: - int32_t corruption_armor; // 0x12b8 + int32_t corruption_armor; // 0x12c8 }; // Alignment: 0 @@ -77986,28 +78470,28 @@ public: }; // Alignment: 11 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Item_Revenants_Brooch : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_armor; // 0x12c8 + int32_t projectile_speed; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + int32_t bonus_attack_speed; // 0x12d4 + int32_t mana_cost; // 0x12d8 + int32_t slow_duration; // 0x12dc + int32_t spell_amp_duration; // 0x12e0 + int32_t damage_penalty; // 0x12e4 + int32_t passive_cooldown; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 - CUtlVector< int16 > m_InFlightWitchBladeAttackRecords; // 0x12f8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12f0 + CUtlVector< int16 > m_InFlightWitchBladeAttackRecords; // 0x1308 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Revenants_Brooch_InternalCD : public CDOTA_Buff { public: @@ -78015,20 +78499,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Revenants_Brooch_Counter : public CDOTA_Buff { public: - float active_attack_speed; // 0x12b8 - float active_spell_amp; // 0x12bc + float active_attack_speed; // 0x12c8 + float active_spell_amp; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Misery_Debuff : public CDOTA_Buff { public: - int32_t active_mres_reduction; // 0x12b8 + int32_t active_mres_reduction; // 0x12c8 }; // Alignment: 0 @@ -78051,12 +78535,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_EagleEye : public CDOTA_Buff_Item { public: - int32_t radius; // 0x12b8 - int32_t bonus_agi; // 0x12bc + int32_t radius; // 0x12c8 + int32_t bonus_agi; // 0x12cc }; // Alignment: 0 @@ -78076,29 +78560,29 @@ public: }; // Alignment: 11 -// Size: 0x12f8 +// Size: 0x1308 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 + int32_t bonus_strength; // 0x12c8 + int32_t bonus_agility; // 0x12cc + int32_t bash_chance_melee; // 0x12d0 + int32_t bash_chance_ranged; // 0x12d4 + float bash_duration; // 0x12d8 + float bash_cooldown; // 0x12dc + int32_t bonus_chance_damage; // 0x12e0 + int32_t bonus_damage; // 0x12e4 + int32_t weaken_per_hit; // 0x12e8 + float weaken_duration; // 0x12ec + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12f0 }; // Alignment: 1 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Tenderizer_Weaken : public CDOTA_Modifier_Stacking_Base { public: - int32_t weaken_per_hit; // 0x12d8 + int32_t weaken_per_hit; // 0x12e8 }; // Alignment: 0 @@ -78118,33 +78602,33 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t radius; // 0x12c8 + int32_t bonus_movement_speed; // 0x12cc + int32_t bonus_health_regen; // 0x12d0 + int32_t bonus_str; // 0x12d4 + int32_t bonus_int; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Boots_Of_Bearing_Aura : public CDOTA_Buff { public: - int32_t aura_movement_speed; // 0x12b8 + int32_t aura_movement_speed; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t bonus_attack_speed_pct; // 0x12c8 + int32_t bonus_movement_speed_pct; // 0x12cc + float bonus_ms_duration; // 0x12d0 }; // Alignment: 0 @@ -78164,38 +78648,38 @@ public: }; // Alignment: 6 -// Size: 0x12e8 +// Size: 0x12f8 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 + int32_t bonus_agility; // 0x12c8 + int32_t attacks; // 0x12cc + int32_t bonus_damage; // 0x12d0 + float buff_duration; // 0x12d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 + int32_t m_nCounter; // 0x12f0 }; // Alignment: 9 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Voidwalker_Phased : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - float max_damage_duration; // 0x12bc - int32_t attack_range_bonus; // 0x12c0 + int32_t damage; // 0x12c8 + float max_damage_duration; // 0x12cc + int32_t attack_range_bonus; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 - bool bAttackRange; // 0x12e0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 + bool bAttackRange; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - float m_flStartTime; // 0x12e4 - float m_flFadeTime; // 0x12e8 - float m_flDamageScale; // 0x12ec - float duration; // 0x12f0 + float m_flStartTime; // 0x12f4 + float m_flFadeTime; // 0x12f8 + float m_flDamageScale; // 0x12fc + float duration; // 0x1300 }; // Alignment: 0 @@ -78215,33 +78699,33 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t aura_radius; // 0x12c8 + int32_t bonus_mana; // 0x12cc + int32_t bonus_health; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t pact_aura_radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + float aura_dps; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t armor_penalty_aura; // 0x12c8 + int32_t damage_penalty_aura; // 0x12cc + float aura_dps; // 0x12d0 }; // Alignment: 0 @@ -78261,27 +78745,27 @@ public: }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 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 + int32_t bonus_all_stats; // 0x12c8 + int32_t bonus_health; // 0x12cc + int32_t bonus_mana; // 0x12d0 + float cold_duration; // 0x12d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t cold_slow_melee; // 0x12c8 + int32_t cold_attack_slow_melee; // 0x12cc + int32_t cold_slow_ranged; // 0x12d0 + int32_t cold_attack_slow_ranged; // 0x12d4 + int32_t heal_reduction; // 0x12d8 }; // Alignment: 0 @@ -78301,60 +78785,60 @@ public: }; // Alignment: 8 -// Size: 0x12f8 +// Size: 0x1308 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 + int32_t chain_radius; // 0x12c8 + int32_t chain_strikes; // 0x12cc + int32_t chain_damage; // 0x12d0 + float chain_delay; // 0x12d4 + int32_t chain_damage_per_charge; // 0x12d8 + int32_t m_iCurJumpCount; // 0x12dc + Vector m_vCurTargetLoc; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12e0 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12f0 }; // Alignment: 11 -// Size: 0x1310 +// Size: 0x1320 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 + int32_t bonus_damage; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t chain_chance; // 0x12d0 + int32_t chain_strikes; // 0x12d4 + int32_t chain_damage; // 0x12d8 + int32_t chain_radius; // 0x12dc + int32_t chain_damage_per_charge; // 0x12e0 + int32_t max_charges; // 0x12e4 + float chain_cooldown; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 - CountdownTimer m_ChainTimer; // 0x12f8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12f0 + CountdownTimer m_ChainTimer; // 0x1308 }; // Alignment: 9 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Item_Mjollnir_Static : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 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 - CountdownTimer m_StaticTimer; // 0x12e0 + int32_t static_chance; // 0x12d0 + int32_t static_strikes; // 0x12d4 + int32_t static_damage; // 0x12d8 + int32_t static_primary_radius; // 0x12dc + int32_t static_seconary_radius; // 0x12e0 + int32_t static_radius; // 0x12e4 + float static_cooldown; // 0x12e8 + int32_t chain_damage_per_charge; // 0x12ec + CountdownTimer m_StaticTimer; // 0x12f0 }; // Alignment: 0 @@ -78374,32 +78858,32 @@ public: }; // Alignment: 7 -// Size: 0x12f0 +// Size: 0x1300 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< CBaseEntity > > m_hHitEntities; // 0x12d8 + int32_t chain_radius; // 0x12c8 + int32_t chain_strikes; // 0x12cc + int32_t chain_damage; // 0x12d0 + float chain_delay; // 0x12d4 + int32_t m_iCurJumpCount; // 0x12d8 + Vector m_vCurTargetLoc; // 0x12dc + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12e8 }; // Alignment: 8 -// Size: 0x1300 +// Size: 0x1310 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 + int32_t bonus_damage; // 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 @@ -78427,24 +78911,24 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t bonus_agility; // 0x12c8 + int32_t bonus_intellect; // 0x12cc + float damage_per_burn; // 0x12d0 + int32_t feedback_mana_burn; // 0x12d4 + int32_t feedback_mana_burn_illusion_melee; // 0x12d8 + int32_t feedback_mana_burn_illusion_ranged; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Diffusal_Blade_Slow : public CDOTA_Buff { public: - int32_t purge_rate; // 0x12b8 + int32_t purge_rate; // 0x12c8 }; // Alignment: 0 @@ -78472,32 +78956,32 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t bonus_strength; // 0x12c8 + int32_t bonus_agility; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + int32_t spell_amp; // 0x12d4 + int32_t spell_lifesteal_amp; // 0x12d8 + int32_t mana_regen_multiplier; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ethereal_Blade_Ethereal : public CDOTA_Buff { public: - int32_t ethereal_damage_bonus; // 0x12b8 + int32_t ethereal_damage_bonus; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Ethereal_Blade_Slow : public CDOTA_Buff { public: - int32_t blast_movement_slow; // 0x12b8 + int32_t blast_movement_slow; // 0x12c8 }; // Alignment: 0 @@ -78517,22 +79001,22 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Soul_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 - float bonus_armor; // 0x12bc + int32_t bonus_strength; // 0x12c8 + float bonus_armor; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Soul_Ring_Buff : public CDOTA_Buff { public: - int32_t m_iTempExtraMaxMana; // 0x12b8 - int32_t m_iManaToRemove; // 0x12bc - float duration; // 0x12c0 + int32_t m_iTempExtraMaxMana; // 0x12c8 + int32_t m_iManaToRemove; // 0x12cc + float duration; // 0x12d0 }; // Alignment: 0 @@ -78585,56 +79069,56 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Necronomicon : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 - float bonus_mana_regen; // 0x12bc + int32_t bonus_strength; // 0x12c8 + float bonus_mana_regen; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + float bonus_mana_regen; // 0x12c8 + int32_t bonus_strength; // 0x12cc + int32_t aura_radius; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + float bonus_mana_regen; // 0x12c8 + int32_t bonus_strength; // 0x12cc + int32_t aura_radius; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Necronomicon_Mana_Aura : public CDOTA_Buff { public: - float aura_mana_regen; // 0x12b8 + float aura_mana_regen; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Necronomicon_Mana_Aura_2 : public CDOTA_Buff { public: - float aura_mana_regen; // 0x12b8 + float aura_mana_regen; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Necronomicon_Mana_Aura_3 : public CDOTA_Buff { public: - float aura_mana_regen; // 0x12b8 + float aura_mana_regen; // 0x12c8 }; // Alignment: 0 @@ -78646,11 +79130,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Necronomicon_Warrior_ManaBurn : public CDOTA_Buff { public: - int32_t burn_amount; // 0x12b8 + int32_t burn_amount; // 0x12c8 }; // Alignment: 0 @@ -78662,11 +79146,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Necronomicon_Warrior_LastWill : public CDOTA_Buff { public: - int32_t explosion; // 0x12b8 + int32_t explosion; // 0x12c8 }; // Alignment: 0 @@ -78678,11 +79162,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Necronomicon_Warrior_Sight : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 @@ -78702,11 +79186,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Necronomicon_Archer_Purge : public CDOTA_Buff { public: - int32_t purge_rate; // 0x12b8 + int32_t purge_rate; // 0x12c8 }; // Alignment: 0 @@ -78718,19 +79202,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Necronomicon_Archer_AoE : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Necronomicon_Archer_Aura : public CDOTA_Buff { public: - int32_t ms_bonus; // 0x12b8 + int32_t ms_bonus; // 0x12c8 }; // Alignment: 0 @@ -78766,17 +79250,17 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 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 + float shield; // 0x12c8 + float regen; // 0x12cc + float idle; // 0x12d0 + int32_t m_nDamageAbsorbed; // 0x12d4 + GameTime_t m_timeLastTick; // 0x12d8 + GameTime_t m_timeLastDamage; // 0x12dc + ParticleIndex_t nFXIndex; // 0x12e0 }; // Alignment: 0 @@ -78796,20 +79280,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Arcane_Boots : public CDOTA_Buff_Item { public: - int32_t bonus_movement; // 0x12b8 - int32_t bonus_mana; // 0x12bc + int32_t bonus_movement; // 0x12c8 + int32_t bonus_mana; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ArcaneBoots_ManaRegen : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 0 @@ -78821,25 +79305,25 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t poison_movement_speed_melee; // 0x12c8 + int32_t poison_movement_speed_range; // 0x12cc + float poison_duration; // 0x12d0 + float poison_damage_melee; // 0x12d4 + float poison_damage_range; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Orb_of_Venom_Slow : public CDOTA_Buff { public: - float duration; // 0x12b8 - float slow; // 0x12bc - float damage; // 0x12c0 + float duration; // 0x12c8 + float slow; // 0x12cc + float damage; // 0x12d0 }; // Alignment: 0 @@ -78859,30 +79343,30 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 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 + int32_t radius; // 0x12c8 + int32_t bonus_str; // 0x12cc + int32_t bonus_int; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Ancient_Janggo_Aura : public CDOTA_Buff { public: - int32_t aura_movement_speed; // 0x12b8 + int32_t aura_movement_speed; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 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 + int32_t bonus_attack_speed_pct; // 0x12c8 + int32_t bonus_movement_speed_pct; // 0x12cc }; // Alignment: 0 @@ -78902,28 +79386,28 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Medallion_Of_Courage : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x12b8 - float bonus_mana_regen_pct; // 0x12bc + int32_t bonus_armor; // 0x12c8 + float bonus_mana_regen_pct; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Addition : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Reduction : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x12b8 + int32_t armor_reduction; // 0x12c8 }; // Alignment: 0 @@ -78935,17 +79419,17 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 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 + int32_t bonus_movement_speed; // 0x12d8 + int32_t visibility_radius; // 0x12dc + int32_t secondary_application_radius; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Smoke_Of_Deceit_Secondary_Application_Cooldown : public CDOTA_Buff { public: @@ -78969,41 +79453,41 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Veil_Of_Discord_Thinker : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t debuff_radius; // 0x12cc + float resist_debuff_duration; // 0x12d0 + int32_t m_nHeroesHit; // 0x12d4 + bool m_bHitInvisibleHero; // 0x12d8 + bool m_bFirstPulse; // 0x12d9 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Veil_Of_Discord : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x12b8 - int32_t bonus_all_stats; // 0x12bc + int32_t aura_radius; // 0x12c8 + int32_t bonus_all_stats; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Veil_Of_Discord_Mana : public CDOTA_Buff { public: - float aura_mana_regen; // 0x12b8 + float aura_mana_regen; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Veil_Of_Discord_Debuff : public CDOTA_Buff { public: - int32_t spell_amp; // 0x12b8 + int32_t spell_amp; // 0x12c8 }; // Alignment: 0 @@ -79023,22 +79507,22 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_HeavensHalberd : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 - int32_t hp_regen_amp; // 0x12bc - int32_t bonus_evasion; // 0x12c0 - int32_t status_resistance; // 0x12c4 + int32_t bonus_strength; // 0x12c8 + int32_t hp_regen_amp; // 0x12cc + int32_t bonus_evasion; // 0x12d0 + int32_t status_resistance; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_HeavensHalberd_Debuff : public CDOTA_Buff { public: - bool m_bPierceDebuffImmunity; // 0x12b8 + bool m_bPierceDebuffImmunity; // 0x12c8 }; // Alignment: 0 @@ -79050,24 +79534,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_RingOfAquila_Aura : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x12b8 + bool m_bAppliesToCreeps; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t aura_radius; // 0x12bc + int32_t aura_radius; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_RingOfAquila_Aura_Bonus : public CDOTA_Buff { public: - int32_t aura_bonus_armor; // 0x12b8 - float aura_mana_regen; // 0x12bc + int32_t aura_bonus_armor; // 0x12c8 + float aura_mana_regen; // 0x12cc }; // Alignment: 0 @@ -79079,15 +79563,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_RingOfAquila : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_strength; // 0x12c8 + int32_t bonus_agility; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + int32_t bonus_armor; // 0x12d8 }; // Alignment: 1 @@ -79099,13 +79583,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_ShadowAmulet_Fade : public CDOTA_Buff { public: - float fade_time; // 0x12b8 - GameTime_t m_flFadeTime; // 0x12bc - bool m_bFaded; // 0x12c0 + float fade_time; // 0x12c8 + GameTime_t m_flFadeTime; // 0x12cc + bool m_bFaded; // 0x12d0 }; // Alignment: 0 @@ -79125,21 +79609,21 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Moonshard : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_night_vision; // 0x12bc + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_night_vision; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Moonshard_Consumed : public CDOTA_Buff { public: - int32_t consumed_bonus; // 0x12b8 - int32_t consumed_bonus_night_vision; // 0x12bc + int32_t consumed_bonus; // 0x12c8 + int32_t consumed_bonus_night_vision; // 0x12cc }; // Alignment: 0 @@ -79159,34 +79643,34 @@ public: }; // Alignment: 8 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Item_Silver_Edge : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_intellect; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_attack_speed; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + int32_t crit_chance; // 0x12d8 + int32_t crit_multiplier; // 0x12dc + float backstab_duration; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e8 }; // Alignment: 2 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Silver_Edge_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t windwalk_bonus_damage; // 0x12c8 - int32_t windwalk_movement_speed; // 0x12cc + int32_t windwalk_bonus_damage; // 0x12d8 + int32_t windwalk_movement_speed; // 0x12dc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Silver_Edge_Debuff : public CDOTA_Buff { public: @@ -79210,7 +79694,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_GlimmerCape_Building_Limit : public CDOTA_Buff { public: @@ -79218,26 +79702,26 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_GlimmerCape : public CDOTA_Buff_Item { public: - int32_t bonus_magical_armor; // 0x12b8 + int32_t bonus_magical_armor; // 0x12c8 }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_GlimmerCape_Fade : public CDOTA_Buff { public: - 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 + int32_t active_movement_speed; // 0x12c8 + int32_t barrier_block; // 0x12cc + int32_t barrier_amount; // 0x12d0 + float initial_fade_delay; // 0x12d4 + float secondary_fade_delay; // 0x12d8 + float m_flFadeTime; // 0x12dc + float m_flCurentFadeDelay; // 0x12e0 + GameTime_t m_flLastActionTime; // 0x12e4 }; // Alignment: 0 @@ -79257,35 +79741,35 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Solar_Crest : public CDOTA_Buff_Item { public: - 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 + float bonus_mana_regen_pct; // 0x12c8 + int32_t bonus_armor; // 0x12cc + int32_t bonus_all_stats; // 0x12d0 + int32_t self_movement_speed; // 0x12d4 + ParticleIndex_t nFXIndex; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Solar_Crest_Armor_Addition : public CDOTA_Buff { public: - int32_t target_armor; // 0x12b8 - int32_t target_attack_speed; // 0x12bc - int32_t target_movement_speed; // 0x12c0 + int32_t target_armor; // 0x12c8 + int32_t target_attack_speed; // 0x12cc + int32_t target_movement_speed; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Solar_Crest_Armor_Reduction : public CDOTA_Buff { public: - int32_t target_armor; // 0x12b8 - int32_t target_attack_speed; // 0x12bc - int32_t target_movement_speed; // 0x12c0 + int32_t target_armor; // 0x12c8 + int32_t target_attack_speed; // 0x12cc + int32_t target_movement_speed; // 0x12d0 }; // Alignment: 0 @@ -79305,15 +79789,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Ward_Dispenser : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 + int32_t bonus_health; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Ward_Delay : public CDOTA_Buff { public: @@ -79332,11 +79816,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Ward_Maker : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 + int32_t bonus_health; // 0x12c8 }; // Alignment: 0 @@ -79356,26 +79840,26 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Guardian_Greaves : public CDOTA_Buff_Item { public: - int32_t bonus_movement; // 0x12b8 - int32_t bonus_mana; // 0x12bc - int32_t bonus_armor; // 0x12c0 - int32_t aura_radius; // 0x12c4 + int32_t bonus_movement; // 0x12c8 + int32_t bonus_mana; // 0x12cc + int32_t bonus_armor; // 0x12d0 + int32_t aura_radius; // 0x12d4 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Guardian_Greaves_Aura : public CDOTA_Buff { public: - 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 + float aura_health_regen; // 0x12c8 + float aura_armor; // 0x12cc + float aura_health_regen_bonus; // 0x12d0 + float aura_armor_bonus; // 0x12d4 + int32_t aura_bonus_threshold; // 0x12d8 }; // Alignment: 0 @@ -79387,11 +79871,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Enchanted_Mango : public CDOTA_Buff_Item { public: - float hp_regen; // 0x12b8 + float hp_regen; // 0x12c8 }; // Alignment: 0 @@ -79451,27 +79935,27 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Lotus_Orb : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x12b8 - float bonus_mana_regen; // 0x12bc - int32_t bonus_armor; // 0x12c0 - int32_t bonus_mana; // 0x12c4 - float block_cooldown; // 0x12c8 + float bonus_health_regen; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_armor; // 0x12d0 + int32_t bonus_mana; // 0x12d4 + float block_cooldown; // 0x12d8 }; // Alignment: 1 -// Size: 0x1490 +// Size: 0x14a0 class CDOTA_Modifier_Item_Lotus_Orb_Active : public CDOTA_Buff { public: - CModifierParams m_LastParams; // 0x12b8 + CModifierParams m_LastParams; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lotus_Orb_Delay : public CDOTA_Buff { public: @@ -79479,16 +79963,16 @@ public: }; // Alignment: 6 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Lotus_Orb_ChannelCheck : public CDOTA_Buff { public: - 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 + CHandle< CBaseEntity > m_hAbility; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12cc + Vector m_vLocation; // 0x12d0 + GameTime_t m_fChannelEnd; // 0x12dc + bool m_bInterrupt; // 0x12e0 + bool m_bExpired; // 0x12e1 }; // Alignment: 0 @@ -79508,15 +79992,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Octarine_Core : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - int32_t bonus_mana; // 0x12bc - float bonus_cooldown; // 0x12c0 - float bonus_health_regen; // 0x12c4 - float bonus_mana_regen; // 0x12c8 + int32_t bonus_health; // 0x12c8 + int32_t bonus_mana; // 0x12cc + float bonus_cooldown; // 0x12d0 + float bonus_health_regen; // 0x12d4 + float bonus_mana_regen; // 0x12d8 }; // Alignment: 0 @@ -79528,11 +80012,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Faerie_Fire : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 0 @@ -79552,13 +80036,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_DragonLance : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x12b8 - int32_t bonus_strength; // 0x12bc - int32_t base_attack_range; // 0x12c0 + int32_t bonus_agility; // 0x12c8 + int32_t bonus_strength; // 0x12cc + int32_t base_attack_range; // 0x12d0 }; // Alignment: 0 @@ -79578,13 +80062,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aether_Lens : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x12b8 - float bonus_mana_regen; // 0x12bc - int32_t cast_range_bonus; // 0x12c0 + int32_t bonus_mana; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t cast_range_bonus; // 0x12d0 }; // Alignment: 0 @@ -79604,18 +80088,18 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 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 + int32_t bonus_all_stats; // 0x12c8 + int32_t bonus_health; // 0x12cc + int32_t bonus_mana; // 0x12d0 + float bonus_mana_regen; // 0x12d4 + float slow_duration; // 0x12d8 + int32_t cast_range_bonus; // 0x12dc + int32_t aoe_bonus; // 0x12e0 + int32_t bonus_spell_damage; // 0x12e4 }; // Alignment: 0 @@ -79627,18 +80111,18 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 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 + int32_t bonus_all_stats; // 0x12c8 + int32_t bonus_health; // 0x12cc + int32_t bonus_mana; // 0x12d0 + float bonus_mana_regen; // 0x12d4 + float slow_duration; // 0x12d8 + int32_t cast_range_bonus; // 0x12dc + int32_t aoe_bonus; // 0x12e0 + int32_t bonus_spell_damage; // 0x12e4 }; // Alignment: 0 @@ -79658,12 +80142,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Iron_Talon : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x12b8 - float bonus_armor; // 0x12bc + int32_t bonus_attack_speed; // 0x12c8 + float bonus_armor; // 0x12cc }; // Alignment: 0 @@ -79683,33 +80167,33 @@ public: }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Item_Bloodthorn : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_intellect; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_damage; // 0x12d0 + int32_t bonus_attack_speed; // 0x12d4 + int32_t spell_amp; // 0x12d8 + int32_t mana_regen_multiplier; // 0x12dc + int32_t bonus_magic_resist; // 0x12e0 + float duration; // 0x12e4 + float bonus_health_regen; // 0x12e8 }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Bloodthorn_Debuff : public CDOTA_Buff { public: - float target_crit_multiplier; // 0x12b8 - float silence_damage_percent; // 0x12bc - float m_flDamageTaken; // 0x12c0 + float target_crit_multiplier; // 0x12c8 + float silence_damage_percent; // 0x12cc + float m_flDamageTaken; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< int16 > m_vRecords; // 0x12c8 + CUtlVector< int16 > m_vRecords; // 0x12d8 }; // Alignment: 0 @@ -79729,26 +80213,26 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_EchoSabre : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_intellect; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t bonus_damage; // 0x12d0 + float bonus_mana_regen; // 0x12d4 + int32_t bonus_strength; // 0x12d8 + float slow_duration; // 0x12dc + bool bonus_speed; // 0x12e0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EchoSabre_Debuff : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 - int32_t attack_speed_slow; // 0x12bc + int32_t movement_slow; // 0x12c8 + int32_t attack_speed_slow; // 0x12cc }; // Alignment: 0 @@ -79760,23 +80244,23 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Blight_Stone : public CDOTA_Buff_Item { public: - float corruption_duration; // 0x12b8 + float corruption_duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Blight_Stone_Corruption : public CDOTA_Buff { public: - int32_t corruption_armor; // 0x12b8 + int32_t corruption_armor; // 0x12c8 }; // Alignment: 0 @@ -79788,11 +80272,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_WindLace : public CDOTA_Buff_Item { public: - int32_t movement_speed; // 0x12b8 + int32_t movement_speed; // 0x12c8 }; // Alignment: 0 @@ -79804,7 +80288,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tome_Of_Knowledge : public CDOTA_Buff { public: @@ -79812,7 +80296,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tome_Of_Knowledge_Consumed : public CDOTA_Buff { public: @@ -79836,52 +80320,52 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Hurricane_Pike : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_health; // 0x12c8 + int32_t bonus_intellect; // 0x12cc + int32_t bonus_agility; // 0x12d0 + int32_t bonus_strength; // 0x12d4 + int32_t base_attack_range; // 0x12d8 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Hurricane_Pike_Active : public CDOTA_Buff { public: - Vector m_vDirection; // 0x12b8 - float m_flEndTime; // 0x12c4 - float m_flCurTime; // 0x12c8 - float push_length; // 0x12cc + Vector m_vDirection; // 0x12c8 + float m_flEndTime; // 0x12d4 + float m_flCurTime; // 0x12d8 + float push_length; // 0x12dc }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Hurricane_Pike_Active_Alternate : public CDOTA_Buff { public: - Vector m_vDirection; // 0x12b8 - float m_flEndTime; // 0x12c4 - float m_flCurTime; // 0x12c8 - float enemy_length; // 0x12cc + Vector m_vDirection; // 0x12c8 + float m_flEndTime; // 0x12d4 + float m_flCurTime; // 0x12d8 + float enemy_length; // 0x12dc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Hurricane_Pike_Range : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - int32_t max_attacks; // 0x12bc - int32_t m_iNumAttacks; // 0x12c0 - bool bActive; // 0x12c4 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + int32_t max_attacks; // 0x12cc + int32_t m_iNumAttacks; // 0x12d0 + bool bActive; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_attack_speed; // 0x12d8 }; // Alignment: 0 @@ -79893,15 +80377,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Infused_Raindrop : public CDOTA_Buff_Item { public: - 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 + float mana_regen; // 0x12c8 + float bonus_armor; // 0x12cc + int32_t bonus_magical_armor; // 0x12d0 + int32_t magic_damage_block; // 0x12d4 + int32_t min_damage; // 0x12d8 }; // Alignment: 1 @@ -79980,34 +80464,34 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_MeteorHammer : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x12b8 - float bonus_health_regen; // 0x12bc - float bonus_mana_regen; // 0x12c0 + int32_t bonus_all_stats; // 0x12c8 + float bonus_health_regen; // 0x12cc + float bonus_mana_regen; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_MeteorHammer_Land : public CDOTA_Buff { public: - int32_t impact_radius; // 0x12b8 - float land_time; // 0x12bc - float burn_duration; // 0x12c0 + int32_t impact_radius; // 0x12c8 + float land_time; // 0x12cc + float burn_duration; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_MeteorHammer_Burn : public CDOTA_Buff { public: - int32_t burn_dps_buildings; // 0x12b8 - int32_t burn_dps_units; // 0x12bc - float burn_interval; // 0x12c0 - int32_t burn_slow; // 0x12c4 + int32_t burn_dps_buildings; // 0x12c8 + int32_t burn_dps_units; // 0x12cc + float burn_interval; // 0x12d0 + int32_t burn_slow; // 0x12d4 }; // Alignment: 0 @@ -80027,29 +80511,29 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Nullifier : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x12b8 - int32_t bonus_regen; // 0x12bc - int32_t bonus_damage; // 0x12c0 + int32_t bonus_armor; // 0x12c8 + int32_t bonus_regen; // 0x12cc + int32_t bonus_damage; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Nullifier_Mute : public CDOTA_Buff { public: - float slow_interval_duration; // 0x12b8 + float slow_interval_duration; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Nullifier_Slow : public CDOTA_Buff { public: - int32_t slow_pct; // 0x12b8 + int32_t slow_pct; // 0x12c8 }; // Alignment: 0 @@ -80069,33 +80553,33 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Spirit_Vessel : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - float bonus_mana_regen; // 0x12bc - float bonus_armor; // 0x12c0 - int32_t bonus_all_stats; // 0x12c4 + int32_t bonus_health; // 0x12c8 + float bonus_mana_regen; // 0x12cc + float bonus_armor; // 0x12d0 + int32_t bonus_all_stats; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Spirit_Vessel_Heal : public CDOTA_Buff { public: - int32_t soul_heal_amount; // 0x12b8 - float m_fHealingDone; // 0x12bc + int32_t soul_heal_amount; // 0x12c8 + float m_fHealingDone; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Spirit_Vessel_Damage : public CDOTA_Buff { public: - int32_t hp_regen_reduction_enemy; // 0x12b8 - int32_t soul_damage_amount; // 0x12bc - float enemy_hp_drain; // 0x12c0 + int32_t hp_regen_reduction_enemy; // 0x12c8 + int32_t soul_damage_amount; // 0x12cc + float enemy_hp_drain; // 0x12d0 }; // Alignment: 0 @@ -80116,22 +80600,22 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_AeonDisk : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - int32_t bonus_mana; // 0x12bc - int32_t health_threshold_pct; // 0x12c0 - float buff_duration; // 0x12c4 + int32_t bonus_health; // 0x12c8 + int32_t bonus_mana; // 0x12cc + int32_t health_threshold_pct; // 0x12d0 + float buff_duration; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_AeonDisk_Buff : public CDOTA_Buff { public: - int32_t status_resistance; // 0x12b8 + int32_t status_resistance; // 0x12c8 }; // Alignment: 0 @@ -80151,14 +80635,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Kaya : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x12b8 - int32_t spell_amp; // 0x12bc - int32_t mana_regen_multiplier; // 0x12c0 - int32_t spell_lifesteal_amp; // 0x12c4 + int32_t bonus_intellect; // 0x12c8 + int32_t spell_amp; // 0x12cc + int32_t mana_regen_multiplier; // 0x12d0 + int32_t spell_lifesteal_amp; // 0x12d4 }; // Alignment: 0 @@ -80186,11 +80670,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Crown : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_all_stats; // 0x12c8 }; // Alignment: 0 @@ -80210,25 +80694,25 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Holy_Locket : public CDOTA_Buff_Item { public: - 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 + int32_t aura_radius; // 0x12c8 + int32_t bonus_health; // 0x12cc + int32_t bonus_mana; // 0x12d0 + int32_t heal_increase; // 0x12d4 + int32_t charge_radius; // 0x12d8 + int32_t max_charges; // 0x12dc + int32_t bonus_all_stats; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Holy_Locket_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x12b8 + float aura_health_regen; // 0x12c8 }; // Alignment: 0 @@ -80248,17 +80732,17 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Kaya_And_Sange : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_strength; // 0x12c8 + int32_t hp_regen_amp; // 0x12cc + int32_t bonus_intellect; // 0x12d0 + int32_t spell_amp; // 0x12d4 + int32_t mana_regen_multiplier; // 0x12d8 + int32_t status_resistance; // 0x12dc + int32_t spell_lifesteal_amp; // 0x12e0 }; // Alignment: 0 @@ -80278,28 +80762,28 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Yasha_And_Kaya : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_agility; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t movement_speed_percent_bonus; // 0x12d0 + int32_t bonus_intellect; // 0x12d4 + int32_t spell_amp; // 0x12d8 + int32_t mana_regen_multiplier; // 0x12dc + int32_t spell_lifesteal_amp; // 0x12e0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Yasha_And_Kaya_Maim : public CDOTA_Buff { public: - 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 + int32_t maim_slow_movement; // 0x12c8 + int32_t maim_slow_attack; // 0x12cc + int32_t maim_slow_movement_range; // 0x12d0 + int32_t maim_slow_attack_range; // 0x12d4 }; // Alignment: 0 @@ -80311,12 +80795,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_RingOfTarrasque : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x12b8 - int32_t bonus_health; // 0x12bc + float bonus_health_regen; // 0x12c8 + int32_t bonus_health; // 0x12cc }; // Alignment: 0 @@ -80328,11 +80812,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Diadem : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_all_stats; // 0x12c8 }; // Alignment: 0 @@ -80352,35 +80836,35 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Blood_Grenade_Flight_Thinker : public CDOTA_Buff { public: - 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 + int32_t speed; // 0x12c8 + int32_t radius; // 0x12cc + int32_t damage_over_time; // 0x12d0 + int32_t impact_damage; // 0x12d4 + float debuff_duration; // 0x12d8 + int32_t movespeed_slow; // 0x12dc + float tick_rate; // 0x12e0 + ParticleIndex_t m_nFXIndex; // 0x12e4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Blood_Grenade : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 + int32_t bonus_health; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Blood_Grenade_Debuff : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 - float damage_over_time; // 0x12bc + int32_t movespeed_slow; // 0x12c8 + float damage_over_time; // 0x12cc }; // Alignment: 0 @@ -80400,25 +80884,25 @@ public: }; // Alignment: 7 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Item_Phylactery : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_health; // 0x12c8 + int32_t bonus_mana; // 0x12cc + float bonus_mana_regen; // 0x12d0 + int32_t bonus_spell_damage; // 0x12d4 + float slow_duration; // 0x12d8 + int32_t bonus_all_stats; // 0x12dc + CUtlVector< CDOTABaseAbility* > vecActivatedAbilities; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Phylactery_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 0 @@ -80438,44 +80922,44 @@ public: }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Item_Disperser : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_agility; // 0x12c8 + int32_t bonus_intellect; // 0x12cc + int32_t bonus_attack_speed; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + float bonus_mana_regen; // 0x12d8 + float damage_per_burn; // 0x12dc + int32_t feedback_mana_burn; // 0x12e0 + int32_t feedback_mana_burn_illusion_melee; // 0x12e4 + int32_t feedback_mana_burn_illusion_ranged; // 0x12e8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Disperser_Evasion_Buff : public CDOTA_Buff { public: - int32_t purge_bonus_miss_rate; // 0x12b8 + int32_t purge_bonus_miss_rate; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Disperser_Attack_Debuff : public CDOTA_Buff { public: - int32_t attack_speed_slow; // 0x12b8 + int32_t attack_speed_slow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Disperser_Movespeed_Buff : public CDOTA_Buff { public: - int32_t movement_speed_buff_rate; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t movement_speed_buff_rate; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 0 @@ -80495,13 +80979,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Cornucopia : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x12b8 - float bonus_mana_regen; // 0x12bc - int32_t bonus_damage; // 0x12c0 + float bonus_health_regen; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_damage; // 0x12d0 }; // Alignment: 0 @@ -80521,22 +81005,22 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Pavise : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x12b8 - float bonus_mana_regen; // 0x12bc - int32_t bonus_health; // 0x12c0 + int32_t bonus_armor; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_health; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Pavise_Shield : public CDOTA_Buff { public: - int32_t absorb_amount; // 0x12b8 - int32_t m_nAbsorbRemaining; // 0x12bc + int32_t absorb_amount; // 0x12c8 + int32_t m_nAbsorbRemaining; // 0x12cc }; // Alignment: 0 @@ -80556,12 +81040,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Keen_Optic : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x12b8 - int32_t cast_range_bonus; // 0x12bc + float bonus_mana_regen; // 0x12c8 + int32_t cast_range_bonus; // 0x12cc }; // Alignment: 0 @@ -80581,21 +81065,21 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Grove_Bow : public CDOTA_Buff_Item { public: - int32_t attack_range_bonus; // 0x12b8 - int32_t attack_speed_bonus; // 0x12bc - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + int32_t attack_range_bonus; // 0x12c8 + int32_t attack_speed_bonus; // 0x12cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Grove_Bow_Debuff : public CDOTA_Buff { public: - int32_t magic_resistance_reduction; // 0x12b8 + int32_t magic_resistance_reduction; // 0x12c8 }; // Alignment: 0 @@ -80615,12 +81099,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Quickening_Charm : public CDOTA_Buff_Item { public: - int32_t bonus_cooldown; // 0x12b8 - int32_t bonus_health_regen; // 0x12bc + int32_t bonus_cooldown; // 0x12c8 + int32_t bonus_health_regen; // 0x12cc }; // Alignment: 0 @@ -80632,13 +81116,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Philosophers_Stone : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x12b8 - int32_t bonus_gpm; // 0x12bc - int32_t bonus_damage; // 0x12c0 + int32_t bonus_mana; // 0x12c8 + int32_t bonus_gpm; // 0x12cc + int32_t bonus_damage; // 0x12d0 }; // Alignment: 0 @@ -80658,24 +81142,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Force_Boots : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t hp_regen; // 0x12bc + int32_t bonus_movement_speed; // 0x12c8 + int32_t hp_regen; // 0x12cc }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Force_Boots : public CDOTA_Buff { public: - Vector m_vDirection; // 0x12b8 - float m_flEndTime; // 0x12c4 - float m_flCurTime; // 0x12c8 - int32_t push_length; // 0x12cc - float push_duration; // 0x12d0 + Vector m_vDirection; // 0x12c8 + float m_flEndTime; // 0x12d4 + float m_flCurTime; // 0x12d8 + int32_t push_length; // 0x12dc + float push_duration; // 0x12e0 }; // Alignment: 0 @@ -80695,21 +81179,21 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Desolator_2 : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 - float corruption_duration; // 0x12bc - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + int32_t bonus_damage; // 0x12c8 + float corruption_duration; // 0x12cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Desolator_2_Corruption : public CDOTA_Buff { public: - int32_t corruption_armor; // 0x12b8 + int32_t corruption_armor; // 0x12c8 }; // Alignment: 0 @@ -80729,11 +81213,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Phoenix_Ash : public CDOTA_Buff_Item { public: - int32_t health_pct; // 0x12b8 + int32_t health_pct; // 0x12c8 }; // Alignment: 0 @@ -80753,22 +81237,22 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Seer_Stone_Truesight : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float duration; // 0x12bc + int32_t radius; // 0x12c8 + float duration; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Seer_Stone : public CDOTA_Buff_Item { public: - int32_t cast_range_bonus; // 0x12b8 - int32_t vision_bonus; // 0x12bc - int32_t mana_regen; // 0x12c0 + int32_t cast_range_bonus; // 0x12c8 + int32_t vision_bonus; // 0x12cc + int32_t mana_regen; // 0x12d0 }; // Alignment: 0 @@ -80788,13 +81272,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_ElixerHealing : public CDOTA_Buff { public: - int32_t health; // 0x12b8 - int32_t mana; // 0x12bc - float duration; // 0x12c0 + int32_t health; // 0x12c8 + int32_t mana; // 0x12cc + float duration; // 0x12d0 }; // Alignment: 0 @@ -80806,14 +81290,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Vampire_Fangs : public CDOTA_Buff_Item { public: - int32_t attack_lifesteal; // 0x12b8 - int32_t spell_lifesteal; // 0x12bc - int32_t night_vision; // 0x12c0 - int32_t creep_lifesteal_reduction_pct; // 0x12c4 + int32_t attack_lifesteal; // 0x12c8 + int32_t spell_lifesteal; // 0x12cc + int32_t night_vision; // 0x12d0 + int32_t creep_lifesteal_reduction_pct; // 0x12d4 }; // Alignment: 0 @@ -80825,13 +81309,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Craggy_Coat : public CDOTA_Buff_Item { public: - int32_t armor_bonus; // 0x12b8 - int32_t attack_speed; // 0x12bc - int32_t bonus_health; // 0x12c0 + int32_t armor_bonus; // 0x12c8 + int32_t attack_speed; // 0x12cc + int32_t bonus_health; // 0x12d0 }; // Alignment: 0 @@ -80843,11 +81327,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Greater_Faerie_Fire : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 0 @@ -80867,12 +81351,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Timeless_Relic : public CDOTA_Buff_Item { public: - int32_t spell_amp; // 0x12b8 - int32_t debuff_amp; // 0x12bc + int32_t spell_amp; // 0x12c8 + int32_t debuff_amp; // 0x12cc }; // Alignment: 0 @@ -80884,18 +81368,18 @@ public: }; // Alignment: 4 -// Size: 0x14a0 +// Size: 0x14b0 class CDOTA_Modifier_Item_Mirror_Shield : public CDOTA_Buff_Item { public: - CModifierParams m_LastParams; // 0x12b8 - int32_t all_stats; // 0x1490 - int32_t reflect_chance; // 0x1494 - bool m_bProcSuccessful; // 0x1498 + CModifierParams m_LastParams; // 0x12c8 + int32_t all_stats; // 0x14a0 + int32_t reflect_chance; // 0x14a4 + bool m_bProcSuccessful; // 0x14a8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mirror_Shield_Delay : public CDOTA_Buff { public: @@ -80919,11 +81403,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Ironwood_tree : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x12b8 + int32_t bonus_all_stats; // 0x12c8 }; // Alignment: 0 @@ -80935,12 +81419,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Royal_Jelly : public CDOTA_Buff { public: - float health_regen; // 0x12b8 - float mana_regen; // 0x12bc + float health_regen; // 0x12c8 + float mana_regen; // 0x12cc }; // Alignment: 0 @@ -80960,11 +81444,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Pupils_gift : public CDOTA_Buff_Item { public: - int32_t secondary_stats; // 0x12b8 + int32_t secondary_stats; // 0x12c8 }; // Alignment: 0 @@ -80976,7 +81460,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tome_of_Aghanim : public CDOTA_Buff { public: @@ -80992,21 +81476,21 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Repair_Kit : public CDOTA_Buff_Item { public: - int32_t hp_regen; // 0x12b8 + int32_t hp_regen; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Repair_Kit : public CDOTA_Buff { public: - float health_regen; // 0x12b8 - int32_t armor_bonus; // 0x12bc - int32_t multishot_count; // 0x12c0 + float health_regen; // 0x12c8 + int32_t armor_bonus; // 0x12cc + int32_t multishot_count; // 0x12d0 }; // Alignment: 0 @@ -81034,13 +81518,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Mind_Breaker : public CDOTA_Buff_Item { public: - int32_t magic_damage; // 0x12b8 - int32_t attack_speed; // 0x12bc - float duration; // 0x12c0 + int32_t magic_damage; // 0x12c8 + int32_t attack_speed; // 0x12cc + float duration; // 0x12d0 }; // Alignment: 0 @@ -81052,13 +81536,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Third_Eye : public CDOTA_Buff { public: - int32_t truesight_radius; // 0x12b8 - int32_t bonus_vision; // 0x12bc - int32_t bonus_all_stats; // 0x12c0 + int32_t truesight_radius; // 0x12c8 + int32_t bonus_vision; // 0x12cc + int32_t bonus_all_stats; // 0x12d0 }; // Alignment: 0 @@ -81070,17 +81554,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Spell_Prism : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x12b8 - int32_t bonus_cooldown; // 0x12bc - float mana_regen; // 0x12c0 + int32_t bonus_all_stats; // 0x12c8 + int32_t bonus_cooldown; // 0x12cc + float mana_regen; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Spell_Prism_Active : public CDOTA_Buff { public: @@ -81104,12 +81588,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Fusion_runeHealing : public CDOTA_Buff { public: - int32_t health_regen; // 0x12b8 - float m_fHealingDone; // 0x12bc + int32_t health_regen; // 0x12c8 + float m_fHealingDone; // 0x12cc }; // Alignment: 0 @@ -81121,20 +81605,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Princes_Knife : public CDOTA_Buff_Item { public: - float duration; // 0x12b8 - int32_t projectile_bonus; // 0x12bc + float duration; // 0x12c8 + int32_t projectile_bonus; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Princes_Knife_Hex : public CDOTA_Modifier_Hexed { public: - int32_t movespeed; // 0x12b8 + int32_t movespeed; // 0x12c8 }; // Alignment: 0 @@ -81146,20 +81630,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spider_Legs : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t turn_rate; // 0x12bc + int32_t bonus_movement_speed; // 0x12c8 + int32_t turn_rate; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Spider_Legs_Active : public CDOTA_Buff { public: - int32_t bonus_movement_speed_active; // 0x12b8 + int32_t bonus_movement_speed_active; // 0x12c8 }; // Alignment: 0 @@ -81171,12 +81655,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Helm_Of_The_Undying : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x12b8 - float duration; // 0x12bc + int32_t bonus_armor; // 0x12c8 + float duration; // 0x12cc }; // Alignment: 0 @@ -81188,33 +81672,33 @@ public: }; // Alignment: 3 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Item_Mango_Tree : public CDOTA_Buff_Item { public: - CHandle< CBaseEntity > m_hTree; // 0x12b8 + CHandle< CBaseEntity > m_hTree; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CountdownTimer m_Timer; // 0x12c0 - float seconds; // 0x12d8 + CountdownTimer m_Timer; // 0x12d0 + float seconds; // 0x12e8 }; // Alignment: 7 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Passive_Mango_Tree : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTree; // 0x12b8 - int32_t m_nMangoSeconds; // 0x12bc - CountdownTimer m_MangoTimer; // 0x12c0 - int32_t m_nRespawnSeconds; // 0x12d8 + CHandle< CBaseEntity > m_hTree; // 0x12c8 + int32_t m_nMangoSeconds; // 0x12cc + CountdownTimer m_MangoTimer; // 0x12d0 + int32_t m_nRespawnSeconds; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc + [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec public: - CountdownTimer m_RespawnTimer; // 0x12e0 - int32_t m_nMangosAvailable; // 0x12f8 - int32_t m_nChannelCount; // 0x12fc + CountdownTimer m_RespawnTimer; // 0x12f0 + int32_t m_nMangosAvailable; // 0x1308 + int32_t m_nChannelCount; // 0x130c }; // Alignment: 3 @@ -81232,12 +81716,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class Modifier_Pluck_Famango_Channel : public CDOTA_Buff { public: - float famango_rate; // 0x12b8 - CHandle< CBaseEntity > m_hMangoTree; // 0x12bc + float famango_rate; // 0x12c8 + CHandle< CBaseEntity > m_hMangoTree; // 0x12cc }; // Alignment: 0 @@ -81249,16 +81733,16 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Vambrace : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_primary_stat; // 0x12c8 + int32_t bonus_secondary_stat; // 0x12cc + int32_t bonus_magic_resistance; // 0x12d0 + int32_t bonus_spell_amp; // 0x12d4 + int32_t bonus_attack_speed; // 0x12d8 + int32_t m_iStat; // 0x12dc }; // Alignment: 1 @@ -81280,12 +81764,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Witless_shako : public CDOTA_Buff_Item { public: - int32_t max_health; // 0x12b8 - int32_t max_mana; // 0x12bc + int32_t max_health; // 0x12c8 + int32_t max_mana; // 0x12cc }; // Alignment: 0 @@ -81297,12 +81781,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Imp_Claw : public CDOTA_Buff_Item { public: - int32_t crit_multiplier; // 0x12b8 - int32_t bonus_damage; // 0x12bc + int32_t crit_multiplier; // 0x12c8 + int32_t bonus_damage; // 0x12cc }; // Alignment: 0 @@ -81314,15 +81798,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Flicker : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_movement_speed; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Flicker_Damaged : public CDOTA_Buff_Item { public: @@ -81338,21 +81822,21 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Spy_Gadget_Aura : public CDOTA_Buff_Item { public: - int32_t scan_cooldown_reduction; // 0x12b8 - int32_t aura_range; // 0x12bc + int32_t scan_cooldown_reduction; // 0x12c8 + int32_t aura_range; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Spy_Gadget : public CDOTA_Buff { public: - int32_t attack_range; // 0x12b8 - int32_t cast_range; // 0x12bc + int32_t attack_range; // 0x12c8 + int32_t cast_range; // 0x12cc }; // Alignment: 0 @@ -81372,14 +81856,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Ocean_Heart : public CDOTA_Buff_Item { public: - float water_hp_regen; // 0x12b8 - float water_mp_regen; // 0x12bc - int32_t all_stats; // 0x12c0 - bool m_bInRiver; // 0x12c4 + float water_hp_regen; // 0x12c8 + float water_mp_regen; // 0x12cc + int32_t all_stats; // 0x12d0 + bool m_bInRiver; // 0x12d4 }; // Alignment: 0 @@ -81399,13 +81883,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Broom_Handle : public CDOTA_Buff_Item { public: - int32_t melee_attack_range; // 0x12b8 - int32_t bonus_armor; // 0x12bc - int32_t bonus_damage; // 0x12c0 + int32_t melee_attack_range; // 0x12c8 + int32_t bonus_armor; // 0x12cc + int32_t bonus_damage; // 0x12d0 }; // Alignment: 0 @@ -81430,11 +81914,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Trusty_Shovel : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 + int32_t bonus_health; // 0x12c8 }; // Alignment: 0 @@ -81454,13 +81938,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Nether_Shawl : public CDOTA_Buff_Item { public: - int32_t bonus_magic_resistance; // 0x12b8 - int32_t bonus_spell_amp; // 0x12bc - int32_t bonus_armor; // 0x12c0 + int32_t bonus_magic_resistance; // 0x12c8 + int32_t bonus_spell_amp; // 0x12cc + int32_t bonus_armor; // 0x12d0 }; // Alignment: 0 @@ -81480,20 +81964,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Dragon_Scale : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x12b8 - int32_t bonus_hp_regen; // 0x12bc + int32_t bonus_armor; // 0x12c8 + int32_t bonus_hp_regen; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Dragon_Scale_Burn : public CDOTA_Buff { public: - int32_t damage_per_sec; // 0x12b8 + int32_t damage_per_sec; // 0x12c8 }; // Alignment: 0 @@ -81513,20 +81997,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Essence_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_int; // 0x12b8 - float mp_regen; // 0x12bc + int32_t bonus_int; // 0x12c8 + float mp_regen; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Essence_Ring_Active : public CDOTA_Buff { public: - int32_t health_gain; // 0x12b8 + int32_t health_gain; // 0x12c8 }; // Alignment: 0 @@ -81546,7 +82030,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Clumsy_Net_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -81554,12 +82038,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Clumsy_Net : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x12b8 - int32_t mana_regen; // 0x12bc + int32_t all_stats; // 0x12c8 + int32_t mana_regen; // 0x12cc }; // Alignment: 0 @@ -81579,17 +82063,17 @@ public: }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Item_Enchanted_Quiver : public CDOTA_Buff_Item { public: - int32_t bonus_attack_range; // 0x12b8 - int32_t bonus_damage; // 0x12bc - int32_t active_bonus_attack_range; // 0x12c0 + int32_t bonus_attack_range; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t active_bonus_attack_range; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 0 @@ -81609,12 +82093,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Ninja_Gear : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x12b8 - int32_t passive_movement_bonus; // 0x12bc + int32_t bonus_agility; // 0x12c8 + int32_t passive_movement_bonus; // 0x12cc }; // Alignment: 0 @@ -81634,7 +82118,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Illusionsts_Cape_Marker : public CDOTA_Buff { public: @@ -81642,20 +82126,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Illusionsts_Cape : public CDOTA_Buff_Item { public: - int32_t bonus_agi; // 0x12b8 - int32_t bonus_str; // 0x12bc + int32_t bonus_agi; // 0x12c8 + int32_t bonus_str; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Illusionists_Cape_Aura : public CDOTA_Buff { public: - int32_t attack_damage_aura; // 0x12b8 + int32_t attack_damage_aura; // 0x12c8 }; // Alignment: 0 @@ -81675,20 +82159,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Havoc_Hammer : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 - int32_t bonus_strength; // 0x12bc + int32_t bonus_damage; // 0x12c8 + int32_t bonus_strength; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Havoc_Hammer_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 0 @@ -81708,12 +82192,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Panic_Button : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - float health_threshold; // 0x12bc + int32_t bonus_health; // 0x12c8 + float health_threshold; // 0x12cc }; // Alignment: 0 @@ -81733,12 +82217,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Apex : public CDOTA_Buff_Item { public: - int32_t primary_stat; // 0x12b8 - int32_t primary_stat_universal; // 0x12bc + int32_t primary_stat; // 0x12c8 + int32_t primary_stat_universal; // 0x12cc }; // Alignment: 0 @@ -81758,13 +82242,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Ballista : public CDOTA_Buff_Item { public: - int32_t attack_range_bonus; // 0x12b8 - float knockback_distance; // 0x12bc - float knockback_duration; // 0x12c0 + int32_t attack_range_bonus; // 0x12c8 + float knockback_distance; // 0x12cc + float knockback_duration; // 0x12d0 }; // Alignment: 0 @@ -81784,20 +82268,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Woodland_Striders : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x12b8 - int32_t bonus_hp_regen; // 0x12bc + int32_t bonus_movement_speed; // 0x12c8 + int32_t bonus_hp_regen; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Woodland_Striders_Active : public CDOTA_Buff { public: - float tree_duration; // 0x12b8 + float tree_duration; // 0x12c8 }; // Alignment: 0 @@ -81817,20 +82301,20 @@ public: }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Item_Trident : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_agility; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t movement_speed_percent_bonus; // 0x12d0 + int32_t bonus_strength; // 0x12d4 + int32_t hp_regen_amp; // 0x12d8 + int32_t status_resistance; // 0x12dc + int32_t bonus_intellect; // 0x12e0 + int32_t spell_amp; // 0x12e4 + int32_t mana_regen_multiplier; // 0x12e8 + int32_t magic_damage_attack; // 0x12ec }; // Alignment: 0 @@ -81850,21 +82334,21 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Demonicon : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 - int32_t bonus_intellect; // 0x12bc + int32_t bonus_strength; // 0x12c8 + int32_t bonus_intellect; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Demonicon_Bonus : public CDOTA_Buff { public: - int32_t hp_bonus; // 0x12b8 - int32_t damage_bonus; // 0x12bc + int32_t hp_bonus; // 0x12c8 + int32_t damage_bonus; // 0x12cc }; // Alignment: 0 @@ -81884,35 +82368,35 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Fallen_Sky : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_strength; // 0x12c8 + int32_t bonus_intellect; // 0x12cc + float bonus_health_regen; // 0x12d0 + float bonus_mana_regen; // 0x12d4 + float blink_damage_cooldown; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Fallen_Sky_Land : public CDOTA_Buff { public: - int32_t impact_radius; // 0x12b8 - float land_time; // 0x12bc - float burn_duration; // 0x12c0 + int32_t impact_radius; // 0x12c8 + float land_time; // 0x12cc + float burn_duration; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Fallen_Sky_Burn : public CDOTA_Buff { public: - int32_t burn_dps_buildings; // 0x12b8 - int32_t burn_dps_units; // 0x12bc - float burn_interval; // 0x12c0 + int32_t burn_dps_buildings; // 0x12c8 + int32_t burn_dps_units; // 0x12cc + float burn_interval; // 0x12d0 }; // Alignment: 0 @@ -81937,12 +82421,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Pirate_Hat : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_ms; // 0x12bc + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_ms; // 0x12cc }; // Alignment: 0 @@ -81978,11 +82462,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Ex_Machina : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 0 @@ -82002,12 +82486,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Faded_Broach : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x12b8 - int32_t bonus_movement_speed; // 0x12bc + int32_t bonus_mana; // 0x12c8 + int32_t bonus_movement_speed; // 0x12cc }; // Alignment: 0 @@ -82027,15 +82511,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Paladin_Sword : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_damage; // 0x12c8 + int32_t bonus_lifesteal; // 0x12cc + int32_t bonus_spell_lifesteal; // 0x12d0 + int32_t bonus_amp; // 0x12d4 + int32_t creep_lifesteal_reduction_pct; // 0x12d8 }; // Alignment: 0 @@ -82055,19 +82539,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Minotaur_Horn_Immune : public CDOTA_Modifier_MagicImmune { public: - int32_t model_scale; // 0x12b8 + int32_t model_scale; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Minotaur_Horn : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 + int32_t bonus_strength; // 0x12c8 }; // Alignment: 0 @@ -82087,26 +82571,26 @@ public: }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Orb_Of_Destruction : public CDOTA_Buff_Item { public: - float duration; // 0x12b8 + float duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Orb_Of_Destruction_Debuff : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x12b8 - int32_t slow_melee; // 0x12bc - int32_t slow_range; // 0x12c0 - bool bCasterRanged; // 0x12c4 + int32_t armor_reduction; // 0x12c8 + int32_t slow_melee; // 0x12cc + int32_t slow_range; // 0x12d0 + bool bCasterRanged; // 0x12d4 }; // Alignment: 0 @@ -82126,13 +82610,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_The_Leveller : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_armor; // 0x12bc - int32_t demolish; // 0x12c0 + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_armor; // 0x12cc + int32_t demolish; // 0x12d0 }; // Alignment: 0 @@ -82152,12 +82636,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Arcane_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x12b8 - int32_t bonus_intelligence; // 0x12bc + int32_t bonus_armor; // 0x12c8 + int32_t bonus_intelligence; // 0x12cc }; // Alignment: 0 @@ -82177,13 +82661,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Titan_Sliver : public CDOTA_Buff_Item { public: - int32_t base_attack_damage; // 0x12b8 - int32_t magic_resistance; // 0x12bc - int32_t status_resistance; // 0x12c0 + int32_t base_attack_damage; // 0x12c8 + int32_t magic_resistance; // 0x12cc + int32_t status_resistance; // 0x12d0 }; // Alignment: 0 @@ -82195,11 +82679,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Voodoo_Mask : public CDOTA_Buff_Item { public: - float spell_lifesteal; // 0x12b8 + float spell_lifesteal; // 0x12c8 }; // Alignment: 0 @@ -82211,11 +82695,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifer_Item_Blitz_Knuckles : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12c8 }; // Alignment: 0 @@ -82235,28 +82719,28 @@ public: }; // Alignment: 6 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Item_Witch_Blade : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_intellect; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t bonus_armor; // 0x12d0 + float slow_duration; // 0x12d4 + int32_t projectile_speed; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x4]; // 0x12dc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12e0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Witch_Blade_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 - float int_damage_multiplier; // 0x12bc + int32_t slow; // 0x12c8 + float int_damage_multiplier; // 0x12cc }; // Alignment: 0 @@ -82276,23 +82760,23 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_MaskOfDispair : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 - float bonus_armor; // 0x12bc - int32_t spell_lifesteal; // 0x12c0 + int32_t bonus_strength; // 0x12c8 + float bonus_armor; // 0x12cc + int32_t spell_lifesteal; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_MaskOfDispair_Berserk : public CDOTA_Buff { public: - int32_t berserk_spell_amp; // 0x12b8 - int32_t berserk_manacost_reduction; // 0x12bc - int32_t berserk_magic_resistance; // 0x12c0 + int32_t berserk_spell_amp; // 0x12c8 + int32_t berserk_manacost_reduction; // 0x12cc + int32_t berserk_magic_resistance; // 0x12d0 }; // Alignment: 0 @@ -82312,13 +82796,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Chipped_Vest : public CDOTA_Buff_Item { public: - float hp_regen; // 0x12b8 - int32_t damage_return_hero; // 0x12bc - int32_t damage_return_creep; // 0x12c0 + float hp_regen; // 0x12c8 + int32_t damage_return_hero; // 0x12cc + int32_t damage_return_creep; // 0x12d0 }; // Alignment: 0 @@ -82338,22 +82822,22 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Cloak_Of_Flames : public CDOTA_Buff_Item { public: - int32_t armor; // 0x12b8 - int32_t magic_resistance; // 0x12bc - int32_t radius; // 0x12c0 + int32_t armor; // 0x12c8 + int32_t magic_resistance; // 0x12cc + int32_t radius; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Cloak_Of_Flames_Debuff : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - int32_t damage_illusions; // 0x12bc + int32_t damage; // 0x12c8 + int32_t damage_illusions; // 0x12cc }; // Alignment: 0 @@ -82373,13 +82857,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Elven_Tunic : public CDOTA_Buff_Item { public: - int32_t attack_speed; // 0x12b8 - int32_t evasion; // 0x12bc - int32_t movment; // 0x12c0 + int32_t attack_speed; // 0x12c8 + int32_t evasion; // 0x12cc + int32_t movment; // 0x12d0 }; // Alignment: 0 @@ -82399,11 +82883,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Gloves_Of_Travel : public CDOTA_Buff_Item { public: - int32_t attack_speed; // 0x12b8 + int32_t attack_speed; // 0x12c8 }; // Alignment: 0 @@ -82423,28 +82907,28 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Orb_Of_Corrosion : public CDOTA_Buff_Item { public: - int32_t health_bonus; // 0x12b8 - float duration; // 0x12bc - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + int32_t health_bonus; // 0x12c8 + float duration; // 0x12cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Orb_Of_Corrosion_Debuff : public CDOTA_Buff { public: - int32_t armor; // 0x12b8 - int32_t slow_melee; // 0x12bc - int32_t slow_range; // 0x12c0 - bool bCasterRanged; // 0x12c4 + int32_t armor; // 0x12c8 + int32_t slow_melee; // 0x12cc + int32_t slow_range; // 0x12d0 + bool bCasterRanged; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - int32_t damage; // 0x12c8 + int32_t damage; // 0x12d8 }; // Alignment: 0 @@ -82464,12 +82948,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Sorcerers_Staff : public CDOTA_Buff_Item { public: - int32_t mana_regen_amp; // 0x12b8 - int32_t spell_amp_creeps; // 0x12bc + int32_t mana_regen_amp; // 0x12c8 + int32_t spell_amp_creeps; // 0x12cc }; // Alignment: 0 @@ -82489,17 +82973,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Trickster_Cloak : public CDOTA_Buff_Item { public: - int32_t evasion; // 0x12b8 - int32_t magic_resistance; // 0x12bc - float debuff_limit; // 0x12c0 + int32_t evasion; // 0x12c8 + int32_t magic_resistance; // 0x12cc + float debuff_limit; // 0x12d0 }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Trickster_Cloak_Invis : public CDOTA_Modifier_Invisible { public: @@ -82523,26 +83007,26 @@ public: }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Item_Venom_Gland : public CDOTA_Buff_Item { public: - int32_t primary_attribute; // 0x12b8 - int32_t debuff_amp; // 0x12bc - float duration; // 0x12c0 + int32_t primary_attribute; // 0x12c8 + int32_t debuff_amp; // 0x12cc + float duration; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Venom_Gland_Debuff : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - int32_t degen; // 0x12bc + int32_t damage; // 0x12c8 + int32_t degen; // 0x12cc }; // Alignment: 0 @@ -82562,12 +83046,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Wizard_Glass : public CDOTA_Buff_Item { public: - int32_t debuff_amp; // 0x12b8 - int32_t cooldown_reduction; // 0x12bc + int32_t debuff_amp; // 0x12c8 + int32_t cooldown_reduction; // 0x12cc }; // Alignment: 0 @@ -82587,7 +83071,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Gladiator_Helm : public CDOTA_Buff_Item { public: @@ -82595,13 +83079,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Gladiator_Helm_Buff : public CDOTA_Buff { public: - int32_t damage; // 0x12b8 - int32_t armor; // 0x12bc - int32_t movement_speed; // 0x12c0 + int32_t damage; // 0x12c8 + int32_t armor; // 0x12cc + int32_t movement_speed; // 0x12d0 }; // Alignment: 0 @@ -82621,12 +83105,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Possessed_Mask : public CDOTA_Buff_Item { public: - int32_t primary_attribute; // 0x12b8 - int32_t lifesteal; // 0x12bc + int32_t primary_attribute; // 0x12c8 + int32_t lifesteal; // 0x12cc }; // Alignment: 0 @@ -82638,21 +83122,21 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_AssassinsDagger : public CDOTA_Buff_Item { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 - int32_t debuff_duration; // 0x12d0 - int32_t bonus_attack_speed; // 0x12d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + int32_t debuff_duration; // 0x12e0 + int32_t bonus_attack_speed; // 0x12e4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Assassins_Dagger_Debuff : public CDOTA_Buff { public: - int32_t armor_debuff; // 0x12b8 + int32_t armor_debuff; // 0x12c8 }; // Alignment: 0 @@ -82664,21 +83148,21 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_AsceticCap : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - float hp_regen; // 0x12bc + int32_t bonus_health; // 0x12c8 + float hp_regen; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_AsceticCapBuff : public CDOTA_Buff { public: - int32_t status_resistance; // 0x12b8 - int32_t slow_resistance; // 0x12bc + int32_t status_resistance; // 0x12c8 + int32_t slow_resistance; // 0x12cc }; // Alignment: 0 @@ -82690,13 +83174,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_SamplePicker : public CDOTA_Buff_Item { public: - int32_t base_gold; // 0x12b8 - int32_t gold_per_level; // 0x12bc - int32_t strength_penalty; // 0x12c0 + int32_t base_gold; // 0x12c8 + int32_t gold_per_level; // 0x12cc + int32_t strength_penalty; // 0x12d0 }; // Alignment: 0 @@ -82708,27 +83192,27 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_IcarusWings : public CDOTA_Buff_Item { public: - float move_speed; // 0x12b8 + float move_speed; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_IcarusWingsBuff : public CDOTA_Buff_Item { public: - int32_t status_resistance; // 0x12b8 + int32_t status_resistance; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_IcarusWingsDebuff : public CDOTA_Buff_Item { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 0 @@ -82740,22 +83224,22 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Dynamite_Jacket : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x12b8 - int32_t radius; // 0x12bc - int32_t damage; // 0x12c0 - float blind_duration; // 0x12c4 + int32_t bonus_armor; // 0x12c8 + int32_t radius; // 0x12cc + int32_t damage; // 0x12d0 + float blind_duration; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Jacket_Blind : public CDOTA_Buff { public: - float blind_pct; // 0x12b8 + float blind_pct; // 0x12c8 }; // Alignment: 0 @@ -82767,20 +83251,20 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Tree_Processor : public CDOTA_Buff_Item { public: - int32_t bonus_int; // 0x12b8 + int32_t bonus_int; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Tree_Processor_Speed : public CDOTA_Buff_Item { public: - int32_t health_per_tree; // 0x12b8 - int32_t hp_bonus; // 0x12bc + int32_t health_per_tree; // 0x12c8 + int32_t hp_bonus; // 0x12cc }; // Alignment: 0 @@ -82792,27 +83276,27 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Heavy_Blade : public CDOTA_Buff_Item { public: - float damage; // 0x12b8 - int32_t attack_speed; // 0x12bc + float damage; // 0x12c8 + int32_t attack_speed; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Mechanical_Arm : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x12b8 + bool m_bAppliesToCreeps; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - float bat; // 0x12bc - float stun_duration; // 0x12c0 - int32_t stun_chance; // 0x12c4 - int32_t m_nAttack; // 0x12c8 + float bat; // 0x12cc + float stun_duration; // 0x12d0 + int32_t stun_chance; // 0x12d4 + int32_t m_nAttack; // 0x12d8 }; // Alignment: 0 @@ -82824,7 +83308,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mechanical_Arm_Counter : public CDOTA_Buff { public: @@ -82848,20 +83332,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Fortitude_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - float hp_regen; // 0x12bc + int32_t bonus_health; // 0x12c8 + float hp_regen; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Fortitude_Ring_Active : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 + int32_t damage_reduction; // 0x12c8 }; // Alignment: 0 @@ -82873,36 +83357,36 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_PogoStick : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - int32_t bonus_mana; // 0x12bc - int32_t bonus_intellect; // 0x12c0 + int32_t bonus_health; // 0x12c8 + int32_t bonus_mana; // 0x12cc + int32_t bonus_intellect; // 0x12d0 }; // Alignment: 13 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Pogo_Stick_Active : public CDOTA_Buff { public: - 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 + float m_flTotalTime; // 0x12c8 + float m_flInitialVelocity; // 0x12cc + Vector m_vStartPosition; // 0x12d0 + Vector m_vTargetHorizontalDirection; // 0x12dc + float m_flCurrentTimeHoriz; // 0x12e8 + float m_flCurrentTimeVert; // 0x12ec + bool m_bInterrupted; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - 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 + int32_t leap_distance; // 0x12f4 + float leap_speed; // 0x12f8 + float leap_acceleration; // 0x12fc + int32_t leap_radius; // 0x1300 + float leap_bonus_duration; // 0x1304 + bool m_bLaunched; // 0x1308 }; // Alignment: 0 @@ -82914,19 +83398,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Paintball : public CDOTA_Buff_Item { public: - int32_t movespeed; // 0x12b8 + int32_t movespeed; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Paintball_Debuff : public CDOTA_Buff { public: - int32_t dps; // 0x12b8 + int32_t dps; // 0x12c8 }; // Alignment: 0 @@ -82938,15 +83422,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_UnstableWand : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x12b8 + int32_t all_stats; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_UnstableWand_Critter : public CDOTA_Modifier_Hexed { public: @@ -82962,24 +83446,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_LightRobes : public CDOTA_Buff_Item { public: - int32_t health_penalty; // 0x12b8 - int32_t attack_speed; // 0x12bc + int32_t health_penalty; // 0x12c8 + int32_t attack_speed; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Force_Field_Bonus_Aura : public CDOTA_Buff { public: - int32_t bonus_aoe_radius; // 0x12b8 + int32_t bonus_aoe_radius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Force_Field_Bonus : public CDOTA_Buff { public: @@ -82987,30 +83471,30 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Force_Field : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x12b8 + bool m_bAppliesToCreeps; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - int32_t bonus_aoe_radius; // 0x12bc - int32_t self_armor; // 0x12c0 - int32_t self_mres; // 0x12c4 + int32_t bonus_aoe_radius; // 0x12cc + int32_t self_armor; // 0x12d0 + int32_t self_mres; // 0x12d4 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Force_Field_Effect : public CDOTA_Buff { public: - 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 + float bonus_aoe_armor; // 0x12c8 + float bonus_aoe_ms; // 0x12cc + float bonus_aoe_mres; // 0x12d0 + float self_mres; // 0x12d4 + float self_armor; // 0x12d8 + int32_t active_reflection_pct; // 0x12dc }; // Alignment: 0 @@ -83030,14 +83514,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Misericorde : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x12b8 - int32_t missing_hp; // 0x12bc - int32_t damage; // 0x12c0 - int32_t aspd; // 0x12c4 + int32_t bonus_damage; // 0x12c8 + int32_t missing_hp; // 0x12cc + int32_t damage; // 0x12d0 + int32_t aspd; // 0x12d4 }; // Alignment: 0 @@ -83057,13 +83541,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Ancient_Perseverance : public CDOTA_Buff_Item { public: - int32_t damage; // 0x12b8 - int32_t hp_regen; // 0x12bc - int32_t mana_regen_amp; // 0x12c0 + int32_t damage; // 0x12c8 + int32_t hp_regen; // 0x12cc + int32_t mana_regen_amp; // 0x12d0 }; // Alignment: 0 @@ -83083,21 +83567,21 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Oakheart : public CDOTA_Buff_Item { public: - int32_t strength; // 0x12b8 + int32_t strength; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Oakheart_Healing : public CDOTA_Buff { public: - int32_t heal; // 0x12b8 - float duration; // 0x12bc - float regen; // 0x12c0 + int32_t heal; // 0x12c8 + float duration; // 0x12cc + float regen; // 0x12d0 }; // Alignment: 0 @@ -83117,26 +83601,26 @@ public: }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Stormcrafter : public CDOTA_Buff_Item { public: - 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 + GameTime_t m_flNextHit; // 0x12c8 + int32_t passive_movement_bonus; // 0x12cc + int32_t range; // 0x12d0 + float interval; // 0x12d4 + int32_t damage; // 0x12d8 + float slow_duration; // 0x12dc + float bonus_mana_regen; // 0x12e0 + int32_t max_targets; // 0x12e4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Stormcrafter_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 0 @@ -83157,12 +83641,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Overflowing_Elixir_Regen : public CDOTA_Buff { public: - int32_t health; // 0x12b8 - int32_t mana; // 0x12bc + int32_t health; // 0x12c8 + int32_t mana; // 0x12cc }; // Alignment: 0 @@ -83182,13 +83666,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Mysterious_Hat : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - int32_t spell_amp; // 0x12bc - int32_t manacost_reduction; // 0x12c0 + int32_t bonus_health; // 0x12c8 + int32_t spell_amp; // 0x12cc + int32_t manacost_reduction; // 0x12d0 }; // Alignment: 0 @@ -83208,26 +83692,26 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Orb_of_Pestilence : 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; // 0x12c4 - int32_t armor; // 0x12c8 - float hp_regen; // 0x12cc + int32_t poison_movement_speed_melee; // 0x12c8 + int32_t poison_movement_speed_range; // 0x12cc + float poison_duration; // 0x12d0 + float poison_damage; // 0x12d4 + int32_t armor; // 0x12d8 + float hp_regen; // 0x12dc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Orb_of_Pestilence_Slow : public CDOTA_Buff { public: - float duration; // 0x12b8 - int32_t slow; // 0x12bc - float damage; // 0x12c0 + float duration; // 0x12c8 + int32_t slow; // 0x12cc + float damage; // 0x12d0 }; // Alignment: 0 @@ -83247,11 +83731,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Fluffy_Hat : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 + int32_t bonus_health; // 0x12c8 }; // Alignment: 0 @@ -83271,16 +83755,16 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Falcon_Blade : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_damage; // 0x12c8 + int32_t bonus_damage_per_kill; // 0x12cc + int32_t bonus_damage_per_assist; // 0x12d0 + int32_t bonus_health; // 0x12d4 + int32_t max_damage; // 0x12d8 + float bonus_mana_regen; // 0x12dc }; // Alignment: 0 @@ -83300,24 +83784,24 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Mage_Slayer : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_magical_armor; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t bonus_damage; // 0x12d0 + float duration; // 0x12d4 + float bonus_mana_regen; // 0x12d8 + int32_t bonus_intellect; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Mage_Slayer_Debuff : public CDOTA_Buff { public: - int32_t spell_amp_debuff; // 0x12b8 + int32_t spell_amp_debuff; // 0x12c8 }; // Alignment: 0 @@ -83345,16 +83829,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Overwhelming_Blink : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 - float blink_damage_cooldown; // 0x12bc + int32_t bonus_strength; // 0x12c8 + float blink_damage_cooldown; // 0x12cc }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_SuperOverwhelming_Blink : public CDOTA_Modifier_Item_Overwhelming_Blink { public: @@ -83362,15 +83846,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Overwhelming_Blink_Debuff : public CDOTA_Buff { public: - float caster_strength; // 0x12b8 - int32_t movement_slow; // 0x12bc - int32_t attack_slow; // 0x12c0 - float damage_pct_over_time; // 0x12c4 - float m_flTickDamage; // 0x12c8 + float caster_strength; // 0x12c8 + int32_t movement_slow; // 0x12cc + int32_t attack_slow; // 0x12d0 + float damage_pct_over_time; // 0x12d4 + float m_flTickDamage; // 0x12d8 }; // Alignment: 0 @@ -83398,16 +83882,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Swift_Blink : public CDOTA_Buff_Item { public: - float blink_damage_cooldown; // 0x12b8 - int32_t bonus_agility; // 0x12bc + float blink_damage_cooldown; // 0x12c8 + int32_t bonus_agility; // 0x12cc }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_SuperSwift_Blink : public CDOTA_Modifier_Item_Swift_Blink { public: @@ -83415,12 +83899,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Swift_Blink_Buff : public CDOTA_Buff { public: - int32_t bonus_movement; // 0x12b8 - int32_t bonus_agi_active; // 0x12bc + int32_t bonus_movement; // 0x12c8 + int32_t bonus_agi_active; // 0x12cc }; // Alignment: 0 @@ -83448,16 +83932,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Arcane_Blink : public CDOTA_Buff_Item { public: - float blink_damage_cooldown; // 0x12b8 - int32_t bonus_intellect; // 0x12bc + float blink_damage_cooldown; // 0x12c8 + int32_t bonus_intellect; // 0x12cc }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_SuperArcane_Blink : public CDOTA_Modifier_Item_Arcane_Blink { public: @@ -83465,14 +83949,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Arcane_Blink_Buff : public CDOTA_Buff { public: - int32_t cast_pct_improvement; // 0x12b8 - int32_t manacost_reduction; // 0x12bc - int32_t debuff_amp; // 0x12c0 - int32_t cast_range_bonus; // 0x12c4 + int32_t cast_pct_improvement; // 0x12c8 + int32_t manacost_reduction; // 0x12cc + int32_t debuff_amp; // 0x12d0 + int32_t cast_range_bonus; // 0x12d4 }; // Alignment: 0 @@ -83492,32 +83976,32 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Wind_Waker : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_intellect; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_movement_speed; // 0x12d0 + int32_t bonus_mana; // 0x12d4 + int32_t cast_range_bonus; // 0x12d8 }; // Alignment: 6 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Wind_Waker : public CDOTA_Buff { public: - 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 + CHandle< CBaseEntity > m_hBlocker; // 0x12c8 + GameTime_t m_flStartTime; // 0x12cc + Vector m_vStartPos; // 0x12d0 + float m_flCurTime; // 0x12dc + float m_flHeightT; // 0x12e0 + Vector m_vMoveToPos; // 0x12e4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Eul_Wind_Waker_Thinker : public CDOTA_Buff { public: @@ -83541,7 +84025,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghanims_Shard : public CDOTA_Buff { public: @@ -83565,24 +84049,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Eternal_Shroud_Barrier : public CDOTA_Buff { public: - int32_t barrier_block; // 0x12b8 - int32_t barrier_amount; // 0x12bc + int32_t barrier_block; // 0x12c8 + int32_t barrier_amount; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Eternal_Shroud : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_spell_resist; // 0x12c8 + int32_t bonus_strength; // 0x12cc + int32_t bonus_armor; // 0x12d0 + float bonus_health_regen; // 0x12d4 + int32_t mana_restore_pct; // 0x12d8 }; // Alignment: 0 @@ -83602,16 +84086,16 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Star_Mace : public CDOTA_Buff_Item { public: - 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 + int32_t movement_speed_pct; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t cleave_damage_percent; // 0x12d0 + int32_t cleave_starting_width; // 0x12d4 + int32_t cleave_ending_width; // 0x12d8 + int32_t cleave_distance; // 0x12dc }; // Alignment: 0 @@ -83631,23 +84115,23 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Penta_Edged_Sword : public CDOTA_Buff_Item { public: - int32_t damage; // 0x12b8 - int32_t maim_chance; // 0x12bc - float maim_duration; // 0x12c0 - int32_t melee_attack_range; // 0x12c4 + int32_t damage; // 0x12c8 + int32_t maim_chance; // 0x12cc + float maim_duration; // 0x12d0 + int32_t melee_attack_range; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Penta_Edged_Sword_Maim : public CDOTA_Buff { public: - int32_t maim_slow_movement; // 0x12b8 - int32_t maim_slow_attack; // 0x12bc + int32_t maim_slow_movement; // 0x12c8 + int32_t maim_slow_attack; // 0x12cc }; // Alignment: 0 @@ -83667,40 +84151,40 @@ public: }; // Alignment: 7 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_GungirChain : 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< CBaseEntity > > m_hHitEntities; // 0x12d8 + int32_t chain_radius; // 0x12c8 + int32_t chain_strikes; // 0x12cc + int32_t chain_damage; // 0x12d0 + float chain_delay; // 0x12d4 + int32_t m_iCurJumpCount; // 0x12d8 + Vector m_vCurTargetLoc; // 0x12dc + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12e8 }; // Alignment: 12 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Item_Gungir : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_damage; // 0x12c8 + int32_t bonus_strength; // 0x12cc + int32_t bonus_agility; // 0x12d0 + int32_t bonus_intellect; // 0x12d4 + int32_t bonus_hp; // 0x12d8 + int32_t chain_chance; // 0x12dc + int32_t chain_strikes; // 0x12e0 + int32_t chain_damage; // 0x12e4 + int32_t chain_radius; // 0x12e8 + float chain_cooldown; // 0x12ec + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12f0 + CountdownTimer m_ChainTimer; // 0x1308 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Gungnir_Debuff : public CDOTA_Modifier_Rooted { public: @@ -83725,24 +84209,24 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Orb_Of_Revelations : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_health; // 0x12c8 + int32_t bonus_mana; // 0x12cc + float bonus_mana_regen; // 0x12d0 + int32_t cast_range_bonus; // 0x12d4 + int32_t bonus_magical_armor; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Orb_Of_Revelations_Reveal : public CDOTA_Buff { public: - int32_t movespeed; // 0x12b8 - bool m_bCastOnInvisibleHero; // 0x12bc + int32_t movespeed; // 0x12c8 + bool m_bCastOnInvisibleHero; // 0x12cc }; // Alignment: 0 @@ -83754,12 +84238,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Satchel : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x12b8 - int32_t xp_gain; // 0x12bc + int32_t bonus_all_stats; // 0x12c8 + int32_t xp_gain; // 0x12cc }; // Alignment: 0 @@ -83771,29 +84255,29 @@ public: }; // Alignment: 19 -// Size: 0x1318 +// Size: 0x1328 class CDOTA_Modifier_Item_Grandmasters_Glaive : public CDOTA_Buff_Item { public: - 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 + int32_t sange_bonus_strength; // 0x12c8 + int32_t sange_status_resistance; // 0x12cc + int32_t sange_hp_regen_amp; // 0x12d0 + int32_t kaya_bonus_intellect; // 0x12d4 + int32_t kaya_spell_amp; // 0x12d8 + int32_t kaya_mana_regen_multiplier; // 0x12dc + int32_t kaya_magic_damage_attack; // 0x12e0 + int32_t yasha_bonus_agility; // 0x12e4 + int32_t yasha_bonus_attack_speed; // 0x12e8 + int32_t yasha_movement_speed_percent_bonus; // 0x12ec + int32_t m_iCurrentStance; // 0x12f0 + int32_t bonus_strength; // 0x12f4 + int32_t bash_chance_melee; // 0x12f8 + int32_t bash_chance_ranged; // 0x12fc + float bash_duration; // 0x1300 + float bash_cooldown; // 0x1304 + int32_t bonus_chance_damage; // 0x1308 + int32_t bonus_damage; // 0x130c + CUtlVector< int16 > m_InFlightAttackRecords; // 0x1310 }; // Alignment: 1 @@ -83807,27 +84291,27 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Agi : public CDOTA_Buff { public: - int32_t agi_stance; // 0x12b8 + int32_t agi_stance; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Str : public CDOTA_Buff { public: - int32_t str_stance; // 0x12b8 + int32_t str_stance; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Int : public CDOTA_Buff { public: - int32_t int_stance; // 0x12b8 + int32_t int_stance; // 0x12c8 }; // Alignment: 0 @@ -83847,19 +84331,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Warhammer : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 + int32_t bonus_strength; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Warhammer_Armor : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x12b8 + int32_t armor_reduction; // 0x12c8 }; // Alignment: 0 @@ -83879,24 +84363,24 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Psychic_Headband : public CDOTA_Buff_Item { public: - int32_t intelligence_pct; // 0x12b8 - int32_t cast_range; // 0x12bc + int32_t intelligence_pct; // 0x12c8 + int32_t cast_range; // 0x12cc }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Psychic_Headband : public CDOTA_Buff { public: - Vector m_vDirection; // 0x12b8 - float m_flEndTime; // 0x12c4 - float m_flCurTime; // 0x12c8 - int32_t push_length; // 0x12cc - float push_duration; // 0x12d0 + Vector m_vDirection; // 0x12c8 + float m_flEndTime; // 0x12d4 + float m_flCurTime; // 0x12d8 + int32_t push_length; // 0x12dc + float push_duration; // 0x12e0 }; // Alignment: 0 @@ -83916,21 +84400,21 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Ceremonial_Robe : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x12b8 - int32_t aura_radius; // 0x12bc + int32_t bonus_mana; // 0x12c8 + int32_t aura_radius; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ceremonial_Robe_Aura : public CDOTA_Buff { public: - int32_t status_resistance; // 0x12b8 - int32_t magic_resistance; // 0x12bc + int32_t status_resistance; // 0x12c8 + int32_t magic_resistance; // 0x12cc }; // Alignment: 0 @@ -83950,21 +84434,21 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Book_Of_Shadows : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x12b8 - int32_t night_vision; // 0x12bc + int32_t bonus_all_stats; // 0x12c8 + int32_t night_vision; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Book_Of_Shadows_Buff : public CDOTA_Buff { public: - bool m_bUntargetableAllies; // 0x12b8 - bool m_bUntargetableEnemies; // 0x12b9 + bool m_bUntargetableAllies; // 0x12c8 + bool m_bUntargetableEnemies; // 0x12c9 }; // Alignment: 0 @@ -83984,16 +84468,24 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 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 + int32_t bonus_strength; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t model_scale; // 0x12d0 + int32_t damage_radius; // 0x12d4 + int32_t pct_str_damage_per_second; // 0x12d8 + float tick_rate; // 0x12dc +}; + +// Alignment: 0 +// Size: 0x12c8 +class CDOTA_Modifier_Item_Giants_Ring_Visual : public CDOTA_Buff +{ +public: + // No members available }; // Alignment: 0 @@ -84013,20 +84505,20 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Vengeances_Shadow : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - int32_t damage_return; // 0x12bc + int32_t bonus_health; // 0x12c8 + int32_t damage_return; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Vengeances_Shadow_Illusions : public CDOTA_Buff { public: - bool m_bLeftoverHybrid; // 0x12b8 + bool m_bLeftoverHybrid; // 0x12c8 }; // Alignment: 0 @@ -84046,31 +84538,31 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Bullwhip : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x12b8 - float bonus_mana_regen; // 0x12bc + float bonus_health_regen; // 0x12c8 + float bonus_mana_regen; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Bullwhip_Buff_Thinker : public CDOTA_Buff { public: - int32_t speed; // 0x12b8 - CHandle< CBaseEntity > m_hTarget; // 0x12bc - ParticleIndex_t m_nFXIndex; // 0x12c0 + int32_t speed; // 0x12c8 + CHandle< CBaseEntity > m_hTarget; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Bullwhip_Buff : public CDOTA_Buff { public: - int32_t speed; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t speed; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 0 @@ -84090,16 +84582,16 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Quicksilver_Amulet : public CDOTA_Buff_Item { public: - 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 + int32_t base_attack; // 0x12c8 + int32_t bonus_attack; // 0x12cc + int32_t base_movement; // 0x12d0 + int32_t bonus_movement; // 0x12d4 + int32_t projectile_increase; // 0x12d8 + int32_t anim_increase; // 0x12dc }; // Alignment: 0 @@ -84119,17 +84611,17 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Naginata : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_intellect; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + int32_t bonus_damage; // 0x12d0 + int32_t bonus_health; // 0x12d4 + float bonus_mana_regen; // 0x12d8 + int32_t cooldown_reduction_percent; // 0x12dc + int32_t bonus_chance; // 0x12e0 }; // Alignment: 0 @@ -84141,29 +84633,29 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_SeedsOfSerenity : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - float bonus_health_regen; // 0x12bc + int32_t bonus_health; // 0x12c8 + float bonus_health_regen; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_SeedsOfSerenity_Active_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_SeedsOfSerenity_Active : public CDOTA_Buff { public: - int32_t aura_health_regen; // 0x12b8 + int32_t aura_health_regen; // 0x12c8 }; // Alignment: 0 @@ -84175,25 +84667,25 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_LanceOfPursuit : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_mana; // 0x12c8 + int32_t bonus_strength; // 0x12cc + int32_t backstab_damage; // 0x12d0 + int32_t backstab_angle; // 0x12d4 + float slow_duration; // 0x12d8 + bool m_bBackstab; // 0x12dc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Lance_of_Pursuit_Slow : public CDOTA_Buff { public: - int32_t slow_pct_melee; // 0x12b8 - int32_t slow_pct_ranged; // 0x12bc + int32_t slow_pct_melee; // 0x12c8 + int32_t slow_pct_ranged; // 0x12cc }; // Alignment: 0 @@ -84205,23 +84697,23 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Occult_Bracelet : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_all_stats; // 0x12c8 + int32_t stack_limit; // 0x12cc + float stack_duration; // 0x12d0 + GameTime_t m_flStackDieTime; // 0x12d4 + int32_t magic_resistance; // 0x12d8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Occult_Bracelet_Stack : public CDOTA_Buff { public: - float mana_regen; // 0x12b8 + float mana_regen; // 0x12c8 }; // Alignment: 0 @@ -84233,13 +84725,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Tome_of_Omniscience : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x12b8 - int32_t bonus_xpm; // 0x12bc - int32_t bonus_armor; // 0x12c0 + int32_t bonus_mana; // 0x12c8 + int32_t bonus_xpm; // 0x12cc + int32_t bonus_armor; // 0x12d0 }; // Alignment: 0 @@ -84251,43 +84743,43 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_OgreSealTotem : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 + int32_t bonus_strength; // 0x12c8 }; // Alignment: 14 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_OgreSealTotem_Active : public CDOTA_Buff { public: - 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 + float m_flTotalTime; // 0x12c8 + float m_flInitialVelocity; // 0x12cc + Vector m_vStartPosition; // 0x12d0 + Vector m_vTargetHorizontalDirection; // 0x12dc + float m_flCurrentTimeHoriz; // 0x12e8 + float m_flCurrentTimeVert; // 0x12ec + bool m_bInterrupted; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - 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 + int32_t m_nCurrentBounce; // 0x12f4 + int32_t leap_distance; // 0x12f8 + float leap_speed; // 0x12fc + float leap_acceleration; // 0x1300 + int32_t leap_radius; // 0x1304 + float leap_bonus_duration; // 0x1308 + bool m_bLaunched; // 0x130c }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_OgreSealTotem_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 0 @@ -84299,23 +84791,23 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_WandOfTheBrine : public CDOTA_Buff_Item { public: - int32_t heal_increase; // 0x12b8 + int32_t heal_increase; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_WandOfTheBrine_Active : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 - float interval; // 0x12bc - int32_t damage_reduction; // 0x12c0 - int32_t heal; // 0x12c4 - ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t movement_speed; // 0x12c8 + float interval; // 0x12cc + int32_t damage_reduction; // 0x12d0 + int32_t heal; // 0x12d4 + ParticleIndex_t m_nFXIndex; // 0x12d8 }; // Alignment: 0 @@ -84327,36 +84819,36 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Slime_Vial : public CDOTA_Buff_Item { public: - int32_t health_regen; // 0x12b8 + int32_t health_regen; // 0x12c8 }; // Alignment: 8 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Item_Slime_Vial_Thinker : public CDOTA_Buff { public: - 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 + float m_fCurRadius; // 0x12c8 + GameTime_t m_fLastThink; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x12d0 + CountdownTimer m_ViewerTimer; // 0x12e8 + int32_t spill_speed; // 0x1300 + int32_t spill_radius; // 0x1304 + int32_t spill_damage; // 0x1308 + float spill_debuff_duration; // 0x130c }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Slime_Vial_Spill_Debuff : public CDOTA_Buff { public: - int32_t spill_movement_speed; // 0x12b8 - int32_t spill_attack_speed; // 0x12bc - int32_t spill_self_bonus_armor; // 0x12c0 + int32_t spill_movement_speed; // 0x12c8 + int32_t spill_attack_speed; // 0x12cc + int32_t spill_self_bonus_armor; // 0x12d0 }; // Alignment: 0 @@ -84376,57 +84868,57 @@ public: }; // Alignment: 10 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Item_Harpoon : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_chance; // 0x12c8 + int32_t bonus_chance_damage; // 0x12cc + int32_t bonus_strength; // 0x12d0 + int32_t bonus_agility; // 0x12d4 + int32_t bonus_intellect; // 0x12d8 + float bonus_mana_regen; // 0x12dc + int32_t bonus_damage; // 0x12e0 + int32_t bonus_speed; // 0x12e4 + CUtlVector< int16 > m_InFlightProcAttackRecords; // 0x12e8 + int32_t m_nBonusProcAttackRecord; // 0x1300 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Harpoon_EchoSabre_Component : public CDOTA_Buff_Item { public: - float slow_duration; // 0x12b8 - int32_t bonus_attack_speed; // 0x12bc - bool bonus_speed; // 0x12c0 + float slow_duration; // 0x12c8 + int32_t bonus_attack_speed; // 0x12cc + bool bonus_speed; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - float passive_cooldown; // 0x12c4 + float passive_cooldown; // 0x12d4 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Harpoon_Pull : public CDOTA_Buff { public: - Vector m_vDirection; // 0x12b8 - float m_flEndTime; // 0x12c4 - float m_flCurTime; // 0x12c8 - float m_flDistance; // 0x12cc + Vector m_vDirection; // 0x12c8 + float m_flEndTime; // 0x12d4 + float m_flCurTime; // 0x12d8 + float m_flDistance; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Harpoon_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Harpoon_InternalCD : public CDOTA_Buff { public: @@ -84442,22 +84934,22 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Guardian_Shell : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x12b8 - int32_t bonus_armor; // 0x12bc - float counter_cooldown; // 0x12c0 - GameTime_t m_flLastCounterTime; // 0x12c4 + int32_t all_stats; // 0x12c8 + int32_t bonus_armor; // 0x12cc + float counter_cooldown; // 0x12d0 + GameTime_t m_flLastCounterTime; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_GuardianShell_Active : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 + ParticleIndex_t m_nFXIndex; // 0x12c8 }; // Alignment: 1 @@ -84469,16 +84961,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Arcane_Scout : public CDOTA_Buff_Item { public: - int32_t vision_bonus; // 0x12b8 - int32_t magic_resist; // 0x12bc + int32_t vision_bonus; // 0x12c8 + int32_t magic_resist; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Arcane_Scout_Self_Vision : public CDOTA_Buff { public: @@ -84486,12 +84978,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Arcane_Scout_Invulnerability : public CDOTA_Modifier_Invulnerable { public: - int32_t scout_movespeed; // 0x12b8 - int32_t sight_range; // 0x12bc + int32_t scout_movespeed; // 0x12c8 + int32_t sight_range; // 0x12cc }; // Alignment: 1 @@ -84503,19 +84995,19 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Barricade_Thinker : public CDOTA_Buff { public: - int32_t length; // 0x12b8 - int32_t width; // 0x12bc - int32_t max_hits; // 0x12c0 - int32_t m_iCurrentHits; // 0x12c4 - int32_t m_hObstruction; // 0x12c8 + int32_t length; // 0x12c8 + int32_t width; // 0x12cc + int32_t max_hits; // 0x12d0 + int32_t m_iCurrentHits; // 0x12d4 + int32_t m_hObstruction; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_Barricade_Blocker : public CDOTA_Buff { public: @@ -84523,12 +85015,12 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Barricade : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - int32_t bonus_armor; // 0x12bc + int32_t bonus_health; // 0x12c8 + int32_t bonus_armor; // 0x12cc }; // Alignment: 0 @@ -84540,13 +85032,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_EyeOfTheVizier : public CDOTA_Buff_Item { public: - int32_t cast_range_bonus; // 0x12b8 - int32_t mana_reduction_pct; // 0x12bc - float bonus_mana_regen; // 0x12c0 + int32_t cast_range_bonus; // 0x12c8 + int32_t mana_reduction_pct; // 0x12cc + float bonus_mana_regen; // 0x12d0 }; // Alignment: 0 @@ -84558,23 +85050,23 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_ManaclesOfPower : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x12b8 + int32_t bonus_strength; // 0x12c8 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_ManaclesOfPower_Effect : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hPartner; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc - float leash_distance; // 0x12c0 - float leash_limit_multiplier; // 0x12c4 - CHandle< CBaseEntity > m_hAnchor; // 0x12c8 + CHandle< CBaseEntity > m_hPartner; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc + float leash_distance; // 0x12d0 + float leash_limit_multiplier; // 0x12d4 + CHandle< CBaseEntity > m_hAnchor; // 0x12d8 }; // Alignment: 3 @@ -84590,27 +85082,27 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Bottomless_Chalice_Regen : public CDOTA_Buff { public: - int32_t health; // 0x12b8 - int32_t mana; // 0x12bc + int32_t health; // 0x12c8 + int32_t mana; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_Bottomless_Chalice : public CDOTA_Buff_Item { public: - int32_t max_charges_per_kill; // 0x12b8 - float recharge_time; // 0x12bc - bool m_bFull; // 0x12c0 + int32_t max_charges_per_kill; // 0x12c8 + float recharge_time; // 0x12cc + bool m_bFull; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c1[0x3]; // 0x12c1 + [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 public: - int32_t bonus_intellect; // 0x12c4 - int32_t movement_speed; // 0x12c8 + int32_t bonus_intellect; // 0x12d4 + int32_t movement_speed; // 0x12d8 }; // Alignment: 0 @@ -84622,21 +85114,21 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_WandOfSanctitude : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x12b8 - int32_t cast_range_bonus; // 0x12bc + int32_t all_stats; // 0x12c8 + int32_t cast_range_bonus; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_WandOfSanctitude_Active_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 0 @@ -84648,15 +85140,23 @@ public: }; // Alignment: 5 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Item_SpecialistsArray : public CDOTA_Buff_Item { public: - 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 + int32_t all_stats; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t proc_bonus_damage; // 0x12d0 + int32_t count; // 0x12d4 + int32_t secondary_target_range_bonus; // 0x12d8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Item_SpecialistsArray_ProcDamage : public CDOTA_Buff_Item +{ +public: + int32_t proc_bonus_damage; // 0x12c8 }; // Alignment: 0 @@ -84668,19 +85168,19 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_DaggerOfRistul : public CDOTA_Buff_Item { public: - int32_t aspd; // 0x12b8 + int32_t aspd; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_DaggerOfRistul_Buff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x12b8 + int32_t bonus_damage; // 0x12c8 }; // Alignment: 0 @@ -84700,31 +85200,31 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Lunar_Crest : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x12b8 - int32_t movement_speed; // 0x12bc - int32_t bonus_spell_resist; // 0x12c0 + int32_t bonus_health; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t bonus_spell_resist; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Lunar_Crest_Barrier_Addition : public CDOTA_Buff { public: - int32_t barrier_block; // 0x12b8 - int32_t barrier_amount; // 0x12bc + int32_t barrier_block; // 0x12c8 + int32_t barrier_amount; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Lunar_Crest_Barrier_Reduction : public CDOTA_Buff { public: - int32_t barrier_block; // 0x12b8 - float m_flDamageTotal; // 0x12bc + int32_t barrier_block; // 0x12c8 + float m_flDamageTotal; // 0x12cc }; // Alignment: 0 @@ -84744,34 +85244,34 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Magus_Minimus_Inhibit : public CDOTA_Buff { public: - int32_t purge_rate; // 0x12b8 + int32_t purge_rate; // 0x12c8 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Item_Magus_Minimus : 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 - int32_t aura_radius; // 0x12d0 + int32_t bonus_agility; // 0x12c8 + int32_t bonus_intellect; // 0x12cc + float damage_per_burn; // 0x12d0 + int32_t feedback_mana_burn; // 0x12d4 + int32_t feedback_mana_burn_illusion_melee; // 0x12d8 + int32_t feedback_mana_burn_illusion_ranged; // 0x12dc + int32_t aura_radius; // 0x12e0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Magus_Minimus_Aura_Slow : public CDOTA_Buff { public: - int32_t max_slow_pct; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t max_slow_pct; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 0 @@ -84791,24 +85291,24 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Witches_Switch : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x12b8 - float bonus_mana_regen; // 0x12bc - int32_t bonus_armor; // 0x12c0 - int32_t aura_radius; // 0x12c4 + float bonus_health_regen; // 0x12c8 + float bonus_mana_regen; // 0x12cc + int32_t bonus_armor; // 0x12d0 + int32_t aura_radius; // 0x12d4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Witches_Switch_Aura_Effect : public CDOTA_Buff { public: - float aura_mana_regen; // 0x12b8 - float aura_health_regen; // 0x12bc - int32_t aura_armor; // 0x12c0 + float aura_mana_regen; // 0x12c8 + float aura_health_regen; // 0x12cc + int32_t aura_armor; // 0x12d0 }; // Alignment: 0 @@ -84820,13 +85320,13 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_Spark_Of_Courage : public CDOTA_Buff_Item { public: - int32_t damage; // 0x12b8 - int32_t armor; // 0x12bc - int32_t health_pct; // 0x12c0 + int32_t damage; // 0x12c8 + int32_t armor; // 0x12cc + int32_t health_pct; // 0x12d0 }; // Alignment: 0 @@ -84838,15 +85338,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_VindicatorsAxe : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_damage; // 0x12cc + int32_t bonus_armor; // 0x12d0 + int32_t bonus_slow_resist; // 0x12d4 + ParticleIndex_t m_nFxIndex; // 0x12d8 }; // Alignment: 0 @@ -84858,14 +85358,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifer_Item_DandelionAmulet : public CDOTA_Buff_Item { public: - int32_t move_speed; // 0x12b8 - int32_t mana; // 0x12bc - int32_t magic_block; // 0x12c0 - int32_t min_damage; // 0x12c4 + int32_t move_speed; // 0x12c8 + int32_t mana; // 0x12cc + int32_t magic_block; // 0x12d0 + int32_t min_damage; // 0x12d4 }; // Alignment: 0 @@ -84877,21 +85377,21 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifer_Item_BlightedSpirit : public CDOTA_Buff_Item { public: - int32_t magic_resist; // 0x12b8 - float duration; // 0x12bc + int32_t magic_resist; // 0x12c8 + float duration; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_BlightedSpirit_Blight : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x12b8 - int32_t heal_reduction; // 0x12bc + int32_t damage_per_second; // 0x12c8 + int32_t heal_reduction; // 0x12cc }; // Alignment: 0 @@ -84903,14 +85403,14 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_DuelistGloves : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x12b8 - int32_t bonus_damage; // 0x12bc - float radius; // 0x12c0 - int32_t actual_attack_speed; // 0x12c4 + int32_t bonus_attack_speed; // 0x12c8 + int32_t bonus_damage; // 0x12cc + float radius; // 0x12d0 + int32_t actual_attack_speed; // 0x12d4 }; // Alignment: 0 @@ -84922,15 +85422,15 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Item_HorizonsEquilibrium : public CDOTA_Buff_Item { public: - 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 + int32_t distance; // 0x12c8 + int32_t damage_reduction; // 0x12cc + int32_t attack_lifesteal; // 0x12d0 + int32_t spell_lifesteal; // 0x12d4 + int32_t creep_lifesteal_reduction_pct; // 0x12d8 }; // Alignment: 1 @@ -84942,21 +85442,21 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifer_Item_TurtleShell : public CDOTA_Buff_Item { public: - int32_t armor; // 0x12b8 + int32_t armor; // 0x12c8 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifer_Item_TurtleShell_Shell : public CDOTA_Buff_Item { public: - int32_t damage_reduction; // 0x12b8 - Vector m_vecPosition; // 0x12bc - ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t damage_reduction; // 0x12c8 + Vector m_vecPosition; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d8 }; // Alignment: 0 @@ -84968,29 +85468,29 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_MartyrsPlate : public CDOTA_Buff_Item { public: - float duration; // 0x12b8 - int32_t magic_resist; // 0x12bc - float hp_regen; // 0x12c0 + float duration; // 0x12c8 + int32_t magic_resist; // 0x12cc + float hp_regen; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_MartyrsPlate_Aura : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_MartyrsPlate_Effect : public CDOTA_Buff_Item { public: - int32_t damage_redirection; // 0x12b8 + int32_t damage_redirection; // 0x12c8 }; // Alignment: 0 @@ -85002,11 +85502,11 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Gossamer_Cape : public CDOTA_Buff_Item { public: - float movement_speed; // 0x12b8 + float movement_speed; // 0x12c8 }; // Alignment: 5 @@ -85315,26 +85815,26 @@ public: }; // Alignment: 4 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_TutorialNPCBlocker_Thinker : public CDOTA_Buff { public: - Vector m_vecStart; // 0x12b8 - Vector m_vecEnd; // 0x12c4 - float m_flRadius; // 0x12d0 - bool m_bHidden; // 0x12d4 + Vector m_vecStart; // 0x12c8 + Vector m_vecEnd; // 0x12d4 + float m_flRadius; // 0x12e0 + bool m_bHidden; // 0x12e4 }; // Alignment: 5 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_TutorialNPCBlocker : public CDOTA_Buff { public: - Vector m_vecStart; // 0x12b8 - Vector m_vecEnd; // 0x12c4 - Vector m_vecCenter; // 0x12d0 - ParticleIndex_t m_nFXIndex; // 0x12dc - bool m_bHidden; // 0x12e0 + Vector m_vecStart; // 0x12c8 + Vector m_vecEnd; // 0x12d4 + Vector m_vecCenter; // 0x12e0 + ParticleIndex_t m_nFXIndex; // 0x12ec + bool m_bHidden; // 0x12f0 }; // Alignment: 10 @@ -85364,7 +85864,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AttributeBonus : public CDOTA_Buff { public: @@ -85372,271 +85872,271 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Gold : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_HP : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_MP : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Attack_Speed : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Base_Attack_Rate : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Attributes : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_All_Stats : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Movement_Speed : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Cast_Speed : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Movement_Speed_Percentage : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_HP_Regen : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_MP_Regen : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_MP_Regen_Amp : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Manaloss_Reduction : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Agility_And_Intelligence : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Intelligence : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Strength : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Agility : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Magic_Resistance : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Status_Resistance : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Day_Vision : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Night_Vision : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Vision : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Armor : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Attack_Damage : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Attack_Base_Damage : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Attack_Range : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Cast_Range : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Spell_Amplify : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Cooldown_Reduction : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Respawn_Reduction : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Gold_Income : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Evasion : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Unique_Morphling_4 : public CDOTA_Buff { public: @@ -85644,7 +86144,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Unique_Treant_3 : public CDOTA_Buff { public: @@ -85652,25 +86152,25 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_20_Bash : public CDOTA_Buff { public: - float value; // 0x12b8 - float value2; // 0x12bc + float value; // 0x12c8 + float value2; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Crit : public CDOTA_Buff { public: - float crit_chance; // 0x12b8 - float crit_multiplier; // 0x12bc + float crit_chance; // 0x12c8 + float crit_multiplier; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Tree_Walking : public CDOTA_Buff { public: @@ -85678,62 +86178,62 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Lifesteal : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Cleave : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Corruption : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Corruption_Debuff : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Special_Bonus_Mana_Break : public CDOTA_Buff { public: - int32_t value; // 0x12b8 - int32_t burn_illusions_ranged; // 0x12bc - int32_t burn_illusions_melee; // 0x12c0 - float damage_per_burn; // 0x12c4 + int32_t value; // 0x12c8 + int32_t burn_illusions_ranged; // 0x12cc + int32_t burn_illusions_melee; // 0x12d0 + float damage_per_burn; // 0x12d4 }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Special_Bonus_Spell_Block : public CDOTA_Buff { public: - float block_cooldown; // 0x12b8 + float block_cooldown; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CountdownTimer m_CooldownTimer; // 0x12c0 + CountdownTimer m_CooldownTimer; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_Spell_Immunity : public CDOTA_Modifier_MagicImmune { public: @@ -85741,15 +86241,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Haste : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Special_Bonus_TrueStrike : public CDOTA_Buff { public: @@ -85757,33 +86257,33 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Special_Bonus_Reincarnation : public CDOTA_Buff { public: - float value; // 0x12b8 - float reincarnate_time; // 0x12bc - GameTime_t m_fLastReincarnationTime; // 0x12c0 + float value; // 0x12c8 + float reincarnate_time; // 0x12cc + GameTime_t m_fLastReincarnationTime; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Spell_Lifesteal : public CDOTA_Buff { public: - float value; // 0x12b8 + float value; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Special_Bonus_Exp_Boost : public CDOTA_Buff { public: - int32_t value; // 0x12b8 + int32_t value; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Stacking_Gold_Rate_Boost : public CDOTA_Buff { public: @@ -85791,7 +86291,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Stacking_Exp_Rate_Boost : public CDOTA_Buff { public: @@ -85799,17 +86299,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Seasonal_Summon_Common_Thinker : public CDOTA_Buff { public: - float grace_period; // 0x12b8 - int32_t search_distance; // 0x12bc - float think_interval; // 0x12c0 + float grace_period; // 0x12c8 + int32_t search_distance; // 0x12cc + float think_interval; // 0x12d0 }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Healing_Campfire_Aura : public CDOTA_Buff { public: @@ -85817,69 +86317,69 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Healing_Campfire_Heal : public CDOTA_Buff { public: - int32_t heal_amount; // 0x12b8 + int32_t heal_amount; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Seasonal_Summon_Snowman_Thinker : public CDOTA_Buff { public: - float grace_period; // 0x12b8 - int32_t search_distance; // 0x12bc - float think_interval; // 0x12c0 + float grace_period; // 0x12c8 + int32_t search_distance; // 0x12cc + float think_interval; // 0x12d0 }; // Alignment: 31 -// Size: 0x1360 +// Size: 0x1370 class CDOTA_Modifier_Seasonal_Penguin : public CDOTA_Buff { public: - 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 __pad12f9[0x3]; // 0x12f9 -public: - Vector m_vJumpEndPos; // 0x12fc - bool m_bPlayedVroomSinceLastCrash; // 0x1308 + float m_fLifetimeGained; // 0x12c8 + Vector m_vTargetPos; // 0x12cc + int32_t m_nCurrentSpeed; // 0x12d8 + GameTime_t m_fLastBumpTime; // 0x12dc + Vector m_vLastPos; // 0x12e0 + CHandle< CBaseEntity > m_hLastHit; // 0x12ec + Vector m_vDir; // 0x12f0 + Vector m_vRunEndPos; // 0x12fc + bool m_bIsInInitialRun; // 0x1308 private: [[maybe_unused]] uint8_t __pad1309[0x3]; // 0x1309 public: - 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 + Vector m_vJumpEndPos; // 0x130c + bool m_bPlayedVroomSinceLastCrash; // 0x1318 +private: + [[maybe_unused]] uint8_t __pad1319[0x3]; // 0x1319 +public: + ParticleIndex_t m_nVroomFX; // 0x131c + GameTime_t m_fLastSpeedStepTime; // 0x1320 + GameTime_t m_fLastSpeechTime; // 0x1324 + ParticleIndex_t m_nFXStackIndex; // 0x1328 + int32_t m_nBumpsSinceLastCrash; // 0x132c + CHandle< CBaseEntity > m_hLastBumpingHero; // 0x1330 + int32_t initial_speed; // 0x1334 + int32_t max_speed; // 0x1338 + int32_t speed_step; // 0x133c + float speed_step_interval; // 0x1340 + float bump_delay; // 0x1344 + float bump_delay_absolute; // 0x1348 + int32_t bump_collision_radius; // 0x134c + int32_t run_distance; // 0x1350 + int32_t jump_distance; // 0x1354 + int32_t speed_after_crash; // 0x1358 + int32_t speed_gain_per_hero_bump; // 0x135c + float max_gainable_lifetime; // 0x1360 + float lifetime_gain_per_hero_bump; // 0x1364 + float min_speech_repeat_time; // 0x1368 }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_FestiveFirework : public CDOTA_Buff { public: @@ -85887,7 +86387,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_Firecrackers : public CDOTA_Buff { public: @@ -85895,145 +86395,145 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Ability_Seasonal_Summon_Dragon_Thinker : public CDOTA_Buff { public: - float grace_period; // 0x12b8 - int32_t search_distance; // 0x12bc - float think_interval; // 0x12c0 + float grace_period; // 0x12c8 + int32_t search_distance; // 0x12cc + float think_interval; // 0x12d0 }; // Alignment: 14 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Seasonal_Summon_CNY_Balloon_Thinker : public CDOTA_Buff { public: - 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 + float speed; // 0x12c8 + int32_t min_distance_before_bounce; // 0x12cc + float drag; // 0x12d0 + float max_height; // 0x12d4 + float max_vertical_move_time; // 0x12d8 + float bounce_turn_angle; // 0x12dc + float bounce_turn_angle_tree; // 0x12e0 + float bounce_delay; // 0x12e4 + Vector m_vLastPos; // 0x12e8 + Vector m_vDir; // 0x12f4 + float m_flSpeed; // 0x1300 + float m_flDistRemaining; // 0x1304 + float m_flTreeTimeRemaining; // 0x1308 + CHandle< CBaseEntity > m_hLastHit; // 0x130c }; // Alignment: 14 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Seasonal_Summon_TI9_Balloon_Thinker : public CDOTA_Buff { public: - 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 + float speed; // 0x12c8 + int32_t min_distance_before_bounce; // 0x12cc + float drag; // 0x12d0 + float max_height; // 0x12d4 + float max_vertical_move_time; // 0x12d8 + float bounce_turn_angle; // 0x12dc + float bounce_turn_angle_tree; // 0x12e0 + float bounce_delay; // 0x12e4 + Vector m_vLastPos; // 0x12e8 + Vector m_vDir; // 0x12f4 + float m_flSpeed; // 0x1300 + float m_flDistRemaining; // 0x1304 + float m_flTreeTimeRemaining; // 0x1308 + CHandle< CBaseEntity > m_hLastHit; // 0x130c }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Seasonal_TI9_Drums_Thinker : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x10]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x10]; // 0x12c8 public: - int32_t m_nNextSoundIndex; // 0x12c8 + int32_t m_nNextSoundIndex; // 0x12d8 }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Seasonal_TI9_Shovel_Stasis_Trap : public CDOTA_Modifier_Seasonal_Summon_Common_Thinker { public: - CHandle< CBaseEntity > m_hHero; // 0x12c8 + CHandle< CBaseEntity > m_hHero; // 0x12d8 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Seasonal_TI9_Shovel_BabyRoshan : public CDOTA_Buff { public: - bool m_bFirstThink; // 0x12b8 + bool m_bFirstThink; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - GameTime_t m_flStartTime; // 0x12bc - Vector m_vecStartingPos; // 0x12c0 + GameTime_t m_flStartTime; // 0x12cc + Vector m_vecStartingPos; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Seasonal_TI9_Shovel_Ghost_Haunt : public CDOTA_Buff { public: - int32_t nDamageInstances; // 0x12b8 - GameTime_t m_flLastAttackTime; // 0x12bc - GameTime_t m_flLastMoveTime; // 0x12c0 - CHandle< CBaseEntity > m_hGhost; // 0x12c4 + int32_t nDamageInstances; // 0x12c8 + GameTime_t m_flLastAttackTime; // 0x12cc + GameTime_t m_flLastMoveTime; // 0x12d0 + CHandle< CBaseEntity > m_hGhost; // 0x12d4 }; // Alignment: 4 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Seasonal_TI9_Shovel_Pudgling : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x12b8 - int32_t m_nActionCount; // 0x12bc - Vector m_vecStartingPos; // 0x12c0 - Vector m_vecDestinationOffset; // 0x12cc + GameTime_t m_flStartTime; // 0x12c8 + int32_t m_nActionCount; // 0x12cc + Vector m_vecStartingPos; // 0x12d0 + Vector m_vecDestinationOffset; // 0x12dc }; // Alignment: 17 -// Size: 0x1340 +// Size: 0x1350 class CDOTA_Modifier_Seasonal_TI9_Monkey_Thinker : public CDOTA_Buff { public: - 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 __pad12e4[0x4]; // 0x12e4 -public: - bool m_bHappyMonkeyCondition; // 0x12e8 -private: - [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 -public: - CHandle< CDOTA_BaseNPC > m_hAngryTarget; // 0x12ec - CHandle< CDOTA_BaseNPC > m_hAttackTarget; // 0x12f0 + float attack_range; // 0x12c8 + float attack_time; // 0x12cc + float attack_projectile_time; // 0x12d0 + int32_t projectile_speed; // 0x12d4 + float turn_time; // 0x12d8 + float turn_angle; // 0x12dc + float shoot_angle; // 0x12e0 + float m_flTurnRate; // 0x12e4 + float m_flTargetYaw; // 0x12e8 + float m_flLastTurnTime; // 0x12ec + GameTick_t m_nLastTickCount; // 0x12f0 private: [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CountdownTimer m_AttackTimer; // 0x12f8 - CountdownTimer m_AttackProjectileTimer; // 0x1310 - CountdownTimer m_HappyTimer; // 0x1328 + bool m_bHappyMonkeyCondition; // 0x12f8 +private: + [[maybe_unused]] uint8_t __pad12f9[0x3]; // 0x12f9 +public: + CHandle< CDOTA_BaseNPC > m_hAngryTarget; // 0x12fc + CHandle< CDOTA_BaseNPC > m_hAttackTarget; // 0x1300 +private: + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 +public: + CountdownTimer m_AttackTimer; // 0x1308 + CountdownTimer m_AttackProjectileTimer; // 0x1320 + CountdownTimer m_HappyTimer; // 0x1338 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_TI9_MonkeyPoop : public CDOTA_Buff { public: @@ -86041,183 +86541,183 @@ public: }; // Alignment: 13 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Lesser_NightCrawler_Pounce : public CDOTA_Buff { public: - 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 + float m_flTotalTime; // 0x12c8 + float m_flInitialVelocity; // 0x12cc + Vector m_vStartPosition; // 0x12d0 + Vector m_vTargetHorizontalDirection; // 0x12dc + float m_flCurrentTimeHoriz; // 0x12e8 + float m_flCurrentTimeVert; // 0x12ec + bool m_bInterrupted; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - 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 + int32_t pounce_distance; // 0x12f4 + float pounce_speed; // 0x12f8 + float pounce_acceleration; // 0x12fc + int32_t pounce_radius; // 0x1300 + int32_t pounce_damage; // 0x1304 + float leash_duration; // 0x1308 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Zombie_Berserk : public CDOTA_Buff { public: - int32_t berserk_bonus_attack_speed; // 0x12b8 - int32_t berserk_bonus_movement_speed; // 0x12bc + int32_t berserk_bonus_attack_speed; // 0x12c8 + int32_t berserk_bonus_movement_speed; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Corpselord_Revive : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t ticks_to_revive; // 0x12cc + float tick_interval; // 0x12d0 + CHandle< CDOTA_BaseNPC > m_pReviveTarget; // 0x12d4 + int32_t m_nCurrentTicks; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Creature_IceSlam_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - ParticleIndex_t m_nPathEffectIndex; // 0x12bc + int32_t radius; // 0x12c8 + ParticleIndex_t m_nPathEffectIndex; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_GreaterClarity : public CDOTA_Buff { public: - int32_t total_mana; // 0x12b8 + int32_t total_mana; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_UpgradedMortar : public CDOTA_Buff { public: - int32_t bonus_per_upgrade; // 0x12b8 + int32_t bonus_per_upgrade; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_UpgradedBarricade : public CDOTA_Buff { public: - int32_t armor_bonus_per_upgrade; // 0x12b8 - int32_t hp_bonus_per_upgrade; // 0x12bc + int32_t armor_bonus_per_upgrade; // 0x12c8 + int32_t hp_bonus_per_upgrade; // 0x12cc }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Creature_HybridFlyer : public CDOTA_Buff { public: - CountdownTimer m_ctTimer; // 0x12b8 + CountdownTimer m_ctTimer; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Creature_Full_Avoidance : public CDOTA_Buff { public: - float m_flOriginalAvoidance; // 0x12b8 + float m_flOriginalAvoidance; // 0x12c8 }; // Alignment: 17 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_LootDrop_Thinker : public CDOTA_Buff { public: - 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 + bool m_bAutoPickup; // 0x12c8 + bool m_bOnlyPlayerHeroPickup; // 0x12c9 + bool m_bCreepHeroPickup; // 0x12ca + bool m_bAutoUse; // 0x12cb + bool m_bFlying; // 0x12cc + bool m_bUseSpawnAnim; // 0x12cd + bool m_bAutoTeleport; // 0x12ce private: - [[maybe_unused]] uint8_t __pad12bf[0x1]; // 0x12bf + [[maybe_unused]] uint8_t __pad12cf[0x1]; // 0x12cf public: - 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 + GameTime_t m_flKnockbackStartTime; // 0x12d0 + GameTime_t m_flKnockbackEndTime; // 0x12d4 + float m_flKnockbackHeight; // 0x12d8 + float m_flInitialHeight; // 0x12dc + float m_flKnockbackDuration; // 0x12e0 + float m_flEndHeight; // 0x12e4 + Vector m_vStartPos; // 0x12e8 + Vector m_vEndPos; // 0x12f4 + float m_fPickupRadius; // 0x1300 private: - [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 public: - CUtlString m_strTransitionEffect; // 0x12f8 + CUtlString m_strTransitionEffect; // 0x1308 }; // Alignment: 13 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_ItemWiggle_Thinker : public CDOTA_Buff { public: - 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 + Vector m_vOriginalPosition; // 0x12c8 + float m_flOriginalScale; // 0x12d4 + GameTime_t m_flLastChangeTime; // 0x12d8 + Vector m_vLastChangePosition; // 0x12dc + float m_flLastChangeScale; // 0x12e8 + Vector m_vTargetPosition; // 0x12ec + float m_flTargetScale; // 0x12f8 + bool m_bFirstThink; // 0x12fc private: - [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed + [[maybe_unused]] uint8_t __pad12fd[0x3]; // 0x12fd public: - float m_flStartAmplitude; // 0x12f0 - float m_flEndAmplitude; // 0x12f4 - float m_flScaleAmplitude; // 0x12f8 - float m_flStartFrequency; // 0x12fc - float m_flEndFrequency; // 0x1300 + float m_flStartAmplitude; // 0x1300 + float m_flEndAmplitude; // 0x1304 + float m_flScaleAmplitude; // 0x1308 + float m_flStartFrequency; // 0x130c + float m_flEndFrequency; // 0x1310 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_Summon_Snowman_Thinker : public CDOTA_Buff { public: - float tick_rate; // 0x12b8 - int32_t taunt_radius; // 0x12bc - float taunt_duration; // 0x12c0 + float tick_rate; // 0x12c8 + int32_t taunt_radius; // 0x12cc + float taunt_duration; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Snowman_Taunt : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hZombieTarget; // 0x12b8 - bool m_bDidSetAttackTarget; // 0x12bc + CHandle< CBaseEntity > m_hZombieTarget; // 0x12c8 + bool m_bDidSetAttackTarget; // 0x12cc }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Frostivus2018_Decorate_Tree_Thinker : public CDOTA_Buff { public: - int32_t num_explosions; // 0x12b8 - int32_t radius; // 0x12bc - float m_fExplosions; // 0x12c0 + int32_t num_explosions; // 0x12c8 + int32_t radius; // 0x12cc + float m_fExplosions; // 0x12d0 }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_FestiveFirework : public CDOTA_Buff { public: @@ -86225,51 +86725,51 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_FestiveFirework_Blind : public CDOTA_Buff { public: - int32_t miss_rate; // 0x12b8 + int32_t miss_rate; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_Siege_Fireball_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float duration; // 0x12bc - float tick_interval; // 0x12c0 - ParticleIndex_t m_nFXIndex; // 0x12c4 + int32_t radius; // 0x12c8 + float duration; // 0x12cc + float tick_interval; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Siege_Fireball_Burn : public CDOTA_Buff { public: - int32_t damage_per_tick; // 0x12b8 - float tick_interval; // 0x12bc + int32_t damage_per_tick; // 0x12c8 + float tick_interval; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeLock : public CDOTA_Buff { public: - float duration; // 0x12b8 - float duration_creep; // 0x12bc - int32_t chance_pct; // 0x12c0 - int32_t bonus_damage; // 0x12c4 - int32_t radius; // 0x12c8 + float duration; // 0x12c8 + float duration_creep; // 0x12cc + int32_t chance_pct; // 0x12d0 + int32_t bonus_damage; // 0x12d4 + int32_t radius; // 0x12d8 }; // Alignment: 1 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker : public CDOTA_Buff { public: - CUtlVector< CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker::sDamageSources > m_vDamageSources; // 0x12b8 + CUtlVector< CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker::sDamageSources > m_vDamageSources; // 0x12c8 }; // Alignment: 6 @@ -86288,268 +86788,268 @@ public: }; // Alignment: 15 -// Size: 0x1318 +// Size: 0x1328 class CDOTA_Modifier_Frostivus2018_Luna_Eclipse : public CDOTA_Buff { public: - 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 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + int32_t radius; // 0x12cc + int32_t beams; // 0x12d0 + int32_t hit_count; // 0x12d4 + int32_t m_iBeamDamage; // 0x12d8 + float m_flBeamStun; // 0x12dc + Vector vPosition; // 0x12e0 + int32_t lucent_beam_radius; // 0x12ec + bool bAreaTarget; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - int32_t m_iTickCount; // 0x12e4 - ParticleIndex_t m_nMoonlightFXIndex; // 0x12e8 + int32_t m_iTickCount; // 0x12f4 + ParticleIndex_t m_nMoonlightFXIndex; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec + [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc public: - CUtlVector< CHandle< CBaseEntity > > m_HitTargets; // 0x12f0 - float beam_interval; // 0x1308 - float beam_interval_scepter; // 0x130c - float m_flInterval; // 0x1310 + CUtlVector< CHandle< CBaseEntity > > m_HitTargets; // 0x1300 + float beam_interval; // 0x1318 + float beam_interval_scepter; // 0x131c + float m_flInterval; // 0x1320 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_Clinkz_Strafe : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x12b8 - int32_t attack_spill_width; // 0x12bc - int32_t attack_spill_range; // 0x12c0 - float spill_damage_multiplier; // 0x12c4 + int32_t attack_speed_bonus_pct; // 0x12c8 + int32_t attack_spill_width; // 0x12cc + int32_t attack_spill_range; // 0x12d0 + float spill_damage_multiplier; // 0x12d4 }; // Alignment: 6 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Frostivus2018_Clinkz_SearingArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12b8 - bool m_bBonusAttack; // 0x12d0 -private: - [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 -public: - 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: 0x12f8 -class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk : public CDOTA_Modifier_Invisible -{ -public: - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x12c8 - bool m_bFreePathing; // 0x12e0 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c8 + bool m_bBonusAttack; // 0x12e0 private: [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - 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 + int32_t damage_bonus; // 0x12e4 + int32_t attack_spill_width; // 0x12e8 + int32_t attack_spill_range; // 0x12ec + float spill_damage_multiplier; // 0x12f0 +}; + +// Alignment: 7 +// Size: 0x1308 +class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk : public CDOTA_Modifier_Invisible +{ +public: + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x12d8 + bool m_bFreePathing; // 0x12f0 +private: + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 +public: + int32_t move_speed_bonus_pct; // 0x12f4 + int32_t radius; // 0x12f8 + int32_t attack_steal_amount; // 0x12fc + float attack_steal_duration; // 0x1300 + int32_t max_stacks; // 0x1304 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk_BonusDamage : public CDOTA_Buff { public: - int32_t bonus_base_dmg_per_stack; // 0x12b8 + int32_t bonus_base_dmg_per_stack; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk_AttackDebuff : public CDOTA_Buff { public: - int32_t attack_steal_amount; // 0x12b8 + int32_t attack_steal_amount; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_Clinkz_Burning_Army_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x12b8 - Vector m_vFacePosition; // 0x12bc + int32_t m_iCount; // 0x12c8 + Vector m_vFacePosition; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Clinkz_Burning_Army : public CDOTA_Buff { public: - float attack_rate; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + float attack_rate; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 11 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Frostivus2018_BroodBaby_Launch : public CDOTA_Buff { public: - 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 + Vector m_vLoc; // 0x12c8 + float m_flPredictedTotalTime; // 0x12d4 + Vector m_vStartPosition; // 0x12d8 + float m_flCurrentTimeHoriz; // 0x12e4 + float m_flCurrentTimeVert; // 0x12e8 + bool m_bHorizontalMotionInterrupted; // 0x12ec + bool m_bDamageApplied; // 0x12ed + bool m_bTargetTeleported; // 0x12ee private: - [[maybe_unused]] uint8_t __pad12df[0x1]; // 0x12df + [[maybe_unused]] uint8_t __pad12ef[0x1]; // 0x12ef public: - Vector m_vHorizontalVelocity; // 0x12e0 - Vector m_vLastKnownTargetPosition; // 0x12ec - float m_flInitialVelocityZ; // 0x12f8 + Vector m_vHorizontalVelocity; // 0x12f0 + Vector m_vLastKnownTargetPosition; // 0x12fc + float m_flInitialVelocityZ; // 0x1308 }; // Alignment: 4 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Tusk_SnowballMeteor_Land : public CDOTA_Buff { public: - Vector m_vDir; // 0x12b8 - int32_t travel_speed; // 0x12c4 - int32_t travel_distance; // 0x12c8 - int32_t vision_distance; // 0x12cc + Vector m_vDir; // 0x12c8 + int32_t travel_speed; // 0x12d4 + int32_t travel_distance; // 0x12d8 + int32_t vision_distance; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tusk_SnowballMeteor_Burn : public CDOTA_Buff { public: - float m_flDamagePerSecond; // 0x12b8 + float m_flDamagePerSecond; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Tusk_WalrusKick_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x12b8 + int32_t move_slow; // 0x12c8 }; // Alignment: 9 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Frostivus2018_Tusk_WalrusKick_AirTime : public CDOTA_Buff { public: - 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 + int32_t hp_threshold; // 0x12c8 + float m_flStartZ; // 0x12cc + float m_flCurTime; // 0x12d0 + float m_flOldPitch; // 0x12d4 + QAngle m_qRotation; // 0x12d8 + int32_t m_nRotations; // 0x12e4 + Vector m_vDirection; // 0x12e8 + float m_flEndTime; // 0x12f4 + int32_t push_length; // 0x12f8 }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Frostivus2018_DarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: - 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 + GameTime_t m_flStartTime; // 0x12c8 + float damage; // 0x12cc + float max_damage_duration; // 0x12d0 + float slow_radius; // 0x12d4 + float burn_duration; // 0x12d8 + float burn_damage; // 0x12dc + float slow_attack_speed_pct; // 0x12e0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_DarkWillow_ShadowRealm_Burn_Slow : public CDOTA_Buff { public: - float burn_damage; // 0x12b8 - int32_t move_slow; // 0x12bc - float m_flDamageScale; // 0x12c0 + float burn_damage; // 0x12c8 + int32_t move_slow; // 0x12cc + float m_flDamageScale; // 0x12d0 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Frostivus2018_DarkWillow_BrambleMaze_Creation_Thinker : public CDOTA_Buff { public: - float latch_creation_interval; // 0x12b8 - float initial_creation_delay; // 0x12bc - int32_t placement_count; // 0x12c0 - float placement_duration; // 0x12c4 - int32_t m_iBramblesIndex; // 0x12c8 + float latch_creation_interval; // 0x12c8 + float initial_creation_delay; // 0x12cc + int32_t placement_count; // 0x12d0 + float placement_duration; // 0x12d4 + int32_t m_iBramblesIndex; // 0x12d8 }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Frostivus2018_DarkWillow_BrambleMaze_Thinker : public CDOTA_Buff { public: - int32_t latch_count; // 0x12b8 - int32_t latch_range; // 0x12bc - int32_t latch_vision; // 0x12c0 - float latch_creation_delay; // 0x12c4 - float latch_duration; // 0x12c8 + int32_t latch_count; // 0x12c8 + int32_t latch_range; // 0x12cc + int32_t latch_vision; // 0x12d0 + float latch_creation_delay; // 0x12d4 + float latch_duration; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x8]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x8]; // 0x12dc public: - bool m_bActive; // 0x12d4 + bool m_bActive; // 0x12e4 private: - [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 + [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 public: - int32_t m_nLatchedEnemies; // 0x12d8 + int32_t m_nLatchedEnemies; // 0x12e8 }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Frostivus2018_DarkWillow_Bedlam : public CDOTA_Buff { public: - 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 + float m_flRotation; // 0x12c8 + CHandle< CBaseEntity > m_hWisp; // 0x12cc + GameTime_t m_flLastAttack; // 0x12d0 + int32_t roaming_radius; // 0x12d4 + int32_t attack_radius; // 0x12d8 + float roaming_seconds_per_rotation; // 0x12dc + float attack_interval; // 0x12e0 + int32_t attack_targets; // 0x12e4 }; // Alignment: 10 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Frostivus2018_Puck_DreamCoil_Thinker : public CDOTA_Buff { public: - 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 + CUtlVector< CHandle< CBaseEntity > > m_hLinkedEntities; // 0x12c8 + int32_t coil_radius; // 0x12e0 + int32_t coil_break_radius; // 0x12e4 + float coil_stun_duration; // 0x12e8 + float coil_stun_duration_scepter; // 0x12ec + float coil_slow; // 0x12f0 + int32_t coil_break_damage; // 0x12f4 + int32_t coil_break_damage_scepter; // 0x12f8 + bool m_bHasScepter; // 0x12fc private: - [[maybe_unused]] uint8_t __pad12ed[0x3]; // 0x12ed + [[maybe_unused]] uint8_t __pad12fd[0x3]; // 0x12fd public: - CUtlVector< ParticleIndex_t > m_FXIndex; // 0x12f0 + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x1300 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_Puck_Coiled : public CDOTA_Buff { public: @@ -86557,91 +87057,91 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Spectre_ActiveDispersion : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x12b8 + int32_t damage_reflection_pct; // 0x12c8 }; // Alignment: 10 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Frostivus2018_Spectre_ActiveDispersion_Thinker : public CDOTA_Buff { public: - float m_fDamage; // 0x12b8 - float m_fLastRadius; // 0x12bc - float m_fCurRadius; // 0x12c0 - GameTime_t m_fLastThink; // 0x12c4 - bool m_bContracting; // 0x12c8 + float m_fDamage; // 0x12c8 + float m_fLastRadius; // 0x12cc + float m_fCurRadius; // 0x12d0 + GameTime_t m_fLastThink; // 0x12d4 + bool m_bContracting; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x7]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x7]; // 0x12d9 public: - CountdownTimer m_ViewerTimer; // 0x12d0 - ParticleIndex_t m_nFXIndex; // 0x12e8 + CountdownTimer m_ViewerTimer; // 0x12e0 + ParticleIndex_t m_nFXIndex; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec + [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc public: - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12f0 - int32_t speed; // 0x1308 - int32_t radius; // 0x130c + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x1300 + int32_t speed; // 0x1318 + int32_t radius; // 0x131c }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x12b8 + int32_t slow_movement_speed; // 0x12c8 }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t damage_reduction; // 0x12bc - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x12c0 + int32_t radius; // 0x12c8 + int32_t damage_reduction; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede_Bonus_Armor : public CDOTA_Buff { public: - int32_t bonus_base_armor_per_stack; // 0x12b8 + int32_t bonus_base_armor_per_stack; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Centaur_Return_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x12b8 + int32_t aura_radius; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_Centaur_Return : public CDOTA_Buff { public: - int32_t return_damage; // 0x12b8 - float strength_gain_duration; // 0x12bc - int32_t max_stacks; // 0x12c0 - int32_t ally_factor; // 0x12c4 + int32_t return_damage; // 0x12c8 + float strength_gain_duration; // 0x12cc + int32_t max_stacks; // 0x12d0 + int32_t ally_factor; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Centaur_Return_Bonus_Strength : public CDOTA_Buff { public: - int32_t strength_gain; // 0x12b8 + int32_t strength_gain; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Frostivus2018_Huskar_Inner_Fire_Disarm : public CDOTA_Buff { public: @@ -86649,30 +87149,30 @@ public: }; // Alignment: 3 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Self : public CDOTA_Buff { public: - int32_t health_cost; // 0x12b8 - int32_t spear_aoe; // 0x12bc - CUtlVector< int16 > m_InFlightAttackRecords; // 0x12c0 + int32_t health_cost; // 0x12c8 + int32_t spear_aoe; // 0x12cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Counter : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Debuff : public CDOTA_Buff { public: - int32_t burn_damage; // 0x12b8 - float tick_rate; // 0x12bc + int32_t burn_damage; // 0x12c8 + float tick_rate; // 0x12cc }; // Alignment: 4 @@ -86692,316 +87192,316 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Omniknight_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x12b8 - int32_t bonus_health_regen; // 0x12bc + int32_t speed_bonus; // 0x12c8 + int32_t bonus_health_regen; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Omniknight_Repel : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 + int32_t damage_reduction; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Frostivus2018_Magnataur_Skewer_Bonus_Strength : public CDOTA_Buff { public: - int32_t strength_gain; // 0x12b8 + int32_t strength_gain; // 0x12c8 }; // Alignment: 10 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Frostivus2018_Pangolier_ShieldCrash_Jump : public CDOTA_Buff { public: - 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 + float jump_duration; // 0x12c8 + float jump_duration_gyroshell; // 0x12cc + int32_t jump_height; // 0x12d0 + int32_t jump_height_gyroshell; // 0x12d4 + float m_flStartZ; // 0x12d8 + float m_flCurTime; // 0x12dc + float m_flJumpDuration; // 0x12e0 + float m_flJumpHeight; // 0x12e4 + int32_t jump_horizontal_distance; // 0x12e8 + Vector m_vTargetHorizontalDirection; // 0x12ec }; // Alignment: 11 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Frostivus2018_TrollWarlord_BattleTrance : public CDOTA_Buff { public: - 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 + int32_t movement_speed; // 0x12c8 + int32_t attack_speed; // 0x12cc + int32_t lifesteal; // 0x12d0 + int32_t bonus_damage_pct; // 0x12d4 + float cleave_damage_pct; // 0x12d8 + int32_t cleave_starting_width; // 0x12dc + int32_t cleave_ending_width; // 0x12e0 + int32_t cleave_distance; // 0x12e4 + float splash_damage_pct; // 0x12e8 + int32_t splash_radius; // 0x12ec + CHandle< CBaseEntity > m_hTarget; // 0x12f0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_TrollWarlord_Fervor : public CDOTA_Buff { public: - int32_t attack_speed; // 0x12b8 - int32_t max_stacks; // 0x12bc - CHandle< CBaseEntity > m_hUnit; // 0x12c0 + int32_t attack_speed; // 0x12c8 + int32_t max_stacks; // 0x12cc + CHandle< CBaseEntity > m_hUnit; // 0x12d0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Frostivus2018_Earthshaker_Aftershock : public CDOTA_Buff { public: - int32_t aftershock_range; // 0x12b8 - float stun_duration; // 0x12bc - int32_t ability_damage; // 0x12c0 + int32_t aftershock_range; // 0x12c8 + float stun_duration; // 0x12cc + int32_t ability_damage; // 0x12d0 }; // Alignment: 4 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Frostivus2018_Weaver_GeminateAttack : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - int32_t m_iAttacksRemaining; // 0x12bc + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + int32_t m_iAttacksRemaining; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12c0[0x38]; // 0x12c0 + [[maybe_unused]] uint8_t __pad12d0[0x38]; // 0x12d0 public: - int32_t arrow_count; // 0x12f8 - int32_t bonus_range; // 0x12fc + int32_t arrow_count; // 0x1308 + int32_t bonus_range; // 0x130c }; // Alignment: 8 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_AghsFort_Tower_BlastWave_Thinker : public CDOTA_Buff { public: - float damage_pct; // 0x12b8 - float m_fCurRadius; // 0x12bc - GameTime_t m_fLastThink; // 0x12c0 + float damage_pct; // 0x12c8 + float m_fCurRadius; // 0x12cc + GameTime_t m_fLastThink; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12c4[0x4]; // 0x12c4 + [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 public: - CountdownTimer m_ViewerTimer; // 0x12c8 - ParticleIndex_t m_nFXIndex; // 0x12e0 -private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 -public: - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12e8 - int32_t speed; // 0x1300 - int32_t radius; // 0x1304 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Aura : public CDOTA_Buff -{ -public: - int32_t radius; // 0x12b8 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Debuff : public CDOTA_Buff -{ -public: - int32_t corpse_explosion_radius; // 0x12b8 - int32_t corpse_explosion_damage_pct; // 0x12bc - int32_t corpse_explosion_chance_pct; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Reward_HPAura : public CDOTA_Buff -{ -public: - int32_t radius; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Reward_HPAura_Bonus : public CDOTA_Buff -{ -public: - float bonus_hp; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Reward_CritAura : public CDOTA_Buff -{ -public: - int32_t radius; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Reward_CritAura_Bonus : public CDOTA_Buff -{ -public: - int32_t crit_chance; // 0x12b8 - int32_t crit_multiplier; // 0x12bc -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Reward_MagicResistAura : public CDOTA_Buff -{ -public: - int32_t radius; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Reward_MagicResistAura_Bonus : public CDOTA_Buff -{ -public: - int32_t bonus_magical_armor; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Reward_ArmorAura : public CDOTA_Buff -{ -public: - int32_t radius; // 0x12b8 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Aghsfort_Reward_ArmorAura_Bonus : public CDOTA_Buff -{ -public: - int32_t bonus_armor; // 0x12b8 -}; - -// Alignment: 15 -// Size: 0x1320 -class CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Thinker : public CDOTA_Buff -{ -public: - float m_fLastRadius; // 0x12b8 - float m_fCurRadius; // 0x12bc - GameTime_t m_fLastThink; // 0x12c0 - bool m_bWindingUp; // 0x12c4 -private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 -public: - CountdownTimer m_ViewerTimer; // 0x12c8 - ParticleIndex_t m_nFXIndex; // 0x12e0 -private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 -public: - 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: 0x12c0 -class CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Slow : public CDOTA_Buff -{ -public: - int32_t slow_amount; // 0x12b8 -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_Ascension_Bulwark : public CDOTA_Buff -{ -public: - float physical_damage_reduction; // 0x12b8 - float physical_damage_reduction_side; // 0x12bc - float forward_angle; // 0x12c0 - float side_angle; // 0x12c4 -}; - -// Alignment: 3 -// Size: 0x12c8 -class CDOTA_Modifier_Ascension_AcidBlood_Thinker : public CDOTA_Buff -{ -public: - int32_t damage; // 0x12b8 - int32_t radius; // 0x12bc - ParticleIndex_t m_nFXIndex; // 0x12c0 -}; - -// Alignment: 1 -// Size: 0x12c0 -class CDOTA_Modifier_Ascension_AcidBlood : public CDOTA_Buff -{ -public: - int32_t armor_reduction; // 0x12b8 -}; - -// Alignment: 14 -// Size: 0x1310 -class CDOTA_Modifier_AghsFort_Firefly : public CDOTA_Buff -{ -public: - 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 __pad12d9[0x3]; // 0x12d9 -public: - ParticleIndex_t m_nFXIndex; // 0x12dc - ParticleIndex_t m_nFXIndexB; // 0x12e0 - GameTime_t m_flStartTime; // 0x12e4 - Vector m_vLastFirePoolLoc; // 0x12e8 + CountdownTimer m_ViewerTimer; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12f0 private: [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CUtlVector< Vector > m_vFirePoolLocations; // 0x12f8 + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12f8 + int32_t speed; // 0x1310 + int32_t radius; // 0x1314 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Aura : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Debuff : public CDOTA_Buff +{ +public: + int32_t corpse_explosion_radius; // 0x12c8 + int32_t corpse_explosion_damage_pct; // 0x12cc + int32_t corpse_explosion_chance_pct; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Reward_HPAura : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Reward_HPAura_Bonus : public CDOTA_Buff +{ +public: + float bonus_hp; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Reward_CritAura : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Reward_CritAura_Bonus : public CDOTA_Buff +{ +public: + int32_t crit_chance; // 0x12c8 + int32_t crit_multiplier; // 0x12cc +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Reward_MagicResistAura : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Reward_MagicResistAura_Bonus : public CDOTA_Buff +{ +public: + int32_t bonus_magical_armor; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Reward_ArmorAura : public CDOTA_Buff +{ +public: + int32_t radius; // 0x12c8 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Aghsfort_Reward_ArmorAura_Bonus : public CDOTA_Buff +{ +public: + int32_t bonus_armor; // 0x12c8 +}; + +// Alignment: 15 +// Size: 0x1330 +class CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Thinker : public CDOTA_Buff +{ +public: + float m_fLastRadius; // 0x12c8 + float m_fCurRadius; // 0x12cc + GameTime_t m_fLastThink; // 0x12d0 + bool m_bWindingUp; // 0x12d4 +private: + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 +public: + CountdownTimer m_ViewerTimer; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12f0 +private: + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 +public: + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12f8 + int32_t speed; // 0x1310 + int32_t radius; // 0x1314 + int32_t damage_min; // 0x1318 + int32_t damage_max; // 0x131c + int32_t slow_min; // 0x1320 + int32_t slow_max; // 0x1324 + float slow_duration; // 0x1328 + float windup_time; // 0x132c +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Slow : public CDOTA_Buff +{ +public: + int32_t slow_amount; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 +class CDOTA_Modifier_Ascension_Bulwark : public CDOTA_Buff +{ +public: + float physical_damage_reduction; // 0x12c8 + float physical_damage_reduction_side; // 0x12cc + float forward_angle; // 0x12d0 + float side_angle; // 0x12d4 +}; + +// Alignment: 3 +// Size: 0x12d8 +class CDOTA_Modifier_Ascension_AcidBlood_Thinker : public CDOTA_Buff +{ +public: + int32_t damage; // 0x12c8 + int32_t radius; // 0x12cc + ParticleIndex_t m_nFXIndex; // 0x12d0 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_Ascension_AcidBlood : public CDOTA_Buff +{ +public: + int32_t armor_reduction; // 0x12c8 +}; + +// Alignment: 14 +// Size: 0x1320 +class CDOTA_Modifier_AghsFort_Firefly : public CDOTA_Buff +{ +public: + float pool_duration; // 0x12c8 + int32_t radius; // 0x12cc + int32_t m_ifirefly_Active; // 0x12d0 + int32_t tree_radius; // 0x12d4 + int32_t damage_pct_per_second; // 0x12d8 + int32_t movement_speed; // 0x12dc + float trail_placement_duration; // 0x12e0 + float burn_linger_duration; // 0x12e4 + bool m_bActive; // 0x12e8 +private: + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 +public: + ParticleIndex_t m_nFXIndex; // 0x12ec + ParticleIndex_t m_nFXIndexB; // 0x12f0 + GameTime_t m_flStartTime; // 0x12f4 + Vector m_vLastFirePoolLoc; // 0x12f8 +private: + [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 +public: + CUtlVector< Vector > m_vFirePoolLocations; // 0x1308 +}; + +// Alignment: 4 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Firefly_Burn : public CDOTA_Buff { public: - int32_t damage_pct_per_second; // 0x12b8 - int32_t movement_speed; // 0x12bc - float tick_interval; // 0x12c0 - GameTime_t m_fNextDamageTick; // 0x12c4 + int32_t damage_pct_per_second; // 0x12c8 + int32_t movement_speed; // 0x12cc + float tick_interval; // 0x12d0 + GameTime_t m_fNextDamageTick; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ascension_Silence_Charge : public CDOTA_Buff { public: @@ -87009,7 +87509,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ascension_Silence : public CDOTA_Buff { public: @@ -87017,7 +87517,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ascension_Silence_Display : public CDOTA_Buff { public: @@ -87025,26 +87525,26 @@ public: }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Ascension_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad12b8[0x8]; // 0x12b8 + [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 public: - int32_t radius; // 0x12c0 + int32_t radius; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Ascension_MagneticField_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance; // 0x12b8 - int32_t radius; // 0x12bc + int32_t evasion_chance; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Ascension_Invis_Warning : public CDOTA_Buff { public: @@ -87052,7 +87552,7 @@ public: }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Ascension_Invis : public CDOTA_Modifier_PersistentInvisibility { public: @@ -87060,17 +87560,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Ascension_Meteoric_Land : public CDOTA_Buff { public: - int32_t impact_radius; // 0x12b8 - float land_time; // 0x12bc - float burn_duration; // 0x12c0 + int32_t impact_radius; // 0x12c8 + float land_time; // 0x12cc + float burn_duration; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Morty_Hop_Controller : public CDOTA_Buff { public: @@ -87078,109 +87578,109 @@ public: }; // Alignment: 11 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Morty_Hop : public CDOTA_Buff { public: - 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 + Vector m_vStartPosition; // 0x12c8 + Vector m_vTargetPosition; // 0x12d4 + float m_flCurrentTimeHoriz; // 0x12e0 + float m_flCurrentTimeVert; // 0x12e4 + float m_flZCoefficientA; // 0x12e8 + float m_flZCoefficientB; // 0x12ec + bool m_bInterrupted; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - float duration; // 0x12e4 - int32_t height; // 0x12e8 - int32_t damage; // 0x12ec - int32_t damage_radius; // 0x12f0 + float duration; // 0x12f4 + int32_t height; // 0x12f8 + int32_t damage; // 0x12fc + int32_t damage_radius; // 0x1300 }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_ExplosiveBarrel : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nPreviewFX; // 0x12c8 + int32_t radius; // 0x12cc + int32_t damage; // 0x12d0 + int32_t vision_radius; // 0x12d4 + float vision_duration; // 0x12d8 + int32_t model_scale; // 0x12dc + bool bExploding; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d1[0x3]; // 0x12d1 + [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 public: - float stun_duration; // 0x12d4 + float stun_duration; // 0x12e4 +}; + +// Alignment: 10 +// Size: 0x1308 +class CDOTA_Modifier_AghsFort_PlayerTransform : public CDOTA_Buff +{ +public: + itemid_t m_nCourierItemId; // 0x12c8 + CUtlString m_ModelNameOfDisguise; // 0x12d0 +private: + [[maybe_unused]] uint8_t __pad12d8[0x8]; // 0x12d8 +public: + int32_t m_nMoveSpeed; // 0x12e0 + int32_t m_nDisguisedSpeed; // 0x12e4 + ParticleIndex_t m_nDisguiseEffectIndex; // 0x12e8 + CHandle< CBaseEntity > m_hCourier; // 0x12ec + bool m_bIsFlyingCourier; // 0x12f0 +private: + [[maybe_unused]] uint8_t __pad12f1[0x7]; // 0x12f1 +public: + char* s_pszDonkeyDisguise; // 0x12f8 + float invul_duration; // 0x1300 + bool m_bParticlesSpawned; // 0x1304 +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_AghsFort_Ravage_Potion : public CDOTA_Buff +{ +public: + int32_t damage; // 0x12c8 + float m_flStartZ; // 0x12cc + float m_flCurTime; // 0x12d0 + bool m_bDamageApplied; // 0x12d4 }; // Alignment: 10 // Size: 0x12f8 -class CDOTA_Modifier_AghsFort_PlayerTransform : public CDOTA_Buff -{ -public: - itemid_t m_nCourierItemId; // 0x12b8 - CUtlString m_ModelNameOfDisguise; // 0x12c0 -private: - [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 -public: - 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 __pad12e1[0x7]; // 0x12e1 -public: - char* s_pszDonkeyDisguise; // 0x12e8 - float invul_duration; // 0x12f0 - bool m_bParticlesSpawned; // 0x12f4 -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_AghsFort_Ravage_Potion : public CDOTA_Buff -{ -public: - int32_t damage; // 0x12b8 - float m_flStartZ; // 0x12bc - float m_flCurTime; // 0x12c0 - bool m_bDamageApplied; // 0x12c4 -}; - -// Alignment: 10 -// Size: 0x12e8 class CDOTA_Modifier_AghsFort_DragonPotion : public CDOTA_Buff_Item { public: - int32_t m_iOriginalAttackCapabilities; // 0x12b8 + int32_t m_iOriginalAttackCapabilities; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - 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 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x12d0 + int32_t bonus_movement_speed; // 0x12d8 + int32_t bonus_attack_damage; // 0x12dc + int32_t bonus_attack_range; // 0x12e0 + int32_t attack_projectile_speed; // 0x12e4 + int32_t magic_resistance; // 0x12e8 + int32_t model_scale; // 0x12ec + int32_t skin_number; // 0x12f0 + bool flying_movement; // 0x12f4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Arcanist_Potion : public CDOTA_Buff { public: - int32_t m_nCooldownReductionPct; // 0x12b8 - int32_t m_nManaCostReductionPct; // 0x12bc + int32_t m_nCooldownReductionPct; // 0x12c8 + int32_t m_nManaCostReductionPct; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_EchoSlamPotion_Debuff : public CDOTA_Buff { public: @@ -87188,7 +87688,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Potion_SpendCharge : public CDOTA_Buff_Item { public: @@ -87196,78 +87696,78 @@ public: }; // Alignment: 7 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Thinker : public CDOTA_Buff_Item { public: - 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 + float m_fProcChance; // 0x12c8 + int32_t m_nRadius; // 0x12cc + int32_t m_nMovespeedBonus; // 0x12d0 + float m_fStunDuration; // 0x12d4 + float m_fSlowDuration; // 0x12d8 + float m_fDelay; // 0x12dc + int32_t m_nTorrentDamage; // 0x12e0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Torrent : public CDOTA_Buff_Item { public: - int32_t m_nTorrentDamage; // 0x12b8 - float m_flStartZ; // 0x12bc - float m_flCurTime; // 0x12c0 + int32_t m_nTorrentDamage; // 0x12c8 + float m_flStartZ; // 0x12cc + float m_flCurTime; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Torrent_Slow : public CDOTA_Buff { public: - int32_t m_nMovespeedBonus; // 0x12b8 + int32_t m_nMovespeedBonus; // 0x12c8 }; // Alignment: 9 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_AghsFort_ShadowWaveEffectPotion : public CDOTA_Buff_Item { public: - 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 + int32_t m_iCurJumpCount; // 0x12c8 + Vector m_vCurTargetLoc; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12d8 + float m_fProcChance; // 0x12f0 + int32_t m_nCastRange; // 0x12f4 + int32_t m_nBounceRadius; // 0x12f8 + int32_t m_nDamageRadius; // 0x12fc + int32_t m_nDamage; // 0x1300 + int32_t m_nMaxTargets; // 0x1304 }; // Alignment: 16 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_Minor_Stats_Upgrade : public CDOTA_Buff { public: - 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 + int32_t bonus_all_stats; // 0x12c8 + int32_t bonus_primary_stat; // 0x12cc + int32_t bonus_movespeed; // 0x12d0 + int32_t bonus_hp_regen; // 0x12d4 + int32_t bonus_armor; // 0x12d8 + int32_t bonus_attack_damage; // 0x12dc + int32_t bonus_cast_range; // 0x12e0 + int32_t bonus_spell_amp; // 0x12e4 + int32_t bonus_health; // 0x12e8 + int32_t bonus_mana; // 0x12ec + int32_t bonus_attack_speed; // 0x12f0 + int32_t bonus_heal_amp; // 0x12f4 + int32_t bonus_mana_regen; // 0x12f8 + int32_t bonus_evasion; // 0x12fc + int32_t bonus_magic_resist; // 0x1300 + int32_t bonus_lifesteal; // 0x1304 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_AggroOverride : public CDOTA_Buff { public: @@ -87275,71 +87775,71 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_SwampSickness : public CDOTA_Buff { public: - int32_t slow_percent; // 0x12b8 - bool m_bInRiver; // 0x12bc + int32_t slow_percent; // 0x12c8 + bool m_bInRiver; // 0x12cc }; // Alignment: 8 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_RestorativeFlower : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t heal; // 0x12cc + int32_t vision_radius; // 0x12d0 + float vision_duration; // 0x12d4 + int32_t model_scale; // 0x12d8 + bool bExploding; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd public: - float stun_duration; // 0x12d0 - ParticleIndex_t m_nFXAmbient; // 0x12d4 + float stun_duration; // 0x12e0 + ParticleIndex_t m_nFXAmbient; // 0x12e4 }; // Alignment: 7 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_StonehallGeneral_OverwhelmingOdds_Thinker : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t max_steps; // 0x12cc + float damage_interval; // 0x12d0 + int32_t m_nNumSteps; // 0x12d4 + int32_t m_nRadiusStep; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12dc + Vector m_vDir; // 0x12e0 }; // Alignment: 10 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Boss_DarkWillow_Bedlam : public CDOTA_Buff { public: - float m_flRotation; // 0x12b8 - CHandle< CBaseEntity > m_hWisp; // 0x12bc - GameTime_t m_flLastAttack; // 0x12c0 - bool reversed; // 0x12c4 + float m_flRotation; // 0x12c8 + CHandle< CBaseEntity > m_hWisp; // 0x12cc + GameTime_t m_flLastAttack; // 0x12d0 + bool reversed; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - int32_t roaming_radius; // 0x12c8 - int32_t attack_radius; // 0x12cc - float roaming_seconds_per_rotation; // 0x12d0 - float attack_interval; // 0x12d4 - bool m_bSetupWarning; // 0x12d8 + int32_t roaming_radius; // 0x12d8 + int32_t attack_radius; // 0x12dc + float roaming_seconds_per_rotation; // 0x12e0 + float attack_interval; // 0x12e4 + bool m_bSetupWarning; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - ParticleIndex_t m_nPreviewFX; // 0x12dc + ParticleIndex_t m_nPreviewFX; // 0x12ec }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Enrage : public CDOTA_Buff { public: @@ -87347,38 +87847,38 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Spectre_ActiveDispersion : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x12b8 + int32_t damage_reflection_pct; // 0x12c8 }; // Alignment: 10 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_AghsFort_Spectre_ActiveDispersion_Thinker : public CDOTA_Buff { public: - float m_fDamage; // 0x12b8 - float m_fLastRadius; // 0x12bc - float m_fCurRadius; // 0x12c0 - GameTime_t m_fLastThink; // 0x12c4 - bool m_bContracting; // 0x12c8 + float m_fDamage; // 0x12c8 + float m_fLastRadius; // 0x12cc + float m_fCurRadius; // 0x12d0 + GameTime_t m_fLastThink; // 0x12d4 + bool m_bContracting; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x7]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x7]; // 0x12d9 public: - CountdownTimer m_ViewerTimer; // 0x12d0 - ParticleIndex_t m_nFXIndex; // 0x12e8 + CountdownTimer m_ViewerTimer; // 0x12e0 + ParticleIndex_t m_nFXIndex; // 0x12f8 private: - [[maybe_unused]] uint8_t __pad12ec[0x4]; // 0x12ec + [[maybe_unused]] uint8_t __pad12fc[0x4]; // 0x12fc public: - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12f0 - int32_t speed; // 0x1308 - int32_t radius; // 0x130c + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x1300 + int32_t speed; // 0x1318 + int32_t radius; // 0x131c }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_RockGolem_Avalanche_Stun : public CDOTA_Modifier_Stunned { public: @@ -87386,75 +87886,75 @@ public: }; // Alignment: 7 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_AghsFort_RockGolem_Avalanche : public CDOTA_Buff { public: - 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 + CUtlVector< CDOTA_BaseNPC* > m_pHeroesHit; // 0x12c8 + int32_t radius; // 0x12e0 + float total_duration; // 0x12e4 + float stun_duration; // 0x12e8 + int32_t tick_count; // 0x12ec + int32_t m_damage; // 0x12f0 + int32_t m_nTicks; // 0x12f4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Creature_Phoenix_FireSpiritCount : public CDOTA_Buff { public: - int32_t spirit_count; // 0x12b8 - ParticleIndex_t m_nFXIndex; // 0x12bc + int32_t spirit_count; // 0x12c8 + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_AghsFort_Creature_Phoenix_Sun : public CDOTA_Buff { public: - 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 + int32_t aura_radius; // 0x12c8 + float stun_duration; // 0x12cc + int32_t max_hero_attacks; // 0x12d0 + int32_t max_hero_attacks_scepter; // 0x12d4 + int32_t max_hero_attacks_required; // 0x12d8 + float caster_life_pct; // 0x12dc + CHandle< CBaseEntity > m_hSecondaryTarget; // 0x12e0 + int32_t m_iAttackCount; // 0x12e4 + int32_t creep_attacks_count; // 0x12e8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_PudgeMiniboss_HatefulStrike : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t maxhp_percent_damage; // 0x12bc - int32_t every_n_attacks; // 0x12c0 - bool crit_active; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t maxhp_percent_damage; // 0x12cc + int32_t every_n_attacks; // 0x12d0 + bool crit_active; // 0x12d4 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruption : public CDOTA_Buff { public: - float armor_reduction_per_stack; // 0x12b8 - float stack_duration; // 0x12bc + float armor_reduction_per_stack; // 0x12c8 + float stack_duration; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruptionDebuff : public CDOTA_Buff { public: - float armor_reduction_per_stack; // 0x12b8 - float stack_duration; // 0x12bc + float armor_reduction_per_stack; // 0x12c8 + float stack_duration; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruptionStack : public CDOTA_Buff { public: @@ -87462,17 +87962,17 @@ public: }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Wave_Blast_Knockback : public CDOTA_Buff { public: - float disarm_duration; // 0x12b8 - Vector m_vPushDir; // 0x12bc - GameTime_t m_flStartTime; // 0x12c8 + float disarm_duration; // 0x12c8 + Vector m_vPushDir; // 0x12cc + GameTime_t m_flStartTime; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Wave_Blast_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -87480,22 +87980,22 @@ public: }; // Alignment: 9 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_AghsFort_Waveblaster_Leap : public CDOTA_Buff { public: - 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 + float m_flTotalTime; // 0x12c8 + float m_flInitialVelocity; // 0x12cc + Vector m_vStartPosition; // 0x12d0 + Vector m_vTargetHorizontalDirection; // 0x12dc + float m_flCurrentTimeHoriz; // 0x12e8 + float m_flCurrentTimeVert; // 0x12ec + bool m_bInterrupted; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - float leap_speed; // 0x12e4 - float leap_acceleration; // 0x12e8 + float leap_speed; // 0x12f4 + float leap_acceleration; // 0x12f8 }; // Alignment: 5 @@ -87516,7 +88016,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Morphling_Waveform : public CDOTA_Buff { public: @@ -87524,26 +88024,26 @@ public: }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_Creature_Impale : public CDOTA_Buff { public: - float m_flStartZ; // 0x12b8 - float m_flCurTime; // 0x12bc - float m_flDuration; // 0x12c0 - bool m_bDamageApplied; // 0x12c4 + float m_flStartZ; // 0x12c8 + float m_flCurTime; // 0x12cc + float m_flDuration; // 0x12d0 + bool m_bDamageApplied; // 0x12d4 }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_Creature_SpikedCarapace : public CDOTA_Buff { public: - float stun_duration; // 0x12b8 + float stun_duration; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< CHandle< CBaseEntity > > m_vecAlreadyAppliedDebuff; // 0x12c0 + CUtlVector< CHandle< CBaseEntity > > m_vecAlreadyAppliedDebuff; // 0x12d0 }; // Alignment: 15 @@ -87577,7 +88077,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Walrus_Pudge_Harpoon_PathingFix : public CDOTA_Buff { public: @@ -87585,7 +88085,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Walrus_Pudge_Harpoon : public CDOTA_Buff { public: @@ -87593,29 +88093,29 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Creature_Flamestrike : public CDOTA_Buff { public: - int32_t impact_radius; // 0x12b8 - float ground_burn_duration; // 0x12bc - float damage; // 0x12c0 - int32_t vision_distance; // 0x12c4 - float vision_duration; // 0x12c8 + int32_t impact_radius; // 0x12c8 + float ground_burn_duration; // 0x12cc + float damage; // 0x12d0 + int32_t vision_distance; // 0x12d4 + float vision_duration; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Creature_Flamestrike_Ground : public CDOTA_Buff { public: - float burn_interval; // 0x12b8 - int32_t burn_radius; // 0x12bc - int32_t burn_dps; // 0x12c0 + float burn_interval; // 0x12c8 + int32_t burn_radius; // 0x12cc + int32_t burn_dps; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_DragonKnight_BreatheFire_Debuff : public CDOTA_Buff { public: @@ -87623,83 +88123,83 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PineCone_ShieldBash_Slow : public CDOTA_Buff { public: - int32_t knockback_slow; // 0x12b8 + int32_t knockback_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PineCone_ShieldBash_Crit : public CDOTA_Buff { public: - int32_t crit_mult; // 0x12b8 + int32_t crit_mult; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PineCone_AcornShot_DelayThinker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - int32_t m_nSourceProjectileHandle; // 0x12bc + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + int32_t m_nSourceProjectileHandle; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PineCone_AcornShot_TreeThinker : public CDOTA_Buff { public: - CHandle< CDOTA_TempTree > m_hTree; // 0x12b8 - int32_t fow_viewer; // 0x12bc + CHandle< CDOTA_TempTree > m_hTree; // 0x12c8 + int32_t fow_viewer; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PineCone_AcornShot_BonusDamage : public CDOTA_Buff { public: - int32_t acorn_shot_damage; // 0x12b8 - int32_t base_damage_pct; // 0x12bc + int32_t acorn_shot_damage; // 0x12c8 + int32_t base_damage_pct; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PineCone_AcornShot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_Lifestealer_Enraged_Pulse : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_UrnUpheaval : public CDOTA_Buff { public: - int32_t m_iSlow; // 0x12b8 + int32_t m_iSlow; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_UpheavalUrn_Reincarnation : public CDOTA_Buff { public: - float reincarnate_time; // 0x12b8 - GameTime_t m_fLastReincarnationTime; // 0x12bc + float reincarnate_time; // 0x12c8 + GameTime_t m_fLastReincarnationTime; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_SkeletonKing_VampiricAura : public CDOTA_Buff { public: @@ -87707,25 +88207,25 @@ public: }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_Shadow_Demon_Shadow_Poison : public CDOTA_Buff { public: - 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 + float stack_damage; // 0x12c8 + float bonus_stack_damage; // 0x12cc + int32_t max_multiply_stacks; // 0x12d0 + int32_t release_at_max_stacks; // 0x12d4 + ParticleIndex_t m_nFXStackIndex; // 0x12d8 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_ShadowShaman_Shackles : public CDOTA_Buff { public: - float tick_interval; // 0x12b8 - float total_damage; // 0x12bc - float channel_time; // 0x12c0 + float tick_interval; // 0x12c8 + float total_damage; // 0x12cc + float channel_time; // 0x12d0 }; // Alignment: 5 @@ -87747,83 +88247,83 @@ public: }; // Alignment: 14 -// Size: 0x1308 +// Size: 0x1318 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether : public CDOTA_Buff { public: - bool m_bInManaGained; // 0x12b8 + bool m_bInManaGained; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - 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 + CHandle< CBaseEntity > m_hTarget; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > hStunnedEntities; // 0x12d0 + float slow_duration; // 0x12e8 + int32_t movespeed; // 0x12ec + int32_t self_bonus; // 0x12f0 + bool m_bIsInRange; // 0x12f4 private: - [[maybe_unused]] uint8_t __pad12e5[0x3]; // 0x12e5 + [[maybe_unused]] uint8_t __pad12f5[0x3]; // 0x12f5 public: - 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 + int32_t radius; // 0x12f8 + int32_t latch_distance; // 0x12fc + float m_flHealthHealed; // 0x1300 + float m_flManaHealed; // 0x1304 + float tether_heal_amp; // 0x1308 + GameTime_t m_flHealMessageTime; // 0x130c + GameTime_t m_flManaMessageTime; // 0x1310 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether_Haste : public CDOTA_Buff { public: - int32_t movement_speed; // 0x12b8 - int32_t attack_speed; // 0x12bc - int32_t health_regen; // 0x12c0 - int32_t status_resist; // 0x12c4 + int32_t movement_speed; // 0x12c8 + int32_t attack_speed; // 0x12cc + int32_t health_regen; // 0x12d0 + int32_t status_resist; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Aghsfort_Wildwing_Tornado_Blast_Debuff : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x12b8 - Vector m_vStartPos; // 0x12bc - float m_flCurTime; // 0x12c8 - float m_flHeightT; // 0x12cc + GameTime_t m_flStartTime; // 0x12c8 + Vector m_vStartPos; // 0x12cc + float m_flCurTime; // 0x12d8 + float m_flHeightT; // 0x12dc }; // Alignment: 3 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise : public CDOTA_Buff { public: - CountdownTimer m_RevealTimer; // 0x12b8 - CountdownTimer m_InvisAttackTimer; // 0x12d0 - CountdownTimer m_CooldownTimer; // 0x12e8 + CountdownTimer m_RevealTimer; // 0x12c8 + CountdownTimer m_InvisAttackTimer; // 0x12e0 + CountdownTimer m_CooldownTimer; // 0x12f8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Tree_Walking : public CDOTA_Buff { public: - int32_t movement_bonus; // 0x12b8 - int32_t regen_amp; // 0x12bc + int32_t movement_bonus; // 0x12c8 + int32_t regen_amp; // 0x12cc }; // Alignment: 0 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Invis : public CDOTA_Modifier_Invisible { public: @@ -87831,7 +88331,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_NearTreeDisplay : public CDOTA_Buff { public: @@ -87839,80 +88339,80 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Root : public CDOTA_Buff { public: - float m_iEntangleDamage; // 0x12b8 + float m_iEntangleDamage; // 0x12c8 +}; + +// Alignment: 7 +// Size: 0x12f8 +class CDOTA_Modifier_AghsFort_PoisonNova_Creature_Thinker : public CDOTA_Buff +{ +public: + float m_fCurRadius; // 0x12c8 + GameTime_t m_fLastThink; // 0x12cc + CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x12d0 + int32_t speed; // 0x12e8 + int32_t radius; // 0x12ec + int32_t start_radius; // 0x12f0 + float duration; // 0x12f4 +}; + +// Alignment: 1 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonNova : public CDOTA_Buff +{ +public: + int32_t damage; // 0x12c8 +}; + +// Alignment: 2 +// Size: 0x12d0 +class CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonSting_Applier : public CDOTA_Buff +{ +public: + float duration; // 0x12c8 + int32_t damage; // 0x12cc +}; + +// Alignment: 4 +// Size: 0x12d8 +class CDOTA_Modifier_AghsFort_Venomancer_PoisonSting : public CDOTA_Buff +{ +public: + int32_t m_iDamage; // 0x12c8 + int32_t movement_speed; // 0x12cc + int32_t m_nTicksRemaining; // 0x12d0 + float m_flAttackDamage; // 0x12d4 }; // Alignment: 7 // Size: 0x12e8 -class CDOTA_Modifier_AghsFort_PoisonNova_Creature_Thinker : public CDOTA_Buff -{ -public: - 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: 0x12c0 -class CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonNova : public CDOTA_Buff -{ -public: - int32_t damage; // 0x12b8 -}; - -// Alignment: 2 -// Size: 0x12c0 -class CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonSting_Applier : public CDOTA_Buff -{ -public: - float duration; // 0x12b8 - int32_t damage; // 0x12bc -}; - -// Alignment: 4 -// Size: 0x12c8 -class CDOTA_Modifier_AghsFort_Venomancer_PoisonSting : public CDOTA_Buff -{ -public: - int32_t m_iDamage; // 0x12b8 - int32_t movement_speed; // 0x12bc - int32_t m_nTicksRemaining; // 0x12c0 - float m_flAttackDamage; // 0x12c4 -}; - -// Alignment: 7 -// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Firestorm_Thinker : public CDOTA_Buff { public: - 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 + int32_t wave_damage; // 0x12c8 + int32_t wave_count; // 0x12cc + int32_t radius; // 0x12d0 + int32_t summon_count; // 0x12d4 + float wave_interval; // 0x12d8 + float burn_duration; // 0x12dc + float first_wave_delay; // 0x12e0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Firestorm_Burn : public CDOTA_Buff { public: - float burn_damage; // 0x12b8 - float burn_interval; // 0x12bc + float burn_damage; // 0x12c8 + float burn_interval; // 0x12cc }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_Warp_Channel_Soundstop : public CDOTA_Buff { public: @@ -87920,32 +88420,32 @@ public: }; // Alignment: 11 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_Warp_Channel : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nfxTargetTp; // 0x12c8 + ParticleIndex_t m_nfxTargetTp2; // 0x12cc + ParticleIndex_t m_nfxAmbientFx; // 0x12d0 + ParticleIndex_t m_nfxPortal1; // 0x12d4 + ParticleIndex_t m_nfxPortal2; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12cc[0x8]; // 0x12cc + [[maybe_unused]] uint8_t __pad12dc[0x8]; // 0x12dc public: - 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 + CHandle< CBaseEntity > m_hPortal; // 0x12e4 + Vector m_vStartPosition; // 0x12e8 + float m_flTotalTime; // 0x12f4 + float m_flElapsedTimePortion; // 0x12f8 + float animation_rate; // 0x12fc + int32_t stop_distance; // 0x1300 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nPortalAmbientFX; // 0x12b8 + ParticleIndex_t m_nPortalAmbientFX; // 0x12c8 }; // Alignment: 16 @@ -87981,7 +88481,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Bonus_Pudge_Meat_Hook : public CDOTA_Buff { public: @@ -87989,7 +88489,7 @@ public: }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_AghsFort_AmoebaBoss_Summoned_Knockback : public CDOTA_Modifier_Knockback { public: @@ -87997,110 +88497,110 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Aghsfort_Modifier_Magnus_Push_Skewer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x12b8 + int32_t m_nProjectileID; // 0x12c8 }; // Alignment: 18 -// Size: 0x1348 +// Size: 0x1358 class CDOTA_Modifier_Aghsfort_Hoodwink_ArcingBoomerang : public CDOTA_Buff { public: - 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 + Vector m_vLeftControl; // 0x12c8 + Vector m_vRightControl; // 0x12d4 + Vector m_vTargetLoc; // 0x12e0 + Vector m_vOriginalTargetLoc; // 0x12ec + Vector m_vSourceLoc; // 0x12f8 + float m_flDuration; // 0x1304 + GameTime_t m_flDieTime; // 0x1308 + bool m_bReturning; // 0x130c private: - [[maybe_unused]] uint8_t __pad12fd[0x3]; // 0x12fd + [[maybe_unused]] uint8_t __pad130d[0x3]; // 0x130d public: - 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 + int32_t m_nFramesToWait; // 0x1310 + CHandle< CBaseEntity > m_hBoomerang; // 0x1314 + ParticleIndex_t m_nBoomerangFXIndex; // 0x1318 + ParticleIndex_t m_nOldBoomerangFXindex; // 0x131c + CUtlVector< CHandle< CBaseEntity > > m_vecUniqueHitList; // 0x1320 + int32_t radius; // 0x1338 + int32_t spread; // 0x133c + int32_t damage; // 0x1340 + float min_throw_duration; // 0x1344 + float max_throw_duration; // 0x1348 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Aghsfort_Pugna_Grandmaster_NetherWard : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float mana_multiplier; // 0x12bc - float mana_drained_per_attack; // 0x12c0 + int32_t radius; // 0x12c8 + float mana_multiplier; // 0x12cc + float mana_drained_per_attack; // 0x12d0 }; // Alignment: 23 -// Size: 0x1330 +// Size: 0x1340 class CDOTA_Modifier_AghsFort_AssaultCaptain_SunRay : public CDOTA_Buff { public: - 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 + int32_t hp_cost_perc_per_second; // 0x12c8 + int32_t beam_range; // 0x12cc + int32_t base_damage; // 0x12d0 + int32_t base_heal; // 0x12d4 + float tick_interval; // 0x12d8 + float forward_move_speed; // 0x12dc + float turn_rate_initial; // 0x12e0 + float turn_rate; // 0x12e4 + int32_t radius; // 0x12e8 + int32_t self_turn_rate_percent; // 0x12ec + float m_flCurrentTime; // 0x12f0 + GameTime_t m_flLastDamageTime; // 0x12f4 + float m_flAccumulatedSelfDamage; // 0x12f8 + bool m_bMovingForward; // 0x12fc + bool m_bTurningFast; // 0x12fd private: - [[maybe_unused]] uint8_t __pad12ee[0x2]; // 0x12ee + [[maybe_unused]] uint8_t __pad12fe[0x2]; // 0x12fe public: - 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 + float m_flFacingTarget; // 0x1300 + float hp_perc_damage; // 0x1304 + float hp_perc_heal; // 0x1308 + ParticleIndex_t m_nBeamFXIndex; // 0x130c + CHandle< CBaseEntity > m_hVisionThinkers[8]; // 0x1310 + CHandle< CBaseEntity > m_hBeamEnd; // 0x1330 + bool m_bCreatedVisionThinkers; // 0x1334 private: - [[maybe_unused]] uint8_t __pad1325[0x3]; // 0x1325 + [[maybe_unused]] uint8_t __pad1335[0x3]; // 0x1335 public: - CHandle< CBaseEntity > m_hBeamEndSound; // 0x1328 + CHandle< CBaseEntity > m_hBeamEndSound; // 0x1338 }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_AghsFort_BossWinterWyvern_Cold_Embrace_Thinker : public CDOTA_Buff { public: - int32_t freeze_radius; // 0x12b8 - int32_t freeze_damage; // 0x12bc - float freeze_debuff_duration; // 0x12c0 - float freeze_delay; // 0x12c4 - ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t freeze_radius; // 0x12c8 + int32_t freeze_damage; // 0x12cc + float freeze_debuff_duration; // 0x12d0 + float freeze_delay; // 0x12d4 + ParticleIndex_t m_nFXIndex; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AghsFort_BossWinterWyvern_Cold_Embrace_Debuff : public CDOTA_Buff { public: - int32_t linger_movement_slow; // 0x12b8 - int32_t linger_damage; // 0x12bc + int32_t linger_movement_slow; // 0x12c8 + int32_t linger_damage; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Blessings_Debuff_Duration_Increase : public CDOTA_Buff { public: @@ -88108,17 +88608,17 @@ public: }; // Alignment: 4 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_AghsFort_TrapRoom_Hookshot : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - Vector m_vStartPosition; // 0x12bc + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + Vector m_vStartPosition; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12c8[0x8]; // 0x12c8 + [[maybe_unused]] uint8_t __pad12d8[0x8]; // 0x12d8 public: - int32_t speed; // 0x12d0 - float duration; // 0x12d4 + int32_t speed; // 0x12e0 + float duration; // 0x12e4 }; // Alignment: 15 @@ -88152,7 +88652,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_TrapRoom_MeatHook_PathingFix : public CDOTA_Buff { public: @@ -88160,7 +88660,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_TrapRoom_MeatHook : public CDOTA_Buff { public: @@ -88168,7 +88668,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Effigy_AghsFort : public CDOTA_Buff { public: @@ -88176,7 +88676,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_AghsFort_Watch_Tower_Capturing : public CDOTA_Buff { public: @@ -88184,115 +88684,115 @@ public: }; // Alignment: 15 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_AghsFort_Watch_Tower : public CDOTA_Buff { public: - 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 + TowerState_t m_nState; // 0x12c8 + float m_flYaw; // 0x12cc + int32_t m_nCaptureDuration; // 0x12d0 + GameTime_t m_flEffectiveCaptureStartTime; // 0x12d4 + int32_t m_nCapturingPlayerCount; // 0x12d8 + float m_flCaptureProgress; // 0x12dc + int32_t m_iCapturingTeam; // 0x12e0 + ParticleIndex_t m_nFxOutpostAmbient; // 0x12e4 + GameTime_t m_flDestroyTime; // 0x12e8 + GameTime_t m_flAutoChannelCompleteTime; // 0x12ec + bool m_bAscensionLevelPicker; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - int32_t m_nEliteChallengeLevel; // 0x12e4 - CUtlString m_strNextRoomName; // 0x12e8 - CUtlString m_strNextEncounterName; // 0x12f0 - bool m_bStartedBeamFacing; // 0x12f8 + int32_t m_nEliteChallengeLevel; // 0x12f4 + CUtlString m_strNextRoomName; // 0x12f8 + CUtlString m_strNextEncounterName; // 0x1300 + bool m_bStartedBeamFacing; // 0x1308 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x12b8 - float think_interval; // 0x12bc - float acknowledged_cooldown; // 0x12c0 - bool m_bAcknowledged; // 0x12c4 - bool m_bFirstThink; // 0x12c5 + int32_t acknowledge_range; // 0x12c8 + float think_interval; // 0x12cc + float acknowledged_cooldown; // 0x12d0 + bool m_bAcknowledged; // 0x12d4 + bool m_bFirstThink; // 0x12d5 private: - [[maybe_unused]] uint8_t __pad12c6[0x2]; // 0x12c6 + [[maybe_unused]] uint8_t __pad12d6[0x2]; // 0x12d6 public: - int32_t high_five_level; // 0x12c8 + int32_t high_five_level; // 0x12d8 }; // Alignment: 2 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Jungle_Spirit : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > hCasterList; // 0x12b8 - bool bAcceptingGems; // 0x12d0 -}; - -// Alignment: 5 -// Size: 0x12d0 -class CDOTA_Modifier_Spirit_Gem : public CDOTA_Buff -{ -public: - float m_flOriginalModelScale; // 0x12b8 - int32_t m_nHealthBarOffsetOverride; // 0x12bc - ParticleIndex_t m_nFXStackIndex; // 0x12c0 - float m_fScaleGainPerGem; // 0x12c4 - int32_t m_nLevel; // 0x12c8 + CUtlVector< CHandle< CBaseEntity > > hCasterList; // 0x12c8 + bool bAcceptingGems; // 0x12e0 }; // Alignment: 5 // Size: 0x12e0 +class CDOTA_Modifier_Spirit_Gem : public CDOTA_Buff +{ +public: + float m_flOriginalModelScale; // 0x12c8 + int32_t m_nHealthBarOffsetOverride; // 0x12cc + ParticleIndex_t m_nFXStackIndex; // 0x12d0 + float m_fScaleGainPerGem; // 0x12d4 + int32_t m_nLevel; // 0x12d8 +}; + +// Alignment: 5 +// Size: 0x12f0 class CDOTA_Modifier_Jungle_Spirit_Reductions : public CDOTA_Buff { public: - 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 + CUtlVector< CHandle< CBaseEntity > > m_vecAlliesNearby; // 0x12c8 + int32_t m_nAlliesNearby; // 0x12e0 + int32_t stat_reduction_pct; // 0x12e4 + int32_t armor_reduction; // 0x12e8 + int32_t radius; // 0x12ec }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Jungle_Spirit_Ally_Alert : public CDOTA_Buff { public: - GameTime_t m_flLastHowl; // 0x12b8 + GameTime_t m_flLastHowl; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation_Effect : public CDOTA_Buff { public: - int32_t distance_from_shrine; // 0x12b8 + int32_t distance_from_shrine; // 0x12c8 }; // Alignment: 3 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation_Regen : public CDOTA_Buff { public: - int32_t health_restore; // 0x12b8 - int32_t mana_restore; // 0x12bc - float regen_interval; // 0x12c0 + int32_t health_restore; // 0x12c8 + int32_t mana_restore; // 0x12cc + float regen_interval; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_JungleSpirit_BaseAttackRangeIncrease : public CDOTA_Buff { public: @@ -88300,27 +88800,27 @@ public: }; // Alignment: 10 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Morokai_JungleHealBeam : public CDOTA_Buff { public: - 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 + int32_t beam_count; // 0x12c8 + int32_t beam_range; // 0x12cc + int32_t beam_radius; // 0x12d0 + int32_t beam_buffer; // 0x12d4 + int32_t turn_rate; // 0x12d8 + int32_t hp_per_second; // 0x12dc + GameTime_t m_flLastThinkTime; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d4[0x1c]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x1c]; // 0x12e4 public: - CUtlVector< CHandle< CBaseEntity > > m_vecTargetedEntities; // 0x12f0 - float flLastTreeDestroyed; // 0x1308 - float flTreeDestructionCooldown; // 0x130c + CUtlVector< CHandle< CBaseEntity > > m_vecTargetedEntities; // 0x1300 + float flLastTreeDestroyed; // 0x1318 + float flTreeDestructionCooldown; // 0x131c }; // Alignment: 0 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Ability_JungleSpirit_Volcano_Eruption_Knockback : public CDOTA_Modifier_Knockback { public: @@ -88328,51 +88828,51 @@ public: }; // Alignment: 12 -// Size: 0x1348 +// Size: 0x1358 class CDOTA_Modifier_JungleSpirit_Storm_Cyclone : public CDOTA_Buff { public: - 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 + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x12c8 + CUtlVector< CHandle< CBaseEntity > > m_hCyclones; // 0x12e0 + int32_t projectile_distance; // 0x12f8 + int32_t projectile_radius; // 0x12fc + int32_t projectile_amount; // 0x1300 + float projectile_duration; // 0x1304 + float delay; // 0x1308 + GameTime_t m_flDieTime; // 0x130c + GameTime_t m_flStartTime; // 0x1310 private: - [[maybe_unused]] uint8_t __pad1304[0x4]; // 0x1304 + [[maybe_unused]] uint8_t __pad1314[0x4]; // 0x1314 public: - CUtlVector< Vector > m_vLeftControl; // 0x1308 - CUtlVector< Vector > m_vSourceLoc; // 0x1320 - Vector m_vTargetLoc; // 0x1338 + CUtlVector< Vector > m_vLeftControl; // 0x1318 + CUtlVector< Vector > m_vSourceLoc; // 0x1330 + Vector m_vTargetLoc; // 0x1348 }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Jungle_Spirit_Storm_Cyclone_Debuff : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x12b8 - Vector m_vStartPos; // 0x12bc - float m_flCurTime; // 0x12c8 - float m_flHeightT; // 0x12cc - int32_t cyclone_damage; // 0x12d0 + GameTime_t m_flStartTime; // 0x12c8 + Vector m_vStartPos; // 0x12cc + float m_flCurTime; // 0x12d8 + float m_flHeightT; // 0x12dc + int32_t cyclone_damage; // 0x12e0 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Jungle_Spirit_Storm_Cyclone_Invulnerable : public CDOTA_Buff { public: - ParticleIndex_t nFXIndex; // 0x12b8 - int32_t projectile_radius; // 0x12bc - int32_t projectile_destruction_radius; // 0x12c0 + ParticleIndex_t nFXIndex; // 0x12c8 + int32_t projectile_radius; // 0x12cc + int32_t projectile_destruction_radius; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Jungle_Spirit_Storm_Multicast : public CDOTA_Buff { public: @@ -88380,7 +88880,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Jungle_Spirit_Storm_Multicast_Cooldown : public CDOTA_Buff { public: @@ -88388,7 +88888,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Jungle_Spirit_Jungle_Lumber_Lock : public CDOTA_Buff { public: @@ -88396,7 +88896,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Jungle_Spirit_Jungle_Lumber_Lock_Immunity : public CDOTA_Buff { public: @@ -88404,7 +88904,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Jungle_Spirit_Volcano_Fire_Strike : public CDOTA_Buff { public: @@ -88412,58 +88912,58 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Jungle_Spirit_Volcano_Fire_Strike_Caster : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x12b8 + int32_t damage_modifier; // 0x12c8 }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Jungle_Spirit_Range_Attack : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t projectile_speed; // 0x12bc - float turn_rate; // 0x12c0 - CHandle< CBaseEntity > m_hAttachTarget; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t projectile_speed; // 0x12cc + float turn_rate; // 0x12d0 + CHandle< CBaseEntity > m_hAttachTarget; // 0x12d4 }; // Alignment: 16 -// Size: 0x1320 +// Size: 0x1330 class CDOTA_Modifier_Seasonal_TI10_Portal : public CDOTA_Buff { public: - ParticleIndex_t m_nPhaseStartFXIndex; // 0x12b8 - Vector m_vSpawnPos; // 0x12bc - CUtlVector< Vector > m_vecEmissions; // 0x12c8 - bool m_bChatSent; // 0x12e0 + ParticleIndex_t m_nPhaseStartFXIndex; // 0x12c8 + Vector m_vSpawnPos; // 0x12cc + CUtlVector< Vector > m_vecEmissions; // 0x12d8 + bool m_bChatSent; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - 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 + int32_t m_nPhase; // 0x12f4 + int32_t m_nNumEmitted; // 0x12f8 + int32_t m_nNumDrops; // 0x12fc + GameTime_t m_flStartTime; // 0x1300 + GameTime_t m_flLastEmitTime; // 0x1304 + bool m_bIsOnRadiant; // 0x1308 + bool m_bUseLargeEmit; // 0x1309 private: - [[maybe_unused]] uint8_t __pad12fa[0x2]; // 0x12fa + [[maybe_unused]] uint8_t __pad130a[0x2]; // 0x130a public: - int32_t m_nOutcome; // 0x12fc + int32_t m_nOutcome; // 0x130c private: - [[maybe_unused]] uint8_t __pad1300[0x10]; // 0x1300 + [[maybe_unused]] uint8_t __pad1310[0x10]; // 0x1310 public: - int32_t PHASE_OPEN; // 0x1310 - int32_t PHASE_EMIT; // 0x1314 - int32_t PHASE_EMIT_DONE; // 0x1318 - int32_t PHASE_CLOSE; // 0x131c + int32_t PHASE_OPEN; // 0x1320 + int32_t PHASE_EMIT; // 0x1324 + int32_t PHASE_EMIT_DONE; // 0x1328 + int32_t PHASE_CLOSE; // 0x132c }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_TI10_DiscoBall : public CDOTA_Buff { public: @@ -88471,76 +88971,76 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_TI10_DiscoBall_Channeling : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t m_nGesture; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t m_nGesture; // 0x12cc }; // Alignment: 39 -// Size: 0x1380 +// Size: 0x1390 class CDOTA_Modifier_Seasonal_TI10_SoccerBall : public CDOTA_Buff { public: - 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 + Vector m_vPost1; // 0x12c8 + Vector m_vPost2; // 0x12d4 + Vector m_vPostForward; // 0x12e0 + ParticleIndex_t m_nPost1FXIndex; // 0x12ec + ParticleIndex_t m_nPost2FXIndex; // 0x12f0 + ParticleIndex_t m_nPost3FXIndex; // 0x12f4 + int32_t PHASE_START; // 0x12f8 + int32_t PHASE_GESTURE; // 0x12fc + int32_t PHASE_FX; // 0x1300 + int32_t PHASE_MOTION; // 0x1304 + int32_t PHASE_IMPACT; // 0x1308 + int32_t PHASE_FAIL; // 0x130c + int32_t PHASE_CROSSED_GOAL; // 0x1310 + int32_t PHASE_GOAL; // 0x1314 + float tick_interval; // 0x1318 + float forward_move_speed; // 0x131c + float magnus_coefficient; // 0x1320 + float magnus_falloff; // 0x1324 + float drag_coefficient; // 0x1328 + float min_delay; // 0x132c + float max_delay; // 0x1330 + int32_t hit_radius; // 0x1334 + ParticleIndex_t m_nFXIndex; // 0x1338 + Vector m_vVelocity; // 0x133c + Vector m_vSpawnPos; // 0x1348 + Vector m_vTargetPos; // 0x1354 + int32_t m_nPhase; // 0x1360 + int32_t m_nHits; // 0x1364 + float m_flMagnusValue; // 0x1368 + GameTime_t m_flStartTime; // 0x136c + float m_flDelay; // 0x1370 + GameTime_t m_flStateChangeTime; // 0x1374 + bool m_bFirstThink; // 0x1378 + bool m_bGroundHit; // 0x1379 private: - [[maybe_unused]] uint8_t __pad136a[0x2]; // 0x136a + [[maybe_unused]] uint8_t __pad137a[0x2]; // 0x137a public: - PlayerID_t m_nTargetPlayerID; // 0x136c - float m_flCurTime; // 0x1370 - float m_flStartZ; // 0x1374 - float m_flAirTime; // 0x1378 - float m_flHeight; // 0x137c + PlayerID_t m_nTargetPlayerID; // 0x137c + float m_flCurTime; // 0x1380 + float m_flStartZ; // 0x1384 + float m_flAirTime; // 0x1388 + float m_flHeight; // 0x138c }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Seasonal_TI10_HotPotato : public CDOTA_Buff { public: - float debuff_duration; // 0x12b8 - float time_to_explode; // 0x12bc - float throw_time; // 0x12c0 - GameTime_t m_fLastThink; // 0x12c4 + float debuff_duration; // 0x12c8 + float time_to_explode; // 0x12cc + float throw_time; // 0x12d0 + GameTime_t m_fLastThink; // 0x12d4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_TI10_HotPotato_InboundPotato : public CDOTA_Buff { public: @@ -88548,7 +89048,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_TI10_HotPotato_Debuff : public CDOTA_Buff { public: @@ -88556,130 +89056,130 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Seasonal_TI10_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x12b8 - float think_interval; // 0x12bc - float acknowledged_cooldown; // 0x12c0 - bool m_bAcknowledged; // 0x12c4 - bool m_bFirstThink; // 0x12c5 + int32_t acknowledge_range; // 0x12c8 + float think_interval; // 0x12cc + float acknowledged_cooldown; // 0x12d0 + bool m_bAcknowledged; // 0x12d4 + bool m_bFirstThink; // 0x12d5 private: - [[maybe_unused]] uint8_t __pad12c6[0x2]; // 0x12c6 + [[maybe_unused]] uint8_t __pad12d6[0x2]; // 0x12d6 public: - int32_t high_five_level; // 0x12c8 + int32_t high_five_level; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Seasonal_TI11_RockPaperScissors_Playing : public CDOTA_Buff { public: - float input_duration; // 0x12b8 - float think_interval; // 0x12bc - bool m_bChoseOption; // 0x12c0 + float input_duration; // 0x12c8 + float think_interval; // 0x12cc + bool m_bChoseOption; // 0x12d0 }; // Alignment: 9 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Seasonal_TI11_RockPaperScissors : public CDOTA_Buff { public: - float challenge_duration; // 0x12b8 - float reveal_duration; // 0x12bc - float reveal_delay; // 0x12c0 - float completed_cooldown; // 0x12c4 - float think_interval; // 0x12c8 - float acknowledge_range; // 0x12cc + float challenge_duration; // 0x12c8 + float reveal_duration; // 0x12cc + float reveal_delay; // 0x12d0 + float completed_cooldown; // 0x12d4 + float think_interval; // 0x12d8 + float acknowledge_range; // 0x12dc private: - [[maybe_unused]] uint8_t __pad12d0[0x4]; // 0x12d0 + [[maybe_unused]] uint8_t __pad12e0[0x4]; // 0x12e0 public: - GameTime_t m_flRevealTime; // 0x12d4 - bool m_bFirstThink; // 0x12d8 + GameTime_t m_flRevealTime; // 0x12e4 + bool m_bFirstThink; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: - PlayerID_t m_nRevealOpponentPlayerID; // 0x12dc + PlayerID_t m_nRevealOpponentPlayerID; // 0x12ec }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Seasonal_TI11_BubbleGun : public CDOTA_Buff { public: - float think_interval; // 0x12b8 - int32_t max_charges; // 0x12bc - int32_t m_nChargesUsed; // 0x12c0 + float think_interval; // 0x12c8 + int32_t max_charges; // 0x12cc + int32_t m_nChargesUsed; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_Summon_TI11_Balloon_Visuals : public CDOTA_Buff { public: - float model_scale_per_stack; // 0x12b8 - bool m_bIsRadiant; // 0x12bc + float model_scale_per_stack; // 0x12c8 + bool m_bIsRadiant; // 0x12cc }; // Alignment: 19 -// Size: 0x1318 +// Size: 0x1328 class CDOTA_Modifier_Seasonal_Summon_TI11_Balloon_Thinker : public CDOTA_Buff { public: - 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 + float speed; // 0x12c8 + int32_t min_distance_before_bounce; // 0x12cc + float drag; // 0x12d0 + float max_height; // 0x12d4 + float max_vertical_move_time; // 0x12d8 + float bounce_turn_angle; // 0x12dc + float bounce_turn_angle_tree; // 0x12e0 + float bounce_delay; // 0x12e4 + int32_t max_bounces; // 0x12e8 + float max_model_scale; // 0x12ec + float power_growth_exponent; // 0x12f0 + Vector m_vLastPos; // 0x12f4 + Vector m_vDir; // 0x1300 + float m_flSpeed; // 0x130c + float m_flDistRemaining; // 0x1310 + float m_flTreeTimeRemaining; // 0x1314 + int32_t m_nTimesBounced; // 0x1318 + float m_flModelScale; // 0x131c + CHandle< CBaseEntity > m_hLastHit; // 0x1320 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_TI11_DuelAccepted : public CDOTA_Buff { public: - PlayerID_t m_nDuelOpponent; // 0x12b8 + PlayerID_t m_nDuelOpponent; // 0x12c8 }; // Alignment: 9 -// Size: 0x1328 +// Size: 0x1338 class CDOTA_Modifier_Seasonal_TI11_CongaLine : public CDOTA_Buff { public: - 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 + int32_t NUM_SOUNDS; // 0x12c8 + float dance_interval; // 0x12cc + float gesture_duration; // 0x12d0 + float catch_up_distance; // 0x12d4 + float slow_duration; // 0x12d8 + float slow_amount; // 0x12dc + int32_t m_nGesture; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< CDOTA_BaseNPC > > m_vecDancers; // 0x12d8 + CUtlVector< CHandle< CDOTA_BaseNPC > > m_vecDancers; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12f0[0x30]; // 0x12f0 + [[maybe_unused]] uint8_t __pad1300[0x30]; // 0x1300 public: - bool m_bIsGesturing; // 0x1320 + bool m_bIsGesturing; // 0x1330 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Seasonal_TI11_CongaLineDancer : public CDOTA_Buff { public: @@ -88687,15 +89187,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Seasonal_TI11_CongaLineSlow : public CDOTA_Buff { public: - float m_flMaxSpeed; // 0x12b8 + float m_flMaxSpeed; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Diretide_Portal_Channeling : public CDOTA_Buff { public: @@ -88703,31 +89203,31 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Diretide_Portal_Buff : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hInvader; // 0x12b8 + CHandle< CBaseEntity > m_hInvader; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Seasonal_Diretide2020_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x12b8 - float think_interval; // 0x12bc - float acknowledged_cooldown; // 0x12c0 - bool m_bAcknowledged; // 0x12c4 - bool m_bFirstThink; // 0x12c5 + int32_t acknowledge_range; // 0x12c8 + float think_interval; // 0x12cc + float acknowledged_cooldown; // 0x12d0 + bool m_bAcknowledged; // 0x12d4 + bool m_bFirstThink; // 0x12d5 private: - [[maybe_unused]] uint8_t __pad12c6[0x2]; // 0x12c6 + [[maybe_unused]] uint8_t __pad12d6[0x2]; // 0x12d6 public: - int32_t high_five_level; // 0x12c8 + int32_t high_five_level; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Spring2021_BombHolder : public CDOTA_Buff_Item { public: @@ -88735,7 +89235,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Spring2021_BombPlantable : public CDOTA_Buff { public: @@ -88743,41 +89243,41 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Spring2021_DefusalBomb : public CDOTA_Buff { public: - float BOMB_DURATION; // 0x12b8 - float BOMB_FAST_TICK_START; // 0x12bc - float BOMB_DEFAULT_TICK; // 0x12c0 + float BOMB_DURATION; // 0x12c8 + float BOMB_FAST_TICK_START; // 0x12cc + float BOMB_DEFAULT_TICK; // 0x12d0 }; // Alignment: 11 -// Size: 0x1310 +// Size: 0x1320 class CDOTA_Modifier_Spring2021_TowerDeathRing_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x12b8 - float m_fCurRadius; // 0x12bc - GameTime_t m_fLastThink; // 0x12c0 - bool m_bWindingUp; // 0x12c4 + float m_fLastRadius; // 0x12c8 + float m_fCurRadius; // 0x12cc + GameTime_t m_fLastThink; // 0x12d0 + bool m_bWindingUp; // 0x12d4 private: - [[maybe_unused]] uint8_t __pad12c5[0x3]; // 0x12c5 + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 public: - CountdownTimer m_ViewerTimer; // 0x12c8 - ParticleIndex_t m_nFXIndex; // 0x12e0 + CountdownTimer m_ViewerTimer; // 0x12d8 + ParticleIndex_t m_nFXIndex; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 + [[maybe_unused]] uint8_t __pad12f4[0x4]; // 0x12f4 public: - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12e8 - int32_t speed; // 0x1300 - int32_t radius; // 0x1304 - int32_t damage; // 0x1308 - float windup_time; // 0x130c + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x12f8 + int32_t speed; // 0x1310 + int32_t radius; // 0x1314 + int32_t damage; // 0x1318 + float windup_time; // 0x131c }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Winter2022_EnableFeedableRoshanInteract : public CDOTA_Buff { public: @@ -88785,46 +89285,46 @@ public: }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Plus_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x12b8 - float think_interval; // 0x12bc - float acknowledged_cooldown; // 0x12c0 - bool m_bAcknowledged; // 0x12c4 - bool m_bFirstThink; // 0x12c5 + int32_t acknowledge_range; // 0x12c8 + float think_interval; // 0x12cc + float acknowledged_cooldown; // 0x12d0 + bool m_bAcknowledged; // 0x12d4 + bool m_bFirstThink; // 0x12d5 private: - [[maybe_unused]] uint8_t __pad12c6[0x2]; // 0x12c6 + [[maybe_unused]] uint8_t __pad12d6[0x2]; // 0x12d6 public: - int32_t high_five_level; // 0x12c8 + int32_t high_five_level; // 0x12d8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_MuertasGun : public CDOTA_Buff_Item { public: - ParticleIndex_t m_nFXIndex; // 0x12b8 - int32_t bonus_cast_pct; // 0x12bc - int32_t bonus_spell_amp; // 0x12c0 - int32_t health_pct_penalty; // 0x12c4 + ParticleIndex_t m_nFXIndex; // 0x12c8 + int32_t bonus_cast_pct; // 0x12cc + int32_t bonus_spell_amp; // 0x12d0 + int32_t health_pct_penalty; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Muertas_Gun_Slow : public CDOTA_Buff { public: - int32_t impact_slow_percent; // 0x12b8 + int32_t impact_slow_percent; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Muertas_Gun_Fear : public CDOTA_Buff { public: - Vector m_vFearDir; // 0x12b8 + Vector m_vFearDir; // 0x12c8 }; // Alignment: 0 @@ -88836,7 +89336,7 @@ public: }; // Alignment: 0 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ofrenda_Pledge : public CDOTA_Buff { public: @@ -88844,50 +89344,50 @@ public: }; // Alignment: 4 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Seasonal_10thAnniversary_PartyHat : public CDOTA_Buff { public: - int32_t controlled_unit_search_radius; // 0x12b8 - bool child_modifier; // 0x12bc + int32_t controlled_unit_search_radius; // 0x12c8 + bool child_modifier; // 0x12cc private: - [[maybe_unused]] uint8_t __pad12bd[0x3]; // 0x12bd + [[maybe_unused]] uint8_t __pad12cd[0x3]; // 0x12cd public: - CUtlString m_strEffectName; // 0x12c0 - ParticleIndex_t m_nHatFXIndex; // 0x12c8 + CUtlString m_strEffectName; // 0x12d0 + ParticleIndex_t m_nHatFXIndex; // 0x12d8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Item_AghsFort_Bloodstone_Active : public CDOTA_Buff { public: - int32_t mana_cost_percentage; // 0x12b8 - float restore_duration; // 0x12bc - float m_flDrainAmount; // 0x12c0 + int32_t mana_cost_percentage; // 0x12c8 + float restore_duration; // 0x12cc + float m_flDrainAmount; // 0x12d0 }; // Alignment: 12 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Item_AghsFort_Bloodstone : public CDOTA_Buff_Item { public: - 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 + int32_t bonus_health; // 0x12c8 + int32_t bonus_mana; // 0x12cc + int32_t mana_regen_multiplier; // 0x12d0 + float regen_per_charge; // 0x12d4 + float amp_per_charge; // 0x12d8 + int32_t death_charges; // 0x12dc + int32_t kill_charges; // 0x12e0 + float hero_lifesteal; // 0x12e4 + float creep_lifesteal; // 0x12e8 + int32_t bonus_intellect; // 0x12ec + int32_t spell_amp; // 0x12f0 + int32_t spell_lifesteal_amp; // 0x12f4 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Item_AghsFort_Bloodstone_GainableCharges : public CDOTA_Buff { public: @@ -88895,7 +89395,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Diabled_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -89281,42 +89781,35 @@ public: bool m_bExposureControl; // 0x93d }; -// Alignment: 10 -// Size: 0x7b8 +// Alignment: 8 +// Size: 0x7b0 class CBasePlayerWeapon : public CBaseAnimatingActivity { public: // MNetworkEnable - // MNetworkChangeCallback "OnWeaponStateChanged" - WeaponState_t m_iState; // 0x768 - bool m_bRemoveable; // 0x76c -private: - [[maybe_unused]] uint8_t __pad076d[0x3]; // 0x76d -public: + // MNetworkUserGroup "LocalWeaponExclusive" + GameTick_t m_nNextPrimaryAttackTick; // 0x768 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - GameTick_t m_nNextPrimaryAttackTick; // 0x770 + float m_flNextPrimaryAttackTickRatio; // 0x76c // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - float m_flNextPrimaryAttackTickRatio; // 0x774 + GameTick_t m_nNextSecondaryAttackTick; // 0x770 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - GameTick_t m_nNextSecondaryAttackTick; // 0x778 - // MNetworkEnable - // MNetworkUserGroup "LocalWeaponExclusive" - float m_flNextSecondaryAttackTickRatio; // 0x77c + float m_flNextSecondaryAttackTickRatio; // 0x774 // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkPriority "32" - int32_t m_iClip1; // 0x780 + int32_t m_iClip1; // 0x778 // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkUserGroup "LocalWeaponExclusive" - int32_t m_iClip2; // 0x784 + int32_t m_iClip2; // 0x77c // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - int32_t m_pReserveAmmo[2]; // 0x788 - CEntityIOOutput m_OnPlayerUse; // 0x790 + int32_t m_pReserveAmmo[2]; // 0x780 + CEntityIOOutput m_OnPlayerUse; // 0x788 }; // Alignment: 5 @@ -89370,51 +89863,42 @@ public: // No members available }; -// Alignment: 13 -// Size: 0x988 +// Alignment: 11 +// Size: 0x8e8 class CBaseAnimGraph : public CBaseModelEntity { -private: - [[maybe_unused]] uint8_t __pad0758[0x8]; // 0x758 public: // MNetworkEnable - bool m_bInitiallyPopulateInterpHistory; // 0x760 + bool m_bInitiallyPopulateInterpHistory; // 0x758 // MNetworkEnable - bool m_bShouldAnimateDuringGameplayPause; // 0x761 + bool m_bShouldAnimateDuringGameplayPause; // 0x759 private: - [[maybe_unused]] uint8_t __pad0762[0x6]; // 0x762 + [[maybe_unused]] uint8_t __pad075a[0x6]; // 0x75a public: - IChoreoServices* m_pChoreoServices; // 0x768 + IChoreoServices* m_pChoreoServices; // 0x760 // MNetworkEnable - bool m_bAnimGraphUpdateEnabled; // 0x770 + bool m_bAnimGraphUpdateEnabled; // 0x768 private: - [[maybe_unused]] uint8_t __pad0771[0x93]; // 0x771 + [[maybe_unused]] uint8_t __pad0769[0x3]; // 0x769 public: - // MNetworkDisable - float m_flLastEventAnimTime; // 0x804 + float m_flMaxSlopeDistance; // 0x76c + Vector m_vLastSlopeCheckPos; // 0x770 + bool m_bAnimGraphDirty; // 0x77c private: - [[maybe_unused]] uint8_t __pad0808[0x4]; // 0x808 -public: - // MNetworkDisable - AnimationUpdateListHandle_t m_hAnimationUpdate; // 0x80c - float m_flMaxSlopeDistance; // 0x810 - Vector m_vLastSlopeCheckPos; // 0x814 - bool m_bAnimGraphDirty; // 0x820 -private: - [[maybe_unused]] uint8_t __pad0821[0x3]; // 0x821 + [[maybe_unused]] uint8_t __pad077d[0x3]; // 0x77d public: // MNetworkEnable - Vector m_vecForce; // 0x824 + Vector m_vecForce; // 0x780 // MNetworkEnable - int32_t m_nForceBone; // 0x830 + int32_t m_nForceBone; // 0x78c private: - [[maybe_unused]] uint8_t __pad0834[0x14]; // 0x834 + [[maybe_unused]] uint8_t __pad0790[0x10]; // 0x790 public: // MNetworkEnable - PhysicsRagdollPose_t* m_pRagdollPose; // 0x848 + PhysicsRagdollPose_t* m_pRagdollPose; // 0x7a0 // MNetworkEnable // MNetworkChangeCallback "OnClientRagdollChanged" - bool m_bClientRagdoll; // 0x850 + bool m_bClientRagdoll; // 0x7a8 }; // Alignment: 4 @@ -89806,7 +90290,7 @@ public: }; // Alignment: 0 -// Size: 0xa00 +// Size: 0x9f0 class CSceneEntityAlias_logic_choreographed_scene : public CSceneEntity { public: @@ -89814,18 +90298,18 @@ public: }; // Alignment: 5 -// Size: 0xa18 +// Size: 0xa08 class CInstancedSceneEntity : public CSceneEntity { public: - CHandle< CBaseEntity > m_hOwner; // 0xa00 - bool m_bHadOwner; // 0xa04 + CHandle< CBaseEntity > m_hOwner; // 0x9f0 + bool m_bHadOwner; // 0x9f4 private: - [[maybe_unused]] uint8_t __pad0a05[0x3]; // 0xa05 + [[maybe_unused]] uint8_t __pad09f5[0x3]; // 0x9f5 public: - float m_flPostSpeakDelay; // 0xa08 - float m_flPreDelay; // 0xa0c - bool m_bIsBackground; // 0xa10 + float m_flPostSpeakDelay; // 0x9f8 + float m_flPreDelay; // 0x9fc + bool m_bIsBackground; // 0xa00 }; // Alignment: 3 @@ -90189,70 +90673,70 @@ public: }; // Alignment: 28 -// Size: 0xb30 +// Size: 0xa90 class CRagdollProp : public CBaseAnimGraph { private: - [[maybe_unused]] uint8_t __pad0988[0x8]; // 0x988 + [[maybe_unused]] uint8_t __pad08e8[0x8]; // 0x8e8 public: - ragdoll_t m_ragdoll; // 0x990 - bool m_bStartDisabled; // 0x9c8 + ragdoll_t m_ragdoll; // 0x8f0 + bool m_bStartDisabled; // 0x928 private: - [[maybe_unused]] uint8_t __pad09c9[0x7]; // 0x9c9 + [[maybe_unused]] uint8_t __pad0929[0x7]; // 0x929 public: // MNetworkEnable // MNetworkEncoder - CNetworkUtlVectorBase< Vector > m_ragPos; // 0x9d0 + CNetworkUtlVectorBase< Vector > m_ragPos; // 0x930 // MNetworkEnable // MNetworkEncoder // MNetworkBitCount "13" - CNetworkUtlVectorBase< QAngle > m_ragAngles; // 0x9e8 + CNetworkUtlVectorBase< QAngle > m_ragAngles; // 0x948 // MNetworkEnable - CHandle< CBaseEntity > m_hRagdollSource; // 0xa00 - uint32_t m_lastUpdateTickCount; // 0xa04 - bool m_allAsleep; // 0xa08 - bool m_bFirstCollisionAfterLaunch; // 0xa09 + CHandle< CBaseEntity > m_hRagdollSource; // 0x960 + uint32_t m_lastUpdateTickCount; // 0x964 + bool m_allAsleep; // 0x968 + bool m_bFirstCollisionAfterLaunch; // 0x969 private: - [[maybe_unused]] uint8_t __pad0a0a[0x2]; // 0xa0a + [[maybe_unused]] uint8_t __pad096a[0x2]; // 0x96a public: - 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 + CHandle< CBaseEntity > m_hDamageEntity; // 0x96c + CHandle< CBaseEntity > m_hKiller; // 0x970 + CHandle< CBasePlayerPawn > m_hPhysicsAttacker; // 0x974 + GameTime_t m_flLastPhysicsInfluenceTime; // 0x978 + GameTime_t m_flFadeOutStartTime; // 0x97c + float m_flFadeTime; // 0x980 // MNetworkDisable - Vector m_vecLastOrigin; // 0xa24 - GameTime_t m_flAwakeTime; // 0xa30 - GameTime_t m_flLastOriginChangeTime; // 0xa34 - int32_t m_nBloodColor; // 0xa38 + Vector m_vecLastOrigin; // 0x984 + GameTime_t m_flAwakeTime; // 0x990 + GameTime_t m_flLastOriginChangeTime; // 0x994 + int32_t m_nBloodColor; // 0x998 private: - [[maybe_unused]] uint8_t __pad0a3c[0x4]; // 0xa3c + [[maybe_unused]] uint8_t __pad099c[0x4]; // 0x99c public: - CUtlSymbolLarge m_strOriginClassName; // 0xa40 - CUtlSymbolLarge m_strSourceClassName; // 0xa48 - bool m_bHasBeenPhysgunned; // 0xa50 - bool m_bShouldTeleportPhysics; // 0xa51 + CUtlSymbolLarge m_strOriginClassName; // 0x9a0 + CUtlSymbolLarge m_strSourceClassName; // 0x9a8 + bool m_bHasBeenPhysgunned; // 0x9b0 + bool m_bShouldTeleportPhysics; // 0x9b1 private: - [[maybe_unused]] uint8_t __pad0a52[0x2]; // 0xa52 + [[maybe_unused]] uint8_t __pad09b2[0x2]; // 0x9b2 public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1.000000" // MNetworkEncodeFlags - float m_flBlendWeight; // 0xa54 - float m_flDefaultFadeScale; // 0xa58 + float m_flBlendWeight; // 0x9b4 + float m_flDefaultFadeScale; // 0x9b8 private: - [[maybe_unused]] uint8_t __pad0a5c[0x4]; // 0xa5c + [[maybe_unused]] uint8_t __pad09bc[0x4]; // 0x9bc public: - CUtlVector< Vector > m_ragdollMins; // 0xa60 - CUtlVector< Vector > m_ragdollMaxs; // 0xa78 - bool m_bShouldDeleteActivationRecord; // 0xa90 + CUtlVector< Vector > m_ragdollMins; // 0x9c0 + CUtlVector< Vector > m_ragdollMaxs; // 0x9d8 + bool m_bShouldDeleteActivationRecord; // 0x9f0 private: - [[maybe_unused]] uint8_t __pad0a91[0x5f]; // 0xa91 + [[maybe_unused]] uint8_t __pad09f1[0x5f]; // 0x9f1 public: - bool m_bValidatePoweredRagdollPose; // 0xaf0 + bool m_bValidatePoweredRagdollPose; // 0xa50 }; // Alignment: 12 @@ -90383,7 +90867,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Fountain_Glyph : public CDOTA_Buff { public: @@ -90391,17 +90875,17 @@ public: }; // Alignment: 3 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Radar_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - bool m_bEverFound; // 0x12bc - bool m_bBonus; // 0x12bd + int32_t radius; // 0x12c8 + bool m_bEverFound; // 0x12cc + bool m_bBonus; // 0x12cd }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Courier_AutoDeliver : public CDOTA_Buff { public: @@ -90409,7 +90893,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Turbo_Courier_Haste : public CDOTA_Buff { public: @@ -90417,7 +90901,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Turbo_Courier_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -90425,7 +90909,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Jungle_Varmint : public CDOTA_Buff { public: @@ -90433,63 +90917,63 @@ public: }; // Alignment: 11 -// Size: 0x12f8 +// Size: 0x1308 class CDOTA_Modifier_JungleVarmint_Dive : public CDOTA_Buff { public: - 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 + float m_flTotalTime; // 0x12c8 + float m_flInitialVelocity; // 0x12cc + Vector m_vStartPosition; // 0x12d0 + Vector m_vTargetHorizontalDirection; // 0x12dc + float m_flCurrentTimeHoriz; // 0x12e8 + float m_flCurrentTimeVert; // 0x12ec + bool m_bInterrupted; // 0x12f0 private: - [[maybe_unused]] uint8_t __pad12e1[0x3]; // 0x12e1 + [[maybe_unused]] uint8_t __pad12f1[0x3]; // 0x12f1 public: - int32_t distance; // 0x12e4 - float speed; // 0x12e8 - float acceleration; // 0x12ec - int32_t radius; // 0x12f0 + int32_t distance; // 0x12f4 + float speed; // 0x12f8 + float acceleration; // 0x12fc + int32_t radius; // 0x1300 }; // Alignment: 5 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter_Active : public CDOTA_Buff { public: - 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 + int32_t scepter_move_speed_pct; // 0x12c8 + int32_t scepter_attack_speed; // 0x12cc + CHandle< CBaseEntity > m_hTarget; // 0x12d0 + bool m_bPassive; // 0x12d4 + bool m_bKillAtEnd; // 0x12d5 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Item_Helm_Of_The_Undying_Active : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 - bool m_bPassive; // 0x12bc + CHandle< CBaseEntity > m_hTarget; // 0x12c8 + bool m_bPassive; // 0x12cc }; // Alignment: 8 -// Size: 0x12e8 +// Size: 0x12f8 class CDOTA_Modifier_Legion_Commander_Duel : public CDOTA_Buff { public: - int32_t reward_damage; // 0x12b8 - int32_t scepter_damage_reduction_pct; // 0x12bc - bool m_bAttacked; // 0x12c0 - bool m_bHadAVictor; // 0x12c1 + int32_t reward_damage; // 0x12c8 + int32_t scepter_damage_reduction_pct; // 0x12cc + bool m_bAttacked; // 0x12d0 + bool m_bHadAVictor; // 0x12d1 private: - [[maybe_unused]] uint8_t __pad12c2[0x2]; // 0x12c2 + [[maybe_unused]] uint8_t __pad12d2[0x2]; // 0x12d2 public: - GameTime_t m_flTimeDuelStart; // 0x12c4 - CHandle< CBaseEntity > m_hPartner; // 0x12c8 - float m_flNextTime; // 0x12cc - CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x12d0 + GameTime_t m_flTimeDuelStart; // 0x12d4 + CHandle< CBaseEntity > m_hPartner; // 0x12d8 + float m_flNextTime; // 0x12dc + CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x12e0 }; // Alignment: 2 @@ -90502,15 +90986,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_JungleVarmint_Creator : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hVarmint; // 0x12b8 + CHandle< CBaseEntity > m_hVarmint; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Outpost_Summoning : public CDOTA_Buff { public: @@ -90518,7 +91002,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Watch_Tower_Capturing : public CDOTA_Buff { public: @@ -90526,32 +91010,32 @@ public: }; // Alignment: 12 -// Size: 0x1300 +// Size: 0x1310 class CDOTA_Modifier_Watch_Tower : public CDOTA_Buff { public: - int32_t m_nTeamNumber; // 0x12b8 - int32_t m_iCapturingTeam; // 0x12bc - float m_flCaptureProgress; // 0x12c0 - float m_flBonusTime; // 0x12c4 - bool m_bInitialSetupDone; // 0x12c8 + int32_t m_nTeamNumber; // 0x12c8 + int32_t m_iCapturingTeam; // 0x12cc + float m_flCaptureProgress; // 0x12d0 + float m_flBonusTime; // 0x12d4 + bool m_bInitialSetupDone; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: - int32_t m_iOriginalTeam; // 0x12cc - CHandle< CBaseEntity > m_hPreviousHero; // 0x12d0 + int32_t m_iOriginalTeam; // 0x12dc + CHandle< CBaseEntity > m_hPreviousHero; // 0x12e0 private: - [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - 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 + CUtlVector< PlayerID_t > m_vecLastCreditedPlayerIDs; // 0x12e8 + float m_flAccumulatedCaptureTime; // 0x1300 + int32_t m_iBonusCount; // 0x1304 + ParticleIndex_t m_nFxOutpostAmbient; // 0x1308 + ParticleIndex_t m_nFxOutpostInitialAmbient; // 0x130c }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Watch_Tower_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -90559,7 +91043,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Watch_Tower_Invulnerable_Temporary : public CDOTA_Modifier_Invulnerable { public: @@ -90567,7 +91051,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Watch_Tower_Marker : public CDOTA_Buff { public: @@ -90575,7 +91059,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lamp_Ready : public CDOTA_Buff { public: @@ -90583,7 +91067,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Lamp_On : public CDOTA_Buff { public: @@ -90591,45 +91075,45 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Lamp_Off : public CDOTA_Buff { public: - int32_t m_iTempViewer; // 0x12b8 + int32_t m_iTempViewer; // 0x12c8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Twin_Gate_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nPortalAmbientFX; // 0x12b8 - float m_fPortalRadius; // 0x12bc - ParticleIndex_t m_nChannelFX; // 0x12c0 - int32_t m_nChannelCount; // 0x12c4 + ParticleIndex_t m_nPortalAmbientFX; // 0x12c8 + float m_fPortalRadius; // 0x12cc + ParticleIndex_t m_nChannelFX; // 0x12d0 + int32_t m_nChannelCount; // 0x12d4 }; // Alignment: 12 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Twin_Gate_Warp_Channel : public CDOTA_Buff { public: - 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 + ParticleIndex_t m_nfxTargetTp; // 0x12c8 + ParticleIndex_t m_nfxTargetTp2; // 0x12cc + ParticleIndex_t m_nfxAmbientFx; // 0x12d0 + ParticleIndex_t m_nfxPortal1; // 0x12d4 + ParticleIndex_t m_nfxPortal2; // 0x12d8 + CHandle< CBaseEntity > m_hPortal; // 0x12dc + CHandle< CBaseEntity > m_hOtherPortal; // 0x12e0 + Vector m_vStartPosition; // 0x12e4 + float m_flTotalTime; // 0x12f0 + float m_flElapsedTimePortion; // 0x12f4 + float animation_rate; // 0x12f8 + int32_t stop_distance; // 0x12fc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_Vampire_Aura : public CDOTA_Buff { public: @@ -90637,28 +91121,28 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mutation_Vampire : public CDOTA_Buff { public: - int32_t m_iLifeStealPct; // 0x12b8 - int32_t m_iHealthDrain; // 0x12bc + int32_t m_iLifeStealPct; // 0x12c8 + int32_t m_iHealthDrain; // 0x12cc }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Mutation_Spellcast : public CDOTA_Buff { public: - CUtlVector< CDOTABaseAbility* > m_vecAbilities; // 0x12b8 - float m_fNextCastTime; // 0x12d0 - float m_fCastInterval; // 0x12d4 - float m_fWarningTime; // 0x12d8 - int32_t m_iNextAbility; // 0x12dc + CUtlVector< CDOTABaseAbility* > m_vecAbilities; // 0x12c8 + float m_fNextCastTime; // 0x12e0 + float m_fCastInterval; // 0x12e4 + float m_fWarningTime; // 0x12e8 + int32_t m_iNextAbility; // 0x12ec }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_DeathExplosion_Aura : public CDOTA_Buff { public: @@ -90666,7 +91150,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_DeathExplosion_TeamAura : public CDOTA_Modifier_Mutation_DeathExplosion_Aura { public: @@ -90674,7 +91158,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_DeathExplosion : public CDOTA_Buff { public: @@ -90682,17 +91166,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Mutation_DeathExplosionDelayed : public CDOTA_Buff { public: - int32_t m_iDamageBase; // 0x12b8 - int32_t m_iDamagePerLevel; // 0x12bc - int32_t m_iRadius; // 0x12c0 + int32_t m_iDamageBase; // 0x12c8 + int32_t m_iDamagePerLevel; // 0x12cc + int32_t m_iRadius; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_NoHealthBars_Aura : public CDOTA_Buff { public: @@ -90700,7 +91184,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_StationaryDamageReduction_Aura : public CDOTA_Buff { public: @@ -90708,15 +91192,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mutation_StationaryDamageReduction : public CDOTA_Buff { public: - int32_t m_iReductionPct; // 0x12b8 + int32_t m_iReductionPct; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_CreateTombstone_Aura : public CDOTA_Buff { public: @@ -90724,7 +91208,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_CreateTombstone_Team_Aura : public CDOTA_Modifier_Mutation_CreateTombstone_Aura { public: @@ -90732,7 +91216,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_CreateTombstone : public CDOTA_Buff { public: @@ -90740,7 +91224,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_KillstreakPower_Aura : public CDOTA_Buff { public: @@ -90748,17 +91232,17 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Mutation_KillstreakPower : public CDOTA_Buff { public: - int32_t m_iDamageDonePct; // 0x12b8 - int32_t m_iDamageTakenPct; // 0x12bc - int32_t m_iModelScale; // 0x12c0 + int32_t m_iDamageDonePct; // 0x12c8 + int32_t m_iDamageTakenPct; // 0x12cc + int32_t m_iModelScale; // 0x12d0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_Treecutter_Aura : public CDOTA_Buff { public: @@ -90766,23 +91250,23 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mutation_Treecutter : public CDOTA_Buff { public: - int32_t m_iRadius; // 0x12b8 + int32_t m_iRadius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mutation_FreeRapiers_Team : public CDOTA_Buff { public: - int32_t m_nLastInterval; // 0x12b8 + int32_t m_nLastInterval; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_Cooldown_Reduction_Team_Aura : public CDOTA_Buff { public: @@ -90790,15 +91274,15 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mutation_Cooldown_Reduction : public CDOTA_Buff { public: - int32_t m_iCooldownReduction; // 0x12b8 + int32_t m_iCooldownReduction; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_CritChance_Team_Aura : public CDOTA_Buff { public: @@ -90806,16 +91290,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Mutation_Crit_Chance : public CDOTA_Buff { public: - int32_t m_iChance; // 0x12b8 - int32_t m_iDamageMultiplier; // 0x12bc + int32_t m_iChance; // 0x12c8 + int32_t m_iDamageMultiplier; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_PocketRoshan_Team : public CDOTA_Buff { public: @@ -90823,7 +91307,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Mutation_DropItemOnDeath_Team : public CDOTA_Buff { public: @@ -90831,17 +91315,17 @@ public: }; // Alignment: 4 -// Size: 0x1338 +// Size: 0x1348 class CDOTA_Modifier_ContextualTips : public CDOTA_Buff { public: - bool m_bAllEnemiesBots; // 0x12b8 + bool m_bAllEnemiesBots; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - GameTime_t m_flGloblLastTipSendTime; // 0x12bc - GameTime_t m_flLastEnemyHeroDamageTime; // 0x12c0 - GameTime_t m_flLastEnemyHeroVisibleTime; // 0x12c4 + GameTime_t m_flGloblLastTipSendTime; // 0x12cc + GameTime_t m_flLastEnemyHeroDamageTime; // 0x12d0 + GameTime_t m_flLastEnemyHeroVisibleTime; // 0x12d4 // 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);}; @@ -90849,7 +91333,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_731_Teaser_Stun : public CDOTA_Buff { public: @@ -90857,7 +91341,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_731_Teaser_Thinker : public CDOTA_Buff { public: @@ -90865,153 +91349,153 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Neutral_Sleep_AI : public CDOTA_Buff { public: - ParticleIndex_t m_iFXIndex; // 0x12b8 + ParticleIndex_t m_iFXIndex; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Neutral_Creep_Lost : public CDOTA_Buff { public: - bool m_bActive; // 0x12b8 + bool m_bActive; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - GameTime_t m_flCreationTime; // 0x12bc - ParticleIndex_t m_iFXIndex; // 0x12c0 + GameTime_t m_flCreationTime; // 0x12cc + ParticleIndex_t m_iFXIndex; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_KoboldTaskmaster_SpeedAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_KoboldTaskmaster_SpeedAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x12b8 + int32_t bonus_movement_speed; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_CentaurKhan_EnduranceAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_CentaurKhan_EnduranceAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x12b8 + int32_t bonus_attack_speed; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spawnlord_Master_Stomp : public CDOTA_Buff { public: - int32_t armor_reduction_pct; // 0x12b8 - float m_flArmorReduction; // 0x12bc + int32_t armor_reduction_pct; // 0x12c8 + float m_flArmorReduction; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spawnlord_Master_Freeze : public CDOTA_Buff { public: - bool m_bFreezeAttack; // 0x12b8 + bool m_bFreezeAttack; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12b9[0x3]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 public: - ParticleIndex_t m_nFXIndex; // 0x12bc + ParticleIndex_t m_nFXIndex; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spawnlord_Master_Freeze_Root : public CDOTA_Buff { public: - int32_t max_ticks; // 0x12b8 - float damage; // 0x12bc + int32_t max_ticks; // 0x12c8 + float damage; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_GnollAssassin_EnvenomedWeapon : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x12b8 - float non_hero_duration; // 0x12bc - float hero_duration; // 0x12c0 + int32_t damage_per_second; // 0x12c8 + float non_hero_duration; // 0x12cc + float hero_duration; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_GnollAssassin_EnvenomedWeapon_Poison : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x12b8 - int32_t regen_reduction; // 0x12bc + int32_t damage_per_second; // 0x12c8 + int32_t regen_reduction; // 0x12cc }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Ghost_FrostAttack : public CDOTA_Buff { public: - float duration; // 0x12b8 - int32_t movespeed_slow; // 0x12bc - int32_t attackspeed_slow; // 0x12c0 + float duration; // 0x12c8 + int32_t movespeed_slow; // 0x12cc + int32_t attackspeed_slow; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Ghost_FrostAttack_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 - int32_t attackspeed_slow; // 0x12bc + int32_t movespeed_slow; // 0x12c8 + int32_t attackspeed_slow; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_PolarFurbolgUrsaWarrior_ThunderClap : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 - int32_t attackspeed_slow; // 0x12bc + int32_t movespeed_slow; // 0x12c8 + int32_t attackspeed_slow; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_WarpineRaider_SeedShot : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x12b8 + CHandle< CBaseEntity > m_hTarget; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_WarpineRaider_SeedShot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x12b8 + int32_t slow; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Neutral_SpellImmunity : public CDOTA_Modifier_MagicImmune { public: @@ -91019,7 +91503,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Neutral_SpellImmunity_Visible : public CDOTA_Modifier_MagicImmune { public: @@ -91027,25 +91511,25 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_OgreMagi_FrostArmor : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x12b8 - float slow_duration; // 0x12bc + int32_t armor_bonus; // 0x12c8 + float slow_duration; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_OgreMagi_FrostArmor_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 - int32_t attackspeed_slow; // 0x12bc + int32_t movespeed_slow; // 0x12c8 + int32_t attackspeed_slow; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DarkTrollWarlord_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -91053,28 +91537,28 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_GiantWolf_CriticalStrike : public CDOTA_Buff { public: - int32_t crit_mult; // 0x12b8 - int32_t crit_chance; // 0x12bc + int32_t crit_mult; // 0x12c8 + int32_t crit_chance; // 0x12cc }; // Alignment: 5 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_MudGolem_RockDestroy : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - float duration; // 0x12bc - int32_t shard_health; // 0x12c0 - int32_t shard_damage; // 0x12c4 - int32_t shard_duration; // 0x12c8 + int32_t radius; // 0x12c8 + float duration; // 0x12cc + int32_t shard_health; // 0x12d0 + int32_t shard_damage; // 0x12d4 + int32_t shard_duration; // 0x12d8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_MudGolem_Rock_Shard : public CDOTA_Buff { public: @@ -91082,7 +91566,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DoNotCastEnsnare : public CDOTA_Buff { public: @@ -91090,7 +91574,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DoNotCastRock : public CDOTA_Buff { public: @@ -91098,7 +91582,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_DoNotCastSmash : public CDOTA_Buff { public: @@ -91106,118 +91590,118 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AlphaWolf_CriticalStrike : public CDOTA_Buff { public: - int32_t crit_mult; // 0x12b8 - int32_t crit_chance; // 0x12bc + int32_t crit_mult; // 0x12c8 + int32_t crit_chance; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AncientRockGolem_Weakening_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AncientRockGolem_Weakening : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x12b8 + int32_t armor_reduction; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BlackDrake_MagicAmplification_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BlackDrake_MagicAmplification : public CDOTA_Buff { public: - int32_t spell_amp; // 0x12b8 + int32_t spell_amp; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AlphaWolf_CommandAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_AlphaWolf_CommandAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x12b8 + int32_t bonus_damage_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FrostbittenGolem_TimeWarpAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FrostbittenGolem_TimeWarpAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_cdr; // 0x12b8 + int32_t bonus_cdr; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_IceShaman_IncendiaryBomb : public CDOTA_Buff { public: - int32_t burn_damage; // 0x12b8 - int32_t building_damage_pct; // 0x12bc + int32_t burn_damage; // 0x12c8 + int32_t building_damage_pct; // 0x12cc }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Tornado_Tempest : public CDOTA_Buff { public: - int32_t near_radius; // 0x12b8 - int32_t near_damage; // 0x12bc - int32_t far_radius; // 0x12c0 - int32_t far_damage; // 0x12c4 - float tick_rate; // 0x12c8 + int32_t near_radius; // 0x12c8 + int32_t near_damage; // 0x12cc + int32_t far_radius; // 0x12d0 + int32_t far_damage; // 0x12d4 + float tick_rate; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Tornado_Tempest_Debuff : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 - int32_t attackspeed_slow; // 0x12bc + int32_t movespeed_slow; // 0x12c8 + int32_t attackspeed_slow; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Wildkin_Tornado : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tornado_ExpirationTime : public CDOTA_Buff { public: @@ -91225,241 +91709,241 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_EnragedWildkin_Hurricane : public CDOTA_Buff { public: - Vector m_vDirection; // 0x12b8 - float m_flEndTime; // 0x12c4 - float m_flCurTime; // 0x12c8 - ParticleIndex_t m_FX; // 0x12cc - int32_t distance; // 0x12d0 + Vector m_vDirection; // 0x12c8 + float m_flEndTime; // 0x12d4 + float m_flCurTime; // 0x12d8 + ParticleIndex_t m_FX; // 0x12dc + int32_t distance; // 0x12e0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BerserkerTroll_Break : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Kobold_Disarm : public CDOTA_Buff { public: - float duration; // 0x12b8 + float duration; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EnragedWildkin_ToughnessAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_EnragedWildkin_ToughnessAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_GraniteGolem_HPAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_GraniteGolem_HPAura_Bonus : public CDOTA_Buff { public: - float bonus_hp; // 0x12b8 + float bonus_hp; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SatyrTrickster_Purge : public CDOTA_Buff { public: - int32_t purge_rate; // 0x12b8 + int32_t purge_rate; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SatyrSoulstealer_ManaBurn : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SatyrHellcaller_UnholyAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_SatyrHellcaller_UnholyAura_Bonus : public CDOTA_Buff { public: - float health_regen; // 0x12b8 + float health_regen; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spawnlord_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Spawnlord_Aura_Bonus : public CDOTA_Buff { public: - int32_t lifesteal; // 0x12b8 - int32_t hp_regen; // 0x12bc + int32_t lifesteal; // 0x12c8 + int32_t hp_regen; // 0x12cc }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ForestTrollHighPriest_HealAutocast : public CDOTA_Buff { public: - int32_t health; // 0x12b8 - CHandle< CBaseEntity > m_hHealTarget; // 0x12bc + int32_t health; // 0x12c8 + CHandle< CBaseEntity > m_hHealTarget; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ForestTrollHighPriest_ManaAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_ForestTrollHighPriest_ManaAura_Bonus : public CDOTA_Buff { public: - float mana_regen; // 0x12b8 - int32_t allow_multiple; // 0x12bc - int32_t m_nAttributes; // 0x12c0 + float mana_regen; // 0x12c8 + int32_t allow_multiple; // 0x12cc + int32_t m_nAttributes; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ForestTrollHighPriest_HealAmp : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_ForestTrollHighPriest_HealAmp_Bonus : public CDOTA_Buff { public: - float heal_amp; // 0x12b8 + float heal_amp; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Furbolg_Enrage_AttackSpeed_OnDeath : public CDOTA_Buff { public: - float duration; // 0x12b8 - int32_t radius; // 0x12bc + float duration; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifer_Furbolg_Enrage_AttackSpeed : public CDOTA_Buff { public: - int32_t bonus_aspd; // 0x12b8 + int32_t bonus_aspd; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Furbolg_Enrage_Damage_OnDeath : public CDOTA_Buff { public: - float duration; // 0x12b8 - int32_t radius; // 0x12bc + float duration; // 0x12c8 + int32_t radius; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FelBeast_Haunt_OnDeath : public CDOTA_Buff { public: - int32_t projectile_speed; // 0x12b8 + int32_t projectile_speed; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_FelBeast_Haunt : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x12b8 + int32_t damage_per_second; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifer_Furbolg_Enrage_Damage : public CDOTA_Buff { public: - int32_t bonus_dmg_pct; // 0x12b8 + int32_t bonus_dmg_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_KoboldTunneler_ProspectingAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_KoboldTunneler_ProspectingAura_Money : public CDOTA_Buff { public: - int32_t gpm_aura; // 0x12b8 + int32_t gpm_aura; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_HillTroll_RallyAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_HillTroll_Rally : public CDOTA_Buff { public: - int32_t damage_bonus; // 0x12b8 + int32_t damage_bonus; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_HillTroll_Rally_Stack : public CDOTA_Buff { public: @@ -91467,16 +91951,16 @@ public: }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_HarpyScout_TakeOff : public CDOTA_Buff { public: - int32_t move_speed_penalty; // 0x12b8 - float cost_per_second; // 0x12bc + int32_t move_speed_penalty; // 0x12c8 + float cost_per_second; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_OgreSmash_Swing : public CDOTA_Buff { public: @@ -91484,164 +91968,164 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_GiantWolf_Intimidate : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x12b8 + int32_t damage_reduction; // 0x12c8 }; // Alignment: 6 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_HarpyStorm_ChainLightning : public CDOTA_Buff { public: - int32_t jump_range; // 0x12b8 - int32_t max_targets; // 0x12bc - float damage_percent_loss; // 0x12c0 - float m_flCurDamage; // 0x12c4 - Vector m_vJumpPosition; // 0x12c8 + int32_t jump_range; // 0x12c8 + int32_t max_targets; // 0x12cc + float damage_percent_loss; // 0x12d0 + float m_flCurDamage; // 0x12d4 + Vector m_vJumpPosition; // 0x12d8 private: - [[maybe_unused]] uint8_t __pad12d4[0x4]; // 0x12d4 + [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12d8 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x12e8 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_BlackDragon_Fireball_Thinker : public CDOTA_Buff { public: - float burn_interval; // 0x12b8 - int32_t radius; // 0x12bc - int32_t damage; // 0x12c0 + float burn_interval; // 0x12c8 + int32_t radius; // 0x12cc + int32_t damage; // 0x12d0 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BlackDragon_SplashAttack : public CDOTA_Buff { public: - int32_t range; // 0x12b8 - float damage_percent; // 0x12bc + int32_t range; // 0x12c8 + float damage_percent; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BlackDragon_DragonhideAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BlackDragon_DragonhideAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MudGolem_CloakAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MudGolem_CloakAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_magical_armor; // 0x12b8 - int32_t bonus_magical_armor_creeps; // 0x12bc + int32_t bonus_magical_armor; // 0x12c8 + int32_t bonus_magical_armor_creeps; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BlueDragonspawnSorcerer_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance_pct; // 0x12b8 + int32_t evasion_chance_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BlueDragonspawnOverseer_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance_pct; // 0x12b8 + int32_t evasion_chance_pct; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BlueDragonspawnOverseer_DevotionAura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BlueDragonspawnOverseer_DevotionAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x12b8 + int32_t bonus_armor; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BigThunderLizard_Wardrums : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BigThunderLizard_Wardrums_Aura : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x12b8 - int32_t accuracy; // 0x12bc + int32_t speed_bonus; // 0x12c8 + int32_t accuracy; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BigThunderLizard_Slam : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x12b8 + int32_t movespeed_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_BigThunderLizard_Frenzy : public CDOTA_Buff { public: - int32_t attackspeed_bonus; // 0x12b8 + int32_t attackspeed_bonus; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Greevil_Miniboss_Casting : public CDOTA_Buff { public: - int32_t cast_animation; // 0x12b8 + int32_t cast_animation; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Greevil_Miniboss_Black_Nightmare : public CDOTA_Buff { public: - float animation_rate; // 0x12b8 + float animation_rate; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Greevil_Miniboss_Black_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -91649,19 +92133,19 @@ public: }; // Alignment: 5 -// Size: 0x12d8 +// Size: 0x12e8 class CDOTA_Modifier_Greevil_Miniboss_Blue_ColdFeet : public CDOTA_Buff { public: - Vector m_vecStartPosition; // 0x12b8 - int32_t m_nCurrentTick; // 0x12c4 - float damage; // 0x12c8 - int32_t break_distance; // 0x12cc - float stun_duration; // 0x12d0 + Vector m_vecStartPosition; // 0x12c8 + int32_t m_nCurrentTick; // 0x12d4 + float damage; // 0x12d8 + int32_t break_distance; // 0x12dc + float stun_duration; // 0x12e0 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Greevil_Miniboss_Blue_ColdFeet_Freeze : public CDOTA_Modifier_Stunned { public: @@ -91669,53 +92153,53 @@ public: }; // Alignment: 5 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Greevil_Miniboss_Blue_IceVortexThinker : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t movement_speed_pct; // 0x12cc + int32_t spell_resist_pct; // 0x12d0 + ParticleIndex_t m_nFXIndex; // 0x12d4 + CUtlVector< CHandle< CBaseEntity > > m_hChilledEntities; // 0x12d8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Greevil_Miniboss_Blue_IceVortex : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x12b8 - int32_t spell_resist_pct; // 0x12bc + int32_t movement_speed_pct; // 0x12c8 + int32_t spell_resist_pct; // 0x12cc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Greevil_Miniboss_Red_Earthshock : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 + int32_t movement_slow; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Greevil_Miniboss_Red_Overpower : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x12b8 + int32_t attack_speed_bonus_pct; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Greevil_Miniboss_Yellow_IonShell : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 - int32_t damage_per_second; // 0x12bc + int32_t radius; // 0x12c8 + int32_t damage_per_second; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Greevil_Miniboss_Yellow_Surge : public CDOTA_Buff { public: @@ -91723,32 +92207,32 @@ public: }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Greevil_Miniboss_White_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Greevil_Miniboss_White_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x12b8 + int32_t speed_bonus; // 0x12c8 }; // Alignment: 2 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Greevil_Miniboss_Green_LivingArmor : public CDOTA_Buff { public: - int32_t health_regen; // 0x12b8 - int32_t damage_block; // 0x12bc + int32_t health_regen; // 0x12c8 + int32_t damage_block; // 0x12cc }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Greevil_Miniboss_Green_Overgrowth : public CDOTA_Buff { public: @@ -91756,102 +92240,102 @@ public: }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Greevil_Miniboss_Orange_LightStrikeArray_Thinker : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x12b8 - float m_flStunDuration; // 0x12bc - int32_t light_strike_array_aoe; // 0x12c0 + int32_t m_iDamage; // 0x12c8 + float m_flStunDuration; // 0x12cc + int32_t light_strike_array_aoe; // 0x12d0 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Greevil_Miniboss_Purple_VenomousGale : public CDOTA_Buff { public: - int32_t movement_slow; // 0x12b8 - int32_t tick_damage; // 0x12bc - float tick_interval; // 0x12c0 - float duration; // 0x12c4 + int32_t movement_slow; // 0x12c8 + int32_t tick_damage; // 0x12cc + float tick_interval; // 0x12d0 + float duration; // 0x12d4 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Greevil_Miniboss_Sight : public CDOTA_Buff { public: - int32_t radius; // 0x12b8 + int32_t radius; // 0x12c8 }; // Alignment: 9 -// Size: 0x12e0 +// Size: 0x12f0 class CDOTA_Modifier_Neutral_Upgrade : public CDOTA_Buff { public: - 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 + float increase_time; // 0x12c8 + int32_t increase_damage; // 0x12cc + int32_t increase_health; // 0x12d0 + float increase_armor; // 0x12d4 + int32_t increase_aspd; // 0x12d8 + int32_t increase_gold; // 0x12dc + int32_t increase_xp; // 0x12e0 + int32_t current_level; // 0x12e4 + int32_t max_level; // 0x12e8 }; // Alignment: 4 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Creep_Siege : public CDOTA_Buff { public: - 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 + int32_t bonus_building_damage; // 0x12c8 + int32_t incoming_hero_damage_penalty; // 0x12cc + int32_t incoming_basic_damage_penalty; // 0x12d0 + int32_t incoming_controlled_unit_penalty; // 0x12d4 }; // Alignment: 3 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_Creep_Piercing : public CDOTA_Buff { public: - int32_t creep_damage_bonus; // 0x12b8 - int32_t hero_damage_penalty; // 0x12bc - int32_t heavy_damage_penalty; // 0x12c0 + int32_t creep_damage_bonus; // 0x12c8 + int32_t hero_damage_penalty; // 0x12cc + int32_t heavy_damage_penalty; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Creep_Irresolute : public CDOTA_Buff { public: - int32_t hero_damage_penalty; // 0x12b8 + int32_t hero_damage_penalty; // 0x12c8 }; // Alignment: 6 -// Size: 0x12d0 +// Size: 0x12e0 class CDOTA_Modifier_Creep_Bonus_XP : public CDOTA_Buff { public: - 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 + int32_t radius; // 0x12c8 + int32_t hero_damage_penalty; // 0x12cc + int32_t bonus_gold; // 0x12d0 + int32_t m_iGoldBounty; // 0x12d4 + ParticleIndex_t iBannerEffect; // 0x12d8 + ParticleIndex_t iRingEffect; // 0x12dc }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_Flagbearer_Creep_Aura_Effect : public CDOTA_Buff { public: - int32_t bonus_health_regen; // 0x12b8 + int32_t bonus_health_regen; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Filler_Tooltip : public CDOTA_Buff { public: @@ -91859,27 +92343,27 @@ public: }; // Alignment: 2 -// Size: 0x12c8 +// Size: 0x12d8 class CDOTA_Modifier_MuertaReleaseEvent_RemoveGravestone : public CDOTA_Buff { public: - ParticleIndex_t m_nParticleIndex; // 0x12b8 + ParticleIndex_t m_nParticleIndex; // 0x12c8 private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc + [[maybe_unused]] uint8_t __pad12cc[0x4]; // 0x12cc public: - CUtlVector< ParticleIndex_t >* m_pActiveGravestones; // 0x12c0 + CUtlVector< ParticleIndex_t >* m_pActiveGravestones; // 0x12d0 }; // Alignment: 1 -// Size: 0x12c0 +// Size: 0x12d0 class CDOTA_Modifier_MuertaReleaseEvent : public CDOTA_Buff { public: - CHandle< CIngameEvent_MuertaReleaseSpring2023 > m_hEvent; // 0x12b8 + CHandle< CIngameEvent_MuertaReleaseSpring2023 > m_hEvent; // 0x12c8 }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_Tutorial_Sleep : public CDOTA_Modifier_Stunned { public: @@ -91887,7 +92371,7 @@ public: }; // Alignment: 0 -// Size: 0x12b8 +// Size: 0x12c8 class CDOTA_Modifier_ARDM_NewHero : public CDOTA_Modifier_Tutorial_Sleep { public: @@ -91895,11 +92379,11 @@ public: }; // Alignment: 1 -// Size: 0x12f0 +// Size: 0x1300 class CDOTA_Modifier_Gold_Bag_Launch : public CDOTA_Modifier_Knockback { public: - int32_t gold_amount; // 0x12e8 + int32_t gold_amount; // 0x12f8 }; // Alignment: 0 @@ -92124,7 +92608,7 @@ public: }; // Alignment: 0 -// Size: 0xb30 +// Size: 0xa90 class CRagdollPropAlias_physics_prop_ragdoll : public CRagdollProp { public: @@ -92132,25 +92616,25 @@ public: }; // Alignment: 6 -// Size: 0xb70 +// Size: 0xad0 class CRagdollPropAttached : public CRagdollProp { public: // MNetworkEnable - uint32_t m_boneIndexAttached; // 0xb30 + uint32_t m_boneIndexAttached; // 0xa90 // MNetworkEnable - uint32_t m_ragdollAttachedObjectIndex; // 0xb34 + uint32_t m_ragdollAttachedObjectIndex; // 0xa94 // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointBoneSpace; // 0xb38 + Vector m_attachmentPointBoneSpace; // 0xa98 // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointRagdollSpace; // 0xb44 - bool m_bShouldDetach; // 0xb50 + Vector m_attachmentPointRagdollSpace; // 0xaa4 + bool m_bShouldDetach; // 0xab0 private: - [[maybe_unused]] uint8_t __pad0b51[0xf]; // 0xb51 + [[maybe_unused]] uint8_t __pad0ab1[0xf]; // 0xab1 public: - bool m_bShouldDeleteAttachedActivationRecord; // 0xb60 + bool m_bShouldDeleteAttachedActivationRecord; // 0xac0 }; // Alignment: 13 @@ -92163,6 +92647,7 @@ private: [[maybe_unused]] uint8_t __pad07f9[0x7]; // 0x7f9 public: // MNetworkEnable + // MNetworkSerializer "EHandleIndexOnly" CNetworkUtlVectorBase< CHandle< CEconWearable > > m_hMyWearables; // 0x800 // MNetworkEnable float m_flFieldOfView; // 0x818 @@ -92592,6 +93077,7 @@ public: // MNetworkEnable // MNetworkUserGroup "Abilities" // MNetworkPriority "32" + // MNetworkSerializer "EHandleIndexOnly" CHandle< CBaseEntity > m_hAbilities[35]; // 0xed8 private: [[maybe_unused]] uint8_t __pad0f64[0x4]; // 0xf64 diff --git a/sdk/vphysics2.hpp b/sdk/vphysics2.hpp index 78bac651..e3857aad 100644 --- a/sdk/vphysics2.hpp +++ b/sdk/vphysics2.hpp @@ -608,34 +608,32 @@ public: uint16_t nChild[2]; // 0x0 }; -// Alignment: 6 +// Alignment: 5 // Size: 0x30 struct FeTaperedCapsuleRigid_t { public: fltx4 vSphere[2]; // 0x0 - float flStickiness; // 0x20 - uint16_t nNode; // 0x24 - uint16_t nCollisionMask; // 0x26 - uint16_t nVertexMapIndex; // 0x28 - uint16_t nFlags; // 0x2a + uint16_t nNode; // 0x20 + uint16_t nCollisionMask; // 0x22 + uint16_t nVertexMapIndex; // 0x24 + uint16_t nFlags; // 0x26 }; -// Alignment: 6 +// Alignment: 5 // Size: 0x20 struct FeSphereRigid_t { public: fltx4 vSphere; // 0x0 - float flStickiness; // 0x10 - uint16_t nNode; // 0x14 - uint16_t nCollisionMask; // 0x16 - uint16_t nVertexMapIndex; // 0x18 - uint16_t nFlags; // 0x1a + uint16_t nNode; // 0x10 + uint16_t nCollisionMask; // 0x12 + uint16_t nVertexMapIndex; // 0x14 + uint16_t nFlags; // 0x16 }; -// Alignment: 5 -// Size: 0x14 +// Alignment: 4 +// Size: 0x10 struct FeTaperedCapsuleStretch_t { public: @@ -644,10 +642,9 @@ public: // MPropertySuppressField uint16_t nDummy; // 0x6 float flRadius[2]; // 0x8 - float flStickiness; // 0x10 }; -// Alignment: 8 +// Alignment: 6 // Size: 0x40 struct FeBoxRigid_t { @@ -656,10 +653,8 @@ public: uint16_t nNode; // 0x20 uint16_t nCollisionMask; // 0x22 Vector vSize; // 0x24 - float flStickiness; // 0x30 - uint16_t nVertexMapIndex; // 0x34 - uint16_t nFlags; // 0x36 - float flReserved[2]; // 0x38 + uint16_t nVertexMapIndex; // 0x30 + uint16_t nFlags; // 0x32 }; // Alignment: 4 @@ -883,16 +878,15 @@ public: float m_flRadius; // 0x18 }; -// Alignment: 5 -// Size: 0x1c +// Alignment: 4 +// Size: 0x18 struct FeCollisionPlane_t { public: uint16_t nCtrlParent; // 0x0 uint16_t nChildNode; // 0x2 RnPlane_t m_Plane; // 0x4 - float flStickiness; // 0x14 - float flStrength; // 0x18 + float flStrength; // 0x14 }; // Alignment: 4 @@ -972,8 +966,8 @@ public: uint32_t m_nTriangleOffset; // 0x1c }; -// Alignment: 9 -// Size: 0xa0 +// Alignment: 10 +// Size: 0xa8 struct RnMesh_t { public: @@ -985,7 +979,8 @@ public: CUtlVector< RnWing_t > m_Wings; // 0x60 CUtlVector< uint8 > m_Materials; // 0x78 Vector m_vOrthographicAreas; // 0x90 - bool m_bHasOpenEdges; // 0x9c + uint32_t m_nFlags; // 0x9c + uint32_t m_nDebugFlags; // 0xa0 }; // Alignment: 3 @@ -1023,7 +1018,7 @@ public: }; // Alignment: 1 -// Size: 0xb0 +// Size: 0xb8 struct RnMeshDesc_t : public RnShapeDesc_t { public: diff --git a/sdk/worldrenderer.hpp b/sdk/worldrenderer.hpp index 9eb33e64..ddb377ea 100644 --- a/sdk/worldrenderer.hpp +++ b/sdk/worldrenderer.hpp @@ -4,7 +4,7 @@ // ///////////////////////////////////////////////////////////// // Binary: worldrenderer.dll -// Classes count: 26 +// Classes count: 27 // Enums count: 1 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -206,18 +206,14 @@ public: int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x14 }; -// Alignment: 4 -// Size: 0x40 +// Alignment: 3 +// Size: 0x38 struct AggregateLODSetup_t { public: Vector m_vLODOrigin; // 0x0 float m_fMaxObjectScale; // 0xc - uint8_t m_nLODMask; // 0x10 -private: - [[maybe_unused]] uint8_t __pad0011[0x7]; // 0x11 -public: - CUtlVectorFixedGrowable< float32 > m_fSwitchDistances; // 0x18 + CUtlVectorFixedGrowable< float32 > m_fSwitchDistances; // 0x10 }; // Alignment: 8 @@ -383,6 +379,16 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x8 +class CEntityComponent +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + // No members available +}; + // Alignment: 11 // Size: 0x78 class CEntityIdentity @@ -419,8 +425,10 @@ public: // Alignment: 3 // Size: 0x30 -class CEntityInstance : public IHandleEntity +class CEntityInstance { +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkDisable CUtlSymbolLarge m_iszPrivateVScripts; // 0x8